図面 (/)

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

出願人 クアルコム,インコーポレイテッド
発明者 シュウ・グオデイヴィッド・エム・ジェイコブソンヤフェイ・ヤンアダム・ジェー・ドリューブライアン・マーク・ローゼンバーグ
出願日 2014年8月19日 (6年4ヶ月経過) 出願番号 2016-536383
公開日 2016年10月6日 (4年2ヶ月経過) 公開番号 2016-531515
状態 特許登録済
技術分野 オンライン・システムの機密保護 暗号化・復号化装置及び秘密通信
主要キーワード 偏り状態 遅延ベース パス式 未初期化状態 逐次プロセス 事前生成 検証命令 固定ストレージ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年10月6日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

課題・解決手段

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

概要

背景

物理クローン化不能関数(PUF)は、物理的な構成要素の固有のばらつきに基づいてハードウェアデバイス一意識別する機構を実現する。たとえば、複数のチップを製造する際、複雑な半導体製造プロセスによって、設計者の制御を超えたわずかなばらつきが導入される。たとえば、2つのチップが同じシリコンウェハから製造された場合でも、同一に設計された電気経路おそらく、幅が数ナノメートル異なり、シリコンの表面における微視的な差によって、線の湾曲にごくわずかのばらつきが誘発される。これらの一意の特性は制御不能でかつ物理的デバイス特有の特性であるので、これらの特性を定量化すると固有の識別子を生成することができる。リング発振器ベースPUF、アービタPUF、およびパス遅延分析ベースPUFなど、シリコンによる回路遅延のばらつきの調査および分析に基づいていくつかの異なる種類のPUFが提案されている。

あるPUFは、スタティックランダムアクセスメモリ(SRAM)の未初期化電源投入状態を利用して識別用の「フィンガープリント」を生成する。しかし、SRAM PUFは、クローン化アタックを受けやすい。

概要

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

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項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つまたは複数のレスポンスを比較することによって前記電子デバイスを認証することとを行わせる非一時的機械可読記憶媒体。

技術分野

0001

本開示は、物理クローン化不能関数(PUF)を使用してメモリデバイスまたはそのようなメモリデバイスが組み込まれたデバイス一意識別することに関する。

背景技術

0002

物理的クローン化不能関数(PUF)は、物理的な構成要素の固有のばらつきに基づいてハードウェアデバイスを一意に識別する機構を実現する。たとえば、複数のチップを製造する際、複雑な半導体製造プロセスによって、設計者の制御を超えたわずかなばらつきが導入される。たとえば、2つのチップが同じシリコンウェハから製造された場合でも、同一に設計された電気経路おそらく、幅が数ナノメートル異なり、シリコンの表面における微視的な差によって、線の湾曲にごくわずかのばらつきが誘発される。これらの一意の特性は制御不能でかつ物理的デバイス特有の特性であるので、これらの特性を定量化すると固有の識別子を生成することができる。リング発振器ベースPUF、アービタPUF、およびパス遅延分析ベースPUFなど、シリコンによる回路遅延のばらつきの調査および分析に基づいていくつかの異なる種類のPUFが提案されている。

0003

あるPUFは、スタティックランダムアクセスメモリ(SRAM)の未初期化電源投入状態を利用して識別用の「フィンガープリント」を生成する。しかし、SRAM PUFは、クローン化アタックを受けやすい。

発明が解決しようとする課題

0004

したがって、現行のSRAM PUF設計のセキュリティを向上させてクローン化アタックおよび侵襲的なアタック全般に抵抗する必要がある。

課題を解決するための手段

0005

クローン化アタックに抵抗しつつ一意に識別され得る電子デバイス(たとえば、プロセッサ処理回路メモリプログラマブル論理アレイ、チップ、半導体、メモリなど)が提供される。電子デバイスは、第1の物理的クローン化不能関数(PUF)として働く複数のメモリセルを電子デバイス内に含んでもよい。一例では、第1の物理的クローン化不能関数は、チャレンジに対するレスポンスとして、1つまたは複数のメモリセルに関する未初期メモリセル状態を利用する。さらに、電子デバイス内の複数の回路遅延ベースパスは、第2の物理的クローン化不能関数を実施してもよい。一例では、複数の回路遅延ベースパスは、リング発振器であってもよく、第2の物理的クローン化不能関数は、複数のリング発振器から2つのリング発振器を選択し、2つのリング発振器間の周波数差分によって応答するチャレンジを受け取ってもよい。

0006

通信インターフェースは、外部サーバからチャレンジを受け取る働きをしてもよい。処理回路が通信インターフェース、複数のメモリセル、および複数の回路遅延ベースパスに結合されてもよく、処理回路は、第2の物理的クローン化不能関数からの第1のレスポンスを使用して、(a)第1の物理的クローン化不能関数へのチャレンジ入力をマスキング/アンマスキングすること、(b)第1の物理的クローン化不能関数へのチャレンジ入力を生成すること、または(c)第1の物理的クローン化不能関数からのレスポンス出力をマスキングすることのいずれかを行うことによって第1の物理的クローン化不能関数にチャレンジを適用するように構成される。通信インターフェースは、第1の物理的クローン化不能関数から外部サーバに第2のレスポンスを送るように構成されてもよい。さらに、第1のレスポンスは、第2の物理的クローン化不能関数から外部サーバに送られてもよい。一例では、外部サーバは、第1の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第1のデータベースと第2の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第2のデータベースとを含んでもよく、外部サーバは、チャレンジを電子デバイスに送り、第2のレスポンスに基づいて電子デバイスを認証または識別する。

0007

一例では、チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよい。一実装形態では、第1のチャレンジは、第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジであってもよい。別の実装形態では、第1のチャレンジは、第1の物理的クローン化不能関数によって処理される前に第2の物理的クローン化不能関数からの第1のレスポンスによって修正されてもよい。

0008

別の例では、受け取ったチャレンジが第2の物理的クローン化不能関数によって使用されて第1のレスポンスが生成され、次に、第1のレスポンスが第1の物理的クローン化不能関数によって第2のチャレンジとして使用されて第2のレスポンスが生成されてもよい。

