JP2010511186A - シードが与えられる任意数を生成する方法 - Google Patents

シードが与えられる任意数を生成する方法 Download PDF

Info

Publication number
JP2010511186A
JP2010511186A JP2009537751A JP2009537751A JP2010511186A JP 2010511186 A JP2010511186 A JP 2010511186A JP 2009537751 A JP2009537751 A JP 2009537751A JP 2009537751 A JP2009537751 A JP 2009537751A JP 2010511186 A JP2010511186 A JP 2010511186A
Authority
JP
Japan
Prior art keywords
pseudo
response
challenge
seed
random
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009537751A
Other languages
English (en)
Other versions
JP5291628B2 (ja
Inventor
ケリンス,ティモシィ
クルサヴェ,クラウス
トゥイルス,ピム,テー.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2010511186A publication Critical patent/JP2010511186A/ja
Application granted granted Critical
Publication of JP5291628B2 publication Critical patent/JP5291628B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)
  • Saccharide Compounds (AREA)
  • Peptides Or Proteins (AREA)

Abstract

本発明は、シードが与えられた任意数を生成する方法であって、物理トークンに対して前記シードからもたらされる挑戦を与えるステップと、前記物理トークンから初期応答を受け入れるステップと、安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせるステップと、擬似乱数発生器についてのシードとして安定な応答を用いる前記擬似乱数発生器を用いて、前記任意数を生成するステップと、を有する方法を提供する。好適には、それらの擬似ランダム置換の1つ又はそれ以上が、Feister型ブロック暗号における1つ又はそれ以上のラウンド関数として用いられる。生成された任意数はまた、暗号鍵を生成するように用いられることが可能である。

Description

