JP2017531411A - 物理的複製不可能関数を備える暗号デバイス - Google Patents

物理的複製不可能関数を備える暗号デバイス Download PDF

Info

Publication number
JP2017531411A
JP2017531411A JP2017538288A JP2017538288A JP2017531411A JP 2017531411 A JP2017531411 A JP 2017531411A JP 2017538288 A JP2017538288 A JP 2017538288A JP 2017538288 A JP2017538288 A JP 2017538288A JP 2017531411 A JP2017531411 A JP 2017531411A
Authority
JP
Japan
Prior art keywords
data
puf
bit string
cryptographic device
helper data
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
JP2017538288A
Other languages
English (en)
Other versions
JP6789222B2 (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 JP2017531411A publication Critical patent/JP2017531411A/ja
Application granted granted Critical
Publication of JP6789222B2 publication Critical patent/JP6789222B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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]
    • 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
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

物理的複製不可能関数(PUF)(110)と、登録段階の間に第1のPUFデータを生成するように構成されている登録ユニット(142)とを備える電子暗号デバイス(100)であって、第1のPUFデータはPUFの第1のノイズの多いビット列から導き出され、第1のPUFデータは、物理的複製不可能関数を一意に識別し、第1のPUFデータは第1のヘルパーデータを含む、電子暗号デバイス(100)。第1のPUFデータは、登録段階の間に電子サーバに送信される。デバイスは、使用段階の間に第2のノイズの多いビット列から導き出される第2のPUFデータを生成するように構成されている使用段階ユニット(144)を備える。第2のPUFデータの送信に応答して、サーバから第1のヘルパーデータが受信される。誤り訂正器(160)が、第1のヘルパーデータを第2のノイズの多いビット列に適用するように構成されている。

Description