0009

さらに別の例では、チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよく、第2のチャレンジが第2の物理的クローン化不能関数によって使用されて第1のレスポンスが生成され、第1のレスポンスを使用して第1の物理的クローン化不能関数からの第2のレスポンスがマスキングされる。第2の物理的クローン化不能関数からの第1のレスポンスはハッシングされて中間レスポンスが得られる。第2のレスポンスは次いで、中間レスポンスを使用してマスキングされる。

0010

他の例では、チャレンジは、電子デバイスの認証プロセス、電子デバイスの識別プロセス、および/または電子デバイス内のキー生成プロセスのうちの少なくとも1つの一部として受け取られてもよい。

0011

いくつかの実装形態では、電子デバイスは、すでに展開前段階または製造段階中に1つまたは複数のチャレンジを受け取っており、1つまたは複数の対応するレスポンスを(たとえば、データコレクタに)供給している。

0012

さらに、事前に記憶されたデバイス識別子が、(a)チャレンジが受け取られる前または(b)第2のレスポンスを送るのと同時のいずれかのときに電子デバイスから外部サーバに送られてもよく、デバイス識別子は電子デバイスを一意に識別する。

0013

電子デバイスの展開前段階または製造段階中に電子デバイスに関連するデバイス識別子を得る(たとえば、受け取るかまたは割り当てる)データコレクタデバイスも設けられる。データコレクタデバイスは次いで、1つまたは複数のチャレンジを生成して電子デバイスに送ってもよい。その結果、データコレクタデバイスは、電子デバイスから1つまたは複数のレスポンスを受け取ってもよく、1つまたは複数のレスポンスは、電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含む。デバイス識別子、チャレンジ、および対応するレスポンスは、後で電子デバイスを認証できるように記憶される。このプロセスは、複数の電子デバイスの各々について繰り返されてもよい。電子デバイスに送られるチャレンジがすべてのデバイスについて同じであってもよく、電子デバイスごとに無作為に生成されてもよく、ならびに/あるいはあり得るチャレンジのサブセットであってもよいことに留意されたい。

0014

同様に、様々な種類の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証する認証デバイスが設けられる。認証デバイスは、電子デバイスに関連するデバイス識別子を受け取る。認証デバイスは次いで、1つまたは複数のチャレンジを電子デバイスに送る。それに応答して、認証デバイスは、電子デバイスから1つまたは複数のレスポンスを受け取り、1つまたは複数のレスポンスは、電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含む。電子デバイスに固有の事前に記憶されたレスポンスは、電子デバイス識別子を使用して識別されてもよい。電子デバイスは次いで、電子デバイスに関する事前に記憶されたレスポンスと受け取った1つまたは複数のレスポンスを比較することによって認証されてもよい。チャレンジは、電子デバイスから事前にレスポンスが得られた複数のチャレンジから選択されてもよい。事前に記憶されたレスポンスは、電子デバイスの製造段階または展開前段階において得られていてもよい。デバイス識別子は、1つまたは複数のチャレンジを送る前に受け取られていてもよい。デバイス識別子は、1つまたは複数のレスポンスを受け取るのとともに受け取られていてもよい。

0015

チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよい。第1のチャレンジは、第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジであってもよい。1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよく、1つまたは複数のレスポンスは、第1の物理的クローン化不能関数からの第1のレスポンスと第2の物理的クローン化不能関数からの第2のレスポンスとを含み、電子デバイスは、第1のレスポンスが第1のチャレンジに対応する事前に記憶された第1のレスポンスと一致し、第2のレスポンスが第2のチャレンジに対応する事前に記憶された第2のレスポンスと一致する場合に首尾よく認証される。

0016

1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、1つまたは複数のレスポンスは、第1の物理的クローン化不能関数からの第1のレスポンスと第2の物理的クローン化不能関数からの第2のレスポンスとを含む。さらに、第1のチャレンジを第2のレスポンスによってアンマスキングすることによって中間チャレンジが得られてもよい。受け取った第1のレスポンスは、中間チャレンジに関連する事前に記憶されたレスポンスと比較されてもよい。

0017

さらに別の例では、1つまたは複数のチャレンジは、第2の物理的クローン化不能関数に関する第1のチャレンジを含み、1つまたは複数のレスポンスは、第1の物理的クローン化不能関数からの第1のレスポンスを含む。第1のチャレンジに対応する事前に記憶された中間レスポンスを取り込むことによって中間チャレンジを得ることができる。受け取った第1のレスポンスは、中間チャレンジに対応する事前に記憶された中間レスポンスと比較されてもよい。

0018

さらに別の例では、1つまたは複数のチャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと第2の物理的クローン化不能関数に関する第2のチャレンジとを含み、1つまたは複数のレスポンスは第1のレスポンスを含む。第2のチャレンジに対応する事前に記憶された第2のレスポンスによって第1のレスポンスをアンマスキングすることによって中間レスポンスを得ることができる。中間レスポンスは、第1のチャレンジに関連する事前に記憶されたレスポンスと比較される。

図面の簡単な説明

0019

SRAM PUFおよび回路遅延ベースPUFに基づいてメモリデバイスに関するレスポンスの一意のマッピングを生成する例示的な方法を示すブロック図である。
SRAM PUFおよび回路遅延ベースPUFを組み合わせるメモリデバイスに関する事前に得られた特徴的なレスポンスを使用して特定のメモリデバイスを検証または識別する例示的な方法を示すブロック図である。
攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUFと回路遅延PUFをどのように組み合わせたらよいかについての第1の例を示すブロック図である。
攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUFと回路遅延PUFをどのように組み合わせたらよいかについての第2の例を示すブロック図である。
攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUFと回路遅延PUFをどのように組み合わせたらよいかについての第3の例を示すブロック図である。
攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUFとRO PUFをどのように組み合わせたらよいかについての第4の例を示すブロック図である。
一例によるデータコレクタデバイスを示すブロック図である。
電子デバイスから特性情報を得るためのデータコレクタデバイスにおいて使用可能な方法を示す図である。
各電子デバイス内の複数の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証するように構成された例示的な認証デバイスを示すブロック図である。
複数の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証するための認証デバイスにおいて使用可能な方法を示す図である。
複数の物理的クローン化不能関数を有する例示的な電子デバイスを示すブロック図である。
複数の物理的クローン化不能関数からのレスポンスに基づいて認証デバイスによって電子デバイス自体を認証するための電子デバイスにおいて使用可能な方法を示す図である。