多くの暗号システムにおいて、任意に選択された複数の数字を用いる必要がある。一条件は暗号鍵の生成である。真に乱数の源が好ましいが、そのような源は、典型的には、一度に限定された数のランダムビットのみを提供する、若しくは、使用するにはかなりコストパフォーマンスが高い又は厄介である。代替として安価に且つ簡便に使用することは、シードと呼ばれる所定の1つの入力を任意の数字のシーケンスに与える擬似乱数発生器を用いることである。そのシーケンスにおける数字は、標準的な統計的検定に対してランダムであるように現れる。同じシードを用いることにより、再び生成される同じシーケンスが得られる。
シーケンスにおける次の数字又は前の数字を予測することが困難になればなる程、擬似乱数発生器はより安全であるとみなされる。最も強力な種類の擬似乱数発生器は暗号的に安全な擬似乱数発生器と呼ばれるものである。それらの発生器は、シーケンスを予測するのにかなり困難であるハードウェアベースの乱数発生器のような高品質の源からのエントロピーを用いる。しかしながら、それらの種類の発生器は固定されたシードを入力する方法が存在していないためにそれらの出力は再現可能でないという、特定の不利点を有する。
擬似乱数発生器は、典型的には擬似乱数発生器のために用いられるシードよりかなり長い暗号鍵を記憶又は送信しなければならないことを回避するように用いられることが可能である。同じ擬似乱数発生器が同じシードと共に用いられる場合、同じ任意の数字のシーケンスが得られる。
この方法の固有の不利点は、鍵を生成するように用いられるシードが露出される場合、その鍵は、それ故、その鍵を用いて暗号化された全てのメッセージの復元が可能であることである。従って、シードに秘密を維持させることは重要な要求である(勿論、一旦、その鍵が生成されると、シードは消去されるが、それは、鍵を秘密に保つことに対する課題を単に変えたものに過ぎない)。
それ故、シードは秘密を維持する必要はないが、シード及び擬似乱数発生器自体が与えられる場合に、擬似乱数発生器の出力は再現可能でない擬似乱数発生器を用いて、任意の数字を発生させる方法についての要請が存在している。
本発明は、従って、有利であることに、シードが与えられた任意の数字を生成する方法であって、
物理トークンにシードからもたらされる挑戦を与えるステップ、
物理トークンから初期応答を受け入れるステップ、
安定な応答を生成するように挑戦に関連するヘルパーデータと初期応答を組み合わせるステップ、及び
擬似乱数発生器についてのシードとして安定な応答を用いる擬似乱数発生器を用いて任意の数字を生成するステップ、
により特徴付けられる方法を提供する。
用語‘物理トークン’は、ここでは、物理ランダムアンクロナブル(unclonable)機能(function)(PUF)を実現するトークン又はオブジェクトを意味する。そのような機能は、評価することが容易であるが、特徴付ける、モデル化する又は再現することは困難である。物理トークンはしばしば、多くのランダムに分散した成分を有する複雑な物理的システムである。適切な挑戦が与えられるとき、物理トークンと挑戦との間の相互作用は、例えば、無秩序な媒体における多重散乱波を支配する複雑な物理は、各々の別個の挑戦について、ランダムに見える出力又は応答に繋がる。物理トークンの複雑で小規模な構成は、物理的な複製を生成することを困難にする。
そのトークンから受け入れる応答は、同じ挑戦についての応答において違いをもたらすノイズ及び摂動に影響され易い。そのようにして得られたノイズは、多くの原因、例えば、トークン/検出器のずれ、温度、湿気及び振動等の環境の影響を有する。本発明の目的については、これは必ずしも課題ではなく、意外であればある程、生成される任意数の品質はより良好である。
本発明については、同じトークンに対して与えられる同じ挑戦が同じ安定な応答を生成することは重要である。これは、ノイズを得るための補償を必要とする。この補償を与える一方法は、物理トークンのためのそれぞれの挑戦/応答の対についてそれぞれのヘルパーデータアイテムを生成することである。特定の挑戦が与えられる場合、ヘルパーデータは、評価された応答と組み合わせて、冗長性を与えるヘルパーデータが構築される。この冗長性は、この実施形態においては、特定の挑戦について受け入れた応答と組み合わされ、同じ応答が同じ挑戦について得られることを確実にする。
ヘルパーデータを使用するために、同じ挑戦は同じ応答を与える。トークンに対してシードからもたらされる挑戦を与えることにより、同じシードの使用は、そのトークンから同じ応答を得る。従って、この応答は、擬似乱数発生器を初期化するように用いられる。
シードは、本発明においては秘密を維持する必要はない。トークンの一意の特性は、トークンなしで、特定の挑戦に対する応答を予測する又は演算することは可能でない。このことは、重要な構成要素、即ち、物理トークンが、擬似乱数発生器を初期化する応答にシードを変える必要があるために、擬似乱数発生器の出力は、そのシード及び擬似乱数発生器自体が与えられる場合には再現されることができない。
トークンに基づく乱数発生器については、例えば、インターネットのhttm://www.csg.csail.mit.edu/pibs/memos/Memo-481/Memo-481.pdfにおいて利用可能なMIT CSAIL CSG技術メモ481において記載されている。この論文においては、基礎的な物理システムが物理ランダム関数に基づいているハードウェア乱数発生器の実行について記載されている。
しかしながら、これは本発明と同様ではない。乱数シーケンスを発生するトークンを単に用いると、同じ挑戦が同じ応答を与える重要な要素が不足し、特定のシーケンスの再構築が必要である状況で生成された任意数を用いることを可能にする。実際には、この論文は、ハードウェア乱数発生器を用いることにより克服されるように主要なセキュリティの不利点に苦しむPRNGを与える点で、本発明と異なっている。
同時継続の国際公開第2006/067739号パンフレットにおいて、第1ノードと第2ノードとの間で送信されるデータを暗号化する又は認証するための鍵を導き出す方法であって、物理アンクロナブル(unclonable)機能の評価から代表値を決定するステップと、暗号鍵を与えるように代表値と乱数とを組み合わせるステップとを有する、方法が記載されている。この文献においては、擬似乱数発生器はおろか、その発生器についてのシードとしてのPUFからの安定な応答を用いて任意数を発生させることについて、記載されていない。
一実施形態においては、本発明の方法は、生成された任意数から擬似ランダム置換を構築するステップを更に有する。そのような置換は、有利であることに、Feistel型ブロック暗号におけるラウンド関数として採用されることが可能であるが、他のそのような置換の適用がまた、可能である。複数のFeistel型ブロック暗号は、複数のラウンド関数を用い、そのことは、対応する数の擬似ランダム置換が構築されるようになっていることを意味する。DESブロック暗号は、例えば、16個のラウンドを用いる。
他の例としては、文献“Two Practical and Provably Secure Block Ciphers:BEAR and LION”,by R.Anderson and E.Biham,Proceedigs of Third International Workshop on Fast Software Encryption,Lecture Notes in Computer Science 1039,p113−120(1996)に記載されているLIONESS型ブロック暗号を参照されたい。
文献“How to construct pseudorandom permutations from pseudorandom functions”,by M.Luby and C.Rackoff,SIAM Journal on Computing vol.17,no.2,pp.373−386(1998)に、任意数を擬似ランダム置換に変換することが記載されている。この論文においてはまた、そのような置換がFeistel型ブロック暗号におけるラウンド関数としてどのように採用されることが可能であるかについて開示されている。しかしながら、Luby及びRackoffは、本発明の請求項1の方法が擬似ランダム置換の構築に対しての入力を生成するように用いられることが可能であることについて、どこにも開示又は示唆していない。
他の実施形態においては、本発明の方法は、n+mビットの入力を受け入れるステップと、挑戦としての入力からnビットを用い、その入力からの残りのmビットを物理トークンから受け入れる応答と組み合わせるステップとを更に有する。その組み合わされた処理は、好適には、排他的なOR(XOR)処理により行われる。これは、最も一般的なFeistel置換の方式である。
他の実施形態においては、本発明の方法は、暗号鍵を生成するように生成された任意数を用いるステップを更に有する。この実施形態は、その暗号鍵が、ここでは、生成された任意数が得られる応答を生成するように挑戦された物理トークンとシードとが与えられることでのみ、再構成されることが可能である。これは、擬似乱数発生器の適用からもたらされる鍵(又はその擬似乱数発生器を初期化するように用いられるシード)が秘密を維持する必要がある従来の解決方法を凌駕する利益を与えることができる。そのトークンは物理オブジェクトであるため、鍵のようなディジタルデータアイテムに比べて、認証されていないアクセスを防御することはかなり容易である。
従って、本発明の他の特徴は、任意数を生成する目的で物理トークンを用いること、及び暗号鍵を生成する目的で物理トークンを用いることである。
本発明は、Feistel型ブロック暗号を生成する方法であって、
物理トークンに対して挑戦を与えるステップ、
物理トークンから初期応答を受け入れるステップ、
安定な応答を生成するように挑戦と関連するヘルパーデータと初期データを組み合わせるステップ、
安定な応答から擬似ランダム置換を構築するステップ、及び
Feistel型ブロック暗号におけるラウンド関数として擬似ランダム置換を用いるステップ、
を有する方法を更に提供する。
この方法は、PRNGについての必要性を未然に除くが、応答自体は置換を構築するための十分なビットを有する必要がある。
本発明の上記の及び他の特徴については、図に示す例示としての実施形態を参照して明らかになり、理解することができる。
全体の図を通して、同様の参照番号は、同様の又は対応する特徴を表す。図中に示している特徴の一部は、典型的には、ソフトウェアにおいて実行され、従って、ソフトウェアモジュール又はオブジェクト等のソフトウェアエンティティを表す。
シードが与えられる任意数を生成するシステムの模式図である。 CPUFに基づく擬似ランダム置換の実施形態の模式図である。 CPUFが復号化鍵の基礎として用いられる暗号化データにアクセスするデータ処理システムを示す図である。
図1は、シードが与えられた任意数を発生するシステム100を模式的に示している。システム100は、出力として任意数を生成する擬似乱数発生器101を有する。擬似乱数発生器は、それ自体、知られているものである。一般的な種類の擬似乱数発生器は、線形適合型発生器、遅延フィボナッチ発生器、線形フィードバックシフトレジスタ及び汎用フィードバックシフトレジスタである。擬似ランダムアルゴリズムの最近の例としては、Blum Blum Shub、Fortuna及びMersenneツイスターがある。擬似乱数発生器の広範な処理については、例えば、文献Handbook of Applied Cryptography by Menezes, Van Oorschot and Vanstone, CRC Press October 1996,ISBN 0−8493−8523−7,chapter5に記載されている。
擬似乱数発生器は、一般に、複数の統計的検定を満足する任意の数字のシーケンスを生成する。そのシーケンスは、それ故、真性ランダムシーケンスに似ているが、それは決定論的処理により生成されるために、実際には、ランダムではない。特定のシーケンスを生成するように、擬似乱数発生器は、図1における入力Sとして示されている特定の‘シード’により初期化される。同じシードが擬似乱数発生器に入力される場合、任意数の同じシーケンスが出力される。
生成されるシーケンスは、擬似ランダムシーケンスが有用である、何れかの暗号又は他のアプリケーションについて用いられることが可能である。一アプリケーションは、暗号鍵を生成するように発生された任意数を用いることである。DES又はAES等のアルゴリズムについての鍵は、任意に選択された特定のビット数、例えば、DESについては56、AESについては128、192又は256を必要とする。それらのビットを発生するように擬似乱数発生器を使用することは、特に、多くの安全な通信チャネルにおいて用いられるセッション鍵のような一時鍵についての一般的な選択である。
他の有利なアプリケーションは、擬似ランダム置換を構築するシーケンスを用いることであり、その場合、その擬似ランダム置換は、ブロック鍵の一部として、例えば、Feistel型ブロック鍵におけるラウンド関数として用いられることが可能である。
ブロック鍵は、{0,1}における鍵Kによりパラメータ化される置換F:{0,1}n+m−>{0,1}n+mである。鍵空間の大きさ(ビット数)は、暗号Fのセキュリティの尺度として用いられる。順方向置換Fは暗号化と呼ばれ、逆方向置換F −1は復号化と呼ばれる。数学的観点から、総当たり攻撃(即ち、2個の有効な鍵の全てを試みる)における有利性を有する{0,1}において暗号鍵Kを決定することが可能であるブラックボックスの攻撃(即ち、{0,1}n+mにおける暗号xに対する入力及び出力のみに並びに{0,1}n+mにおける出力F(x)にアクセスする)がない場合、ブロック暗号Fは安全である。ブロック暗号デザインにおけるパラダイムは、全てのセキュリティが鍵Kに存在する必要があり、当該のアルゴリズムの一般的な構造において存在しないことを示すKerckhoffの原理である。これは、好適には、正確な置換Fは秘密裏に処理される必要があるが、一般構造は公開情報として作られることが可能である。一般に用いられるブロック暗号は、DES及びAESブロック暗号を有する。
Luby及びRackoffは、上で引用した彼等の論文において、何れかの擬似ランダム関数発生器{f}から擬似ランダム置換発生器P:{0,1}n+m−>{0,1}n+mについての簡単な構築について説明している。この構築の主な特徴は次のようである、即ち、ランダムに選択された関数f及び{0,1}における列について、攻撃者が{0,1}における乱数列から{0,1}におけるf(x)を区別することができない場合、関数{f},f:{0,1}−>{0,1}は擬似ランダム関数である。{0,1}におけるx、x及び{0,1}n+mにおけるx&xをx及びxの連結を表すようにし、+は{0,1}の2つの要素の限定を表すようにする。置換P、Feistel置換は次式のように定義される。
(x&x)=x&[f(x)+x] (1)
Luby−Rackoff暗号は、複数のFeistel置換の相互作用にある。下で説明する実施形態においては、4つのFeistelラウンドネットワークは、次式のように定義して用いられる。
(x&x)=P(P(P(P(x&x)))) (2)
式(2)においては、鍵の秘密Kは4つの擬似ランダム関数f、f、f及びfから成り、鍵空間2はそれらの関数についての有効な選択数から成る。この場合、F(x&x)は、f、f、f及びfについての同じ区別できない性質を前提として、何れかの敵による{0,1}n+mのランダム要素と区別できない。
上記のように、入力として用いられる所定のシードが、任意数の対応するシーケンスを再現するように用いられることが可能である。これは、攻撃者が擬似乱数発生器及びシードSを認識している場合、彼は、例えば、そのシーケンスから生成される鍵を復元することが可能である。これを回避するように、本発明は、擬似乱数発生器についてのシードとしての物理トークンからの挑戦に安定した応答を与えるように物理トークン120の使用を提供する。挑戦に対して安定した応答を提供するそのようなトークン120はときどき、制御された物理ランダムアンクロナブル(unclonable)機能(PUF)と呼ばれる。
物理ランダムアンクロナブル(unclonable)機能(PUF)は、評価することが容易であるが、特徴付ける、モデル化する又は再現することが困難である物理システムである。PUFは、決定論的であるが、一見したところランダムな出力を生成するように、それらの入力と複雑な方式で相互作用するように、ある物理ランダム処理により製造されるシステムである。PUFの例としては、次の文献において開示されている。
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)
PUFに基づいている幾つかの物理システムが現在、知られている。それらの主なタイプは、光学的PUF(上記文献1を参照されたい)、コーティングPUF(上記文献4を参照されたい)、シリコンPUF(上記文献5を参照されたい)及び音響PUF(上記文献6を参照されたい)である。実際には、次の特徴を有する何れかの物理システムが、次の特徴を有する場合に、PUFとして用いられる。
● コストパフォーマンスが高く、製造するのが容易であり、ランダム化製造プロセスを含む。
● 特徴付け及びモデル化は現実的でない。
● 入力/出力空間が大きい。
PUFpは、PUFのランダム性及びPUFにおける相互作用の物理的複雑さのために、rは、次の事項のように、cから復元されることができないように、挑戦cからの応答r、即ち、r=p(c)を生成する。
● PUF自体は、特徴付けることが困難であり、即ち、最良の評価装置を用いてさえ、PUFの内部構造についての詳細の全ては、十分な正確さ又は見合ったコストでは得られず、それ故、法外に高価になる。
● PUFの詳細が何とか得られたとしても、PUFの入力挙動を有する数学的モデルの構築は、完全には非実際的でないとしても、演算上かなり困難である。
本発明は、全てのタイプのPUFに適用可能であるが、例示として、ここで説明する概念の具体的な例として、光学的PUFの特定の実施例について考える。光学的PUFは、ランダムに分布された散乱粒子を有する輸送物質を有する。ランダム性は、ここでは、歪んだ光学媒体(上記文献2を参照されたい)におけるレーザ光の多重散乱からもたらされるスペックルパターンの一意性及び意外性により与えられる。入射光の固定された波長のために、入力は、入射角、焦点距離、マスクパターン、又は波面における何れかの他の再現可能変化である。出力は、その結果として得られるスペックルパターンである。散乱についての正確な詳細の全てが与えられたとしても、特定のスペックルパターンを再現することは極めて困難である。
制御されたPUF(CPUF)は、その出力が安定化されたPUFである。即ち、CPUFに対する所定の挑戦は同じ応答をもたらす。PUFに対する同様の挑戦を与える通常のPUFの一意性及び意外性のために、(僅かに)異なる結果をもたらすことが可能である。このことは、一般に、暗号の観点から“ランダム性”を改善するように、ヘルパーデータ及び/又はエラー補正の適用と、PUF応答データの潜在能力が高く幾らか簡単な後処理とを有する。
再現可能PUF応答を生成するように、応答の完全性を確実にする2つの一般的方法が存在する。
第1の方法においては、PUFは、最初に、複数の初期応答が、対応する挑戦について生成されるエンロールフェーズを経る。各々の初期応答について、所定の挑戦についての応答における変動を補償するヘルパーデータが生成される。このヘルパーデータは、その場合、安定な応答を確実にするようにPUF応答に関するエラー補正としての役割を果たす。
第2方法においては、PUFの物理特性についての十分なデータが存在する場合、PUFは、進行中に、それ自体のヘルパーデータを生成することができる。このヘルパーデータは、PUFの物理についてのある知識及び蓄積を有する。
PUF応答を安定化するようにヘルパーデータの構築及びPUFの更なる情報については、読者は上記の文献を参照することができる。
CPUF120は、次のように本発明で用いることができる。特定の挑戦Cが、CPUF120に対して与えられる。発生器121は、物理的オブジェクト122からの応答を誘うように、挑戦を適切な信号(例えば、光ビーム)に変換する。この初期応答は、受信器123により評価される。受信器123はまた、ヘルパーデータWを得、その初期応答から安定な応答を生成するようにそのオブジェクト122からの初期応答を組み合わせる。その安定な応答は、次いで、シードSとして出力される。
制御されたPUFに基づく擬似ランダム置換の実施形態については、図2に模式的に示している。m+nビットの長さであることを前提とする入力は、先ず、左側のmビットと右側のnビットに分割される。右側のnビットは、CPUF120についての挑戦に対して変換される。CPUF120は、別個に得られたヘルパーデータwを用いて、安定な応答を与える。その応答は、出力をこの実施形態においてはmビットの長さを生成するように、PRNG101に対するシードとして与えられる。
その出力は、その場合、入力の左手側におけるオリジナルのmビットと組み合わされる。その組み合わせは、好適には、XOR操作を用いて行われる。それらの右手側及び左手側は、その場合、置換の出力を生成するように交換される。
Feistel型暗号を生成するように、複数の、好適には、少なくとも4つのそれらの擬似ランダム置換が、その場合、交互に実行される。
システム100は、任意のシーケンスを生成するのに必要なパーソナルコンピュータ、携帯電話又はセットトップボックス等の装置として実施されることが可能である。そのような装置において、CPUF120又はオブジェクト122は、好適には、取り外し可能な構成要素として実現される。このことは、オブジェクトのセキュリティを改善し、オブジェクト122なしで、挑戦C及びヘルパーデータWが知られているときでさえ、特定のシーケンスを再現することを不可能にする。
本発明の代替の実施形態においては、擬似ランダム置換は、CPUF120からの安定な応答により直接、構築される。このことは、PRNG101の必要性を未然に防ぐが、その応答自体が、置換を構築するのに十分なビットを有することを必要とする。CPUF120は、置換を構築するのに十分なビット数を与えるように、複数回挑戦されることが可能である。擬似ランダム置換は、その場合、上記のような、Feistel型ブロック暗号における1つ又はそれ以上のラウンド関数として用いられることが可能である。
図3は、電子データにアクセスするパーソナルコンピュータ、携帯電話又はセットトップボックス等のデータ処理システム300を模式的に示している。その電子データは、内部記憶媒体301、例えば、ハードディスク又は固体メモリに記憶される、外部記憶媒体302、例えば、DVDディスクに供給される、又は受信器303を用いる外部ソースから、例えば、携帯ネットワークにおける又はインターネットによるダウンロードを介して受信されることが可能である。
データが暗号化されるとき、復号化モジュール304が、データを復号化するために必要である。そのデータは、次いで、処理モジュール305により処理される。そのデータは、何れの種類のデータであることが可能であり、それ故、処理の種類はデータの種類に依存する。例えば、そのデータは、ディスプレイのスクリーン310において及び/又はスピーカ311を介してレンダリングされるオーディオビジュアルデータであることが可能である。
復号化鍵がシステム300に記憶され、システム300に送信される必要があるシステムとは対照的に、システム300は、システム100を有する鍵生成モジュール310を有する。このモジュール310は、データを復号化する必要がある鍵を生成する。
モジュール310は、CPUF120を挿入するスロット311を備えている。動作中、復号化モジュール305は、復号化鍵が必要とされるモジュール310に信号を送り、どの挑戦及びどのヘルパーデータが用いられるようになっているかを示す。ユーザは、その場合、スロット311にCPUF120を挿入する。CPUF120は、与えられた挑戦データを用いて挑戦され、初期出力は、与えられたヘルパーデータを用いて安定化され、そして安定な出力が、復号化鍵としての役割を果たすように復号化モジュールに戻されるようになっている数字の任意のシーケンスを生成するようにPRNG101に供給される。CPUF120なしでは、モジュール310は、データを復号化するのに必要な鍵を再現することはできない。
挑戦データ及びヘルパーデータはまた、システム300に記憶されることが可能であり、システムに入るときに、データを備えられることが可能であり、又は別個にダウンロードされる又は得ることが可能である。挑戦データ及び適用可能なヘルパーデータは、平文でその電子データに関連付けて記憶されることが可能である。例えば、記憶媒体302は、挑戦データ及びヘルパーデータを別個のフィールド又は場所に備えることが可能である。このデータはまた、電子データに関連付けられる利用規則を示すディジタルライセンス又は権利オブジェクトにおいて与えられることが可能である。ディジタルライセンス及び権利オブジェクトは、ディジタル権利管理及び条件付きアクセスの分野で用いられることが可能である。
従って、有利であることに、オブジェクト122は、ここでは、電子データを復号化する物理鍵として用いられることができる。誰がオブジェクト122を所有していようと、権利挑戦データ及びヘルパーデータは、暗号鍵の根底にある任意数のシーケンスを生成するように適切なシードにより、適切な挑戦データ及びヘルパーデータがPRNG101を初期化することができることを認識している。しかし、オブジェクトなしでは、適切なシードは、それ故、適切なシーケンスは得られない。このことは、電子的形式で鍵又は鍵関連データを記憶する必要性を除き、そのことは、そのような鍵を用いる装置のセキュリティの必要性を除くことに留意されたい。
上記の実施形態は、例示であって、本発明を限定するのではなく、当業者は、同時提出の特許請求の範囲から逸脱することなく、多くの代替の実施形態をデザインすることができることに留意する必要がある。例えば、CPUFの特定のクラスが、同じ入力が与えられる同様の安定な応答を2つ又はそれ以上のCPUFが生成するような方式で、構築されることが可能である。このCPUFのクラスが用いられるとき、2つ又はそれ以上のCPU全てが鍵としての役割を果たす。任意の数字のシーケンスが、鍵として直接、用いられる、又は、更なる処理が、そのシーケンスを鍵に変換するように適用されることが可能である。
用語“を有する”は、請求項に列挙されている要素又はステップ以外の要素又はステップの存在を排除するものではない。要素の単数表現は、そのような要素の複数の存在を排除するものではない。本発明は、複数の別個の要素を有するハードウェアにより、そして適切にプログラムされたコンピュータにより実施されることが可能である。
複数の手段を列挙している装置請求項においては、それらの手段の幾つかは、同一のハードウェアにより具現化されることが可能である。特定の手段が互いに異なる独立請求項に記載されていることにみによって、それらの手段の組み合わせが有利に用いられることがないことを意味するものではない。