本発明は、電子暗号デバイス、電子サーバ、システム、電子暗号方法、電子サーバ方法、コンピュータプログラム、コンピュータ可読媒体に関する。
デバイスを配備の前またはさらには後に認証することは、通常、デバイス内に組み込まれているワンタイムプログラマブル(OTP)および/または不揮発性メモリ(NVM)の中に鍵をプログラムすることを伴う。鍵がプログラムされると、デバイス認証および安全な接続を確立することができる。これらの安全な接続を使用すると、無線更新を使用して機能をロック解除/プロビジョニングすることができる。鍵プログラミング自体は、費用はかかるがプロセスにおいて必要なステップであり、通常はOEMまたはチップ製造業者によって実施される。
このプロセスを補完するために、物理的複製不可能関数(PUF)が提案されている。PUFの主要な用途の1つが、プログラム可能論理(たとえば、FPGA、PLD、およびDSP)および集積回路(IC)のようなデバイスに対する暗号鍵を導き出すことである。何らかの不揮発性メモリ内に鍵を記憶する代わりに、必要とされるときにのみデバイスによって鍵が生成され、その後消去される。これによって、攻撃者が、物理的攻撃を使用して鍵を見出すことが困難になる。
物理的複製不可能関数は、デジタル識別子を導き出すために、製造時のばらつきを利用する。したがって、デジタル識別子は、物理媒体に結び付けられる。物理的複製不可能関数はランダムなプロセス変動に依存するため、PUFを作成することは容易であるが、特定の予め決定された識別子をもたらすPUFを作成することは、完全に不可能であるとは言わないまでも、困難である。製造時のばらつきは、メモリ要素の異なる物理特性をもたらす。たとえば、物理特性は、ドーピング濃度、酸化物厚さ、チャネル長、構造的な幅(たとえば、金属層の)、寄生(たとえば、抵抗、容量)を含み得る。デジタル回路設計が複数回製造されるとき、これらの物理特性はわずかに変動するとともに、それらにより、IC要素、たとえば、メモリ要素の挙動が、状況によって別様に振る舞うようになる。たとえば、始動挙動は、物理特性における製造時のばらつきによって決定される。
PUFのこの特性が、それらを一定範囲の用途に適したものにする。たとえば、PUFを使用して、偽造に対抗することができる。特定のデバイスまたは他の製造品を不正に複製することは可能であり得るが、オリジナルと同じデジタル識別子をもたらすような十分な精度で内部に組み込まれ得るPUFを複製することは可能ではない。さらなる例として、PUFは、暗号鍵を作成するために使用される。PUFを使用すると、鍵を記憶するための安全なメモリの必要性が回避される。PUFはさらに、リバースエンジニアリングを通じて暗号鍵を取得しようとする違法な試みに対する自然な保護を可能にする。これは、その試みの間にPUFに与えられ得る損傷が、デジタル識別子を変化させるためである。デジタル識別子は、物理的複製不可能関数が組み込まれている電子デバイスに対して固有であることが好ましい。PUFは、電子デバイスに好都合に適用されている。ICの製造中に不可避である、わずかな製造時のばらつきでさえ、ICの異なる特性をもたらす。これらの異なる特性は通常、同じように動作するICの群を取得するために抑制される。しかしながら、PUFを作成するためには、ICの群における個々のICの間の差が利用される。
たとえば、いくつかのメモリ要素の始動挙動は、PUFのような挙動を明らかに示すことが観測されている。そのようなメモリが電源投入されるとき、メモリは、内容、すなわち、メモリを構成する構成要素、たとえば、ゲートまたはトランジスタの、少なくとも部分的にランダムな物理特性、たとえば、それらの互いに対する物理的配置に依存する、一連のデータ値を含む傾向にある。メモリが複数回電源投入される場合、メモリは、大きな割合まで、同じ内容を含むことになる。不都合なことに、PUF挙動は小さな変動に依存するため、一定の割合の誤りは不可避である。誤り訂正手順を使用してこれらの変動を訂正し、PUFが使用される度毎に同一のデジタル識別子が導き出されることを保証することができる。時としてファジー抽出と称される誤り訂正手順は、いわゆるヘルパーデータを使用する。
PUFは、鍵を用いてデバイスをプロビジョニングしている間の不揮発性メモリの必要性に取って代わることができるが、そのようなタイプのメモリが必要であることに変わりはない。たとえば、デバイスがPUFのノイズの多い出力を訂正することができるように、ヘルパーデータがデバイス上に格納される必要がある。
国際公開第2009/024913号 米国特許出願公開第2003/0204743号明細書 国際公開第2011/018414号 国際公開第2012/069545号
C.Boesch他「Efficient Helper Data Key Extractor on FPGAs」(CHES 2008) P.Tuyls他「Secure Key Storage with PUFs」(「Security with Noisy Data」と題するSpringerの書籍の16章) Y.Dodis、M.ReyzinおよびA.Smith「Fuzzy extractors: How to generate strong keys from biometrics and other noisy data」(C.CachinおよびJ.Camenisch編、Advances in Cryptology |− EUROCRYPT 2004、LNCSの3027巻、523−540頁、Springer−Verlag、2004)
特許請求の範囲において定義されているように、登録段階および後の使用段階のために構成されている電子暗号デバイスが提供される。暗号デバイスは、登録段階の間に、物理的複製不可能関数の第1のノイズの多いビット列から導き出される第1のPUFデータを生成する。第1のPUFデータは、物理的複製不可能関数を一意に識別するとともに、後にPUFのノイズの多い出力におけるノイズを訂正するために使用することができる第1のヘルパーデータを含む。一実施形態において、第1のPUFデータは、第1のノイズの多いビット列の一部分を含む。一実施形態において、第1のヘルパーデータ自体がPUFを識別するために使用され、PUFを識別するいかなる他の情報も含む必要はない。第1のPUFデータは、後に使用段階においてヘルパーデータが必要とされるときに、第2のPUFデータを送信することによってサーバに要求されるように、サーバに送信される。第2のPUFデータは、PUFによって生成される第2のノイズの多いビット列から導き出される。第2のPUFデータは、PUFを識別するために第2のノイズの多いビット列の一部分を含むことができる。興味深いことに、第2のPUFも、ヘルパーデータを含むことができる。驚くべきことに、サーバは、2つのヘルパーデータが同じPUFに対して生成されているか否かを認識することができる。この後者のオプションは、ノイズの多いビット列をより効率的に利用し、したがって、より小さいPUFを使用することができ、他方では、サーバ側においてより多くの処理を必要とする。
本発明の一態様は、特許請求の範囲において定義されているような電子サーバに関する。サーバは、暗号デバイスから第1のPUFデータを受信する。第1のPUFデータは、第1のヘルパーデータを含む。第2のPUFデータを受信した後、サーバは、第2のPUFデータを送信した暗号デバイス内のPUFに対応する正確な第1のヘルパーデータを認識することができる。一実施形態において、第2のPUFデータは、暗号デバイスのPUFによって生成されるノイズの多いビット列の一部分を含む。同じPUFによって生成されるノイズの多いビット列は互いに近く、たとえば、短いハミング距離を有するか、または、他の様態で高い相関を有するため、これを使用してPUFを識別することができる。一実施形態において、第2のPUFデータは、ヘルパーデータを含む。第2のPUF内のヘルパーデータを使用して、サーバは、同じPUFに対応する、第1のPUFデータにおいて受信されているヘルパーデータを識別することができる。
暗号デバイスおよびサーバは、電子デバイスである。暗号デバイスは、携帯電話などのモバイル電子デバイス、集積回路、たとえばSIMカードであってもよい。暗号デバイスは、大量に生産される低コストデバイスに特に適している。たとえば、暗号デバイスは、センサであってもよい。
本発明による方法は、コンピュータ実装方法としてコンピュータ上で実装されてもよく、または、専用ハードウェア内で実装されてもよく、または、その両方の組み合わせであってもよい。本発明による方法の実行可能コードを、コンピュータプログラム製品上に格納することができる。コンピュータプログラム製品の例は、メモリデバイス、光学記憶デバイス、集積回路、サーバ、オンラインソフトウェアなどを含む。コンピュータプログラム製品は、前記プログラム製品がコンピュータ上で実行されるときに、本発明による方法を実行するための、コンピュータ可読媒体上に格納されている非一時的プログラムコード手段を含むことが好ましい。
好ましい実施形態において、コンピュータプログラムは、コンピュータプログラムがコンピュータ上で実行されたときに、本発明による方法のすべてのステップを実行するように構成されたコンピュータプログラムコード手段を含む。コンピュータプログラムはコンピュータ可読媒体上に具現化されることが好ましい。
例示のみを目的として、添付の図面を参照して本発明のさらなる詳細、態様および実施形態を説明する。図面内の要素は単純かつ明瞭にするために示されており、必ずしも原寸に比例して描かれているとは限らない。図面において、すでに記載されている要素に対応する要素は、同じ参照符号を有する場合がある。
電子暗号デバイスの一実施形態の一例を概略的に示す図である。 ヘルパーデータ生成器の一実施形態の一例を概略的に示す図である。 電子サーバの一実施形態の一例を概略的に示す図である。 登録段階の間の電子暗号デバイスの一実施形態におけるデータの第1の例を概略的に示す図である。 使用段階の間の電子暗号デバイスの一実施形態におけるデータの第1の例を概略的に示す図である。 登録段階の間の電子暗号デバイスの一実施形態におけるデータの第2の例を概略的に示す図である。 使用段階の間の電子暗号デバイスの一実施形態におけるデータの第2の例を概略的に示す図である。 電子暗号方法の一例を概略的に示す図である。 電子サーバ方法の一例を概略的に示す図である。 一実施形態によるコンピュータプログラムを含む書き込み可能部分を有するコンピュータ可読媒体を示す図である。 一実施形態によるプロセッサシステムの概略図である。
本発明は多くの異なる形態の実施形態を受け入れる余地があるが、本開示は本発明の原理の例示として考えられるべきであり、本発明を図示および記載されている特定の実施形態に限定するようには意図されていないという理解の下、1つまたは複数の特定の実施形態が図面に示され、本発明において詳細に説明される。
以下において、理解しやすくするために、動作中の実施形態の要素が説明される。しかしながら、それぞれの要素は、それらによって実施されるものとして記載されている機能を実施するように構成されていることは諒解されよう。
図1aは、電子暗号デバイス100の一実施形態の一例を概略的に示す図である。
暗号デバイス100は、登録段階および後の使用段階のために構成されている。登録段階の間、暗号デバイス100は、データをサーバに送信する。後に、使用段階の間、暗号デバイス100は、逆にサーバから情報を受信する。これによって、暗号デバイス100が、たとえ鍵またはさらにはデバイスを識別するための識別子を記憶するために記憶装置が必要とされない場合であっても、秘密鍵によって動作することが可能である。これによって、これらのデバイスを製造する間の費用のかかるパーソナライズステップが低減するかまたはさらにはなくなり、デバイス100上での不揮発性書き換え可能メモリの必要性が低減するかまたはなくなる。
図1aおよび図1bを参照して、デバイス100の可能なアーキテクチャが開示される。
暗号デバイス100は、通常はPUFと称される、いわゆる物理的複製不可能関数110を含む。PUF110は、レスポンスとも称される、ノイズの多いビット列を生成するように構成されている。たとえば、PUF110は、ノイズの多いビット列を生成するために、通常「チャレンジされる」と称される、問い合わせを受け得る。PUF110が複数回チャレンジされるとき、PUF110はノイズの多いビット列を複数回生成する。ノイズの多いビット列は一般的に、複数回生成されるとき同一にならない。後者は、ヘルパーデータによって解決することができる。後に生成されるノイズの多いビット列の間の変化の量は、異なるタイプのPUFの間で異なり、変化の量に応じて、この量の誤りを訂正するために誤り訂正符号が選択され得る。ノイズの多いビット列は、PUFデバイスを一意に識別するのに十分に安定しており、十分に長い。PUFのノイズの多いビット列の長さは、暗号デバイスが一意に識別可能である暗号デバイスのグループ、たとえば、サーバ200によってサービスされる暗号デバイスのグループ、および/または、PUFの誤り率に対して選択することができる。
PUF110は、ノイズの多いビット列を再び生成するために、電力サイクル、たとえば、電源投入後の電源停止を必要とし得る。デバイス100において、PUF110はノイズの多いビット列を少なくとも2回生成する。登録段階に入ると、PUF110は第1のノイズの多いビット列を生成する。後に使用段階の間、PUF110は第2のノイズの多いビット列を生成する。第1のノイズの多いビット列および第2のノイズの多いビット列は互いに十分に近く、たとえば、それらの差のハミング重みが閾値未満である。
PUFは、物理デバイスを使用してPUFを実際に評価することなく関数の出力を予測することが計算的に実行不可能であるように、物理デバイスに束縛されるランダム関数である。さらに、PUFは物理システムによって実現されるため、複製することが困難である。完全に制御されない(すなわち、何らかのランダム性を含む)製造工程によって製造される物理システムは、PUFの良好な候補になる。用途に応じて、複数回の異なる電源投入にわたって電源投入値が十分に持続性である限り、一定量のランダム性は許容することができる。
PUF110、および、したがって暗号デバイス100は、PUF110によって与えられるレスポンスに基づいて一意に識別することができる。
PUFの物理システムは、当該システムが刺激と複雑に相互作用し、固有の、ただし予測不可能なレスポンスをもたらすように設計される。PUFの刺激はチャレンジと称される。PUFによっては、より大きい範囲の異なるチャレンジを許容し、種々のレスポンスを生成する。PUFチャレンジおよび対応するレスポンスは、ともにチャレンジ−レスポンス対と呼ばれる。しかしながら、PUFはまた、単一のチャレンジを受けてもよい。PUF110は、単一チャレンジPUFであってもよい。PUF110はまた、マルチチャレンジPUFであってもよい。後者の事例において、PUF110は、ノイズの多いビット列、特に第1のノイズの多いビット列および第2のノイズの多いビット列を生成するときに、同じチャレンジまたはチャレンジのセットによってチャレンジされる。
PUFの適切なソースは、電源投入されると、メモリの識別に有用な電源投入値のレスポンスパターン、すなわち、メモリ要素の物理特性に応じたレスポンスパターンを含む電子揮発性メモリによって形成される。
デバイスを一意に識別するために使用されるPUFの1つの知られている例は、いわゆるSRAM PUFであり、これは、SRAMセルが始動されると、当該PUFが、トランジスタの閾値電圧の変動に起因して、ひいてはドーピング変動に起因してランダムな状態で始動するという事実に基づくものである。これが複数回行われるとき、各セルはほとんどの場合に同じ状態で始動する。これらのPUFは、SRAMメモリを基板上に有する任意のデバイス上に実現することができる。
メモリを識別するのに十分に安定しているランダムな始動挙動を示す任意のメモリは、チャレンジ可能メモリと呼ばれる。始動挙動がランダムであるとき、2つの異なるメモリの始動メモリパターンには大きな差があり、始動挙動が安定しているとき、同じメモリの2つの始動メモリパターンの差は小さい。そのようなメモリの例は、言及されているようなSRAMメモリセルであるが、交差結合インバータまたはラッチに基づく他のメモリセル、たとえば、EP07114732.6に記載されているようなバタフライPUF、および、フリップフロップのようなメモリ要素でもある。実際、複数のフィードバックループを備える任意のタイプの揮発性メモリが使用されてもよい。
第2の種類のSRAMベースのPUFは、デュアルポートRAMによって構築することができる。異なる情報を両方のポートに同時に書き込むことによって、メモリセルは未定義状態にされ、PUFのような挙動を示す。この種類のPUFは、WO2009024913により詳細に記載されている。他のいわゆる固有PUFは、遅延現象、および、FPGA上でのSRAMメモリセルのシミュレーションに基づく。詳細は、US20030204743(遅延PUF)およびWO2011018414(バタフライPUF)に見出すことができる。PUF110は、たとえば、WO2012069545に記載されているような、複数のバスキーパを備える物理的複製不可能関数であってもよい。
暗号デバイス100は、登録段階の間に第1のランダムビット列を選択するように構成されている乱数生成器120を備える。PUF110と乱数生成器120の両方は、登録段階の間にビット列を生成する。しかしながら、ノイズの多いビット列がPUF110によって複数回生成されるとき、それらのビット列は互いに近くなり、乱数生成器120がランダムビット列を複数回生成するとき、それらのビット列は一般的に無関係になる。たとえば、それらのビット列は50%近くまで異なり得る。乱数生成器は、真乱数生成器であってもよく、または、疑似乱数生成器であってもよい。
一実施形態において、乱数生成器は、ノイズの多いビット列から、たとえば、登録ビット列から、たとえば、SHA256のような暗号ハッシュをそれに適用することによって、真乱数種を生成する。この事例において、ノイズの多いビット列は誤りを訂正されていない。乱数生成器は、種を使用してランダムビット列を生成する。
暗号デバイス100は、第1のノイズの多いビット列の少なくとも一部分および第1のランダムビット列から、第1のヘルパーデータを計算するように構成されているヘルパーデータ生成器130を備える。ヘルパーデータは、PUF110によって生成されるノイズの多いビット列が、同じPUF110によって生成される、先行するビット列と同一になるように訂正するための冗長性を備える。この事例において、第1のヘルパーデータは、後に、物理的複製不可能関数によって生成される第2のノイズの多いビット列の少なくとも一部分を、第1のランダムビット列にマッピングするように構成されている。一実施形態において、ヘルパーデータは、第1のノイズの多いビット列の、ノイズの多いビット列全体よりも厳密に小さい部分について生成される。一実施形態において、ヘルパーデータは、第1のノイズの多いビット列全体について生成される。両方の選択肢が異なる利点を有し、これは下記により十分に説明する。
PUFのヘルパーデータの生成は、それ自体知られている。たとえば、C.Boesch他「Efficient Helper Data Key Extractor on FPGAs」(CHES 2008)、P.Tuyls他「Secure Key Storage with PUFs」(「Security with Noisy Data」と題するSpringerの書籍の16章)、Y.Dodis、M.ReyzinおよびA.Smith「Fuzzy extractors: How to generate strong keys from biometrics and other noisy data」(C.CachinおよびJ.Camenisch編、Advances in Cryptology |− EUROCRYPT 2004、LNCSの3027巻、523−540頁、Springer−Verlag、2004)を参照されたい。
ヘルパーデータを生成する1つの可能性のあるアーキテクチャは、図1bを参照して開示される。この実施態様において、ヘルパーデータ生成器130は、符号語生成器131および差分ユニット132を備える。符号語生成器131は、乱数生成器120からランダムビット列、たとえば、第1のランダムビット列を受信し、誤り訂正符号から選択される1つまたは複数の符号語から成るシーケンスを生成する。誤り訂正符号は、セットの任意の2つの符号語が少なくとも最小距離(d)の距離を有するような、符号語のセットである。この距離は通常、2つの符号語の間のXOR差のハミング重みとして計算される。最小距離は少なくとも3であるが、一般的に、PUF110の誤り率に応じてより高い。たとえば、符号語生成器131は、1つまたは複数の符号語から成るシーケンスとして、ランダムビット列を符号化することができる。後者は、符号化、たとえば、元のビット列の符号化ビット列への変換として知られている。
差分ユニット132は、ノイズの多いビット列、たとえば、登録ビット列と、符号語生成器131によって決定される符号語のシーケンスとの間の差を計算する。差は一般的にXOR演算であるが、これは必須ではなく、差はまた、算術減算などであってもよい。この差はまた、ヘルパーデータとしても知られている。ヘルパーデータ生成器130はまた、ファジー抽出器とも称される場合がある。誤り訂正符号は、線形、たとえば、リード−ソロモン符号、アダマール符号、BCH符号などであることが好ましい。誤り訂正符号はまた、異なる複数の符号を組み合わせること、たとえば、符号連結によって取得されてもよい。ヘルパーデータ生成器130は、出力133、たとえば、ノイズの多いビット列の少なくとも一部分およびランダムビット列について生成されるヘルパーデータを有する。ヘルパーデータは、ヘルパーデータを生成するのに使用されているノイズの多いビット列に十分に近いノイズの多いビット列を与えられて、ランダムビット列を回復することを可能にする。
ヘルパーデータ生成器130は、一般的に、後に第1のランダムビット列を再生成することができるヘルパーデータを生成するために、登録段階の間にのみ適用される。しかしながら、一実施形態において、ヘルパーデータ生成器130はより頻繁に、たとえば、デバイス100が電源投入される度毎に使用される。
一実施形態において、デバイス100は、登録段階の間に第1のランダムビット列から公開鍵を生成するように構成されている鍵生成器170を備え、公開鍵は、秘密鍵に対応する。たとえば、鍵生成器170は、非対称暗号に使用するための公開−秘密鍵対を生成することができる。秘密鍵はデバイス100にとって秘密であり、一実施形態においてはデバイス100を決して離れない。しかしながら、公開鍵は、他のデバイスと共有され得る。秘密鍵は、デバイス100が、公開鍵によって暗号化されているメッセージを復号すること、および/または、たとえば、暗号ユニットを使用して、公開鍵によって検証することができるように、メッセージに署名することを可能にする。当該技術分野において、多くの公開−秘密鍵システム、たとえば、RSA、楕円曲線暗号、ECDSA、ECIES、El Gamal、DSAなど、が存在する。たとえば、第1のランダムビット列は、素数を生成するための、たとえば、RSAのための、または、楕円曲線上のランダムな点を選択するなどのための種として使用することができる。鍵生成器は、一般的に、第1のランダムビット列から公開鍵と秘密鍵の両方を生成するが、登録段階の間は公開鍵のみが必要とされ、一方、使用段階の間は秘密鍵のみが必要とされる。
たとえば、暗号デバイスは、センサであってもよい。暗号デバイス100によって測定されたセンサデータは、デバイス100によって、秘密鍵を使用して署名され得る。
図1aに戻って参照する。暗号デバイス100は、登録ユニット142を備える。登録ユニット142は、登録段階の間に第1のノイズの多いビット列から第1のPUFデータを生成するように構成されている。第1のPUFデータ、たとえば、登録データは、デバイス100の外部にあるサーバ200に送信される。第1のPUFデータは、物理的複製不可能関数を一意に識別する。第1のPUFデータは、少なくとも第1のヘルパーデータを含む。暗号デバイス100は、登録段階の間に第1のPUFデータを電子サーバ200に送信するように構成されている通信ユニット150をさらに備える。一実施形態において、通信ユニット150は、登録段階の間に、第1のPUFデータを公開鍵とともに電子サーバ200に送信するように構成されている。第1のPUFデータが送信された後、第1のヘルパーデータ、公開鍵、秘密鍵、第1のランダムビット列、および第1のノイズの多いビット列はすべてデバイス100から廃棄、たとえば、消去され得る。
通信ユニット150は、たとえば、LAN/WANネットワークを介した、または、インターネットを介したコンピュータネットワーク接続であってもよい。接続は、たとえば、Wi−FiまたはEthernetのような、無線または有線接続であってもよい。
第1のPUFデータを送信することによって、登録段階は完了する。登録段階の間、暗号デバイス100は、ヘルパーデータ、鍵を含め、不揮発性メモリ内にいかなるデータを記憶することも必要としていないことに留意されたい。
登録段階の間に、暗号デバイスは、第1のPUFデータをサーバ200に送信している。使用段階において、暗号デバイスは、第1のランダムビット列を再構築する。
暗号デバイス100は、使用段階の間に第2のPUFデータを選択するように構成されている使用段階ユニット144を備える。第2のPUFデータは、PUF110によって生成される第2のノイズの多いビット列から導き出される。第2のPUFデータもまた、物理的複製不可能関数を一意に識別する。通信ユニット150は、使用段階の間に第2のPUFデータをサーバ200に送信し、それに応答してサーバから第1のヘルパーデータを受信するように構成されている。サーバ200は、複数の暗号デバイスの中から暗号デバイス100を識別し、デバイスの登録段階の間に暗号デバイス100から先行して受信している第1のヘルパーデータを送信する。
使用段階において、PUF110は、第2のノイズの多いビット列を生成するように構成されている。暗号デバイス100は、使用段階の間に第2のノイズの多いビット列の少なくとも一部分および受信されている第1のヘルパーデータから第1のランダムビット列を決定するように構成されている誤り訂正器160を備える。たとえば、図1bに与えられている例に従うと、誤り訂正器160は、受信されている第1のヘルパーデータを、第2のノイズの多いビット列の少なくとも一部分に追加するように構成することができる。結果として、一般的に、近似した符号語のシーケンス、すなわち、符号語のシーケンスに、第1のビット列と比較して、第2のノイズの多いビット列の中に存在するのと同じ量のノイズが加わったものが取得される。誤り訂正器160は、たとえば、誤り訂正符号と関連付けられる誤り訂正アルゴリズムを使用して、近似した符号語のシーケンスを訂正して符号語のシーケンスに戻す。最後に、誤り訂正器160は、第1のランダムビット列を取得するために、符号語のシーケンスを復号することができる。たとえば、鍵生成器は、第1のランダムビット列から公開鍵に対応する秘密鍵を構築するように構成することができる。
使用段階のこの時点において、暗号デバイス100は、たとえば、暗号化、署名などのために、秘密鍵を使用することができる。それにもかかわらず、暗号デバイス100は、秘密鍵を取得するために不揮発性メモリを必要としていない。
登録ユニット142および使用段階ユニット144は、別個のユニットとして実装されてもよい。登録ユニット142および使用段階ユニット144は、組み合わせて、2つの動作モード、すなわち、登録モードおよび使用段階モードを有する結合登録/使用段階ユニットにされてもよい。モードに応じて、それぞれ結合ユニットの登録ユニット部分または使用段階部分が使用される。
図1aは、破線で示されているように、サーバ200と通信接触しているデバイス100を示している。一実施形態において、サーバ200は、デバイス100のような複数の暗号デバイスと通信する。暗号デバイス100に加えて、図1aは、複数の暗号デバイスのうちの暗号デバイス100’および100’’をも示している。複数の暗号デバイスのうちの暗号デバイスは、それらのPUFの誤りを訂正するための第1のヘルパーデータをサーバ200に格納し、サーバ200に対して、それ自体を識別するためにその同じPUFを使用する。これによって、複数の暗号デバイスのうちのデバイスが、かなりの程度同一であることが可能になる。たとえば、一実施形態において、デバイス上に格納されているすべての情報は、存在する場合、登録段階の間、複数の暗号デバイスのすべてについて同一である。これによって、デバイスをプロビジョニングするための時間、および、デバイスの不揮発性メモリの量が低減する。
一実施形態において、暗号デバイス100は、登録段階の間にデバイス内に含まれているいかなる不揮発性メモリにも書き込まないように構成されている。いくつかの実施形態は、たとえば、フラッシュメモリにファームウェアを書き込むために、登録段階が終了する前に何らかの書き込みを実施することができるが、他の実施形態において、不揮発性記憶装置は必要とされない。事実、一実施形態において、暗号デバイスは、不揮発性書き換え可能メモリを備えない。デバイスは、ソフトウェアを記憶するROMを備えることができる。
一実施形態において、暗号デバイスは、暗号データを記憶するように構成されている複数のマイクロヒューズを備えない。マイクロヒューズは多くの場合、鍵、または、デバイスを識別する識別子を記憶するために使用される。マイクロヒューズは、高価であるとともに書き込みに時間がかかり、したがって、それらを回避することが有利である。事実、一実施形態において、暗号デバイスは、暗号デバイスを一意に識別するための、固有で、固定の、予め決定された識別子を備えない。PUF110によって生成されるノイズの多いビット列は、予め決定することができない。そうではなく、ノイズの多いビット列は、PUF110の材料のランダムな変動によって決定される。
一実施形態において、暗号デバイスは、署名権限の公開鍵を備え、暗号デバイスは、署名権限の公開鍵を使用して、受信される第1のヘルパーデータの署名を検証するように構成されており、誤り訂正器は、検証に失敗した場合は、受信されている第1のヘルパーデータを使用しないように構成されている。たとえば、公開鍵は、デバイス100の不揮発性メモリ内に記憶することができる。公開鍵は、複数の暗号デバイスのすべての暗号デバイスについて同じであり得る。たとえば、デバイス100は、受信される第1のヘルパーデータの署名を検証するための暗号ユニット180を備えることができる。
一実施形態において、電子暗号デバイス100は、暗号デバイス100を作動させるアプリケーションに関連する目的のための何らかの不揮発性メモリを含むことができる。電子暗号デバイス100はまた(または代わりに)、デバイスを攻撃に対して保護するための何らかの不揮発性メモリを含むことができる。たとえば、不揮発性メモリは、ロールバック攻撃を防止するためのカウンタを記憶するために使用することができる。ロールバック攻撃において、デバイスは、全体的に以前の状態に戻され、その間に行われているすべての変更は取り消される。ロールバック攻撃は、ロールバックされるデータに関係付けられる低減しないカウンタを記憶することによって防止することができる。たとえば、カウンタは、ファームウェアのバージョン番号を示すことができる。新たなファームウェアのバージョン番号がカウンタ内で示されるバージョンを下回る場合、ファームウェアは拒絶される。それにもかかわらず、たとえ何らかの不揮発性メモリが使用される場合であっても、不揮発性メモリの総量、および、パーソナライズに必要とされる時間は低減される。すべての実施態様がロールバック保護を必要とするとは限らず、これは、用途および/または攻撃モデルに依存する。
第1のPUFデータおよび/または第2のPUFデータを構築するための2つの異なる方法を、図3a−図4bを参照して説明する。
図2は、電子サーバ200の一実施形態の一例を概略的に示す。図2は、複数101の暗号デバイスとともに、サーバ200を示す。複数の暗号デバイスのうちの3つのデバイス、すなわち、暗号デバイス100、100’および100’’が示されている。複数の暗号デバイスは、3つよりも多くのデバイス、たとえば、1000超、10000超などのデバイスを含んでもよい。
サーバ200は、暗号デバイス100の登録段階の間に暗号デバイス100から第1のPUFデータを受信するように構成されている通信ユニット210を備える。第1のPUFデータは、暗号デバイス100の物理的複製不可能関数を一意に識別し、第1のヘルパーデータを含む。通信ユニット210はまた、暗号デバイス100の使用段階の間に暗号デバイス100から第2のPUFデータをも受信する。第2のPUFデータもまた、物理的複製不可能関数110を一意に識別する。同様に、通信ユニット210は、複数101の暗号デバイスのうちの他のデバイスから第1のPUFデータおよび第2のPUFデータを受信することができる。
サーバ200は、第1のPUFデータの受信に応答して少なくとも第1のヘルパーデータを格納するように構成されている電子データベースを備える。
サーバ200は、第2のPUFデータから物理的複製不可能関数を識別し、データベースから第1のヘルパーデータを取り出し、通信ユニット210を使用して第1のヘルパーデータを識別されている暗号デバイスへと送信するように構成されている応答ユニット230を備える。
図3aは、登録段階の間の電子暗号デバイスの一実施形態におけるデータの第1の例を概略的に示す。
たとえば、PUF110によって生成される、第1のノイズの多いビット列310が示されている。第1のノイズの多いビット列310は、第1の部分314と、重なり合わない第2の部分312とを含む。第2の部分312は、PUF110を識別し、それとともに、デバイス100を識別する。たとえば、乱数生成器120によって生成される、第1のビット列340も示されている。第1の部分314および第1のランダムビット列340からヘルパーデータ330が計算され、したがって、ヘルパーデータ330および第2のノイズの多いビット列を与えられて、第1のランダムビット列340を再構築することができる。第1のPUFデータ350は、第1のヘルパーデータ330と、第1のノイズの多いビット列の第2の部分312とを含む。サーバ200は、後に、第1のPUFデータ350において受信される第2の部分312からPUF110を識別することができる。第1のランダムビット列340から、公開鍵344が生成され、場合によって秘密鍵342が生成される。公開鍵344は、第1のPUFデータ350とともにサーバ200に送信することができる。
データベース220は、暗号デバイス100の物理的複製不可能関数310の第1のノイズの多いビット列310の第2の部分312と関連付けられる第1のヘルパーデータ330を格納するように構成されている。たとえば、第1のヘルパーデータ330および第2の部分312は、同じレコード内に格納することができる。
図3bは、使用段階の間の電子暗号デバイスの一実施形態におけるデータの第1の例を概略的に示す。
たとえば、PUF110によって生成される、第2のノイズの多いビット列320が示されている。第2のノイズの多いビット列320は、第1の部分324と、重なり合わない第2の部分322とを含む。第2のノイズの多いビット列320の2つの部分への分割は、第1のノイズの多いビット列310の分割と同じであり、それによって、第1のノイズの多いビット列310の第1の部分および第2の部分はそれぞれ、第2のノイズの多いビット列320の第1の部分および第2の部分に近い。第2のPUFデータ352は、第2のノイズの多いビット列320の第2の部分322を含む。第2の部分322に基づいて、サーバ200は、PUFを識別し、第1のPUFデータ350において以前に受信されているヘルパーデータ330を取り出す。これに基づいて、サーバ200は、ヘルパーデータ330を暗号デバイス100に返す。
応答ユニット230は、第2のPUFデータ352において受信されている第2のノイズの多いビット列の第2の部分322と、データベース220内に格納されている第1のノイズの多いビット310列の第2の部分312との間の差を決定することによって、物理的複製不可能関数を識別するように構成されている。たとえば、物理的複製不可能関数は、差が第1の識別閾値未満である場合に識別される。第1の識別閾値は、複数101の暗号デバイスのサイズ、第1の複数の暗号デバイスのPUFの誤り率、および、ノイズの多いビット列のサイズから決定することができる。代替的に、物理的複製不可能関数は、データベース220内のすべての第2の部分にわたって差が最も小さい、データベース220内に格納されている第1のノイズの多いビット310列の第2の部分312として識別することができる。
第1の部分324およびヘルパーデータ330から、第1のランダムビット列340が再構築され、たとえば、誤り訂正器は、第2のノイズの多いビット列の第1の部分および受信されている第1のヘルパーデータから、第1のランダムビット列を決定するように構成することができる。第1のランダムビット列340から、秘密鍵342が生成され、場合によって公開鍵344が生成される。秘密鍵342は一般的に、暗号デバイス100には必要とされない。
一実施形態において、暗号ユニット180は、秘密鍵342を使用して、メッセージに署名し、たとえば、通信ユニット150を使用して、このメッセージを、たとえば、サーバ200に送信することができる。サーバ200は、第1のPUFデータ350とともに受信される公開鍵を使用して、署名を検証することができる。一実施形態において、サーバ200は、第1のPUFデータ350とともに受信される公開鍵を使用して、メッセージを暗号化し、このメッセージをデバイス100に送信する。暗号ユニット180は、秘密鍵342を使用して、メッセージを復号することができる。
ノイズの多いビット列の第2の部分は、デバイスを識別するために使用される。ノイズの多いビット列の第1の部分は、鍵を導き出すために使用することができる。一般的に、第2の部分は、第1の部分よりもはるかに小さいものであり得る。識別に使用される第2の部分の長さは、たとえば、その中からデバイスが識別されなければならないデバイスの数に応じて決まる。第1の部分の長さは、そこから導き出されるビット列を与えられて、使用状況に応じて決まる。たとえば、暗号鍵は、たとえば、80ビット、128ビット、またはさらには256ビットなどの最小長を有することを必要とされ得る。一実施形態において、第2の部分は、第1の部分よりも小さいビット長を有する。一実施形態において、第1の部分は、第2の部分の少なくとも2倍の長さである。
図4aは、登録段階の間の電子暗号デバイスの一実施形態におけるデータの第2の例を概略的に示す。
たとえば、PUF110によって生成される、第1のノイズの多いビット列310が示されている。たとえば、乱数生成器120によって生成される、第1のビット列340も示されている。第1のノイズの多いビット列310および第1のランダムビット列340からヘルパーデータ330が計算され、したがって、ヘルパーデータ330および第2のノイズの多いビット列を与えられて、第1のランダムビット列340を再構築することができる。第1のランダムビット列340から、公開鍵344が生成され、場合によって秘密鍵342が生成される。公開鍵344は、第1のPUFデータ351とともにサーバ200に送信することができる。興味深いことに、この実施形態において、第1のPUFデータは、第1のノイズの多いビット列110のいかなる部分も直接的に含む必要はない。たとえ第1のPUFデータ351がランダムビット列340に基づくとしても、サーバ200は依然として、それを用いてデバイス200を識別することが可能である。
図4bは、使用段階の間の電子暗号デバイスの一実施形態におけるデータの第2の例を概略的に示す。
たとえば、PUF110によって生成される、第2のノイズの多いビット列320が示されている。たとえば、乱数生成器120によって生成される、第2のビット列341も示されている。第2のヘルパーデータ332は、第2のノイズの多いビット列320および第2のランダムビット列341から計算される。第2のPUFデータ353は、第2のヘルパーデータ332を含む。
第2のヘルパーデータは、サーバ200によって、PUF110を識別するために第1のヘルパーデータ100と比較される。一般的に、第2のヘルパーデータは、PUF110のノイズの多いビット列を実際に訂正するためには決して使用されることはない。しかしながら、第2のヘルパーデータは十分に機能的であり、第2のヘルパーデータは、後に、物理的複製不可能関数によって生成されるノイズの多いビット列を第2のランダムビット列にマッピングするために使用することができる。
第2のヘルパーデータ332に基づいて、サーバ200は、PUFを識別し、第1のPUFデータ351において以前に受信されているヘルパーデータ330を取り出す。これに基づいて、サーバ200は、ヘルパーデータ330を暗号デバイス100に返す。ノイズの多いビット列320およびヘルパーデータ330から、第1のランダムビット列340が再構築され、たとえば、誤り訂正器は、第2のノイズの多いビット列320および受信されている第1のヘルパーデータから、第1のランダムビット列を決定するように構成することができる。第1のランダムビット列340から、秘密鍵342が生成され、場合によって公開鍵344が生成される。秘密鍵342は一般的に、暗号デバイス100には必要とされない。
たとえば、応答ユニット230は、第2のヘルパーデータ332と第1のヘルパーデータ330との間の差を決定することによって、PUF110を識別するように構成することができる。たとえば、第2のヘルパーデータ332および第1のヘルパーデータ330は、ともにXOR演算することができる。次に、その差と、最も近い1つまたは複数の符号語との間の距離が決定される。物理的複製不可能関数は、この距離が第2の識別閾値未満である場合に識別される。代替的に、距離を最小化する第1のヘルパーデータ330が選択されてもよい。
この実施形態は、例を使用してさらに例示される。
たとえば、PUF110の第1のノイズの多いビット列をXとして示し、第2のノイズの多いビット列をYとして示す。異なるデバイス、たとえば、デバイス100’のPUFの第1のノイズの多いビット列および第2のノイズの多いビット列をそれぞれ、XおよびYとして示す。デバイス100のヘルパーデータ生成器によって決定される符号語のシーケンスは、
Figure 2017531411
であり、デバイス100’のものは
Figure 2017531411
である。第1のヘルパーデータは、デバイス100および100’について、それらのそれぞれの登録段階において、それぞれ
Figure 2017531411
および
Figure 2017531411
として計算することができる。サーバ200は、
Figure 2017531411

