JP2016531515A - 侵襲的なクローンアタックに抵抗するためのメモリベースpufのマスキング演算への回路遅延ベース物理的クローン化不能関数(puf)の適用 - Google Patents

侵襲的なクローンアタックに抵抗するためのメモリベースpufのマスキング演算への回路遅延ベース物理的クローン化不能関数(puf)の適用 Download PDF

Info

Publication number
JP2016531515A
JP2016531515A JP2016536383A JP2016536383A JP2016531515A JP 2016531515 A JP2016531515 A JP 2016531515A JP 2016536383 A JP2016536383 A JP 2016536383A JP 2016536383 A JP2016536383 A JP 2016536383A JP 2016531515 A JP2016531515 A JP 2016531515A
Authority
JP
Japan
Prior art keywords
challenge
response
electronic device
physical non
clonal
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
JP2016536383A
Other languages
English (en)
Other versions
JP2016531515A5 (ja
JP6515100B2 (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 JP2016531515A publication Critical patent/JP2016531515A/ja
Publication of JP2016531515A5 publication Critical patent/JP2016531515A5/ja
Application granted granted Critical
Publication of JP6515100B2 publication Critical patent/JP6515100B2/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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]

Abstract

一特徴は、スタティックランダムアクセスメモリ(SRAM) PUFと回路遅延ベースPUF(たとえば、リング発振器(RO)PUF、アービタPUFなど)を組み合わせることによって電子デバイスに関する一意の識別子を生成するのを可能にする。回路遅延ベースPUFを使用してSRAM PUFへのチャレンジおよび/またはSRAM PUFからのレスポンスを隠し、それによって攻撃者がメモリデバイスのレスポンスをクローン化できないようにすることが可能である。

Description

本開示は、物理的クローン化不能関数(PUF)を使用してメモリデバイスまたはそのようなメモリデバイスが組み込まれたデバイスを一意に識別することに関する。
物理的クローン化不能関数(PUF)は、物理的な構成要素の固有のばらつきに基づいてハードウェアデバイスを一意に識別する機構を実現する。たとえば、複数のチップを製造する際、複雑な半導体製造プロセスによって、設計者の制御を超えたわずかなばらつきが導入される。たとえば、2つのチップが同じシリコンウェハから製造された場合でも、同一に設計された電気経路はおそらく、幅が数ナノメートル異なり、シリコンの表面における微視的な差によって、線の湾曲にごくわずかのばらつきが誘発される。これらの一意の特性は制御不能でかつ物理的デバイスに特有の特性であるので、これらの特性を定量化すると固有の識別子を生成することができる。リング発振器ベースPUF、アービタPUF、およびパス遅延分析ベースPUFなど、シリコンによる回路遅延のばらつきの調査および分析に基づいていくつかの異なる種類のPUFが提案されている。
あるPUFは、スタティックランダムアクセスメモリ(SRAM)の未初期化電源投入状態を利用して識別用の「フィンガープリント」を生成する。しかし、SRAM PUFは、クローン化アタックを受けやすい。
したがって、現行のSRAM PUF設計のセキュリティを向上させてクローン化アタックおよび侵襲的なアタック全般に抵抗する必要がある。
クローン化アタックに抵抗しつつ一意に識別され得る電子デバイス(たとえば、プロセッサ、処理回路、メモリ、プログラマブル論理アレイ、チップ、半導体、メモリなど)が提供される。電子デバイスは、第1の物理的クローン化不能関数(PUF)として働く複数のメモリセルを電子デバイス内に含んでもよい。一例では、第1の物理的クローン化不能関数は、チャレンジに対するレスポンスとして、1つまたは複数のメモリセルに関する未初期化メモリセル状態を利用する。さらに、電子デバイス内の複数の回路遅延ベースパスは、第2の物理的クローン化不能関数を実施してもよい。一例では、複数の回路遅延ベースパスは、リング発振器であってもよく、第2の物理的クローン化不能関数は、複数のリング発振器から2つのリング発振器を選択し、2つのリング発振器間の周波数差分によって応答するチャレンジを受け取ってもよい。
通信インターフェースは、外部サーバからチャレンジを受け取る働きをしてもよい。処理回路が通信インターフェース、複数のメモリセル、および複数の回路遅延ベースパスに結合されてもよく、処理回路は、第2の物理的クローン化不能関数からの第1のレスポンスを使用して、(a)第1の物理的クローン化不能関数へのチャレンジ入力をマスキング/アンマスキングすること、(b)第1の物理的クローン化不能関数へのチャレンジ入力を生成すること、または(c)第1の物理的クローン化不能関数からのレスポンス出力をマスキングすることのいずれかを行うことによって第1の物理的クローン化不能関数にチャレンジを適用するように構成される。通信インターフェースは、第1の物理的クローン化不能関数から外部サーバに第2のレスポンスを送るように構成されてもよい。さらに、第1のレスポンスは、第2の物理的クローン化不能関数から外部サーバに送られてもよい。一例では、外部サーバは、第1の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第1のデータベースと第2の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第2のデータベースとを含んでもよく、外部サーバは、チャレンジを電子デバイスに送り、第2のレスポンスに基づいて電子デバイスを認証または識別する。
一例では、チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよい。一実装形態では、第1のチャレンジは、第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジであってもよい。別の実装形態では、第1のチャレンジは、第1の物理的クローン化不能関数によって処理される前に第2の物理的クローン化不能関数からの第1のレスポンスによって修正されてもよい。
別の例では、受け取ったチャレンジが第2の物理的クローン化不能関数によって使用されて第1のレスポンスが生成され、次に、第1のレスポンスが第1の物理的クローン化不能関数によって第2のチャレンジとして使用されて第2のレスポンスが生成されてもよい。
さらに別の例では、チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよく、第2のチャレンジが第2の物理的クローン化不能関数によって使用されて第1のレスポンスが生成され、第1のレスポンスを使用して第1の物理的クローン化不能関数からの第2のレスポンスがマスキングされる。第2の物理的クローン化不能関数からの第1のレスポンスはハッシングされて中間レスポンスが得られる。第2のレスポンスは次いで、中間レスポンスを使用してマスキングされる。
他の例では、チャレンジは、電子デバイスの認証プロセス、電子デバイスの識別プロセス、および/または電子デバイス内のキー生成プロセスのうちの少なくとも1つの一部として受け取られてもよい。
いくつかの実装形態では、電子デバイスは、すでに展開前段階または製造段階中に1つまたは複数のチャレンジを受け取っており、1つまたは複数の対応するレスポンスを(たとえば、データコレクタに)供給している。
さらに、事前に記憶されたデバイス識別子が、(a)チャレンジが受け取られる前または(b)第2のレスポンスを送るのと同時のいずれかのときに電子デバイスから外部サーバに送られてもよく、デバイス識別子は電子デバイスを一意に識別する。
電子デバイスの展開前段階または製造段階中に電子デバイスに関連するデバイス識別子を得る(たとえば、受け取るかまたは割り当てる)データコレクタデバイスも設けられる。データコレクタデバイスは次いで、1つまたは複数のチャレンジを生成して電子デバイスに送ってもよい。その結果、データコレクタデバイスは、電子デバイスから1つまたは複数のレスポンスを受け取ってもよく、1つまたは複数のレスポンスは、電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含む。デバイス識別子、チャレンジ、および対応するレスポンスは、後で電子デバイスを認証できるように記憶される。このプロセスは、複数の電子デバイスの各々について繰り返されてもよい。電子デバイスに送られるチャレンジがすべてのデバイスについて同じであってもよく、電子デバイスごとに無作為に生成されてもよく、ならびに/あるいはあり得るチャレンジのサブセットであってもよいことに留意されたい。
同様に、様々な種類の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証する認証デバイスが設けられる。認証デバイスは、電子デバイスに関連するデバイス識別子を受け取る。認証デバイスは次いで、1つまたは複数のチャレンジを電子デバイスに送る。それに応答して、認証デバイスは、電子デバイスから1つまたは複数のレスポンスを受け取り、1つまたは複数のレスポンスは、電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含む。電子デバイスに固有の事前に記憶されたレスポンスは、電子デバイス識別子を使用して識別されてもよい。電子デバイスは次いで、電子デバイスに関する事前に記憶されたレスポンスと受け取った1つまたは複数のレスポンスを比較することによって認証されてもよい。チャレンジは、電子デバイスから事前にレスポンスが得られた複数のチャレンジから選択されてもよい。事前に記憶されたレスポンスは、電子デバイスの製造段階または展開前段階において得られていてもよい。デバイス識別子は、1つまたは複数のチャレンジを送る前に受け取られていてもよい。デバイス識別子は、1つまたは複数のレスポンスを受け取るのとともに受け取られていてもよい。
チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよい。第1のチャレンジは、第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジであってもよい。1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよく、1つまたは複数のレスポンスは、第1の物理的クローン化不能関数からの第1のレスポンスと第2の物理的クローン化不能関数からの第2のレスポンスとを含み、電子デバイスは、第1のレスポンスが第1のチャレンジに対応する事前に記憶された第1のレスポンスと一致し、第2のレスポンスが第2のチャレンジに対応する事前に記憶された第2のレスポンスと一致する場合に首尾よく認証される。
1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、1つまたは複数のレスポンスは、第1の物理的クローン化不能関数からの第1のレスポンスと第2の物理的クローン化不能関数からの第2のレスポンスとを含む。さらに、第1のチャレンジを第2のレスポンスによってアンマスキングすることによって中間チャレンジが得られてもよい。受け取った第1のレスポンスは、中間チャレンジに関連する事前に記憶されたレスポンスと比較されてもよい。
さらに別の例では、1つまたは複数のチャレンジは、第2の物理的クローン化不能関数に関する第1のチャレンジを含み、1つまたは複数のレスポンスは、第1の物理的クローン化不能関数からの第1のレスポンスを含む。第1のチャレンジに対応する事前に記憶された中間レスポンスを取り込むことによって中間チャレンジを得ることができる。受け取った第1のレスポンスは、中間チャレンジに対応する事前に記憶された中間レスポンスと比較されてもよい。
さらに別の例では、1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、1つまたは複数のレスポンスは第1のレスポンスを含む。第2のチャレンジに対応する事前に記憶された第2のレスポンスによって第1のレスポンスをアンマスキングすることによって中間レスポンスを得ることができる。中間レスポンスは、第1のチャレンジに関連する事前に記憶されたレスポンスと比較される。
SRAM PUFおよび回路遅延ベースPUFに基づいてメモリデバイスに関するレスポンスの一意のマッピングを生成する例示的な方法を示すブロック図である。 SRAM PUFおよび回路遅延ベースPUFを組み合わせるメモリデバイスに関する事前に得られた特徴的なレスポンスを使用して特定のメモリデバイスを検証または識別する例示的な方法を示すブロック図である。 攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUFと回路遅延PUFをどのように組み合わせたらよいかについての第1の例を示すブロック図である。 攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUFと回路遅延PUFをどのように組み合わせたらよいかについての第2の例を示すブロック図である。 攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUFと回路遅延PUFをどのように組み合わせたらよいかについての第3の例を示すブロック図である。 攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUFとRO PUFをどのように組み合わせたらよいかについての第4の例を示すブロック図である。 一例によるデータコレクタデバイスを示すブロック図である。 電子デバイスから特性情報を得るためのデータコレクタデバイスにおいて使用可能な方法を示す図である。 各電子デバイス内の複数の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証するように構成された例示的な認証デバイスを示すブロック図である。 複数の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証するための認証デバイスにおいて使用可能な方法を示す図である。 複数の物理的クローン化不能関数を有する例示的な電子デバイスを示すブロック図である。 複数の物理的クローン化不能関数からのレスポンスに基づいて認証デバイスによって電子デバイス自体を認証するための電子デバイスにおいて使用可能な方法を示す図である。
以下の説明では、本開示の様々な態様の完全な理解をもたらすために具体的な詳細が与えられる。しかしながら、態様はこれらの具体的な詳細を伴わずに実践され得ることが当業者によって理解されるであろう。たとえば、態様が不要な詳細で不明瞭になることを回避するために、回路はブロック図で示されることがある。他の場合には、本開示の態様を不明瞭にしないために、よく知られている回路、構造、および技法は、詳細に示されないことがある。
「例示的」という用語は、本明細書では「一例、事例、または実例として役立つ」ことを意味するように使用される。「例示的」として本明細書に記載の任意の実装形態または態様は、必ずしも本開示の他の態様よりも好ましいまたは有利であると解釈されるべきではない。同様に、「諸態様」という用語は、本開示のすべての態様が、議論される特徴、利点、または動作のモードを含むことを必要としない。
概要
一特徴は、スタティックランダムアクセスメモリ(SRAM) PUFと回路遅延ベースPUF(たとえば、リング発振器(RO)PUF、アービタPUFなど)を組み合わせることによって一意の識別子を生成するのを可能にする。それ自体によるSRAM PUFは、障害解析ツール(たとえば、集束イオンビーム(FIB))を使用するクローン化アタックを受けることがある。したがって、回路遅延ベースPUFを使用してSRAM PUFへのチャレンジおよび/またはSRAM PUFからのレスポンスを隠し、それによって攻撃者がメモリデバイスのレスポンスをクローン化できないようにしてもよい。
SRAM物理的クローン化不能関数(PUF)と回路遅延ベース物理的クローン化不能関数(PUF)の組合せ
物理的クローン化不能関数(PUF)は、回路内の製造プロセスばらつきを利用して一意の識別子を得るチャレンジ-レスポンス機構である。一例では、チャレンジとそれに対応するレスポンスとの間の関係は、回路(たとえば、集積回路)内の論理構成要素および配線の複雑な統計量的ばらつきによって決定される。2種類のPUFには、たとえば、SRAM PUFおよび回路遅延PUF(たとえば、リング発振器PUF)が含まれる。
SRAM PUFは、スタティックランダムアクセスメモリ(SRAM)の未初期化電源投入状態を利用して、メモリデバイスまたはメモリデバイスが組み込まれた電子デバイスに関する識別用「フィンガープリント」を生成する。SRAMセル設計は対称性を有するが、製造プロセスばらつきによってSRAMセル間にわずかな非対称性が生じ、立ち上げ時に優先/偏り状態(0または1)が生じる。未初期化SRAMセルのこの優先または偏りを使用してメモリデバイスを一意に識別してもよい。
しかし、集束イオンビーム(FIB)を使用する障害解析アタックにおける最近の高度化によって、メモリベースPUFのセキュリティが脅かされている。回路編集アタックは、元のデバイスに対する同一のSRAM PUFレスポンスを有するハードウェアクローンを生成することができる。
回路遅延ベースPUFは、製作/製造上の欠陥によって生じる発振回路間の体系的なばらつきを利用する。製作/製造プロセスは回路遅延ベースPUFにおけるそのようなばらつきを回避しようとするが、そのようなばらつきは常にある程度存在し、デバイス./チップを識別するうえで実際に有用である。回路遅延ベースPUFの一例では、複数のリング発振器が併用されてもよく、少なくとも2つのリング発振器の出力が1つまたは複数のスイッチ(マルチプレクサ)に送られる。チャレンジは、リング発振器への入力として働くことができ(たとえば、チャレンジは2つのリング発振器を選択する働きをし)、2つの選択されたリング発振器204からの出力は、第1の周波数および第2の周波数として表される。選択されるリング発振器間の違いに起因して、リング発振器の周波数が異なる(すなわち、周波数差分が生じる)。RO PUF出力(レスポンス)は、リング発振器周波数を対ごとに比較することによって作成される(たとえば、第1と第2の周波数の差)。
しかし、サイズ変更可能な回路遅延ベースPUFを実装すると、集積回路内の必要な空間として広い空間が占有される。
一特徴によれば、SRAM PUFと回路遅延ベースPUFが、SRAM PUFのセキュリティを強化するように電子デバイス(たとえば、メモリデバイス、半導体デバイスなど)内で組み合わされる。
図1は、SRAM PUFおよび回路遅延ベースPUF、たとえば、リング発振器(RO)PUFに基づいてメモリデバイスに関するレスポンスの一意のマッピングを生成する例示的な方法を示すブロック図である。このブロック図は、SRAM PUF 105と回路遅延PUF 122(たとえば、リング発振器バンクとして実装される)とを備えるメモリデバイス102(たとえば、チップ、半導体デバイスなど)に関するチャレンジ/レスポンス特性を問い合わせて収集するプロセスを示す。
一例では、SRAM PUFは、メモリデバイス102のSRAMセルのすべてによって実装されてもまたはその一部によって実装されてもよい。特に、SRAM PUF 105は、SRAM 106の未初期化メモリセル104における偏りを利用する。たとえば、製造段階中に、チャレンジ110(たとえば、メモリアドレス)ごとに、対応するレスポンス112(たとえば、論理0または1)が得られるように、未初期化SRAM 106が問合せを受けてもよい。たとえば、SRAM 106内のメモリアドレスごとに、そのメモリアドレスに関連するメモリセル104の未初期化値/状態が得られる。複数のチャレンジ110に関して、複数のレスポンス112が得られる。他の手法では、メモリアドレスのサブセットのみが問合せを受けてもよい。このようにして、未初期化値のアドレスへのマッピングが、SRAM 106に関して構成され、データベース114に(たとえば、チャレンジおよび対応するレスポンスとして)記憶されてもよい。すなわち、SRAM PUFチャレンジ/レスポンスのデータベース114が、たとえば、製造プロセスまたは品質管理プロセス中にメモリデバイス(チップ)ごとに構成されてもよい。たとえば、デバイスAの場合、チャレンジ/レスポンスの第1の組[C0R0,C1R1,..,CiRi]が得られ、デバイスBの場合、チャレンジ/レスポンスの第2の組[C0R0,C1R1,..,CiRi]が得られ、デバイスCの場合、チャレンジ/レスポンスの第3の組[C0R0,C1R1,..,CiRi]が得られる。いくつかの実装形態では、すべてのデバイスに関するチャレンジ[C0,C1,..,Ci]が同じであってもよいが、レスポンスはそれぞれ異なることに留意されたい。他の実装形態では、デバイスごとのチャレンジ[C0,C1,..,Ci]が無作為に選択されてもよく、したがって、様々なデバイスがそれぞれに異なるチャレンジを受け取る。
一例では、回路遅延PUF 120は、複数のリング発振器123およびその周波数変動を利用して一意のシグネチャ/レスポンスを生成するリング発振器(RO)PUF 122として実装されてもよい。たとえば、所与のチャレンジ124に関して(たとえば、2つのリング発振器入力/出力の選択)、対応するレスポンス(たとえば、2つの選択されたリング発振器間の周波数差)が得られる。このようにして、チャレンジおよび対応するレスポンスの回路遅延PUFデータベース128が得られる。
SRAM 106の未初期化メモリセル状態は集束イオンビーム(FIB)アタックによるクローン化を受けやすいので、SRAM PUF 105のみを使用してメモリデバイス102の一意の識別子を供給するのは安全ではない。しかし、SRAM PUF 105とは異なり、回路遅延PUF 120(たとえば、RO PUF 122)は、クローン化を受けにくいが、多数のRO PUFを使用すると、チップ上の空間が占有されるので望ましくない。したがって、SRAM PUF 102上のクローン化アタックを妨害するには、比較的少数のリング発振器123をメモリデバイス102(たとえば、チップ、半導体など)上のSRAM PUF 105と組み合わせればよい。
チャレンジ/レスポンスを各デバイスに関連付けるには、デバイス識別子108(たとえば、通し番号、ID番号など)をデバイス102に記憶させ、データベース114および128に通知するかまたは記憶させればよい。すなわち、メモリデバイス102ごとのデバイス識別子108は、記憶され、そのメモリデバイス102の対応するチャレンジおよび/またはレスポンスに関連付けられてもよい。
図2は、SRAM PUFと回路遅延ベースPUF、たとえば、リング発振器(RO)PUFを組み合わせるメモリデバイスに関する事前に得られた特徴的なレスポンスを使用して特定のメモリデバイスを検証または識別する例示的な方法を示すブロック図である。動作時には、デバイス検証モジュール/回路202(たとえば、ベリファイアまたは認証デバイス/サーバによって実装される)がチャレンジ204によってメモリデバイス102に問い合わせてレスポンス206を得てもよく、レスポンス206は、SRAM PUFデータベース114と回路遅延PUFデータベース128の組合せを使用して検証され得る。レスポンス206は、メモリデバイスの識別情報を検証する働きをしてもよく、またはメモリデバイス102を認証する働きをしてもよい。この技法がメモリデバイスに関する一意の識別子/シグネチャを生成する働きをしてもよいことに留意されたい。
一例では、メモリデバイス102がその事前に記憶され/事前割り当てされたデバイス識別子108をデバイス認証モジュール/回路/サーバ202に供給してもよいことに留意されたい。デバイス認証モジュール/回路/サーバ202は次いで、そのデバイス識別子108に関して事前に記憶された1つまたは複数のチャレンジを取り込んでメモリデバイス102に送ってもよい(204)。代替的に、デバイス識別子108は、電子デバイスによってチャレンジへのあらゆるレスポンスとともに供給される(たとえば、すべての電子デバイスに同じチャレンジが使用される)。デバイス認証モジュール/回路/サーバ202は、レスポンス206を受け取ると、受け取ったレスポンス206をSRAM PUF 114および回路遅延PUF 128内の対応する事前に記憶されたレスポンスと比較して一致するかどうかを確認する。
この検証段階中に、チャレンジ204およびレスポンス206は攻撃者からアクセスされるかまたはアクセス可能になることがある。したがって、様々な機能によって、メモリデバイス102との間のチャレンジ204および/またはレスポンス206を保護して攻撃者がメモリデバイス102をクローン化するのを抑制することが可能である。
一例では、回路遅延PUF 120(たとえば、遅延ベースPUF)は不正使用防止可能である。集束イオンビーム(FIB)アタックではSRAM PUF 105のメモリセルのレスポンスがアタックにさらされる恐れがあるが、回路遅延PUF 120(たとえば、リング発振器)に関する情報は得られない。実際は、メモリデバイス102をクローン化/アタックするのに使用されるプロセスは、回路遅延PUF 120(たとえば、リング発振器)のレスポンスが変更され得る程、侵襲的であり、それによって、アタックにさらされ、メモリデバイス102の認証/識別が失敗する恐れがある。
SRAM PUF 105と回路遅延PUF 120を組み合わせ、チャレンジ204およびレスポンス206が攻撃者からアクセス可能であるときでも攻撃者がメモリデバイス102をクローン化するのを抑制するための様々な方法がある。
SRAM物理的クローン化不能関数(PUF)とRO物理的クローン化不能関数(PUF)を組み合わせてチャレンジをマスキングすること
図3は、攻撃者がメモリデバイス307をクローン化できないようにするにはSRAM PUF 326と回路遅延PUF 324をどのように組み合わせたらよいかについての第1の例を示すブロック図である。この例では、認証デバイス300が、デバイス認証モジュール/回路/サーバ303と、SRAM PUFデータベース301と、回路遅延PUFデータベース305とを含んでもよい。SRAM PUFデータベース301は、たとえば、複数のチャレンジ(たとえば、メモリアドレス)をメモリセル領域に送り、対応するレスポンス(たとえば、未初期化メモリセル状態/値)を得ることによって、製造時にメモリデバイス307のメモリセル領域に関して生成されてもよい。同様に、回路遅延PUFデータベース305は、たとえば、複数のチャレンジ(たとえば、2つのリング発振器の選択)をリング発振器に送り、対応するレスポンス(たとえば、2つの選択されたリング発振器間の周波数差分)を得ることによって、製造時にメモリデバイス307内の複数のリング発振器に関して生成されてもよい。
この例では、デバイス認証モジュール/回路/サーバ303は、その後メモリデバイス307の認証を試みるときに、(チャレンジA 316とチャレンジB 312とを含む)チャレンジをメモリデバイス307に送る。チャレンジA 316は、XOR演算302によって組み合わされたSRAM PUFチャレンジC0306とRO PUFレスポンスR0310とを備えてもよい。このチャレンジA 316は攻撃者からアクセス可能になり得るので、一態様では、実際のSRAM PUFチャレンジC0306を(回路遅延PUFデータベース305から得られる)対応するRO PUFレスポンスR0310によってマスキングして(たとえば、XOR演算を行って)送られる(アタックにさらされる)チャレンジA 316を生成することによって実際のSRAM PUFチャレンジC0306を不明瞭にする。さらに、RO PUFレスポンスR0310に対応するRO PUFチャレンジC0308を含むチャレンジB 312も認証デバイス300からメモリデバイス307に送られる。
メモリデバイス307において、RO PUFチャレンジC0312は、回路遅延PUF 324からRO PUFレスポンスR0321を生成するのに使用される。チャレンジA 316は次いで、RO PUFレスポンスR0321とXOR演算され(304)、SRAM PUF 326に関するチャレンジとして使用することのできる実際の(クリア)SRAM PUFチャレンジC0323が得られる。SRAM PUF 326は次いで、レスポンスSRAM PUF R0325を生成する。このようにして、メモリデバイス307から認証デバイス300へのレスポンスは、SRAM PUFレスポンスR0318を含んでもよい。
認証デバイス300において、受け取ったレスポンスSRAM PUF R0322を使用してSRAM PUFデータベース301および回路遅延PUF 305内の記憶されたレスポンスを比較してそれらが一致するかどうかを確認してもよい。RO PUFレスポンスR0310がすでに知られているかまたは回路遅延PUFデータベース305に記憶されているので、認証デバイス300がRO PUFレスポンスR0310を使用してSRAM PUFチャレンジC0306をマスキングすることができることに留意されたい。
図4は、攻撃者がメモリデバイス407をクローン化できないようにするにはSRAM PUF 426と回路遅延PUF 424をどのように組み合わせたらよいかについての第2の例を示すブロック図である。図3の例とは異なり、この例では、SRAM PUFチャレンジC0406およびRO PUFチャレンジC0408がデバイス認証モジュール/回路/サーバ403からメモリデバイス407に平文で送られる。この例では、認証デバイス400が、デバイス認証モジュール/回路/サーバ403と、SRAM PUFデータベース401と、回路遅延PUFデータベース405とを含んでもよい。SRAM PUFデータベース401は、たとえば、複数のチャレンジ(たとえば、メモリアドレス)をメモリセル領域に送り、対応するレスポンス(たとえば、未初期化メモリセル状態/値)を得ることによって、製造時にメモリデバイス407のメモリセル領域に関して生成されてもよい。同様に、回路遅延PUFデータベース405は、たとえば、複数のチャレンジ(たとえば、2つのリング発振器の選択)をリング発振器に送り、対応するレスポンス(たとえば、2つの選択されたリング発振器間の周波数差分)を得ることによって、製造時にメモリデバイス407内の複数のリング発振器に関して生成されてもよい。
この例では、デバイス認証モジュール/回路/サーバ403は、その後メモリデバイス407の認証を試みるときに、(チャレンジA 416とチャレンジB 412とを含む)チャレンジをメモリデバイス407に送る。チャレンジA 416はSRAM PUFチャレンジC0406を含んでもよい。チャレンジB 412は、RO PUFレスポンスR0410に対応するRO PUFチャレンジC0408を含み、同じく認証デバイス400からメモリデバイス407に送られる。
チャレンジA 416は攻撃者からアクセス可能になり得るので、一態様では、メモリデバイス407においてXOR演算を行う(404)ことによって実際のSRAM PUFチャレンジC0406を修正SRAM PUFチャレンジC0'423に修正する。メモリデバイス407において、RO PUFチャレンジC0412は、回路遅延PUF 424からRO PUFレスポンスR0421を生成するのに使用される。チャレンジA 416(すなわち、SRAM PUFチャレンジC0406)は次いで、RO PUFレスポンスR0421とXOR演算され(404)、SRAM PUF 426に関するチャレンジとして使用することのできる修正SRAM PUFチャレンジC0'423が得られる。SRAM PUF 426は次いで、認証デバイス400に(レスポンスA 418として)返されるSRAM PUFレスポンスR0'425を生成する。このようにして、メモリデバイス407から認証デバイス400へのレスポンスは、SRAM PUFレスポンスR0418を含んでもよい。
この手法では、実際のチャレンジをメモリセル領域426に修正するためにRO PUFレスポンスR0421が使用される。攻撃者はRO PUFレスポンスR0421を再生することができないので、攻撃者には、レスポンスSRAM PUFレスポンスR0'425を生成するのに使用される修正SRAM PUFチャレンジC0'423はわからない。
認証デバイス400において、デバイス認証モジュール/回路/サーバ403は、SRAM PUFレスポンスR0'422を検証してもよい。このことは、たとえば、SRAM PUFチャレンジC0406と(回路遅延PUFデータベース405から得られる)RO PUFレスポンスR0420とのXOR演算を行って(402)修正SRAM PUFチャレンジC0'427のローカルバージョンを得ることによって行われてもよい。次いで、修正SRAM PUFチャレンジC0'427のローカルバージョンを使用してSRAM PUFデータベース401において対応するレスポンスを探索しそのレスポンスを受け取ったレスポンスSRAM PUFレスポンスR0'422と比較してもよい。
図5は、攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUF 526と回路遅延524 PUFをどのように組み合わせたらよいかについての第3の例を示すブロック図である。この例では、認証デバイス500が、デバイス認証モジュール/回路/サーバ503と、SRAM PUFデータベース501と、回路遅延PUFデータベース505とを含んでもよい。SRAM PUFデータベース501は、たとえば、複数のチャレンジ(たとえば、メモリアドレス)をメモリセル領域に送り、対応するレスポンス(たとえば、未初期化メモリセル状態/値)を得ることによって、製造時にメモリデバイス507のメモリセル領域に関して生成されてもよい。同様に、回路遅延PUFデータベース505は、たとえば、複数のチャレンジ(たとえば、2つのリング発振器の選択)をリング発振器に送り、対応するレスポンス(たとえば、2つの選択されたリング発振器間の周波数差分)を得ることによって、製造時にメモリデバイス507内の複数のリング発振器に関して生成されてもよい。
この例では、デバイス認証モジュール/回路/サーバ503は、その後メモリデバイス507の認証を試みるときに、対応するRO PUFレスポンスR0を有するRO PUFチャレンジC0508を含むチャレンジ512を送る。
RO PUFチャレンジC0512は攻撃者によってアクセス可能であるが、回路遅延PUF 524を攻撃者によって複製することはできない。メモリデバイス507において、RO PUFチャレンジC0512は、回路遅延PUF 524からRO PUFレスポンスR0521を生成するのに使用される。このRO PUFレスポンスR0521は次に、SRAM PUF 526へのSRAM PUFチャレンジC0523として使用され、RO PUFレスポンスR0525が得られる。代替手法では、RO PUFレスポンスR0521を使用して(たとえば、RO PUFレスポンスR0521をメモリアドレスにマッピングまたは変換することによって)チャレンジSRAM PUF C0523を生成してもよい。SRAM PUFレスポンスR0518は認証デバイス500に送られる。
この手法では、実際のチャレンジをSRAM PUF 526に修正するためにRO PUFレスポンスR0521が使用される。攻撃者はRO PUFレスポンスR0521を再生することができないので、攻撃者には、レスポンスSRAM PUFレスポンスR0525を生成するのに使用されるSRAM PUFチャレンジC0523はわからない。
認証デバイス500において、デバイス認証モジュール/回路/サーバ503は、送られたRO PUFチャレンジC0508に対応するRO PUFレスポンスR0520を回路遅延PUF 505から得てもよい。このRO PUFレスポンスR0520は、SRAM PUFチャレンジC0527として働いてもよい。デバイス認証モジュール/回路/サーバ403は、SRAM PUFレスポンスR0422を検証してもよい。次いで、SRAM PUFチャレンジC0527を使用してSRAM PUFデータベース501において対応するレスポンスを探索しそのレスポンスを受け取ったレスポンスSRAM PUFレスポンスR0522と比較してもよい。
図3、図4、および図5に示す手法では、デバイス認証モジュール/回路/サーバ303、403、および/または503は、SRAM PUFとRO PUFの両方に関するチャレンジとレスポンスの対にアクセスすることができる。したがって、デバイス認証モジュール/回路/サーバ303、403、および/または503は、メモリデバイス307、407、および507によって実行された演算を検証し、レスポンスを検証することができる。
SRAM物理的クローン化不能関数(PUF)とRO物理的クローン化不能関数(PUF)を組み合わせてレスポンスをマスキングすること
代替手法では、RO PUFを使用することによってSRAM PUFレスポンスをメモリデバイスから保護する。
図6は、攻撃者がメモリデバイス607をクローン化できないようにするにはSRAM PUF 626とRO PUF 624をどのように組み合わせたらよいかについての第4の例を示すブロック図である。この例では、認証デバイス600が、デバイス認証モジュール/回路/サーバ603と、SRAM PUFデータベース601と、RO PUFデータベース605とを含んでもよい。SRAM PUFデータベース601は、たとえば、複数のチャレンジ(たとえば、メモリアドレス)をメモリセル領域に送り、対応するレスポンス(たとえば、未初期化メモリセル状態/値)を得ることによって、製造時にメモリデバイス607のメモリセル領域に関して生成されてもよい。同様に、回路遅延PUFデータベース605は、たとえば、複数のチャレンジ(たとえば、2つのリング発振器の選択)をリング発振器に送り、対応するレスポンス(たとえば、2つの選択されたリング発振器間の周波数差分)を得ることによって、製造時にメモリデバイス607内の複数のリング発振器に関して生成されてもよい。
この例では、デバイス認証モジュール/回路/サーバ603は、その後メモリデバイス607の認証を試みるときに、(チャレンジA 616とチャレンジB 612とを含む)チャレンジをメモリデバイス607に送る。チャレンジA 616はSRAM PUFチャレンジC0606を含んでもよい。チャレンジB 612は、RO PUFチャレンジC0608を含み、同じく認証デバイス600からメモリデバイス607に送られる。
メモリデバイス604において、RO PUFチャレンジC0612は、回路遅延PUF 624からRO PUFレスポンスR0621を生成するのに使用される。SRAM PUFチャレンジC0616は、SRAM PUFレスポンスR0623を生成するようにSRAM PUF 626によって処理される。次いで、RO PUFレスポンスR0621のハッシュ619がRO PUFレスポンスR0'625として得られる。RO PUFレスポンスR0'625は次いで、SRAM PUF R0623とXOR演算され(604)、デバイス認証モジュール/回路/サーバ603に送り返される組み合わされたレスポンス618(たとえば、SRAM PUF R0 XOR RO PUFレスポンスR0')が得られる。このようにして、SRAM PUF 626からのSRAM PUFレスポンスR0623によって送信時に認証デバイス600を保護することができる。
認証デバイス600において、デバイス認証モジュール/回路/サーバ603は、レスポンス618が送られたチャレンジSRAM PUF C0606およびRO PUF C0608に対応することを検証してもよい。たとえば、回路遅延PUFデータベース605を使用して、送られたRO PUFチャレンジC0608に対応するRO PUFレスポンスR0620が得られる。次いで、デバイス認証モジュール/回路/サーバ603は、RO PUFレスポンスR0620をハッシングし(617)、その結果とレスポンス618をXOR演算して(602)、SRAM PUFレスポンスR0627を得ることによってSRAM PUFレスポンスR0627を得ることができる。SRAM PUFレスポンスR0627を使用してSRAM PUFデータベース601内のSRAM PUFチャレンジC0606に関して予期される対応するレスポンスを探索することができる。レスポンスが一致する場合、メモリデバイス607は首尾よく認証または識別される。
例示的なデータコレクタデバイスおよびデータコレクタデバイスにおいて使用可能な方法
図7は、一例によるデータコレクタデバイスを示すブロック図である。データコレクタデバイス702は、電子デバイス(たとえば、チップ、半導体、メモリデバイスなど)を一意に特徴付ける情報を収集して記憶するように構成されてもよい。たとえば、製造段階、品質管理段階、および/または展開前段階の間、データコレクタデバイス702は、各電子デバイスに対してチャレンジを送ってレスポンスを受け取り、受け取った情報を後で各電子デバイスを認証/識別する際に使用できるように記憶するように構成されてもよい。
データコレクタデバイス702は、処理回路704、記憶デバイス706、通信インターフェース708、および/または機械可読媒体710を含み得る。通信インターフェース708は、データコレクタデバイス702が1つまたは複数の電子デバイスと(たとえば、有線によってまたはワイヤレスに)通信するのを可能にする送信機/受信機回路718を含んでもよい。
処理回路704は、電子デバイスごとの一意の識別子を得てそのような一意の識別子を記憶デバイス706内のデバイス識別子データベース716に記憶するように構成されたデバイス識別子回路/モジュール722を含んでもよい。処理回路704は、1つまたは複数のチャレンジを生成して電子デバイスに送出するように構成されたチャレンジ生成回路/モジュール720を含んでもよい。たとえば、チャレンジは、(たとえば、SRAM PUFに関する)メモリアドレスまたは(たとえば、RO PUFに関する)リング発振器対であってもよい。処理回路704は、送られた1つまたは複数のチャレンジに応答して電子デバイス内のSRAM PUFからのレスポンスを収集するように構成されたSRAM PUF収集回路/モジュール726を含んでもよい。処理回路704は、送られた1つまたは複数のチャレンジに応答して電子デバイス内の回路遅延PUFからのレスポンスを収集するように構成された回路遅延PUF収集回路/モジュール726を含んでもよい。
機械可読媒体710は、(たとえば、処理回路に問合せ中の電子デバイスからデバイス識別子を得させるための)デバイス識別子命令730、(たとえば、処理回路にランダムなチャレンジまたは事前生成されたチャレンジを生成させて問合せ中の電子デバイスのSRAM PUFおよび/または回路遅延PUFに送らせるための)チャレンジ生成命令728、(たとえば、処理回路に問合せ中の電子デバイスのSRAM PUFからのレスポンスを収集させるための)SRAM PUF収集命令732、ならびに/あるいは(たとえば、処理回路に問合せ中の電子デバイスの回路遅延PUFからレスポンスを収集させるための)回路遅延PUF収集命令734を含むかまたは記憶してもよい。一例では、回路遅延PUFが不正使用防止PUFであってもよいことに留意されたい。対照的に、SRAM PUFは様々なアタック(たとえば、集束イオンビーム(FIB)アタック、回路編集アタックなど)を受けやすいように示されている。
データコレクタデバイス702は、図1〜図6に示すステップまたは関数のうちの1つまたは複数を実行するように構成されてもよい。
図8は、電子デバイスから特性情報を得るためのデータコレクタデバイスにおいて使用可能な方法を示す図である。データコレクタデバイスは、電子デバイスの展開前段階または製造段階中に電子デバイスに関連するデバイス識別子を得てもよい(たとえば、受け取るかまたは割り当ててもよい)(802)。データコレクタデバイスは次いで、1つまたは複数のチャレンジを生成して電子デバイスに送ってもよい(804)。その結果、データコレクタデバイスは、電子デバイスから1つまたは複数のレスポンスを受け取ってもよく、1つまたは複数のレスポンスは、電子デバイス806において2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含む。デバイス識別子、チャレンジ、および対応するレスポンスは、後で電子デバイスを認証できるように記憶される(808)。このプロセスは、複数の電子デバイスの各々について繰り返されてもよい。電子デバイスに送られるチャレンジがすべてのデバイスについて同じであってもよく、電子デバイスごとに無作為に生成されてもよく、ならびに/あるいはあり得るチャレンジのサブセットであってもよいことに留意されたい。
例示的な認証デバイスおよび認証デバイスにおいて使用可能な方法
図9は、各電子デバイス内の複数の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証するように構成された例示的な認証デバイスを示すブロック図である。認証デバイス902は、電子デバイス(たとえば、チップ、半導体、メモリデバイスなど)に問い合わせ、(電子デバイスから得られる)デバイス識別子に基づいて電子デバイスを識別し、電子デバイス内のSRAM PUFおよび回路遅延PUFへのチャレンジを含む問合せを実行することによって電子デバイスを認証することを試みるように構成されてもよい。認証デバイス902は、処理回路904、記憶デバイス906、通信インターフェース908、および/または機械可読媒体910を含み得る。通信インターフェース908は、認証デバイス902が1つまたは複数の電子デバイスと(たとえば、有線によってまたはワイヤレスに)通信するのを可能にする送信機/受信機回路918を含んでもよい。
処理回路904は、電子デバイスから一意のデバイス識別子を得るように構成されたデバイス識別子回路/モジュール922を含んでもよい。認証回路/モジュール936は、得られたデバイス識別子を使用して、そのデバイス識別子に関連する対応するチャレンジ/レスポンス情報の有無に関して(記憶デバイス906内の)デバイス識別子データベース916をチェックしてもよい。認証回路/モジュール936は次いで、SRAM PUF検証回路/モジュール924および回路遅延PUF検証回路/モジュール926と協働して、対応するチャレンジのうちの1つまたは複数を電子デバイスに送ってもよく、チャレンジに対する1つまたは複数のレスポンスを得る。一例では、回路遅延PUFが不正使用防止PUFであってもよいことに留意されたい。対照的に、SRAM PUFは様々なアタック(たとえば、集束イオンビーム(FIB)アタック、回路編集アタックなど)を受けやすいように示されている。
レスポンスは、チャレンジとともに、それぞれ(記憶デバイス906内の)SRAM PUFデータベース914および(記憶デバイス906内の)回路遅延PUFデータベース912から、予期されるレスポンスに正しく一致するか(すなわち、データベース914および916内のチャレンジに対応するレスポンスと一致する)どうかを確認するために、SRAM PUF検証回路/モジュール924および回路遅延PUF検証回路/モジュール926によって使用されてもよい。受け取ったレスポンスが事前に記憶された対応するレスポンスと一致する場合、認証回路/モジュール936は、電子デバイスが首尾よく認証されたと結論付けてもよい。そのような認証の成功は確率的な一致であってもよく、しきい値率またはしきい値数のレスポンスが正しく一致する限り、首尾よく一致したと結論付けられてもよい。
機械可読媒体910は、(たとえば、処理回路に検証中の電子デバイスからデバイス識別子を得させるための)デバイス識別子命令930、(たとえば、処理回路に検証中の電子デバイスのSRAM PUFからのレスポンスを検証させるための)SRAM PUF検証命令932、(たとえば、処理回路に検証中の電子デバイスの回路遅延PUFからのレスポンスを検証させるための)回路遅延PUF検証命令934、ならびに/あるいはSRAM PUF検証と回路遅延PUF検証の両方が成功したかどうかを確認するための認証命令938を含むかまたは記憶してもよい。
データコレクタデバイス902は、図1〜図6に示すステップまたは関数のうちの1つまたは複数を実行するように構成されてもよい。
図10は、複数の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証するための認証デバイスにおいて使用可能な方法を示す。認証デバイスは、展開後段階中に電子デバイスに関連するデバイス識別子を得てもよい(たとえば、要求するかまたは受け取ってもよい)(1002)。認証デバイスは次いで、1つまたは複数のチャレンジを得て電子デバイスに送ってもよい(1004)。たとえば、チャレンジは、すべての電子デバイスに利用されるあらかじめ規定された1組のチャレンジであってもよい。代替的に、チャレンジは、デバイス識別子を使用してデータベースから得られる電子デバイスに関するチャレンジの特定のサブセットであってもよい。認証デバイスは、1つまたは複数のチャレンジを送った結果として、電子デバイスから1つまたは複数のレスポンスを受け取ってもよく、1つまたは複数のレスポンスは、電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含む(1006)。様々な実装形態では、認証デバイスは、図1、図2、図3、図4、図5、および/または図6に例示し、図1、図2、図3、図4、図5、および/または図6を参照して説明したように動作してもよい。
デバイス識別子を使用して電子デバイスに特有の事前に記憶されたチャレンジおよび対応するレスポンスを識別してもよい(1008)。認証デバイスは次いで、電子デバイスに関する事前に記憶されたレスポンスと受け取った1つまたは複数のレスポンスを比較することによって電子デバイスを認証してもよい(1010)。電子デバイスに関して受け取った1つまたは複数のレスポンスが事前に記憶されたレスポンスと一致するときに認証が成功する。認証の成功は確率的な一致であってもよく、しきい値率またはしきい値数のレスポンスが正しく一致する限り、首尾よく一致したと結論付けられてもよい。このプロセスは、複数の電子デバイスの各々について繰り返されてもよい。物理的クローン化不能関数は各電子デバイスによって使用されるので、1つまたは複数のレスポンスは、すべてのデバイスに同じチャレンジが使用される場合でも異なる。
例示的な電子デバイスおよび電子デバイスにおいて使用可能な方法
図11は、複数の物理的クローン化不能関数を有する例示的な電子デバイスを示すブロック図である。電子デバイス1102は、チップ、半導体、メモリデバイスなどであってもよく、デバイス識別子を供給し、電子デバイス内のSRAM PUFおよび回路遅延PUFへのチャレンジに応答するように構成されてもよい。電子デバイス1102は、処理回路1104、(記憶デバイス内の)デバイス識別子1116、遅延ベースPUF回路1112(たとえば、複数の発振器リング回路)、スタティックランダムアクセスメモリ1116(SRAM PUFとして使用されてもよい)、通信インターフェース1108、および/または機械可読媒体1110を含んでもよい。通信インターフェース1108は、電子デバイス1102が1つまたは複数のデータコレクタデバイスおよび/または認証デバイスと(たとえば、有線によってまたはワイヤレスに)通信するのを可能にする送信機/受信機回路1118を含んでもよい。
処理回路1104は、一意のデバイス識別子1116をデータコレクタデバイスおよび/または認証デバイスに供給するように構成されたデバイス識別子回路/モジュール1122を含んでもよい。処理回路は、受け取ったチャレンジに対するレスポンスを得て、レスポンスをデータコレクタデバイスおよび認証デバイスに送るように構成されたSRAM PUFレスポンス回路/モジュール1124と回路遅延PUFレスポンス回路/モジュール1126とを含んでもよい。一例では、回路遅延PUFが不正使用防止PUFであってもよいことに留意されたい。対照的に、SRAM PUFは様々なアタック(たとえば、集束イオンビーム(FIB)アタック、回路編集アタックなど)を受けやすいように示されている。
SRAM PUFレスポンス回路/モジュール1124は、受け取ったチャレンジをスタティックランダムアクセスメモリ1114に送ってレスポンスを得てもよい。たとえば、レスポンスは、スタティックランダムアクセスメモリ1114の1つまたは複数のメモリセルの未初期化状態であってもよい。同様に、回路遅延PUFレスポンス回路/モジュール1126は、受け取ったチャレンジを遅延ベースPUF回路1112に送ってレスポンスを得てもよい。
機械可読媒体1110は、(たとえば、処理回路に電子デバイスに関するデバイス識別子1116を得させるための)デバイス識別子命令1130、(たとえば、処理回路に電子デバイスのスタティックランダムアクセスメモリ1114からのレスポンスを得させるための)SRAM PUFレスポンス命令1132、および/または(たとえば、処理回路に電子デバイスの回路遅延PUFからのレスポンスを得させるための)回路遅延PUFレスポンス命令1134を含むかまたは記憶してもよい。
電子デバイス1102は、図1〜図6に示すステップまたは関数のうちの1つまたは複数を実行するように構成されてもよい。
図12は、複数の物理的クローン化不能関数からのレスポンスに基づいて認証デバイスによって電子デバイス自体を認証するための電子デバイスにおいて使用可能な方法を示す。電子デバイスは、すでに展開前段階または製造段階中に1つまたは複数のチャレンジを受け取っており、1つまたは複数の対応するレスポンスを供給している。
電子デバイスは、電子デバイス内の複数のメモリセルを使用して第1の物理的クローン化不能関数を実施する(1204)。一例では、第1の物理的クローン化不能関数は、チャレンジに対するレスポンスとして、1つまたは複数のメモリセルに関する未初期化メモリセル状態を利用する。
電子デバイスは、電子デバイス内の複数の回路遅延ベースパスを使用して第2の物理的クローン化不能関数を実施してもよい(1206)。一例では、複数の回路遅延ベースパスは場合によっては不正使用防止可能である。「不正使用防止」という用語は、不正使用が試みられたときにそのレスポンスまたは出力の予想、確認、および/または読取りを行い、これによってレスポンスおよび/または出力を変更するPUFの実装形態または種類を指す。たとえば、リング発振器または回路遅延パス式発振器を物理的に不正使用することを試みると、リング発振器または回路遅延パスに関するレスポンスが変更される(たとえば、出力周波数が変化する)。
チャレンジが外部サーバから受け取られることがある(1208)。このチャレンジは、第2の物理的クローン化不能関数からの第1のレスポンスを使用して、(a)第1の物理的クローン化不能関数へのチャレンジ入力をマスキング/アンマスキングすること、(b)第1の物理的クローン化不能関数へのチャレンジ入力を生成すること、または(c)第1の物理的クローン化不能関数からのレスポンス出力をマスキングすることのいずれかを行うことによって第1の物理的クローン化不能関数に適用されてもよい(1210)。一例では、第1のチャレンジは、複数のメモリセル内のメモリアドレスを識別してもよい。別の例では、チャレンジは、第2の物理的クローン化不能関数における複数のリング発振器から2つのリング発振器を選択し、2つのリング発振器間の周波数差分によって応答してもよい。チャレンジは、電子デバイスの認証プロセス、電子デバイスの識別プロセス、および/または電子デバイス内のキー生成プロセスのうちの少なくとも1つの一部として受け取られてもよい。
次に、第2の物理的クローン化不能関数からの第1のレスポンスおよび/または第1の物理的クローン化不能関数からの第2のレスポンスを外部サーバに送ってもよい(1212)。外部サーバは、第1の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第1のデータベースと第2の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第2のデータベースとを含んでもよく、外部サーバは、チャレンジを電子デバイスに送り、第2のレスポンスに基づいて電子デバイスを認証または識別する。
レスポンスが外部サーバによって首尾よく検証されたことを示すインジケータが受け取られてもよい(1214)。たとえば、電子デバイスは、首尾よく認証されたときに、ネットワークおよび/またはデータにアクセス可能になったことを示すインジケータを受け取ることができる。
一例では、チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよい。たとえば、第1のチャレンジは、(図3に示すように)第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジであってもよい。別の例では、第1のチャレンジは、(図4に示すように)第1の物理的クローン化不能関数によって処理される前に第2の物理的クローン化不能関数からの第1のレスポンスによって修正されてもよい。
さらに別の例では、(図5に示すように)受け取ったチャレンジが第2の物理的クローン化不能関数によって使用されて第1のレスポンスが生成され、次に、第1のレスポンスが第1の物理的クローン化不能関数によって第2のチャレンジとして使用されて第2のレスポンスが生成されてもよい。
さらに別の実装形態では、チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよく、(図6に示すように)第2のチャレンジが第2の物理的クローン化不能関数によって使用されて第1のレスポンスが生成され、第1のレスポンスを使用して第1の物理的クローン化不能関数からの第2のレスポンスがマスキングされてもよい。この方法は、(a)第2の物理的クローン化不能関数からの第1のレスポンスをハッシングして中間レスポンスを得ること、および/または(b)中間レスポンスを使用して第2のレスポンスをマスキングすることをさらに含んでもよい。
一例では、事前に記憶されたデバイス識別子が電子デバイス内に事前プロビジョニングされてもよい(1202)。この例では、(a)チャレンジが受け取られる前または(b)第2のレスポンスを送るのと同時のいずれかのときに、事前に記憶されたデバイス識別子を電子デバイスから外部サーバに送ってもよい。デバイス識別子は電子デバイスを一意に識別する。
図1〜図12に示す構成要素、ステップ、特徴および/または機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴または機能として再構成されならびに/あるいは組み合わされるか、あるいは、いくつかの構成要素、ステップ、または機能として具現化され得る。追加の要素、構成要素、ステップ、および/または機能は、また、本発明から逸脱することなく加えられ得る。図1〜図7、図9、および図11に示す装置、デバイス、および/または構成要素は、図8、図10、および図12に記載した方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。また、本明細書で説明されたアルゴリズムは、効率的にソフトウェアに実装されてもよく、かつ/またはハードウェアに組み込まれてもよい。
その上、本開示の一態様では、図7、図9、および図11に示す処理回路704、904、および1104は、特に、それぞれ図8、図10、および図12で説明したアルゴリズム、方法、および/またはステップを実行するように特に設計されならびに/あるいは配線される専用プロセッサ(たとえば、特定用途向け集積回路(ASIC))であり得る。したがって、そのような専用プロセッサ(たとえば、ASIC)は、図8、図10、および/または図12で説明したアルゴリズム、方法、および/またはステップを実行するための手段の一例であり得る。
また、本開示の態様は、フローチャート、フロー図、構造図またはブロック図として示されるプロセスとして説明され得ることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。さらに、動作の順序を並び替えてもよい。プロセスは、その動作が完了したとき、終了する。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。プロセスが関数に対応するときには、その終了は、呼び出す側の関数またはメイン関数への関数のリターンに対応する。
その上、記憶媒体は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスおよび/もしくは他の機械可読媒体、およびプロセッサ可読媒体、ならびに/または情報を記憶するためのコンピュータ可読媒体を含む、データを記憶するための1つもしくは複数のデバイスを表し得る。「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語は、ポータブルもしくは固定ストレージデバイス、光ストレージデバイス、ならびに、命令および/またはデータを記憶、格納または搬送することが可能な様々な他の媒体のような非一時的媒体を含み得るが、これらに限定されない。したがって、本明細書で説明される様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」および/または「プロセッサ可読媒体」に記憶され、1つもしくは複数のプロセッサ、機械および/またはデバイスによって実行され得る命令および/またはデータによって、完全にまたは部分的に実装され得る。
さらに、本開示の態様は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体または他のストレージのような機械可読媒体に記憶され得る。プロセッサは必要なタスクを実行することができる。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡す、および/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信等を含む任意の適切な手段を介して渡されてもよく、転送または送信されてもよい。
本明細書に開示された例に関連して説明される様々な例示的な論理ブロック、モジュール、回路、要素、および/または構成要素は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理構成要素、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書に記載の機能を実行するように設計されたそれらの任意の組合せで実装または実行され得る。汎用プロセッサはマイクロプロセッサでよいが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械でもよい。プロセッサはまた、コンピューティングコンポーネントの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコアと連係した1つまたは複数のマイクロプロセッサ、あるいは他の任意のそのような構成として実装され得る。
本明細書で開示される例に関連して説明される方法またはアルゴリズムを、ハードウェアで直接に、プロセッサによって実行可能なソフトウェアモジュールで、またはその両方の組合せで、処理ユニット、プログラミング命令、または他のディレクティブの形で実施することができ、単一のデバイス内に含めるか、複数のデバイスにまたがって分散させることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で既知の任意の他の形の記憶媒体に存在することができる。プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、記憶媒体を、プロセッサに結合することができる。代替案では、記憶媒体を、プロセッサと一体とすることができる。
当業者は、本明細書で開示される諸態様に関連して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップを、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実施できることを、さらに了解するはずである。ハードウェアとソフトウェアとのこの相互交換可能性を明瞭に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、上では全般的にその機能性に関して説明された。そのような機能性が、ハードウェアまたはソフトウェアのどちらとして実施されるのかは、具体的な応用と、システム全体に課せられる設計制約とに依存する。
本明細書に記載の本発明の様々な特徴は、本発明から逸脱することなく、異なるシステムで実施され得る。本開示の前述の態様は、単に例であり、本発明を限定するものとして解釈されるべきではないことに留意すべきである。本開示の態様の説明は、例示であることを意図しており、特許請求の範囲を限定することを意図していない。したがって、本教示は、他のタイプの装置に容易に適用されることが可能であり、多くの代替形態、変更形態、および変形形態が当業者には明らかであろう。
102 メモリデバイス
104 メモリセル
106 SRAM
108 デバイス識別子
110 チャレンジ
112 レスポンス
114 データベース
120 回路遅延PUF
123 リング発振器
124 チャレンジ
128 回路遅延PUFデータベース
202 デバイス認証モジュール/回路/サーバ
204 リング発振器
206 レスポンス
300 認証デバイス
302 XOR演算
303 デバイス認証モジュール/回路/サーバ
305 回路遅延PUFデータベース
307 メモリデバイス
312 チャレンジ
316 チャレンジ
318 レスポンス
324 回路遅延PUF
400 認証デバイス
403 デバイス認証モジュール/回路/サーバ
404 XOR演算
405 回路遅延PUFデータベース
407 メモリデバイス
416 チャレンジ
418 レスポンス
424 回路遅延PUF
426 メモリセル領域
500 認証デバイス
503 デバイス認証モジュール/回路/サーバ
505 回路遅延PUFデータベース
507 メモリデバイス
512 チャレンジ
518 レスポンス
524 回路遅延PUF
600 認証デバイス
603 デバイス認証モジュール/回路/サーバ
604 メモリデバイス
605 RO PUFデータベース
607 メモリデバイス
612 チャレンジ
616 チャレンジ
618 レスポンス
619 ハッシュ
624 回路遅延PUF
625 RO PUFレスポンス
702 データコレクタデバイス
704 処理回路
706 記憶デバイス
708 通信インターフェース
710 機械可読媒体
712 回路遅延PUFデータベース
714 SRAM PUFデータベース
716 デバイス識別子データベース
718 送信機/受信機回路
720 チャレンジ生成回路/モジュール
722 デバイス識別子回路/モジュール
724 SRAM PUF収集回路/モジュール
726 回路遅延PUF収集回路/モジュール
728 チャレンジ生成命令
730 デバイス識別子命令
732 SRAM PUF収集命令
734 回路遅延PUF収集命令
902 認証デバイス
904 処理回路
906 記憶デバイス
908 通信インターフェース
910 機械可読媒体
912 回路遅延PUFデータベース
914 データベース
916 デバイス識別子データベース
918 送信機/受信機回路
922 デバイス識別子回路/モジュール
924 SRAM PUF検証回路/モジュール
926 回路遅延PUF検証回路/モジュール
930 デバイス識別子命令
932 SRAM PUF検証命令
934 回路遅延PUF検証命令
936 認証回路/モジュール
938 認証命令
1102 電子デバイス
1104 処理回路
1108 通信インターフェース
1110 機械可読媒体
1112 遅延ベースPUF回路
1114 スタティックランダムアクセスメモリ
1116 デバイス識別子
1118 送信機/受信機回路
1122 デバイス識別子回路/モジュール
1124 SRAM PUFレスポンス回路/モジュール
1126 回路遅延PUFレスポンス回路/モジュール
1130 デバイス識別子命令
1132 SRAM PUFレスポンス命令
1134 回路遅延PUFレスポンス命令

Claims (55)

  1. 電子デバイスによって使用可能な方法であって、
    前記電子デバイス内の複数のメモリセルを使用して第1の物理的クローン化不能関数を実施するステップと、
    前記電子デバイス内の複数の回路遅延ベースパスを使用して第2の物理的クローン化不能関数を実施するステップと、
    外部サーバからチャレンジを受け取るステップと、
    前記第2の物理的クローン化不能関数からの第1のレスポンスを使用して、
    (a)前記第1の物理的クローン化不能関数へのチャレンジ入力をマスキング/アンマスキングすること、
    (b)前記第1の物理的クローン化不能関数への前記チャレンジ入力を生成すること、または
    (c)前記第1の物理的クローン化不能関数からのレスポンス出力をマスキングすることのいずれかを行うことによって前記チャレンジを前記第1の物理的クローン化不能関数に適用するステップと、
    前記第1の物理的クローン化不能関数からの第2のレスポンスを前記外部サーバに送るステップとを含む方法。
  2. 前記第2の物理的クローン化不能関数からの第1のレスポンスを前記外部サーバに送るステップをさらに含む、請求項1に記載の方法。
  3. 前記第1の物理的クローン化不能関数は、前記チャレンジに対するレスポンスとして、1つまたは複数のメモリセルに関する未初期化メモリセル状態を使用する、請求項1に記載の方法。
  4. 前記複数の回路遅延ベースパスは、リング発振器であり、前記第2の物理的クローン化不能関数は、前記複数のリング発振器から2つのリング発振器を選択し前記2つのリング発振器間の周波数差分によって応答するチャレンジを受け取る、請求項1に記載の方法。
  5. 前記外部サーバは、前記第1の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第1のデータベースと前記第2の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第2のデータベースとを含み、前記外部サーバは、前記チャレンジを前記電子デバイスに送り、前記第2のレスポンスに基づいて前記電子デバイスを認証または識別する、請求項1に記載の方法。
  6. 前記チャレンジは、前記第1の物理的クローン化不能関数に関する第1のチャレンジと、前記第2の物理的クローン化不能関数に関する第2のチャレンジとを含む、請求項1に記載の方法。
  7. 前記第1のチャレンジは、前記第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジである、請求項6に記載の方法。
  8. 前記第1のチャレンジは、前記第1の物理的クローン化不能関数によって処理される前に前記第2の物理的クローン化不能関数からの前記第1のレスポンスによって修正される、請求項6に記載の方法。
  9. 前記受け取ったチャレンジが前記第2の物理的クローン化不能関数によって使用されて前記第1のレスポンスが生成され、次に、前記第1のレスポンスが前記第1の物理的クローン化不能関数によって第2のチャレンジとして使用されて前記第2のレスポンスが生成される、請求項1に記載の方法。
  10. 前記チャレンジは、前記第1の物理的クローン化不能関数に関する第1のチャレンジと、前記第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、前記第2のチャレンジが第2の物理的クローン化不能関数によって使用されて前記第1のレスポンスが生成され、前記第1のレスポンスを使用して前記第1の物理的クローン化不能関数からの前記第2のレスポンスがマスキングされる、請求項1に記載の方法。
  11. 前記第2の物理的クローン化不能関数からの前記第1のレスポンスをハッシングして中間レスポンスを得るステップと、
    前記中間レスポンスを使用して前記第2のレスポンスをマスキングするステップとをさらに含む、請求項10に記載の方法。
  12. 前記チャレンジは、前記電子デバイスの認証プロセス、前記電子デバイスの識別プロセス、および/または前記電子デバイス内のキー生成プロセスのうちの少なくとも1つの一部として受け取られる、請求項1に記載の方法。
  13. 前記電子デバイスは、展開前段階または製造段階中に1つまたは複数のチャレンジを受け取っており、1つまたは複数の対応するレスポンスを供給している、請求項1に記載の方法。
  14. 事前に記憶されたデバイス識別子を、
    (a)前記チャレンジが受け取られる前または
    (b)前記第2のレスポンスを送るのと同時のいずれかのときに、前記電子デバイスから前記外部サーバに送ることをさらに含み、
    前記デバイス識別子は前記電子デバイスを一意に識別する、請求項1に記載の方法。
  15. 電子デバイスであって、
    第1の物理的クローン化不能関数として働く前記電子デバイス内の複数のメモリセルと、
    第2の物理的クローン化不能関数を実施する前記電子デバイス内の複数の回路遅延ベースパスと、
    外部サーバからチャレンジを受け取るための通信インターフェースと、
    前記通信インターフェース、前記複数のメモリセル、および前記複数の回路遅延ベースパスに結合された処理回路であって、前記第2の物理的クローン化不能関数からの第1のレスポンスを使用して、
    (a)前記第1の物理的クローン化不能関数へのチャレンジ入力をマスキング/アンマスキングすること、
    (b)前記第1の物理的クローン化不能関数への前記チャレンジ入力を生成すること、または
    (c)前記第1の物理的クローン化不能関数からのレスポンス出力をマスキングすることのいずれかを行うことによって前記チャレンジを前記第1の物理的クローン化不能関数に適用するように構成された処理回路とを備え、
    前記通信インターフェースは、前記第1の物理的クローン化不能関数から前記外部サーバに第2のレスポンスを送るように構成される電子デバイス。
  16. 前記第2の物理的クローン化不能関数からの前記第1のレスポンスを前記外部サーバに送ることをさらに含む、請求項15に記載の電子デバイス。
  17. 前記第1の物理的クローン化不能関数は、前記チャレンジに対するレスポンスとして、1つまたは複数のメモリセルに関する未初期化メモリセル状態を使用する、請求項15に記載の電子デバイス。
  18. 前記複数の回路遅延ベースパスは、リング発振器であり、前記第2の物理的クローン化不能関数は、前記複数のリング発振器から2つのリング発振器を選択し前記2つのリング発振器間の周波数差分によって応答するチャレンジを受け取る、請求項15に記載の電子デバイス。
  19. 前記外部サーバは、前記第1の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第1のデータベースと前記第2の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第2のデータベースとを含み、前記外部サーバは、前記チャレンジを前記電子デバイスに送り、前記第2のレスポンスに基づいて前記電子デバイスを認証または識別する、請求項15に記載の電子デバイス。
  20. 前記チャレンジは、前記第1の物理的クローン化不能関数に関する第1のチャレンジと、前記第2の物理的クローン化不能関数に関する第2のチャレンジとを含む、請求項15に記載の電子デバイス。
  21. 前記第1のチャレンジは、前記第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジである、請求項20に記載の電子デバイス。
  22. 前記第1のチャレンジは、前記第1の物理的クローン化不能関数によって処理される前に前記第2の物理的クローン化不能関数からの前記第1のレスポンスによって修正される、請求項20に記載の電子デバイス。
  23. 前記受け取ったチャレンジが前記第2の物理的クローン化不能関数によって使用されて前記第1のレスポンスが生成され、次に、前記第1のレスポンスが前記第1の物理的クローン化不能関数によって第2のチャレンジとして使用されて前記第2のレスポンスが生成される、請求項15に記載の電子デバイス。
  24. 前記チャレンジは、前記第1の物理的クローン化不能関数に関する第1のチャレンジと、前記第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、前記第2のチャレンジが第2の物理的クローン化不能関数によって使用されて前記第1のレスポンスが生成され、前記第1のレスポンスを使用して前記第1の物理的クローン化不能関数からの前記第2のレスポンスがマスキングされる、請求項15に記載の電子デバイス。
  25. 前記処理回路は、
    前記第2の物理的クローン化不能関数からの前記第1のレスポンスをハッシングして中間レスポンスを得ることと、
    前記中間レスポンスを使用して前記第2のレスポンスをマスキングすることとを行うようにさらに構成される、請求項24に記載の電子デバイス。
  26. 前記チャレンジは、前記電子デバイスの認証プロセス、前記電子デバイスの識別プロセス、および/または前記電子デバイス内のキー生成プロセスのうちの少なくとも1つの一部として受け取られる、請求項15に記載の電子デバイス。
  27. 前記処理回路は事前に記憶されたデバイス識別子を、
    (a)前記チャレンジが受け取られる前または
    (b)前記第2のレスポンスを送るのと同時のいずれかのときに、前記電子デバイスから前記外部サーバに送るようにさらに構成され、
    前記デバイス識別子は前記電子デバイスを一意に識別する、請求項15に記載の電子デバイス。
  28. 電子デバイスであって、
    前記電子デバイス内の複数のメモリセルを使用して第1の物理的クローン化不能関数を実施するための手段と、
    前記電子デバイス内の複数の回路遅延ベースパスを使用して第2の物理的クローン化不能関数を実施するための手段と、
    外部サーバからチャレンジを受け取るための手段と、
    前記第2の物理的クローン化不能関数からの第1のレスポンスを使用して、
    (a)前記第1の物理的クローン化不能関数へのチャレンジ入力をマスキング/アンマスキングすること、
    (b)前記第1の物理的クローン化不能関数への前記チャレンジ入力を生成すること、または
    (c)前記第1の物理的クローン化不能関数からのレスポンス出力をマスキングすることのいずれかを行うことによって前記チャレンジを前記第1の物理的クローン化不能関数に適用するための手段と、
    前記第1の物理的クローン化不能関数からの第2のレスポンスを前記外部サーバに送るための手段とを備える電子デバイス。
  29. 前記チャレンジは、前記第1の物理的クローン化不能関数に関する第1のチャレンジと、前記第2の物理的クローン化不能関数に関する第2のチャレンジとを含む、請求項28に記載の電子デバイス。
  30. 前記第1のチャレンジは、前記第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジである、請求項29に記載の電子デバイス。
  31. 前記第1のチャレンジは、前記第1の物理的クローン化不能関数によって処理される前に前記第2の物理的クローン化不能関数からの前記第1のレスポンスによって修正される、請求項29に記載の電子デバイス。
  32. 前記受け取ったチャレンジが前記第2の物理的クローン化不能関数によって使用されて前記第1のレスポンスが生成され、次に、前記第1のレスポンスが前記第1の物理的クローン化不能関数によって第2のチャレンジとして使用されて前記第2のレスポンスが生成される、請求項29に記載の電子デバイス。
  33. 前記チャレンジは、前記第1の物理的クローン化不能関数に関する第1のチャレンジと、前記第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、前記第2のチャレンジが第2の物理的クローン化不能関数によって使用されて前記第1のレスポンスが生成され、前記第1のレスポンスを使用して前記第1の物理的クローン化不能関数からの前記第2のレスポンスがマスキングされる、請求項28に記載の電子デバイス。
  34. 1つまたは複数の命令が記憶された非一時的機械可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサによって実行されたときに、前記少なくとも1つのプロセッサに、
    前記電子デバイス内の複数のメモリセルを使用して第1の物理的クローン化不能関数を実施することと、
    前記電子デバイス内の複数の回路遅延ベースパスを使用して第2の物理的クローン化不能関数を実施することと、
    外部サーバからチャレンジを受け取ることと、
    前記第2の物理的クローン化不能関数からの第1のレスポンスを使用して、
    (a)前記第1の物理的クローン化不能関数へのチャレンジ入力をマスキング/アンマスキングすること、
    (b)前記第1の物理的クローン化不能関数への前記チャレンジ入力を生成すること、または
    (c)前記第1の物理的クローン化不能関数からのレスポンス出力をマスキングすることのいずれかを行うことによって前記チャレンジを前記第1の物理的クローン化不能関数に適用することと、
    前記第1の物理的クローン化不能関数からの第2のレスポンスを前記外部サーバに送ることとを行わせる非一時的機械可読記憶媒体。
  35. 認証デバイスによって使用可能な方法であって、
    電子デバイスに関連するデバイス識別子を受け取るステップと、
    1つまたは複数のチャレンジを前記電子デバイスに送るステップと、
    前記電子デバイスから1つまたは複数のレスポンスを受け取るステップであって、前記1つまたは複数のレスポンスは、前記電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含むステップと、
    前記電子デバイス識別子を使用して、前記電子デバイスに固有の事前に記憶されたレスポンスを識別するステップと、
    前記電子デバイスに関する前記事前に記憶されたレスポンスと前記受け取った1つまたは複数のレスポンスを比較することによって前記電子デバイスを認証するステップとを含む方法。
  36. 前記チャレンジは、前記電子デバイスから事前にレスポンスが得られた複数のチャレンジから選択される、請求項35に記載の方法。
  37. 前記事前に記憶されたレスポンスは、前記電子デバイスの製造段階または展開前段階において得られている、請求項35に記載の方法。
  38. 前記デバイス識別子は、前記1つまたは複数のチャレンジを送る前に受け取られる、請求項35に記載の方法。
  39. 前記デバイス識別子は、前記1つまたは複数のレスポンスを受け取るのとともに受け取られる、請求項35に記載の方法。
  40. 前記チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含む、請求項35に記載の方法。
  41. 前記第1のチャレンジは、前記第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジである、請求項40に記載の方法。
  42. 前記1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、前記1つまたは複数のレスポンスは、前記第1の物理的クローン化不能関数からの第1のレスポンスと前記第2の物理的クローン化不能関数からの第2のレスポンスとを含み、前記電子デバイスは、前記第1のレスポンスが前記第1のチャレンジに対応する事前に記憶された第1のレスポンスと一致し、前記第2のレスポンスが前記第2のチャレンジに対応する事前に記憶された第2のレスポンスと一致する場合に首尾よく認証される、請求項40に記載の方法。
  43. 前記1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、前記1つまたは複数のレスポンスは、前記第1の物理的クローン化不能関数からの第1のレスポンスと前記第2の物理的クローン化不能関数からの第2のレスポンスとを含み、前記方法は、
    前記第1のチャレンジを前記第2のレスポンスによってアンマスキングすることによって中間チャレンジを得て、前記受け取った第1のレスポンスを前記中間チャレンジに関連する前記事前に記憶されたレスポンスと比較するステップをさらに含む、請求項40に記載の方法。
  44. 前記1つまたは複数のチャレンジは、第2の物理的クローン化不能関数に関する第1のチャレンジを含み、前記1つまたは複数のレスポンスは、前記第1の物理的クローン化不能関数からの第1のレスポンスを含み、前記方法は、
    前記第1のチャレンジに対応する事前に記憶された中間レスポンスを取り込むことによって中間チャレンジを得て、前記受け取った第1のレスポンスを前記中間チャレンジに対応する前記事前に記憶された中間レスポンスと比較するステップをさらに含む、請求項35に記載の方法。
  45. 前記1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、前記1つまたは複数のレスポンスは第1のレスポンスを含み、前記方法は、
    前記第2のチャレンジに対応する事前に記憶された第2のレスポンスによって前記第1のレスポンスをアンマスキングすることによって中間レスポンスを得て、前記中間レスポンスを前記第1のチャレンジに関連する前記事前に記憶されたレスポンスと比較するステップをさらに含む、請求項35に記載の方法。
  46. 電子デバイスと通信するための通信インターフェースと、
    前記通信インターフェースに結合された処理回路とを含み、前記処理回路は、
    電子デバイスに関連するデバイス識別子を受け取ることと、
    1つまたは複数のチャレンジを前記電子デバイスに送ることと、
    前記電子デバイスから1つまたは複数のレスポンスを受け取ることであって、前記1つまたは複数のレスポンスは、前記電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含むことと、
    前記電子デバイス識別子を使用して、前記電子デバイスに固有の事前に記憶されたレスポンスを識別することと、
    前記電子デバイスに関する前記事前に記憶されたレスポンスと前記受け取った1つまたは複数のレスポンスを比較することによって前記電子デバイスを認証することとを行うように構成される認証デバイス。
  47. 前記チャレンジは、前記電子デバイスから事前にレスポンスが得られた複数のチャレンジから選択される、請求項46に記載の認証デバイス。
  48. 前記チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含む、請求項46に記載の認証デバイス。
  49. 前記第1のチャレンジは、前記第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジである、請求項48に記載の認証デバイス。
  50. 前記1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、前記1つまたは複数のレスポンスは、前記第1の物理的クローン化不能関数からの第1のレスポンスと前記第2の物理的クローン化不能関数からの第2のレスポンスとを含み、前記電子デバイスは、前記第1のレスポンスが前記第1のチャレンジに対応する事前に記憶された第1のレスポンスと一致し、前記第2のレスポンスが前記第2のチャレンジに対応する事前に記憶された第2のレスポンスと一致する場合に首尾よく認証される、請求項48に認証デバイス。
  51. 前記1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、前記1つまたは複数のレスポンスは、前記第1の物理的クローン化不能関数からの第1のレスポンスと前記第2の物理的クローン化不能関数からの第2のレスポンスとを含み、前記処理回路は、
    前記第1のチャレンジを前記第2のレスポンスによってアンマスキングすることによって中間チャレンジを得て、前記受け取った第1のレスポンスを前記中間チャレンジに関連する前記事前に記憶されたレスポンスと比較するようにさらに構成される、請求項46に記載の認証デバイス。
  52. 前記1つまたは複数のチャレンジは、第2の物理的クローン化不能関数に関する第1のチャレンジを含み、前記1つまたは複数のレスポンスは、前記第1の物理的クローン化不能関数からの第1のレスポンスを含み、前記処理回路は、
    前記第1のチャレンジに対応する事前に記憶された中間レスポンスを取り込むことによって中間チャレンジを得て、前記受け取った第1のレスポンスを前記中間チャレンジに対応する前記事前に記憶された中間レスポンスと比較するようにさらに構成される、請求項46に記載の認証デバイス。
  53. 前記1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、前記1つまたは複数のレスポンスは第1のレスポンスを含み、前記処理回路は、
    前記第2のチャレンジに対応する事前に記憶された第2のレスポンスによって前記第1のレスポンスをアンマスキングすることによって中間レスポンスを得て、前記中間レスポンスを前記第1のチャレンジに関連する前記事前に記憶されたレスポンスと比較するようにさらに構成される、請求項46に記載の認証デバイス。
  54. 電子デバイスに関連するデバイス識別子を受け取るための手段と、
    1つまたは複数のチャレンジを前記電子デバイスに送るための手段と、
    前記電子デバイスから1つまたは複数のレスポンスを受け取るための手段であって、前記1つまたは複数のレスポンスは、前記電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含む手段と、
    前記電子デバイス識別子を使用して、前記電子デバイスに固有の事前に記憶されたレスポンスを識別するための手段と、
    前記電子デバイスに関する前記事前に記憶されたレスポンスと前記受け取った1つまたは複数のレスポンスを比較することによって前記電子デバイスを認証するための手段とを備える認証デバイス。
  55. 1つまたは複数の命令が記憶された非一時的機械可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサによって実行されたときに、前記少なくとも1つのプロセッサに、
    電子デバイスに関連するデバイス識別子を受け取ることと、
    1つまたは複数のチャレンジを前記電子デバイスに送ることと、
    前記電子デバイスから1つまたは複数のレスポンスを受け取ることであって、前記1つまたは複数のレスポンスは、前記電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成された特性情報を含むことと、
    前記電子デバイス識別子を使用して、前記電子デバイスに固有の事前に記憶されたレスポンスを識別することと、
    前記電子デバイスに関する前記事前に記憶されたレスポンスと前記受け取った1つまたは複数のレスポンスを比較することによって前記電子デバイスを認証することとを行わせる非一時的機械可読記憶媒体。
JP2016536383A 2013-08-23 2014-08-19 侵襲的なクローンアタックに抵抗するためのメモリベースpufのマスキング演算への回路遅延ベース物理的クローン化不能関数(puf)の適用 Active JP6515100B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/975,082 US9787480B2 (en) 2013-08-23 2013-08-23 Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
US13/975,082 2013-08-23
PCT/US2014/051718 WO2015026838A1 (en) 2013-08-23 2014-08-19 Applying circuit delay-based physically unclonable functions (pufs) for masking operation of memory-based pufs to resist invasive and clone attacks

Publications (3)

Publication Number Publication Date
JP2016531515A true JP2016531515A (ja) 2016-10-06
JP2016531515A5 JP2016531515A5 (ja) 2017-09-07
JP6515100B2 JP6515100B2 (ja) 2019-05-15

Family

ID=51541283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016536383A Active JP6515100B2 (ja) 2013-08-23 2014-08-19 侵襲的なクローンアタックに抵抗するためのメモリベースpufのマスキング演算への回路遅延ベース物理的クローン化不能関数(puf)の適用

Country Status (6)

Country Link
US (2) US9787480B2 (ja)
EP (1) EP3036621B1 (ja)
JP (1) JP6515100B2 (ja)
KR (1) KR102168502B1 (ja)
CN (2) CN109347642A (ja)
WO (1) WO2015026838A1 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787480B2 (en) 2013-08-23 2017-10-10 Qualcomm Incorporated Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
US9262256B2 (en) * 2013-12-24 2016-02-16 Intel Corporation Using dark bits to reduce physical unclonable function (PUF) error rate without storing dark bits location
US9292692B2 (en) * 2014-05-05 2016-03-22 Sypris Electronics, Llc System and device for verifying the integrity of a system from its subcomponents
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9715590B2 (en) 2014-05-05 2017-07-25 Analog Devices, Inc. System and device for verifying the integrity of a system from its subcomponents
US9946858B2 (en) 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US20160047855A1 (en) * 2014-08-15 2016-02-18 Case Western Reserve University Pcb authentication and counterfeit detection
US9515835B2 (en) 2015-03-24 2016-12-06 Intel Corporation Stable probing-resilient physically unclonable function (PUF) circuit
US10177922B1 (en) * 2015-03-25 2019-01-08 National Technology & Engineering Solutions Of Sandia, Llc Repeatable masking of sensitive data
US10256983B1 (en) 2015-03-25 2019-04-09 National Technology & Engineering Solutions Of Sandia, Llc Circuit that includes a physically unclonable function
US9571480B1 (en) * 2015-04-08 2017-02-14 Sonus Networks, Inc. Authentication methods and apparatus
CN104836669B (zh) * 2015-05-08 2018-04-06 东南大学 一种基于sram puf的安全认证方法及一种终端、认证系统
US10877531B2 (en) * 2015-08-03 2020-12-29 Texas Instruments Incorporated Methods and apparatus to create a physically unclonable function
US9971566B2 (en) 2015-08-13 2018-05-15 Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University Random number generating systems and related methods
US9985791B2 (en) * 2015-08-13 2018-05-29 Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University Physically unclonable function generating systems and related methods
US9967094B2 (en) 2015-08-25 2018-05-08 Nxp Usa, Inc. Data processing system with secure key generation
AU2016362507A1 (en) 2015-12-04 2018-06-14 Dan CERNOCH Systems and methods for scalable-factor authentication
JP7003059B2 (ja) * 2016-01-11 2022-01-20 ユーエヌエム レインフォレスト イノベーションズ プライバシー保護相互pufベース認証プロトコル
US11303460B2 (en) 2016-06-29 2022-04-12 Arizona Board Of Regents On Behalf Of Northern Arizona University PUFs from sensors and their calibration
GB2543125B (en) * 2016-07-27 2017-10-18 Quantum Base Ltd Generating a unique response to a challenge
US11258599B2 (en) 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US10404478B2 (en) 2016-08-04 2019-09-03 Macronix International Co., Ltd. Physical unclonable function using divided threshold distributions in non-volatile memory
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
CN106301292A (zh) * 2016-08-16 2017-01-04 天津大学 基于电磁信号远程激活硬件木马的装置
US11012246B2 (en) * 2016-09-08 2021-05-18 Taiwan Semiconductor Manufacturing Co., Ltd. SRAM-based authentication circuit
WO2018085676A1 (en) * 2016-11-04 2018-05-11 Stc.Unm System and methods for entropy and statistical quality metrics
US11362845B2 (en) * 2016-11-30 2022-06-14 Taiwan Semiconductor Manufacturing Co., Ltd. Secure communication between server device and clients utilizing strong physical unclonable functions
US10148653B2 (en) * 2016-12-14 2018-12-04 The Boeing Company Authenticating an aircraft data exchange using detected differences of onboard electronics
EP3340212B1 (en) * 2016-12-21 2019-11-13 Merck Patent GmbH Reader device for reading a composite marking comprising a physical unclonable function for anti-counterfeiting
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
US9811689B1 (en) 2016-12-27 2017-11-07 Macronix International Co., Ltd. Chip ID generation using physical unclonable function
WO2018145755A1 (en) * 2017-02-10 2018-08-16 Telefonaktiebolaget Lm Ericsson (Publ) Methods of verifying that a first device and a second device are physically interconnected
WO2018183926A1 (en) * 2017-03-31 2018-10-04 Arizona Board Of Regents On Behalf Of Northern Arizona University Securing distributed elements connected to a network with addressable physically unclonable functions
CN107194285B (zh) * 2017-04-29 2020-05-12 苏州芯动科技有限公司 一种基于puf的密钥生成方法及数据存储方法
EP3407335B1 (en) * 2017-05-22 2023-07-26 Macronix International Co., Ltd. Non-volatile memory based physically unclonable function with random number generator
US10425235B2 (en) * 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
US11196574B2 (en) * 2017-08-17 2021-12-07 Taiwan Semiconductor Manufacturing Company, Ltd. Physically unclonable function (PUF) generation
KR102341266B1 (ko) 2017-08-30 2021-12-20 삼성전자주식회사 물리적 복제방지 기능을 위한 집적 회로 및 이를 포함하는 장치
US10985922B2 (en) * 2017-09-29 2021-04-20 Taiwan Semiconductor Manufacturing Co., Ltd. Device with self-authentication
US10777265B2 (en) * 2017-11-13 2020-09-15 International Business Machines Corporation Enhanced FDSOI physically unclonable function
EP3483772A1 (en) * 2017-11-14 2019-05-15 Nagravision S.A. Integrated circuit personalisation with data encrypted with the output of a physically unclonable function
US10915635B2 (en) * 2017-12-22 2021-02-09 The Boeing Company Countermeasures to frequency alteration attacks on ring oscillator based physical unclonable functions
US11245520B2 (en) * 2018-02-14 2022-02-08 Lucid Circuit, Inc. Systems and methods for generating identifying information based on semiconductor manufacturing process variations
US11082241B2 (en) * 2018-03-30 2021-08-03 Intel Corporation Physically unclonable function with feed-forward addressing and variable latency output
CN110324141A (zh) * 2018-03-30 2019-10-11 恩智浦有限公司 抵抗旁信道攻击的物理不可克隆函数和其对应的方法
CN108683505B (zh) * 2018-04-25 2021-01-05 东南大学 一种具备安全性的apuf电路
CN109005040B (zh) * 2018-09-10 2022-04-01 湖南大学 动态多密钥混淆puf结构及其认证方法
US11151290B2 (en) 2018-09-17 2021-10-19 Analog Devices, Inc. Tamper-resistant component networks
KR102192845B1 (ko) 2018-09-20 2020-12-18 충북대학교 산학협력단 물리적 복제 불가능 함수에 적용 가능한 응답 다중 비교를 통한 응답 불안정성 감지 장치 및 방법
US11277272B2 (en) 2018-11-07 2022-03-15 Samsung Electronics Co., Ltd. Integrated circuit and method for challenge-response physically unclonable function
KR20200082982A (ko) 2018-12-31 2020-07-08 삼성전자주식회사 물리적 복제방지 기능의 보안을 위한 집적 회로 및 이를 포함하는 장치
US10764069B1 (en) * 2019-03-08 2020-09-01 Analog Devices International Unlimited Company Transistor based PUF apparatus
US11841983B2 (en) 2019-06-07 2023-12-12 Ohio State Innovation Foundation Systems and methods using hybrid Boolean networks as physically unclonable functions
US10769327B1 (en) 2019-06-13 2020-09-08 International Business Machines Corporation Integrated circuit authentication using mask fingerprinting
US11269999B2 (en) * 2019-07-01 2022-03-08 At&T Intellectual Property I, L.P. Protecting computing devices from malicious tampering
US11171793B2 (en) * 2019-10-01 2021-11-09 Nxp B.V. Method and system for detecting an attack on a physically unclonable function (PUF)
CN111027102B (zh) * 2019-11-13 2023-05-26 云南大学 一种高安全性可配置ro-puf电路结构
US11240047B2 (en) 2019-12-16 2022-02-01 Analog Devices International Unlimited Company Capacitor based physical unclonable function
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
US11743058B2 (en) * 2020-03-05 2023-08-29 International Business Machines Corporation NVDIMM security with physically unclonable functions
US11625478B2 (en) * 2020-04-15 2023-04-11 Arizona Board Of Regents On Behalf Of Northern Arizona University Resilient password management system using an array of addressable physical unclonable functions
CN111865617B (zh) * 2020-08-04 2021-09-07 上海交通大学 一种基于物理不可克隆函数的增强系统可靠性方法
US11394566B2 (en) 2020-08-05 2022-07-19 Analog Devices International Unlimited Company Physical unclonable function configuration and readout
US11734459B2 (en) * 2020-08-05 2023-08-22 Analog Devices International Unlimited Company Monitoring a physical unclonable function
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
WO2022271110A1 (en) * 2021-06-24 2022-12-29 İsti̇nye Üni̇versi̇tesi̇ Sram based block ram puf system and method
CN115242506B (zh) * 2022-07-21 2024-04-12 深圳市汇顶科技股份有限公司 电子设备身份验证方法、装置、系统及设备、存储介质
DE202023101370U1 (de) 2023-03-20 2023-04-18 Tarek Hidouri Ein Gerät zum Entwickeln einer konfigurierbaren, physikalisch nicht klonbaren Funktion unter Verwendung eines rekonfigurierbaren Feldeffekttransistors

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198528A (ja) * 2001-11-30 2003-07-11 Stmicroelectronics Sa 単一の集積回路識別子の多様化
JP2008516472A (ja) * 2004-10-04 2008-05-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 物理トークンのための二側誤り訂正
US20120131340A1 (en) * 2010-11-19 2012-05-24 Philippe Teuwen Enrollment of Physically Unclonable Functions
EP2615571A1 (en) * 2012-01-16 2013-07-17 Gemalto SA Method of generating an identifier of an electronic device
EP2626816A1 (en) * 2012-02-08 2013-08-14 Gemalto SA Method of authenticating a device
US8516269B1 (en) * 2010-07-28 2013-08-20 Sandia Corporation Hardware device to physical structure binding and authentication

Family Cites Families (31)

* 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
JP2005286787A (ja) * 2004-03-30 2005-10-13 Sanyo Electric Co Ltd ノイズ除去回路
EP1842203A4 (en) * 2004-11-12 2011-03-23 Verayo Inc KEYS OF VOLATILE DEVICES, AND THEIR APPLICATIONS
EP1927067A2 (en) * 2005-09-14 2008-06-04 Koninklijke Philips Electronics N.V. Device, system and method for determining authenticity of an item
DE602006005958D1 (de) * 2005-11-29 2009-05-07 Koninkl Philips Electronics Nv Beweise der physischen nähe unter verwendung von cpufs
ATE426968T1 (de) * 2005-11-29 2009-04-15 Koninkl Philips Electronics Nv Physisches verteilen von geheimnissen und beweisen der nahe unter verwendung von pufs
EP2053543A1 (en) 2006-11-06 2009-04-29 Panasonic Corporation Authenticator
US8290150B2 (en) * 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
US9214183B2 (en) * 2007-06-12 2015-12-15 Nxp B.V. Secure storage
CN101542496B (zh) * 2007-09-19 2012-09-05 美国威诚股份有限公司 利用物理不可克隆功能的身份验证
US8966660B2 (en) 2008-08-07 2015-02-24 William Marsh Rice University Methods and systems of digital rights management for integrated circuits
US8683210B2 (en) * 2008-11-21 2014-03-25 Verayo, Inc. Non-networked RFID-PUF authentication
EP2434683A4 (en) 2009-05-22 2016-04-20 Mitsubishi Electric Corp ELECTRONIC DEVICE, KEY GENERATION PROGRAM, RECORDING MEDIUM AND KEY PRODUCING METHOD
US8468186B2 (en) * 2009-08-05 2013-06-18 Verayo, Inc. Combination of values from a pseudo-random source
US8370787B2 (en) * 2009-08-25 2013-02-05 Empire Technology Development Llc Testing security of mapping functions
JP5499358B2 (ja) * 2010-03-24 2014-05-21 独立行政法人産業技術総合研究所 認証処理方法及び装置
US8667265B1 (en) 2010-07-28 2014-03-04 Sandia Corporation Hardware device binding and mutual authentication
US8418006B1 (en) * 2010-12-07 2013-04-09 Xilinx, Inc. Protecting a design for an integrated circuit using a unique identifier
US20120183135A1 (en) 2011-01-19 2012-07-19 Verayo, Inc. Reliable puf value generation by pattern matching
US8850608B2 (en) * 2011-03-07 2014-09-30 University Of Connecticut Embedded ring oscillator network for integrated circuit security and threat detection
CN102521538A (zh) * 2011-12-07 2012-06-27 浙江大学 基于多频率段的物理不可克隆函数结构
US20130147511A1 (en) * 2011-12-07 2013-06-13 Patrick Koeberl Offline Device Authentication and Anti-Counterfeiting Using Physically Unclonable Functions
US20130339814A1 (en) * 2012-06-15 2013-12-19 Shantanu Rane Method for Processing Messages for Outsourced Storage and Outsourced Computation by Untrusted Third Parties
US20140041040A1 (en) * 2012-08-01 2014-02-06 The Regents Of The University Of California Creating secure multiparty communication primitives using transistor delay quantization in public physically unclonable functions
DE102012216677B3 (de) 2012-09-18 2013-06-13 Siemens Aktiengesellschaft Identifikationsschaltung
US8928347B2 (en) 2012-09-28 2015-01-06 Intel Corporation Integrated circuits having accessible and inaccessible physically unclonable functions
DE102012219112A1 (de) * 2012-10-19 2014-04-24 Siemens Aktiengesellschaft Verwenden einer PUF zur Prüfung einer Authentisierung, insbesondere zum Schutz vor unberechtigtem Zugriff auf eine Funktion eines ICs oder Steuergerätes
CN103020552B (zh) * 2012-12-20 2015-05-13 天津联芯科技有限公司 基于sram的puf的片上自我注册系统及其实现方法
EP2779067B1 (en) * 2013-03-15 2019-05-08 Maxim Integrated Products, Inc. Secure authentication based on physically unclonable functions
US9088278B2 (en) * 2013-05-03 2015-07-21 International Business Machines Corporation Physical unclonable function generation and management
US9787480B2 (en) 2013-08-23 2017-10-10 Qualcomm Incorporated Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198528A (ja) * 2001-11-30 2003-07-11 Stmicroelectronics Sa 単一の集積回路識別子の多様化
JP2008516472A (ja) * 2004-10-04 2008-05-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 物理トークンのための二側誤り訂正
US8516269B1 (en) * 2010-07-28 2013-08-20 Sandia Corporation Hardware device to physical structure binding and authentication
US20120131340A1 (en) * 2010-11-19 2012-05-24 Philippe Teuwen Enrollment of Physically Unclonable Functions
EP2615571A1 (en) * 2012-01-16 2013-07-17 Gemalto SA Method of generating an identifier of an electronic device
EP2626816A1 (en) * 2012-02-08 2013-08-14 Gemalto SA Method of authenticating a device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山本 大 ほか: "ラッチの乱数出力位置を利用したPUFによるID生成/認証システムの信頼性向上手法", 2011年 暗号と情報セキュリティシンポジウム概要集, vol. 2D1−1, JPN6015017949, 25 January 2011 (2011-01-25), JP, pages pp.1−8 *

Also Published As

Publication number Publication date
US20150058928A1 (en) 2015-02-26
US20160149712A1 (en) 2016-05-26
EP3036621A1 (en) 2016-06-29
US9948470B2 (en) 2018-04-17
CN109347642A (zh) 2019-02-15
WO2015026838A1 (en) 2015-02-26
US9787480B2 (en) 2017-10-10
EP3036621B1 (en) 2017-10-18
CN105474167A (zh) 2016-04-06
CN105474167B (zh) 2018-11-27
JP6515100B2 (ja) 2019-05-15
KR102168502B1 (ko) 2020-10-21
KR20160048114A (ko) 2016-05-03

Similar Documents

Publication Publication Date Title
JP6515100B2 (ja) 侵襲的なクローンアタックに抵抗するためのメモリベースpufのマスキング演算への回路遅延ベース物理的クローン化不能関数(puf)の適用
JP6261727B2 (ja) デバイス識別のための物理的クローン化不能関数パターンマッチング
US11921911B2 (en) Peripheral device
US10482036B2 (en) Securely binding between memory chip and host
CN109690543B (zh) 安全认证方法、集成电路及系统
JP2016134671A (ja) データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム
US11625478B2 (en) Resilient password management system using an array of addressable physical unclonable functions
JP2023015376A (ja) 認証情報の設定を仲介するための装置及び方法
Schrijen et al. Physical unclonable functions to the rescue
TW201915748A (zh) 半導體裝置
US20200117795A1 (en) System and method for generating and authenticating a trusted polymorphic and distributed unique hardware identifier
KR102263877B1 (ko) 디바이스 고유암호키 생성기 및 방법
CN109586898A (zh) 双系统通信密钥生成方法及计算机可读存储介质
Arias et al. Device attestation: Past, present, and future
US20240086081A1 (en) External memory data integrity validation
Aysu et al. A design method for remote integrity checking of complex PCBs
CN113872986B (zh) 配电终端认证方法、装置和计算机设备
CN108664778B (zh) 用户身份认证方法、装置及电子设备
CN117353920B (zh) 一种密钥派生方法、处理器和相关设备
CN117544319A (zh) 一种身份认证方法、处理器和相关设备
JP2020167488A (ja) 通信システム、認証装置および認証方法
CN116522356A (zh) 数据查询方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170726

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190415

R150 Certificate of patent or registration of utility model

Ref document number: 6515100

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250