Claims (11)

  1. シードが与えられた任意数を生成する方法であって:
    物理トークンに対して前記シードからもたらされる挑戦を与えるステップ;
    前記物理トークンから初期応答を受け入れるステップ;
    安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせるステップ;
    擬似乱数発生器についてのシードとして安定な応答を用いる前記擬似乱数発生器を用いて、前記任意数を生成するステップ;
    を有する方法。
  2. 請求項1に記載の方法であって、前記生成された任意数から擬似ランダム置換を構築するステップを更に有する、方法。
  3. 請求項2に記載の方法であって、前記擬似ランダム置換をFeistel型ブロック暗号におけるラウンド関数として用いるステップを更に有する、方法。
  4. 請求項2又は3に記載の方法であって、複数の擬似ランダム置換が、前記Feistel型ブロック暗号における複数のラウンド関数として構築されて、用いられる、方法。
  5. 請求項1に記載の方法であって、暗号鍵を生成するように前記生成された任意数を用いるステップを有する、方法。
  6. 擬似乱数発生器についてのシードとしての物理トークンからの挑戦に対してヘルパーデータを用いて安定化された応答を用いる前記擬似乱数発生器を用いて、任意数を生成する目的で物理トークンを用いる方法。
  7. 擬似乱数発生器についてのシードとしての物理トークンからの挑戦に対してヘルパーデータを用いて安定化された応答を用いる前記擬似乱数発生器を用いて任意数を生成し、該記生成された任意数から暗号鍵を生成することにより、暗号鍵を生成する目的で物理トークンを用いる方法。
  8. シードが与えられた任意数を生成するシステムであって:
    物理トークンに対して前記シードからもたらされる挑戦を与える手段;
    前記物理トークンから初期応答を受け入れる手段;
    安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせる手段;
    擬似乱数発生器についてのシードとして安定な応答を用いる前記擬似乱数発生器を用いて、前記任意数を生成する手段;
    を有するシステム。
  9. Feistel型ブロック暗号を生成する方法であって:
    物理トークンに対して挑戦を与えるステップ;
    前記物理トークンから初期応答を受け入れるステップ;
    安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせるステップ;
    前記安定な応答から擬似ランダム置換を構築するステップ;
    前記Feistel型ブロック暗号におけるラウンド関数として前記擬似ランダム置換を用いるステップ;
    を有する方法。
  10. 請求項9に記載の方法であって、複数の擬似ランダム置換は、前記Feistel型ブロック暗号におけるラウンド関数として構築されて、用いられる、方法。
  11. Feistel型ブロック暗号を生成するシステムであって:
    物理トークンに対して挑戦を与える手段;
    前記物理トークンから初期応答を受け入れる手段;
    安定な応答を生成するように前記挑戦に関連するヘルパーデータと前記初期応答を組み合わせる手段;
    前記安定な応答から擬似ランダム置換を構築する手段;
    前記Feistel型ブロック暗号におけるラウンド関数として前記擬似ランダム置換を用いる手段;
    を有するシステム。