Figure 2017531411
の両方をデータベース220内に格納する。使用段階において、デバイス100は、第2のヘルパーデータを、
Figure 2017531411
として計算することができる。Cは符号語を示す。加算と減算の両方を、XORとして実施することができる。
デバイス100から第2のヘルパーデータ
Figure 2017531411
を受信した後、サーバ200は、データベース220内に格納されているいずれの第1のヘルパーデータがデバイス100に返信されるべきかを選択する必要がある。サーバ200は、受信されている第2のヘルパーデータと格納されている第1のヘルパーデータとの間の差を計算することによって進行することができる。
Figure 2017531411
これらの式の中の第2の項は、符号語の間の差である。誤り訂正符号が線形である場合、これらはそれ自体が、1つまたは複数の符号語から成るシーケンスである。第1の項は、PUFからのノイズの多いビット列の間の差である。式1の場合、すなわち、格納されている第1のヘルパーデータと受信されている第2のヘルパーデータとの間の正確な一致について、この項のハミング重みは小さく、PUFの誤り率によって決定される。式2の場合、すなわち、格納されている第1のヘルパーデータと受信されている第2のヘルパーデータとの間の不正確な一致について、この項のハミング重みは大きく、この項は基本的にランダムである。符号語のシーケンスに加えられるランダムビット列はそれ自体が、ランダムビット列である。サーバ200は、この時点において、誤り訂正符号と関連付けられる誤り訂正アルゴリズムを適用する誤り訂正器によって、
Figure 2017531411