実施例

0020

以下の説明では、本開示の様々な態様の完全な理解をもたらすために具体的な詳細が与えられる。しかしながら、態様はこれらの具体的な詳細を伴わずに実践され得ることが当業者によって理解されるであろう。たとえば、態様が不要な詳細で不明瞭になることを回避するために、回路はブロック図で示されることがある。他の場合には、本開示の態様を不明瞭にしないために、よく知られている回路、構造、および技法は、詳細に示されないことがある。

0021

「例示的」という用語は、本明細書では「一例、事例、または実例として役立つ」ことを意味するように使用される。「例示的」として本明細書に記載の任意の実装形態または態様は、必ずしも本開示の他の態様よりも好ましいまたは有利であると解釈されるべきではない。同様に、「諸態様」という用語は、本開示のすべての態様が、議論される特徴、利点、または動作のモードを含むことを必要としない。

0022

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

0023

SRAM物理的クローン化不能関数(PUF)と回路遅延ベース物理的クローン化不能関数(PUF)の組合
物理的クローン化不能関数(PUF)は、回路内の製造プロセスばらつきを利用して一意の識別子を得るチャレンジ-レスポンス機構である。一例では、チャレンジとそれに対応するレスポンスとの間の関係は、回路(たとえば、集積回路)内の論理構成要素および配線の複雑な統計量的ばらつきによって決定される。2種類のPUFには、たとえば、SRAM PUFおよび回路遅延PUF(たとえば、リング発振器PUF)が含まれる。

0024

SRAM PUFは、スタティックランダムアクセスメモリ(SRAM)の未初期化電源投入状態を利用して、メモリデバイスまたはメモリデバイスが組み込まれた電子デバイスに関する識別用「フィンガープリント」を生成する。SRAMセル設計は対称性を有するが、製造プロセスばらつきによってSRAMセル間にわずかな非対称性が生じ、立ち上げ時に優先/偏り状態(0または1)が生じる。未初期化SRAMセルのこの優先または偏りを使用してメモリデバイスを一意に識別してもよい。

0025

しかし、集束イオンビーム(FIB)を使用する障害解析アタックにおける最近の高度化によって、メモリベースPUFのセキュリティが脅かされている。回路編集アタックは、元のデバイスに対する同一のSRAM PUFレスポンスを有するハードウェアクローンを生成することができる。

0026

回路遅延ベースPUFは、製作/製造上の欠陥によって生じる発振回路間の体系的なばらつきを利用する。製作/製造プロセスは回路遅延ベースPUFにおけるそのようなばらつきを回避しようとするが、そのようなばらつきは常にある程度存在し、デバイス./チップを識別するうえで実際に有用である。回路遅延ベースPUFの一例では、複数のリング発振器が併用されてもよく、少なくとも2つのリング発振器の出力が1つまたは複数のスイッチ(マルチプレクサ)に送られる。チャレンジは、リング発振器への入力として働くことができ(たとえば、チャレンジは2つのリング発振器を選択する働きをし)、2つの選択されたリング発振器204からの出力は、第1の周波数および第2の周波数として表される。選択されるリング発振器間の違いに起因して、リング発振器の周波数が異なる(すなわち、周波数差分が生じる)。ROPUF出力(レスポンス)は、リング発振器周波数を対ごとに比較することによって作成される(たとえば、第1と第2の周波数の差)。

0027

しかし、サイズ変更可能な回路遅延ベースPUFを実装すると、集積回路内の必要な空間として広い空間が占有される。

0028

一特徴によれば、SRAM PUFと回路遅延ベースPUFが、SRAM PUFのセキュリティを強化するように電子デバイス(たとえば、メモリデバイス、半導体デバイスなど)内で組み合わされる。

0029

図1は、SRAM PUFおよび回路遅延ベースPUF、たとえば、リング発振器(RO)PUFに基づいてメモリデバイスに関するレスポンスの一意のマッピングを生成する例示的な方法を示すブロック図である。このブロック図は、SRAM PUF 105と回路遅延PUF 122(たとえば、リング発振器バンクとして実装される)とを備えるメモリデバイス102(たとえば、チップ、半導体デバイスなど)に関するチャレンジ/レスポンス特性を問い合わせて収集するプロセスを示す。

0030

一例では、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]が無作為に選択されてもよく、したがって、様々なデバイスがそれぞれに異なるチャレンジを受け取る。

0031

一例では、回路遅延PUF 120は、複数のリング発振器123およびその周波数変動を利用して一意のシグネチャ/レスポンスを生成するリング発振器(RO)PUF 122として実装されてもよい。たとえば、所与のチャレンジ124に関して(たとえば、2つのリング発振器入力/出力の選択)、対応するレスポンス(たとえば、2つの選択されたリング発振器間の周波数差)が得られる。このようにして、チャレンジおよび対応するレスポンスの回路遅延PUFデータベース128が得られる。

0032

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と組み合わせればよい。

0033

チャレンジ/レスポンスを各デバイスに関連付けるには、デバイス識別子108(たとえば、通し番号、ID番号など)をデバイス102に記憶させ、データベース114および128に通知するかまたは記憶させればよい。すなわち、メモリデバイス102ごとのデバイス識別子108は、記憶され、そのメモリデバイス102の対応するチャレンジおよび/またはレスポンスに関連付けられてもよい。

0034

