JP2021526745A - デバイスの物理的変動に関連する関数に基づくターゲットデータの生成 - Google Patents

デバイスの物理的変動に関連する関数に基づくターゲットデータの生成 Download PDF

Info

Publication number
JP2021526745A
JP2021526745A JP2020544757A JP2020544757A JP2021526745A JP 2021526745 A JP2021526745 A JP 2021526745A JP 2020544757 A JP2020544757 A JP 2020544757A JP 2020544757 A JP2020544757 A JP 2020544757A JP 2021526745 A JP2021526745 A JP 2021526745A
Authority
JP
Japan
Prior art keywords
data
target data
physical
puf
helper
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.)
Pending
Application number
JP2020544757A
Other languages
English (en)
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 JP2021526745A publication Critical patent/JP2021526745A/ja
Priority to JP2024006418A priority Critical patent/JP2024032812A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

デバイスの物理的変動に対応する値を受信することができる。さらに、デバイスの物理的変動に関連するヘルパーデータを受信することができる。結果データを、デバイスの物理的変動に対応する値とヘルパーデータとの組み合わせに基づいて生成することができる。エラー訂正操作を結果データに対して実行して、エラー訂正操作に関連する1つ以上のコードワードを識別することができる。続いて、1つ以上のコードワードに基づいてターゲットデータを生成することができる。【選択図】図2

Description