Figure 2017531411
の両方の差を実行することができる。その結果は、各差についての符号語のシーケンス、たとえば、CおよびCである。見出された符号語シーケンスが差から減算される:
Figure 2017531411
および
Figure 2017531411
差(1)の場合、誤り率は小さく、そのため、符号語は多くの場合または常に、
Figure 2017531411
に等しい。したがって、
Figure 2017531411
は(X−Y)に近くなるか、または、等しくすらなる。同じPUFからとられるノイズの多いビット列は互いに近いため、この値のハミング重みは小さい。差(2)の場合、誤り率は大きく、そのため、符号語はほぼ常に異なる。したがって、
Figure 2017531411
はより大きいハミング重みを有すると予測される。
サーバ200は、これを使用して、正確な第1のヘルパーデータを識別することができる。各格納されている第1のヘルパーデータについて、格納されている第1のヘルパーデータと受信されている第2のヘルパーデータとの間の差が、たとえばXORを使用して決定される。誤り訂正器がこの差に適用されて、結果として、差に最も近い符号語のシーケンスがもたらされる。その差と、符号語のシーケンスとの間のさらなる差が決定される。このさらなる差から、ハミング重みが取得される。すべての第1のヘルパーデータにわたって、ハミング重みが最も小さくなるものが選択され得る。代替的に、第2の差分閾値を下回るハミング重みをもたらす第1のヘルパーデータが使用されてもよい。
図4aおよび図4bの第1のPUFデータおよび第2のPUFデータには、必要とされるPUFデータがより少ないという利点がある。サーバ200に対する識別と、そこからの鍵の導出の両方のために、より小さいPUFを使用することができる。SRAM PUFが使用される場合でも、メモリは経時変化に対抗するための他の目的に再使用されないことが好ましい。ヘルパーデータを使用してサーバ200に対して識別することによって、必要とされるPUFの量を低減することが可能である。他方、図3aおよび図3bの第1のPUFデータおよび第2のPUFデータは、相当により単純であり、特にサーバ200側で必要とされる処理がより少ない。
一実施形態において、乱数生成器120は、物理的複製不可能関数110から取得されるノイズの多いビット列に基づいて乱数を生成するように構成されている。たとえば、乱数生成器120は、第1のノイズの多いビット列を使用して、第1のランダムビット列を導き出すことができる。第2のランダムビット列が使用される場合、乱数生成器120は、第2のノイズの多いビット列を使用して、第2のランダムビット列を導き出すことができる。第1のノイズの多いビット列および第2のノイズの多いビット列の代わりに、別個のノイズの多いビット列がPUF110から取得されてもよく、これには、より大きいPUFが必要になるという欠点がある。たとえば、乱数生成器120は、ノイズの多いビット列をハッシュしてハッシュ化されたノイズの多いビット列を取得することができ、乱数生成器120は、種から乱数を生成するための疑似乱数生成器として構成されており、種は、ハッシュ化されたノイズの多いビット列を含む。ハッシュは、暗号ハッシュ、たとえば、SHA−1、SHA−256などであってもよい。ノイズの多いビット列中のノイズはランダムビット列を、少なくとも部分的に真にランダムにする。
一実施形態において、デバイス110は、暗号デバイスの群を一意に識別する群識別子を備え、第1のPUFデータおよび第2のPUFデータは群識別子を含む。デバイス110は、群識別子によって識別される群の一部分である。群識別子は、第2のPUFデータと第1のPUFデータのデータベースとの間に一致が見出されなければならないときに、サーバ側で必要とされる計算労力を大幅に低減することができる。群識別子を使用すると、探索空間を大幅に低減することができる。群識別子は、図3a−図3bを参照して与えられている例、および、図4a−図4bを参照して与えられている例において使用することができる。
たとえば、サーバ200の応答ユニットは、第2のPUFデータおよび群識別子から物理的複製不可能関数を識別するように構成することができる。たとえば、電子データベースは、両方とも第1のPUFデータから取得される、第1のヘルパーデータおよび群識別子を格納するように構成することができ、場合によっては、この第1のPUFデータの第1のノイズの多いビット列の第2の部分も含めて使用される。応答ユニットは、最初に、第2のPUFデータにおいて受信される群識別子を、データベース内に格納されている1つまたは複数の群識別子と比較することによって、第2のPUFデータから物理的複製不可能関数を識別するように構成することができる。受信される群識別子と格納されている群識別子とが等しいとき、応答ユニットは、第2のPUFデータにおいて受信される第2の部分および/またはヘルパーデータを、比較される群識別子とともに格納されている第2のPUFデータおよび/またはヘルパーデータと比較することによって、物理的複製不可能関数をさらに識別するように構成することができる。
群識別子は、暗号デバイスの群を識別する。群は、複数の、たとえば、少なくとも2つ、の暗号デバイスを含む。複数のデバイス101は、複数の群を含み得る。一例として、複数のデバイス101は、各々が100個のデバイスから成る10個の群の、1000個のデバイスを含むものとする。たとえば、第1のPUFデータを送信することによって、たとえすべてのデバイスが登録されている場合であっても、識別には、1000個ではなく100個のデバイスを比較しさえすればよい。群識別子は、群ではなくデバイスを一意に識別する識別子よりもはるかに小さいものであり得る。
群識別子は、デバイス110のROMに組み込むことができ、それによって、異なる群識別子を有する新たな群を製造することは、ROMマスクを変更することのみを含む。代替的に、群識別子は、たとえば、製造または登録の間に、デバイス上に格納されてもよい。
一般的に、暗号デバイス100(および100’、100’’)ならびにサーバ200は各々、デバイス100およびサーバ200に格納されている適切なソフトウェアを実行するマイクロプロセッサ(図示せず)を備え、たとえば、そのソフトウェアは、対応するメモリ、たとえば、RAMのような揮発性メモリ、または、フラッシュのような不揮発性メモリ(図示せず)内にダウンロードおよび/または記憶されているものであり得る。代替的に、デバイス100およびサーバ200は、全体的にまたは部分的に、たとえば、フィールドプログラマブルゲートアレイ(FPGA)のようなプログラム可能論理において実装されてもよい。デバイス100および200は、全体的にまたは部分的に、いわゆる特定用途向け集積回路(ASIC)、すなわち、それらの特定の用途のためにカスタマイズされている集積回路(IC)として実装されてもよい。
一実施形態において、電子暗号デバイスは、各々がそれらのそれぞれの機能のために構成されている、乱数生成器回路、ヘルパーデータ生成器回路、登録ユニット回路、通信ユニット回路、使用段階ユニット回路を備える。一実施形態において、サーブは通信ユニット回路、電子データベース回路、および応答ユニット回路を備える。回路は、プロセッサ回路およびストレージ回路であってもよく、プロセッサ回路は、ストレージ回路内で電子的に表現される命令を実行する。回路はまた、FPGA、ASICなどであってもよい。システムは、追加の回路、たとえば、鍵生成回路、暗号ユニット回路などを備えてもよく、これらの回路は、本明細書において記載されている対応するユニットを実装する。
図5は、電子暗号方法500の一例を概略的に示す。方法500は、登録段階510および後の使用段階520を有する。
登録段階510は、
物理的複製不可能関数(PUF)を使用して第1のノイズの多いビット列を生成するステップ511と、
第1のランダムビット列を選択するステップ512と、
第1のノイズの多いビット列の少なくとも一部分および第1のランダムビット列から第1のヘルパーデータを計算するステップ513と、
第1のPUFデータを生成するステップ514であって、第1のPUFデータは第1のノイズの多いビット列から導き出され、第1のPUFデータは、物理的複製不可能関数を一意に識別し、第1のPUFデータは第1のヘルパーデータを含む、第1のPUFデータを生成するステップ514と、
第1のPUFデータを電子サーバに送信するステップ515と
を含む。
使用段階520は、
物理的複製不可能関数(PUF)を使用して第2のノイズの多いビット列を生成するステップ521と、
第2のPUFデータを生成するステップ522であって、第2のPUFデータは、第2のノイズの多いビット列から導き出され、物理的複製不可能関数を一意に識別する、第2のPUFデータを生成するステップ522と、
第2のPUFデータをサーバ200に送信し、それに応答してサーバから第1のヘルパーデータを受信するステップ523と、
第2のノイズの多いビット列の少なくとも一部分および受信されている第1のヘルパーデータから第1のランダムビット列を決定するステップ524と
を含む。
図6は、電子サーバ方法600の一例を概略的に示す。
方法600は、
電子暗号デバイスの登録段階の間に暗号デバイスから第1のPUFデータを受信するステップ610であって、第1のPUFデータは、暗号デバイスの物理的複製不可能関数を一意に識別し、第1のPUFデータは第1のヘルパーデータを含む、第1のPUFデータを受信するステップ610と、
第1のPUFデータの受信に応答して第1のヘルパーデータを格納するステップ620と、
暗号デバイスの使用段階の間に暗号デバイスから第2のPUFデータを受信するステップ630であって、第2のPUFデータは、物理的複製不可能関数を一意に識別する、第2のPUFデータを受信するステップ630と、
第2のPUFデータから物理的複製不可能関数を識別するステップ640と、
第1のヘルパーデータを取り出すステップ650と、
第1のヘルパーデータを暗号デバイスに送信するステップ660と
を含む。
当業者には明らかであるように、方法を実行する多くの異なる方法の可能性がある。たとえば、ステップの順序は変更することができ、または、いくつかのステップは並行して実行されてもよい。そのうえ、ステップの間に、他の方法ステップが挿入されてもよい。挿入されるステップは、本明細書において記載されているような方法の改良を表してもよく、または、方法と無関係であってもよい。たとえば、ステップ511および512は少なくとも部分的に、並行して実行されてもよい。そのうえ、所与のステップは、次のステップが開始される前に完全に完了しなくてもよい。
本発明による方法は、プロセッサシステムに、方法500または600を実施させるための命令を含むソフトウェアを使用して実行されてもよい。ソフトウェアは、システムの特定のサブエンティティによって行われるステップのみを含んでもよい。ソフトウェアは、ハードディスク、フロッピー、メモリなどのような適切な記憶媒体内に記憶することができる。ソフトウェアは、ワイヤに沿って、または無線で、または、データネットワーク、たとえば、インターネット、を用いて、信号として送信することができる。ソフトウェアは、ダウンロード、および/または、サーバ上での遠隔使用のために利用可能とすることができる。本発明による方法は、プログラム可能論理、たとえば、フィールドプログラマブルゲートアレイ(FPGA)を、本方法を実行するように構築するように構成されているビットストリームを使用して実行することができる。
本発明はまた、コンピュータプログラム、特に、本発明を実践するようになされている、キャリア上または内のコンピュータプログラムにも及ぶことが諒解されよう。プログラムは、ソースコード、オブジェクトコード、コード中間ソース、および、部分的にコンパイルされた形態のようなオブジェクトコードの形態であってもよく、または、本発明による方法を実施するのに使用するのに適した任意の他の形態であってもよい。コンピュータプログラム製品に関する実施形態は、記載されている方法のうちの少なくとも1つの処理ステップの各々に対応するコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに細分化することができ、かつ/または、静的にまたは動的にリンクすることができる1つまたは複数のファイル内に格納することができる。コンピュータプログラム製品に関する別の実施形態は、記載されているシステムおよび/または製品のうちの少なくとも1つの手段の各々に対応するコンピュータ実行可能命令を含む。
図7aは、コンピュータプログラム1020を含む書き込み可能部分1010を有するコンピュータ可読媒体1000を示しており、コンピュータプログラム1020は、プロセッサシステムに、一実施形態に従って、暗号方法、たとえば、方法500、または、サーバ方法、たとえば、方法600を実施させるための命令を含む。コンピュータプログラム1020は、コンピュータ可読媒体1000上で、物理マークとして、または、コンピュータ可読媒体1000の磁化によって具現化することができる。しかしながら、任意の他の適切な実施形態もまた考えられる。さらに、コンピュータ可読媒体1000はここでは光ディスクとして示されているが、コンピュータ可読媒体1000は、ハードディスク、ソリッドステートメモリ、フラッシュメモリなどのような任意の適切なコンピュータ可読媒体であってもよく、記録不可能または記録可能であってもよいことが諒解されよう。コンピュータプログラム1020は、プロセッサシステムに、上記方法を実行させるための命令を含む。
図7bは、一実施形態によるプロセッサシステム1100の概略図を示す。プロセッサシステムは、1つまたは複数の集積回路1110を含む。1つまたは複数の集積回路1110のアーキテクチャが、図7bに概略的に示されている。回路1110は、一実施形態による方法を実行し、かつ/または、そのモジュールもしくはユニットを実装するためにコンピュータプログラム構成要素を作動させるための処理ユニット1120、たとえば、CPU、を備える。回路1110は、プログラミングコード、データなどを記憶するためのメモリ1122を備える。メモリ1122の一部分は、読み出し専用であってもよい。回路1110は、通信要素1126、たとえば、アンテナ、コネクタまたはそれらの両方などを備えることができる。回路1110は、方法において定義されている処理の一部分またはすべてを実施するための専用集積回路1124を備えることができる。プロセッサ1120、メモリ1122、専用IC 1124および通信要素1126は、相互接続部1130、たとえば、バス、を介して互いに接続することができる。プロセッサシステム1110は、それぞれアンテナおよび/またはコネクタを使用して、接触および/または非接触通信するように構成することができる。
上述した実施形態は、本発明を限定しているのではなく例示していること、および、当業者は多くの代替的な実施形態を設計することが可能であることが留意されるべきである。
特許請求の範囲において、括弧内に配置されている任意の参照符号は、特許請求の範囲を限定するものとして解釈されるべきではない。動詞「備える(comprise)」およびその活用形が使用されている場合、これは、特許請求の範囲内に記述されているもの以外の要素またはステップが存在することを除外するものではない。要素に冠詞「a」または「an」が先行している場合、これは、そのような要素が複数存在することを除外するものではない。本発明は、いくつかの個別の要素を備えるハードウェアによって、および、適切にプログラムされているコンピュータによって実装することができる。いくつかの手段を列挙している装置請求項において、これらの手段のうちのいくつかは、まったく同一のハードウェア物品によって具現化されてもよい。特定の方策が相互に異なる従属請求項に記載されているというだけのことは、これらの方策の組み合わせを好都合に使用することができないということを示すものではない。
特許請求の範囲において、括弧内の参照符号は、実施形態の図面または実施形態の式の中の参照符号を参照し、したがって、特許請求の範囲の理解度を増大させる。これらの参照符号は、特許請求の範囲を限定するものとして解釈されるべきではない。
100、100’、100’’ 電子暗号デバイス
101 複数の暗号デバイス
110 物理的複製不可能関数(PUF)
120 乱数生成器
130 ヘルパーデータ生成器
131 符号語生成器
132 差分ユニット
133 ヘルパーデータ生成器出力
142 登録ユニット
144 使用段階ユニット
150 通信ユニット
160 誤り訂正ユニット
170 鍵生成器
180 暗号ユニット
200 電子サーバ
210 通信ユニット
220 電子データベース
230 応答ユニット
310 第1のノイズの多いビット列
312 第1のノイズの多いビット列の第2の部分
314 第1のノイズの多いビット列の第1の部分
320 第2のノイズの多いビット列
322 第2のノイズの多いビット列の第2の部分
324 第2のノイズの多いビット列の第1の部分
330 第1のヘルパーデータ
332 第2のヘルパーデータ
340 第1のランダムビット列
341 第2のランダムビット列
342 秘密鍵
344 公開鍵
350、351 第1のPUFデータ
352、353 第2のPUFデータ