図2は、SRAM PUFと回路遅延ベースPUF、たとえば、リング発振器(RO)PUFを組み合わせるメモリデバイスに関する事前に得られた特徴的なレスポンスを使用して特定のメモリデバイスを検証または識別する例示的な方法を示すブロック図である。動作時には、デバイス検証モジュール/回路202(たとえば、ベリファイアまたは認証デバイス/サーバによって実装される)がチャレンジ204によってメモリデバイス102に問い合わせてレスポンス206を得てもよく、レスポンス206は、SRAM PUFデータベース114と回路遅延PUFデータベース128の組合せを使用して検証され得る。レスポンス206は、メモリデバイスの識別情報を検証する働きをしてもよく、またはメモリデバイス102を認証する働きをしてもよい。この技法がメモリデバイスに関する一意の識別子/シグネチャを生成する働きをしてもよいことに留意されたい。

0035

一例では、メモリデバイス102がその事前に記憶され/事前割り当てされたデバイス識別子108をデバイス認証モジュール/回路/サーバ202に供給してもよいことに留意されたい。デバイス認証モジュール/回路/サーバ202は次いで、そのデバイス識別子108に関して事前に記憶された1つまたは複数のチャレンジを取り込んでメモリデバイス102に送ってもよい(204)。代替的に、デバイス識別子108は、電子デバイスによってチャレンジへのあらゆるレスポンスとともに供給される(たとえば、すべての電子デバイスに同じチャレンジが使用される)。デバイス認証モジュール/回路/サーバ202は、レスポンス206を受け取ると、受け取ったレスポンス206をSRAM PUF 114および回路遅延PUF 128内の対応する事前に記憶されたレスポンスと比較して一致するかどうかを確認する。

0036

この検証段階中に、チャレンジ204およびレスポンス206は攻撃者からアクセスされるかまたはアクセス可能になることがある。したがって、様々な機能によって、メモリデバイス102との間のチャレンジ204および/またはレスポンス206を保護して攻撃者がメモリデバイス102をクローン化するのを抑制することが可能である。

0037

一例では、回路遅延PUF 120(たとえば、遅延ベースPUF)は不正使用防止可能である。集束イオンビーム(FIB)アタックではSRAM PUF 105のメモリセルのレスポンスがアタックにさらされる恐れがあるが、回路遅延PUF 120(たとえば、リング発振器)に関する情報は得られない。実際は、メモリデバイス102をクローン化/アタックするのに使用されるプロセスは、回路遅延PUF 120(たとえば、リング発振器)のレスポンスが変更され得る程、侵襲的であり、それによって、アタックにさらされ、メモリデバイス102の認証/識別が失敗する恐れがある。

0038

SRAM PUF 105と回路遅延PUF 120を組み合わせ、チャレンジ204およびレスポンス206が攻撃者からアクセス可能であるときでも攻撃者がメモリデバイス102をクローン化するのを抑制するための様々な方法がある。

0039

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内の複数のリング発振器に関して生成されてもよい。

0040

この例では、デバイス認証モジュール/回路/サーバ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に送られる。

0041

メモリデバイス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を含んでもよい。

0042

認証デバイス300において、受け取ったレスポンスSRAM PUF R0322を使用してSRAM PUFデータベース301および回路遅延PUF 305内の記憶されたレスポンスを比較してそれらが一致するかどうかを確認してもよい。RO PUFレスポンスR0310がすでに知られているかまたは回路遅延PUFデータベース305に記憶されているので、認証デバイス300がRO PUFレスポンスR0310を使用してSRAM PUFチャレンジC0306をマスキングすることができることに留意されたい。

0043

図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内の複数のリング発振器に関して生成されてもよい。

0044

この例では、デバイス認証モジュール/回路/サーバ403は、その後メモリデバイス407の認証を試みるときに、(チャレンジA 416とチャレンジB 412とを含む)チャレンジをメモリデバイス407に送る。チャレンジA 416はSRAM PUFチャレンジC0406を含んでもよい。チャレンジB 412は、RO PUFレスポンスR0410に対応するRO PUFチャレンジC0408を含み、同じく認証デバイス400からメモリデバイス407に送られる。

0045

チャレンジ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を含んでもよい。

0046

この手法では、実際のチャレンジをメモリセル領域426に修正するためにRO PUFレスポンスR0421が使用される。攻撃者はRO PUFレスポンスR0421を再生することができないので、攻撃者には、レスポンスSRAM PUFレスポンスR0'425を生成するのに使用される修正SRAM PUFチャレンジC0'423はわからない。

0047

認証デバイス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と比較してもよい。

0048

図5は、攻撃者がメモリデバイスをクローン化できないようにするにはSRAM PUF 526と回路遅延524 PUFをどのように組み合わせたらよいかについての第3の例を示すブロック図である。この例では、認証デバイス500が、デバイス認証モジュール/回路/サーバ503と、SRAM PUFデータベース501と、回路遅延PUFデータベース505とを含んでもよい。SRAM PUFデータベース501は、たとえば、複数のチャレンジ(たとえば、メモリアドレス)をメモリセル領域に送り、対応するレスポンス(たとえば、未初期化メモリセル状態/値)を得ることによって、製造時にメモリデバイス507のメモリセル領域に関して生成されてもよい。同様に、回路遅延PUFデータベース505は、たとえば、複数のチャレンジ(たとえば、2つのリング発振器の選択)をリング発振器に送り、対応するレスポンス(たとえば、2つの選択されたリング発振器間の周波数差分)を得ることによって、製造時にメモリデバイス507内の複数のリング発振器に関して生成されてもよい。

0049

この例では、デバイス認証モジュール/回路/サーバ503は、その後メモリデバイス507の認証を試みるときに、対応するRO PUFレスポンスR0を有するRO PUFチャレンジC0508を含むチャレンジ512を送る。

0050

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に送られる。

0051

この手法では、実際のチャレンジをSRAM PUF 526に修正するためにRO PUFレスポンスR0521が使用される。攻撃者はRO PUFレスポンスR0521を再生することができないので、攻撃者には、レスポンスSRAM PUFレスポンスR0525を生成するのに使用されるSRAM PUFチャレンジC0523はわからない。

