(57)【特許請求の範囲】
【請求項１】
セキュア通信デバイスであって、
ａ．通信入力及び通信出力と、
ｂ．前記デバイスに特有のハードウェア固有識別情報を有するハードウェア識別情報モジュールと、
ｃ．前記通信入力及び通信出力に、かつ前記ハードウェア識別情報モジュールに接続された論理プロセッサと、を備え、
前記セキュア通信デバイスが、前記セキュア通信デバイスの公開鍵に対して検証可能である及び前記セキュア通信デバイスの前記ハードウェア固有識別情報に基づくゼロ知識証明認証トークンを含む認証更新パケットを前記通信出力上で所望の受信デバイスに送信することによって、非対話型認証を行うように構成され、前記セキュア通信デバイスが、暗号化されたセッション鍵を生成して前記認証更新パケットに含むように更に構成される、
セキュア通信デバイス。
【請求項２】
前記セキュア通信デバイスが、前記所望の受信デバイスの非対称暗号化及び公開鍵を使用して前記認証更新パケットに含まれる前記セッション鍵を暗号化するように更に構成される、請求項１に記載のセキュア通信デバイス。
【請求項３】
前記セキュア通信デバイスが、前記セッション鍵上で前記セキュア通信デバイスの暗号化された署名を前記認証更新パケットに含むように更に構成される、請求項１に記載のセキュア通信デバイス。
【請求項４】
前記セキュア通信デバイスが、前記セッション鍵上で前記セキュア通信デバイスの暗号化された署名を前記認証更新パケットに含むように更に構成される、請求項２に記載のセキュア通信デバイス。
【請求項５】
前記認証トークンが、タイムスタンプに基づく、請求項１、２、３、または４のいずれか一項に記載のセキュア通信デバイス。
【請求項６】
前記セキュア通信デバイスが、前記セキュア通信デバイスの前記ハードウェア固有識別情報に基づく認証トークンを含み、かつ新たなセッション鍵を含む認証更新パケットを送信するように構成される、請求項１、２、３、または４のいずれか一項に記載のセキュア通信デバイス。
【請求項７】
前記セキュア通信デバイスが、数学的エンジンを更に備える、請求項１、２、３、または４のいずれか一項に記載のセキュア通信デバイス。
【請求項８】
前記セキュア通信デバイスが、楕円曲線暗号法を行うように構成され、前記数学的エンジンが、楕円曲線計算を行うように構成される、請求項７に記載のセキュア通信デバイス。
【請求項９】
前記セキュア通信デバイスが、更新された公開鍵を含む認証更新パケットを送信するように更に構成される、請求項１、２、３、または４のいずれか一項に記載のセキュア通信デバイス。
【請求項１０】
前記ハードウェア識別情報モジュールが、物理複製不可能関数である、請求項１、２、３、または４のいずれか一項に記載のセキュア通信デバイス。
【請求項１１】
前記ハードウェア識別情報モジュールが、物理複製不可能関数である、請求項５に記載のセキュア通信デバイス。
【請求項１２】
前記ハードウェア識別情報モジュールが、物理複製不可能関数である、請求項６に記載のセキュア通信デバイス。
【請求項１３】
前記ハードウェア識別情報モジュールが、物理複製不可能関数である、請求項７に記載のセキュア通信デバイス。
【請求項１４】
前記ハードウェア識別情報モジュールが、物理複製不可能関数である、請求項８に記載のセキュア通信デバイス。
【請求項１５】
前記ハードウェア識別情報モジュールが、物理複製不可能関数である、請求項９に記載のセキュア通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、一般に、ネットワーク認証に関し、特に、ただし、非排他的に、置換による改ざん及び破壊に対して保護するための認証に関する。
【０００２】
関連出願の相互参照
本出願は、２０１４年５月２２日に出願された米国仮特許出願通し番号第６２／００１，９７９の優先権の利益を主張し、参照によってそれを組み込む。
【背景技術】
【０００３】
オンライン通信の必須態様は、２つのエンドポイントが、それらのそれぞれの識別情報に基づいて認証されたチャネルを確立する能力である。これに対する１つの解決策は、公開鍵基盤（ＰＫＩ）を利用し、公開鍵は、エンドデバイスが、それらが互いとのみ通信していることをかなり確信されることを可能にする。しかしながら、この方式では、エンドポイント及びその識別情報が一般に独立しており、すなわち、任意の識別情報が生成されてエンドポイントに割り当てられる。
【０００４】
様々なデバイス認証方式において、物理的複製不可能関数（ＰＵＦ）が、各デバイスがデバイスに固有に結び付けられた特有の識別情報を有するように使用されている。Ｒuｈｒｍａｉｒら（「Ｍｏｄｅｌｉｎｇ  Ａｔｔａｃｋｓ  ｏｎ  Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎｓ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １７ｔｈ  ＡＣＭ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ａｎｄ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｓｅｃｕｒｉｔｙ、ＣＣＳ’１０、第２３７〜２４９頁、ＡＣＭ、２０１０）は、ＰＵＦデバイスの３つの別個の種類を定義する。すなわち、
・弱いＰＵＦは、典型的には、秘密鍵を導出するためにのみ使用される。チャレンジスペースは、限定され得、レスポンススペースは、決して明らかにされないことが想定される。典型的な構築物は、ＳＲＡＭ型ＰＵＦ（Ｈｏｌｃｏｍｂら、「Ｉｎｉｔｉａｌ  ＳＲＡＭ  Ｓｔａｔｅ  ａｓ  ａ  Ｆｉｎｇｅｒｐｒｉｎｔ  ａｎｄ  Ｓｏｕｒｃｅ  ｏｆ  Ｔｒｕｅ  Ｒａｎｄｏｍ  Ｎｕｍｂｅｒｓ  ｆｏｒ  ＲＦＩＤ  Ｔａｇｓ」、Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  ＲＦＩＤ  Ｓｅｃｕｒｉｔｙ、２００７）、バタフライＰＵＦ（Ｋｕｍａｒら、「Ｅｘｔｅｎｄｅｄ  ａｂｓｔｒａｃｔ：Ｔｈｅ  Ｂｕｔｔｅｒｆｌｙ  ＰＵＦ  Ｐｒｏｔｅｃｔｉｎｇ  ＩＰ  ｏｎ  Ｅｖｅｒｙ  ＦＰＧＡ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｈａｒｄｗａｒｅ−Ｏｒｉｅｎｔｅｄ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｔｒｕｓｔ、第６７〜７０頁、２００８）、アービタＰＵＦ（Ｌｅｅら、「Ａ  ｔｅｃｈｎｉｑｕｅ  ｔｏ  ｂｕｉｌｄ  ａ  ｓｅｃｒｅｔ  ｋｅｙ  ｉｎ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ  ｆｏｒ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ａｎｄ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｐｐｌｉｃａｔｉｏｎｓ」、ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ  Ｃｉｒｃｕｉｔｓ：Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ、第１７６〜１７９頁、２００４）、リングオシレータＰＵＦ（Ｓｕｈら、「Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎｓ  ｆｏｒ  Ｄｅｖｉｃｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｓｅｃｒｅｔ  Ｋｅｙ  Ｇｅｎｅｒａｔｉｏｎ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ４４ｔｈ  ａｎｎｕａｌ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ、ＤＡＣ’０７、第９〜１４頁、ＡＣＭ、２００７）、及びコーティングＰＵＦ（Ｔｕｙｌｓら、「Ｒｅａｄ−Ｐｒｏｏｆ  Ｈａｒｄｗａｒｅ  ｆｒｏｍ  Ｐｒｏｔｅｃｔｉｖｅ  Ｃｏａｔｉｎｇｓ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ８ｔｈ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｈａｒｄｗａｒｅ  ａｎｄ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍｓ、ＣＨＥＳ’０６、第３６９〜３８３頁、Ｓｐｒｉｎｇｅｒ、２００６）を含む。
・強いＰＵＦは、（ｉ）複製することが物理的に不可能であり、（ｉｉ）完全なセットのチャレンジレスポンス対を（典型的には、約１週間と見なされる）適当な時間内に収集することが不可能であり、及び（ｉｉｉ）ランダムなチャレンジに対するレスポンスを予測することが困難であることが想定される。例えば、Ｒuｈｒｍａｉｒによって説明された超高情報量（ＳＨＩＣ）ＰＵＦ（「Ａｐｐｌｉｃａｔｉｏｎｓ  ｏｆ  Ｈｉｇｈ−Ｃａｐａｃｉｔｙ  Ｃｒｏｓｓｂａｒ  Ｍｅｍｏｒｉｅｓ  ｉｎ  Ｃｒｙｐｔｏｇｒａｐｈｙ」、ＩＥＥＥ  Ｔｒａｎｓ．Ｎａｎｏｔｅｃｈｎｏｌ．、第１０巻、第３：４８９〜４９８号、２０１１）は、強いＰＵＦと考えられ得る。
・制御されたＰＵＦは、強いＰＵＦのための基準の全てを満たし、更に、プロトコルを暗号法で増強するためにより高度な機能を計算することが可能な補助制御ユニットを実現する。
【０００５】
ＰＵＦ出力には、同じ入力を評価するにもかかわらず、わずかに変動するという点で雑音がある。これは、一般に、生体測定における雑音を除去するように開発されたファジー抽出方法で対処される。（Ｊｕｅｌｓら、「Ａ  Ｆｕｚｚｙ  Ｃｏｍｍｉｔｍｅｎｔ  Ｓｃｈｅｍｅ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ６ｔｈ  ＡＣＭ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｅｃｕｒｉｔｙ、ＣＣＳ’９９、第２８〜３６頁、ＡＣＭ、１９９９を参照）。ファジー抽出は、出力が固定入力に対して一定であるように、例えば補助制御ユニット内などのＰＵＦを有するデバイス内で部分的に利用されてもよい。ファジー抽出（または逆ファジー抽出）は、例えば、再構築される機密値Ｖと、Ｖを回復するためのヘルパーストリング（ｈｅｌｐｅｒ  ｓｔｒｉｎｇ）Ｐを記憶するために、Ｊｕｅｌｓらによって説明されるような「セキュアスケッチ（ｓｋｅｔｃｈ）」を利用し得る。入力ストリングＯ用のセキュアスケッチＳＳであって、ＥＣＣが、ｔ個の誤りを訂正することが可能な長さｎの二進（ｎ，ｋ，２ｔ＋１）誤り訂正符号であり、Ｖ←｛０，１｝ｋがｋビット値である、セキュアスケッチＳＳは、例えば、ＳＳ（Ｏ；Ｖ）＝Ｏ＋ＥＣＣ（Ｖ）として定義され得る。次いで、元の値Ｖは、Ｄ（Ｐ＋Ｏ‘）＝Ｄ（Ｏ＋ＥＣＣ（Ｖ）＋Ｏ’）＝Ｖとして誤り訂正符号ＥＣＣ及びＯ’のための復号化方式Ｄを使用して、ヘルパーストリングＰ及びＯの最大ハミング距離ｔ内の入力Ｏ’を仮定すると、再現され得る。
【０００６】
デバイスｄに結び付けられた物理的複製不可能関数Ｐｄ：｛０，１｝κ１→｛０，１｝κ２は、好適には、以下の特性を呈する。
１．複製不可能性：Ｐｒ［ｄｉｓｔ（ｙ，ｘ）≦ｔ|ｘ←Ｕκ１，ｙ←Ｐ（ｘ），ｚ←Ｐ’］≦ε１、それらの出力分布が統計的にｔ近似（ｔ−ｃｌｏｓｅ）であるようにクローンＰＵＦ  Ｐ’でＰＵＦ  Ｐを複製する確率は、かなり十分小さなε１よりも少ない。
２．予測不可能性：相手は、（少なくともデバイスに対する物理的アクセスなしで）無視し得る程度を超える確率で、チャレンジｃに対するデバイスのＰＵＦレスポンスｒを予測することができないことと、ヘルパーデータが、ＰＵＦレスポンスについて相手に何も明らかにしないことと、が望ましい。全ての実体が、確率的多項式時間（ＰＰＴ）に結び付けられること、すなわち、（関連したパラメータにおけるビットの数のことを言う）グローバル安全性パラメータλに関して多くの多項式演算を要求する計算、
【０００７】
【数１】
0006622795.tif 000002
【０００８】
を単に効率的に行うことができることを想定すると、相手Ａが、チャレンジｃに対するＰＵＦ  Ｐの正しいレスポンスｒを推測する確率が、好適には、κ２において無視できることを示す。これは、例えば、相手ＡとＰＵＦデバイスＰとの間のゲーム、すなわち、長さκ１のチャレンジスペースＣｐから長さκ２のレスポンススペースＲｐまでの入力ストリングをマッピングする
【０００９】
【数２】
0006622795.tif 000003
【００１０】
を通して評価され得、ここで、１λのような単項に与えられる、λは、プロトコルのための安全性パラメータである。
ＰＵＦ−ＰＲＥＤ：ＰＵＦ予測ゲーム
【００１１】
【表１】
0006622795.tif 000004
【００１２】
ゲームは、以下のように進む。
１．相手Ａは、ＰＵＦデバイスＰに対して（安全性パラメータλに関して）多項式の多くのチャレンジ
【００１３】
【数３】
0006622795.tif 000005
【００１４】
を発行し、ここで、チャレンジセット
【００１５】
【数４】
0006622795.tif 000006
【００１６】
は、全チャレンジスペースＣＰの適切なサブセットである。
２．ＰＵＦデバイスＰは、レスポンス｛ｒｉ｜ｒｉ←Ｐ（ｃｉ）｝をＡに戻す。
３．相手Ａは、最終的に、チャレンジクエリ
【００１７】
【数５】
0006622795.tif 000007
【００１８】
の元のセットにはなかったチャレンジｃを出力する。相手は、コミットされたチャレンジｃについてＰＵＦデバイスＰに問い合わせることを許可されない。
４．相手Ａは、多項式の多くのチャレンジ
【００１９】
【数６】
0006622795.tif 000008
【００２０】
の新たなセットをＰＵＦデバイスＰにもう一度発行してもよい。相手は、コミットされたチャレンジｃについてＰＵＦデバイスＰに問い合わせることを許可されない。
５．ＰＵＦデバイスＰは、レスポンス
【００２１】
【数７】
0006622795.tif 000009
【００２２】
をＡに戻す。
６．相手Ａは、最終的に、コミットされたチャレンジｃに対するＰのレスポンスについての推測ｒ’を出力する。
相手は、推測ｒ’が、Ａのコミットされたチャレンジｃに対するＰの実際のレスポンスｒ←Ｐ（ｃ）に等しいときにのみゲームに勝つ。（留意したように、ＰＵＦの出力には、雑音があり、その出力は、固定入力上でわずかに変動し、それゆえ、同等物が、典型的には、ファジー抽出器の出力に関して取られる（例えば、Ｄｏｄｉｓら、「Ｆｕｚｚｙ  Ｅｘｔｒａｃｔｏｒｓ：Ｈｏｗ  ｔｏ  Ｇｅｎｅｒａｔｅ  Ｓｔｒｏｎｇ  Ｋｅｙｓ  ｆｒｏｍ  Ｂｉｏｍｅｔｒｉｃｓ  ａｎｄ  Ｏｔｈｅｒ  Ｎｏｉｓｙ  Ｄａｔａ」、ＳＩＡＭ  Ｊ．Ｃｏｍｐｕｔ．、第３８巻、第１：９７−１３９号、２００８））。
３．頑強性：Ｐｒ［ｄｉｓｔ（ｙ，ｚ）＞ｔ|ｘ←Ｕκ１，ｙ←Ｐ（ｘ），ｚ←Ｐ（ｘ）］≦ε２、すなわち、固定ＰＵＦ  Ｐが、同じ入力ｘについてｔ遠隔（ｔ−ｄｉｓｔａｎｔ）レスポンスをもたらす確率は、かなり十分小さなε２よりも少ない。
４．区別不可能性：ＰＵＦデバイスの出力（典型的にはファジー抽出器の出力）は、好適には、ＰＰＴ相手Ａのアドバンテージ
【００２３】
【数８】
0006622795.tif 000010
【００２４】
が最大でも無視し得る程度に1/2を超えるように、同じ長さｌのランダムなストリングから計算的に区別することができない。ＰＵＦの区別不可能性は、例えば、相手Ａが、ＰＵＦ  Ｐのためのファジー抽出器の出力ｒと、同じ長さｌのランダムに選ばれたストリング
【００２５】
【数９】
0006622795.tif 000011
【００２６】
とを識別することを質問されるゲームを通して、評価され得る。
ＰＵＦ−ＩＮＤ：ＰＵＦ区別不可能性ゲーム
【００２７】
【表２】
0006622795.tif 000012
【００２８】
このゲームは、以下のように進む。
１．相手Ａは、任意のチャレンジ
【００２９】
【数１０】
0006622795.tif 000013
【００３０】
についての登録段階を実行する。
２．ＰＵＦデバイスは、Ｇｅｎの出力からの対応するヘルパーストリングＨｉを戻す。チャレンジ−ヘルパー対（ｃｉ，Ｈｉ）のこのセットをＣＨとして示す。
３．次に、相手Ａは、任意のｃｉ∈ＣＨのためのＰＵＦレスポンスｒｉ＝Ｐ（ｃｉ）を要求する。このステップにおいて要求されたチャレンジのセットを
【００３１】
【数１１】
0006622795.tif 000014
【００３２】
として示す。
４．全ての要求
【００３３】
【数１２】
0006622795.tif 000015
【００３４】
について、ＰＵＦデバイスは、セット｛ｒｉ|ｒｉ←Ｐ（ｃｉ）｝を戻す。
５．相手Ａは、ＡがｃについてＨｉを有するがＲｉを有さないように、チャレンジ
【００３５】
【数１３】
0006622795.tif 000016
【００３６】
を選択する。ＰＵＦデバイスは、ビットｂ∈｛０，１｝を一様にランダムに選ぶ。
６．ｂ＝０である場合、Ａは、Ｒｉ＝Ｒｅｐ（Ｐ（ｃ）＝ｒｉ，Ｈｉ）で与えられる。そうではなくて、ｂ＝１である場合には、Ａは、ランダムなストリング
【００３７】
【数１４】
0006622795.tif 000017
【００３８】
で与えられる。
７．相手Ａは、
【００３９】
【数１５】
0006622795.tif 000018
【００４０】
ではない限り
【００４１】
【数１６】
0006622795.tif 000019
【００４２】
についてＰＵＦデバイスに問い合わせることを許可される。
８．全ての要求
【００４３】
【数１７】
0006622795.tif 000020
【００４４】
について、ＰＵＦデバイスは、セット
【００４５】
【数１８】
0006622795.tif 000021
【００４６】
を戻す。
９．相手は、推測（ｇｕｅｓｓ）ビットｂ’を出力し、ｂ’＝ｂのときに成功する。
ＰＵＦの関連する評価は、Ｈｏｒｉら、「Ｑｕａｎｔｉｔａｔｉｖｅ  ａｎｄ  Ｓｔａｔｉｓｔｉｃａｌ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｅｖａｌｕａｔｉｏｎ  ｏｆ  Ａｒｂｉｔｅｒ  Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎｓ  ｏｎ  ＦＰＧＡｓ」、２０１０  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｃｏｍｐｕｔｉｎｇ  ａｎｄ  ＦＰＧＡｓ（ＲｅＣｏｎ−Ｆｉｇ）、第２９８〜３０３頁、２０１０、Ｍａｉｔｉ、Ａ  Ｓｙｓｔｅｍａｔｉｃ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｄｅｓｉｇｎ  ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ、論文、Ｖｉｒｇｉｎｉａ  Ｔｅｃｈ、２０１２、及び他のものによって提供される。
【００４７】
様々な認証方式は、知識のゼロ知識証明を利用し、それは、所与のステートメントが真であることを提供すると同時にこの事実を超えて何も明らかにしないための方法である。ゼロ知識証明は、２人の当事者、すなわち、ステートメントの有効性を確立する証明者Ｐと、ステートメントが真であることを確信される必要がある検証者Ｖとの間の相互作用である。検証者は、真のステートメントが本当に真であることを圧倒的な確率で確信されるべきである。知識のゼロ知識証明を用いて、検証者は、ステートメントの有効性の新たな当事者を確信させるために前の証明からのメッセージを使用することができず、メッセージは、単一ビットの情報のみ、すなわち、証明者Ｐが秘密を持つか否かを明らかにする。２つの一般的な種類のゼロ知識証明、すなわち、一連のメッセージが、証明者Ｐと検証者Ｖとの間で交換される対話型ゼロ知識証明、及び証明者Ｐが、Ｖと相互作用せずに単一メッセージＭを伝達し、更にＶは、Ｐが秘密を持つことを確信される非対話型ゼロ知識証明が存在する。多くの（対話型）ゼロ知識証明システムは、ステートメントの有効性を確立するために複数の繰返しを要求する。すなわち、各相互作用は、証明者が秘密を持たない（またはステートメントが偽である）場合でさえも、いくらかの確率で成功し得る。それ故、ステートメントが偽であるときの成功の確率がｐである場合、プロトコルは、１−（ｐ）ｎが１に十分近づくまでｎ回実行される。
【発明の概要】
【００４８】
本発明のある実施形態に係る認証システムは、（潜在的に別個のローカルエリアネットワーク上で）２つのエンドデバイス間で動的に生成された鍵を使用して、エンドポイント識別情報とセキュア通信チャネルの両方の確立を容易にする。対話型または非対話型認証プロトコルが、対象エンドデバイスの識別情報を確立するために使用され、動的鍵生成が、エンドデバイス間の暗号化通信チャネルを生成するための共有対称セッション鍵を確立するために使用される。一実施形態では、次いで、共有対称セッション鍵が、要望通りに更新され得、新たに動的に生成された鍵の下で暗号化され得る。
【図面の簡単な説明】
【００４９】
【図１】本発明のある実施形態におけるデバイス間の動的鍵生成を例示する図である。
【発明を実施するための形態】
【００５０】
この発明を実施するための形態は、（関連する専門用語及び慣例を含む）楕円曲線暗号を利用する実施形態例に基づくが、本明細書における発明の概念及び教示は、様々な他の暗号化方式、例えば、離散対数または因数分解のような異なる問題を利用するものなどに等しく適用する。同様に、本発明は、本発明と共にまたは本発明に基づいて利用され得る本明細書に説明される様々な追加特徴によって限定されない。
【００５１】
デバイスの固有識別情報を構築するために、デバイスの識別情報の（本明細書で登録トークンまたは公開鍵と称される）公開表現が生成される。楕円曲線数学的フレームワークが使用され得るが、当業者は、他のフレームワーク（例えば、離散対数フレームワーク、それに関して、米国特許第８，９１８，６４７号が、参照によって本明細書に組み込まれる）が同じ機能を提供することを理解するであろう。暗号登録トークン（またはトークンの連続物）｛（ｃｄ，Ｐｄ，Ａｄ  ｍｏｄ  ｐ）｝が、サーバによってチャレンジクエリ（または複数クエリ）に応答して各ＰＵＦデバイスｄから収集される。各デバイスは、秘密鍵
【００５２】
【数１９】
0006622795.tif 000022
【００５３】
をスペース｛０，１｝λ、から一様にランダムに選び、ここで、λは、安全性パラメータ（例えば、係数ｐにおけるビットの数）であり、デバイスの公開鍵として
【００５４】
【数２０】
0006622795.tif 000023
【００５５】
ｍｏｄ  ｐを計算し、ここで、Ｇは、
【００５６】
【数２１】
0006622795.tif 000024
【００５７】
上の楕円曲線上の位数ｑの基点である。好適には、機密情報は、通信チャネル上で送信されず、または不揮発性メモリ内に記憶されない（例えば、デバイスは、Ａｄの生成後に
【００５８】
【数２２】
0006622795.tif 000025
【００５９】
を廃棄し得る）。
【００６０】
【数２３】
0006622795.tif 000026
【００６１】
がデバイスを認証するために必要とされるとき、登録トークン（ｃｄ，Ｐｄ，Ａｄ  ｍｏｄ  ｐ）は、デバイスｄが、
【００６２】
【数２４】
0006622795.tif 000027
【００６３】
を再生成し、証明を完了することを可能にする。アルゴリズム１は、擬似コードにおける例示的な登録プロトコルを説明する。
【００６４】
【表３】
0006622795.tif 000028
【００６５】
（登録プロセスは、好適には、１回のみ要求されるべきであり、好適には、万一、安全性侵害の場合には、デバイスが、サーバ側の軽微な変更を通して再登録せずにアクティブなままにすることができることを確実にするべきである。参照によって本明細書に組み込まれる米国特許第８，９１８，６４７号に説明されるように、チャレンジ−レスポンスツリーが、構築され得、根ノードのみがＰＵＦレスポンスから直接的に導出され、導出されるトークンは、登録の間に収集されたものから生成される。）
【００６６】
ＰＵＦ使用可能なデバイスは、機密値をローカルに記憶し得、好適には不揮発性メモリ内に機密情報を記憶せずに取り出し得る。アルゴリズム２は、ＰＵＦを使用する機密値（例えば、
【００６７】
【数２５】
0006622795.tif 000029
【００６８】
）の記憶を例示し、アルゴリズム３は、機密値の再生成を例示する。デバイスｄのためのチャレンジｃｄ及びヘルパーデータであるヘルパーｄは、機密値について何も明らかにしないように、公開のものであり得る。本実施例は、排他的論理和＋によって機密値の暗号化を使用するが、交代に、その値は、例えば、他の暗号化アルゴリズム（例えば、ＡＥＳ）に対して鍵を形成するために使用され得、任意のサイズの値の記憶及び取り出しを可能にする。
【００６９】
【表４】
0006622795.tif 000030
【００７０】
Ｏ及びＯ’がｔ近似（ｔ−ｃｌｏｓｅ）である時は常に、誤り訂正符号ＥＣＣが、復号アルゴリズムＤに渡され得、機密値を回復する。
【００７１】
認証段階は、サーバが、クライアントデバイスが要求を発行することを承認されることを検証することを可能にする。楕円曲線実施形態では、デバイスからの要求を受信すると、サーバは、アルゴリズム４に示されるように、要求を行うための許可を確立するためにＣｈａｕｍら（「Ａｎ  Ｉｍｐｒｏｖｅｄ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｄｅｍｏｎｓｔｒａｔｉｎｇ  Ｐｏｓｓｅｓｓｉｏｎ  ｏｆ  Ｄｉｓｃｒｅｔｅ  Ｌｏｇａｒｉｔｈｍｓ  ａｎｄ  ｓｏｍｅ  Ｇｅｎｅｒａｌｉｚａｔｉｏｎｓ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ６ｔｈ  ａｎｎｕａｌ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｔｈｅｏｒｙ  ａｎｄ  ａｐｐｌｉｃａｔｉｏｎ  ｏｆ  ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｔｅｃｈｎｉｑｕｅｓ、ＥＵＲＯＣＲＹＰＴ’８７、第１２７〜１４１頁、Ｓｐｒｉｎｇｅｒ、１９８８）のゼロ知識証明プロトコルの楕円曲線の変化形をデバイスｄに関して行うことができる。
【００７２】
【表５】
0006622795.tif 000031
【００７３】
対話型ゼロ知識証明において検証するエンドデバイスからの通信のための要求は、最新の証明に特有のノンス値を取得することである。これは、傍受する相手が、有効なデバイスからの前の証明を使用して認証プロトコルを成功裏に完了し、エンドデバイスとして偽ることを防止する。
【００７４】
非対話型ゼロ知識証明は、この通信要求を除去し、証明が、検証するエンドポイントと相互作用せずに完了されることを可能にする。アルゴリズム４の非対話型構築は、証明するエンドデバイスが証明を操作することを防止する手法において、検証者の代わりにノンスを生成することをデバイスに要求する。一実施例として、証明するエンドデバイスは、Ｎ←Ｈ（
【００７５】
【数２６】
0006622795.tif 000032
【００７６】
・Ｇ  ｍｏｄ  ｐ|τ）としてノンスＮを構築し得、ここで、Ｈはハッシュ関数であり、τはタイムスタンプであり、ｘ|ｙは、ｘ及びｙの連接（ｃｏｎｃａｔｅｎａｔｉｏｎ）を示す。タイムスタンプは、証明するエンドデバイスによって構築された前の証明が、将来、相手によって再現されることができないことを確実にする一方で、ハッシュ関数は、証明するエンドデバイスが、敵対する様態においてチャレンジを操作できないことを確実にする。タイムスタンプは、好適には、証明者に到着する際に最新のタイムスタンプに一致する必要はなく、検証するエンドポイントが、代わりに、そのタイムスタンプが、適度に最新（例えば、第２の粒度）であることを確認し、再現攻撃を防止するように単調に増加する。アルゴリズム５は、非対話型認証プロトコルを提供する。
【００７７】
【表６】
0006622795.tif 000033
【００７８】
非対話型認証が、ゼロ知識において第１のパケット認証を提供するように利用され得る。例えば、証明するエンドデバイスによって送信された第１のパケットは、以下の認証トークン、ａｕｔｈ（認証）＝｛Ｂ＝ｒ・Ｇ  ｍｏｄ  ｐ，ｍ＝ｒ＋ｈ・
【００７９】
【数２７】
0006622795.tif 000034
【００８０】
ｍｏｄ  ｐ，τ｝を含み得、それは、検証するエンドデバイスが、証明するエンドデバイスの識別情報を確立するのに十分である。認証は、受信する（検証する）エンドデバイスとの通信が、認証トークンの構築の前に必要ではないという点で、第１のパケットである。更に、送信する（証明する）エンドデバイスの検証は、送信する（証明する）エンドデバイスとの通信なしで完了する。タイムスタンプτは、もはや最新ではなくなるので、パケット認証（ａｕｔｈ）を観察する傍受相手は、パケットを再現することが不可能になる。アルゴリズム６は、デバイスツーデバイス式の第１のパケット相互認証を例示する。
【００８１】
【表７】
0006622795.tif 000035
【００８２】
２つの通信デバイスが、アルゴリズム６を使用して、所望される通りに（すなわち、動的に）、（再）認証することができると同時に、認証トークン及び新たなセッション鍵を含む認証更新メッセージを送信することによって新たなセッション鍵を確立することができる。図１を参照すると、例えば、デバイスＤ１が、デバイスＤ５に対して第１のパケット上で識別情報を証明すると同時に、デバイスＤ５との新たなセッション鍵を確立することを望む場合には、認証更新パケットが、｛ＢＤ１＝ｒ・Ｇ  ｍｏｄ  ｐ，ｍＤ１＝ｒ＋ｈ・
【００８３】
【数２８】
0006622795.tif 000036
【００８４】
ｍｏｄ  ｐ，τＤ１，ＥＡＤ５（セッション鍵（Ｄ１、Ｄ５），ＳＩＧＤ１（Ｈ（セッション鍵（Ｄ１、Ｄ５））））｝である。
【００８５】
かかるデバイスの一実施形態は、例えば、２１５，０００個の論理セル、１３メガバイトのブロックランダムアクセスメモリ、及び７００個のデジタル信号処理（ＤＳＰ）スライスを装備した、Ｘｉｌｉｎｘ  Ａｒｔｉｘ７フィールドプログラマブルゲートアレイ（ＦＰＧＡ）プラットフォームを備え得る。楕円曲線暗号を利用する実施形態では、例えば、ハードウェア数学的エンジンが、基盤に搭載されたＤＳＰスライスにおいてインスタンス化され得、ＰＵＦ構築が論理セル内に位置付けられ、論理処理コアが、ＰＵＦへの入力及び出力を含み、それらを制御するように構築され、デバイスの外部入力及び出力が、例えば上記したものなどのアルゴリズムを行う（楕円曲線及び他の数学的計算を数学的エンジンに送信する）。それゆえ構築されたデバイス（例えば、図１におけるＤ１−Ｄ８）は、（例えばネットワーク経由などで）接続され得、非対話型相互認証及び動的鍵生成を行うことができる。例えば、大型集積回路等の上のコーティングＰＵＦを使用するような、非常に多くの他の物理的な実施形態が、容易に明白である。
【００８６】
別の実施形態では、対象エンドデバイスの新たな「公開鍵」が、新たなランダムセッション鍵を暗号化するために対象エンドデバイスとの通信を要求せずに生成され得、それは、最新のセッション鍵に取って代わることになる。新たな公開鍵は、所望される通りに、米国特許第８，９１８，６４７号に説明されるような導出されたトークンを使用して生成されてもよく、その米国特許は、その点について参照によって組み込まれる。
【００８７】
当業者は、例示的な特徴及びアルゴリズムの他の組み合わせ並びに適合が、異なる用途において使用され得、デバイスのハードウェア識別情報の使用が、提供された実施例のゼロ知識態様によって限定されない種々の暗号認証技法に適用され得ることを理解するであろう。例えば、システムと通信することを望むデバイスが、最初に、例えば、アルゴリズム５などに従う認証を行い得、システムに対して第１のパケットを認証し、次いで、システムが、セキュア通信チャネルを始動するためにデバイスとの（認証更新メッセージを通した）動的セッション鍵確立プロトコルを行い得る。更に、認証プロトコルは、ゼロ知識に限定される必要はなく、識別情報を確立するための他の暗号構築物に基づき得る。例えば、サーバは、チャレンジメッセージ、どのデバイスが、そのハードウェア識別情報を使用して（例えば、デバイスのＰＵＦによって再生成された秘密鍵及び標準署名アルゴリズムを使用して）デジタル式に署名し、サーバに戻されるパケットヘッダ（例えば、ＴＣＰオプションヘッダ）内にこの署名を含むかをデバイスに送信し得る。受信後、サーバは、デバイスの公開鍵を使用してそのチャレンジが有効であることに関してデジタル署名を検証する。
【００８８】
本発明の一実施形態は、楕円曲線数学的フレームワークに頼るので、当業者は、それが、暗号法で実施されるロールベースアクセス制御（ＲＢＡＣ）を支援するように拡張され得ることを理解するであろう。すなわち、データアクセスポリシー及びデバイス認証情報が、数学的に指定され得、ＲＢＡＣアルゴリズムが、｛０，１｝におけるアクセス決定に対するポリシーＰ及び認証情報Ｃをマッピングする関数
【００８９】
【数２９】
0006622795.tif 000037
【００９０】
を計算する。これは、典型的には、双線型ペアリング（例えば、ＷｅｉｌまたはＴａｔｅペアリング）の構築によって達成される。
【図１】
0006622795.tif 000038