Claims (18)

  1. 登録段階および後の使用段階のために構成されている電子暗号デバイス(100)であって、
    登録段階の間に第1のノイズの多いビット列を生成するように構成されている物理的複製不可能関数(PUF)(110)と、
    登録段階の間に第1のランダムビット列を選択するように構成されている乱数生成器(120)と、
    第1のノイズの多いビット列の少なくとも一部分および第1のランダムビット列から、第1のヘルパーデータを計算するように構成されているヘルパーデータ生成器(130)であって、第1のヘルパーデータは、後に、物理的複製不可能関数によって生成される第2のノイズの多いビット列の少なくとも一部分を、第1のランダムビット列にマッピングするように構成されている、ヘルパーデータ生成器(130)と、
    登録段階の間に第1のPUFデータを生成するように構成されている登録ユニット(142)であって、第1のPUFデータは第1のノイズの多いビット列から導き出され、第1のPUFデータは、物理的複製不可能関数を一意に識別し、第1のPUFデータは第1のヘルパーデータを含む、登録ユニット(142)と、
    登録段階の間に第1のPUFデータを電子サーバに送信するように構成されている通信ユニット(150)と
    を備え、
    物理的複製不可能関数(PUF)は、使用段階の間に第2のノイズの多いビット列を生成するように構成されており、
    暗号デバイスは、使用段階の間に第2のPUFデータを生成するように構成されている使用段階ユニット(144)を備え、第2のPUFデータは、第2のノイズの多いビット列から導き出され、物理的複製不可能関数を一意に識別し、
    通信ユニットは、使用段階の間に第2のPUFデータをサーバに送信し、それに応答してサーバから第1のヘルパーデータを受信するように構成されており、
    暗号デバイスは、使用段階の間に第2のノイズの多いビット列の少なくとも一部分および受信されている第1のヘルパーデータから第1のランダムビット列を決定するように構成されている誤り訂正器(160)を備える、電子暗号デバイス(100)。
  2. 登録段階の間に第1のランダムビット列から公開鍵を生成するように構成されている鍵生成器(170)を備え、公開鍵は秘密鍵に対応し、
    通信ユニットが、登録段階の間に第1のPUFデータを公開鍵とともに電子サーバに送信するように構成されており、
    鍵生成器が、使用段階の間に第1のランダムビット列から公開鍵に対応する秘密鍵を構築するように構成されている、請求項1に記載の暗号デバイス。
  3. 第1のノイズの多いビット列および第2のノイズの多いビット列が各々、第1の部分および重なり合わない第2の部分を備え、第1のノイズの多いビット列および第2のノイズの多いビット列の第2の部分が各々、物理的複製不可能関数を一意に識別し、
    ヘルパーデータ生成器が、第1のノイズの多いビット列の第1の部分および第1のランダムビット列から、第1のヘルパーデータを計算するように構成されており、ヘルパーデータが、後に、物理的複製不可能関数によって生成される第2のノイズの多いビット列の第1の部分を、第1のランダムビット列にマッピングするように構成されており、
    第1のPUFデータが、第1のヘルパーデータおよび第1のノイズの多いビット列の第2の部分を含み、第2のPUFデータが、第2のノイズの多いビット列の第2の部分を含み、
    誤り訂正器が、使用段階の間に第2のノイズの多いビット列の第1の部分および受信されている第1のヘルパーデータから第1のランダムビット列を決定するように構成されている、請求項1または2に記載の暗号デバイス。
  4. 乱数生成器が、使用段階の間に第2のランダムビット列を選択するように構成されており、
    ヘルパーデータ生成器が、第2のノイズの多いビット列および第2のランダムビット列から、第2のヘルパーデータを計算するように構成されており、第2のヘルパーデータが、後に、物理的複製不可能関数によって生成されるノイズの多いビット列を、第2のランダムビット列にマッピングすることが可能であり、
    第2のPUFデータが第2のヘルパーデータを含み、第2のヘルパーデータが、物理的複製不可能関数をサーバに対して一意に識別する、請求項1または2に記載の暗号デバイス。
  5. 乱数生成器(120)が、物理的複製不可能関数(110)から取得されるノイズの多いビット列に基づいて乱数を生成するように構成されている、請求項1から4のいずれか一項に記載の暗号デバイス。
  6. 暗号デバイスが、暗号デバイスの群を一意に識別する群識別子を備え、第1のPUFデータおよび第2のPUFデータが群識別子を含む、請求項1から5のいずれか一項に記載の暗号デバイス。
  7. 暗号デバイスが、登録段階の間にデバイス内に含まれているいかなる不揮発性メモリにも書き込まないように構成されており、かつ/または、
    暗号デバイスが、暗号データを記憶するように構成されている複数のマイクロヒューズを備えておらず、かつ/または、
    暗号デバイスが、不揮発性書き換え可能メモリを備えておらず、かつ/または、
    暗号デバイスが、暗号デバイスを一意に識別するための、固有で、固定の、予め決定された識別子を備えていない、請求項1から6のいずれか一項に記載の暗号デバイス。
  8. 前記暗号デバイスが、複数の暗号デバイスのうちの1つであり、デバイス上に格納されているすべての情報は、存在する場合、登録段階の間、複数の暗号デバイスのすべてについて同一である、請求項1から7のいずれか一項に記載の暗号デバイス。
  9. ヘルパーデータ生成器が、第1のランダムビット列から、誤り訂正符号からの1つまたは複数の第1の符号語を取得するように構成されており、第1のヘルパーデータが、第1の1つまたは複数の符号語と、第1のノイズの多いビット列の少なくとも一部分との間の差であり、任意選択的に、
    ヘルパーデータ生成器が、第2のランダムビット列から、誤り訂正符号からの1つまたは複数の第2の符号語を取得するように構成されており、第2のヘルパーデータが、第2の1つまたは複数の符号語と、第2のノイズの多いビット列の少なくとも一部分との間の差である、請求項1から8のいずれか一項に記載の暗号デバイス。
  10. 暗号デバイスが、署名権限の公開鍵を備え、暗号デバイスが、署名権限の公開鍵を使用して、受信されている第1のヘルパーデータの署名を検証するように構成されており、誤り訂正器が、検証に失敗した場合は、受信されている第1のヘルパーデータを使用しないように構成されている、請求項1から9のいずれか一項に記載の暗号デバイス。
  11. 電子サーバであって、
    通信ユニットであり、
    暗号デバイスの登録段階の間に電子暗号デバイスから第1のPUFデータを受信することであって、第1のPUFデータは、暗号デバイスの物理的複製不可能関数を一意に識別し、第1のPUFデータは第1のヘルパーデータを含む、第1のPUFデータを受信することと、
    暗号デバイスの使用段階の間に暗号デバイスから第2のPUFデータを受信することであって、第2のPUFデータは、物理的複製不可能関数を一意に識別する、第2のPUFデータを受信することと
    を行うように構成されている、通信ユニットと、
    第1のPUFデータの受信に応答して第1のヘルパーデータを格納するように構成されている電子データベースと、
    応答ユニットであり、
    第2のPUFデータから物理的複製不可能関数を識別することと、
    データベースから第1のヘルパーデータを取り出すことと
    を行うように構成されている、応答ユニットと
    を備え、
    通信ユニットが、第1のヘルパーデータを暗号デバイスに送信するように構成されている、電子サーバ。
  12. 電子データベースが、
    暗号デバイスの物理的複製不可能関数の第1のノイズの多いビット列の第2の部分と関連付けられた第1のヘルパーデータを格納するように構成されており、
    応答ユニットが、第2のPUFデータ内に含まれている第2のノイズの多いビット列の第2の部分と、データベース内に格納されている第1のノイズの多いビット列の第2の部分との間の差を決定することによって、物理的複製不可能関数を識別するように構成されている、請求項3に記載の暗号デバイスとともに使用するための、請求項11に記載の電子サーバ。
  13. 応答ユニットが、第2のヘルパーデータと第1のヘルパーデータとの間の差を決定し、差と1つまたは複数の符号語との間の距離を決定することによって、物理的複製不可能関数を識別するように構成されている、請求項4に記載の暗号デバイスとともに使用するための、請求項11に記載の電子サーバ。
  14. 請求項11から13のいずれか一項に記載の電子サーバと、請求項1から8のいずれか一項に記載の1つまたは複数の暗号デバイスとを備える、システム。
  15. 登録段階および後の使用段階を有する電子暗号方法であって、登録段階は、
    物理的複製不可能関数(PUF)を使用して第1のノイズの多いビット列を生成するステップと、
    第1のランダムビット列を選択するステップと、
    第1のノイズの多いビット列の少なくとも一部分および第1のランダムビット列から、第1のヘルパーデータを計算するステップであって、第1のヘルパーデータは、後に、物理的複製不可能関数によって生成される第2のノイズの多いビット列の少なくとも一部分を、第1のランダムビット列にマッピングするように構成されている、第1のヘルパーデータを計算するステップと、
    第1のPUFデータを生成するステップであって、第1のPUFデータは第1のノイズの多いビット列から導き出され、第1のPUFデータは、物理的複製不可能関数を一意に識別し、第1のPUFデータは第1のヘルパーデータを含む、第1のPUFデータを生成するステップと、
    第1のPUFデータを電子サーバに送信するステップと
    を含み、
    使用段階は、
    物理的複製不可能関数(PUF)を使用して第2のノイズの多いビット列を生成するステップと、
    第2のPUFデータを生成するステップであって、第2のPUFデータは、第2のノイズの多いビット列から導き出され、物理的複製不可能関数を一意に識別する、第2のPUFデータを生成するステップと、
    第2のPUFデータをサーバに送信し、それに応答してサーバから第1のヘルパーデータを受信するステップと、
    第2のノイズの多いビット列の少なくとも一部分および受信されている第1のヘルパーデータから第1のランダムビット列を決定するステップと
    を含む、電子暗号方法。
  16. 電子サーバ方法であって、
    電子暗号デバイスの登録段階の間に暗号デバイスから第1のPUFデータを受信するステップであって、第1のPUFデータは、暗号デバイスの物理的複製不可能関数を一意に識別し、第1のPUFデータは第1のヘルパーデータを含む、第1のPUFデータを受信するステップと、
    第1のPUFデータの受信に応答して第1のヘルパーデータを格納するステップと、
    暗号デバイスの使用段階の間に暗号デバイスから第2のPUFデータを受信するステップであって、第2のPUFデータは、物理的複製不可能関数を一意に識別する、第2のPUFデータを受信するステップと、
    第2のPUFデータから物理的複製不可能関数を識別するステップと、
    第1のヘルパーデータを取り出すステップと、
    第1のヘルパーデータを暗号デバイスに送信するステップと
    を含む、電子サーバ方法。
  17. コンピュータプログラムであって、コンピュータプログラムがプログラム可能装置上で実行されたときに、請求項15または16に記載の方法を実行するように構成されているコンピュータプログラム命令を備える、コンピュータプログラム。
  18. コンピュータ可読媒体上に具現化されている、請求項17に記載のコンピュータプログラム。