0052

認証デバイス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と比較してもよい。

0053

図3、図4、および図5に示す手法では、デバイス認証モジュール/回路/サーバ303、403、および/または503は、SRAM PUFとRO PUFの両方に関するチャレンジとレスポンスの対にアクセスすることができる。したがって、デバイス認証モジュール/回路/サーバ303、403、および/または503は、メモリデバイス307、407、および507によって実行された演算を検証し、レスポンスを検証することができる。

0054

SRAM物理的クローン化不能関数(PUF)とRO物理的クローン化不能関数(PUF)を組み合わせてレスポンスをマスキングすること
代替手法では、RO PUFを使用することによってSRAM PUFレスポンスをメモリデバイスから保護する。

0055

図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内の複数のリング発振器に関して生成されてもよい。

0056

この例では、デバイス認証モジュール/回路/サーバ603は、その後メモリデバイス607の認証を試みるときに、(チャレンジA 616とチャレンジB 612とを含む)チャレンジをメモリデバイス607に送る。チャレンジA 616はSRAM PUFチャレンジC0606を含んでもよい。チャレンジB 612は、RO PUFチャレンジC0608を含み、同じく認証デバイス600からメモリデバイス607に送られる。

0057

メモリデバイス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を保護することができる。

0058

認証デバイス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は首尾よく認証または識別される。

0059

例示的なデータコレクタデバイスおよびデータコレクタデバイスにおいて使用可能な方法
図7は、一例によるデータコレクタデバイスを示すブロック図である。データコレクタデバイス702は、電子デバイス(たとえば、チップ、半導体、メモリデバイスなど)を一意に特徴付ける情報を収集して記憶するように構成されてもよい。たとえば、製造段階、品質管理段階、および/または展開前段階の間、データコレクタデバイス702は、各電子デバイスに対してチャレンジを送ってレスポンスを受け取り、受け取った情報を後で各電子デバイスを認証/識別する際に使用できるように記憶するように構成されてもよい。

0060

データコレクタデバイス702は、処理回路704、記憶デバイス706、通信インターフェース708、および/または機械可読媒体710を含み得る。通信インターフェース708は、データコレクタデバイス702が1つまたは複数の電子デバイスと(たとえば、有線によってまたはワイヤレスに)通信するのを可能にする送信機/受信機回路718を含んでもよい。

0061

処理回路704は、電子デバイスごとの一意の識別子を得てそのような一意の識別子を記憶デバイス706内のデバイス識別子データベース716に記憶するように構成されたデバイス識別子回路/モジュール722を含んでもよい。処理回路704は、1つまたは複数のチャレンジを生成して電子デバイスに送出するように構成されたチャレンジ生成回路/モジュール720を含んでもよい。たとえば、チャレンジは、(たとえば、SRAM PUFに関する)メモリアドレスまたは(たとえば、RO PUFに関する)リング発振器対であってもよい。処理回路704は、送られた1つまたは複数のチャレンジに応答して電子デバイス内のSRAM PUFからのレスポンスを収集するように構成されたSRAM PUF収集回路/モジュール726を含んでもよい。処理回路704は、送られた1つまたは複数のチャレンジに応答して電子デバイス内の回路遅延PUFからのレスポンスを収集するように構成された回路遅延PUF収集回路/モジュール726を含んでもよい。

0062

機械可読媒体710は、(たとえば、処理回路に問合せ中の電子デバイスからデバイス識別子を得させるための)デバイス識別子命令730、(たとえば、処理回路にランダムなチャレンジまたは事前生成されたチャレンジを生成させて問合せ中の電子デバイスのSRAM PUFおよび/または回路遅延PUFに送らせるための)チャレンジ生成命令728、(たとえば、処理回路に問合せ中の電子デバイスのSRAM PUFからのレスポンスを収集させるための)SRAM PUF収集命令732、ならびに/あるいは(たとえば、処理回路に問合せ中の電子デバイスの回路遅延PUFからレスポンスを収集させるための)回路遅延PUF収集命令734を含むかまたは記憶してもよい。一例では、回路遅延PUFが不正使用防止PUFであってもよいことに留意されたい。対照的に、SRAM PUFは様々なアタック(たとえば、集束イオンビーム(FIB)アタック、回路編集アタックなど)を受けやすいように示されている。

0063

データコレクタデバイス702は、図1〜図6に示すステップまたは関数のうちの1つまたは複数を実行するように構成されてもよい。

0064

図8は、電子デバイスから特性情報を得るためのデータコレクタデバイスにおいて使用可能な方法を示す図である。データコレクタデバイスは、電子デバイスの展開前段階または製造段階中に電子デバイスに関連するデバイス識別子を得てもよい(たとえば、受け取るかまたは割り当ててもよい)(802)。データコレクタデバイスは次いで、1つまたは複数のチャレンジを生成して電子デバイスに送ってもよい(804)。その結果、データコレクタデバイスは、電子デバイスから1つまたは複数のレスポンスを受け取ってもよく、1つまたは複数のレスポンスは、電子デバイス806において2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含む。デバイス識別子、チャレンジ、および対応するレスポンスは、後で電子デバイスを認証できるように記憶される(808)。このプロセスは、複数の電子デバイスの各々について繰り返されてもよい。電子デバイスに送られるチャレンジがすべてのデバイスについて同じであってもよく、電子デバイスごとに無作為に生成されてもよく、ならびに/あるいはあり得るチャレンジのサブセットであってもよいことに留意されたい。

0065

