(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5944437
(24)【登録日】2016年6月3日
(45)【発行日】2016年7月5日
(54)【発明の名称】耐タンパ性トークンを用いてセキュアなトランザクションを達成するための効率的な技術
(51)【国際特許分類】
H04L 9/08 20060101AFI20160621BHJP
G09C 1/00 20060101ALI20160621BHJP
【FI】
H04L9/00 601A
G09C1/00 650Z
【請求項の数】9
【全頁数】13
(21)【出願番号】特願2014-123153(P2014-123153)
(22)【出願日】2014年6月16日
(62)【分割の表示】特願2012-542093(P2012-542093)の分割
【原出願日】2010年11月23日
(65)【公開番号】特開2014-197885(P2014-197885A)
(43)【公開日】2014年10月16日
【審査請求日】2014年6月30日
(31)【優先権主張番号】12/592,907
(32)【優先日】2009年12月4日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】391030332
【氏名又は名称】アルカテル−ルーセント
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】ブラジーミル・コレスニコフ
【審査官】
中里 裕正
(56)【参考文献】
【文献】
Iliev, A. and Smith, S.,More Efficient Secure Function Evaluation Using Tiny Trusted Third Parties,Dartmouth Computer Science Technical Report,[online],2005年 7月,TR2005-551,[2015年4月2日検索],URL,http://www.cs.dartmouth.edu/reports/abstracts/TR2005-551/
【文献】
Lindell, Y. and Pinkas, B.,An Efficient Protocol for Secure Two-Party Computation in the Presence of Malicious Adversaries,Cryptology ePrint Archive,[online],2008年 1月30日,Report 2008/049,[2015年4月2日検索],URL,http://eprint.iacr.org/2008/049
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
G09C 1/00
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
通信ネットワークにおいて秘匿関数計算(SFE)トランザクションを実行するためのシステムであって、
処理デバイスを備える第1のサーバを備え、
第1のサーバがセキュアなトークン内に定義域を埋め込むように構成され、セキュアなトークンが定義域から取り出された埋め込みランダム鍵を有し、埋め込みランダム鍵が第1のサーバのマスタ鍵と同期され、または等しく、セキュアなトークンが、セキュアなトランザクションを達成するために、第2のサーバからセッションIDを受け取り、第2のサーバへのメッセージを生成し送るように構成され、メッセージは、ガーブル回路生成アルゴリズムにしたがって、セキュアなトークンによって生成されたガーブル回路であり、
第1のサーバは、セキュアなトークンによるメッセージ生成の正しさをテストするために、第2のサーバからのセッションIDに対応するセッション鍵の要求に応じてセッション鍵をオープンにするか、セキュアなトランザクションを達成するために、セッション鍵を用いてライブSFEトランザクションを実行するようにさらに構成される、システム。
【請求項2】
請求項1に記載のシステムであって、第1のサーバは、ライブSFEトランザクションのための定義域とテストのための定義域を決定する鍵に基づいて、第2のサーバとこれら定義域に合意し、これらの定義域は、セキュアなトークンに知られず、予測できず、第2のサーバからの要求で、セッションIDがテストのための定義域のメンバである場合、セッション鍵を計算し、セッション鍵を第2のサーバに送り返す、システム。
【請求項3】
請求項1に記載のシステムであって、定義域は、Advanced Encryption Standard(AES)とともに使用される2128の鍵定義域である、システム。
【請求項4】
請求項3に記載のシステムであって、定義域は、Advaned Encryption Standard(AES)とともに使用される、システム。
【請求項5】
秘匿関数計算(SFE)トランザクションを実行するための方法であって、
a)セキュアなトークン内に埋め込まれた定義域から埋め込み疑似ランダム関数発生器鍵を取り出すステップであって、埋め込み疑似ランダム関数発生器鍵が、セキュアなトランザクションを達成するために、第1のサーバのマスタ鍵と同期される、ステップと、
b)セキュアなトランザクションを達成するために、セキュアなトークンと第2のサーバの間でセッションIDを設定するステップと、
c)セキュアなトランザクションを達成するために、セッションIDに基づいて、セキュアなトークンから第2のサーバへメッセージを送るステップであって、メッセージは、ガーブル回路生成アルゴリズムにしたがって、セキュアなトークンによって生成されたガーブル回路である、ステップと、
d)セキュアなトークンからのメッセージの真実性をテストするために、第2のサーバからのセッションIDに対応するセッション鍵の要求に応じてセッション鍵をオープンにするか、セキュアなトランザクションを達成するために、セッション鍵を用いてライブSFEトランザクションを実行するステップとを備える、方法。
【請求項6】
請求項5に記載の方法であって、第1のサーバは、ライブSFEトランザクションのための定義域とテストのための定義域を決定する鍵に基づいて、第2のサーバとこれら定義域に合意し、これらの定義域は、セキュアなトークンに知られず、予測できず、第2のサーバからの要求で、セッションIDがテストのための定義域のメンバである場合、セッション鍵を計算し、セッション鍵を第2のサーバに送り返す、方法。
【請求項7】
請求項5に記載の方法であって、第2のサーバからのセッションIDに対応するセッション鍵の要求は、第2のサーバによって受け取られたいくつかのメッセージに基づいて第1のサーバからバルクのセッション鍵を選択的に要求するステップを含む、方法。
【請求項8】
請求項6に記載の方法であって、
f)セキュアなトランザクションを達成するために、ライブSFEトランザクションの実行のために第2のサーバによって第1のサーバに提示されたセッションIDに関連するカウンタを維持するステップをさらに備える、方法。
【請求項9】
請求項5に記載の方法であって、定義域は、Advanced Encryption Standard(AES)とともに使用される2128の鍵定義域である、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、秘匿関数計算(SFE:Secure Function Evaluation)システムおよび方法に関し、より詳細には、耐タンパ性トークン(tamper−resistant token)を利用するSFEシステムおよび方法に関する。
【背景技術】
【0002】
現代暗号法の起源は、20世紀初頭の戦時中に無線が広く利用可能になったことにある。具体的には、現代暗号法は、転置式暗号ツールであるスキュタレ(scytale)を戦争時に使用した古代スパルタ人の実践の上を行くものである。現代では、メッセージを送るために利用される媒体を考慮すると、傍受問題および解読問題が、暗号専門家によって対処されなければならない。現代通信は、メッセージの暗号化などによるプライバシと、メッセージの送信元の保証の両方を要求する。実際に、現代通信における最重要事項は、我々が情報源またはコミュニケーション源を信用できることである。
【0003】
SFEは、互いに相手を信用していない当事者が、結果の計算中、自らの入力を秘匿したまま、その入力上で関数を評価できるようにする技法である。関数によっては、SFEは、大きな計算コストがかかることがある。SFEは、個人および企業との通信のために現在利用可能な計算リソースおよび通信リソースが増加したために、多くのセキュアなトランザクションアプリケーションにとって実用的なものになっている。セキュリティのためにSFEを使用して行うことができるトランザクションのタイプには、いくつかの名前を挙げれば、例えば、オークション、契約の署名、および分散データベースマイニングがある。
【0004】
現在、SFEの使用は、SFEアルゴリズムの使用に関連する計算の高いコストのせいで、制限されている。
【0005】
これまで、SFEは、例えば、ヤオ(Yao)のガーブル回路としても知られている、ガーブル回路(GC:Garbled Circuit)アルゴリズムを含む、様々なアルゴリズムを使用して達成されてきた。P1などのサーバは、ブール回路Cによって表される、計算される関数Fを暗号化またはガーブル(garble)するが、それは、ブラインドでゲート毎に評価することができる。Cの結果は、P2などの別のサーバに直接的に送られる。その後、P2は、暗号化されたままのGCを評価し、GCの暗号化された出力を獲得し、暗号化された出力をP1に直接的に送り返す。サーバP1は、P2から受け取った出力を暗号解除し、暗号解除された出力をP2に直接的に送り返す。
【0006】
GCは、ガーブルする必要がある回路Cのワイヤ毎に2つの秘密をP1が選択することによって、構成することができる。ゲートGi毎に、P1は、ガーブル表(garbled table)Tiを生成し、それをP2に送る。生成された各ガーブル表は、以下の特性を有する:対応するゲートの1組の入力ワイヤに対して1組のガーブリング(garbling)が与えられた場合、Giに基づいて生成された各表Tiは、対応する出力値のガーブリングのみを計算することが可能である。すなわち、P2は、表Tiと、Giの入力のガーブリングから、各ゲートGiの単一のガーブルされた出力だけを回復することができる。表Tiは、通常、1組の暗号化として実施され、Giを形成する入力ガーブリングの各ペアは、対応する出力ガーブリングTiの暗号化に対する鍵としての役割を果たす。
【0007】
図1は、ANDゲートについての、T0が以下の表によって表される、知られている従来技術のGCの一例である。
【0008】
【数1】
表T0は、P1から直接的に、P2によって受け取られる。さらに、例えば、入力ガーブリングw_1^0およびw_2^0が与えられると、P2は、表の各行を暗号解除するよう試み、G0の暗号化された出力W0を回復する。表T0の暗号解除からは、ただ1つの暗号解除だけが成功し、出力ワイヤ秘密W0を明らかにする。その後、P2は、上述のようにガーブル回路全体の評価を進め、最終的に、出力ワイヤWのガーブリングを獲得する。その後、P2は、ガーブリングを暗号解除のためにP1に送る。P1は、出力を暗号解除し、P2に直接的に送り返すことができる。P2は、入力ワイヤまたは内部ワイヤの値を決して学習することはない。
【0009】
SFEにおいてガーブル回路技術を使用する最大の難点は、サーバなどのプロセッサによるガーブル回路の生成および計算と、入力ガーブリングの転送とに関連する複雑さである。ガーブル回路の評価は、回路のサイズに対して線形であり、ゲート当たり平均で4回のAESコールを必要とする。さらに、回路構成は、ゲート当たり最大で8回のAESコールを必要とすることがある。サーバ間の通信は、主にガーブル表Ti(各ゲートにつき4つのAES暗号化)を送ることから成る。最後に、入力ガーブリングの転送は、転送される入力当たり数回(2回または3回)の公開鍵演算を必要とする。
【0010】
ガーブル回路の転送は、大きな関数の場合、通信コストが高くなることがある。加えて、ガーブル回路の計算は、多くのクライアントのためにサーバによって大量に行われる場合は特に、大きな計算コストをもたらす。
【0011】
ガーブル回路演算の使用に関連する複雑さは、耐タンパ性計算デバイス(トークン)をシステムに導入することによって、低減させることができる。トークンは、ガーブル回路を生成するように構成することができる。その場合、サーバP1などの第1のプロセッサは、ガーブル回路を生成し、それをサーバP2などの第2のプロセッサに送信する必要はない。代わりに、サーバP1は、トークンTを生成し、それをサーバP2に送ることができる。その後、Tは、ガーブル回路を生成し、それを送信し、トークンTは、サーバP1と同期させられる。TとP1の同期は、サーバP1によって秘密鍵kをトークンT内に埋め込むことによって、達成することができる。その後、(SFEの実行)中、サーバP2は、T内に埋め込まれたPRFG関数Fの定義域から要素xを選択する。その後、Tは、ランダム性に基づいて、GCを生成し、それをP2に出力する。これによって、プロセッサP1における計算コストおよび複雑さが解消され、信号が暗号化されるが、Tが信用できる情報源であり、P2がTを信用できることは保証されない。
【0012】
このタイプの回路が、すなわち、第1のプロセッサP1のトークンTによって生成されたガーブル回路が与えられる場合、第2のプロセッサP2は、トークンTの不良行為(または不正行為)、すなわち、GCの誤った生成から保護されることを望むことがある。
【0013】
Tの不正行為からP2を保護するための1つの知られている方法は、P1またはそのエージェントのTに、2つ以上のメッセージをP2へ送らせることである。例えば、Tは、2つのメッセージをP2に送ることができる。P2は、1つのメッセージがライブ(live)になるように選択し、他のメッセージが適切に構成されているかを調べるために、他のすべてのメッセージの構成に使用されたランダム性を明かすようにP1に求める。メッセージが2つである場合、ライブメッセージが適切に構成された確率は1/2である。
【発明の概要】
【課題を解決するための手段】
【0014】
ネットワーク内におけるデバイス間のセキュアなトランザクションを容易にするための、改良されたセキュアなトランザクションシステムが説明される。システムは、第1のデバイスを含む。第1のデバイスに代わってメッセージを暗号化し、それを配送するように構成された、セキュアなエージェントが提供される。セキュアなエージェントは、第1のデバイスによってエージェント内に埋め込まれた大きな定義域からランダムに取り出された、秘密鍵を有する。セキュアなエージェントからメッセージおよびセッションIDを獲得するように構成された、第2のデバイスが提供される。第2のデバイスは、第1のデバイスに問い合わせを行うことによって、セキュアなエージェントによるメッセージの生成の正しさを選択的にテストすることができる。テストは、トランザクション中、セキュアなエージェントには知られず、予測不可能である。このようにして、第1のデバイスとエージェントは、不正行為を防ぐために、分離された状態に保たれる。
【0015】
セキュアなSFEトランザクションを提供するための方法も説明される。方法は、以下のステップを含む。最初に、セキュアなトークンが生成される。セキュアなトークンは、埋め込みPRFG鍵を有し、この鍵は、大きな定義域を有し、第1のプロセッサと同期させられる。次に、第2のプロセッサを用いて、トークンのセッションid定義域から、要素が選択される。その後、要素の値に基づいて、セッションIDが生成される。第2のプロセッサを用いて、セキュアなトークンから、メッセージが選択的に受け取られる。第2のプロセッサによって、ランダムな文字列が選択される。ランダムな文字列は、第2のプロセッサを介して、第1のプロセッサに送られる。その後、文字列は、第1のプロセッサ内に記憶される。第2のプロセッサによって選択されたランダムな文字列に基づいて、ライブ定義域集合(live domain set)およびテスト定義域集合(test domain set)が、第1のプロセッサと第2のプロセッサによって合意される。
【0016】
本発明の例示的な実施の特徴は、明細書、特許請求の範囲、および添付の図面から明らかになろう。
【図面の簡単な説明】
【0017】
【
図1】知られているガーブル回路100の図である。
【
図2】耐タンパ性トークンを有し、耐タンパ性トークンを介して
図1の知られているガーブル回路などのメッセージを中継するように構成された、セキュアなSFEシステムの例示的な構成200を示すブロック図である。
【
図3】本発明の原理によって構成されたシステムの例示的な構成300を示すブロック図である。
【発明を実施するための形態】
【0018】
SFEシステムは、
図1で説明されたガーブル回路100(従来技術)などの、知られているセキュアなアルゴリズムを使用して、メッセージを生成することができる。
【0019】
図2は、ネットワーク内におけるデバイス間のセキュアなトランザクションを容易にするための、改良されたセキュアなトランザクションシステム200についての、例示的な一実施形態を示している。システム200は、第1のデバイス210を含む。第1のデバイス210に代わってメッセージを暗号化し、それを配送するように構成された、セキュアなエージェント220が提供される。セキュアなエージェント220は、第1のデバイス210によってエージェント220内に埋め込まれた大きな定義域240からランダムに取り出された、秘密鍵230を有する。セキュアなエージェント220からメッセージを獲得し、セキュアなエージェント220にセッションIDを与えるように構成された、第2のデバイス250が提供される。第2のデバイス250は、第2のデバイス250によって選択されたセッションIDに基づいて、対応するセッション鍵260を第1のデバイス210に要求することによって、セキュアなエージェント220によるメッセージ生成の正しさを選択的にテストすることができる。テストは、トランザクション中、セキュアなエージェント220には知られず、予測不可能である。このようにして、第1のデバイス210とエージェント220は、不正行為を防ぐために、分離された状態に保たれる。
【0020】
第1のデバイス210と動作可能に通信するメモリ270などの記憶デバイスを提供することができる。記憶デバイス270は、例えば、第2のデバイス250との通信を追跡するために第1のデバイス210によって生成されたデータベース、第2のデバイス250によって第1のデバイス210に送られた合意されたランダムな文字列、またはシステム200においてSFEを容易にするための他の任意の適切なデータを含むことができる。
【0021】
第1のデバイス210および第2のデバイス250は、サーバ、コンピュータ、セルフォン、PDA、またはSFEを容易にするのに適した他の任意のデバイスなどの、適切なデバイスの任意の組み合わせを含むことができる。
【0022】
システム200においてメッセージを生成し、暗号化するために、適切な疑似ランダム関数発生器(PRFG:pseudorandom function generator)を、セキュアなエージェント220によって使用することができる。本明細書の原理に従って、本明細書のPRFG機能を説明する目的で、基本ツールとしてのAESの使用について説明するが、それは単に、AESが現在最も一般的なPRFGだからであり、AESが一般的な乱数発生器の特性を満たすからである。AESアルゴリズムの一例では、すべての定義域は、指定されたサイズ、すなわち、128ビットを取る。AESは、鍵とメッセージの2つの入力を有する。したがって、AESを利用する場合、セキュアなエージェント220毎に、2つの異なる定義域が存在し、2
128が定義域のサイズである。
【0023】
AESの使用は、システムの定義域を定義する。最初に、マスタ鍵とセッション鍵のための定義域が存在する。次に、メッセージとセッションIDのための定義域が存在する。これらの定義域の各々は、攻撃を防ぐために、大きくなければならない。また、定義域が大きいため、各エージェントは、多くのメッセージを生成することができる。
【0024】
第2のデバイス250が生成できるセッションIDの使用に関して、第2のデバイス250には3つの可能性が起こり得る。第2のデバイス250は、セッションIDを用いて何もしなくてよく、もしくはエージェント220がメッセージ内で真実を告げているかどうかを調べるテストのためにセッションIDを使用することができ、またはセッションIDは、ライブSFEのために使用することができる。
【0025】
第1のデバイス210によって、または第1のデバイス210と動作可能に通信する周辺デバイスによって、第2のデバイス250から第1のデバイス210への要求を追跡するためにも異なる方法が存在する。1つの方法は、例えば、第1のデバイス210に関連付けられた、または第1のデバイス210内に備えられたメモリ270内に要求を記憶することによって、要求を追跡することを含む。クライアントが第1のデバイス210からのセッション鍵260を要求する場合、第1のデバイス210は、例えば、メモリ270内のデータベースにセッション鍵260を追加することができる。第1のデバイス210は、このシナリオにおいて与えられるメモリ270などの、関連付けられたメモリ内に2つのデータベースを維持することができる。最初に、第1のデバイスは、セッション鍵が第2のデバイス250からの要求によってオープンされた場合に、セッション鍵を記録するデータベースを維持することができる。次に、第1のデバイスは、ライブSFEのために使用されたセッション鍵260のためのデータベースも維持しなければならない。
【0026】
第1のデバイス210、クライアントが、関連付けられたプロセッサもしくはサーバP1などを介して、またはそれ自体がプロセッサもしくはサーバである第1のデバイス210が、セッション鍵260をオープンした後は、もはやライブSFEのために鍵260を使用することはできない。加えて、第2のデバイス250に関連付けられたプロセッサもしくはサーバP2、またはそれ自体がプロセッサもしくはサーバである第2のデバイス250、クライアントが、第1のデバイス210または関連付けられたプロセッサもしくはサーバP1を用いて、ライブSFEを実行した後は、もはや鍵260をオープンすることはできない。
【0027】
第2のデバイス250は、第1のデバイス210にセッションIDを与えることによって、セッション鍵260を要求することができる。次に、第1のデバイス210は、セッション鍵260を返してよいかどうかを調べるチェックを行う。セッション鍵260が、例えば、メモリ270内に含まれる実行ライブデータベースのメンバでない場合、第1のデバイス210は、セッション鍵260を返してよい。
【0028】
代替として、第1のデバイス210および第2のデバイス250は、それぞれ、ライブ定義域およびテスト定義域に合意することができる。この場合、SFEリプレイ(SFE replay)の可能性が、ある状況下では存在し得る。これらの状況下では、以下で説明される
図3に示されたカウンタ380などの、カウンタを維持することができる。カウンタ380は、セッションIDが、SFE実行のために以前に受け取ったセッションIDの繰り返しでないことを確認するために、セッションID(または関連する値)が増加しているかどうかを判定することができる。
【0029】
合意および内容は、直接的に第1のデバイス210と第2のデバイス250の間のものであり、エージェント220とは共有されないので、エージェント220は、定義域がライブであるか、それともテストであるかを知らないばかりでなく、定義域は、エージェント220には完全に予測不可能である。
【0030】
さらに、エージェント220からのメッセージは、第2のデバイス250によって第1のデバイス210に大量に送ることができる。バルクメッセージが送られる場合、第1のデバイス210と第2のデバイス250の間で必要とされるラウンドトリップ通信は、それぞれ1回のみである。
【0031】
第1のデバイス210はセッション鍵260を知っており、第2のデバイス250は要求とともにセッションIDを第1のデバイス210に送るので、第1のデバイス210は、第2のデバイス250からの要求をオープンすることができるという点で、システム200は有利である。第1のデバイス210とエージェント220の分離は、不正行為を防ぐうえで重要な役割を果たす。具体的には、エージェント220は、第2のデバイス250宛てのメッセージを生成したとき、このメッセージがいつオープンされるか(またはオープンされるかどうか)を決して知ることはない。さらに、エージェント220は、第2のデバイス250を保有しており、第2のデバイス250は、第2のデバイス210またはネットワークに負担を掛けることなく、任意の頻度でエージェント220に問い合わせを行うことができる。本明細書で説明される改良を用いる場合、オープンは、第2のデバイス250が第1のデバイス210に短い文字列を送ることから成る。そのため、エージェント220を第2のデバイス250に与える前に、エージェント220をプログラミングすることによって、エージェント220の戦略を最終的に決定する第1のデバイス210は、エージェント220が不正行為を行った場合、1に任意に近い確率でそれを見出す。
【0032】
この見出す確率は、標準的な従来技術の切断選択法(cut−and−choose technique)と著しい対照をなしており、切断選択法では、実行環境とプロトコル記述が、そのような任意に大きい抑止ファクタを妨げている。具体的には、実際上、オーバヘッドのせいで、標準的な切断選択を用いる場合の見出す確率は、通常、たかだか
【0035】
図3に示される別の例示的な実施形態では、SFEにおいて耐タンパ性トークンを利用するためのシステム300が説明される。システム300は、埋め込み秘密マスタ鍵330を有する、少なくとも1つのセキュアな、または耐タンパ性のトークン320を生成し、それを送るように構成された、第1のプロセッサまたはサーバ310を含む。秘密マスタ鍵330は、大きな定義域340からランダムに取り出される。トークン320は、セッションIDを受け取ったときに、メッセージを生成し、それを送ることが可能である。セッションIDをトークンに送り、トークンがセッションIDを受け取った後にトークン320によって送られたメッセージを獲得するように構成された、第2のプロセッサまたはサーバ350も提供される。第2のプロセッサ350は、第1のプロセッサ310からの対応するセッション鍵360を選択的に要求する。
【0036】
大きな定義域340は、例えばAESとともに使用される、2
128の鍵定義域によってさらに定義することができる。
【0037】
本明細書で説明されるトークン320は、耐タンパ性トークンでなければならない。耐タンパ性とは、トークン320のメモリを見ること、または発見することができず、そのメモリを変更できないことを意味する。トークン320が耐タンパ性トークンではない場合、クライアントまたは第2のサーバP1は、不正行為を行うことができる。
【0038】
トークン320は、実行と実行の間に、状態(例えば、カウンタおよび他の変数)を維持する必要がない。したがって、本発明のプロトコルは、第2のプロセッサ350など、攻撃者によって、トークン320を「リセット」できる場合であっても、安全である。リセットとは、トークンの状態が、通信の開始時に提供された元の状態にリセットされることを意味する。
【0039】
対応するセッション鍵360は、第2のプロセッサ350によって第1のプロセッサ310から要求された後、第1のプロセッサ310によってデータベース内に保持することができる。対応するセッション鍵360は、それが第1のプロセッサ310のデータベースのメンバでない場合にのみ、SFE評価のための基礎として使用することができる。
【0040】
第1のプロセッサ310および第2のプロセッサ350は、それぞれ、サーバ、コンピュータ、電話、関連デバイス、またはSFE評価に適した他の任意のデバイスなど、任意の適切なデバイスを含むことができる。
【0041】
図2に関して上で説明したように、対応するセッション鍵360は、それが第2のプロセッサ350によってまだ要求されていない場合、第1のプロセッサ310のメモリ370内に記憶されたランダムな文字列に基づいて、ライブ評価のために利用可能とすることができる。
【0042】
メッセージは、
図1に示された、知られている例示的なガーブル回路100などの、ガーブル回路とすることができ、少なくとも1つのセキュアなトークン320によって生成される。
【0043】
別の実施形態では、通信ネットワークにおいてSFEトランザクションを生成するための費用効果の高いシステムが説明される。システムは、耐タンパ性トークンを生成するように構成された第1のサーバを含む。トークンは、大きな定義域から取り出された埋め込みランダム鍵を有する。鍵は、第1のサーバと同期させられ、または等しい。トークンは、メッセージを生成し、送ることが可能である。メッセージをトークンから受け取り、トークンのセッションIDの定義域から要素を選択するように構成された、第2のサーバも提供される。第2のサーバは、第1のサーバからの対応するセッション鍵を選択的に要求することができ、またはライブSFEを実行することができる。
【0044】
第1のサーバと第2のサーバは、ランダムなライブ定義域およびテスト定義域に合意することができる。ライブ定義域およびテスト定義域は、トークンには知られず、全く予測不可能である。第1のサーバと第2のサーバは、ライブ定義域およびテスト定義域を決定する鍵をランダムに選択し、記憶する。
【0045】
第1のサーバは、第2のサーバからの要求で、セッションIDがテスト定義域のメンバである場合は、対応するセッション鍵を計算し、対応するセッション鍵を第2のサーバに送り返すことができる。
【0046】
メッセージは、ガーブル回路生成アルゴリズムに従って、トークンによって生成されたガーブル回路とすることができる。
【0047】
また別の実施形態では、セキュアなSFEトランザクションを提供するための方法が説明される。方法は、以下のステップを含む。最初に、第1のプロセッサを使用して、セキュアなトークンが生成される。セキュアなトークンは、大きな定義域から取り出された埋め込みマスタ鍵を有する。トークンは、メッセージを生成し、送ることが可能である。次に、第2のプロセッサを使用して、セッションIDの定義域から、要素が選択される。その後、セッション鍵が、マスタ鍵とセッションIDとに基づいて、セキュアなトークンを介して生成される。セッションIDは、第2のサーバのために、要素を使用して生成される。その後、第2のプロセッサを使用して、セキュアなトークンから、メッセージが選択的に受け取られる。最後に、トークンによって生成され、出力されたメッセージの真実性を検証するために、セッションIDを使用して、セッション鍵を第1のプロセッサから第2のプロセッサによって選択的に獲得することができる。
【0048】
また別の実施形態では、セキュアなSFEシステムが説明される。システムは、第1のサーバP1を含む。第2のサーバP2も提供される。第1のサーバP1は、セキュアなトークンTを生成するように構成される。セキュアなトークンTは、P1からの暗号化メッセージを生成するための回路と、大きな定義域を有する埋め込み鍵の両方を含む。第2のサーバP2は、セッションIDを生成し、セッションIDを選択的に送信することができる。
【0049】
P2は、セッションIDを使用して、対応するセッション鍵をP1に選択的に要求することができ、その場合、対応するセッション鍵が要求されたかどうかをTが知ることはないため、TとP1とは分離され、不正行為が防がれる。
【0050】
さらなる一実施形態では、セキュアなSFEトランザクションを提供するための方法が説明される。方法は、以下のステップを含む。最初に、セキュアなトークンが生成される。セキュアなトークンは、埋め込みPRFG鍵を有し、その鍵は、大きな定義域を有し、第1のプロセッサと同期させられる。次に、第2のプロセッサを用いて、トークンのセッションid定義域から、要素が選択される。その後、要素の値に基づいて、セッションIDが生成される。第2のプロセッサを用いて、セキュアなトークンから、メッセージが選択的に受け取られる。第2のプロセッサによって、ランダムな文字列が選択される。ランダムな文字列は、第2のプロセッサを介して、第1のプロセッサに送られる。その後、文字列は、第1のプロセッサ内に記憶される。第2のプロセッサによって選択されたランダムな文字列に基づいて、ライブ定義域集合およびテスト定義域集合が、第1のプロセッサと第2のプロセッサによって合意される。
【0051】
方法は、セッションIDに基づいて、第2のプロセッサによって、対応するセッション鍵を第1のプロセッサに選択的に要求することをさらに含むことができる。
【0052】
さらに、ランダムな文字列は、AES生成器から選択された128ビット文字列によってさらに定義することができ、第2のプロセッサからのテストクエリおよびライブクエリはどれも、第1のプロセッサによってログに記録される必要がない。
【0053】
方法は、第2のプロセッサによって受け取られたいくつかのメッセージに基づいて、大量の対応するセッション鍵を第1のプロセッサに選択的に要求するステップをさらに含むことができる。
【0054】
方法は、ライブ実行のために第2のサーバによって第1のサーバに提示されたセッションidに関連するカウンタを維持するステップも含むことができる。カウンタは、セッションIDが常に増加しているかどうかを判定することができ、それによって、リプレイが防止される。これは、同じシード(seed)を用いて複数の実行が発生し得る場合に、特に重要である。
【0055】
方法は、テスト定義域集合およびライブ定義域集合を以下のように形成することによって、さらに定義することができる:疑似ランダム順列生成器(PRPG:pseudo−random permutation generator)を使用し、定義域をDによって、PRPGの鍵空間をFによって表す。ランダムな文字列は、第2のプロセッサを介して、Fの鍵であるk
D∈
RDとして選択される。k
Dは、第2のプロセッサを介して、第1のプロセッサに送られる。最後に、文字列は、第1のプロセッサ内に記憶され、第1のプロセッサと第2のプロセッサは、集合
【0057】
【数5】
に合意し、t∈TESTは、第1のプロセッサによって実行のために受け入れられることはなく、任意の要素l∈LIVEは、第1のプロセッサによってオープンされることはなく、第1のプロセッサは、トークンTが、定義域LIVEとTESTを見分ける能力を、実際には予測可能性を有さないように、鍵k
Dを記憶する。
【0058】
さらに、方法は、バルクの対応セッション鍵要求(bulk corresponding session keys request)を形成するために、要求とともに第1のサーバに送られる対応するセッション鍵を求める複数の要求を含むことができ、第1のサーバと第2のサーバの間の通信は、バルクの対応セッション鍵要求を用いることで減少させられる。
【0059】
ネットワーク内におけるデバイス間のセキュアなトランザクションを容易にするためのセキュアなトランザクションシステムについてのまた別の実施形態は、第1のデバイスを提供することを含む。第1のデバイスの代わりにメッセージを暗号化し、それを配送するように構成された、セキュアなエージェントが提供される。セキュアなエージェントは、第1のデバイスによってエージェント内に埋め込まれた大きな定義域からランダムに取り出された、秘密鍵を有する。セキュアなエージェントからメッセージを獲得するように構成された、第2のデバイスが提供される。第2のデバイスは、セキュアなエージェントから獲得したメッセージの真実性を、第1のデバイスから獲得したセッション鍵を用いて、選択的にテストすることができる。テストは、トランザクション中、セキュアなエージェントには知られず、予測不可能である。
【0060】
本明細書で説明された実施形態は、SFEシステムおよび方法に関し、SFEシステムおよび方法は、アナログ電子システム、デジタル電子システム、マイクロプロセッサおよび他の処理要素、ならびにそのようなシステムおよび処理要素と連携して、方法、プロセス、または方針を実施するための、ソフトウェアおよび他の方法で具現されるステップおよび命令などの集まりを含むが、それらに限定されない、様々な電子的および光学的な技術を使用して実施することができる。電気通信技術では、情報または信号を伝達するための機構、構造、または方法を実施するために、様々な信号リード線、バス、データ経路、データ構造、チャネル、バッファ、メッセージパッシングインタフェース、および他の通信経路を使用することができ、それらはしばしば機能的には等価であることが理解されよう。したがって、別途言及されない限り、信号または情報を伝達するための装置またはデータ構造に対する言及は、一般にすべての機能的に等価な装置およびデータ構造に対する言及であることが意図されている。
【0061】
しかし、本出願の教示は、本発明の主旨から逸脱することなく、(おそらく当業者が理解できる変更が施された)他のタイプのワイヤレスネットワークにも適用できることが当業者には理解されよう。
【0062】
具体的には、コストが最小の、セキュアなSFEの新規なシステムおよび方法は、本発明の主旨から逸脱することなく、様々な通信環境において提供することができる。例えば、ステップは、異なる順序で実行することができ、またはステップは、追加、削除、または変更することができる。さらに、シグナリングおよび媒体レイヤは、本明細書で説明された原理から逸脱することなく、内部加入者網に結び付けることができる。
【0063】
本明細書で説明された実施形態は、例示的なものである。したがって、実施形態は特定の技術に関して説明されたが、本発明の主旨との調和を保ちながら、他の同等の技術を使用して、システムを実施できることが理解されよう。
【0064】
本明細書で説明された方法は、プログラムされたプロセッサ上で実行されたときに、新規なプロトコルを達成する命令を記憶する、コンピュータ可読記憶媒体を含むことができる。
【0065】
本明細書では、本発明の例示的な実施が詳細に示され、説明されたが、本発明の主旨から逸脱することなく、様々な変更、追加、および置換などを施すことができ、したがって、これらは、以下の特許請求の範囲において明確に定められる本発明の範囲内にあると見なされることが当業者には明らかであろう。