(57)【要約】本発明は、シードが与えられた任意数を生成する方法であって、物理トークンに対して前記シードからもたらされる挑戦を与えるステップと、前記物理トークンから初期応答を受け入れるステップと、安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせるステップと、擬似乱数発生器についてのシードとして安定な応答を用いる前記擬似乱数発生器を用いて、前記任意数を生成するステップと、を有する方法を提供する。好適には、それらの擬似ランダム置換の１つ又はそれ以上が、Ｆｅｉｓｔｅｒ型ブロック暗号における１つ又はそれ以上のラウンド関数として用いられる。生成された任意数はまた、暗号鍵を生成するように用いられることが可能である。
2010511186.tif 000002
【特許請求の範囲】
【請求項１】
シードが与えられた任意数を生成する方法であって：
物理トークンに対して前記シードからもたらされる挑戦を与えるステップ；
前記物理トークンから初期応答を受け入れるステップ；
安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせるステップ；
擬似乱数発生器についてのシードとして安定な応答を用いる前記擬似乱数発生器を用いて、前記任意数を生成するステップ；
を有する方法。
【請求項２】
請求項１に記載の方法であって、前記生成された任意数から擬似ランダム置換を構築するステップを更に有する、方法。
【請求項３】
請求項２に記載の方法であって、前記擬似ランダム置換をＦｅｉｓｔｅｌ型ブロック暗号におけるラウンド関数として用いるステップを更に有する、方法。
【請求項４】
請求項２又は３に記載の方法であって、複数の擬似ランダム置換が、前記Ｆｅｉｓｔｅｌ型ブロック暗号における複数のラウンド関数として構築されて、用いられる、方法。
【請求項５】
請求項１に記載の方法であって、暗号鍵を生成するように前記生成された任意数を用いるステップを有する、方法。
【請求項６】
擬似乱数発生器についてのシードとしての物理トークンからの挑戦に対してヘルパーデータを用いて安定化された応答を用いる前記擬似乱数発生器を用いて、任意数を生成する目的で物理トークンを用いる方法。
【請求項７】
擬似乱数発生器についてのシードとしての物理トークンからの挑戦に対してヘルパーデータを用いて安定化された応答を用いる前記擬似乱数発生器を用いて任意数を生成し、該記生成された任意数から暗号鍵を生成することにより、暗号鍵を生成する目的で物理トークンを用いる方法。
【請求項８】
シードが与えられた任意数を生成するシステムであって：
物理トークンに対して前記シードからもたらされる挑戦を与える手段；
前記物理トークンから初期応答を受け入れる手段；
安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせる手段；
擬似乱数発生器についてのシードとして安定な応答を用いる前記擬似乱数発生器を用いて、前記任意数を生成する手段；
を有するシステム。
【請求項９】
Ｆｅｉｓｔｅｌ型ブロック暗号を生成する方法であって：
物理トークンに対して挑戦を与えるステップ；
前記物理トークンから初期応答を受け入れるステップ；
安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせるステップ；
前記安定な応答から擬似ランダム置換を構築するステップ；
前記Ｆｅｉｓｔｅｌ型ブロック暗号におけるラウンド関数として前記擬似ランダム置換を用いるステップ；
を有する方法。
【請求項１０】
請求項９に記載の方法であって、複数の擬似ランダム置換は、前記Ｆｅｉｓｔｅｌ型ブロック暗号におけるラウンド関数として構築されて、用いられる、方法。
【請求項１１】
Ｆｅｉｓｔｅｌ型ブロック暗号を生成するシステムであって：
物理トークンに対して挑戦を与える手段；
前記物理トークンから初期応答を受け入れる手段；
安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせる手段；
前記安定な応答から擬似ランダム置換を構築する手段；
前記Ｆｅｉｓｔｅｌ型ブロック暗号におけるラウンド関数として前記擬似ランダム置換を用いる手段；
を有するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
多くの暗号システムにおいて、任意に選択された複数の数字を用いる必要がある。一条件は暗号鍵の生成である。真に乱数の源が好ましいが、そのような源は、典型的には、一度に限定された数のランダムビットのみを提供する、若しくは、使用するにはかなりコストパフォーマンスが高い又は厄介である。代替として安価に且つ簡便に使用することは、シードと呼ばれる所定の１つの入力を任意の数字のシーケンスに与える擬似乱数発生器を用いることである。そのシーケンスにおける数字は、標準的な統計的検定に対してランダムであるように現れる。同じシードを用いることにより、再び生成される同じシーケンスが得られる。
【背景技術】
【０００２】
シーケンスにおける次の数字又は前の数字を予測することが困難になればなる程、擬似乱数発生器はより安全であるとみなされる。最も強力な種類の擬似乱数発生器は暗号的に安全な擬似乱数発生器と呼ばれるものである。それらの発生器は、シーケンスを予測するのにかなり困難であるハードウェアベースの乱数発生器のような高品質の源からのエントロピーを用いる。しかしながら、それらの種類の発生器は固定されたシードを入力する方法が存在していないためにそれらの出力は再現可能でないという、特定の不利点を有する。
【０００３】
擬似乱数発生器は、典型的には擬似乱数発生器のために用いられるシードよりかなり長い暗号鍵を記憶又は送信しなければならないことを回避するように用いられることが可能である。同じ擬似乱数発生器が同じシードと共に用いられる場合、同じ任意の数字のシーケンスが得られる。
【０００４】
この方法の固有の不利点は、鍵を生成するように用いられるシードが露出される場合、その鍵は、それ故、その鍵を用いて暗号化された全てのメッセージの復元が可能であることである。従って、シードに秘密を維持させることは重要な要求である（勿論、一旦、その鍵が生成されると、シードは消去されるが、それは、鍵を秘密に保つことに対する課題を単に変えたものに過ぎない）。
【０００５】
それ故、シードは秘密を維持する必要はないが、シード及び擬似乱数発生器自体が与えられる場合に、擬似乱数発生器の出力は再現可能でない擬似乱数発生器を用いて、任意の数字を発生させる方法についての要請が存在している。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明は、従って、有利であることに、シードが与えられた任意の数字を生成する方法であって、
物理トークンにシードからもたらされる挑戦を与えるステップ、
物理トークンから初期応答を受け入れるステップ、
安定な応答を生成するように挑戦に関連するヘルパーデータと初期応答を組み合わせるステップ、及び
擬似乱数発生器についてのシードとして安定な応答を用いる擬似乱数発生器を用いて任意の数字を生成するステップ、
により特徴付けられる方法を提供する。
【０００７】
用語‘物理トークン’は、ここでは、物理ランダムアンクロナブル（ｕｎｃｌｏｎａｂｌｅ）機能（ｆｕｎｃｔｉｏｎ）（ＰＵＦ）を実現するトークン又はオブジェクトを意味する。そのような機能は、評価することが容易であるが、特徴付ける、モデル化する又は再現することは困難である。物理トークンはしばしば、多くのランダムに分散した成分を有する複雑な物理的システムである。適切な挑戦が与えられるとき、物理トークンと挑戦との間の相互作用は、例えば、無秩序な媒体における多重散乱波を支配する複雑な物理は、各々の別個の挑戦について、ランダムに見える出力又は応答に繋がる。物理トークンの複雑で小規模な構成は、物理的な複製を生成することを困難にする。
【０００８】
そのトークンから受け入れる応答は、同じ挑戦についての応答において違いをもたらすノイズ及び摂動に影響され易い。そのようにして得られたノイズは、多くの原因、例えば、トークン／検出器のずれ、温度、湿気及び振動等の環境の影響を有する。本発明の目的については、これは必ずしも課題ではなく、意外であればある程、生成される任意数の品質はより良好である。
【０００９】
本発明については、同じトークンに対して与えられる同じ挑戦が同じ安定な応答を生成することは重要である。これは、ノイズを得るための補償を必要とする。この補償を与える一方法は、物理トークンのためのそれぞれの挑戦／応答の対についてそれぞれのヘルパーデータアイテムを生成することである。特定の挑戦が与えられる場合、ヘルパーデータは、評価された応答と組み合わせて、冗長性を与えるヘルパーデータが構築される。この冗長性は、この実施形態においては、特定の挑戦について受け入れた応答と組み合わされ、同じ応答が同じ挑戦について得られることを確実にする。
【００１０】
ヘルパーデータを使用するために、同じ挑戦は同じ応答を与える。トークンに対してシードからもたらされる挑戦を与えることにより、同じシードの使用は、そのトークンから同じ応答を得る。従って、この応答は、擬似乱数発生器を初期化するように用いられる。
【００１１】
シードは、本発明においては秘密を維持する必要はない。トークンの一意の特性は、トークンなしで、特定の挑戦に対する応答を予測する又は演算することは可能でない。このことは、重要な構成要素、即ち、物理トークンが、擬似乱数発生器を初期化する応答にシードを変える必要があるために、擬似乱数発生器の出力は、そのシード及び擬似乱数発生器自体が与えられる場合には再現されることができない。
【００１２】
トークンに基づく乱数発生器については、例えば、インターネットのhttm://www.csg.csail.mit.edu/pibs/memos/Memo-481/Memo-481.pdfにおいて利用可能なＭＩＴ  ＣＳＡＩＬ  ＣＳＧ技術メモ４８１において記載されている。この論文においては、基礎的な物理システムが物理ランダム関数に基づいているハードウェア乱数発生器の実行について記載されている。
【００１３】
しかしながら、これは本発明と同様ではない。乱数シーケンスを発生するトークンを単に用いると、同じ挑戦が同じ応答を与える重要な要素が不足し、特定のシーケンスの再構築が必要である状況で生成された任意数を用いることを可能にする。実際には、この論文は、ハードウェア乱数発生器を用いることにより克服されるように主要なセキュリティの不利点に苦しむＰＲＮＧを与える点で、本発明と異なっている。
【００１４】
同時継続の国際公開第２００６／０６７７３９号パンフレットにおいて、第１ノードと第２ノードとの間で送信されるデータを暗号化する又は認証するための鍵を導き出す方法であって、物理アンクロナブル（ｕｎｃｌｏｎａｂｌｅ）機能の評価から代表値を決定するステップと、暗号鍵を与えるように代表値と乱数とを組み合わせるステップとを有する、方法が記載されている。この文献においては、擬似乱数発生器はおろか、その発生器についてのシードとしてのＰＵＦからの安定な応答を用いて任意数を発生させることについて、記載されていない。
【００１５】
一実施形態においては、本発明の方法は、生成された任意数から擬似ランダム置換を構築するステップを更に有する。そのような置換は、有利であることに、Ｆｅｉｓｔｅｌ型ブロック暗号におけるラウンド関数として採用されることが可能であるが、他のそのような置換の適用がまた、可能である。複数のＦｅｉｓｔｅｌ型ブロック暗号は、複数のラウンド関数を用い、そのことは、対応する数の擬似ランダム置換が構築されるようになっていることを意味する。ＤＥＳブロック暗号は、例えば、１６個のラウンドを用いる。
【００１６】
他の例としては、文献“Ｔｗｏ  Ｐｒａｃｔｉｃａｌ  ａｎｄ  Ｐｒｏｖａｂｌｙ  Ｓｅｃｕｒｅ  Ｂｌｏｃｋ  Ｃｉｐｈｅｒｓ：ＢＥＡＲ  ａｎｄ  ＬＩＯＮ”，ｂｙ  Ｒ．Ａｎｄｅｒｓｏｎ  ａｎｄ  Ｅ．Ｂｉｈａｍ，Ｐｒｏｃｅｅｄｉｇｓ  ｏｆ  Ｔｈｉｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｆａｓｔ  Ｓｏｆｔｗａｒｅ  Ｅｎｃｒｙｐｔｉｏｎ，Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  １０３９，ｐ１１３−１２０（１９９６）に記載されているＬＩＯＮＥＳＳ型ブロック暗号を参照されたい。
【００１７】
文献“Ｈｏｗ  ｔｏ  ｃｏｎｓｔｒｕｃｔ  ｐｓｅｕｄｏｒａｎｄｏｍ  ｐｅｒｍｕｔａｔｉｏｎｓ  ｆｒｏｍ  ｐｓｅｕｄｏｒａｎｄｏｍ  ｆｕｎｃｔｉｏｎｓ”，ｂｙ  Ｍ．Ｌｕｂｙ  ａｎｄ  Ｃ．Ｒａｃｋｏｆｆ，ＳＩＡＭ  Ｊｏｕｒｎａｌ  ｏｎ  Ｃｏｍｐｕｔｉｎｇ  ｖｏｌ．１７，ｎｏ．２，ｐｐ．３７３−３８６（１９９８）に、任意数を擬似ランダム置換に変換することが記載されている。この論文においてはまた、そのような置換がＦｅｉｓｔｅｌ型ブロック暗号におけるラウンド関数としてどのように採用されることが可能であるかについて開示されている。しかしながら、Ｌｕｂｙ及びＲａｃｋｏｆｆは、本発明の請求項１の方法が擬似ランダム置換の構築に対しての入力を生成するように用いられることが可能であることについて、どこにも開示又は示唆していない。
【００１８】
他の実施形態においては、本発明の方法は、ｎ＋ｍビットの入力を受け入れるステップと、挑戦としての入力からｎビットを用い、その入力からの残りのｍビットを物理トークンから受け入れる応答と組み合わせるステップとを更に有する。その組み合わされた処理は、好適には、排他的なＯＲ（ＸＯＲ）処理により行われる。これは、最も一般的なＦｅｉｓｔｅｌ置換の方式である。
【００１９】
他の実施形態においては、本発明の方法は、暗号鍵を生成するように生成された任意数を用いるステップを更に有する。この実施形態は、その暗号鍵が、ここでは、生成された任意数が得られる応答を生成するように挑戦された物理トークンとシードとが与えられることでのみ、再構成されることが可能である。これは、擬似乱数発生器の適用からもたらされる鍵（又はその擬似乱数発生器を初期化するように用いられるシード）が秘密を維持する必要がある従来の解決方法を凌駕する利益を与えることができる。そのトークンは物理オブジェクトであるため、鍵のようなディジタルデータアイテムに比べて、認証されていないアクセスを防御することはかなり容易である。
【００２０】
従って、本発明の他の特徴は、任意数を生成する目的で物理トークンを用いること、及び暗号鍵を生成する目的で物理トークンを用いることである。
【００２１】
本発明は、Ｆｅｉｓｔｅｌ型ブロック暗号を生成する方法であって、
物理トークンに対して挑戦を与えるステップ、
物理トークンから初期応答を受け入れるステップ、
安定な応答を生成するように挑戦と関連するヘルパーデータと初期データを組み合わせるステップ、
安定な応答から擬似ランダム置換を構築するステップ、及び
Ｆｅｉｓｔｅｌ型ブロック暗号におけるラウンド関数として擬似ランダム置換を用いるステップ、
を有する方法を更に提供する。
【００２２】
この方法は、ＰＲＮＧについての必要性を未然に除くが、応答自体は置換を構築するための十分なビットを有する必要がある。
【００２３】
本発明の上記の及び他の特徴については、図に示す例示としての実施形態を参照して明らかになり、理解することができる。
【００２４】
全体の図を通して、同様の参照番号は、同様の又は対応する特徴を表す。図中に示している特徴の一部は、典型的には、ソフトウェアにおいて実行され、従って、ソフトウェアモジュール又はオブジェクト等のソフトウェアエンティティを表す。
【図面の簡単な説明】
【００２５】
【図１】シードが与えられる任意数を生成するシステムの模式図である。
【図２】ＣＰＵＦに基づく擬似ランダム置換の実施形態の模式図である。
【図３】ＣＰＵＦが復号化鍵の基礎として用いられる暗号化データにアクセスするデータ処理システムを示す図である。
【発明を実施するための形態】
【００２６】
図１は、シードが与えられた任意数を発生するシステム１００を模式的に示している。システム１００は、出力として任意数を生成する擬似乱数発生器１０１を有する。擬似乱数発生器は、それ自体、知られているものである。一般的な種類の擬似乱数発生器は、線形適合型発生器、遅延フィボナッチ発生器、線形フィードバックシフトレジスタ及び汎用フィードバックシフトレジスタである。擬似ランダムアルゴリズムの最近の例としては、Ｂｌｕｍ  Ｂｌｕｍ  Ｓｈｕｂ、Ｆｏｒｔｕｎａ及びＭｅｒｓｅｎｎｅツイスターがある。擬似乱数発生器の広範な処理については、例えば、文献Ｈａｎｄｂｏｏｋ  ｏｆ  Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ｂｙ  Ｍｅｎｅｚｅｓ，  Ｖａｎ  Ｏｏｒｓｃｈｏｔ  ａｎｄ  Ｖａｎｓｔｏｎｅ，  ＣＲＣ  Ｐｒｅｓｓ  Ｏｃｔｏｂｅｒ  １９９６，ＩＳＢＮ  ０−８４９３−８５２３−７，ｃｈａｐｔｅｒ５に記載されている。
【００２７】
擬似乱数発生器は、一般に、複数の統計的検定を満足する任意の数字のシーケンスを生成する。そのシーケンスは、それ故、真性ランダムシーケンスに似ているが、それは決定論的処理により生成されるために、実際には、ランダムではない。特定のシーケンスを生成するように、擬似乱数発生器は、図１における入力Ｓとして示されている特定の‘シード’により初期化される。同じシードが擬似乱数発生器に入力される場合、任意数の同じシーケンスが出力される。
【００２８】
生成されるシーケンスは、擬似ランダムシーケンスが有用である、何れかの暗号又は他のアプリケーションについて用いられることが可能である。一アプリケーションは、暗号鍵を生成するように発生された任意数を用いることである。ＤＥＳ又はＡＥＳ等のアルゴリズムについての鍵は、任意に選択された特定のビット数、例えば、ＤＥＳについては５６、ＡＥＳについては１２８、１９２又は２５６を必要とする。それらのビットを発生するように擬似乱数発生器を使用することは、特に、多くの安全な通信チャネルにおいて用いられるセッション鍵のような一時鍵についての一般的な選択である。
【００２９】
他の有利なアプリケーションは、擬似ランダム置換を構築するシーケンスを用いることであり、その場合、その擬似ランダム置換は、ブロック鍵の一部として、例えば、Ｆｅｉｓｔｅｌ型ブロック鍵におけるラウンド関数として用いられることが可能である。
【００３０】
ブロック鍵は、｛０，１｝ｋにおける鍵Ｋによりパラメータ化される置換Ｆ：｛０，１｝ｎ＋ｍ−＞｛０，１｝ｎ＋ｍである。鍵空間の大きさ（ビット数）は、暗号ＦＫのセキュリティの尺度として用いられる。順方向置換ＦＫは暗号化と呼ばれ、逆方向置換ＦＫ−１は復号化と呼ばれる。数学的観点から、総当たり攻撃（即ち、２ｋ個の有効な鍵の全てを試みる）における有利性を有する｛０，１｝ｋにおいて暗号鍵Ｋを決定することが可能であるブラックボックスの攻撃（即ち、｛０，１｝ｎ＋ｍにおける暗号ｘに対する入力及び出力のみに並びに｛０，１｝ｎ＋ｍにおける出力ＦＫ（ｘ）にアクセスする）がない場合、ブロック暗号ＦＫは安全である。ブロック暗号デザインにおけるパラダイムは、全てのセキュリティが鍵Ｋに存在する必要があり、当該のアルゴリズムの一般的な構造において存在しないことを示すＫｅｒｃｋｈｏｆｆの原理である。これは、好適には、正確な置換ＦＫは秘密裏に処理される必要があるが、一般構造は公開情報として作られることが可能である。一般に用いられるブロック暗号は、ＤＥＳ及びＡＥＳブロック暗号を有する。
【００３１】
Ｌｕｂｙ及びＲａｃｋｏｆｆは、上で引用した彼等の論文において、何れかの擬似ランダム関数発生器｛ｆｉ｝から擬似ランダム置換発生器Ｐｉ：｛０，１｝ｎ＋ｍ−＞｛０，１｝ｎ＋ｍについての簡単な構築について説明している。この構築の主な特徴は次のようである、即ち、ランダムに選択された関数ｆｉ及び｛０，１｝ｎにおける列について、攻撃者が｛０，１｝ｍにおける乱数列から｛０，１｝ｍにおけるｆｉ（ｘ）を区別することができない場合、関数｛ｆｉ｝，ｆｉ：｛０，１｝ｎ−＞｛０，１｝ｍは擬似ランダム関数である。｛０，１｝ｎにおけるｘｌ、ｘｒ及び｛０，１｝ｎ＋ｍにおけるｘｌ＆ｘｒをｘｌ及びｘｒの連結を表すようにし、＋は｛０，１｝ｎの２つの要素の限定を表すようにする。置換Ｐｉ、Ｆｅｉｓｔｅｌ置換は次式のように定義される。
Ｐｉ（ｘｌ＆ｘｒ）＝ｘｒ＆［ｆｉ（ｘｒ）＋ｘｌ］                （１）
Ｌｕｂｙ−Ｒａｃｋｏｆｆ暗号は、複数のＦｅｉｓｔｅｌ置換の相互作用にある。下で説明する実施形態においては、４つのＦｅｉｓｔｅｌラウンドネットワークは、次式のように定義して用いられる。
ＦＫ（ｘｌ＆ｘｒ）＝Ｐ４（Ｐ３（Ｐ２（Ｐ１（ｘｌ＆ｘｒ））））    （２）
式（２）においては、鍵の秘密Ｋは４つの擬似ランダム関数ｆ１、ｆ２、ｆ３及びｆ４から成り、鍵空間２ｋはそれらの関数についての有効な選択数から成る。この場合、ＦＫ（ｘｌ＆ｘｒ）は、ｆ１、ｆ２、ｆ３及びｆ４についての同じ区別できない性質を前提として、何れかの敵による｛０，１｝ｎ＋ｍのランダム要素と区別できない。
【００３２】
上記のように、入力として用いられる所定のシードが、任意数の対応するシーケンスを再現するように用いられることが可能である。これは、攻撃者が擬似乱数発生器及びシードＳを認識している場合、彼は、例えば、そのシーケンスから生成される鍵を復元することが可能である。これを回避するように、本発明は、擬似乱数発生器についてのシードとしての物理トークンからの挑戦に安定した応答を与えるように物理トークン１２０の使用を提供する。挑戦に対して安定した応答を提供するそのようなトークン１２０はときどき、制御された物理ランダムアンクロナブル（ｕｎｃｌｏｎａｂｌｅ）機能（ＰＵＦ）と呼ばれる。
【００３３】
物理ランダムアンクロナブル（ｕｎｃｌｏｎａｂｌｅ）機能（ＰＵＦ）は、評価することが容易であるが、特徴付ける、モデル化する又は再現することが困難である物理システムである。ＰＵＦは、決定論的であるが、一見したところランダムな出力を生成するように、それらの入力と複雑な方式で相互作用するように、ある物理ランダム処理により製造されるシステムである。ＰＵＦの例としては、次の文献において開示されている。
1.  R.  Pappu,  B.  Recht,  J.  Taylor,  N.  Gershenfeld,  "Physical  One-Way  Functions",  Science  vol.  297,  pp.  2026,  (2002)
2.  P.  Tuyls,  B.  Skoric,  S.  Stallinga,  A.  H.  Akkermans,  W.  Ophey,  "Information-Theoretic  Security  Analysis  of  Physical  Unclonable  Functions",  Financial  Cryptography  FC'05,  LNCS  3570,  Springer-Verlag  pp.  141  (2005)
3.  B.  Skoric,  P.  Tuyls  W.  Ophey,  "Robust  key  extraction  from  Physical  Unclonable  Functions",  Applied  Cryptography  and  Network  Security  ACNS  2005,  LNCS    3531,  pp.407-422  (2005)
4.  P.  Tuyls,  B.  Skoric,  G.  J.  Schrijen,  R.  Wolters,  J.  van  Geloven,  N.  Verhaegh,H.  Kretschmann,  "Read-proof  hardware  from  protective  coatings",  CHES  2006  to  appear  (2006)
5.  B.  Gassend,  D.  Clarke,  M.  van  Dijk,  S.  Devadas,  "Silicon  Physical  Random  Functions",  9th  ACM  Conf.  on  Computer  and  Communications  Security  (2002)
6.  P.  Tuyls,  B.  Skoric,  "Secret  Key  Generation  from  Classical  Physics",  Book    Chapter,  Hardware  Technology  Drivers  for  Ambient  Intelligence,  Kluwer  (2005)
ＰＵＦに基づいている幾つかの物理システムが現在、知られている。それらの主なタイプは、光学的ＰＵＦ（上記文献１を参照されたい）、コーティングＰＵＦ（上記文献４を参照されたい）、シリコンＰＵＦ（上記文献５を参照されたい）及び音響ＰＵＦ（上記文献６を参照されたい）である。実際には、次の特徴を有する何れかの物理システムが、次の特徴を有する場合に、ＰＵＦとして用いられる。
●  コストパフォーマンスが高く、製造するのが容易であり、ランダム化製造プロセスを含む。
●  特徴付け及びモデル化は現実的でない。
●  入力／出力空間が大きい。
ＰＵＦｐは、ＰＵＦのランダム性及びＰＵＦにおける相互作用の物理的複雑さのために、ｒは、次の事項のように、ｃから復元されることができないように、挑戦ｃからの応答ｒ、即ち、ｒ＝ｐ（ｃ）を生成する。
●  ＰＵＦ自体は、特徴付けることが困難であり、即ち、最良の評価装置を用いてさえ、ＰＵＦの内部構造についての詳細の全ては、十分な正確さ又は見合ったコストでは得られず、それ故、法外に高価になる。
●  ＰＵＦの詳細が何とか得られたとしても、ＰＵＦの入力挙動を有する数学的モデルの構築は、完全には非実際的でないとしても、演算上かなり困難である。
【００３４】
本発明は、全てのタイプのＰＵＦに適用可能であるが、例示として、ここで説明する概念の具体的な例として、光学的ＰＵＦの特定の実施例について考える。光学的ＰＵＦは、ランダムに分布された散乱粒子を有する輸送物質を有する。ランダム性は、ここでは、歪んだ光学媒体（上記文献２を参照されたい）におけるレーザ光の多重散乱からもたらされるスペックルパターンの一意性及び意外性により与えられる。入射光の固定された波長のために、入力は、入射角、焦点距離、マスクパターン、又は波面における何れかの他の再現可能変化である。出力は、その結果として得られるスペックルパターンである。散乱についての正確な詳細の全てが与えられたとしても、特定のスペックルパターンを再現することは極めて困難である。
【００３５】
制御されたＰＵＦ（ＣＰＵＦ）は、その出力が安定化されたＰＵＦである。即ち、ＣＰＵＦに対する所定の挑戦は同じ応答をもたらす。ＰＵＦに対する同様の挑戦を与える通常のＰＵＦの一意性及び意外性のために、（僅かに）異なる結果をもたらすことが可能である。このことは、一般に、暗号の観点から“ランダム性”を改善するように、ヘルパーデータ及び／又はエラー補正の適用と、ＰＵＦ応答データの潜在能力が高く幾らか簡単な後処理とを有する。
【００３６】
再現可能ＰＵＦ応答を生成するように、応答の完全性を確実にする２つの一般的方法が存在する。
【００３７】
第１の方法においては、ＰＵＦは、最初に、複数の初期応答が、対応する挑戦について生成されるエンロールフェーズを経る。各々の初期応答について、所定の挑戦についての応答における変動を補償するヘルパーデータが生成される。このヘルパーデータは、その場合、安定な応答を確実にするようにＰＵＦ応答に関するエラー補正としての役割を果たす。
【００３８】
第２方法においては、ＰＵＦの物理特性についての十分なデータが存在する場合、ＰＵＦは、進行中に、それ自体のヘルパーデータを生成することができる。このヘルパーデータは、ＰＵＦの物理についてのある知識及び蓄積を有する。
【００３９】
ＰＵＦ応答を安定化するようにヘルパーデータの構築及びＰＵＦの更なる情報については、読者は上記の文献を参照することができる。
【００４０】
ＣＰＵＦ１２０は、次のように本発明で用いることができる。特定の挑戦Ｃが、ＣＰＵＦ１２０に対して与えられる。発生器１２１は、物理的オブジェクト１２２からの応答を誘うように、挑戦を適切な信号（例えば、光ビーム）に変換する。この初期応答は、受信器１２３により評価される。受信器１２３はまた、ヘルパーデータＷを得、その初期応答から安定な応答を生成するようにそのオブジェクト１２２からの初期応答を組み合わせる。その安定な応答は、次いで、シードＳとして出力される。
【００４１】
制御されたＰＵＦに基づく擬似ランダム置換の実施形態については、図２に模式的に示している。ｍ＋ｎビットの長さであることを前提とする入力は、先ず、左側のｍビットと右側のｎビットに分割される。右側のｎビットは、ＣＰＵＦ１２０についての挑戦に対して変換される。ＣＰＵＦ１２０は、別個に得られたヘルパーデータｗを用いて、安定な応答を与える。その応答は、出力をこの実施形態においてはｍビットの長さを生成するように、ＰＲＮＧ１０１に対するシードとして与えられる。
【００４２】
その出力は、その場合、入力の左手側におけるオリジナルのｍビットと組み合わされる。その組み合わせは、好適には、ＸＯＲ操作を用いて行われる。それらの右手側及び左手側は、その場合、置換の出力を生成するように交換される。
【００４３】
Ｆｅｉｓｔｅｌ型暗号を生成するように、複数の、好適には、少なくとも４つのそれらの擬似ランダム置換が、その場合、交互に実行される。
【００４４】
システム１００は、任意のシーケンスを生成するのに必要なパーソナルコンピュータ、携帯電話又はセットトップボックス等の装置として実施されることが可能である。そのような装置において、ＣＰＵＦ１２０又はオブジェクト１２２は、好適には、取り外し可能な構成要素として実現される。このことは、オブジェクトのセキュリティを改善し、オブジェクト１２２なしで、挑戦Ｃ及びヘルパーデータＷが知られているときでさえ、特定のシーケンスを再現することを不可能にする。
【００４５】
本発明の代替の実施形態においては、擬似ランダム置換は、ＣＰＵＦ１２０からの安定な応答により直接、構築される。このことは、ＰＲＮＧ１０１の必要性を未然に防ぐが、その応答自体が、置換を構築するのに十分なビットを有することを必要とする。ＣＰＵＦ１２０は、置換を構築するのに十分なビット数を与えるように、複数回挑戦されることが可能である。擬似ランダム置換は、その場合、上記のような、Ｆｅｉｓｔｅｌ型ブロック暗号における１つ又はそれ以上のラウンド関数として用いられることが可能である。
【００４６】
図３は、電子データにアクセスするパーソナルコンピュータ、携帯電話又はセットトップボックス等のデータ処理システム３００を模式的に示している。その電子データは、内部記憶媒体３０１、例えば、ハードディスク又は固体メモリに記憶される、外部記憶媒体３０２、例えば、ＤＶＤディスクに供給される、又は受信器３０３を用いる外部ソースから、例えば、携帯ネットワークにおける又はインターネットによるダウンロードを介して受信されることが可能である。
【００４７】
データが暗号化されるとき、復号化モジュール３０４が、データを復号化するために必要である。そのデータは、次いで、処理モジュール３０５により処理される。そのデータは、何れの種類のデータであることが可能であり、それ故、処理の種類はデータの種類に依存する。例えば、そのデータは、ディスプレイのスクリーン３１０において及び／又はスピーカ３１１を介してレンダリングされるオーディオビジュアルデータであることが可能である。
【００４８】
復号化鍵がシステム３００に記憶され、システム３００に送信される必要があるシステムとは対照的に、システム３００は、システム１００を有する鍵生成モジュール３１０を有する。このモジュール３１０は、データを復号化する必要がある鍵を生成する。
【００４９】
モジュール３１０は、ＣＰＵＦ１２０を挿入するスロット３１１を備えている。動作中、復号化モジュール３０５は、復号化鍵が必要とされるモジュール３１０に信号を送り、どの挑戦及びどのヘルパーデータが用いられるようになっているかを示す。ユーザは、その場合、スロット３１１にＣＰＵＦ１２０を挿入する。ＣＰＵＦ１２０は、与えられた挑戦データを用いて挑戦され、初期出力は、与えられたヘルパーデータを用いて安定化され、そして安定な出力が、復号化鍵としての役割を果たすように復号化モジュールに戻されるようになっている数字の任意のシーケンスを生成するようにＰＲＮＧ１０１に供給される。ＣＰＵＦ１２０なしでは、モジュール３１０は、データを復号化するのに必要な鍵を再現することはできない。
【００５０】
挑戦データ及びヘルパーデータはまた、システム３００に記憶されることが可能であり、システムに入るときに、データを備えられることが可能であり、又は別個にダウンロードされる又は得ることが可能である。挑戦データ及び適用可能なヘルパーデータは、平文でその電子データに関連付けて記憶されることが可能である。例えば、記憶媒体３０２は、挑戦データ及びヘルパーデータを別個のフィールド又は場所に備えることが可能である。このデータはまた、電子データに関連付けられる利用規則を示すディジタルライセンス又は権利オブジェクトにおいて与えられることが可能である。ディジタルライセンス及び権利オブジェクトは、ディジタル権利管理及び条件付きアクセスの分野で用いられることが可能である。
【００５１】
従って、有利であることに、オブジェクト１２２は、ここでは、電子データを復号化する物理鍵として用いられることができる。誰がオブジェクト１２２を所有していようと、権利挑戦データ及びヘルパーデータは、暗号鍵の根底にある任意数のシーケンスを生成するように適切なシードにより、適切な挑戦データ及びヘルパーデータがＰＲＮＧ１０１を初期化することができることを認識している。しかし、オブジェクトなしでは、適切なシードは、それ故、適切なシーケンスは得られない。このことは、電子的形式で鍵又は鍵関連データを記憶する必要性を除き、そのことは、そのような鍵を用いる装置のセキュリティの必要性を除くことに留意されたい。
【００５２】
上記の実施形態は、例示であって、本発明を限定するのではなく、当業者は、同時提出の特許請求の範囲から逸脱することなく、多くの代替の実施形態をデザインすることができることに留意する必要がある。例えば、ＣＰＵＦの特定のクラスが、同じ入力が与えられる同様の安定な応答を２つ又はそれ以上のＣＰＵＦが生成するような方式で、構築されることが可能である。このＣＰＵＦのクラスが用いられるとき、２つ又はそれ以上のＣＰＵ全てが鍵としての役割を果たす。任意の数字のシーケンスが、鍵として直接、用いられる、又は、更なる処理が、そのシーケンスを鍵に変換するように適用されることが可能である。
【００５３】
用語“を有する”は、請求項に列挙されている要素又はステップ以外の要素又はステップの存在を排除するものではない。要素の単数表現は、そのような要素の複数の存在を排除するものではない。本発明は、複数の別個の要素を有するハードウェアにより、そして適切にプログラムされたコンピュータにより実施されることが可能である。
【００５４】
複数の手段を列挙している装置請求項においては、それらの手段の幾つかは、同一のハードウェアにより具現化されることが可能である。特定の手段が互いに異なる独立請求項に記載されていることにみによって、それらの手段の組み合わせが有利に用いられることがないことを意味するものではない。
【図１】
2010511186.tif 000003
【図２】
2010511186.tif 000004
【図３】
2010511186.tif 000005
【手続補正書】
【提出日】平成21年5月29日(2009.5.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シードが与えられたＦｅｉｓｔｅｌ型ブロック暗号を生成する方法であって：
物理トークンに対して前記シードからもたらされる挑戦を与えるステップ；
前記物理トークンから初期応答を受け入れるステップ；
安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせるステップ；
擬似ランダム置換を前記安定な応答から構築するステップ；及び
前記Ｆｅｉｓｔｅｌ型ブロック暗号におけるラウンド関数として前記擬似ランダム置換を用いるステップ；
を有する方法。
【請求項２】
請求項１に記載の方法であって、複数の擬似ランダム置換が、前記Ｆｅｉｓｔｅｌ型ブロック暗号におけるそれぞれのラウンド関数として構築されて、用いられる、方法。
【請求項３】
請求項１に記載の方法であって、擬似ランダム置換は、擬似乱数発生器についてのシードとして前記安定な応答を用いる前記擬似乱数発生器を用いて、及び前記擬似ランダム置換を構築するように前記任意数を用いて、複数の任意数を生成することにより構築される、方法。
【請求項４】
シードが与えられたＦｅｉｓｔｅｌ型ブロック暗号を生成するシステムであって：
物理トークンに対して前記シードからもたらされる挑戦を与える手段；
前記物理トークンから初期応答を受け入れる手段；
安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせる手段；
擬似ランダム置換を前記安定な応答から構築する手段；及び
前記Ｆｅｉｓｔｅｌ型ブロック暗号におけるラウンド関数として前記擬似ランダム置換を用いる手段；
を有するシステム。
【国際調査報告】
2010511186.tif 000006
2010511186.tif 000007
2010511186.tif 000008