例示的な認証デバイスおよび認証デバイスにおいて使用可能な方法
図9は、各電子デバイス内の複数の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証するように構成された例示的な認証デバイスを示すブロック図である。認証デバイス902は、電子デバイス(たとえば、チップ、半導体、メモリデバイスなど)に問い合わせ、(電子デバイスから得られる)デバイス識別子に基づいて電子デバイスを識別し、電子デバイス内のSRAM PUFおよび回路遅延PUFへのチャレンジを含む問合せを実行することによって電子デバイスを認証することを試みるように構成されてもよい。認証デバイス902は、処理回路904、記憶デバイス906、通信インターフェース908、および/または機械可読媒体910を含み得る。通信インターフェース908は、認証デバイス902が1つまたは複数の電子デバイスと(たとえば、有線によってまたはワイヤレスに)通信するのを可能にする送信機/受信機回路918を含んでもよい。

0066

処理回路904は、電子デバイスから一意のデバイス識別子を得るように構成されたデバイス識別子回路/モジュール922を含んでもよい。認証回路/モジュール936は、得られたデバイス識別子を使用して、そのデバイス識別子に関連する対応するチャレンジ/レスポンス情報の有無に関して(記憶デバイス906内の)デバイス識別子データベース916をチェックしてもよい。認証回路/モジュール936は次いで、SRAM PUF検証回路/モジュール924および回路遅延PUF検証回路/モジュール926と協働して、対応するチャレンジのうちの1つまたは複数を電子デバイスに送ってもよく、チャレンジに対する1つまたは複数のレスポンスを得る。一例では、回路遅延PUFが不正使用防止PUFであってもよいことに留意されたい。対照的に、SRAM PUFは様々なアタック(たとえば、集束イオンビーム(FIB)アタック、回路編集アタックなど)を受けやすいように示されている。

0067

レスポンスは、チャレンジとともに、それぞれ(記憶デバイス906内の)SRAM PUFデータベース914および(記憶デバイス906内の)回路遅延PUFデータベース912から、予期されるレスポンスに正しく一致するか(すなわち、データベース914および916内のチャレンジに対応するレスポンスと一致する)どうかを確認するために、SRAM PUF検証回路/モジュール924および回路遅延PUF検証回路/モジュール926によって使用されてもよい。受け取ったレスポンスが事前に記憶された対応するレスポンスと一致する場合、認証回路/モジュール936は、電子デバイスが首尾よく認証されたと結論付けてもよい。そのような認証の成功は確率的な一致であってもよく、しきい値率またはしきい値数のレスポンスが正しく一致する限り、首尾よく一致したと結論付けられてもよい。

0068

機械可読媒体910は、(たとえば、処理回路に検証中の電子デバイスからデバイス識別子を得させるための)デバイス識別子命令930、(たとえば、処理回路に検証中の電子デバイスのSRAM PUFからのレスポンスを検証させるための)SRAM PUF検証命令932、(たとえば、処理回路に検証中の電子デバイスの回路遅延PUFからのレスポンスを検証させるための)回路遅延PUF検証命令934、ならびに/あるいはSRAM PUF検証と回路遅延PUF検証の両方が成功したかどうかを確認するための認証命令938を含むかまたは記憶してもよい。

0069

データコレクタデバイス902は、図1〜図6に示すステップまたは関数のうちの1つまたは複数を実行するように構成されてもよい。

0070

図10は、複数の物理的クローン化不能関数からのレスポンスに基づいて電子デバイスを認証するための認証デバイスにおいて使用可能な方法を示す。認証デバイスは、展開後段階中に電子デバイスに関連するデバイス識別子を得てもよい(たとえば、要求するかまたは受け取ってもよい)(1002)。認証デバイスは次いで、1つまたは複数のチャレンジを得て電子デバイスに送ってもよい(1004)。たとえば、チャレンジは、すべての電子デバイスに利用されるあらかじめ規定された1組のチャレンジであってもよい。代替的に、チャレンジは、デバイス識別子を使用してデータベースから得られる電子デバイスに関するチャレンジの特定のサブセットであってもよい。認証デバイスは、1つまたは複数のチャレンジを送った結果として、電子デバイスから1つまたは複数のレスポンスを受け取ってもよく、1つまたは複数のレスポンスは、電子デバイスにおいて2つ以上の異なる種類の物理的クローン化不能関数から生成される特性情報を含む(1006)。様々な実装形態では、認証デバイスは、図1、図2、図3、図4、図5、および/または図6に例示し、図1、図2、図3、図4、図5、および/または図6を参照して説明したように動作してもよい。

0071

デバイス識別子を使用して電子デバイスに特有の事前に記憶されたチャレンジおよび対応するレスポンスを識別してもよい(1008)。認証デバイスは次いで、電子デバイスに関する事前に記憶されたレスポンスと受け取った1つまたは複数のレスポンスを比較することによって電子デバイスを認証してもよい(1010)。電子デバイスに関して受け取った1つまたは複数のレスポンスが事前に記憶されたレスポンスと一致するときに認証が成功する。認証の成功は確率的な一致であってもよく、しきい値率またはしきい値数のレスポンスが正しく一致する限り、首尾よく一致したと結論付けられてもよい。このプロセスは、複数の電子デバイスの各々について繰り返されてもよい。物理的クローン化不能関数は各電子デバイスによって使用されるので、1つまたは複数のレスポンスは、すべてのデバイスに同じチャレンジが使用される場合でも異なる。

0072

例示的な電子デバイスおよび電子デバイスにおいて使用可能な方法
図11は、複数の物理的クローン化不能関数を有する例示的な電子デバイスを示すブロック図である。電子デバイス1102は、チップ、半導体、メモリデバイスなどであってもよく、デバイス識別子を供給し、電子デバイス内のSRAM PUFおよび回路遅延PUFへのチャレンジに応答するように構成されてもよい。電子デバイス1102は、処理回路1104、(記憶デバイス内の)デバイス識別子1116、遅延ベースPUF回路1112(たとえば、複数の発振リング回路)、スタティックランダムアクセスメモリ1116(SRAM PUFとして使用されてもよい)、通信インターフェース1108、および/または機械可読媒体1110を含んでもよい。通信インターフェース1108は、電子デバイス1102が1つまたは複数のデータコレクタデバイスおよび/または認証デバイスと(たとえば、有線によってまたはワイヤレスに)通信するのを可能にする送信機/受信機回路1118を含んでもよい。