JP2009537751A 2006-11-28 2007-11-26 シードが与えられる任意数を生成する方法 Active JP5291628B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP06124866.2 2006-11-28
EP06124866 2006-11-28
PCT/IB2007/054784 WO2008065596A1 (en) 2006-11-28 2007-11-26 A method of generating arbitrary numbers given a seed

Publications (2)

Publication Number Publication Date
JP2010511186A true JP2010511186A (ja) 2010-04-08
JP5291628B2 JP5291628B2 (ja) 2013-09-18

Family

ID=39144526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009537751A Active JP5291628B2 (ja) 2006-11-28 2007-11-26 シードが与えられる任意数を生成する方法

Country Status (7)

Country Link
US (1) US8594326B2 (ja)
EP (1) EP2089794B1 (ja)
JP (1) JP5291628B2 (ja)
CN (1) CN101542431B (ja)
AT (1) ATE459912T1 (ja)
DE (1) DE602007005166D1 (ja)
WO (1) WO2008065596A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101373576B1 (ko) * 2012-12-26 2014-03-12 고려대학교 산학협력단 Des 암호화 시스템

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019802B2 (en) * 2005-08-24 2011-09-13 Qualcomm Incorporated Cryptographically secure pseudo-random number generator
US8626656B2 (en) * 2010-04-28 2014-01-07 Ing Direct N.V. System and method for securing payment instruments
US9465582B1 (en) * 2010-11-18 2016-10-11 The Boeing Company Significant random number generator
US8682948B2 (en) * 2011-01-06 2014-03-25 Microsoft Corporation Scalable random number generation
US8700916B2 (en) * 2011-12-02 2014-04-15 Cisco Technology, Inc. Utilizing physically unclonable functions to derive device specific keying material for protection of information
US10079678B2 (en) * 2012-07-24 2018-09-18 Intel Corporation Providing access to encrypted data
US9411975B2 (en) 2014-03-31 2016-08-09 Intel Corporation Methods and apparatus to securely share data
US10013363B2 (en) 2015-02-09 2018-07-03 Honeywell International Inc. Encryption using entropy-based key derivation
US10708073B2 (en) 2016-11-08 2020-07-07 Honeywell International Inc. Configuration based cryptographic key generation
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
EP3340216B1 (en) * 2016-12-23 2020-01-29 Secure-IC SAS Secret key generation using a high reliability physically unclonable function
EP3562092A1 (en) * 2018-04-26 2019-10-30 Thales Dis Design Services Sas Method for generating on-board a cryptographic key using a physically unclonable function
US11321459B2 (en) * 2018-12-27 2022-05-03 Intel Corporation Method, system and apparatus for error correction coding embedded in physically unclonable function arrays
CN111756525B (zh) * 2019-03-26 2023-01-17 北京普安信科技有限公司 一种传送高质量密钥的方法、服务器、终端及系统
EP3770751B1 (en) 2019-07-25 2023-10-18 PUFsecurity Corporation High speed encryption key generating engine

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122534A (ja) * 1998-10-20 2000-04-28 Lucent Technol Inc 暗号化方法
JP2005523481A (ja) * 2002-04-16 2005-08-04 マサチューセッツ インスティテュート オブ テクノロジー 集積回路の認証
WO2006043185A1 (en) * 2004-10-18 2006-04-27 Koninklijke Philips Electronics N.V. Secure sensor chip

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909494A (en) * 1997-02-14 1999-06-01 At&T Corp. System and method for constructing a cryptographic pseudo random bit generator
KR20070045335A (ko) * 2004-08-23 2007-05-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 광학 식별기에 대한 위치 및 방위 결정 검출
EP1887460A3 (en) * 2004-10-15 2008-06-04 Nxp B.V. Integrated circuit with a true random number generator
JP2008526078A (ja) 2004-12-22 2008-07-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 鍵生成、及び認証の承認に関する方法及び装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122534A (ja) * 1998-10-20 2000-04-28 Lucent Technol Inc 暗号化方法
JP2005523481A (ja) * 2002-04-16 2005-08-04 マサチューセッツ インスティテュート オブ テクノロジー 集積回路の認証
WO2006043185A1 (en) * 2004-10-18 2006-04-27 Koninklijke Philips Electronics N.V. Secure sensor chip

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101373576B1 (ko) * 2012-12-26 2014-03-12 고려대학교 산학협력단 Des 암호화 시스템

