JP6827032B2 - 物理的複製困難関数を有する暗号装置 - Google Patents

物理的複製困難関数を有する暗号装置 Download PDF

Info

Publication number
JP6827032B2
JP6827032B2 JP2018506181A JP2018506181A JP6827032B2 JP 6827032 B2 JP6827032 B2 JP 6827032B2 JP 2018506181 A JP2018506181 A JP 2018506181A JP 2018506181 A JP2018506181 A JP 2018506181A JP 6827032 B2 JP6827032 B2 JP 6827032B2
Authority
JP
Japan
Prior art keywords
bit string
puf
helper data
noisy bit
noisy
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.)
Active
Application number
JP2018506181A
Other languages
English (en)
Other versions
JP2018525920A (ja
Inventor
マース,ルール
ファン・デル・スロイス,エリック
スフレイエン,ヘールト・ヤン
Original Assignee
イントリンシツク・イー・デー・ベー・ベー
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 イントリンシツク・イー・デー・ベー・ベー filed Critical イントリンシツク・イー・デー・ベー・ベー
Publication of JP2018525920A publication Critical patent/JP2018525920A/ja
Application granted granted Critical
Publication of JP6827032B2 publication Critical patent/JP6827032B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2942Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Description

本発明は、暗号装置、暗号方法、コンピュータプログラム、およびコンピュータ可読媒体に関する。
物理的複製困難関数は、デジタル識別子を導出するために製造上のばらつきを利用する。したがって、デジタル識別子は物理的媒体と結び付けられる。物理的複製困難関数はランダム処理のばらつきに依存するため、PUFを創成することは容易であるが、特定の所定の識別子を生じさせるPUFを創成することは、完全に不可能であるとは言えないが、非常に困難である。製造上のばらつきは、例えばメモリ素子において、異なる物理的特性をもたらす。物理的特性には、ドーピング濃度、酸化膜厚、チャネル長さ、(例えば、金属層の)構造上の幅、寄生量(例えば、抵抗、静電容量)などがあり得る。デジタル回路設計が複数回製造されるとき、これらの物理的特性は若干ばらつくことになり、それと共に、例えばメモリ素子といったIC要素の挙動を、ある状況において異なるように振る舞わせることになる。例えば、起動の挙動は、物理的特性における製造上のばらつきによって決定される。
PUFが装置固有の予測不可能なレスポンスを作成するという事実は、PUFを、暗号鍵をそこから生成するための非常に適した候補にさせている。従来の不揮発性鍵記憶装置と対照的に、PUFに基づく鍵は、デジタル形式で記憶されず、PUFの物理的構造における小さいランダムな偏差から生じている。さらに、鍵自体の生成は、低品質のものであり得る外部から提供されるランダム性に依存せず、装置自体の高エントロピ固有のランダム性を用いる。これらの要因の組み合わせは、暗号鍵記憶装置のための非常に安全な解決策をもたらすことができる。
PUFを用いると、鍵を記憶するための安全なメモリに対する要求が回避できる。PUFは、さらに、リバースエンジニアリングによって暗号鍵を得ようとする悪意のある試みに対して生来の保護を提供するが、これは、試みの間にPUFに負わされ得る損傷がデジタル識別子を変えてしまう可能性があるためである。好ましくは、デジタル識別子は、物理的複製困難関数が埋め込まれる電子装置に一意的である。
例えば、例えばSRAMといった一部のメモリ素子の起動の挙動がPUFのような挙動を演じることが、観察されている。このようなメモリは、電源投入されたとき、これは、メモリを構成するコンポーネント、たとえば、ゲートもしくはトランジスタの少なくとも部分的にランダムな物理的特性、たとえば、互いに関する物理的配置構成に依存する、コンテンツを含む、すなわち、一連のデータ値を備える傾向を有する。メモリは、複数回電源投入された場合、大きな割合まで同じコンテンツを含むことになる。
PUFは予測不可能で装置に一意的なレスポンスを提供し、しかもその物理的という素性のため、測定ノイズおよび環境の影響を受ける可能性がある。他方で暗号鍵は、完璧に信頼できる完全なエントロピのものである必要がある。この隔たりを繋ぐために、PUFレスポンスにいくらかの後処理が必要とされる。ノイズに対処するための1つの方法は、いわゆるファジーエクストラクタの使用である。ファジーエクストラクタは、「ノイズのある(ノイジー)」ランダム値を信頼できる鍵へと変換することができる。エラー訂正手続きが、これらの変動を訂正し、PUFが使用されるたびに同一のデジタル識別子が導出されることを確保するために、この処理において使用され得る。エラー訂正手続きは、いわゆるヘルパーデータを使用する。ファジーエクストラクタは、2つの段階を含み得る。最初の登録段階では、暗号鍵がPUFレスポンスから導出される。登録過程では、PUFレスポンスについてのヘルパーデータが作成される。後に現場で、再構成段階が、PUFレスポンスを再評価し、同じ鍵を再構成するために登録段階からのヘルパーデータを使用する。したがって、ヘルパーデータは登録段階と再構成段階との間で記憶される必要がある。
国際公開第2007/116325号 国際公開第2009/024913号 米国特許出願公開第2003/0204743号明細書 欧州特許第2191410号明細書 国際公開第2011/018414号 国際公開第2012/069545号 国際公開第2012/045627号
この点におけるファジーエクストラクタの望ましい性質は、ヘルパーデータが、導出される鍵についての情報を含んでいないということである。別の言い方をすると、ヘルパーデータは、極秘情報を含んでおらず、生成された鍵を攻撃するのに使用することはできない。結果として、ヘルパーデータは、公に記憶および通信されてもよく、鍵の直接的な記憶装置が必要であるように敵から保護する必要がない。
ファジーエクストラクタの動作は、エラー訂正コードの使用に基づかれてもよい。典型的には、エラー訂正コードはブロックコードであり、例えば線形エラー訂正ブロックコードといった線形である。登録の間、ファジーエクストラクタは、例えば、PUFレスポンスビットにおいていくつかのパリティ関係を計算し、これらの関係をヘルパーデータにおいて開示することで、PUFレスポンスについてのヘルパーデータを計算する。ヘルパーデータは、例えば、1つまたは複数のコード語とPUFレスポンスとの間の差異を計算することで、計算され得る。
開示のおかげで、PUFレスポンスの予測不可能性(そのエントロピによって測定される)は、相当に低減され得る。発明者は、PUFが大きなバイアスを有する場合、ヘルパーデータによる鍵についての情報漏えいがゼロではないことを見出している。実際、PUFが非常に大きいバイアスを有する場合、ヘルパーデータは、攻撃者による鍵の完全な再構成を可能にするような十分な鍵についての情報を暴露しさえする可能性がある。
ビットストリングにおける純粋なランダムからの偏差、具体的にはバイアスは、偏差を検出するように設計された統計的検定を用いて検出できる。しかしながら、PUFレスポンスは、秘密鍵および/または乱数シードなど、極秘情報を生成するために使用されるため、極秘データである。PUFレスポンスなどの秘密データのあらゆる取り扱いは、情報の追加的な漏えいをもたらす可能性があり得る。具体的には、情報は、秘密データが処理されるあらゆるときにおいて、電力消費、電磁放射など、いわゆるサイドチャネルを通じて漏えいさせられ得る。そのため、PUFの異常な挙動を検出したとき、PUFレスポンスの追加的な取り扱いを導入することを回避したいという要求がある。
− 第1の局面の間に第1のノイジービットストリング(112)を作成するように構成される物理的複製困難関数(PUF)(110)と、
− 第1の局面の間に第1のノイジービットストリングからヘルパーデータを生成するように構成されるヘルパーデータ創成ユニット(130)であって、ヘルパーデータが、後の第2の局面の間に、前記ヘルパーデータ、および、PUFによって作成される第2のノイジービットストリング(114)からの第1のノイジービットストリング(112)の再構成を許容する、ヘルパーデータ創成ユニット(130)と、
− 物理的複製困難関数が正しく機能することを確証するための統計的検定を実行するように構成される統計ユニット(120)であって、統計的検定が、ヘルパーデータを用いて物理的複製困難関数のための統計パラメータを計算し、統計的検定が、統計パラメータが統計的検定の基準を満たす場合に正しく機能することを決定する、統計ユニット(120)と
を備える、電子暗号装置(100)が提示される。
ヘルパーデータは、PUFにおいて検定を実行する目標のために特に創成されてもよい。その場合、ヘルパーデータは、検定が実行された後に廃棄されてもよい。このような健全性検定は、PUFの健全性が監視される非常に安全な用途において望ましいとされる。PUFの状態が悪化する場合、具体的には、健全性が閾値を下回って低下する場合、PUFが将来的に正常に機能しなくなる危険性があり得る。検定を用いると、装置は、例えば装置を置き換えるために、例えば装置の使用者にアラートするといった、適切な行動を取ることができる。
この目的のために作成されるヘルパーデータは、装置を登録するために使用されるヘルパーデータと同じ種類のものであり、そのステップが実施されない場合であっても、第1のノイジービットストリングの再構成を許容するものである。このようなヘルパーデータはパブリックデータとなるように設計され、したがって、ヘルパーデータに統計的検定を実施することで、少なくとも正常なヘルパーデータ生成の間に行われるよりも多くなることはなく、情報が漏えいすることはない。検定の目的だけのために生成されたヘルパーデータは、登録のために生成されたヘルパーデータと異なるエラー訂正コードを使用でき、例えば、前者は反復コードだけを使用し、後者は例えば反復コードを内部コードとして可能ならば使用する連接コードといった、より洗練されたコードを使用してもよい。
PUFの品質を確証するための具体的に重要な時点は、登録の間である。登録局面の間、後で暗号鍵を導出するために使用されるヘルパーデータが生成される。また、このヘルパーデータは第1のノイジービットストリングの再構成を許容するが、一部の実施形態は、実際には第1のノイジービットストリングの再構成に向けてずっと進んでいくわけではく、登録コード語を再構成するだけの可能性もある(本明細書における例を参照)。実施形態では、第1の局面はいわゆる登録局面であり、第2の局面はいわゆる再構成局面である。
本発明の態様は、暗号鍵を決定するために構成される電子暗号装置である。暗号装置は、登録局面と後の再構成局面とのために構成される。暗号装置は、
− 登録局面の間に第1のノイジービットストリングを作成し、再構成局面の間に第2のノイジービットストリングを作成するように構成される物理的複製困難関数と、
− 再構成局面の間に第2のノイジービットストリングから暗号鍵を決定するために、登録局面の間に第1のノイジービットストリングからヘルパーデータを生成するように構成されるヘルパーデータ創成ユニットと、
− 物理的複製困難関数が正しく機能することを確証するための統計的検定を実行するように構成される統計ユニットであって、統計的検定が、ヘルパーデータを用いて物理的複製困難関数のための統計パラメータを計算し、統計的検定が、計算されたパラメータが統計的検定の基準を満たす場合に正しく機能することを決定する、統計ユニットと
を備える。
統計ユニットは、検定を実行するためにヘルパーデータを使用するように構成される。ヘルパーデータは、概して秘密データとして見なされない。したがって、統計的検定における間にヘルパーデータを使用することは、追加的な極秘情報を漏えいすることはない。
実施形態では、統計的検定が第1の統計的検定を含み、統計ユニットが、第1のノイジービットストリングから生成されるヘルパーデータにおいて登録局面の間に第1の統計的検定を実行するように構成される。登録局面の間、ヘルパーデータは第1のノイジービットストリングから生成される。したがって、異常なヘルパーデータを検出するために統計的検定を実行することは、異常なPUFを間接的に検出する。再構成局面の間、同じヘルパーデータが利用可能であり、また、追加のPUFレスポンス、すなわち、第2のノイジービットストリングが利用可能である。実施形態では、統計的検定が第2の統計的検定を含み、統計ユニットが、登録局面の間に生成されるヘルパーデータを用いて、再構成局面の間に第2の統計的検定を実行するように構成される。
暗号装置は電子装置である。例えば、暗号装置は、携帯電話またはタブレットなど、モバイル電子装置であり得る。暗号装置は、スマートカード、キーフォブ、または他の携帯型安全装置であり得る。暗号装置はセットトップボックスであり得る。
本発明のさらなる態様は電子暗号方法に関係する。また、暗号方法は登録局面および再構成局面の間に適用され得る。例えば、実施形態では、
登録局面と後の再構成局面とを含み、
− 登録局面が、
− 第1のノイジービットストリング(112)を物理的複製困難関数(PUF)(110)で作成するステップと、
− 登録局面の間に第1のノイジービットストリングからヘルパーデータを生成するステップであって、ヘルパーデータが、再構成局面の間に、暗号鍵を第2のノイジービットストリング(114)から決定するように構成される、生成するステップと
を含み、
− 再構成局面が、
− 第2のノイジービットストリング(114)を物理的複製困難関数(PUF)(110)で作成し、暗号鍵を決定するステップを含み、
− 登録局面または再構成局面が、
− 物理的複製困難関数が正しく機能することを確証するための統計的検定を実行するステップであって、統計的検定が、ヘルパーデータを用いて物理的複製困難関数のための統計パラメータを計算し、統計的検定が、統計パラメータが統計的検定の基準を満たす場合に正しく機能することを決定する、実行するステップと
を含む、電子暗号方法がある。
本明細書に記載されている暗号装置および暗号方法は、幅広い範囲の実用的な用途で適用できる。このような実用的な用途には、暗号鍵および/または乱数シードを用いる暗号アルゴリズムを通じてのデータの機密性および真正性の保護がある。用途には、例えば、個人データの保護、銀行での用途、通信保護、デジタル著作権管理の用途などがある。乱数の暗号用途は、鍵共有プロトコル、誓約、署名方式などがある。
本発明による方法は、コンピュータで実施される方法としてコンピュータ上で、または専用のハードウェアで、または両方の組み合わせで、実施され得る。本発明による方法のための実行可能なコードは、コンピュータプログラム製品で記憶されてもよい。コンピュータプログラム製品の例には、メモリ装置、光学記憶装置、集積回路、サーバ、オンラインソフトウェアなどがある。好ましくは、コンピュータプログラム製品は、前記プログラム製品がコンピュータで実行されるときに本発明による方法を実施するためのコンピュータ可読媒体に記憶される非一時的プログラムコード手段を含む。
好ましい実施形態では、コンピュータプログラムは、コンピュータプログラムがコンピュータで実行されるとき、本発明による方法のすべてのステップを実施するように構成されたコンピュータプログラムコード手段を含む。好ましくは、コンピュータプログラムはコンピュータ可読媒体に具現化される。
本発明の別の態様は、ダウンロードして利用可能であるコンピュータプログラムを作る方法を提供する。この態様は、コンピュータプログラムが、例えばAppleのApp Store、GoogleのPlay Store、またはMicrosoftのWindows Storeなどにアップロードされ、コンピュータプログラムがこのような店舗からダウンロードして利用可能であるとき、使用される。
本発明のさらなる詳細、態様、および実施形態は、図面を参照して、例を用いるだけで記述されている。図における要素は、簡潔性および明確性のために示されており、必ずしも一定の縮尺で描写されていない。図では、すでに記述した要素に対応する要素は同じ参照数字を有してもよい。
暗号装置の実施形態の例を示す概略図である。 第1の統計的検定の例を示す概略図である。 第1の統計的検定の例についての概略的な流れ図である。 第1の統計的検定の例についての失敗率曲線を示す図である。 第2の統計的検定の例を示す概略図である。 エラーベクトルの例を示す概略図である。 暗号装置の実施形態の例を示す概略図である。 第2の統計的検定の例についての概略的な流れ図である。 第2の統計的検定の例についての失敗率曲線を示す図である。 暗号方法の例についての概略的な流れ図である。 実施形態によるコンピュータプログラムを備える書き込み可能部を有するコンピュータ可読媒体の概略図である。 実施形態によるプロセッサシステムを描写した概略図である。
図1、図2、図4a、図4b、および図5における参照数字の一覧
100 暗号装置
110 物理的複製困難関数(PUF)
112 第1のノイジービットストリング
114 第2のノイジービットストリング
116 さらなるノイジービットストリング
120 統計ユニット
122 第1の統計的検定
124 第2の統計的検定
130 ヘルパーデータ創成ユニット
132 ヘルパーデータ記憶部
140 乱数シード生成ユニット
144 ヘルパーデータ
150 正規化部
152 エラー訂正ユニット
154 鍵導出ユニット
200 第1のノイジービットストリング
201−205 第1のノイジービットストリングのブロック
210 反復コード語のシーケンス
211−215 反復コード語
220 ヘルパーデータ
221−226 第1のノイジービットストリングのマスクされたブロック
230 ハミング重みのシーケンス
231−236 ハミング重み
240 計数器ユニット
242 計数
500 第2のノイジービットストリング
510 第1のノイジービットストリング
520 エラーベクトル
521 一連の差異
522 一連の非差異
540 計数器ユニット
542 エラー計数
本発明は、多くの異なる形態において実施形態とさせられるが、本開示が、本発明の原理の例として見なされ、示されて記述されている特定の実施形態に本発明を限定するように意図されていないという理解で、1つまたは複数の特定の実施形態が図面に示されて本明細書で詳細に記述されている。
以下においては、理解の目的のために、実施形態の要素が動作において記述されている。しかしながら、それぞれの要素が、それら要素によって実施されるとして記述されている機能を、実施するように構成されることは、明らかである。
図1は、暗号装置100の実施形態の例を概略的に示している。
暗号装置100は、物理的複製困難関数(PUF)110を備えている。暗号装置100は、PUF110のレスポンスから暗号鍵を決定するように構成される電子装置である。
PUF110に加えて、暗号装置100は、ヘルパーデータ創成ユニット130と、ヘルパーデータ記憶部132と、正規化部150と、エラー訂正ユニット152と、鍵導出ユニット154とを備えている。これらのユニットは、PUF110のノイズレスポンスから、再現可能な暗号鍵を作成するために協働する。以下において、それらの関数が先ず記述されている。
PUF、ヘルパーデータ、および鍵再構成
暗号装置100は、登録局面と後の再構成局面とのために構成されている。PUF110は、登録局面の間に第1のノイジービットストリング112を作成し、再構成局面の間に第2のノイジービットストリング114を作成するように構成されている。複数回繰り返され得る再構成局面の間、同じ暗号鍵が作成される。同じ暗号鍵は、登録の間にも作成され得る。
登録局面の間、暗号鍵の繰り返される同一の作成を可能にするヘルパーデータ144が作成される。暗号装置100は、再構成局面の間に第2のノイジービットストリング114から暗号鍵を決定するために、登録局面の間に第1のノイジービットストリング112からヘルパーデータ144を生成するように構成されるヘルパーデータ創成ユニット130を備えている。
続いて作成されるノイジービットストリングとの間の変化の大きさは、異なる種類のPUFの間で異なり、つまり、PUF110の種類について典型的な変化の大きさに依存して、エラー訂正コードは、この大きさのエラーについて訂正するように選択され得る。PUFのノイジービットストリングの長さは、所望の鍵長さ、PUFのエラー割合、および/またはPUFのバイアスレベルに対して選択され得る。
PUF110は、ノイジービットストリングを再び作成するために、例えば電源停止から続いて電源投入といった、電源サイクルを必要としてもよい。電源投入信号はチャレンジとして解釈されてもよい。メモリに基づくPUFについて、メモリにおけるアドレスとの組み合わせでの電源投入信号は、チャレンジとして解釈されてもよい。
装置100では、PUF110は、ノイジービットストリングを少なくとも2回作成する。登録局面の間における1回では、PUF110は第1のノイジービットストリングを作成する。後の使用局面の間では、PUF110は第2のノイジービットストリングを作成する。第1のノイジービットストリングと第2のノイジービットストリングとは互いに対して十分に近く、例えば、それらの差異のハミング重みは閾値未満である。
PUFは、物理的装置を用いて関数を実際に評価することなく関数の出力を予測するのが計算によっては実行不可能であるような方法で物理的装置に結び付けられたランダム関数である。さらに、PUFが物理的システムによって実現されるため、コピーすることは難しい。完全には制御されていない(つまり、いくらかのランダム性を含む)作成過程によって作成される物理的なシステムは、PUFの優れた候補になることが分かっている。実施形態では、PUF110と、延いては暗号装置100とは、PUF110によって提供されるレスポンスと、それから導出される鍵とに基づいて、一意的に識別できる。鍵は識別子として使用でき、装置を識別する。
PUFの物理的システムは、刺激と複雑な方法で相互作用するように設計され、一意的であるが予測不可能なレスポンスをもたらす。PUFの刺激はチャレンジとして言及される。あるPUFは、より大きい幅の異なるチャレンジを許容し、異なるレスポンスを作成する。PUFチャレンジおよび対応するレスポンスは、合わせてチャレンジレスポンス対と呼ばれる。しかしながら、PUFは単一のチャレンジも有してよい。PUF110は単一チャレンジPUFであり得る。PUF110は複数チャレンジPUFであってもよい。複数チャレンジPUFの場合、PUF110は、ノイジービットストリング、具体的には、第1および第2のノイジービットストリングを作成するとき、同じチャレンジまたはチャレンジのセットでチャレンジされる。
PUFの適切なソースは、、電源投入されたとき、メモリの識別のために有用な電源投入値のレスポンスパターンを含む電子揮発性メモリによって形成され、そのレスポンスパターンは、メモリ要素の物理的特性に依存する。
装置を一意的に識別するために使用されるPUFの1つの知られている例は、いわゆるSRAM PUFであり、SRAM PUFは、SRAMセルが、始動されるとき、ドーピングのばらつきによるトランジスタの閾値電圧におけるばらつきのため、ランダム状態で始動するという事実に基づかれている。これが複数回行われるとき、各々のセルは、ほとんどの場合に同じ状態で始動することになる。これらのPUFは、基板にSRAMメモリを有する任意の装置で実現され得る。
メモリを識別するために十分に安定しているランダム始動挙動を示す任意のメモリは、チャレンジ可能メモリと呼ばれる。始動挙動がランダムであるため、2つの異なるメモリは、それらの始動メモリパターンにおいて大きい差異を有することになり、始動挙動が安定であるため、同じメモリの2つの始動メモリパターンは小さい差異を有することになる。このようなメモリの例は、前述したようなSRAMメモリセルであるが、フリップフロップのようなメモリ素子でもある。実際、フィードバックループを備える任意の種類の揮発性メモリが使用できる。この種類のSRAM PUFは、特許公開WO/2007/116325においてより詳細に記載されている。
PUFに基づかれた第2の種類のSRAMは、デュアルポートRAMで構成され得る。両方のポートで同じときに異なる情報を書き込むことで、メモリセルは未定義の状態にさせられ、PUFのような挙動を示す。この種類のPUFは、WO2009024913においてより詳細に記載されている。他のいわゆる固有PUFは遅延現象に基づかれており、例えば、US20030204743を参照されたい。PUFは、例えば、FPGAにおける、交差結合インバータまたは交差結合ラッチによるSRAMメモリセルを刺激することで構成されてもよく、いわゆるバタフライPUFであり、欧州特許EP2191410B1およびWO2011018414A2を参照されたい。PUF110は、例えばWO2012069545に記述されているような複数のバスキーパを含む物理的複製困難関数、または、フリップフロップ(WO/2012/045627)であり得る。
興味深いことに、PUFレスポンスは、2つの異なる使用のために使用できる。一方で、ヘルパーデータを使用してノイズを抑えることで、PUFレスポンスは暗号鍵を作成するために使用できる。他方で、ノイズは、乱数シードをPUFレスポンスから作成することで活用されてもよい。第1の場合では、PUFレスポンスの安定性が使用され、第2の場合では、そのノイズが使用される。
ヘルパーデータ創成ユニット130は、登録局面の間に第1のノイジービットストリング112からヘルパーデータを生成するように構成され、そのため、暗号鍵が再構成局面の間に第2のノイジービットストリング114から決定できる。
ヘルパーデータ創成ユニット130は、エラー訂正コードから1つまたは複数のコード語を得るように、および、ヘルパーデータ144を決定するように、構成されている。ヘルパーデータは、エラー訂正コードに基づかれる、いわゆるコードオフセット方法を用いて決定される。正規化部とエラー訂正部との組み合わせは、ファジーエクストラクタと称されることもある。鍵導出はファジーエクストラクタに含まれてもよい。(n,k,d)バイナリエラー訂正コードはビット長nのコード語のセットであり、そのためコードのうちの任意の2つのコード語は、少なくともdのハミング距離を有し、コードは次元kを有する。
例えば、登録段階では、1つまたは複数のランダムコード語がブロックコードから選択され、いわゆる登録コード語である。例えば、登録コード語は、ランダムに選択されたシードをコード化することで得ることができる。ヘルパーデータ創成ユニット130は、次に、登録コード語と第1のPUFレスポンス112との間の差異を決定する。第1のPUFレスポンス112は登録レスポンスとも称される。
第1のPUFレスポンス112は、第1および第2のノイジービットストリングを複数のコード語サイズにすることが必要とされる場合、パディングされ得る、または、短縮され得る。
第1のノイジービットストリング112と登録コード語との間の差異は、オフセットとも称される。2進値の場合、2つのベクトルの間のオフセットは、排他的論理和(XOR)演算によって得られる。このコードオフセットはヘルパーデータとして使用されてもよい。実施形態では、ヘルパーデータ144は、例えば、第1のPUFレスポンス112のXOR、および、1つまたは複数のコード語といった、オフセットを含む。ヘルパーデータ144はヘルパーデータ記憶部132に記憶される。
ヘルパーデータがヘルパーデータ創成ユニット130によって生成された後、ヘルパーデータ記憶部132は、登録局面の間にヘルパーデータを記憶するように構成される。ヘルパーデータ記憶部132は、ヘルパーデータ144を記憶するための、フラッシュメモリといった不揮発性メモリであり得る。装置100に含まれるメモリを使用するヘルパーデータ記憶部132の代わりに、実施形態では、ヘルパーデータ144は、例えばヘルパーデータ記憶部132によって、外部で記憶される。
再構成段階では、PUFが再評価され、第2のノイジービットストリング114が得られる。第2のノイジービットストリング114は、登録されたPUFレスポンス112のノイジー版である。正規化部150が、再構成局面の間にヘルパーデータ144を第2のノイジービットストリングに適用し、ノイズと共に1つまたは複数のコード語を決定するように構成されている。これはノイジーコード語である。具体的には、ノイジーコード語は、ノイズが加わった登録コード語である。
第2のPUFレスポンスを、ノイズ低減データ144に含まれるコードオフセットだけ変更することによって、第2のPUFレスポンスは登録コード語のノイジー版になる。2進値の場合、この変更もまたXOR演算へと還元される。
エラー訂正ユニット152が、1つまたは複数の訂正されたコード語を得る前記1つまたは複数のノイジーコード語を訂正するように構成される。エラー訂正ユニット152は複数回の訂正のために構成されてもよい。具体的には、エラー訂正ユニット152は、再構成局面の間、第1のノイジービットストリング112を第2のノイジービットストリング114およびヘルパーデータから再構成するように構成され得る。正規化部150はエラー訂正ユニット152に含まれてもよい。
ノイジーコード語は、登録コード語が取られたエラー訂正コードに対応するエラー訂正アルゴリズムを用いて訂正できる。再構成の間のPUFレスポンスビットエラーの数が多すぎることがないならば、訂正されたコード語は、元の登録されたコード語と等しくなる。
必要であれば、この訂正されたコード語をコードオフセットでもう1回変更することで、元の登録されたPUFレスポンスを再構成してもよい。このレスポンスから、登録された鍵が結果として抽出できる。代替で、鍵は、元の登録されたPUFレスポンスを再構成することなく、訂正されたコード語から得られてもよい。鍵を導出するために、訂正されたコード語を復号することも可能である。復号することは、1回または複数回の複合を伴ってもよい。内部コードを復号することで、最も近いコード語に向けて訂正できる、および/または、不良のコード語を消去できる。不良のコード語を消去する場合、次の外部コードは、エラーおよび消去を有するコード語を訂正するように構成されてもよい。
鍵導出ユニット154は、再構成局面の間に第2のノイジービットストリング114およびヘルパーデータから暗号鍵を決定するように構成される。具体的には、鍵導出ユニット154は、エラー訂正ユニット152の出力から暗号鍵を導出できる。例えば、鍵導出ユニット154は、鍵導出関数を1つまたは複数の訂正されたコード語に適用してもよい。代替で、鍵導出ユニット154は、鍵導出関数(KDF)を、1つもしくは複数の訂正されたコード語の復号に、または、訂正されたPUFレスポンスビットに適用してもよい。このような鍵導出関数の例には、IEEE Std 1363−2000、NIST−SP800−108および56−Cに定められているKDF1、ならびに、ANSI X9.42などにおける同様の関数がある。鍵導出関数はハッシュ関数であってもよい。登録の間、暗号鍵は、必要により、導出されてもよく、この場合には再構成は必要とされない。
装置100は乱数シード生成ユニット140を備えてもよい。乱数シード生成ユニット140は、第1の統計的検定が正しく機能することを指示する場合のみ、エントロピ集中関数を、例えば第2のノイジービットストリングといったPUFレスポンスに適用することで、乱数シードを生成するように構成されている。エントロピ集中関数は、この場合には第2のノイジービットストリング114であるより大きいストリングにおけるエントロピを、この場合には乱数シードであるより小さいストリングへと集中させる。エントロピ集中関数の例は、ハッシュ関数であり、具体的には、SHA−1などの暗号ハッシュ関数、圧縮関数、および、例えばNIST−SP800−90などに定められているような、シードを導出するための導出関数である。
乱数シードは、乱数シードに依存して乱数のシーケンスを生成するように構成される疑似乱数生成器で使用され得る。乱数は、多くの暗号プロトコルで使用されることができ、非暗号用途を有してもよい。疑似乱数生成器は、図1において別にされて示されていない。
例えば、疑似乱数生成器は、例えばNIST−SP800−90において定義および例示されているような、いわゆる決定論的乱数生成器(DRBG)であってもよい。疑似乱数生成器は、乱数シードから始まる、計数器モードで実行する言わばAESといったブロック暗号、または、乱数シードで鍵の掛けられたRC4、乱数シードでシードされたフォーチュナなどのストリーム暗号であってもよい。
数式では、装置100のこの部分は次のように記述できる。第1のノイジービットストリングをXとし、第2のノイジービットストリングをYとし、登録コード語をSとする。Sは、例えば、S=Enc(s)(ここで、sはランダムストリングである)といった、エラー訂正コードのコード化関数に従ってランダムストリングをコード化することで得ることができる。コード化関数Encは、エラー訂正コードに従って、sに冗長性を与えることができる。対応する復号化関数Decがあり、そのためs=Dec(Enc(s))である。ランダムストリングSは、例えば、真の乱数生成器、または、可能ならばPUF110からシードされる疑似乱数生成器といった、乱数生成器によって得ることができる。
2進の場合についてのヘルパーデータは、ヘルパーデータ創成ユニット130によって、
Figure 0006827032
として得ることができる。正規化部150は、
Figure 0006827032
を計算する。
Figure 0006827032
である。第1のノイジービットストリングと第2のノイジービットストリングとが近いため、登録コード語Sとノイジーコード語S’とが同じく近い。エラー訂正部152はSをS’から再構成する。ここで、鍵導出ユニット154は、Sから(例えばSから直接的に)、または、Sの復号のsから、または、第1のノイジービットストリング
Figure 0006827032
からなど、Sから鍵を導出できる。ヘルパーデータWは、第2のノイジービットストリングYからの第1のノイジービットストリングXの再構成を可能とするが、Xを実際に再構成することは必要なく、Sまたはsを再構成することは十分であり得ることは、留意されたい。登録の間、暗号鍵は、S、s、またはXから同じ手法で生成されてもよい。
乱数シード生成ユニット140は、エントロピ集中関数を第2のノイジービットストリングYに適用してもよく、例えば、g(Y)を得、gはエントロピ集中関数である。
統計的検定
残念ながら、PUF110が、その典型的な期待される挙動に一致するレスポンスを作成しないことが起こり得る。以下の2つのエントロピ態様、すなわち、ノイズエントロピと装置間エントロピとは、重要である。
ノイズエントロピ:同じPUFインスタンスを繰り返し測定するときのノイズの大きさに関するエントロピ。これは、PUFを乱数生成のために使用するときに重要である。PUFから導出される高品質の乱数シードを確保するためには、繰り返される測定において十分なランダム性がなければならない。他方で、ランダム性は、暗号鍵が繰り返し導出できるように十分な信頼性を達成するために、制限されなければならない(安定したビットが十分あるべきである)。
装置間エントロピ:装置間の一意性に関するエントロピ。これは、一意的な「電子指紋」を各々の装置に与える、製造プロセスにおける制御されないばらつきによって引き起こされるエントロピである。PUFのインスタンスまたは装置のセットからのPUFレスポンス測定値を所与として、測定されていない実例/装置のPUFレスポンスは、理想的には予測不可能となるべきである。PUFが安全な鍵記憶装置のために使用されるとき、この性質は、攻撃者が、同様のPUFインスタンスのセットへのアクセスを有する場合であっても、攻撃されている特定のチップにおいて鍵のあらゆる情報を得られないことを保証する。
登録の間、十分にランダムでない第1のノイジービットストリング112を作成するPUFは、十分なエントロピを有していない暗号鍵をもたらす可能性があるが、さらに悪くは、暗号鍵を構成するために使用されるエントロピの全部または一部を漏えいするヘルパーデータ144をもたらす可能性がある。これが起こる具体的な状況は、PUF110のバイアスが、大きすぎるとき、または、小さすぎるときである。例えば、第1のノイジービットストリング112が過度に多くのゼロビットを含む場合、ヘルパーデータ144は、登録コード語に等しい過度に多くのビットを含む。
再構成の間、異なる問題が生じる。第1のノイジービットストリング112が第2のノイジービットストリング114に近すぎる場合、つまり、PUFにおけるノイズが小さすぎる場合、乱数シード生成ユニット140によって作成される乱数シードは、十分にランダムとならない。したがって、疑似乱数生成器によって作成される乱数は、期待されているよりも予測可能になってしまう。これは、例えば、予測不可能な乱数を必要とする暗号プロトコルにおいて安全性の問題をもたらす可能性がある。
特定の装置が正確に作動するPUFを有し、そのエントロピが十分であることを確かとするために、装置がそのPUFソースにおいてある種の確認を実行できることが望ましい。この方法では、健全性確認を通過しない装置は、製造の間に、または、このような選択が関連する装置ライフサイクルにおける後の時点において、フィルタされ得る。
ノイズエントロピは、PUFレスポンスを繰り返し読み取り、これらの測定にわたるノイズ挙動において何らかの分析を行うことで実行時に装置によって確認され得る。例えば、複数のPUFレスポンスが互いとの間で少なくとも特定の最小ハミング距離を有することが確認され得る、または、PUFレスポンスは、special publication SP 800−22において明記されているNIST統計的検定一式など、標準化されたランダム性検定に通され得る。しかしながら、完全なNIST検定一式は、コードサイズが極めて大きく、多くの作業メモリを必要とし、実行するのに長い時間が掛かる。そのため、ハードウェアにおける実装はもちろん、デバイスの実行時におけるクイック検定に適していない。具体的には電源スイッチのないメモリに基づくPUFである、実際のところ重要である特定の種類のPUFの実施について、同じPUFソースの複数の測定を集めることは、測定同士の間で装置を再び電源投入することを必要とする可能性があるため、さらに実用的ではなくなる。
別の問題は、この要件が、複数の装置から集められたPUFレスポンスを分析することを必要とするため、装置間エントロピを推定することであり、これは典型的にはオフラインのやり方でのみ行われ得る。単一の装置における実行時に複数の装置からのPUF測定を比較することは、実用的ではない。
実行時にPUF品質を検定するための最も実用的な方法は、単一のPUF測定においてランダム性の分析を実行することによるものであることが明らかとなる。少なくとも単一のPUFレスポンスが、最も限定されたシナリオにおいても常に利用可能である。単一のPUFレスポンス内で測定されるPUF統計値は、少なくとも複数の装置にわたるPUF統計値に関する分布に従うと考えることができる。これは複数の装置にわたる挙動を保証できないが、極端な場合における異常PUF挙動に少なくともフラグを付けることができる。
以下にヘルパーデータを使用する統計的検定が記述されている。ヘルパーデータを使用しない統計的検定が可能であることは、留意されたい。代わりに、暗号装置が、PUFからのプレーンなレスポンスにおいて統計的検定を実施するように構成されてもよい。例えば、単一のPUFレスポンスにおいてFIPS 140−1(モノビット検定、ポーカー検定、ラン検定、およびロングラン検定)検定を実施できる。検定が登録の間に失敗する場合、ヘルパーデータは生成または廃棄されない。検定が再構成の間に失敗する場合、乱数シードがPUFから作成されない。これらの検定は、装置間エントロピを確証するのに特に効率的である。
プレーンなPUFレスポンスデータにおけるこのような統計的検定は非常に都合が良いが、安全性の危険をもたらしもする。概して、PUFレスポンスデータは秘密変数として考慮され、秘密変数におけるあらゆる演算は、最大限の注意を持って取り扱われるべきである。プレーンなPUFレスポンスデータにおける検定の各々において計算される検定統計値は、導出される鍵の安全性に影響を与えるPUFレスポンスについての情報を開示できる。この情報の漏えいは、例えば検定統計値が外部から可読であるため、明示的な可能性がある、または、例えば検定統計値の計算または記憶がサイドチャネル攻撃によって攻撃され、それらの値を暴露する可能性があるため、意図的でない可能性がある。追加的な情報を暴露することなく、特にはサイドチャネルを通じて追加的な情報を暴露することなく、PUFにおいて健全性確認を実施したいという要求がある。
装置100は、PUF110が正しく機能することを確証するための統計的検定を実行するように構成される統計ユニット120を備えている。統計的検定は、ヘルパーデータを用いて物理的複製困難関数のための統計パラメータを計算し、計算されたパラメータが統計的検定の基準を満たす場合、正しく機能することを決定する。
実施形態では、統計的検定は第1の統計的検定122を含んでいる。第1の統計的検定122は、先に示した第1の問題に対処し、つまり、鍵についての過剰な情報を漏えいするヘルパーデータの生成を検出する。第1の統計的検定は、登録局面の間に関連する。実施形態では、統計的検定は第2の統計的検定124を含んでいる。第2の統計的検定124は、先に示した第2の問題に対処し、つまり、PUFが乱数シードの信頼できる生成について小さすぎるノイズしか持たないことを検出する。
第1の統計的検定122
発明者は、プレーンなPUFレスポンスデータにおいて検定を実行する代わりに、例えば特定の構造のランダムマスクで排他的論理和が取られるといった、マスクされたPUFレスポンスデータにおいて修正の統計的検定を実施してもよいという洞察を得た。ランダムマスクのオーバーレイは、ほとんどの統計的検定を複雑にするが、必ずしもそれらを不可能にしない。適切な修正を導入することで、多くの検定は、マスクされたPUFレスポンスデータでなおも実施され得る。さらに、これらのマスクされた検定が、安全性の危険をもたらし得るPUFレスポンスについての情報をほとんどまたはまったく露出しないことが、示され得る。
ヘルパーデータなどのマスクされたPUFレスポンスデータにおいて統計的検定を実行することは、より安全である。PUFレスポンスデータに反して、ヘルパーデータは、概して、秘密変数と見なされず、典型的には、パブリック変数であると仮定される。いずれにしてもヘルパーデータがパブリックであるため、ヘルパーデータにおいて計算された検定統計値は、秘密情報をまったく暴露できない。コードオフセット構造といった、しばしば使用されるPUFに基づく鍵生成器構造では、ヘルパーデータは、線形ブロックコードからのランダムコード語でマスクされたPUFレスポンスとして解釈されてもよい。したがって、ヘルパーデータにおける検定は、マスクされたPUFレスポンスデータにおいて検定する特別な場合である。
実施形態では、統計ユニット120は、第1のノイジービットストリング112から生成されるヘルパーデータにおける登録局面の間に第1の統計的検定122を実行するように構成されている。暗号装置100が、第1の統計的検定が物理的複製困難関数が正しく機能することを確証しない場合、登録局面の間に、第1のノイジービットストリングから生成されるヘルパーデータを廃棄するように構成されている。
第1の統計的検定は、特に登録局面の間の実行に適している。登録局面の間、次の再構成局面の間の暗号鍵の繰り返しの再構成を許容するヘルパーデータが生成される。ヘルパーデータが生成される時点で、PUFが正しく機能することを確証することが特に重要であり、さもなければおそらく安全でない鍵またはヘルパーデータが生成され得る。しかしながら、他の時点においても、例えば、PUFの差し迫った失敗をアラートすることといった、PUFが正しく機能することを確証することが望まれてもよい。アラートする場合、ヘルパーデータにおいて統計的検定を実行するという唯一の目的を終えて、登録であるかのように、ヘルパーデータが生成されてもよい。このようなヘルパーデータは、例えば反復コード語といった、あまり洗練されていないエラー訂正コードを用いてもよい。
登録の間に生成されたヘルパーデータにおいて統計的検定を実行することは、このヘルパーデータがあらゆる場合で生成され、パブリックデータと見なされるため、情報を漏えいすることに対して特に耐性があり、そのため追加的な情報の漏えいが起こらない。
統計パラメータから始まって、統計的検定は、データが(登録の間に)エラー訂正コードからのランダムなコード語でマスクされ(例えば、排他的論理和が取られ)、バイアスをいくらか許容したという仮定の下で、または、データがいくらか許容されたノイズレベルを伴うエラーベクトルであるという仮定の下で、検定パラメータの分布を決定することで構成され得る。いずれの場合も、データがランダムであると仮定することは、PUFデータは、例えばノイズおよびバイアスについて、ランダムからのいくらかの偏差が許容されるため、満足できる結果を作成しないことに留意されたい。
以下において、特に重要な例、つまり、エラー訂正コードが反復コードであるときのバイアスの検出が編み出されている。
バイアスがヘルパーデータを通じてPUFビットの漏えいをもたらすため、登録の間のバイアス検出は重要である。あるバイアスは、鍵を計算するためにより長いPUFレスポンスを用いることで補償でき、そのため鍵における残余の不確実性がなおも十分に大きく、しかしながらそうであったとしても、PUFのバイアスは、PUFが設計された範囲内にあるべきである。実施形態では、統計的検定は、0ビットまたは1ビットについての物理的複製困難関数のバイアスが許容可能なバイアス範囲内であることを確証するように構成されている。
反復コードは、たくさんのエラーを訂正できるが符号の複雑さが非常に小さいため、PUFノイズ低減にうまく適合されている。実施形態では、エラー訂正コードが、最も内部のコードが反復コードである連接エラー訂正コードであり、エラー訂正反復コードの一続きのコード語が、連接エラー訂正コードから1つまたは複数のコード語を選択することで選択される。
連接コードは、2つ以上のより単純なコードから構成されるエラー訂正コードである。2つのコードから構成される連接コードでは、これらのより単純なコードは、内部コードおよび外部コードと呼ばれる。連接コードのコード語は、メッセージを最初に外部コードに従ってコード化し、その結果を内部コードでコード化するものであり得る。3つ以上のコードがある場合、メッセージは連続するより内部のコードでコード化される。その構成のため、最も内部のコードが反復コードである連接コードが、反復コード語のシーケンスであるコード語を有する。適切な外部コードは、リードソロモンコード、リード−マラーコード、BCHコード、またはゴレイコードなどであり得る。
反復コードが連接コードの最も内部のコードとして使用されるとき、ヘルパーデータ創成ユニット130は、エラー訂正反復コードの一続きの反復コード語を選択し、第1のノイジービットストリングの対応する部分と一続きのうちの各々の反復コード語の排他的論理和(XOR)を取るように構成され、したがってヘルパーデータの少なくとも一部を得る。
第1の統計的検定の実施形態は、図2を用いて示されている。
図2は、例えば第1のノイジービットストリング112といった、第1のノイジービットストリング200を示している。
図2は、コード語211、212、213、214、および215で示された反復コード語のシーケンス210をさらに示している。反復コード語は、0ビットだけ、または、1ビットだけから成る。反復コード語は少なくとも2ビットの長さであるが、3ビット、4ビット、5ビット、7ビット、8ビット、16ビット以上など、より長くてもよい。n≧3での長さnの反復コードは、
Figure 0006827032
ビットのエラーまで訂正でき、(n−1)ビットのエラーまで検出できる。図2では、0の反復コード語が空白の四角(211、214、および215)として示され、1の反復コード語が影付きの四角(212および213)として示されている。影付きは、シーケンス210に適用されているだけであり、他の列にはない。1および0のコード語の具体的なシーケンスは、単なる例示である。これらのシーケンスは、ランダムな反復コード語を直接的に生成することで、または、最も内部のコードが反復コードである連接コードからランダムなコード語を生成することで、得られてもよい。例えば、ランダムコード語は、(真の)乱数生成器(別にされて示されていない)を使用して生成されてもよい。
第1のノイジービットストリング200は、反復コード語210と同じ大きさのブロック(部分)へと分割されている。第1のノイジービットストリング200におけるビットパターンは、例えばPUF仕様内で、ランダム、または、少なくともランダムに近くなるべきである。
第1のノイジービットストリング200とシーケンス210の排他的論理和は、PUFレスポンス200のマスク版である。例えば、コード語のシーケンスは、ヘルパーデータ創成ユニット130によって選択されてもよく、この場合、シーケンス220はヘルパーデータである。ヘルパーデータ220は、コード語と同じ長さのブロックに分割されてもいる。第1の統計的検定は、PUFレスポンス200においてではなく、ヘルパーデータ220において実施される。この方法では、計算がPUFレスポンスにおいて直接的に実施されないため、PUFレスポンスにおける重要な情報の漏えいの機会はより少ない。PUFレスポンスでコード語の排他的論理和を取ることはPUFデータで計算するが、これは、第1にほとんど電力を必要としない計算であり、そのためサイドチャネルへの寄与は小さく、第2に、ヘルパーデータを計算するときにいずれにせよ行われる必要がある演算である。ヘルパーデータにおいて第1の統計的検定を実行することで、プレーンなPUFレスポンスへの追加のアクセスは必要とされない。
実施形態では、第1の統計的検定は、ヘルパーデータ220の各々のブロックについてハミング重み(231−236)を決定することを含む。決定されたハミング重みから、物理的複製困難関数のバイアスが許容可能なバイアス範囲内にあるかどうかが決定される。その決定はいくつかの方法で行うことができる。
例えば、第1の統計的検定は、上側ハミング重み閾値を上回る、または、下側ハミング重み閾値を下回る決定されたハミング重みの数を計数することを含んでもよい。反復コードのブロックの大きさがnである場合、都合の良い選択は、n−1となるように上側ハミング重み閾値を取り、1となるように下側ハミング重み閾値を取ることである。この方法では、ヘルパーデータ220のすべての0のブロックまたはすべての1のブロックだけが計数される。実施形態では、上側ハミング重み閾値はn−cであり、下側ハミング重み閾値はcであり、c<n/2である。例えば、cは、1、2、3、または4などであり得る。反復コードのより長いブロックの大きさは、より大きい値のcを許容する。c≧2の値を使用することは、特により大きいブロックの大きさについて、より極秘となる。
これは、計数器ユニット240によって行われてもよい。計数器ユニット240の出力、つまり、極端なハミング重みの数は、統計的検定によって計算される統計パラメータである。計数は計数242として示されている。
ハミング重みの分布は、増加するバイアスに応じて変化できる。適度なバイアスの場合、通常より大きい(または、小さい)ハミング重みの数は、バイアスがさらに、増加するにつれて増加し始め、分布がいちばん端へとさらに移動する。例えば、長さ8のブロックを考える。1ビットについてのバイアスが増加するにつれて、ハミング重み6および7を伴うブロックの数が増加することになる。しかしながら、バイアスがさらに増大する場合、重み8のブロックの数における増加がそれらを上回るため、ハミング重み6および7を伴うブロックの数は再び減少する。したがって、分布がバイアスと共に変化するため、極端ではないハミング重みを計数するとき、注意が必要である。上側閾値または下側閾値を上回るまたは下回るハミング重みを計数することは、この分布変化によって非対称とされない。
最後に、第1の統計的検定は、例えば、計数242が許容された計量されたハミング重み範囲にあるかどうかといった、計数242が統計的検定の基準を満たすかどうかを決定する。例えば、基準は、計数242が上側係数閾値を下回ることであり得る。極端なハミング重みを伴うヘルパーデータ220のブロックが多すぎる場合、PUFはバイアスされやすい。
任意選択で、基準は、計数242が下側計数閾値を上回ることも要求し得る。これは大きなバイアスに関係しないが、それでも極端なハミング重みが少なすぎるため、PUFのランダム性が欠けていることを指し示している。
上側係数閾値および下側計数閾値についての値は、大きさnのランダムブロックについてのハミング重みの2項分布と、許容可能な第一種過誤(PUFが正確に作動しているにも拘らずPUFが不十分なランダム性であるとして分類される可能性)とから導出できる。
代替で、第1の統計的検定は、すべての異なるハミング重みの発生を表にしてもよく、ハミング重みwおよびwは、w+w=nの場合にひとまとめにされる。したがって、表は
Figure 0006827032
の入力を有する。ハミング重み230の観察された頻度は、所与のブロックの大きさについてのハミング重みの理論的な(例えば、折り返された2項)分布と比較されてもよく、PUFのランダムな出力を仮定している。観察された分布が理論的な分布から過度に大きく異なる場合、PUFは、不十分なランダム性であると見出される。例えば表とされた頻度といった、観察された分布を、理論的な分布と比較することは、いわゆるカイ二乗検定を用いてもよい。この代替は、真のランダム挙動からのよりわずかな偏差を検出するが、その許容されたバイアス範囲など、PUFの実際のパラメータになおも調節され得る。実施形態では、この検定は、先の検定より長いノイジービットストリングに適合される。
実施形態では、第1の統計的検定は以下のことを含む。
− 一続きの反復コード語の各々の反復コード語について、前記反復コード語と第1のノイジービットストリングの対応する部分の排他的論理和のハミング重み(231−236)を決定すること。例えば、ハミング重み230が決定され得る。
− nが反復コード語のビット長である場合に
Figure 0006827032
以下である各々のハミング重みwについて、wまたはn−wに等しい決定されたハミング重みの数を計数し、それによってハミング重みの観察された頻度を得ること。例えば、長さn=8の反復コードについては以下の計数が得られる。
0および8に等しい、1および7に等しいなど、3および5に等しい、ならびに、4に等しいハミング重みの数といった、全体で5の計数がこの場合には得られる。
− ハミング重みの観察された頻度と、PUFについてのハミング重みの特定された頻度とに対して、観察された分布を理論的な分布と比較するために、統計的検定を適用すること。例えば、特定された頻度は、例えば、1/2のバイアスの理想、または、PUFの実際の仕様に対応するバイアスといった、バイアスを仮定することで、および、PUFの仕様と反復コード語の数が与えられてのハミング重みの期待される分布を計算することで、得られてもよい。統計的検定は、例えばカイ二乗検定またはコルモゴロフ−スミルノフ検定といった、任意の2つの分布を比較するように設計された一般的な検定とでき、コルモゴロフ−スミルノフ検定は、反復コードのブロック長さが非常に長い場合に適している。統計的検定は、例えば折り返された2項分布といった特定の分布を、観察された分布と比較するための特定の検定であってもよい。観察された分布は、より極秘であるという利点を有する。このような検定は、統計学の文献から知られている。
− 観察された分布を理論的な分布と比較するための統計的検定が、ハミング重みの観察された頻度とPUFについてのハミング重みの特定された頻度とが分布の閾値より近いことを指示する場合、PUFが正しく機能することを決定すること。統計的検定は、比較された分布の閾値である統計パラメータを作成することになる。分布の閾値は、例えば10−6など、所望の第一種過誤率から計算できる。
ハミング重みは、統計的信頼性を維持しつつ情報を素早く要約するための都合の良い方法であるが、しかしながら、物理的複製困難関数が正しく機能することを確証するために第1のノイジービットストリングから生成されたヘルパーデータを登録局面の間に検定する第1の統計的検定は、ハミング重みを必ずしも使用する必要はない。なおもさらにわずかな偏差が、ハミング重みを用いることなく検出されることができる。例えば、第1の統計的検定は以下の検定を実施できる。nビットの2nの可能なビットパターンが、2(n−1)の対で分割されてもよく、各々の対における2つのパターンは、互いの補数になっている。各々の対について、対におけるパターンのうちの1つに等しい一続き220におけるブロックの数が計数される。最後に、対にわたって観察された分布が、前述したように、理論的な分布と比較される。これらの検定は、対応するビットストリング長さについて計算される適切な閾値を用いて、より短いビットストリングに適用できるが、より長いビットストリングへの適用に適している。
第1の統計的検定の実用的な例
コードオフセット構成に続いてPUFに基づく鍵生成器を考える。使用されたエラー訂正コードは、外部コードとしての(24、12)2進ゴレイコードと、内部コードとしての(8、1)反復コードとの連接である。このコード構成は15回繰り返される。このコードに基づく鍵生成器は、使用されたPUFが15%未満のビットエラー率と、バイアスが範囲[41.8%...58.2%]にある状態で独立同分布している(i.i.d.)ビットとを有する限り、10−6未満の失敗率で安全な128ビット鍵を導出することができる。PUFのバイアスがこの範囲外になる場合、導出された鍵は潜在的に安全でない。(van der Leestら、CHES−2012を参照)。10−6より大きいまたは小さい失敗率が可能であり、用途に依存する。
検定詳細:
マスクされた反復コード2進比検定が、使用されたPUFが必要とされる範囲内でバイアスを有することを確証するために使用される。この検定のために、PUFレスポンスビットがi.i.d.であることが仮定される。検定は、この鍵生成器によって作成されているコードオフセットヘルパーデータに適用できるように設定され、そのため、導出されるデータがパブリック情報と考えられるため、検定統計値は極秘情報を漏えいできない。
コードオフセットヘルパーデータ構成において排他的論理和が取られる8ビット反復コード語と合致するPUFレスポンスの連続8ビットシーケンスが考えられる。全体で、すべてのPUFレスポンスは、15x24=360のこのような8ビットシーケンスから成る。これらの8ビットPUFレスポンスシーケンスのハミング重みは、パラメータ(n=8、p=PUFのバイアス)での2項分布に従う。
(ランダムな)8ビット反復コード語で排他的論理和が取られた後、対応する8ビットヘルパーデータシーケンスのハミング重みは、PUFレスポンスのハミング重み(反復コード語がすべて0の場合)、または、その補数(反復コード語がすべて1の場合)のいずれかと同じである。したがって、これらの8ビットヘルパーデータシーケンスのハミング重みは、次式によって定められる分布に従う(すべての数学はMatLabでの取り決めを用いている)。
Pr[HW=s]=Pr[HW=n−s]=1/2*BinoPDF(s;n,p)+1/2*BinoPDF(n−s;n,p)、
これは0および1の反復コード語がランダムに均一に起こるからである。より一般的には、
S≠n/2の場合、q(s)=Pr[HW=sまたはn−s]=BinoPDF(s;n,p)+BinoPDF(n−s;n,p)、
さもなければ、q(s)=Pr[HW=s]=BinoPDF(s;n,p)
であると述べることができる。
したがって、q(s)は、ハミング重みがsまたはn−sのいずれかのnビットのヘルパーデータシーケンスの期待される発生率である。この期待される発生率に基づいて、nビットのヘルパーデータシーケンスのセットにおいてハミング重みsまたはn−sの発生数における上界および/または下界を決定することもでき、つまり、非常に高い確率で、K個連続するnビットのヘルパーデータシーケンスのセットにおけるハミング重みsまたはn−sの発生数が、所定の上界(または所定の下界)より小さく(または大きく)なる。我々は、この検定をマスクされた反復コード2進比検定と言及する。
この例では、我々は、例えばs=0を考える、つまり、(HW=0またはHW=8−0=8)の発生が、8ビットのヘルパーデータシーケンスについて考えられる。PUFバイアスについての値は、許容可能なバイアスが安全な鍵生成をなおも有するための閾値、つまり、p=58.2%(または、p=41.8%)に設定される。これは次式を生じさせる。
q(s=0)=BinoPDF(0;8,58.2%)+BinoPDF(8;8,58.2%)=1.41%
したがって、観察されたヘルパーデータのうち、K=360の8ビットシーケンスの平均1.41%において、または、約5個のシーケンスは、PUFのバイアスが58.2%であるとき、0または8のハミング重みを持つと期待される。さらに、これらの状況において、圧倒的な可能性(1−10−6超)で、ハミング重み0または8を伴う観察された8ビットシーケンスの数は、次式のため、当然ながら20より小さい。
Pr[(#HW=0または8を伴う観察されたシーケンス)≦19]=BinoCDF(19;360,1.41%)>1−10−6
ハミング重み(0または8)の20以上の観察が起こる可能性が非常に低いため、これは上界として設定できる。ハミング重み(0または8)の観察の数が19を超える場合、非常に高い可能性で、これはPUFの高すぎるバイアスのためであり、マスクされた反復コード2進比検定は失敗を出力することになる。この例の鍵生成器についてのこの検定の基本的な流れは、図3aに示されている。
図3bは、0または8のHWで、360個のシーケンスにおける20個未満の8ビットシーケンスを観察する上界を用いて、n=8ビット反復コードに関してのマスクされた反復コード2進比検定についての失敗率曲線を示している。この検定は、許容可能なバイアス区間[41.8%...58.2%]について、10−6未満の失敗率を有し、その区間の外側でより高い失敗率を有するように調節されていた。検定の失敗は、この検定に従っては、バイアスが許容できないことを指し示している。
失敗を出力する検定の確率は、PUFの実際の真のバイアスに依存する。提示されている例については、この関係は図3bに示されている。この曲線は、範囲[41.8%...58.2%]における許容可能なバイアスについて、検定の失敗率が10−6未満であることを示している(したがって、検定は、許容可能なバイアスでPUFを誤って拒絶する10−6未満の非常に小さいフォールスリジェクションレートを有する)。しかしながら、バイアスが許容可能な区間の外側である場合、検定の失敗率は10−6を超えて急激に上昇し、70%超または30%未満のバイアスについて、100%にすぐに到達する(検定によって検出された100%の確実性を伴わない、おおよそ[30%...41.8%]および[58.2%...70%]といった、許容できないバイアスレベルの特定の区間がある)。
検定がPUFにおいていくらかのバイアスを許容するために調節され得ることに留意されたい。この場合、許容可能なバイアス区間内にバイアスを伴うPUFは、正確に機能するとして解釈されるべきである。完璧な50−50のバイアスからの偏差を検出するだけの統計的検定は、多くのPUFが適度なバイアスを有するため、実際のところ有用ではない。このような適度なバイアスは、(例えば、完璧なバイアスを伴うPUFについて必要とされるよりも、暗号鍵または乱数シードを導出するためにより大きいPUFレスポンスを用いる)暗号装置の残りの部分が適度なバイアスを考慮するように設計され得るため、許容可能である。このようなシステムであっても、PUFが許容可能なバイアス区間の外側にあるバイアスを有する場合、問題が生じる可能性がある。実施形態では、統計的検定は、0ビットまたは1ビットについての物理的複製困難関数のバイアスが許容可能なバイアス範囲内であることを確証するように構成されている。
この検定は、他の許容可能なバイアスレベル、および、提示した数式に基づかれる他の必要とされる検定失敗率のために調節されてもよい。さらに、検定は、例えば、HW=(1もしくは7)またはHW=4、...といった、他のハミング重み観察のために調節されてもよく、許容可能なハミング重み観察の数についての上界または下界をもたらすことができる。異なるハミング重み観察を伴う検定の組み合わせを用いることも可能である。検定は、他の反復コード長さについて同様に採用されてもよい。
第2の統計的検定124
第1の統計的検定と同様に、第2の統計的検定も、PUFレスポンスにおける新たな演算の導入を回避するために、ヘルパーデータを使用する。第1の統計的検定は、登録局面の間にPUFレスポンスから生成されるヘルパーデータにおいて演算できる。第2の統計的検定は、登録局面の間に生成される同じヘルパーデータと、再構成局面の間に生成されるPUFレスポンス出力とにおいて演算できる。
図1を参照する。再構成局面の間、PUF110は第2のノイジービットストリング114を生成する。正規化部150は、第2のノイジービットストリング114を、ヘルパーデータ記憶部132において登録の間に記憶されたヘルパーデータ144と組み合わせる。2進データについて、ヘルパーデータ144と第2のノイジービットストリング114は排他的論理和が取られ得る。正規化演算の結果は、コード語、またはコード語のシーケンスに近いビットストリングが得られることである。後者は、訂正可能ビットストリングと言及されてもよい。エラー訂正ユニット152は、エラー訂正アルゴリズムを訂正可能なビットストリングに適用する。エラー訂正アルゴリズムは、登録コード語が引き出されたエラー訂正コードに対応する。エラー訂正の後、再現可能な暗号鍵が導出され得る信頼できるビットストリングが得られる。
第2の統計的検定は、訂正されたエラーの数から、PUFに関する結果を引き出す。興味深いことに、第2の統計的検定は、PUFが最小の数のエラーを有することを必要とする。エラーが少なすぎることは、PUFのノイズが少なすぎ、そのため乱数シードを導出するのに適していないという合図である。
実施形態では、統計的検定は第2の統計的検定124を含んでいる。第2の統計的検定(124)は、ヘルパーデータ記憶部に記憶されたヘルパーデータを用いて、再構成局面の間に実行される。エラー訂正ユニットは、第1のノイジービットストリングと第2のノイジービットストリングとの間の差異ビットの数、つまり、訂正エラーの数を計数するように構成される。第2の統計的検定は、異なるビットの数が差異閾値より大きい場合、正しく機能することを決定する。
図4aは、これを行う1つの方法を示している。例えばノイジービットストリング114といった、第2のノイジービットストリング500が示されている。第2のノイジービットストリング500は、再構成局面の間にPUF110から直接的に得られてもよい。第2のノイジービットストリング500は、例えば、エラー訂正部152によって訂正されるエラー訂正コードのコード語の訂正可能な近傍にマッピングされるといった、正規化部150によって正規化されることになる。実施形態では、エラー訂正ユニット152は、第2のノイジービットストリング500とヘルパーデータから登録コード語を決定する。登録コード語およびヘルパーデータから、元の第1のノイジービットストリングが計算され得る。ヘルパーデータを作り出すために以前に使用された第1のノイジービットストリングは、第1のノイジービットストリング510として、図4aに示されている。第2のノイジービットストリング500と第1のノイジービットストリング510との間の差異は、エラーベクトル520である。2進の場合について、エラーベクトル520は、ビットストリング500と510における排他的論理和演算によって得ることができる。エラーベクトル520は、第1および第2のノイジービットストリングがどこで異なるかを指し示す。例えば計数器ユニットといったハミング重み演算器540は、エラーベクトル520のハミング重み542を計算する(例えば、エラーベクトル520における1ビットを計数するように構成された計数機ユニット540)。
PUFが暗号鍵を導出するのに適しているため、エラーベクトル520のハミング重み、つまり、エラー計数542は、ある閾値未満となる。そうでない場合、PUFは信頼できる鍵を導出するには不安定すぎる。PUFにおけるエラーの数が期待されているよりも大きくなるかどうかを確証するための必要性がより小さくなる。PUFが期待されるよりも多くのエラーを有する場合、これは、再構成局面の間に導出された暗号鍵が登録局面の間に導出された鍵と異なりやすいため、やがて明らかになる可能性がある。そのため、再構成鍵での復号演算などが、失敗することになる。この状況は残念であるが、少なくとも、PUFが失敗したことは明らかである。PUFが失敗したことは、エラー計数542が小さすぎる場合、不明確である。
乱数シードが、十分なエントロピを有する第2のノイジービットストリング510から導出される場合、このベクトルのハミング重みは十分に大きくなるべきである。実施形態では、第2の統計的検定は、異なるビットの数が差異閾値より大きい場合、正しく機能することを決定する。
エラーベクトル520におけるエラーの分布は、エラーベクトル520にわたってランダムに分布されるべきである。実施形態では、第2の統計的検定は、エラーベクトル520における1ビットの分布が、PUFが設計されているランダム性からさらに異なることがないことを確証する。有意性は用途に依存する可能性があり、例えば、10−6の有意水準が使用されてもよい。分布は、エラーベクトル520を複数の部分で分割し、各々の部分のハミング重みが閾値より大きいことを決定することで確証されてもよい。実施形態では、エラーベクトル520は、計算開始の前に十分に計算される必要はない。エラーベクトル520の部分は、ハミング重みへの寄与が計数され、その後にその部分が廃棄され、エラーベクトル520の次の部分が計算されてもよい。
エラーベクトル520における統計的検定を実施することは、具体的には、PUFのノイズエントロピを検定する。良好なPUFについて、典型的には、装置間エントロピは、ノイズエントロピを支配する。したがって、第2のノイジービットストリングにおける、例えばFIPS検定といった従来の乱数検定は、ノイズエントロピが低すぎる場合であっても、高い確率で成功することになる。
PUFに基づく鍵生成のエラー訂正過程では、登録手続きと再構成手続きとの間で異なるPUFレスポンスビットが訂正される。この検定は、特定の大きさのPUFブロックにおいて訂正されるビットの数を計数する。多くのエラー訂正手続きでは、エラー計数542がいずれにしても二次的な出力として提供されることに留意されたい。この場合、追加の計算は、差異の総数を得るために必要とされない。
第2の統計的検定124の実施形態では、計算された統計パラメータは、第1のノイジービットストリングと第2のノイジービットストリングとの間の差異の総数である。この形の実施形態は図4aに示されている。差異の総数は、ノイズエントロピについての直接的な情報を与え、例えば差異の総数の閾値より小さいといった、差異の総数が小さすぎる場合、PUFは、小さすぎるノイズエントロピを有するとして解釈される可能性がある。この場合、乱数シードをPUFから導出することは勧められない。しかし、鍵を第2のノイジービットストリングから再構成することはなおも可能である。装置間エントロピは、ノイズエントロピが小さすぎるとしても十分であり得る。
第2の統計的検定124の実施形態では、計算された統計パラメータは、第1のノイジービットストリングと第2のノイジービットストリングとの間の差異において最も長い一連の差異ビットである。第2の統計的検定124の実施形態では、計算された統計パラメータは、第1のノイジービットストリングと第2のノイジービットストリングとの間の差異において最も長い一連の非差異ビットである。図4bはこれらの実施形態を示している。図4bは、例えば、再構成された第1のノイジービットストリングと第2のノイジービットストリングとの間の排他的論理和といった、エラーベクトルの一部を示しており、例えばエラーベクトル520の一部を示している。この実施形態では、1ビットは差異に対応し、エラーとも言及され、0ビットは非差異に対応し、すなわち第1のノイジービットストリングと第2のノイジービットストリングとが一致する位置である。最も長い一連の統計値は、第2のノイジービットストリングにおけるノイズの分布についての情報を提供する。例えば、統計的検定は、最も長い一連の差異ビットが、上側の最も長い一連の差異ビット閾値を上回る、または、下側の最も長い一連の差異ビット閾値を下回ることを決定できる。例えば、統計的検定は、最も長い一連の非差異ビットが、上側の最も長い一連の非差異ビット閾値を上回る、または、下側の最も長い一連の非差異ビット閾値を下回ることを決定できる。上側または下側の最も長い閾値は、設計された許容可能なノイズ範囲でPUFについての一連の理論的分布を決定することで計算され得る。
参照521において、一連の差異が見られ、例えば、すべてエラーであるエラーベクトルにおける一続きの連続ビットが見られる。参照522において、一連の非差異が見られ、例えば、すべて非差異であるエラーベクトルにおける一続きの連続ビットが見られる。図4bでは、最も長い一連、すなわち、少なくともエラーベクトルの示した部分の最も長いところが、指し示されている。
最も長い一連の決定は漸次的に行われてもよい。この場合、エラーベクトルは、任意の具体的なときに装置100において完全には利用可能である必要はない。エラーベクトルの一部が計算されてもよく、統計パラメータが更新され、エラーベクトルの一部は新たな部分によって置き換えられる。
これらの実施形態では、PUFレスポンスは登録と再構成との間で再評価され、そうでなければ検定は有意義な結果を作成できない。
理論的には、PUFが、例えば安定性とランダム性との両方が十分であるといった、正確に作動している場合、同じ第2のノイジービットストリングが、暗号鍵を再構成するために、および、乱数シードを導出するために、使用されてもよい。乱数シードは、訂正されていない第2のノイジービットストリングから計算され、暗号鍵は、訂正された第2のノイジービットストリングから再構成される。例えば、実施形態では、乱数シード生成ユニット140は、第2の統計的検定が正しく機能することを指示する場合のみ、エントロピ集中関数を第2のノイジービットストリングに適用することで、乱数シードを生成するように構成されている。乱数シードが十分に長く十分にランダムである場合、訂正されていない第2のノイジービットストリングにおけるノイズは、訂正されていない第2のノイジービットに存在するあらゆる情報を支配することになる。この場合、例えば暗号ハッシュ関数といった、強力な非可逆的エントロピ集中関数が望ましい。
しかしながら、暗号鍵についての情報が乱数作成を通じて漏えいし得るあらゆる機会を回避するために、異なるPUFレスポンスが乱数シードを作成するために使用されてもよい。例えば、実施形態では、物理的複製困難関数110は、再構成局面の間に、第2のノイジービットストリング114と、さらなるノイジービットストリング116とを作成するように構成され、第2のノイジービットストリング114とさらなるノイジービットストリング116とは重ならない。乱数シード生成ユニット140は、第2の統計的検定が正しく機能することを指示する場合のみ、エントロピ集中関数をさらなるノイジービットストリングに適用するように構成されている。これは、乱数が暗号鍵についての情報を漏えいできないという利点を有する。
例えば、実施形態では、PUFはメモリに基づかれ、第1および第2のノイジービットストリングは第1のメモリアドレスから得られ、さらなるノイジービットストリングは第2のメモリアドレスから得られ、第1および第2のメモリアドレスは異なり、好ましくは重ならない。第1および第2のノイジービットストリングは、例えば同じアドレスといった、同じ第1のチャレンジに対するレスポンスとして解釈でき、さらなるノイジービットストリングは、第1のチャレンジと異なり、例えば異なるアドレスといった、第2のチャレンジに対するレスポンスとして解釈できる。他のPUFがその手法で使用されてもよく、例えば、遅延PUFが、第1および第2のノイジービットストリングを作成するために第1のチャレンジでチャレンジされ、さらなるノイジービットストリングを作成するために、再構成の間に第2のチャレンジでチャレンジされてもよい。
図5は、さらなるノイジービットストリング116を用いる実施形態を示している。例えば、この実施形態では、第2のノイジービットストリングは、正規化部150によって、例えばコード語の訂正可能な近傍における語といった、訂正可能なビットストリングにマッピングされてもよい。第2の統計的検定は、訂正された第2のノイジービットストリングと、訂正されていないノイジービットストリングとの間の差異において実施され、訂正された第2のノイジービットストリングが第1のノイジービットストリングと同じであることに留意されたい。PUFが、例えば十分なエントロピまたは十分なノイズを有するなど、その仕様内で作動していることを第2の統計的検定が指し示す場合、乱数シードはここではさらなるノイジービットストリング116から導出される。実施形態では、第2のノイジービットストリングおよびさらなるノイジービットストリングは、それらがPUFの異なる部分から得られるため、統計的に独立しているが、第1および第2のノイジービットストリングは、ノイズを除いて同じである。
実験は、第2のノイジービットストリングから計算された統計値がPUF全体を表しており、そのためさらなるノイジービットストリングも表していることを示している。この関係は、第2のノイジービットストリングおよびさらなるノイジービットストリングをインターリーブすることでさらに向上できる。例えば、PUFはメモリに基づくPUFとでき、第1および第3のメモリは、さらなるビットストリングへの寄与に対処し、第2および第4のメモリは、第2のノイジービットストリングへの寄与に対処し、第1のアドレスは第2のアドレスより小さく、第2のアドレスは第3のアドレスより小さく、第3のアドレスは第4のアドレスより小さい。
第2の統計的検定の実用的な例
メモリに基づくPUFレスポンスの1キロバイト(8192ビット)部分が、128ビットの安全強度を伴うDRBGのシードのために使用される。8192ビット部分はさらなるPUFレスポンスである。[NIST、SP800−90A、Recommendation for Random Number Generation Using Deterministic Random Bit Generators]によれば、このPUFレスポンスデータのノイズの最小エントロピは、少なくとも192ビットとなるべきである。このPUFは、[40%−60%]内のバイアスのために設計されている。このようなPUFが十分なノイズ最小エントロピに8192ビットを提供するために、その(平均)ビットエラー率は、少なくとも2.6%となる必要があるように決定される。
このPUFレスポンスの別の部分(2880ビット)は、鍵生成のために使用される。これらは第1および第2のノイジービットストリングである。この部分は、DRBGのシードのために使用される部分とは完全に別とできるが、それらは同じPUFに由来するため、バイアスおよびビットエラー率に対して同じ品質を有すると仮定される。鍵生成のために使用される部分は、PUFレスポンスにおけるビットエラーの存在下で同じ鍵を再構成するために、エラー訂正構成(例えば、コードオフセットヘルパーデータ構成)に通される。
検定詳細:
鍵再構成の間に、鍵生成器は、そのノイズのある形態とそのエラー訂正形態との両方において、PUFレスポンスの一部へのアクセスを有するため、起こったビットエラーの数を計数できる。この計数の観察に基づいて、ビットエラー率が少なくとも2.6%であるという仮定の下でこれが現実的な観察であるかどうかかが決定され得る。具体的には、観察されたビットエラーの数についての下側の閾値を決定できる。
T=BinoCDF−1(10−6;2880,2.6%)=38
観察されたビットエラーの数がこの閾値を下回る場合、高い確率(1−10−6超)で、これは平均ビットエラー率が十分に高くないためである。その場合、このビットエラー数検定は失敗を出力することになる。この例の鍵生成器についてのこの検定の基本的な流れは、図6aに示されている。原理的にこの状況における失敗検定は、鍵生成自体についての結果を有しておらず、検定結果(鍵生成に基づかれる)は、DRBGのシードにとっての重要性のものだけであることに留意されたい。
失敗を出力する検定の確率は、PUFの実際の真のビットエラー率に依存する。提示されている例については、この関係は図6bに示されている。図6bは、2.6%超の許容可能なビットエラー率について、10−6未満の失敗率を有するように調節されたビットエラー数検定についての失敗率曲線を示している。この具体的な検定は、2880ビットPUFレスポンス部分における観察されたビットエラーの数が38より小さい場合、失敗を出力する。検定の失敗は、この検定に従っては、ビットエラー率(ノイズ最小エントロピ)が許容できないことを指し示している。
この曲線は、2.6%より大きい許容可能なビットエラー率について、検定の失敗率が10−6未満であることを示している(したがって、検定は、許容可能なビットエラー率を有するPUFを誤って拒絶する10−6未満の非常に小さいフォールスリジェクションレートを有する)。しかしながら、平均ビットエラー率が許容可能な限度より小さい場合、検定の失敗率は10−6を超えて上昇し、1.0%未満の平均ビットエラー率について100%に近付く。検定によって検出される100%の確実性を伴わない、おおよそ[1.0%...2.6%]の、許容できない平均ビットエラー率の特定の区間がある。異なる用途に応じて、第一種過誤と第二種過誤の間の異なるトレードオフと対応するエラーレベルが作られてもよい。この検定は、他の許容可能な平均ビットエラー率レベル、および、提示した数式に基づかれる他の必要とされる検定失敗率のために調節されてもよい。
典型的には、装置100は、装置100において記憶される適切なソフトウェアを実行するマイクロプロセッサ(図示せず)を備えており、例えば、そのソフトウェアは、例えば、RAMなどの揮発性メモリまたはフラッシュなどの不揮発性メモリといった(図示せず)、対応するメモリにダウンロードおよび/または記憶されていてもよい。代替で、装置100は、全部または一部で、例えばフィールドプログラマブルゲートアレイ(FPGA)として、プログラマブル論理で実装されてもよい。装置100は、全部または一部で、いわゆる特定用途向け集積回路(ASIC)、つまり、それらの特定の使用のためにカスタマイズされた集積回路(IC)として実装されてもよい。
実施形態では、装置100は、物理的複製困難関数回路、ヘルパーデータ創成回路、統計回路、鍵導出回路、エラー訂正回路、乱数シード生成回路、正規化回路、および/またはヘルパーデータ記憶回路を備える。回路は、本明細書に記載した対応するユニットを実装する。回路はプロセッサ回路および記憶装置回路とでき、プロセッサ回路は、記憶装置回路における電子的に表された命令を実行する。回路はFPGAまたはASICなどであってもよい。
図7は、暗号方法の例についての流れ図を概略的に示している。方法700は、例示の実施形態であり、任意選択の特徴を含んでおり、実施形態では、方法700は、本明細書に記載されているように構成され得る。方法700は、装置100、101、1110などの装置において実行され得る。
暗号方法700は登録局面710と再構成局面730とを含む。
登録局面710は、
− 第1のノイジービットストリング(112)を物理的複製困難関数(PUF 110)で作成するステップ712と、
− 再構成局面の間に、暗号鍵を第2のノイジービットストリング(114)から決定するために、第1のノイジービットストリングからヘルパーデータを生成するステップ714と、
− 第1のノイジービットストリングから生成されたヘルパーデータにおいて第1の統計的検定を実行するステップ716と
を含む。
例えば、装置間エントロピが小さすぎるように見え、または、PUFのバイアスが大きすぎるといった、PUFが正確に機能しないことを第1の統計的検定が指し示す場合、ヘルパーデータは廃棄される(718および720)。一部の装置では、例えば、異なるチャレンジを試す、および、新たな第1のノイジービットストリングを作成するといった、回復機構があってもよい。PUFが単一回チャレンジのPUFである場合、同じチャレンジが再び適用されてもよく、例えば、SRAMを再電源投入するといった、メモリを再電源投入することで、メモリに基づくPUFの場合である。他の装置では、装置は全体で廃棄されなければならない可能性がある。
再構成局面730は、
− 第2のノイジービットストリング(114)を物理的複製困難関数(PUF 110)で作成するステップ732と、
− 第1のノイジービットストリング(112)を第2のノイジービットストリング(114)およびヘルパーデータから再構成するステップと、
− 例えば、暗号鍵が、ハッシュ関数を適用することでなど、第1のノイジービットストリングから導出され得るといった、暗号鍵を決定するステップ736と、
− 第1のノイジービットストリングと第2のノイジービットストリングとの間の差異を決定するステップ738と、
− 前記差異において第2の統計的検定を実行するステップ740と
を含む。
PUFが第2の統計的検定によると正確に作動している742場合、エントロピ集中関数が乱数シードを生成するために適用される744。エントロピ集中関数は、第2のノイジービットストリングの全部または一部に適用されてもよく、または、PUF110のさらなるレスポンスに適用されてもよい。
当業者には明らかとなるように、方法を実行する多くの異なる方法が可能である。例えば、ステップの順番は変更されてもよく、または、一部のステップは並行して実行されてもよい。さらに、ステップ同士の間で、他の方法ステップが挿し込まれてもよい。挿し込まれたステップは、本明細書に記載されているものなどの方法の改良を表してもよく、または、方法に関係されてなくてもよい。例えば、ステップ736および740は、少なくとも部分的に、平行して実行されてもよい。さらに、所与のステップは、次のステップが開始される前に完全には完了していなくてもよい。
本発明による方法は、プロセッサシステムに方法700を実施させるための命令を含むソフトウェアを用いて実行されてもよい。ソフトウェアは、システムの特定の下位エンティティによって取られるステップを含むだけでもよい。ソフトウェアは、ハードディスク、フロッピ、メモリなど、適切な記憶媒体に記憶され得る。ソフトウェアは、有線もしくは無線に従って、または、インターネットなどのデータネットワークを用いて、信号として送信されてもよい。ソフトウェアは、ダウンロードで、および/または、サーバにおける遠隔使用で利用可能とされてもよい。本発明による方法は、方法を実施するために、例えばフィールドプログラマブルゲートアレイ(FPGA)といった、プログラマブル論理を構成するように配置されたビットストリームを用いて実行されてもよい。
本発明が、本発明を実行するように適合された、特にはキャリア上またはキャリア内におけるコンピュータプログラムであるコンピュータプログラムにも拡張することが理解されよう。プログラムは、ソースコード、オブジェクトコード、コード中間ソース、および、部分的にコンパイルされた形態などのオブジェクトコードの形態で、または、本発明による方法の実施での使用に適した任意の他の形態であり得る。コンピュータプログラム製品に関連する実施形態は、前述した方法のうちの少なくとも1つの処理ステップの各々に対応するコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに分割されてもよい、および/または、静的または動的にリンクされ得る1つまたは複数のファイルで記憶されてもよい。コンピュータプログラム製品に関連する別の実施形態は、前述したシステムおよび/または製品のうちの少なくとも1つの手段の各々に対応するコンピュータ実行可能命令を含む。
図8aは、コンピュータプログラム1020を含む書き込み可能部1010を有するコンピュータ可読媒体1000を示しており、コンピュータプログラム1020は、実施形態による、プロセッサシステムに暗号方法を実施させるための命令を含む。コンピュータプログラム1020は、物理的な印として、または、コンピュータ可読媒体1000の磁化を用いて、コンピュータ可読媒体1000に具現化され得る。しかしながら、任意の他の適切な実施形態が同じく考えられる。さらに、コンピュータ可読媒体1000は、光学ディスクとしてここでは示されているが、ハードディスク、ソリッドステートメモリ、フラッシュメモリなど、任意の適切なコンピュータ可読媒体であってよく、書き込み不可能または書き込み可能であり得ることが理解されよう。コンピュータプログラム1020は、プロセッサシステムに前記暗号方法を実施させるための命令を含む。
図8bは、実施形態によるプロセッサシステム1100の概略的な描写を示している。プロセッサシステムは、1つまたは複数の集積回路1110を備えている。1つまたは複数の集積回路1110のアーキテクチャは、図8bに概略的に示されている。回路1110は、実施形態による方法を実行するために、および/または、そのモジュールもしくはユニットを実装するために、コンピュータプログラム構成要素を実行するための、例えばCPUといった、処理ユニット1120を備えている。回路1110は、プログラムコード、データなどを記憶するためのメモリ1122を備えている。メモリ1122の一部は読み取り専用であり得る。回路1110は、例えばアンテナ、コネクタ、またはその両方など、通信要素1126を備えてもよい。回路1110は、方法で定められた処理の一部または全部を実施するための専用集積回路1124を備えてもよい。プロセッサ1120、メモリ1122、専用IC1124、および通信要素1126は、バスといった相互接続部1130を介して互いと接続され得る。プロセッサシステム1110は、アンテナおよび/またはコネクタをそれぞれ使用して、接触および/または非接触の通信のために構成されてもよい。
前述の実施形態が本発明を限定するのではなく例示していることと、当業者が多くの代替の実施形態を設計できることとは、留意されるべきである。
クレームにおいて、丸括弧の間に配置された参照符号は、クレームを限定するとして解釈されるものではない。「備える(comprise)」という動詞およびその活用形の使用は、クレームにおいて述べられたもの以外の要素またはステップの存在を排除しない。要素に先行する「1つ(aまたはan)」という冠詞は、このような要素の複数の存在を排除しない。本発明は、いくつかの別個の要素を備えるハードウェアを用いて、および、適切にプログラムされたコンピュータを用いて、実施されてもよい。いくつかの手段を列記する装置クレームでは、これらの手段のうちのいくつかは、1つの同じハードウェアの品物によって具現化されてもよい。特定の方策が相互に異なる独立クレームにおいて提唱されているという事実だけによって、これらの方策の組み合わせが有利になるように使用できないということを指し示すことはない。
クレームでは、丸括弧における参照は、実施形態の図面における符号、または、実施形態の式に言及しており、それによってクレームの理解度を高めている。これらの参照は、クレームを限定するとして解釈されるものではない。

Claims (20)

  1. 電子暗号装置(100)であって、
    登録局面の間に第1のノイジービットストリング(112)を作成するように構成される物理的複製困難関数(PUF)(110)と、
    登録局面の間に第1のノイジービットストリングからヘルパーデータを生成するように構成されるヘルパーデータ創成ユニット(130)であって、ヘルパーデータが、後の再構成局面の間に、前記ヘルパーデータ、および、PUFによって作成される第2のノイジービットストリング(114)からの第1のノイジービットストリング(112)の再構成を許容する、ヘルパーデータ創成ユニット(130)と、
    物理的複製困難関数が正しく機能することを確証するための統計的検定を実行するように構成される統計ユニット(120)であって、統計的検定が、ヘルパーデータを用いて物理的複製困難関数のための統計パラメータを計算し、統計的検定が、統計パラメータが統計的検定の基準を満たす場合に正しく機能することを決定する、統計ユニット(120)と
    を備え、
    統計ユニットが、第1のノイジービットストリングから生成されるヘルパーデータにおいて登録局面の間に第1の統計的検定を実行するように構成されている、電子暗号装置(100)。
  2. 電子暗号装置が登録局面と後の再構成局面とのために構成され、
    ルパーデータ創成ユニット(130)が、登録局面の間に第1のノイジービットストリングからヘルパーデータを生成するように構成され、ヘルパーデータが、再構成局面の間に、前記ヘルパーデータおよび第2のノイジービットストリング(114)からの第1のノイジービットストリング(112)の再構成を許容するように構成される、請求項1に記載の電子暗号装置(100)。
  3. 暗号鍵を決定するように構成され、
    再構成局面の間に第2のノイジービットストリング(114)およびヘルパーデータから暗号鍵を決定するように構成される鍵導出ユニット(154)を備える、請求項2に記載の電子暗号装置(100)。
  4. 子暗号装置が、第1の統計的検定が物理的複製困難関数が正しく機能することを確証しない場合、登録局面の間に、第1のノイジービットストリングから生成されるヘルパーデータを廃棄し、第1の統計的検定が正しく機能することを確証する場合、ヘルパーデータを記憶するように構成される、請求項2または3に記載の電子暗号装置(100)。
  5. 第1の統計的検定が、0ビットまたは1ビットについての物理的複製困難関数のバイアスが許容可能なバイアス範囲内であることを確証するように構成される、請求項4に記載の電子暗号装置(100)。
  6. ヘルパーデータ創成ユニットが、
    エラー訂正反復コードの一続きの反復コード語(211−215)を選択し、
    一続きのうちの各々の反復コード語を、第1のノイジービットストリング(201−205)の対応する部分で排他的論理和(XOR)を取り、それによってヘルパーデータの少なくとも一部を得る
    ように構成される、請求項4または5に記載の電子暗号装置(100)。
  7. エラー訂正コードが、最も内部のコードが反復コードである連接エラー訂正コードであり、エラー訂正反復コードの一続きのコード語が、連接エラー訂正コードから1つまたは複数のコード語を選択することで選択される、請求項6に記載の電子暗号装置(100)。
  8. 第1の統計的検定が、
    一続きの反復コード語のうちの各々の反復コード語について、前記反復コード語と第1のノイジービットストリングの対応する部分の排他的論理和のハミング重み(231−236)を決定することと、
    決定されたハミング重みから、物理的複製困難関数のバイアスが許容可能なバイアス範囲内にあるかどうかを決定することとを含む、請求項5との組み合わせでの請求項6または7に記載の電子暗号装置(100)。
  9. 第1の統計的検定が、
    上側ハミング重み閾値を上回る、または、下側ハミング重み閾値を下回る決定されたハミング重みの数を計数することと、
    前記計数された数が許容される計数されたハミング重みの範囲内にある場合、物理的複製困難関数のバイアスが許容可能なバイアス範囲内にあるかどうかを決定することと
    を含む、請求項8に記載の電子暗号装置(100)。
  10. 第1の統計的検定が、
    一続きの反復コード語のうちの各々の反復コード語について、前記反復コード語と第1のノイジービットストリングの対応する部分の排他的論理和のハミング重み(231−236)を決定することと、
    nが反復コード語のビット長である場合に
    Figure 0006827032
    以下である各々のハミング重みwについて、wまたはn−wに等しい決定されたハミング重みの数を計数し、それによってハミング重みの観察された頻度を得ることと、
    ハミング重みの観察された頻度と、PUFについてのハミング重みの特定された頻度とに対して、観察された分布を理論的な分布と比較するために、統計的検定を適用することと、
    観察された分布を理論的な分布と比較するための統計的検定が、ハミング重みの観察された頻度とPUFについてのハミング重みの特定された頻度とが分布の閾値より近いことを指示する場合、PUFが正しく機能することを決定することと
    を含む、請求項5、6、または7のいずれかに記載の電子暗号装置(100)。
  11. 統計的検定が第2の統計的検定(124)を含み、統計ユニット(120)が、登録局面の間に生成されるヘルパーデータを用いて、再構成局面の間に第2の統計的検定を実行するように構成され、
    エラー訂正ユニット(152)が、再構成局面の間に、第1のノイジービットストリング(112)を第2のノイジービットストリング(114)およびヘルパーデータから再構成するように構成され、さらに、第1のノイジービットストリングと第2のノイジービットストリングとの間の差異を決定するように構成され、第2の統計的検定が、前記差異から統計パラメータを決定する、請求項2から10のいずれか一項に記載の電子暗号装置(100)。
  12. 統計パラメータが、
    第1のノイジービットストリングと第2のノイジービットストリングとの間の差異の総数、
    第1のノイジービットストリングと第2のノイジービットストリングとの間の差異における最も長い一連の差異ビット、および、
    第1のノイジービットストリングと第2のノイジービットストリングとの間の差異における最も長い一連の非差異ビット
    のうちの少なくとも1つを含む、請求項11に記載の電子暗号装置(100)。
  13. 第2の統計的検定が正しく機能することを指示する場合のみ、エントロピ集中関数を、物理的複製困難関数によって作成されるノイジービットストリングに適用することで、乱数シードを生成するように構成される乱数シード生成ユニット(140)であって、
    乱数シード生成ユニット(140)が、エントロピ集中関数を第2のノイジービットストリングに適用するように構成される、
    または、
    物理的複製困難関数(PUF)(110)が、再構成局面の間にさらなるノイジービットストリングを作成するように構成され、第2のノイジービットストリング(114)がさらなるノイジービットストリングと異なり、
    乱数シード生成ユニット(140)が、エントロピ集中関数をさらなるノイジービットストリングに適用するように構成される、
    乱数シード生成ユニット(140)を備える、請求項11または12に記載の電子暗号装置(100)。
  14. 物理的複製困難関数(PUF)(110)がメモリに基づかれ、第2のノイジービットストリング(114)およびさらなるノイジービットストリングがメモリにおいてインターリーブされる、請求項13に記載の電子暗号装置(100)。
  15. 電子暗号方法であって、
    第1のノイジービットストリング(112)を登録局面の間に物理的複製困難関数(PUF)(110)で作成するステップと、
    登録局面の間に第1のノイジービットストリングからヘルパーデータを生成するステップであって、ヘルパーデータが、後の再構成局面の間に、前記ヘルパーデータ、および、PUFによって作成される第2のノイジービットストリング(114)からの第1のノイジービットストリング(112)の再構成を許容する、生成するステップと、
    物理的複製困難関数が正しく機能することを確証するための統計的検定を実行するステップであって、統計的検定が、ヘルパーデータを用いて物理的複製困難関数のための統計パラメータを計算し、統計的検定が、統計パラメータが統計的検定の基準を満たす場合に正しく機能することを決定統計的検定が、第1のノイジービットストリングから生成されるヘルパーデータにおいて登録局面の間に第1の統計的検定を含む、実行するステップと
    を含む、電子暗号方法。
  16. 構成局面が、
    第2のノイジービットストリング(114)を物理的複製困難関数(PUF)(110)で作成するステップ
    登録局面の間に生成されるヘルパーデータを用いて、第2の統計的検定(124)を実行するステップを含む、請求項15に記載の電子暗号方法。
  17. 録局面がさらに、
    第1の統計的検定が物理的複製困難関数が正しく機能することを確証しない場合、第1のノイジービットストリングから生成されるヘルパーデータを廃棄し、第1の統計的検定が正しく機能することを確証する場合、ヘルパーデータを記憶するステップを含む、請求項15に記載の方法。
  18. 構成局面がさらに、
    第1のノイジービットストリング(112)を第2のノイジービットストリング(114)およびヘルパーデータから再構成するステップと、
    第1のノイジービットストリングと第2のノイジービットストリングとの間の差異を決定し、第2の統計的検定が前記差異から統計パラメータを決定するステップと
    を含む、請求項16に記載の方法。
  19. コンピュータプログラムがコンピュータで実行されるとき、請求項15、16、17、および18の方法のいずれか1つを実施するように構成されるコンピュータプログラム命令を含む、コンピュータプログラム(1020)。
  20. 請求項19に記載のコンピュータプログラム(1020)を含むコンピュータ可読媒体(1000)。
JP2018506181A 2015-08-06 2016-07-27 物理的複製困難関数を有する暗号装置 Active JP6827032B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15179943 2015-08-06
EP15179943.4 2015-08-06
PCT/EP2016/067921 WO2017021254A1 (en) 2015-08-06 2016-07-27 Cryptographic device having physical unclonable function

Publications (2)

Publication Number Publication Date
JP2018525920A JP2018525920A (ja) 2018-09-06
JP6827032B2 true JP6827032B2 (ja) 2021-02-10

Family

ID=53835301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018506181A Active JP6827032B2 (ja) 2015-08-06 2016-07-27 物理的複製困難関数を有する暗号装置

Country Status (6)

Country Link
US (1) US11218306B2 (ja)
EP (1) EP3332402B1 (ja)
JP (1) JP6827032B2 (ja)
KR (1) KR102656990B1 (ja)
CN (1) CN107924645B (ja)
WO (1) WO2017021254A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6585018B2 (ja) * 2016-09-12 2019-10-02 株式会社東芝 認証サーバ、認証システムおよび認証方法
EP3340215A1 (en) * 2016-12-23 2018-06-27 Secure-IC SAS System and method for generating secret information using a high reliability physically unclonable function
CN108512655A (zh) * 2017-02-24 2018-09-07 北京金泰众和科技有限责任公司 一种汉明码循环校验协商方法及系统
JP6882666B2 (ja) * 2017-03-07 2021-06-02 富士通株式会社 鍵生成装置および鍵生成方法
WO2018183572A1 (en) * 2017-03-29 2018-10-04 Board Of Regents, The University Of Texas System Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization
DE102017109260B4 (de) * 2017-04-28 2019-09-19 Technische Universität München Verfahren zum Generieren eines Schlüssels mit perfekter Sicherheit
EP3454318B1 (en) * 2017-09-12 2022-05-11 eMemory Technology Inc. Security system with entropy bits generated by a puf
US10812259B2 (en) * 2017-10-31 2020-10-20 International Business Machines Corporation Self-assembly based random number generator
US11063772B2 (en) 2017-11-24 2021-07-13 Ememory Technology Inc. Multi-cell per bit nonvolatile memory unit
US11050574B2 (en) * 2017-11-29 2021-06-29 Taiwan Semiconductor Manufacturing Company, Ltd. Authentication based on physically unclonable functions
US11050575B2 (en) * 2018-01-10 2021-06-29 Ememory Technology Inc. Entanglement and recall system using physically unclonable function technology
JP6757348B2 (ja) * 2018-03-08 2020-09-16 三菱重工業株式会社 監視装置、監視方法及びプログラム
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
US10770146B2 (en) 2018-06-08 2020-09-08 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for PUF generator characterization
EP3811220B1 (en) * 2018-06-11 2023-08-09 Cryptography Research, Inc. Generating a target data based on a function associated with a physical variation of a device
WO2020006178A1 (en) * 2018-06-27 2020-01-02 Stc. Unm Correlation-based robust authentication technique using helper data only
CN108959968B (zh) * 2018-07-23 2020-11-17 北京车和家信息技术有限公司 随机数序列生成方法及装置、车辆和存储介质
CN109040853A (zh) * 2018-09-04 2018-12-18 国微集团(深圳)有限公司 一种数字流媒体指纹水印保护方法及装置
EP3624392B1 (en) * 2018-09-17 2023-05-10 Secure-IC SAS Methods and devices for secure secret key generation
CN109581183B (zh) * 2018-10-23 2020-07-10 中国科学院计算技术研究所 一种集成电路的安全测试方法与系统
US11277272B2 (en) * 2018-11-07 2022-03-15 Samsung Electronics Co., Ltd. Integrated circuit and method for challenge-response physically unclonable function
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
CN111756541A (zh) * 2019-03-26 2020-10-09 北京普安信科技有限公司 一种传送密钥的方法、服务器、终端及系统
EP3966531A4 (en) * 2019-05-09 2023-01-25 Beamex Oy Ab CERTIFICATION OF A MEASUREMENT RESULT OF A MEASURING DEVICE
CN114303341A (zh) * 2019-06-07 2022-04-08 俄亥俄州国家创新基金会 使用混合布尔网络作为物理不可克隆函数的系统和方法
US11949711B2 (en) * 2019-07-08 2024-04-02 Caci International, Inc. Systems and methods for securing information
US20210051010A1 (en) * 2019-08-16 2021-02-18 PUFsecurity Corporation Memory Device Providing Data Security
US11615102B2 (en) 2019-10-18 2023-03-28 Splunk Inc. Swappable online machine learning algorithms implemented in a data intake and query system
US11620157B2 (en) * 2019-10-18 2023-04-04 Splunk Inc. Data ingestion pipeline anomaly detection
US11783092B2 (en) * 2020-02-10 2023-10-10 Taiwan Semiconductor Manufacturing Company Limited Systems and methods for classifying PUF signature modules of integrated circuits
KR20210102740A (ko) 2020-02-12 2021-08-20 삼성전자주식회사 물리적 복제 방지 기능에 기초하여 키를 생성하는 보안 장치 및 이의 동작 방법
US20230155845A1 (en) * 2020-04-07 2023-05-18 Cryptography Research, Inc. Authentication using an ephemeral asymmetric keypair
CN111884799B (zh) * 2020-07-30 2021-03-30 中物院成都科学技术发展中心 一种基于RO-PUF的CRPs库构建方法和系统
US11704490B2 (en) 2020-07-31 2023-07-18 Splunk Inc. Log sourcetype inference model training for a data intake and query system
US11687438B1 (en) 2021-01-29 2023-06-27 Splunk Inc. Adaptive thresholding of data streamed to a data processing pipeline
FR3120457B1 (fr) * 2021-03-05 2024-02-23 St Microelectronics Rousset Générateur de nombres aléatoires
TWI785702B (zh) * 2021-05-07 2022-12-01 旺宏電子股份有限公司 用於產生識別碼之儲存裝置及識別碼產生方法
KR20230122376A (ko) * 2022-02-14 2023-08-22 삼성전자주식회사 전자 장치 및 그 제어 방법
CN117478327B (zh) * 2023-12-27 2024-03-19 湖北工业大学 一种基于puf的冯诺依曼密钥生成器去偏算法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011048126A1 (en) * 2009-10-21 2011-04-28 Intrinsic Id B.V. Distribution system and method for distributing digital information
US8848477B2 (en) * 2010-10-04 2014-09-30 Intrinsic Id B.V. Physical unclonable function with improved start-up behavior
US20120183135A1 (en) * 2011-01-19 2012-07-19 Verayo, Inc. Reliable puf value generation by pattern matching
ES2530944T3 (es) * 2011-04-05 2015-03-09 Intrinsic Id Bv Sistema de generación de números aleatorios basándose en el ruido de arranque de una memoria
EP2680485B1 (en) 2011-06-02 2016-04-06 Mitsubishi Electric Corporation Key information generation device and key information generation method
CN107612685A (zh) * 2011-12-29 2018-01-19 英特尔公司 使用在物理上不可克隆的函数的安全密钥存储
DE102012217716A1 (de) * 2012-09-28 2014-06-12 Siemens Aktiengesellschaft Selbst-Test einer Physical Unclonable Function
EP2773061B1 (en) * 2013-02-28 2015-11-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A method and an apparatus for deriving secret information from a series of response values and a method and an apparatus for providing helper data allowing to derive a secret information
JP6030050B2 (ja) 2013-12-27 2016-11-24 株式会社東芝 Id生成装置、id生成方法、およびid生成システム
EP3120285B1 (en) * 2014-03-21 2017-10-25 Koninklijke Philips N.V. Soft generation of biometric candidates and references based on based on empirical bit error probability
US10432409B2 (en) * 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
CN106576040B (zh) * 2014-08-29 2020-05-12 国立研究开发法人产业技术综合研究所 设备固有信息的错误率控制方法
JP6929776B2 (ja) 2014-12-24 2021-09-01 イントリンシツク・イー・デー・ベー・ベー 物理的複製不可能関数からの暗号鍵生成

Also Published As

Publication number Publication date
CN107924645B (zh) 2021-06-25
CN107924645A (zh) 2018-04-17
WO2017021254A1 (en) 2017-02-09
EP3332402B1 (en) 2020-10-07
KR20180036777A (ko) 2018-04-09
KR102656990B1 (ko) 2024-04-12
JP2018525920A (ja) 2018-09-06
US20180241557A1 (en) 2018-08-23
EP3332402A1 (en) 2018-06-13
US11218306B2 (en) 2022-01-04

Similar Documents

Publication Publication Date Title
JP6827032B2 (ja) 物理的複製困難関数を有する暗号装置
CN107251475B (zh) 来自物理不可克隆功能的加密密钥产品
CN107004380B (zh) 包括物理不可克隆功能的加密设备
Koeberl et al. Entropy loss in PUF-based key generation schemes: The repetition code pitfall
Maes et al. Secure key generation from biased PUFs
Delvaux et al. Helper data algorithms for PUF-based key generation: Overview and analysis
Maes et al. Low-overhead implementation of a soft decision helper data algorithm for SRAM PUFs
Yu et al. A lockdown technique to prevent machine learning on PUFs for lightweight authentication
Bösch et al. Efficient helper data key extractor on FPGAs
TWI416921B (zh) 用於信號產生器式裝置安全性之方法、積體電路及電腦程式產品
KR101678568B1 (ko) 물리적 시스템에 의존하여 암호화 키를 설정하기 위한 시스템
Yu et al. Secure and robust error correction for physical unclonable functions
KR101727130B1 (ko) 암호화 키를 획득하기 위한 디바이스 및 방법
Maes et al. Secure key generation from biased PUFs: extended version
US20150188718A1 (en) Providing a Cryptographic Key
Merli et al. Protecting PUF error correction by codeword masking
CN110869997B (zh) 电子加密设备、电子登记和重构方法及计算机可读介质
Tebelmann et al. EM side-channel analysis of BCH-based error correction for PUF-based key generation
Hiller et al. Systematic low leakage coding for physical unclonable functions
Wen et al. Efficient fuzzy extractor implementations for PUF based authentication
Devadas et al. Secure and robust error correction for physical unclonable functions
Lee et al. Samsung physically unclonable function (SAMPUF™) and its integration with Samsung security system
Yu et al. Security and reliability properties of syndrome coding techniques used in PUF key generation
Kichna et al. Comparative Analysis of Iterative Decoding Algorithms for QC-MDPC McEliece Cryptosystems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200915

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201215

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: 20210105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R150 Certificate of patent or registration of utility model

Ref document number: 6827032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250