0073

処理回路1104は、一意のデバイス識別子1116をデータコレクタデバイスおよび/または認証デバイスに供給するように構成されたデバイス識別子回路/モジュール1122を含んでもよい。処理回路は、受け取ったチャレンジに対するレスポンスを得て、レスポンスをデータコレクタデバイスおよび認証デバイスに送るように構成されたSRAM PUFレスポンス回路/モジュール1124と回路遅延PUFレスポンス回路/モジュール1126とを含んでもよい。一例では、回路遅延PUFが不正使用防止PUFであってもよいことに留意されたい。対照的に、SRAM PUFは様々なアタック(たとえば、集束イオンビーム(FIB)アタック、回路編集アタックなど)を受けやすいように示されている。

0074

SRAM PUFレスポンス回路/モジュール1124は、受け取ったチャレンジをスタティックランダムアクセスメモリ1114に送ってレスポンスを得てもよい。たとえば、レスポンスは、スタティックランダムアクセスメモリ1114の1つまたは複数のメモリセルの未初期化状態であってもよい。同様に、回路遅延PUFレスポンス回路/モジュール1126は、受け取ったチャレンジを遅延ベースPUF回路1112に送ってレスポンスを得てもよい。

0075

機械可読媒体1110は、(たとえば、処理回路に電子デバイスに関するデバイス識別子1116を得させるための)デバイス識別子命令1130、(たとえば、処理回路に電子デバイスのスタティックランダムアクセスメモリ1114からのレスポンスを得させるための)SRAM PUFレスポンス命令1132、および/または(たとえば、処理回路に電子デバイスの回路遅延PUFからのレスポンスを得させるための)回路遅延PUFレスポンス命令1134を含むかまたは記憶してもよい。

0076

電子デバイス1102は、図1〜図6に示すステップまたは関数のうちの1つまたは複数を実行するように構成されてもよい。

0077

図12は、複数の物理的クローン化不能関数からのレスポンスに基づいて認証デバイスによって電子デバイス自体を認証するための電子デバイスにおいて使用可能な方法を示す。電子デバイスは、すでに展開前段階または製造段階中に1つまたは複数のチャレンジを受け取っており、1つまたは複数の対応するレスポンスを供給している。

0078

電子デバイスは、電子デバイス内の複数のメモリセルを使用して第1の物理的クローン化不能関数を実施する(1204)。一例では、第1の物理的クローン化不能関数は、チャレンジに対するレスポンスとして、1つまたは複数のメモリセルに関する未初期化メモリセル状態を利用する。

0079

電子デバイスは、電子デバイス内の複数の回路遅延ベースパスを使用して第2の物理的クローン化不能関数を実施してもよい(1206)。一例では、複数の回路遅延ベースパスは場合によっては不正使用防止可能である。「不正使用防止」という用語は、不正使用が試みられたときにそのレスポンスまたは出力の予想、確認、および/または読取りを行い、これによってレスポンスおよび/または出力を変更するPUFの実装形態または種類を指す。たとえば、リング発振器または回路遅延パス式発振器を物理的に不正使用することを試みると、リング発振器または回路遅延パスに関するレスポンスが変更される(たとえば、出力周波数が変化する)。

0080

チャレンジが外部サーバから受け取られることがある(1208)。このチャレンジは、第2の物理的クローン化不能関数からの第1のレスポンスを使用して、(a)第1の物理的クローン化不能関数へのチャレンジ入力をマスキング/アンマスキングすること、(b)第1の物理的クローン化不能関数へのチャレンジ入力を生成すること、または(c)第1の物理的クローン化不能関数からのレスポンス出力をマスキングすることのいずれかを行うことによって第1の物理的クローン化不能関数に適用されてもよい(1210)。一例では、第1のチャレンジは、複数のメモリセル内のメモリアドレスを識別してもよい。別の例では、チャレンジは、第2の物理的クローン化不能関数における複数のリング発振器から2つのリング発振器を選択し、2つのリング発振器間の周波数差分によって応答してもよい。チャレンジは、電子デバイスの認証プロセス、電子デバイスの識別プロセス、および/または電子デバイス内のキー生成プロセスのうちの少なくとも1つの一部として受け取られてもよい。

0081

次に、第2の物理的クローン化不能関数からの第1のレスポンスおよび/または第1の物理的クローン化不能関数からの第2のレスポンスを外部サーバに送ってもよい(1212)。外部サーバは、第1の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第1のデータベースと第2の物理的クローン化不能関数に関するチャレンジおよびレスポンスの第2のデータベースとを含んでもよく、外部サーバは、チャレンジを電子デバイスに送り、第2のレスポンスに基づいて電子デバイスを認証または識別する。

0082

レスポンスが外部サーバによって首尾よく検証されたことを示すインジケータが受け取られてもよい(1214)。たとえば、電子デバイスは、首尾よく認証されたときに、ネットワークおよび/またはデータにアクセス可能になったことを示すインジケータを受け取ることができる。

0083

一例では、チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよい。たとえば、第1のチャレンジは、(図3に示すように)第2のチャレンジへの予期されるレスポンスによってマスキングされたチャレンジであってもよい。別の例では、第1のチャレンジは、(図4に示すように)第1の物理的クローン化不能関数によって処理される前に第2の物理的クローン化不能関数からの第1のレスポンスによって修正されてもよい。

0084

さらに別の例では、(図5に示すように)受け取ったチャレンジが第2の物理的クローン化不能関数によって使用されて第1のレスポンスが生成され、次に、第1のレスポンスが第1の物理的クローン化不能関数によって第2のチャレンジとして使用されて第2のレスポンスが生成されてもよい。

0085