Also Published As

Publication number Publication date
DE602007005166D1 (de) 2010-04-15
WO2008065596A1 (en) 2008-06-05
CN101542431B (zh) 2011-11-23
US20100054466A1 (en) 2010-03-04
JP5291628B2 (ja) 2013-09-18
EP2089794B1 (en) 2010-03-03
ATE459912T1 (de) 2010-03-15
EP2089794A1 (en) 2009-08-19
US8594326B2 (en) 2013-11-26
CN101542431A (zh) 2009-09-23

Similar Documents

Publication Publication Date Title
JP5291628B2 (ja) シードが与えられる任意数を生成する方法
KR101430023B1 (ko) 기능의 제어된 활성화
Horstmeyer et al. Physical key-protected one-time pad
US10728028B2 (en) Transmitter for encoding information with randomly flipped bits and transmitting that information through a communications channel
Guajardo et al. Physical unclonable functions and public-key crypto for FPGA IP protection
US9054871B2 (en) Physical key-protected one time pad
Škorić Quantum readout of physical unclonable functions
CN101242265A (zh) 安全系统中流密码、伪随机数产生方法
EP3535927A1 (en) Transmitter for encoding information with randomly flipped bits and transmitting that information through a communications channel
KR20010023158A (ko) 동기 스트림 암호
Zin et al. Implementation and analysis of three steganographic approaches
Chowdhury et al. Physical security in the post-quantum era: A survey on side-channel analysis, random number generators, and physically unclonable functions
KR20040110924A (ko) 하드디스크 드라이브의 난수 발생 방법
MAQABLEH Analysis and design security primitives based on chaotic systems for ecommerce
Vrijaldenhoven Acoustical physical uncloneable functions
Acharya et al. A novel image encryption based on feedback carry shift register and blockchain for secure communication
Bringer et al. On physical obfuscation of cryptographic algorithms
Raghunath et al. Designing a secured audio based key generator for cryptographic symmetric key algorithms
Sharma et al. ECC based novel color image encryption methodology using primitive polynomial
Wu et al. Novel stream ciphering algorithm for big data images Using Zeckendorf Representation
Raghunandan et al. Product key activation for software products using Collatz Conjuncture and asymmetric key cryptography
Choi et al. Physically Unclonable Digital ID
Hassan et al. Generate random image-key using hash technique
Etem et al. Fast image encryption algorithm with random structures
Kumari Performance Analysis of Stream Ciphers Based on Hash Function Using LFSR

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130416

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130607

R150 Certificate of patent or registration of utility model

Ref document number: 5291628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250