JP2017538288A 2014-10-13 2015-09-22 物理的複製不可能関数を備える暗号デバイス Active JP6789222B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14188612 2014-10-13
EP14188612.7 2014-10-13
PCT/EP2015/071708 WO2016058793A1 (en) 2014-10-13 2015-09-22 Cryptographic device comprising a physical unclonable function

Publications (2)

Publication Number Publication Date
JP2017531411A true JP2017531411A (ja) 2017-10-19
JP6789222B2 JP6789222B2 (ja) 2020-11-25

Family

ID=51687958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017538288A Active JP6789222B2 (ja) 2014-10-13 2015-09-22 物理的複製不可能関数を備える暗号デバイス

Country Status (5)

Country Link
US (1) US10805093B2 (ja)
EP (1) EP3207539B1 (ja)
JP (1) JP6789222B2 (ja)
CN (1) CN107004380B (ja)
WO (1) WO2016058793A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020096384A (ja) * 2020-03-16 2020-06-18 三菱重工業株式会社 情報処理装置、情報処理方法及びプログラム
US11271757B2 (en) 2017-12-28 2022-03-08 Mitsubishi Heavy Industries, Ltd. Monitoring device, monitoring system, information processing device, monitoring method, and program

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10177922B1 (en) * 2015-03-25 2019-01-08 National Technology & Engineering Solutions Of Sandia, Llc Repeatable masking of sensitive data
JP6103169B1 (ja) * 2015-11-05 2017-03-29 三菱電機株式会社 セキュリティ装置、及びセキュリティ方法
US11366936B2 (en) * 2016-04-07 2022-06-21 Nagravision S.A. Flexible cryptographic device
CN106297863B (zh) * 2016-08-09 2020-07-28 复旦大学 可双重预充电的puf存储器及其密码生成方法
US11171785B2 (en) 2016-10-31 2021-11-09 Katholieke Universiteit Leuven Authentication method and system
JP2018098757A (ja) * 2016-12-13 2018-06-21 ルネサスエレクトロニクス株式会社 通信装置及び暗号処理システム
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
US11310062B2 (en) * 2017-03-31 2022-04-19 Arizona Board Of Regents On Behalf Of Northern Arizona University Securing physically unclonable functions with additional random ternary states
KR101974465B1 (ko) * 2017-05-25 2019-08-23 한밭대학교 산학협력단 노이즈가 삽입된 물리적 복제 불가 함수 시스템
US11196574B2 (en) * 2017-08-17 2021-12-07 Taiwan Semiconductor Manufacturing Company, Ltd. Physically unclonable function (PUF) generation
CN109428712B (zh) * 2017-08-24 2022-01-07 上海复旦微电子集团股份有限公司 数据加、解密方法及数据加、解密系统
US10649735B2 (en) 2017-09-12 2020-05-12 Ememory Technology Inc. Security system with entropy bits
US10521616B2 (en) 2017-11-08 2019-12-31 Analog Devices, Inc. Remote re-enrollment of physical unclonable functions
US11050574B2 (en) * 2017-11-29 2021-06-29 Taiwan Semiconductor Manufacturing Company, Ltd. Authentication based on physically unclonable functions
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
WO2019241007A1 (en) 2018-06-11 2019-12-19 Cryptography Research, Inc. Generating a target data based on a function associated with a physical variation of a device
KR20210022085A (ko) * 2018-06-29 2021-03-02 나그라비젼 에스에이 물리적 복제불가능 함수를 사용한 암호화 키 구성
US10839872B2 (en) * 2018-07-03 2020-11-17 Ememory Technology Inc. Random bit cell using an initial state of a latch to generate a random bit
CN108920984B (zh) * 2018-07-06 2021-11-16 北京计算机技术及应用研究所 一种防克隆篡改安全ssd主控芯片
US11271759B2 (en) * 2018-09-05 2022-03-08 Arizona Board Of Regents On Behalf Of Northern Arizona University Secure digital signatures using physical unclonable function devices with reduced error rates
US10491404B1 (en) * 2018-09-12 2019-11-26 Hotpyp, Inc. Systems and methods for cryptographic key generation and authentication
US12013259B2 (en) * 2018-09-26 2024-06-18 Infineon Technologies Ag Providing compensation parameters for sensor integrated circuits
US11477039B2 (en) * 2018-10-11 2022-10-18 Arizona Board Of Regents On Behalf Of Northern Arizona University Response-based cryptography using physical unclonable functions
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11323275B2 (en) 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
US11361660B2 (en) 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation
CN111756541A (zh) * 2019-03-26 2020-10-09 北京普安信科技有限公司 一种传送密钥的方法、服务器、终端及系统
CN111756540B (zh) * 2019-03-26 2023-04-28 北京普安信科技有限公司 一种传送密文的方法、终端、服务器及系统
CN110545543A (zh) * 2019-09-03 2019-12-06 南瑞集团有限公司 一种无线设备的认证方法、装置及系统
CN110677254B (zh) * 2019-09-20 2022-06-10 广州城市职业学院 一种超轻量级的rfid认证方法
US11516028B2 (en) 2019-12-24 2022-11-29 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
GB201919297D0 (en) 2019-12-24 2020-02-05 Aronson Bill Temperature sensing physical unclonable function (puf) authenication system
US11783092B2 (en) * 2020-02-10 2023-10-10 Taiwan Semiconductor Manufacturing Company Limited Systems and methods for classifying PUF signature modules of integrated circuits
US20210320070A1 (en) * 2020-04-09 2021-10-14 International Business Machines Corporation Physical unclonable function
US20220385485A1 (en) * 2021-06-01 2022-12-01 Micron Technology, Inc. Identity theft protection with no password access
US20230327864A1 (en) * 2022-04-12 2023-10-12 Huawei Technologies Co., Ltd. Apparatuses, methods, and computer-readable media for generating and utilizing a physical unclonable function key

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840803B2 (en) 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
WO2006038183A1 (en) 2004-10-04 2006-04-13 Koninklijke Philips Electronics N.V. Two-way error correction for physical tokens
WO2006067739A2 (en) 2004-12-22 2006-06-29 Koninklijke Philips Electronics N.V. Method and device for key generation and proving authenticity
US8050405B2 (en) * 2005-09-30 2011-11-01 Sony Ericsson Mobile Communications Ab Shared key encryption using long keypads
US20090217045A1 (en) * 2005-11-29 2009-08-27 Koninklijke Philps Electronics, N.V. Physical secret sharing and proofs of vicinity using pufs
US8290150B2 (en) 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
US20110215829A1 (en) 2007-08-22 2011-09-08 Intrinsic Id B.V. Identification of devices using physically unclonable functions
FR2941343B1 (fr) * 2009-01-20 2011-04-08 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie, protege notamment contre les attaques par observation de fuites d'information par leur chiffrement.
US9252960B2 (en) * 2009-03-06 2016-02-02 Intrinsic Id B.V. System for establishing a cryptographic key depending on a physical system
US8694856B2 (en) 2009-08-14 2014-04-08 Intrinsic Id B.V. Physically unclonable function with tamper prevention and anti-aging system
US8819409B2 (en) 2009-10-21 2014-08-26 Intrinsic Id B.V. Distribution system and method for distributing digital information
JP5499358B2 (ja) 2010-03-24 2014-05-21 独立行政法人産業技術総合研究所 認証処理方法及び装置
WO2012001796A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 個体別情報生成装置及び個体別情報生成方法
WO2012069545A2 (en) 2010-11-24 2012-05-31 Intrinsic Id B.V. Physical unclonable function
JP5770026B2 (ja) * 2011-06-20 2015-08-26 ルネサスエレクトロニクス株式会社 半導体装置
JP2015154291A (ja) 2014-02-14 2015-08-24 国立研究開発法人産業技術総合研究所 デバイス固有情報生成装置及びデバイス固有情報生成システムとデバイス固有情報生成方法
JP2017522807A (ja) * 2014-06-25 2017-08-10 アナログ ディヴァイスィズ インク メタデータをハードウェア固有の特性とバインドするシステムおよびデバイス
EP3640923A1 (en) * 2016-12-21 2020-04-22 Merck Patent GmbH Puf based composite security marking for anti-counterfeiting

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11271757B2 (en) 2017-12-28 2022-03-08 Mitsubishi Heavy Industries, Ltd. Monitoring device, monitoring system, information processing device, monitoring method, and program
JP2020096384A (ja) * 2020-03-16 2020-06-18 三菱重工業株式会社 情報処理装置、情報処理方法及びプログラム
JP7084442B2 (ja) 2020-03-16 2022-06-14 三菱重工業株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
EP3207539B1 (en) 2021-03-17
CN107004380B (zh) 2020-11-13
US20170310489A1 (en) 2017-10-26
CN107004380A (zh) 2017-08-01
EP3207539A1 (en) 2017-08-23
WO2016058793A1 (en) 2016-04-21
US10805093B2 (en) 2020-10-13
JP6789222B2 (ja) 2020-11-25

Similar Documents

Publication Publication Date Title
JP6789222B2 (ja) 物理的複製不可能関数を備える暗号デバイス
US10910079B2 (en) Programming device arranged to obtain and store a random bit string in a memory device
KR102458727B1 (ko) 물리적 복제방지 기능으로부터 암호화 키 생성
US11218306B2 (en) Cryptographic device having physical unclonable function
EP2526505B1 (en) Device and method for obtaining a cryptographic key
US11183083B2 (en) Cryptographic device and memory based PUF
US20160006570A1 (en) Generating a key derived from a cryptographic key using a physically unclonable function
CN110869997B (zh) 电子加密设备、电子登记和重构方法及计算机可读介质
JP2013031151A (ja) 暗号通信システムおよび暗号通信方法
WO2017194335A2 (en) Programming device arranged to obtain and store a random bit string in a memory device
JP6014214B2 (ja) 暗号通信システムおよび暗号通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190423

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201102

R150 Certificate of patent or registration of utility model

Ref document number: 6789222

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250