本開示は、以下に与えられる詳細な説明から、および本開示の様々な実装の添付図面から、より完全に理解されるであろう。
本開示のいくつかの実施形態による、物理複製困難関数を含む例示的なデバイスを示す。 いくつかの実施形態による、物理複製困難関数を使用することによってヘルパーデータおよびターゲットデータを生成する例示的な方法のフロー図である。 本開示のいくつかの実施形態による、物理複製困難関数のヘルパーデータを生成する例示的な方法のフロー図である。 本開示のいくつかの実施形態による、ヘルパーデータの生成を示す。 本開示のいくつかの実施形態による、物理複製困難関数を使用することによってターゲットデータを生成する例示的な方法のフロー図である。 本開示のいくつかの実施形態による、ターゲットデータの生成を示す。 本開示のいくつかの実施形態が動作し得るコンピュータシステムの実施形態のブロック図を示す。
本開示の態様は、デバイスの物理的変動に関連する関数に基づいてターゲットデータを生成することを対象とする。一般に、半導体デバイスは、半導体デバイスの半導体製造プロセスの結果としての物理的変動を含み得る。物理的変動は、特定の半導体デバイスに固有であり得る。例えば、物理的変動は、半導体デバイスの固有のハードウェア特性または挙動であり得る。物理的変動は、半導体製造プロセスの一部として、半導体デバイスにランダムに導入され得る。半導体デバイスにおけるそのような物理的変動は、物理的変動を表す値を生成する物理複製困難関数(PUF)に関連し得る。
物理複製困難関数を使用して、デバイスで操作を実行するために使用されるターゲットデータを生成することができる。例えば、PUFは、特定の半導体デバイスの予測不可能なまたは未知であるが一定の値に対応し得る。PUFに対応する値を使用して、デバイスによって使用される秘密暗号鍵などのターゲットデータを生成することができる。このような暗号鍵は、他の複数のデバイス間で共通である場合がある。様々なデバイスの様々なPUFに対応する値は未知で予測不可能であり得るため、各デバイスのPUFに対応する値を使用する場合、追加のデータ(すなわち、ヘルパーデータ)を使用して、予想されるターゲットデータの生成を容易にすることができる。例えば、ヘルパーデータを使用して、PUFに対応するどの値が選択され、ターゲットデータを生成するために使用されるべきかを決定できる。その結果、対応するヘルパーデータとPUFに対応する値の組み合わせを使用して、PUFに対応する値がデバイス間で異なり得る場合に、各デバイスに同じターゲットデータを生成できる。
例として、PUFはスタティックランダムアクセスメモリ(SRAM)の物理的変動に対応し得、ここで、SRAMを含むデバイスの初期化時にSRAMの特定のビットが「0」の値または「1」の値にバイアスされ得る。ヘルパーデータは、ターゲットデータの生成に使用されるPUFに対応する値として、SRAMのどの特定のバイアスされたビットを選択して、使用するべきかを識別できる。ヘルパーデータは、PUFに対応する値が選択された後にPUFによって生成され得、ヘルパーデータは、メモリに記憶され得る。続いて、ヘルパーデータをメモリから取得し、後でPUFに提供することができるので、PUFの対応する値を選択して、同じターゲットデータを生成することができる。その結果、ヘルパーデータを使用して、PUFの反復可能であるがランダムな値の特定のビットを選択し、ターゲットデータを生成できる。
PUFに対応する値(すなわち、PUF値)を使用すると、PUFを含むデバイスの製造中に、結果として、PUF値がエクスポートされ得る。さらに、PUFに対応する値の使用は、(例えば、PUFに対応する値で暗号鍵を暗号化するために)追加の操作で使用されてもよい。ただし、デバイスの製造中のPUF値のこのようなエクスポート、または追加の操作でのPUF値の使用は、PUF値を露出し得るので、不正なエンティティがPUF値を取得して、デバイスのセキュリティを危険にさらす場合がある。例えば、PUF値を使用してデバイスで使用される暗号鍵を生成する場合、PUF値がエクスポートされた後、暗号鍵が不正なエンティティによって取得または生成される場合がある。
本開示の態様は、例えば(これに限定されないが)SRAMにおける物理的変動に対応するPUFを利用することによって、上記および他の欠陥に対処する。例えば、SRAMエラー訂正操作で使用されるコードワードは、ターゲットデータの値および乱数に基づいて生成することができる。一般に、ヘルパーデータはさらに、ターゲットデータと、ターゲットデータの値と乱数に基づくコードワードとの組み合わせである場合がある。その後、ヘルパーデータを使用してターゲットデータを生成できる。例えば、PUFの出力が受信され、ヘルパーデータと組み合わされてもよい。コードワードを生成するために、PUFの出力とヘルパーデータとの組み合わせに対してエラー訂正操作を実行することができる。その後、コードワードを使用して、対応するターゲットデータを決定できる。
本開示の利点には、ターゲットデータにおける改善されたセキュリティが含まれるが、これに限定されない。例えば、PUFの値はエクスポートされないため、不正なエンティティによって取得される可能性が低いので、PUFの値に基づいて生成されるターゲットデータは、PUFの値がエクスポートされる場合よりも安全であると考えられ得る。したがって、操作を実行するときに、PUFを使用して暗号鍵に対応するターゲットデータを生成するデバイスの操作は、より安全であり得る。さらに、第1の顧客向けに製造されたデバイスは、製造時に第1のターゲット値を生成するようにプログラムされてもよく、一方で、第2の顧客向けに製造されたデバイスは、第2のターゲット値を生成するようにプログラムされてもよい。
図1は、物理複製困難関数を含む例示的なデバイス100を示す。デバイス100は、集積回路を含むことができ、ここで、集積回路の一部は、ターゲットデータを生成するために使用される物理複製困難関数に対応する物理的変動に関連する。一般に、物理複製困難関数は、限定されるものではないが、スタティックランダムアクセスメモリ(SRAM)PUF(ランダムな電圧オフセットに依存する)、タイミングPUF(予測不可能な競合条件に依存する)、インピーダンスPUF(抵抗、静電容量、またはインダクタンスの不一致に依存する)などに対応する回路とすることができる。このようなPUF回路は、不揮発性メモリに記憶されているヘルパーデータを利用して、PUF回路の出力(例えば、PUF値)の長期安定性を達成できる。
図1に示すように、デバイス100は、物理複製困難関数110、メモリ120、およびデバイスコンポーネント130を含むことができる。メモリ120は、デバイスの不揮発性メモリとすることができ、物理複製困難関数110は、集積回路または集積回路の構造もしくは部分に対応することができる。さらに、デバイスコンポーネント130は、暗号操作に関連する機能を実行する回路とすることができる。例えば、暗号操作は、物理複製困難関数110を使用することにより生成されるターゲットデータを使用することにより、入力データを暗号化および/または解読することであり得る。
物理複製困難関数110は、PUF110の物理的変動およびメモリ120からのヘルパーデータ140に基づいてターゲットデータ141を生成することができる。例えば、物理複製困難関数110は、ターゲットデータ150を受信することができる。いくつかの実施形態では、ターゲットデータ150は、あるクラスのデバイス用の暗号鍵であり得る。例えば、ターゲットデータ150は、デバイスのクラス内の各デバイス(例えば、デバイス100および他のデバイス)によって使用または生成されることが意図されている暗号クラス鍵であり得る。ターゲットデータ150を受信した後、物理複製困難関数110は、ターゲットデータ150および物理複製困難関数110に関連する物理的変動に対応する値に基づいてヘルパーデータ140を生成することができる。いくつかの実施形態では、物理複製困難関数110の物理的変動は、複数の値に対応する場合がある。例えば、第1の値は、物理複製困難関数110の構造における第1の物理的変動に対応し得、第2の値は、物理複製困難関数110の構造における第2の物理的変動に対応し得る。いくつかの実施形態では、物理複製困難関数110がSRAMに対応する場合、第1の物理的変動は、デバイス100の初期化時または起動時に、SRAMの第1のビットが「0」の値または「1」の値のどちらによりバイアスされているかに対応し得、第2の物理的変動は、デバイス100の初期化時または起動時に、SRAMの第2ビットが「0」の値または「1」の値のどちらによりバイアスされているかに対応し得る。したがって、物理複製困難関数110の構造における異なる物理的変動はそれぞれ、ターゲットデータ150を生成するために使用され得る異なるビットに対応し得る。ヘルパーデータ140は、物理複製困難関数110の異なる物理的変動に対応するどの特定のビットを選択し、かつ使用して、受信したターゲットデータ150を生成すべきかを識別してもよいし、または受信したターゲットデータ150を生成するために使用してもよい。
一例として、ターゲットデータ150は、「00110」の値であり得る。物理複製困難関数110は、その異なる物理的変動の結果として値「001111111110」を提供し得る。ヘルパーデータ140は、最初の4ビット「0011」および最後のビット「0」が、ターゲットデータ150を生成するために物理複製困難関数110から選択されるべきであることを識別し得る。ヘルパーデータには特定のビットの利用に対応する情報または他のそのような情報が含まれているため、ヘルパーデータからの情報だけでは、攻撃者またはヘルパーデータを取得できる他のそのような不正なエンティティが所望するターゲット値を明らかにしない。同じまたは代替の実施形態では、ヘルパーデータは、最初の4つのビットを変更せずに選択し得、次に5番目のビットを選択して、反転し得るか、または別のタイプの変更を実行し得るなどの、追加情報を含むことができる。いくつかの実施形態では、物理複製困難関数110がSRAMに対応する場合、ヘルパーデータ150は、以下でさらに詳細に説明するように、コードワードおよび物理複製困難関数110の出力に対応し得る。
図1を参照すると、ヘルパーデータ140は、物理複製困難関数110によって生成された後、メモリ120に記憶され得る。その後、デバイスコンポーネント130は、ターゲットデータ150が提供されることを要求し得る。それに応じて、ヘルパーデータ140は、物理複製困難関数110に提供されて、ヘルパーデータ140を生成するために使用された元のターゲットデータ150と一致し得る後続のターゲットデータ141を生成し得る。いくつかの実施形態では、後続のターゲットデータ141は、デバイスコンポーネント130によって使用される暗号鍵、または暗号鍵を生成するために使用される値に対応することができる。
図2は、物理複製困難関数を使用することによってヘルパーデータおよびターゲットデータを生成する例示的な方法200のフロー図である。方法200は、ハードウェア(例えば、処理デバイス、回路、専用ロジック、プログラム可能ロジック、マイクロコード、デバイスのハードウェア、集積回路など)、ソフトウェア(例えば、処理デバイス上で起動または実行される命令)またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。いくつかの実施形態では、方法200は、図1のデバイス100の物理複製困難関数110および/または他のデバイスコンポーネント130によって実行され得る。
図2に示すように、方法200は、ブロック210で、処理ロジックが物理複製困難関数(PUF)にターゲットデータを提供することで開始することができる。例えば、後で複製されることを意図する暗号鍵が、PUFに提供されてもよい。処理ロジックはさらに、ターゲットデータに基づいてPUFからヘルパーデータを生成してもよい(ブロック220)。例えば、ヘルパーデータは、PUFからの値を使用することによってターゲットデータを再現するための追加データを提供することができ、および/またはターゲットデータをPUFの出力値として複製するために選択および使用すべきであるPUFの物理的変動に対応する特定のビットを識別することができる。いくつかの実施形態では、PUFはSRAMに対応し得、ヘルパーデータは、PUFの出力値とコードワードとの組み合わせであり得る。ヘルパーデータの生成に関するさらなる詳細は、図3Aおよび図3Bに関連して説明される。その後、処理ロジックは、ヘルパーデータをメモリに記憶することができる(ブロック230)。ヘルパーデータは、後でターゲットデータを生成するための後続の取得のためにメモリに記憶され得る。処理ロジックはさらに、PUFを用いてターゲットデータを生成する要求を受信することができる(ブロック240)。例えば、ターゲットデータを生成するための要求は、ヘルパーデータが生成されてメモリに記憶された後に受信されてもよい。同じターゲットデータを生成するための要求は、デバイスコンポーネントによる操作で使用されるべきターゲットデータに対応する暗号鍵に対するデバイスコンポーネントからの要求に応答することができる。処理ロジックは、メモリでヘルパーデータをPUFに提供することができる(ブロック250)。例えば、以前に受信されたターゲットデータに基づいてPUFによって以前に生成されたヘルパーデータは、後でPUFに提供され得る。その後、処理ロジックは、PUFおよびヘルパーデータに基づいてターゲットデータを生成することができる(ブロック260)。例えば、ヘルパーデータは、PUFによって受信され、ヘルパーデータを生成するために使用された以前のターゲットデータを反映する、PUFに対応する値を生成または選択するために使用され得る。いくつかの実施形態では、ヘルパーデータは、結果を生成するために、PUFの出力と組み合わされてもよく、ここで、コードワードを取得するために結果に対してエラー訂正が実行される。さらに、コードワードを使用して、ターゲットデータを導出または生成することができる。コードワードからターゲットデータを生成することに関するさらなる詳細は、図4Aおよび図4Bに関連して説明される。コードワードは、エラー訂正操作で使用されるエラー訂正コードであり得る。
したがって、デバイスの回路(例えば、PUF)の物理的変動は、複数のビットまたは値を表すことができる。ヘルパーデータは、物理的変動によって表されるビットもしくは値のサブセット、および/またはターゲットデータを生成するために物理的変動によって表されるビットもしくは値と組み合わせて使用される追加データ(例えば、コードワード)を識別するために使用できる。例えば、ヘルパーデータは、物理的変動によって表されるビットの特定の数および順序と、エラー訂正操作で使用されるコードワードを識別することができるので、その数と順序は、エラー訂正操作の実行後のターゲットデータに対応するか、またはそのターゲットデータである。
図3Aは、物理複製困難関数のヘルパーデータを生成する例示的な方法300のフロー図である。方法300は、ハードウェア(例えば、処理デバイス、回路、専用ロジック、プログラム可能ロジック、マイクロコード、デバイスのハードウェア、集積回路など)、ソフトウェア(例えば、処理デバイス上で起動または実行される命令)またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。いくつかの実施形態では、方法300は、図1のデバイス100の物理複製困難関数110および/または他のデバイスコンポーネント130によって実行され得る。
方法300は、SRAMに対応するPUFのヘルパーデータの生成に対応し得る。図3Aに示すように、方法300は、ブロック310で、処理ロジックが、この例では、スタティックランダムアクセスメモリ(SRAM)に対応する物理複製困難関数のターゲットデータを受信することで開始することができる。他の実施形態では、PUFは、ヘルパーデータを利用して安定性を保証する他の任意のタイプのPUF回路(例えば、限定されないが、電圧オフセットベースのPUF、タイミングベースのPUF、またはインピーダンスベースのPUF)に対応し得る。処理ロジックは、乱数生成器からランダムな値を受信することができる(ブロック320)。例えば、PUFを含むデバイスは、1つ以上のランダムな値または数を生成する乱数生成器コンポーネントをさらに含むことができる。その後、処理ロジックは、ランダムな値およびターゲットデータに基づいてエラー訂正に関連するコードワードを生成することができる(ブロック330)。生成されたコードワードは、エラー訂正操作で使用される要素(例えば、コードワード)のセットを含むコードワードベースから選択されてもよい。コードワードベースの第1の部分は、ターゲットデータのビットの値に基づいて選択され得、コードワードベースの第2の部分は、ランダムな値のビットの値に基づいて選択され得る。コードワードベースは、ターゲットデータのビット数に対応するかまたはそれに等しい第1のサブセットと、生成されるランダムな値の数に対応するかまたはそれに等しい第2のサブセットを含み得る。対応するビットの値が「1」である場合、特定のコードワードが選択されてもよく、対応するビットの値が「0」である場合、特定のコードワードは選択されなくてもよい。したがって、第1のサブセットからのコードワードは、「1」であるターゲットデータの対応するビット値に基づいて選択されてもよく、第2のサブセットからのコードワードは、「1」である乱数の対応するビット値に基づいて選択されてもよい。
図3Aを参照すると、処理ロジックは、PUFの出力値とコードワードとの間で排他的論理和(XOR)演算をさらに実行して、SRAMに対応するPUFのヘルパーデータを生成することができる(ブロック340)。例えば、PUFの出力値は、ヘルパーデータを生成するために、生成されたコードワードと組み合わされ得る。続いて、ヘルパーデータは、PUFを含むデバイスの不揮発性メモリに記憶され得る。
図3Bは、ヘルパーデータの生成を示す。一般に、ヘルパーデータは、図3Aに関して説明したように、SRAMに対応するPUFに対して生成され得る。示されるように、利用可能なコードワードベース390が提供され得る。利用可能なコードワードベース390は、エラー訂正操作で使用され得る複数のコードワードを含み得る。ターゲットデータ391も受信され得、乱数392が生成され得る。ターゲットデータ391および乱数392のビットの値に基づいて、利用可能なコードワードベース390とは異なるコードワードを選択して、エラー訂正操作のために生成および使用されるヘルパーデータで使用することができる。例えば、利用可能なコードワードベース390は、ターゲットデータ391の利用可能な各ビットに対するコードワードと、乱数392の利用可能な各ビットに対するコードワードとを含み得る。示されるように、ターゲットデータ391の最初のビットは0であるので、コードワードCを使用しなくてよい(例えば、「0」の値とコードワードの組み合わせはゼロである)。さらに、ターゲットデータ391の次のビットは「1」であるため、コードワードCを使用することができる。ターゲットデータ391の残りのビットの値に基づいて、コードワードCを使用することができ、他のコードワードは使用しなくてよい(例えば、7番目のビットは「1」の値であり、他のビットは「0」の値にある)。さらに、乱数392は、第1、第2、および第4のビットの値を含むので、次に、コードワードはd、d、およびdを使用することができる。したがって、結果として得られるコードワードベース393は、コードワードC、C、d、d、およびdを含むことができる。次に、結果として得られるコードワードベース393は、XOR演算に基づいてPUFの出力と組み合わされ、ヘルパーデータを生成することができる。
図4Aは、物理複製困難関数を使用することによってターゲットデータを決定する例示的な方法400のフロー図である。方法400は、ハードウェア(例えば、処理デバイス、回路、専用ロジック、プログラム可能ロジック、マイクロコード、デバイスのハードウェア、集積回路など)、ソフトウェア(例えば、処理デバイス上で起動または実行される命令)またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。いくつかの実施形態では、方法400は、図1のデバイス100の物理複製困難関数110および/または他のデバイスコンポーネント130によって実行され得る。
図4Aに示すように、方法400は、ブロック410で、処理ロジックが、この例では、SRAMに対応する物理複製困難関数の出力を受信することで開始することができる。例えば、デバイスコンポーネントは、ターゲットデータを要求することができる。いくつかの実施形態では、ターゲットデータは、デバイスコンポーネントによって使用される暗号鍵、または暗号鍵を生成するために使用される値に対応し得る。ターゲットデータは、デバイスコンポーネントによって使用される任意の他のタイプの秘密データに対応する場合がある。処理ロジックはさらに、PUFのヘルパーデータを受信することができる(ブロック420)。例えば、ヘルパーデータは、不揮発性メモリから取得できる。処理ロジックはさらに、PUFの出力とPUFのヘルパーデータとの間でXOR演算を実行することができる(ブロック430)。例えば、PUFの物理的変動に対応する値およびヘルパーデータを組み合わせて結果を生成することができる。さらに、処理ロジックは、XOR演算の結果に対してエラー訂正を実行して、コードワードを識別することができる(ブロック440)。ヘルパーデータは、コードワードと、コードワードが生成されたときのPUFの以前の出力との組み合わせとすることができるため、ヘルパーデータとPUFの出力との間のXOR演算の結果は、ヘルパーデータ、PUFの以前の出力、およびPUFの現在の出力の組み合わせに対応し得る。PUFの以前の出力とPUFの現在の出力とのXORの組み合わせは、エラー項になる場合がある。例えば、エラー訂正操作は、XOR演算の結果(例えば、PUFの現在の出力とPUFの以前の出力との組み合わせ)からエラー項を削除し、エラー訂正操作の結果がコードワードになるようにすることができる。その後、処理ロジックは、識別されたコードワードに基づいてターゲットデータを決定することができる(ブロック450)。ターゲットデータは、どのコードワードが使用されたかに基づいて生成され得る。例えば、コードワードは、コードワードに符号化された元のランダムな値を取得するために復号化され得る。次に、ターゲットデータのビットによって代用または置換された元のランダムな値のビットを表すことができる復号値の第1のビット(例えば、第1のビットグループ)を読み取ることによって、ターゲットデータを取得することができる。
したがって、PUFの現在の出力とヘルパーデータとの組み合わせに対してエラー訂正操作を実行することによって、ターゲットデータを生成することができる。エラー訂正操作を使用すると、PUFの現在の出力とヘルパーデータとの組み合わせからエラー項が削除され、以前にヘルパーデータを生成するためにターゲットデータが受信されたときに生成されたコードワードが生成され得る。その後、コードワードを使用して、ターゲットデータを決定することができる。
図4Bは、ターゲットデータの生成を示す。一般に、ターゲットデータは、図4Aに関して説明したように、SRAMに対応するPUFを使用することによって生成され得る。示されるように、PUF460は、現在のPUF出力461を生成し得る。さらに、現在のPUF出力461およびヘルパーデータ462(例えば、図3Aおよび図3Bに関して説明したように、コードワードおよび以前のPUF出力に基づくヘルパーデータ)は、結果データ464を生成するためにXOR演算に基づいて組み合わされ得る。いくつかの実施形態では、結果データ464は、エラー項(例えば、以前のPUF出力および現在のPUF出力)ならびにターゲットデータの値および乱数に基づいて以前に選択または生成されたコードワードに対応する値であり得る。例えば、結果データ464は、現在のPUF出力461、コードワード、およびコードワードが選択されたときの以前のPUF出力のXORの組み合わせであり得る。現在のPUF出力461と以前のPUF出力とのXORの組み合わせは、エラー項に対応し得る。エラー訂正操作465は、結果データ464に対して実行され、コードワード466が残るように、エラー項(例えば、現在のPUF出力461と以前のPUF出力とのXORの組み合わせ)を除去することができる。その後、ターゲットデータ467は、コードワード466から導出され得る。
いくつかの実施形態では、PUFの物理的変動は、一対の名目上同一の抵抗器間の抵抗の差に対応し得る。例えば、「0」の値は、第1の抵抗器と第2の抵抗器との間の(すなわち、製造中に生じたランダムな変動による)抵抗の差が所定の閾値よりも大きい場合に一対の抵抗器に割り当てられ得、「1」の値は、第1の抵抗器と第2の抵抗器との間の抵抗の差が所定の閾値よりも小さい場合に一対の抵抗器に割り当てられ得る。いくつかの実施形態では、一対の抵抗器間の抵抗の差が「0」および「1」の値に対応する閾値のいずれも超えない場合、特定対の抵抗器は、PUFの値の決定に使用されなくてもよい。そのような例では、ヘルパーデータは、抵抗器の対を識別することができ、ここで、対応する対の抵抗の差は、その抵抗器の対から「0」または「1」の値を決定するために使用できるほど十分に大きい。ヘルパーデータは、ターゲットデータを決定するために使用される抵抗器の対に関連する値の順序をさらに識別することができる。同じまたは代替の実施形態では、PUFの物理的変動は、2つの信号経路間の競合条件に対応し得る。例えば、第1の経路が第2の経路の前に競合条件を満たす場合に「0」の値が割り当てられ得、第2の経路が第1の経路の前に競合条件を満たす場合に「1」の値が割り当てられ得る。そのような例では、ヘルパーデータは、ターゲットデータを生成するために使用できる経路の対を識別できる。
いくつかの実施形態では、ヘルパーデータは、PUFの第1の出力値とコードワードとの間の組み合わせを表す値であり得る。コードワードは、ターゲットデータのビットを使用することによって生成され得る。いくつかの実施形態では、値は、PUFの第1の出力値とコードワードとの排他的論理和(XOR)の組み合わせであり得る。次に、PUFの第2のファジー読み取り(つまり、不安定であり、後続の読み取り間で異なる可能性があるいくつかのビットを含む読み取り)の出力でヘルパーデータを使用して、次いで、エラー項を削除するために結果にエラー訂正を実行することによって、コードワードを回復することができる。次に、結果のコードワードからターゲットデータを回復することができる。
図5は、本明細書で論じられる方法論のうちのいずれか1つ以上を機械に実行させるための命令のセットが中で実行され得るコンピュータシステム500の例を示す。代替の実装では、機械は、LAN、イントラネット、エクストラネット、および/またはインターネット内の他の機械に接続(例えば、ネットワーク化)されてもよい。機械は、クライアントーサーバネットワーク環境内のサーバもしくはクライアント機械の能力内で、ピアツーピア(または分散型)ネットワーク環境内のピア機械として、あるいはクラウドコンピューティングインフラストラクチャもしくは環境内のサーバまたはクライアント機械として動作することができる。
機械は、パーソナルコンピューター(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、Webアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはその機械によって行われるアクションを指定する命令のセットを(順次または別の方法で)実行できる任意の機械とすることができる。さらに、単一の機械が示されているが、「機械」という用語は、本明細書で論じられる方法論のいずれか1つ以上を実行する命令のセット(または複数のセット)を個別または共同で実行する機械の任意の集まりも含むとみなされるものとする。
例示的なコンピュータシステム500は、処理デバイス502、メインメモリ504(例えば、読み取り専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)もしくはラムバスDRAM(RDRAM)などのダイナミックランダムアクセスメモリ(DRAM)など)、スタティックメモリ506(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、およびデータストレージデバイス518を含み、これらは、バス530を介して互いに通信する。
処理デバイス502は、マイクロプロセッサ、中央処理装置などの1つ以上の汎用処理デバイスを表す。より具体的には、処理デバイスは、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、または他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサとすることができる。処理デバイス502はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つ以上の専用処理デバイスであってもよい。処理デバイス502は、本明細書で論じられる操作およびステップを実行するための命令526を実行するように構成される。
コンピュータシステム500は、ネットワーク520上で通信するためのネットワークインターフェースデバイス508をさらに含み得る。コンピュータシステム500はまた、ビデオディスプレイユニット510(例えば、液晶ディスプレイ(LCD)またはブラウン管(CRT))、英数字入力デバイス512(例えば、キーボード)、カーソル制御デバイス614(例えば、マウス)、グラフィック処理ユニット522、信号生成デバイス516(例えば、スピーカ)、グラフィック処理ユニット522、ビデオ処理ユニット528、およびオーディオ処理ユニット532を含むことができる。
データ記憶デバイス518は、本明細書に説明される方法論または機能のいずれか1つ以上を具現化する命令またはソフトウェア526の1つ以上のセットが記憶される機械可読記憶媒体524(コンピュータ可読媒体としても知られる)を含むことができる。命令526はまた、コンピュータシステム500によるその実行中、メインメモリ504内および/または処理デバイス502内に完全にまたは少なくとも部分的に存在し得、メインメモリ504および処理デバイス502はまた、機械可読記憶媒体を構成する。
一実装では、命令526は、本明細書で説明されるような機能を実装するための命令を含む。機械可読記憶媒体524は、例示的な実装では単一の媒体であるように示されているが、「機械可読記憶媒体」という用語は、1つ以上の命令セットを記憶する単一の媒体または複数の媒体(例えば、集中型もしくは分散型データベース、ならびに/または関連するキャッシュおよびサーバ)を含むとみなされるべきである。「機械可読記憶媒体」という用語はまた、機械による実行のための命令セットを記憶または符号化することができ、機械に本開示の方法論のいずれか1つ以上を実行させる任意の媒体を含むとみなされるものとする。したがって、「機械可読記憶媒体」という用語は、限定ではないが、固体メモリ、光学媒体、および磁気媒体を含むとみなされるものとする。
前述の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよび記号表現に関して提示されてきた。これらのアルゴリズムの説明と表現は、データ処理技術分野の当業者が自身の作業の内容を他の当業者に最も効果的に伝えるために使用する方法である。アルゴリズムは、ここで、一般に、望ましい結果につながる自己矛盾のない一連の操作であると考えられている。操作は、物理量の物理的な操作を必要とするものである。通常、必ずしもではないが、これらの量は、保存、結合、比較、および別の方法で操作が可能な電気信号または磁気信号の形態をとる。主に一般的な使用の理由から、これらの信号をビット、値、要素、記号、文字、用語、数値などと呼ぶことが時には便利であることが判明している。
ただし、これらの用語および類似の用語はすべて適切な物理量に関連付けられるべきものであり、これらの量に適用される便利なラベルにすぎないことに留意されたい。上記の議論から明らかなように別段明記しない限り、説明全体を通して、本開示は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表現されるデータを、コンピュータシステムのメモリもしくはレジスタまたは他のそのような情報記憶デバイス内の物理量として同様に表現される他のデータに操作および変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスに言及し得ることが理解される。
本開示はまた、本明細書の動作を実行するための装置に関する。この装置は、意図された目的のために特別に構築されてもよく、またはコンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、コンピュータシステムバスにそれぞれ接続された、フロッピーディスク、光ディスク、CD−ROM、および光磁気ディスクを含む任意のタイプのディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気もしくは光カード、または電子命令を記憶するのに適した任意のタイプの媒体などであるがこれらに限定されない、コンピュータ可読記憶媒体に記憶され得る。
本明細書に提示されているアルゴリズムおよび表示は、任意の特定のコンピュータまたは他の装置に本質的に関連しているわけではない。本明細書の教示に従って、様々な汎用システムをプログラムと共に使用する場合があり、または方法を実行するためのより専門的な装置を構築することが好都合であると判明する場合もある。これらの様々なシステムの構造は、以下の説明に述べられている通りである。さらに、本開示は、特定のプログラミング言語に関して説明されていない。本明細書で説明されるように開示の教示を実装するために、様々なプログラミング言語が使用されてもよいことが理解されよう。
本開示は、命令を記憶した機械可読媒体を含み得るコンピュータプログラム製品またはソフトウェアとして提供され得、これは、コンピュータシステム(または他の電子デバイス)をプログラムして、本開示に従うプロセスを実行するために使用され得る。機械可読媒体は、機械(例えば、コンピュータ)によって読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスなどの機械(例えば、コンピュータ)可読記憶媒体を含む。
前述の開示では、本開示の実装は、その特定の例示的な実装に関して説明されてきた。以下の特許請求の範囲に述べられているように、本開示の実装のより広い趣旨および範囲から逸脱することなく、様々な修正を加えることができることは明らかであろう。したがって、本開示および図面は、限定的な意味ではなく例示的な意味で見なされるべきである。

Claims (22)

  1. デバイスの物理的変動に対応する値を受信することと、
    前記デバイスの前記物理的変動に関連するヘルパーデータを受信することと、
    前記デバイスの前記物理的変動に対応する前記値と前記ヘルパーデータとの組み合わせに基づいて結果データを生成することと、
    処理デバイスによって、前記結果データに対してエラー訂正操作を実行して、前記エラー訂正操作に関連する1つ以上のコードワードを識別することと、
    前記1つ以上のコードワードに基づいてターゲットデータを生成することと、を含む、方法。
  2. 前記デバイスの前記物理的変動に対応する前記値は、物理複製困難関数(PUF)の出力に関連しており、前記ターゲットデータは、前記PUFの前記出力および前記ヘルパーデータに基づいてさらに生成される、請求項1に記載の方法。
  3. 前記デバイスのメモリに前記ヘルパーデータを記憶することと、
    前記ターゲットデータを生成する要求に応答して、前記メモリから前記ヘルパーデータを取得することと、をさらに含む、請求項1に記載の方法。
  4. 前記結果データは、前記識別された1つ以上のコードワードおよびエラー項に対応し、前記エラー項は、前記デバイスの前記物理的変動の以前の出力およびデバイスの物理的変動に対応する前記値に対応する、請求項1に記載の方法。
  5. 前記結果データに対して前記エラー訂正操作を実行することにより、前記結果データから前記エラー項が除去される、請求項4に記載の方法。
  6. メモリと、
    前記メモリと動作可能に結合された処理デバイスであって、
    デバイスの物理的変動に対応する値を受信し、
    前記デバイスの前記物理的変動に関連するヘルパーデータを受信し、
    前記デバイスの前記物理的変動に対応する前記値と前記ヘルパーデータとの組み合わせに基づいて結果データを生成し、
    前記結果データに対してエラー訂正操作を実行して、前記エラー訂正操作に関連する1つ以上のコードワードを識別し、
    前記1つ以上のコードワードに基づいてターゲットデータを生成する、処理デバイスと、を備えるシステム。
  7. 前記デバイスの前記物理的変動に対応する前記値は、物理複製困難関数(PUF)の出力に関連しており、前記ターゲットデータは、前記PUFの前記出力および前記ヘルパーデータに基づいてさらに生成される、請求項6に記載のシステム。
  8. 前記処理デバイスはさらに、
    前記デバイスのメモリに前記ヘルパーデータを記憶し、
    前記ターゲットデータを生成する要求に応答して、前記メモリから前記ヘルパーデータを取得する、請求項6に記載のシステム。
  9. 前記結果データは、前記識別された1つ以上のコードワードおよびエラー項に対応し、前記エラー項は、前記デバイスの前記物理的変動の以前の出力およびデバイスの物理的変動に対応する前記値に対応する、請求項6に記載のシステム。
  10. 前記結果データに対して前記エラー訂正操作を実行することにより、前記結果データから前記エラー項が除去される、請求項9に記載のシステム。
  11. 命令を含む非一時的なコンピュータ可読媒体であって、前記命令は、処理デバイスによって実行されたときに、前記処理デバイスに、
    デバイスの物理的変動に対応する値を受信することと、
    前記デバイスの前記物理的変動に関連するヘルパーデータを受信することと、
    前記デバイスの前記物理的変動に対応する前記値と前記ヘルパーデータとの組み合わせに基づいて結果データを生成することと、
    前記結果データに対してエラー訂正操作を実行して、前記エラー訂正操作に関連する1つ以上のコードワードを識別することと、
    前記1つ以上のコードワードに基づいてターゲットデータを生成することと、を含む操作を実行させる、非一時的なコンピュータ可読媒体。
  12. 前記デバイスの前記物理的変動に対応する前記値は、物理複製困難関数(PUF)の出力に関連しており、前記ターゲットデータは、前記PUFの前記出力および前記ヘルパーデータに基づいてさらに生成される、請求項11に記載の非一時的なコンピュータ可読媒体。
  13. 前記結果データは、前記識別された1つ以上のコードワードおよびエラー項に対応し、前記エラー項は、前記デバイスの前記物理的変動の以前の出力およびデバイスの物理的変動に対応する前記値に対応する、請求項11に記載の非一時的なコンピュータ可読媒体。
  14. 前記結果データに対して前記エラー訂正操作を実行することにより、前記結果データから前記エラー項が除去される、請求項13に記載の非一時的なコンピュータ可読媒体。
  15. ターゲットデータを識別することと、
    デバイスの抵抗器の対を識別することと、
    前記デバイスの前記抵抗器の対に関連する複数の値を受信することであって、前記複数の値の特定の値は、前記デバイスの前記抵抗器の対のうちの2つの抵抗器間の抵抗の差に基づく、受信することと、
    処理デバイスによって、前記ターゲットデータおよび前記デバイスの前記抵抗器の対に関連する前記複数の値に基づいてヘルパーデータを生成することと、を含む、方法。
  16. 前記ターゲットデータおよび前記デバイスの前記抵抗器の対に関連する前記複数の値に基づいて前記ヘルパーデータを生成し、
    前記ターゲットデータのビットと一致する前記複数の値のサブセットを識別し、前記ヘルパーデータは、前記複数の値の前記サブセットに関連する前記デバイスの前記抵抗器の対を識別する、請求項15に記載の方法。
  17. 前記ヘルパーデータは、前記ターゲットデータの前記ビットと一致する前記複数の値の前記サブセットの順序をさらに指定する、請求項16に記載の方法。
  18. 生成されるターゲットデータを受信することと、
    複数のランダムな値を受信することと、
    前記複数のランダムな値および前記ターゲットデータに基づいて1つ以上のコードワードを生成することと、
    処理デバイスによって、前記デバイスの物理的変動に対応する出力値、前記ターゲットデータ、および前記1つ以上のコードワードに基づいて、前記デバイスの前記物理的変動に関連するヘルパーデータを生成することと、を含む、方法。
  19. 前記デバイスの物理的変動は、スタティックランダムアクセスメモリ(SRAM)に対応する物理複製困難関数(PUF)に関連する、請求項18に記載の方法。
  20. 前記ヘルパーデータの前記生成は、排他的論理和(XOR)演算に基づく、請求項18に記載の方法。
  21. 抵抗器の複数の対に関連する複数の値を決定することと、
    ターゲットデータおよび前記抵抗器の複数の対に関連する前記複数の値に基づくヘルパーデータを受信することと、
    処理デバイスによって、前記ヘルパーデータおよび前記抵抗器の複数の対に関連する前記複数の値に基づいて前記ターゲットデータを生成することと、を含む、方法。
  22. 前記複数の値のそれぞれが、前記抵抗器の複数の対のうちの2つのそれぞれの抵抗器間の抵抗の差に対応する、請求項21に記載の方法。
JP2020544757A 2018-06-11 2019-06-05 デバイスの物理的変動に関連する関数に基づくターゲットデータの生成 Pending JP2021526745A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024006418A JP2024032812A (ja) 2018-06-11 2024-01-18 デバイスの物理的変動に関連する関数に基づくターゲットデータの生成

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862683483P 2018-06-11 2018-06-11
US62/683,483 2018-06-11
PCT/US2019/035627 WO2019241007A1 (en) 2018-06-11 2019-06-05 Generating a target data based on a function associated with a physical variation of a device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024006418A Division JP2024032812A (ja) 2018-06-11 2024-01-18 デバイスの物理的変動に関連する関数に基づくターゲットデータの生成

Publications (1)

Publication Number Publication Date
JP2021526745A true JP2021526745A (ja) 2021-10-07

Family

ID=68843585

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020544757A Pending JP2021526745A (ja) 2018-06-11 2019-06-05 デバイスの物理的変動に関連する関数に基づくターゲットデータの生成
JP2024006418A Pending JP2024032812A (ja) 2018-06-11 2024-01-18 デバイスの物理的変動に関連する関数に基づくターゲットデータの生成

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024006418A Pending JP2024032812A (ja) 2018-06-11 2024-01-18 デバイスの物理的変動に関連する関数に基づくターゲットデータの生成

Country Status (4)

Country Link
US (1) US12013751B2 (ja)
EP (1) EP3811220B1 (ja)
JP (2) JP2021526745A (ja)
WO (1) WO2019241007A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023107287A1 (en) * 2021-12-06 2023-06-15 Cryptography Research, Inc. Physically uncloneable function as secure storage

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519987A (ja) * 2009-03-06 2012-08-30 イントリンシツク・イー・デー・ベー・ベー 物理的システムに依存する暗号鍵を確立するためのシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3435234A1 (en) 2010-01-12 2019-01-30 Stc.Unm System and methods for generating unclonable security keys in integrated circuits
US20130051552A1 (en) * 2010-01-20 2013-02-28 Héléna Handschuh Device and method for obtaining a cryptographic key
US8983067B2 (en) 2011-08-17 2015-03-17 Nxp B.V. Cryptographic circuit and method therefor
US9396357B2 (en) 2011-12-06 2016-07-19 Intrisic Id B.V. Physically unclonable function (PUF) with improved error correction
US9430406B2 (en) * 2012-10-04 2016-08-30 Intrinsic Id B.V. System for generating a cryptographic key from a memory used as a physically unclonable function
US10805093B2 (en) 2014-10-13 2020-10-13 Intrinsic-Id B.V. Cryptographic device comprising a physical unclonable function
KR102201642B1 (ko) * 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
KR102458727B1 (ko) 2014-12-24 2022-10-24 인트린직 아이디 비브이 물리적 복제방지 기능으로부터 암호화 키 생성
US9497573B2 (en) * 2015-02-03 2016-11-15 Qualcomm Incorporated Security protocols for unified near field communication infrastructures
US20170021254A1 (en) 2015-06-22 2017-01-26 Michael C. Wolf Ring toss games
EP3332402B1 (en) * 2015-08-06 2020-10-07 Intrinsic ID B.V. Cryptographic device having physical unclonable function
CN106815626B (zh) 2015-12-01 2020-10-09 中芯国际集成电路制造(北京)有限公司 一种物理不可克隆产品及其制造的方法
US10389518B2 (en) * 2017-01-27 2019-08-20 Entit Software Llc Blockchain hash value recomputation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519987A (ja) * 2009-03-06 2012-08-30 イントリンシツク・イー・デー・ベー・ベー 物理的システムに依存する暗号鍵を確立するためのシステム

Also Published As

Publication number Publication date
US20210271542A1 (en) 2021-09-02
WO2019241007A1 (en) 2019-12-19
EP3811220A4 (en) 2022-03-30
EP3811220A1 (en) 2021-04-28
JP2024032812A (ja) 2024-03-12
US12013751B2 (en) 2024-06-18
EP3811220B1 (en) 2023-08-09

Similar Documents

Publication Publication Date Title
US11936783B2 (en) Generating a key at a device based on a memory of the device
KR102168502B1 (ko) 침입 및 복제 공격들에 저항하기 위해 메모리 기반-puf(physically unclonable function)들의 동작을 마스킹하기 위한 회로 지연-기반 puf들의 적용
US9553722B2 (en) Generating a key based on a combination of keys
US10742406B2 (en) Key generation and secure storage in a noisy environment
US9602280B2 (en) System and method for content encryption in a key/value store
US20180011996A1 (en) Secret shared random access machine
US20200372183A1 (en) Digitally Signing Software Packages With Hash Values
US10896137B2 (en) Non-volatile memory for secure storage of authentication data
JP2024032812A (ja) デバイスの物理的変動に関連する関数に基づくターゲットデータの生成
US9141824B2 (en) Dynamic database update in multi-server private information retrieval scheme
US11101981B2 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
US11321475B2 (en) Entropy data based on error correction data
US11418570B2 (en) Robust computing device identification framework
AU2018271515A1 (en) Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program
US20180316512A1 (en) Authenticating a secondary device based on encrypted tables
CN111859424A (zh) 物理管理平台的数据加密方法、系统、终端及存储介质
WO2019184741A1 (zh) 应用程序信息的存储、处理方法及装置
Oh et al. Implementation and characterization of flash‐based hardware security primitives for cryptographic key generation
JP6830867B2 (ja) 追加データ付き認証暗号システム、復号装置、追加データ付き認証暗号方法、およびプログラム
WO2013080921A1 (ja) デバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラム
KR102515902B1 (ko) 물리적 복제 방지 기술을 이용한 인증 장치
US20220182216A1 (en) Dpa-resistant key derivation function
WO2016007785A1 (en) Secure data provisioning
WO2023014969A1 (en) Compact Adaptively Secure Functional Encryption For Attribute-Weighted Sums
JP2013186911A (ja) デバイス固有情報生成装置及びデバイス固有情報生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230921