(57)【要約】      （修正有）【課題】秘匿関数計算（ＳＦＥ：Ｓｅｃｕｒｅ  Ｆｕｎｃｔｉｏｎ  Ｅｖａｌｕａｔｉｏｎ）を用いて、セキュアなトランザクションを容易に達成するための改良された技術を提供する。【解決手段】システムは、第１のデバイス２１０に代わってメッセージを暗号化し、それを配送するセキュアなエージェント２２０が提供される。セキュアなエージェントは、第１のデバイスによってエージェント内に埋め込まれた大きな定義域からランダムに取り出された、秘密鍵２３０を有する。セキュアなエージェントから、セッションＩＤに基づいて、メッセージを獲得するように構成された、第２のデバイス２５０が提供される。第２のデバイスは、第１のデバイスへの問い合わせに基づいて、エージェントからの対応するメッセージの真実性を選択的にテストすることができる。テストは、セキュアなエージェントには知られず、予測不可能であり、分離された状態に保たれる。【選択図】図２
2014197885.tif 000002
【特許請求の範囲】
【請求項１】
ＳＦＥにおいて耐タンパ性トークンを利用するためのシステムであって、
埋め込み秘密マスタ鍵を有する少なくとも１つのセキュアなトークンを生成し、それを送るように構成された第１のプロセッサであって、埋め込みマスタ鍵は、大きな定義域からランダムに取り出され、トークンは、セッションＩＤを受け取ったときに、メッセージを生成し、それを送ることが可能である、第１のプロセッサと、
セッションＩＤをトークンに送り、トークンがセッションＩＤを受け取った後にトークンによって送られたメッセージを獲得するように構成された第２のプロセッサと
を備え、
第２のプロセッサが、第１のプロセッサからの対応するセッション鍵を選択的に要求する、
システム。
【請求項２】
大きな定義域が、ＡＥＳとともに使用される２１２８の鍵定義域によってさらに定義される、請求項１に記載のシステム。
【請求項３】
対応するセッション鍵が、第１のプロセッサに要求された後、対応するセッション鍵が、第１のプロセッサによってデータベース内に保持され、対応するセッション鍵が、第１のプロセッサのデータベースのメンバでない場合にのみ、対応するセッション鍵が、ＳＦＥ評価のための基礎として使用される、請求項１に記載のシステム。
【請求項４】
第２のプロセッサが、サーバである、請求項１に記載のシステム。
【請求項５】
対応するセッション鍵が、第２のサーバによってまだ要求されていない場合、対応するセッション鍵が、ライブ評価のために利用可能である、請求項４に記載のシステム。
【請求項６】
メッセージが、少なくとも１つのセキュアなトークンによって生成されたガーブル回路である、請求項１に記載のシステム。
【請求項７】
セキュアなＳＦＥトランザクションを提供するための方法であって、
埋め込みＰＲＦＧ鍵を有するセキュアなトークンを生成するステップであって、鍵は、大きな定義域を有し、鍵は、第１のプロセッサと同期させられる、ステップと、
ｂ）第２のプロセッサを用いて、トークンのセッションｉｄ定義域から要素を選択するステップと、
ｃ）要素の値に基づいて、第２のプロセッサを介してセッションＩＤを生成するステップと、
ｄ）第２のプロセッサを用いて、セキュアなトークンからメッセージを受け取るステップと、
ｅ）第２のプロセッサによって選択されたランダムな文字列に基づいて、第１のプロセッサと第２のプロセッサによって合意されたライブ定義域集合およびテスト定義域集合を形成するステップと、
ｆ）第２のプロセッサを介して第１のプロセッサにランダムな文字列を送るステップと、
ｇ）文字列を第１のプロセッサ内に記憶するステップと
を含む、方法。
【請求項８】
ｈ）セッションＩＤに基づいて、第２のプロセッサによって、第１のプロセッサからの対応するセッション鍵を選択的に要求するステップをさらに含む、請求項７に記載の方法。
【請求項９】
ステップｅ）のランダムな文字列が、ＡＥＳ生成器から選択された１２８ビット文字列によってさらに定義され、第２のプロセッサからのテストクエリおよびライブクエリはどれも、第１のプロセッサによってログに記録される必要がない、請求項７に記載の方法。
【請求項１０】
ステップｅ）が、疑似ランダム順列生成器（ＰＲＰＧ）を使用し、定義域をＤによって、ＰＲＰＧの鍵空間をＦによって表し、ランダムな文字列を、第２のプロセッサを介して、Ｆの鍵であるｋＤ∈ＲＤとして選択し、ｋＤを第１のプロセッサに送ることによってさらに定義され、第１のプロセッサと第２のプロセッサが、集合
【数１】
2014197885.tif 000008
および
【数２】
2014197885.tif 000009
に合意し、ｔ∈ＴＥＳＴは、第１のプロセッサによって実行のために受け入れられることはなく、任意の要素ｌ∈ＬＩＶＥは、第１のプロセッサによってオープンされることはなく、第１のプロセッサは、トークンＴが、定義域ＬＩＶＥとＴＥＳＴを見分ける能力を有さないように、鍵ｋＤを記憶する、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、秘匿関数計算（ＳＦＥ：Ｓｅｃｕｒｅ  Ｆｕｎｃｔｉｏｎ  Ｅｖａｌｕａｔｉｏｎ）システムおよび方法に関し、より詳細には、耐タンパ性トークン（ｔａｍｐｅｒ−ｒｅｓｉｓｔａｎｔ  ｔｏｋｅｎ）を利用するＳＦＥシステムおよび方法に関する。
【背景技術】
【０００２】
現代暗号法の起源は、２０世紀初頭の戦時中に無線が広く利用可能になったことにある。具体的には、現代暗号法は、転置式暗号ツールであるスキュタレ（ｓｃｙｔａｌｅ）を戦争時に使用した古代スパルタ人の実践の上を行くものである。現代では、メッセージを送るために利用される媒体を考慮すると、傍受問題および解読問題が、暗号専門家によって対処されなければならない。現代通信は、メッセージの暗号化などによるプライバシと、メッセージの送信元の保証の両方を要求する。実際に、現代通信における最重要事項は、我々が情報源またはコミュニケーション源を信用できることである。
【０００３】
ＳＦＥは、互いに相手を信用していない当事者が、結果の計算中、自らの入力を秘匿したまま、その入力上で関数を評価できるようにする技法である。関数によっては、ＳＦＥは、大きな計算コストがかかることがある。ＳＦＥは、個人および企業との通信のために現在利用可能な計算リソースおよび通信リソースが増加したために、多くのセキュアなトランザクションアプリケーションにとって実用的なものになっている。セキュリティのためにＳＦＥを使用して行うことができるトランザクションのタイプには、いくつかの名前を挙げれば、例えば、オークション、契約の署名、および分散データベースマイニングがある。
【０００４】
現在、ＳＦＥの使用は、ＳＦＥアルゴリズムの使用に関連する計算の高いコストのせいで、制限されている。
【０００５】
これまで、ＳＦＥは、例えば、ヤオ（Ｙａｏ）のガーブル回路としても知られている、ガーブル回路（ＧＣ：Ｇａｒｂｌｅｄ  Ｃｉｒｃｕｉｔ）アルゴリズムを含む、様々なアルゴリズムを使用して達成されてきた。Ｐ１などのサーバは、ブール回路Ｃによって表される、計算される関数Ｆを暗号化またはガーブル（ｇａｒｂｌｅ）するが、それは、ブラインドでゲート毎に評価することができる。Ｃの結果は、Ｐ２などの別のサーバに直接的に送られる。その後、Ｐ２は、暗号化されたままのＧＣを評価し、ＧＣの暗号化された出力を獲得し、暗号化された出力をＰ１に直接的に送り返す。サーバＰ１は、Ｐ２から受け取った出力を暗号解除し、暗号解除された出力をＰ２に直接的に送り返す。
【０００６】
ＧＣは、ガーブルする必要がある回路Ｃのワイヤ毎に２つの秘密をＰ１が選択することによって、構成することができる。ゲートＧｉ毎に、Ｐ１は、ガーブル表（ｇａｒｂｌｅｄ  ｔａｂｌｅ）Ｔｉを生成し、それをＰ２に送る。生成された各ガーブル表は、以下の特性を有する：対応するゲートの１組の入力ワイヤに対して１組のガーブリング（ｇａｒｂｌｉｎｇ）が与えられた場合、Ｇｉに基づいて生成された各表Ｔｉは、対応する出力値のガーブリングのみを計算することが可能である。すなわち、Ｐ２は、表Ｔｉと、Ｇｉの入力のガーブリングから、各ゲートＧｉの単一のガーブルされた出力だけを回復することができる。表Ｔｉは、通常、１組の暗号化として実施され、Ｇｉを形成する入力ガーブリングの各ペアは、対応する出力ガーブリングＴｉの暗号化に対する鍵としての役割を果たす。
【０００７】
図１は、ＡＮＤゲートについての、Ｔ０が以下の表によって表される、知られている従来技術のＧＣの一例である。
【０００８】
【数１】
2014197885.tif 000003
表Ｔ０は、Ｐ１から直接的に、Ｐ２によって受け取られる。さらに、例えば、入力ガーブリングｗ＿１＾０およびｗ＿２＾０が与えられると、Ｐ２は、表の各行を暗号解除するよう試み、Ｇ０の暗号化された出力Ｗ０を回復する。表Ｔ０の暗号解除からは、ただ１つの暗号解除だけが成功し、出力ワイヤ秘密Ｗ０を明らかにする。その後、Ｐ２は、上述のようにガーブル回路全体の評価を進め、最終的に、出力ワイヤＷのガーブリングを獲得する。その後、Ｐ２は、ガーブリングを暗号解除のためにＰ１に送る。Ｐ１は、出力を暗号解除し、Ｐ２に直接的に送り返すことができる。Ｐ２は、入力ワイヤまたは内部ワイヤの値を決して学習することはない。
【０００９】
ＳＦＥにおいてガーブル回路技術を使用する最大の難点は、サーバなどのプロセッサによるガーブル回路の生成および計算と、入力ガーブリングの転送とに関連する複雑さである。ガーブル回路の評価は、回路のサイズに対して線形であり、ゲート当たり平均で４回のＡＥＳコールを必要とする。さらに、回路構成は、ゲート当たり最大で８回のＡＥＳコールを必要とすることがある。サーバ間の通信は、主にガーブル表Ｔｉ（各ゲートにつき４つのＡＥＳ暗号化）を送ることから成る。最後に、入力ガーブリングの転送は、転送される入力当たり数回（２回または３回）の公開鍵演算を必要とする。
【００１０】
ガーブル回路の転送は、大きな関数の場合、通信コストが高くなることがある。加えて、ガーブル回路の計算は、多くのクライアントのためにサーバによって大量に行われる場合は特に、大きな計算コストをもたらす。
【００１１】
ガーブル回路演算の使用に関連する複雑さは、耐タンパ性計算デバイス（トークン）をシステムに導入することによって、低減させることができる。トークンは、ガーブル回路を生成するように構成することができる。その場合、サーバＰ１などの第１のプロセッサは、ガーブル回路を生成し、それをサーバＰ２などの第２のプロセッサに送信する必要はない。代わりに、サーバＰ１は、トークンＴを生成し、それをサーバＰ２に送ることができる。その後、Ｔは、ガーブル回路を生成し、それを送信し、トークンＴは、サーバＰ１と同期させられる。ＴとＰ１の同期は、サーバＰ１によって秘密鍵ｋをトークンＴ内に埋め込むことによって、達成することができる。その後、（ＳＦＥの実行）中、サーバＰ２は、Ｔ内に埋め込まれたＰＲＦＧ関数Ｆの定義域から要素ｘを選択する。その後、Ｔは、ランダム性に基づいて、ＧＣを生成し、それをＰ２に出力する。これによって、プロセッサＰ１における計算コストおよび複雑さが解消され、信号が暗号化されるが、Ｔが信用できる情報源であり、Ｐ２がＴを信用できることは保証されない。
【００１２】
このタイプの回路が、すなわち、第１のプロセッサＰ１のトークンＴによって生成されたガーブル回路が与えられる場合、第２のプロセッサＰ２は、トークンＴの不良行為（または不正行為）、すなわち、ＧＣの誤った生成から保護されることを望むことがある。
【００１３】
Ｔの不正行為からＰ２を保護するための１つの知られている方法は、Ｐ１またはそのエージェントのＴに、２つ以上のメッセージをＰ２へ送らせることである。例えば、Ｔは、２つのメッセージをＰ２に送ることができる。Ｐ２は、１つのメッセージがライブ（ｌｉｖｅ）になるように選択し、他のメッセージが適切に構成されているかを調べるために、他のすべてのメッセージの構成に使用されたランダム性を明かすようにＰ１に求める。メッセージが２つである場合、ライブメッセージが適切に構成された確率は１／２である。
【発明の概要】
【課題を解決するための手段】
【００１４】
ネットワーク内におけるデバイス間のセキュアなトランザクションを容易にするための、改良されたセキュアなトランザクションシステムが説明される。システムは、第１のデバイスを含む。第１のデバイスに代わってメッセージを暗号化し、それを配送するように構成された、セキュアなエージェントが提供される。セキュアなエージェントは、第１のデバイスによってエージェント内に埋め込まれた大きな定義域からランダムに取り出された、秘密鍵を有する。セキュアなエージェントからメッセージおよびセッションＩＤを獲得するように構成された、第２のデバイスが提供される。第２のデバイスは、第１のデバイスに問い合わせを行うことによって、セキュアなエージェントによるメッセージの生成の正しさを選択的にテストすることができる。テストは、トランザクション中、セキュアなエージェントには知られず、予測不可能である。このようにして、第１のデバイスとエージェントは、不正行為を防ぐために、分離された状態に保たれる。
【００１５】
セキュアなＳＦＥトランザクションを提供するための方法も説明される。方法は、以下のステップを含む。最初に、セキュアなトークンが生成される。セキュアなトークンは、埋め込みＰＲＦＧ鍵を有し、この鍵は、大きな定義域を有し、第１のプロセッサと同期させられる。次に、第２のプロセッサを用いて、トークンのセッションｉｄ定義域から、要素が選択される。その後、要素の値に基づいて、セッションＩＤが生成される。第２のプロセッサを用いて、セキュアなトークンから、メッセージが選択的に受け取られる。第２のプロセッサによって、ランダムな文字列が選択される。ランダムな文字列は、第２のプロセッサを介して、第１のプロセッサに送られる。その後、文字列は、第１のプロセッサ内に記憶される。第２のプロセッサによって選択されたランダムな文字列に基づいて、ライブ定義域集合（ｌｉｖｅ  ｄｏｍａｉｎ  ｓｅｔ）およびテスト定義域集合（ｔｅｓｔ  ｄｏｍａｉｎ  ｓｅｔ）が、第１のプロセッサと第２のプロセッサによって合意される。
【００１６】
本発明の例示的な実施の特徴は、明細書、特許請求の範囲、および添付の図面から明らかになろう。
【図面の簡単な説明】
【００１７】
【図１】知られているガーブル回路１００の図である。
【図２】耐タンパ性トークンを有し、耐タンパ性トークンを介して図１の知られているガーブル回路などのメッセージを中継するように構成された、セキュアなＳＦＥシステムの例示的な構成２００を示すブロック図である。
【図３】本発明の原理によって構成されたシステムの例示的な構成３００を示すブロック図である。
【発明を実施するための形態】
【００１８】
ＳＦＥシステムは、図１で説明されたガーブル回路１００（従来技術）などの、知られているセキュアなアルゴリズムを使用して、メッセージを生成することができる。
【００１９】
図２は、ネットワーク内におけるデバイス間のセキュアなトランザクションを容易にするための、改良されたセキュアなトランザクションシステム２００についての、例示的な一実施形態を示している。システム２００は、第１のデバイス２１０を含む。第１のデバイス２１０に代わってメッセージを暗号化し、それを配送するように構成された、セキュアなエージェント２２０が提供される。セキュアなエージェント２２０は、第１のデバイス２１０によってエージェント２２０内に埋め込まれた大きな定義域２４０からランダムに取り出された、秘密鍵２３０を有する。セキュアなエージェント２２０からメッセージを獲得し、セキュアなエージェント２２０にセッションＩＤを与えるように構成された、第２のデバイス２５０が提供される。第２のデバイス２５０は、第２のデバイス２５０によって選択されたセッションＩＤに基づいて、対応するセッション鍵２６０を第１のデバイス２１０に要求することによって、セキュアなエージェント２２０によるメッセージ生成の正しさを選択的にテストすることができる。テストは、トランザクション中、セキュアなエージェント２２０には知られず、予測不可能である。このようにして、第１のデバイス２１０とエージェント２２０は、不正行為を防ぐために、分離された状態に保たれる。
【００２０】
第１のデバイス２１０と動作可能に通信するメモリ２７０などの記憶デバイスを提供することができる。記憶デバイス２７０は、例えば、第２のデバイス２５０との通信を追跡するために第１のデバイス２１０によって生成されたデータベース、第２のデバイス２５０によって第１のデバイス２１０に送られた合意されたランダムな文字列、またはシステム２００においてＳＦＥを容易にするための他の任意の適切なデータを含むことができる。
【００２１】
第１のデバイス２１０および第２のデバイス２５０は、サーバ、コンピュータ、セルフォン、ＰＤＡ、またはＳＦＥを容易にするのに適した他の任意のデバイスなどの、適切なデバイスの任意の組み合わせを含むことができる。
【００２２】
システム２００においてメッセージを生成し、暗号化するために、適切な疑似ランダム関数発生器（ＰＲＦＧ：ｐｓｅｕｄｏｒａｎｄｏｍ  ｆｕｎｃｔｉｏｎ  ｇｅｎｅｒａｔｏｒ）を、セキュアなエージェント２２０によって使用することができる。本明細書の原理に従って、本明細書のＰＲＦＧ機能を説明する目的で、基本ツールとしてのＡＥＳの使用について説明するが、それは単に、ＡＥＳが現在最も一般的なＰＲＦＧだからであり、ＡＥＳが一般的な乱数発生器の特性を満たすからである。ＡＥＳアルゴリズムの一例では、すべての定義域は、指定されたサイズ、すなわち、１２８ビットを取る。ＡＥＳは、鍵とメッセージの２つの入力を有する。したがって、ＡＥＳを利用する場合、セキュアなエージェント２２０毎に、２つの異なる定義域が存在し、２１２８が定義域のサイズである。
【００２３】
ＡＥＳの使用は、システムの定義域を定義する。最初に、マスタ鍵とセッション鍵のための定義域が存在する。次に、メッセージとセッションＩＤのための定義域が存在する。これらの定義域の各々は、攻撃を防ぐために、大きくなければならない。また、定義域が大きいため、各エージェントは、多くのメッセージを生成することができる。
【００２４】
第２のデバイス２５０が生成できるセッションＩＤの使用に関して、第２のデバイス２５０には３つの可能性が起こり得る。第２のデバイス２５０は、セッションＩＤを用いて何もしなくてよく、もしくはエージェント２２０がメッセージ内で真実を告げているかどうかを調べるテストのためにセッションＩＤを使用することができ、またはセッションＩＤは、ライブＳＦＥのために使用することができる。
【００２５】
第１のデバイス２１０によって、または第１のデバイス２１０と動作可能に通信する周辺デバイスによって、第２のデバイス２５０から第１のデバイス２１０への要求を追跡するためにも異なる方法が存在する。１つの方法は、例えば、第１のデバイス２１０に関連付けられた、または第１のデバイス２１０内に備えられたメモリ２７０内に要求を記憶することによって、要求を追跡することを含む。クライアントが第１のデバイス２１０からのセッション鍵２６０を要求する場合、第１のデバイス２１０は、例えば、メモリ２７０内のデータベースにセッション鍵２６０を追加することができる。第１のデバイス２１０は、このシナリオにおいて与えられるメモリ２７０などの、関連付けられたメモリ内に２つのデータベースを維持することができる。最初に、第１のデバイスは、セッション鍵が第２のデバイス２５０からの要求によってオープンされた場合に、セッション鍵を記録するデータベースを維持することができる。次に、第１のデバイスは、ライブＳＦＥのために使用されたセッション鍵２６０のためのデータベースも維持しなければならない。
【００２６】
第１のデバイス２１０、クライアントが、関連付けられたプロセッサもしくはサーバＰ１などを介して、またはそれ自体がプロセッサもしくはサーバである第１のデバイス２１０が、セッション鍵２６０をオープンした後は、もはやライブＳＦＥのために鍵２６０を使用することはできない。加えて、第２のデバイス２５０に関連付けられたプロセッサもしくはサーバＰ２、またはそれ自体がプロセッサもしくはサーバである第２のデバイス２５０、クライアントが、第１のデバイス２１０または関連付けられたプロセッサもしくはサーバＰ１を用いて、ライブＳＦＥを実行した後は、もはや鍵２６０をオープンすることはできない。
【００２７】
第２のデバイス２５０は、第１のデバイス２１０にセッションＩＤを与えることによって、セッション鍵２６０を要求することができる。次に、第１のデバイス２１０は、セッション鍵２６０を返してよいかどうかを調べるチェックを行う。セッション鍵２６０が、例えば、メモリ２７０内に含まれる実行ライブデータベースのメンバでない場合、第１のデバイス２１０は、セッション鍵２６０を返してよい。
【００２８】
代替として、第１のデバイス２１０および第２のデバイス２５０は、それぞれ、ライブ定義域およびテスト定義域に合意することができる。この場合、ＳＦＥリプレイ（ＳＦＥ  ｒｅｐｌａｙ）の可能性が、ある状況下では存在し得る。これらの状況下では、以下で説明される図３に示されたカウンタ３８０などの、カウンタを維持することができる。カウンタ３８０は、セッションＩＤが、ＳＦＥ実行のために以前に受け取ったセッションＩＤの繰り返しでないことを確認するために、セッションＩＤ（または関連する値）が増加しているかどうかを判定することができる。
【００２９】
合意および内容は、直接的に第１のデバイス２１０と第２のデバイス２５０の間のものであり、エージェント２２０とは共有されないので、エージェント２２０は、定義域がライブであるか、それともテストであるかを知らないばかりでなく、定義域は、エージェント２２０には完全に予測不可能である。
【００３０】
さらに、エージェント２２０からのメッセージは、第２のデバイス２５０によって第１のデバイス２１０に大量に送ることができる。バルクメッセージが送られる場合、第１のデバイス２１０と第２のデバイス２５０の間で必要とされるラウンドトリップ通信は、それぞれ１回のみである。
【００３１】
第１のデバイス２１０はセッション鍵２６０を知っており、第２のデバイス２５０は要求とともにセッションＩＤを第１のデバイス２１０に送るので、第１のデバイス２１０は、第２のデバイス２５０からの要求をオープンすることができるという点で、システム２００は有利である。第１のデバイス２１０とエージェント２２０の分離は、不正行為を防ぐうえで重要な役割を果たす。具体的には、エージェント２２０は、第２のデバイス２５０宛てのメッセージを生成したとき、このメッセージがいつオープンされるか（またはオープンされるかどうか）を決して知ることはない。さらに、エージェント２２０は、第２のデバイス２５０を保有しており、第２のデバイス２５０は、第２のデバイス２１０またはネットワークに負担を掛けることなく、任意の頻度でエージェント２２０に問い合わせを行うことができる。本明細書で説明される改良を用いる場合、オープンは、第２のデバイス２５０が第１のデバイス２１０に短い文字列を送ることから成る。そのため、エージェント２２０を第２のデバイス２５０に与える前に、エージェント２２０をプログラミングすることによって、エージェント２２０の戦略を最終的に決定する第１のデバイス２１０は、エージェント２２０が不正行為を行った場合、１に任意に近い確率でそれを見出す。
【００３２】
この見出す確率は、標準的な従来技術の切断選択法（ｃｕｔ−ａｎｄ−ｃｈｏｏｓｅ  ｔｅｃｈｎｉｑｕｅ）と著しい対照をなしており、切断選択法では、実行環境とプロトコル記述が、そのような任意に大きい抑止ファクタを妨げている。具体的には、実際上、オーバヘッドのせいで、標準的な切断選択を用いる場合の見出す確率は、通常、たかだか
【００３３】
【数２】
2014197885.tif 000004
と
【００３４】
【数３】
2014197885.tif 000005
の間に設定される。
【００３５】
図３に示される別の例示的な実施形態では、ＳＦＥにおいて耐タンパ性トークンを利用するためのシステム３００が説明される。システム３００は、埋め込み秘密マスタ鍵３３０を有する、少なくとも１つのセキュアな、または耐タンパ性のトークン３２０を生成し、それを送るように構成された、第１のプロセッサまたはサーバ３１０を含む。秘密マスタ鍵３３０は、大きな定義域３４０からランダムに取り出される。トークン３２０は、セッションＩＤを受け取ったときに、メッセージを生成し、それを送ることが可能である。セッションＩＤをトークンに送り、トークンがセッションＩＤを受け取った後にトークン３２０によって送られたメッセージを獲得するように構成された、第２のプロセッサまたはサーバ３５０も提供される。第２のプロセッサ３５０は、第１のプロセッサ３１０からの対応するセッション鍵３６０を選択的に要求する。
【００３６】
大きな定義域３４０は、例えばＡＥＳとともに使用される、２１２８の鍵定義域によってさらに定義することができる。
【００３７】
本明細書で説明されるトークン３２０は、耐タンパ性トークンでなければならない。耐タンパ性とは、トークン３２０のメモリを見ること、または発見することができず、そのメモリを変更できないことを意味する。トークン３２０が耐タンパ性トークンではない場合、クライアントまたは第２のサーバＰ１は、不正行為を行うことができる。
【００３８】
トークン３２０は、実行と実行の間に、状態（例えば、カウンタおよび他の変数）を維持する必要がない。したがって、本発明のプロトコルは、第２のプロセッサ３５０など、攻撃者によって、トークン３２０を「リセット」できる場合であっても、安全である。リセットとは、トークンの状態が、通信の開始時に提供された元の状態にリセットされることを意味する。
【００３９】
対応するセッション鍵３６０は、第２のプロセッサ３５０によって第１のプロセッサ３１０から要求された後、第１のプロセッサ３１０によってデータベース内に保持することができる。対応するセッション鍵３６０は、それが第１のプロセッサ３１０のデータベースのメンバでない場合にのみ、ＳＦＥ評価のための基礎として使用することができる。
【００４０】
第１のプロセッサ３１０および第２のプロセッサ３５０は、それぞれ、サーバ、コンピュータ、電話、関連デバイス、またはＳＦＥ評価に適した他の任意のデバイスなど、任意の適切なデバイスを含むことができる。
【００４１】
図２に関して上で説明したように、対応するセッション鍵３６０は、それが第２のプロセッサ３５０によってまだ要求されていない場合、第１のプロセッサ３１０のメモリ３７０内に記憶されたランダムな文字列に基づいて、ライブ評価のために利用可能とすることができる。
【００４２】
メッセージは、図１に示された、知られている例示的なガーブル回路１００などの、ガーブル回路とすることができ、少なくとも１つのセキュアなトークン３２０によって生成される。
【００４３】
別の実施形態では、通信ネットワークにおいてＳＦＥトランザクションを生成するための費用効果の高いシステムが説明される。システムは、耐タンパ性トークンを生成するように構成された第１のサーバを含む。トークンは、大きな定義域から取り出された埋め込みランダム鍵を有する。鍵は、第１のサーバと同期させられ、または等しい。トークンは、メッセージを生成し、送ることが可能である。メッセージをトークンから受け取り、トークンのセッションＩＤの定義域から要素を選択するように構成された、第２のサーバも提供される。第２のサーバは、第１のサーバからの対応するセッション鍵を選択的に要求することができ、またはライブＳＦＥを実行することができる。
【００４４】
第１のサーバと第２のサーバは、ランダムなライブ定義域およびテスト定義域に合意することができる。ライブ定義域およびテスト定義域は、トークンには知られず、全く予測不可能である。第１のサーバと第２のサーバは、ライブ定義域およびテスト定義域を決定する鍵をランダムに選択し、記憶する。
【００４５】
第１のサーバは、第２のサーバからの要求で、セッションＩＤがテスト定義域のメンバである場合は、対応するセッション鍵を計算し、対応するセッション鍵を第２のサーバに送り返すことができる。
【００４６】
メッセージは、ガーブル回路生成アルゴリズムに従って、トークンによって生成されたガーブル回路とすることができる。
【００４７】
また別の実施形態では、セキュアなＳＦＥトランザクションを提供するための方法が説明される。方法は、以下のステップを含む。最初に、第１のプロセッサを使用して、セキュアなトークンが生成される。セキュアなトークンは、大きな定義域から取り出された埋め込みマスタ鍵を有する。トークンは、メッセージを生成し、送ることが可能である。次に、第２のプロセッサを使用して、セッションＩＤの定義域から、要素が選択される。その後、セッション鍵が、マスタ鍵とセッションＩＤとに基づいて、セキュアなトークンを介して生成される。セッションＩＤは、第２のサーバのために、要素を使用して生成される。その後、第２のプロセッサを使用して、セキュアなトークンから、メッセージが選択的に受け取られる。最後に、トークンによって生成され、出力されたメッセージの真実性を検証するために、セッションＩＤを使用して、セッション鍵を第１のプロセッサから第２のプロセッサによって選択的に獲得することができる。
【００４８】
また別の実施形態では、セキュアなＳＦＥシステムが説明される。システムは、第１のサーバＰ１を含む。第２のサーバＰ２も提供される。第１のサーバＰ１は、セキュアなトークンＴを生成するように構成される。セキュアなトークンＴは、Ｐ１からの暗号化メッセージを生成するための回路と、大きな定義域を有する埋め込み鍵の両方を含む。第２のサーバＰ２は、セッションＩＤを生成し、セッションＩＤを選択的に送信することができる。
【００４９】
Ｐ２は、セッションＩＤを使用して、対応するセッション鍵をＰ１に選択的に要求することができ、その場合、対応するセッション鍵が要求されたかどうかをＴが知ることはないため、ＴとＰ１とは分離され、不正行為が防がれる。
【００５０】
さらなる一実施形態では、セキュアなＳＦＥトランザクションを提供するための方法が説明される。方法は、以下のステップを含む。最初に、セキュアなトークンが生成される。セキュアなトークンは、埋め込みＰＲＦＧ鍵を有し、その鍵は、大きな定義域を有し、第１のプロセッサと同期させられる。次に、第２のプロセッサを用いて、トークンのセッションｉｄ定義域から、要素が選択される。その後、要素の値に基づいて、セッションＩＤが生成される。第２のプロセッサを用いて、セキュアなトークンから、メッセージが選択的に受け取られる。第２のプロセッサによって、ランダムな文字列が選択される。ランダムな文字列は、第２のプロセッサを介して、第１のプロセッサに送られる。その後、文字列は、第１のプロセッサ内に記憶される。第２のプロセッサによって選択されたランダムな文字列に基づいて、ライブ定義域集合およびテスト定義域集合が、第１のプロセッサと第２のプロセッサによって合意される。
【００５１】
方法は、セッションＩＤに基づいて、第２のプロセッサによって、対応するセッション鍵を第１のプロセッサに選択的に要求することをさらに含むことができる。
【００５２】
さらに、ランダムな文字列は、ＡＥＳ生成器から選択された１２８ビット文字列によってさらに定義することができ、第２のプロセッサからのテストクエリおよびライブクエリはどれも、第１のプロセッサによってログに記録される必要がない。
【００５３】
方法は、第２のプロセッサによって受け取られたいくつかのメッセージに基づいて、大量の対応するセッション鍵を第１のプロセッサに選択的に要求するステップをさらに含むことができる。
【００５４】
方法は、ライブ実行のために第２のサーバによって第１のサーバに提示されたセッションｉｄに関連するカウンタを維持するステップも含むことができる。カウンタは、セッションＩＤが常に増加しているかどうかを判定することができ、それによって、リプレイが防止される。これは、同じシード（ｓｅｅｄ）を用いて複数の実行が発生し得る場合に、特に重要である。
【００５５】
方法は、テスト定義域集合およびライブ定義域集合を以下のように形成することによって、さらに定義することができる：疑似ランダム順列生成器（ＰＲＰＧ：ｐｓｅｕｄｏ−ｒａｎｄｏｍ  ｐｅｒｍｕｔａｔｉｏｎ  ｇｅｎｅｒａｔｏｒ）を使用し、定義域をＤによって、ＰＲＰＧの鍵空間をＦによって表す。ランダムな文字列は、第２のプロセッサを介して、Ｆの鍵であるｋＤ∈ＲＤとして選択される。ｋＤは、第２のプロセッサを介して、第１のプロセッサに送られる。最後に、文字列は、第１のプロセッサ内に記憶され、第１のプロセッサと第２のプロセッサは、集合
【００５６】
【数４】
2014197885.tif 000006
および
【００５７】
【数５】
2014197885.tif 000007
に合意し、ｔ∈ＴＥＳＴは、第１のプロセッサによって実行のために受け入れられることはなく、任意の要素ｌ∈ＬＩＶＥは、第１のプロセッサによってオープンされることはなく、第１のプロセッサは、トークンＴが、定義域ＬＩＶＥとＴＥＳＴを見分ける能力を、実際には予測可能性を有さないように、鍵ｋＤを記憶する。
【００５８】
さらに、方法は、バルクの対応セッション鍵要求（ｂｕｌｋ  ｃｏｒｒｅｓｐｏｎｄｉｎｇ  ｓｅｓｓｉｏｎ  ｋｅｙｓ  ｒｅｑｕｅｓｔ）を形成するために、要求とともに第１のサーバに送られる対応するセッション鍵を求める複数の要求を含むことができ、第１のサーバと第２のサーバの間の通信は、バルクの対応セッション鍵要求を用いることで減少させられる。
【００５９】
ネットワーク内におけるデバイス間のセキュアなトランザクションを容易にするためのセキュアなトランザクションシステムについてのまた別の実施形態は、第１のデバイスを提供することを含む。第１のデバイスの代わりにメッセージを暗号化し、それを配送するように構成された、セキュアなエージェントが提供される。セキュアなエージェントは、第１のデバイスによってエージェント内に埋め込まれた大きな定義域からランダムに取り出された、秘密鍵を有する。セキュアなエージェントからメッセージを獲得するように構成された、第２のデバイスが提供される。第２のデバイスは、セキュアなエージェントから獲得したメッセージの真実性を、第１のデバイスから獲得したセッション鍵を用いて、選択的にテストすることができる。テストは、トランザクション中、セキュアなエージェントには知られず、予測不可能である。
【００６０】
本明細書で説明された実施形態は、ＳＦＥシステムおよび方法に関し、ＳＦＥシステムおよび方法は、アナログ電子システム、デジタル電子システム、マイクロプロセッサおよび他の処理要素、ならびにそのようなシステムおよび処理要素と連携して、方法、プロセス、または方針を実施するための、ソフトウェアおよび他の方法で具現されるステップおよび命令などの集まりを含むが、それらに限定されない、様々な電子的および光学的な技術を使用して実施することができる。電気通信技術では、情報または信号を伝達するための機構、構造、または方法を実施するために、様々な信号リード線、バス、データ経路、データ構造、チャネル、バッファ、メッセージパッシングインタフェース、および他の通信経路を使用することができ、それらはしばしば機能的には等価であることが理解されよう。したがって、別途言及されない限り、信号または情報を伝達するための装置またはデータ構造に対する言及は、一般にすべての機能的に等価な装置およびデータ構造に対する言及であることが意図されている。
【００６１】
しかし、本出願の教示は、本発明の主旨から逸脱することなく、（おそらく当業者が理解できる変更が施された）他のタイプのワイヤレスネットワークにも適用できることが当業者には理解されよう。
【００６２】
具体的には、コストが最小の、セキュアなＳＦＥの新規なシステムおよび方法は、本発明の主旨から逸脱することなく、様々な通信環境において提供することができる。例えば、ステップは、異なる順序で実行することができ、またはステップは、追加、削除、または変更することができる。さらに、シグナリングおよび媒体レイヤは、本明細書で説明された原理から逸脱することなく、内部加入者網に結び付けることができる。
【００６３】
本明細書で説明された実施形態は、例示的なものである。したがって、実施形態は特定の技術に関して説明されたが、本発明の主旨との調和を保ちながら、他の同等の技術を使用して、システムを実施できることが理解されよう。
【００６４】
本明細書で説明された方法は、プログラムされたプロセッサ上で実行されたときに、新規なプロトコルを達成する命令を記憶する、コンピュータ可読記憶媒体を含むことができる。
【００６５】
本明細書では、本発明の例示的な実施が詳細に示され、説明されたが、本発明の主旨から逸脱することなく、様々な変更、追加、および置換などを施すことができ、したがって、これらは、以下の特許請求の範囲において明確に定められる本発明の範囲内にあると見なされることが当業者には明らかであろう。
【図１】
2014197885.tif 000010
【図２】
2014197885.tif 000011
【図３】
2014197885.tif 000012
【手続補正書】
【提出日】平成26年6月30日(2014.6.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信ネットワークにおいて秘匿関数計算（ＳＦＥ）トランザクションを生成するためのシステムであって、
処理デバイスを備える第１のサーバを備え、
第１のサーバがセキュアなトークンを生成するように構成され、セキュアなトークンがドメインから定義域から取り出された埋め込みランダム鍵を有し、埋め込みランダム鍵が第１のサーバと同期され、または等しく、セキュアなトークンが、セキュアなトランザクションを達成するために、第２のサーバへのメッセージを生成し送るように構成され、
第１のサーバは、セキュアなトランザクションを達成するために、第２のサーバからセッション鍵の要求を受け取り、ライブＳＦＥトランザクションを実行するようにさらに構成され、
第１のサーバは、第２のサーバとランダムなライブおよびテスト定義域に合意し、
ランダムなライブおよびテスト定義域は、セキュアなトークに知られず、予測できず、
第１のサーバは、ランダムなライブおよびテスト定義域が基づく鍵をランダムに選択し格納するようにさらに構成される、システム。
【請求項２】
請求項１に記載のシステムであって、第１のサーバは、第２のサーバからの要求で、セッションＩＤがテスト定義域のメンバである場合、セッション鍵を計算し、セッション鍵を第２のサーバに送り返す、システム。
【請求項３】
請求項１に記載のシステムであって、メッセージは、ガーブル回路生成アルゴリズムにしたがって、セキュアなトークンによって生成されたガーブル回路である、システム。
【請求項４】
請求項１に記載のシステムであって、定義域は、Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ）とともに使用される２１２８の鍵定義域である、システム。
【請求項５】
請求項４に記載のシステムであって、定義域は、Ａｄｖａｎｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ）とともに使用される、システム。
【請求項６】
秘匿関数計算（ＳＦＥ）トランザクションを生成するための方法であって、
ａ）埋め込み疑似ランダム関数発生器鍵を有するセキュアなトークンを生成するステップであって、埋め込み疑似ランダム関数発生器鍵が、セキュアなトランザクションを達成するために、第１のサーバと同期される、ステップと、
ｂ）セキュアなトランザクションを達成するために、第２のサーバから第１のサーバによってランダムな文字列を受け取るステップと、
ｃ）セキュアなトランザクションを達成するために、ランダムな文字列に基づいてライブ定義域集合およびテスト定義域集合を形成するステップと、
ｄ）セキュアなトランザクションを達成するために、第１のサーバにランダム文字列を格納するステップとを備え、
第１のサーバは、第２のサーバとランダムなライブおよびテスト定義域に合意し、
ランダムなライブおよびテスト定義域は、セキュアなトークに知られず、予測できず、
第１のサーバは、ランダムなライブおよびテスト定義域を判定する鍵をランダムに選択し格納する、方法。
【請求項７】
請求項６に記載の方法であって、ｅ）セキュアなトランザクションを達成するために、セッションＩＤに基づいて第２のサーバによって第１のサーバからセッション鍵を選択的に要求するステップをさらに備える、方法。
【請求項８】
請求項７に記載の方法であって、
ｆ）セキュアなトランザクションを達成するために、第２のサーバによって受け取られたいくつかのメッセージに基づいて第１のサーバからバルクのセッション鍵を選択的に要求するステップをさらに備える、方法。
【請求項９】
請求項７に記載の方法であって、
ｆ）セキュアなトランザクションを達成するために、ライブ実行のために第２のサーバによって第１のサーバに提示されたセッションＩＤに関連するカウンタを維持するステップをさらに備える、方法。
【請求項１０】
請求項７に記載の方法であって、
ｆ）セキュアなトランザクションを達成するために、第２のサーバによって受け取られたいくつかのメッセージに基づいて第１のサーバからバルクのセッション鍵を選択的に要求するステップをさらに備える、方法。
【請求項１１】
請求項６に記載の方法であって、定義域は、Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ）とともに使用される２１２８の鍵定義域である、方法。