さらに別の実装形態では、チャレンジは、第1の物理的クローン化不能関数に関する第1のチャレンジと、第2の物理的クローン化不能関数に関する第2のチャレンジとを含んでもよく、(図6に示すように)第2のチャレンジが第2の物理的クローン化不能関数によって使用されて第1のレスポンスが生成され、第1のレスポンスを使用して第1の物理的クローン化不能関数からの第2のレスポンスがマスキングされてもよい。この方法は、(a)第2の物理的クローン化不能関数からの第1のレスポンスをハッシングして中間レスポンスを得ること、および/または(b)中間レスポンスを使用して第2のレスポンスをマスキングすることをさらに含んでもよい。

0086

一例では、事前に記憶されたデバイス識別子が電子デバイス内に事前プロビジョニングされてもよい(1202)。この例では、(a)チャレンジが受け取られる前または(b)第2のレスポンスを送るのと同時のいずれかのときに、事前に記憶されたデバイス識別子を電子デバイスから外部サーバに送ってもよい。デバイス識別子は電子デバイスを一意に識別する。

0087

図1〜図12に示す構成要素、ステップ、特徴および/または機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴または機能として再構成されならびに/あるいは組み合わされるか、あるいは、いくつかの構成要素、ステップ、または機能として具現化され得る。追加の要素、構成要素、ステップ、および/または機能は、また、本発明から逸脱することなく加えられ得る。図1〜図7、図9、および図11に示す装置、デバイス、および/または構成要素は、図8、図10、および図12に記載した方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。また、本明細書で説明されたアルゴリズムは、効率的にソフトウェアに実装されてもよく、かつ/またはハードウェアに組み込まれてもよい。

0088

その上、本開示の一態様では、図7、図9、および図11に示す処理回路704、904、および1104は、特に、それぞれ図8、図10、および図12で説明したアルゴリズム、方法、および/またはステップを実行するように特に設計されならびに/あるいは配線される専用プロセッサ(たとえば、特定用途向け集積回路(ASIC))であり得る。したがって、そのような専用プロセッサ(たとえば、ASIC)は、図8、図10、および/または図12で説明したアルゴリズム、方法、および/またはステップを実行するための手段の一例であり得る。

0089

また、本開示の態様は、フローチャート、フロー図、構造図またはブロック図として示されるプロセスとして説明され得ることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。さらに、動作の順序並び替えてもよい。プロセスは、その動作が完了したとき、終了する。プロセスは、メソッド、関数、プロシージャサブルーチンサブプログラムなどに対応することができる。プロセスが関数に対応するときには、その終了は、呼び出す側の関数またはメイン関数への関数のリターンに対応する。

0090

その上、記憶媒体は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体フラッシュメモリデバイスおよび/もしくは他の機械可読媒体、およびプロセッサ可読媒体、ならびに/または情報を記憶するためのコンピュータ可読媒体を含む、データを記憶するための1つもしくは複数のデバイスを表し得る。「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語は、ポータブルもしくは固定ストレージデバイス、光ストレージデバイス、ならびに、命令および/またはデータを記憶、格納または搬送することが可能な様々な他の媒体のような非一時的媒体を含み得るが、これらに限定されない。したがって、本明細書で説明される様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」および/または「プロセッサ可読媒体」に記憶され、1つもしくは複数のプロセッサ、機械および/またはデバイスによって実行され得る命令および/またはデータによって、完全にまたは部分的に実装され得る。

0091

さらに、本開示の態様は、ハードウェア、ソフトウェア、ファームウェアミドルウェアマイクロコード、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体または他のストレージのような機械可読媒体に記憶され得る。プロセッサは必要なタスクを実行することができる。コードセグメントは、手順、関数、サブプログラム、プログラムルーチン、サブルーチン、モジュール、ソフトウェアパッケージクラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表すことができる。コードセグメントは、情報、データ、引数パラメータ、またはメモリ内容を渡す、および/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパッシングトークンパッシング、ネットワーク送信等を含む任意の適切な手段を介して渡されてもよく、転送または送信されてもよい。

0092

本明細書に開示された例に関連して説明される様々な例示的な論理ブロック、モジュール、回路、要素、および/または構成要素は、汎用プロセッサデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理構成要素、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書に記載の機能を実行するように設計されたそれらの任意の組合せで実装または実行され得る。汎用プロセッサはマイクロプロセッサでよいが、代替として、プロセッサは任意の従来のプロセッサ、コントローラマイクロコントローラ、または状態機械でもよい。プロセッサはまた、コンピューティングコンポーネントの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコア連係した1つまたは複数のマイクロプロセッサ、あるいは他の任意のそのような構成として実装され得る。

0093

本明細書で開示される例に関連して説明される方法またはアルゴリズムを、ハードウェアで直接に、プロセッサによって実行可能なソフトウェアモジュールで、またはその両方の組合せで、処理ユニットプログラミング命令、または他のディレクティブの形で実施することができ、単一のデバイス内に含めるか、複数のデバイスにまたがって分散させることができる。ソフトウェアモジュールは、RAMメモリフラッシュメモリROMメモリEPROMメモリ、EEPROMメモリレジスタハードディスクリムーバブルディスクCD-ROM、または当技術分野既知の任意の他の形の記憶媒体に存在することができる。プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、記憶媒体を、プロセッサに結合することができる。代替案では、記憶媒体を、プロセッサと一体とすることができる。

0094

当業者は、本明細書で開示される諸態様に関連して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップを、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実施できることを、さらに了解するはずである。ハードウェアとソフトウェアとのこの相互交換可能性を明瞭に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、上では全般的にその機能性に関して説明された。そのような機能性が、ハードウェアまたはソフトウェアのどちらとして実施されるのかは、具体的な応用と、システム全体に課せられる設計制約とに依存する。

0095

本明細書に記載の本発明の様々な特徴は、本発明から逸脱することなく、異なるシステムで実施され得る。本開示の前述の態様は、単に例であり、本発明を限定するものとして解釈されるべきではないことに留意すべきである。本開示の態様の説明は、例示であることを意図しており、特許請求の範囲を限定することを意図していない。したがって、本教示は、他のタイプの装置に容易に適用されることが可能であり、多くの代替形態変更形態、および変形形態が当業者には明らかであろう。

0096

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レスポンス命令

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