(57)【特許請求の範囲】
【請求項１】
認証デバイスによって使用可能な方法であって、
電子デバイスに関連するデバイス識別子を受け取るステップと、
前記電子デバイスにおいて物理的クローン化不能関数(PUF)から生成される特性情報を含む第1の物理的クローン化不能関数データセットを、前記デバイス識別子に基づいて得られるデータセット要求に対する応答として前記電子デバイスから受け取るステップであって、前記データセット要求が、前記電子デバイスの複数のリング発振器の特定のサブセットに対する周波数値を要求し、前記特性情報が、前記特定のサブセットに対する前記周波数値を含む、ステップと、
前記デバイス識別子を使用して、前記電子デバイスに対応する事前に記憶されたPUFデータセットを識別するステップと、
前記事前に記憶されたPUFデータセットと前記電子デバイスに対する前記第1のPUFデータセットとを相関させることによって前記電子デバイスを認証するステップとを含み、そのような相関が、前記相関において系統的ばらつきとランダムなばらつきとを区別する、前記事前に記憶されたPUFデータセットの要素と前記第1のPUFデータセットの要素との間のパターンまたは分布相関に基づく、方法。
【請求項２】
前記第1のPUFデータセットを受け取る前に前記電子デバイスにデータセット要求を送るステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記データセット要求が、新しい特性情報が探索される、前記事前に記憶されたデータセットに対応する要素を識別する、請求項2に記載の方法。
【請求項４】
前記デバイス識別子に基づいて前記データセット要求を得るステップをさらに含む、請求項2に記載の方法。
【請求項５】
前記事前に記憶されたPUFデータセットが、前記電子デバイスの製造段階または展開前段階において得られる、請求項1に記載の方法。
【請求項６】
前記物理的クローン化不能関数から生成された前記特性情報が、前記物理的クローン化不能関数の個別の要素に対する情報を含む、請求項1に記載の方法。
【請求項７】
前記物理的クローン化不能関数から生成された前記特性情報が、前記物理的クローン化不能関数の個別のリング発振器に対する周波数値を含む、請求項1に記載の方法。
【請求項８】
前記事前に記憶されたPUFデータセットと前記電子デバイスに対する前記第1のPUFデータセットとを相関させるステップが、前記事前に記憶されたPUFデータセットおよび前記第1のPUFデータセットにわたるピアソンの積率相関係数を得るステップを含む、請求項1に記載の方法。
【請求項９】
前記相関係数がしきい値より大きい場合、前記電子デバイスの認証が成功する、請求項8に記載の方法。
【請求項１０】
認証が成功する場合、
前記電子デバイスによって後で送られた他のデータセットとの相関のために、前記事前に記憶されたPUFデータセットと併せて前記第1のPUFデータセットを記憶するステップをさらに含む、請求項1に記載の方法。
【請求項１１】
前記電子デバイスによって送られた全ての認証に成功したデータセットのサブセットだけが、前記電子デバイスによって後で送られた前記他のデータセットとの相関のために前記認証デバイスによって記憶される、請求項10に記載の方法。
【請求項１２】
電子デバイスと通信するための通信インターフェースと、
前記通信インターフェースに結合された処理回路とを備え、前記処理回路が、
前記電子デバイスに関連するデバイス識別子を受け取ることと、
前記電子デバイスにおいて物理的クローン化不能関数(PUF)から生成される特性情報を含む第1の物理的クローン化不能関数データセットを、前記デバイス識別子に基づいて得られるデータセット要求に対する応答として前記電子デバイスから受け取ることであって、前記データセット要求が、前記電子デバイスの複数のリング発振器の特定のサブセットに対する周波数値を要求し、前記特性情報が、前記特定のサブセットに対する前記周波数値を含む、ことと、
前記デバイス識別子を使用して、前記電子デバイスに対応する事前に記憶されたPUFデータセットを識別することと、
前記事前に記憶されたPUFデータセットと前記電子デバイスに対する前記第1のPUFデータセットとを相関させることによって前記電子デバイスを認証することとを行うように構成され、そのような相関が、前記相関において系統的ばらつきとランダムなばらつきとを区別する、前記事前に記憶されたPUFデータセットの要素と前記第1のPUFデータセットの要素との間のパターンまたは分布相関に基づく、認証デバイス。
【請求項１３】
前記処理回路が、さらに、
前記第1のPUFデータセットを受け取る前に前記電子デバイスにデータセット要求を送るように構成される、請求項12に記載の認証デバイス。
【請求項１４】
前記データセット要求が、新しい特性情報が探索される、前記事前に記憶されたデータセットに対応する要素を識別する、請求項13に記載の認証デバイス。
【請求項１５】
前記処理回路が、さらに、
前記デバイス識別子に基づいて前記データセット要求を得るように構成される、請求項13に記載の認証デバイス。
【請求項１６】
前記事前に記憶されたPUFデータセットが、前記電子デバイスの製造段階または展開前段階において得られる、請求項12に記載の認証デバイス。
【請求項１７】
前記物理的クローン化不能関数から生成された前記特性情報が、前記物理的クローン化不能関数の個別の要素に対する情報を含む、請求項12に記載の認証デバイス。
【請求項１８】
前記物理的クローン化不能関数から生成された前記特性情報が、前記物理的クローン化不能関数の個別のリング発振器に対する周波数値を含む、請求項12に記載の認証デバイス。
【請求項１９】
前記事前に記憶されたPUFデータセットと前記電子デバイスに対する前記第1のPUFデータセットとを相関させるステップが、前記事前に記憶されたPUFデータセットおよび前記第1のPUFデータセットにわたるピアソンの積率相関係数を得るステップを含む、請求項12に記載の認証デバイス。
【請求項２０】
認証が成功する場合、前記処理回路が、さらに、
前記電子デバイスによって後で送られた他のデータセットとの相関のために、前記事前に記憶されたPUFデータセットと併せて前記第1のPUFデータセットを記憶するように構成される、請求項12に記載の認証デバイス。
【請求項２１】
前記電子デバイスによって送られた全ての認証に成功したデータセットのサブセットだけが、前記電子デバイスによって後で送られた前記他のデータセットとの相関のために前記認証デバイスによって記憶される、請求項20に記載の認証デバイス。
【請求項２２】
1つまたは複数の命令が記憶された非一時的機械可読記憶媒体であって、前記命令が、少なくとも1つのプロセッサによって実行されたときに、前記少なくとも1つのプロセッサに、
電子デバイスに関連するデバイス識別子を受け取ることと、
前記電子デバイスにおいて物理的クローン化不能関数(PUF)から生成される特性情報を含む第1の物理的クローン化不能関数データセットを、前記デバイス識別子に基づいて得られるデータセット要求に対する応答として前記電子デバイスから受け取ることであって、前記データセット要求が、前記電子デバイスの複数のリング発振器の特定のサブセットに対する周波数値を要求し、前記特性情報が、前記特定のサブセットに対する前記周波数値を含む、ことと、
前記デバイス識別子を使用して、前記電子デバイスに対応する事前に記憶されたPUFデータセットを識別することと、
前記事前に記憶されたPUFデータセットと前記電子デバイスに対する前記第1のPUFデータセットとを相関させることによって前記電子デバイスを認証することとを行わせ、そのような相関が、前記相関において系統的ばらつきとランダムなばらつきとを区別する、前記事前に記憶されたPUFデータセットの要素と前記第1のPUFデータセットの要素との間のパターンまたは分布相関に基づく、非一時的機械可読記憶媒体。
【請求項２３】
認証が成功する場合、前記1つまたは複数の命令が、前記少なくとも1つのプロセッサに、
前記電子デバイスによって後で送られた他のデータセットとの相関のために、前記事前に記憶されたPUFデータセットと併せて前記第1のPUFデータセットを記憶させる、請求項22に記載の非一時的機械可読記憶媒体。
【請求項２４】
前記電子デバイスによって送られた全ての首尾よく認証されたデータセットのサブセットだけが、前記電子デバイスによって後で送られた前記他のデータセットとの相関のために認証デバイスによって記憶される、請求項23に記載の非一時的機械可読記憶媒体。
【請求項２５】
前記電子デバイスを認証するステップは、前記事前に記憶されたPUFデータセットおよび前記電子デバイスに対する前記第1のPUFデータセットの系統的ばらつきを相関させるステップをさらに含む、請求項１に記載の方法。
【請求項２６】
要素間の前記パターンまたは分布相関は、前記事前に記憶されたPUFデータセットおよび前記第1のPUFデータセットの要素のアレイ間の依存関係の測度を含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、内容の全体が参照によって本明細書に組み込まれる、2013年10月3日に米国特許商標庁に出願された、米国非仮特許出願第14/045,740号の優先権および利益を主張する。
【０００２】
本開示は、物理的クローン化不能関数からの特性を使用する、デバイスの中のデバイス識別に関する。
【背景技術】
【０００３】
物理的クローン化不能関数(PUF)は、物理的な構成要素の固有のばらつきに基づいてハードウェアデバイスを一意に識別する機構を実現する。複数のチップを製造する際、複雑な半導体プロセスによって、設計者の制御を超えたわずかなばらつきが導入される。たとえば、2つのチップが同じシリコンウェハから製造された場合でも、同一に設計されたワイヤはおそらく、幅が数ナノメートル異なり、シリコンの表面における微視的な差によって、線の湾曲にごくわずかのばらつきが誘発される。これらの一意の特性は制御不能でかつ物理的デバイスに特有の特性であるので、これらの特性を定量化すると固有の識別子を生成することができる。
【０００４】
しかしながら、多くのデバイスは、限られた電源を用いて、かつ/または低電力レベル(たとえば、低電圧)において動作する。加えて、そのようなデバイスはまた、変動する環境条件または動作条件(たとえば、温度のばらつきなど)の下で動作する場合がある。PUFは異なる電力(たとえば、電圧)およびまたは環境(たとえば、温度)の条件の下で動作する場合があるので、このことは、PUFの特徴的なレスポンス(characteristic response)に影響を及ぼし得る。すなわち、そのような電圧および/または温度のばらつきは、PUFレスポンスを変化させ、PUFを識別目的で使用することを困難にすることがある。
【０００５】
半導体デバイスに対する時効効果もまた、PUFの周波数レスポンスに影響を及ぼし得る。たとえば、PUFが1つまたは複数のリング発振器を含む場合、1つまたは複数のリング発振器の周波数レスポンスは、経時的に変化する可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、電力/電圧および/または温度のばらつきに起因することがあるばらつきを踏まえながらも、識別のためにPUFを使用することを可能にする方法の必要性がある。
【課題を解決するための手段】
【０００７】
デバイス識別のために物理的クローン化不能関数パターンマッチングを使用するために、認証デバイスが提供される。電子デバイスに関連するデバイス識別子は、認証デバイスによって受け取られてよい。事前に記憶されたPUFデータセットは、電子デバイスの製造段階または展開前段階において得られてよい。加えて、電子デバイスにおいて物理的クローン化不能関数(PUF)から生成される特性情報を含む第1の物理的クローン化不能関数データセットは、同じく、電子デバイスから受け取られてよい。電子デバイスに対応する事前に記憶されたPUFデータセットは、電子デバイス識別子を使用して識別されてよい。電子デバイスは、認証デバイスによって、事前に記憶されたPUFデータセットと電子デバイスに対する第1のPUFデータセットとを相関させることによって認証されてよく、そのような相関は、事前に記憶されたPUFデータセットと第1のPUFデータセットとの間のパターンまたは分布の相関に基づく。
【０００８】
例示的な一実装形態では、認証デバイスは、第1のPUFデータセットを受け取る前に電子デバイスにデータセット要求を送ってよい。データセット要求は、新しい特性情報が探索される、事前に記憶されたデータセットに対応する要素を識別し得る。一例では、データセット要求は、デバイス識別子に基づいて認証デバイスによって得られ得るかまたは生成され得る。
【０００９】
一例では、物理的クローン化不能関数から生成された特性情報は、物理的クローン化不能関数の個別の要素に対する情報を含んでよい。別の例では、物理的クローン化不能関数から生成された特性情報は、物理的クローン化不能関数の個別のリング発振器に対する周波数値を含んでよい。
【００１０】
事前に記憶されたPUFデータセットと電子デバイスに対する第1のPUFデータセットとを相関させるステップは、事前に記憶されたPUFデータセットおよび第1のPUFデータセットにわたるピアソンの積率相関係数を得るステップを含んでよい。相関係数がしきい値より大きい場合、電子デバイスは、首尾よく認証される。いくつかの実装形態では、電子デバイスによって送られた首尾よく認証されたデータセットのサブセットだけが、認証デバイスによって記憶される。
【００１１】
同様に、物理的クローン化不能関数パターンマッチングを使用してデバイス識別を促進するために、電子デバイスが提供される。電子デバイスは事前に記憶されたデバイス識別子を含んでよく、電子デバイス内の複数のリング発振器を使用して物理的クローン化不能関数を実装してよい。
電子デバイスは、物理的クローン化不能関数の複数の要素から特徴的なレスポンスを含むデータセットを得ることができる。次いで、得られた特徴的なレスポンスを含むデータセットは、外部サーバに送られ得る。一例では、電子デバイスは、外部サーバから物理的クローン化不能関数を特徴付けるデータセット要求を受け取ることができる。加えて、電子デバイスは、データセットが外部サーバによって首尾よく認証されたことのインジケータを受け取ることができる。
【図面の簡単な説明】
【００１２】
【図１】展開前段階の間に回路遅延ベースPUF、たとえばリング発振器(RO)PUFを使用して電子デバイスを特徴付ける例示的な方法を示すブロック図である。
【図２】回路遅延ベースPUF、たとえばリング発振器(RO)PUFを使用して電子デバイスに対して事前に得られた特徴的な周波数分布を使用して特定の電子デバイスを認証、検証および/または識別する例示的な方法を示すブロック図である。
【図３】一例による、複数のリング発振器に基づく例示的な物理的クローン化不能関数(PUF)がどのように実装され得るかを示すブロック図である。
【図４】第1のPUFデータセットおよび第2のPUFデータセットがどのように比較され得るかの一例を示す図である。
【図５】例示的なPUFに対するリング発振器周波数のデータセットを示す図である。
【図６】3つの異なるデバイスのPUFに対するデータセットの比較を示す図である。
【図７】異なる温度における第1のデバイスのPUFに対するデータセットの比較を示す図である。
【図８】異なる電圧における第1のデバイスのPUFに対するデータセットの比較を示す図である。
【図９】デバイスに対するPUFデータセットを与えるために、リング発振器(RO)のサブセットまたはサブ領域がどのように使用され得るかを示す図である。
【図１０】熱および/または電圧のばらつきにもかかわらずデバイスを一意に識別するためにPUFを生成および使用するためのシステムを示す図である。
【図１１】一例によるデータコレクタデバイスを示すブロック図である。
【図１２】電子デバイスから特性情報を得るためのデータコレクタデバイスにおいて使用可能な方法を示す図である。
【図１３】各電子デバイス内の物理的クローン化不能関数からのPUFデータセットレスポンスに基づいて電子デバイスを認証するように構成された例示的な認証デバイスを示すブロック図である。
【図１４】物理的クローン化不能関数に対するPUFデータセットを相関させることによって電子デバイスを認証するための認証デバイスにおいて使用可能な方法を示す図である。
【図１５】物理的クローン化不能関数を有する例示的な電子デバイスを示すブロック図である。
【図１６】物理的クローン化不能関数からのデータセットに基づいて認証デバイスによって電子デバイス自体を認証するために電子デバイスにおいて使用可能な方法を示す図である。
【発明を実施するための形態】
【００１３】
以下の説明では、本開示の様々な態様の完全な理解をもたらすために具体的な詳細が与えられる。しかしながら、態様は、これらの特定の詳細なしで実施され得ることは、当業者によって理解されるであろう。たとえば、回路は、不必要な詳細で態様を不明瞭にすることを避けるために、ブロック図で示されている場合がある。他の例では、周知の回路、構造、および技法は、本開示の態様を不明瞭にしないために、詳細には示されていない場合がある。
【００１４】
「例示的」という言葉は、「一例、事例、または例示として役立つ」ことを意味するように本明細書で使用される。「例示的な」として本明細書において説明されるいかなる実施態様または態様も、必ずしも本開示の他の態様よりも好ましいまたは有利なものと解釈されるべきではない。同様に、「態様」という用語は、本開示のすべての態様が、論じられる特徴、利点、または動作モードを含むことを必要としない。
【００１５】
概要
デバイスに対するPUF周波数分布が、電圧のばらつきおよび/または熱のばらつきにもかかわらず高度に相関することを認識する確率論的手法に基づいて一意のデバイス識別子を生成するための方法が、提供される。
【００１６】
各デバイス(たとえば、集積回路、半導体、チップ、プロセッサなど)は、デバイスを一意に識別する働きをし得る複数のPUF(たとえば、リング発振器)を用いてプロビジョニングされる。そのようなPUF(たとえば、リング発振器に対する周波数のデータセット)によって与えられる一意の識別子が、製造プロセスの間にデータベースに記憶される。その後、デバイスが動作中に見分けられるとき、そのPUFが生成した識別子をデバイスが与えることを要求することによって、デバイスは一意に識別され得る。動作電圧および/または動作温度における(たとえば、一意の識別子が記録された時点に対する)ばらつきにもかかわらず、デバイスに対する識別子は、しきい値を超えて相関し、したがって照合される。
【００１７】
一特徴は、時刻t1において(たとえば、展開前段階において)デバイスのリング発振器周波数の第1のデータセットを得るステップを提供する。後続の時刻において(たとえば、認証または識別の段階の間に)、デバイスのリング発振器周波数の第2のデータセットが、時刻t2において得られる。次いで、第1および第2のデータセットは、一致が存在するかどうかを確認するために、データセットによって形成された全体的パターンの相関として比較される。
【００１８】
例示的な動作環境
物理的クローン化不能関数(PUF)は、回路内の製造プロセスのばらつきを利用して一意の識別子を得るチャレンジ-レスポンス機構である。一例では、チャレンジとそれに対応するレスポンスとの間の関係は、回路(たとえば、集積回路)内の論理構成要素および配線の複雑な統計量的ばらつきによって決定される。2種類のPUFには、たとえば、SRAM PUFおよび回路遅延PUF(たとえば、リング発振器PUF)が含まれる。
【００１９】
回路遅延ベースPUFは、製作および/または製造上の不完全性によって生じる発振回路間の系統的ばらつきを利用する。製作および/または製造プロセスは回路遅延ベースPUFにおけるそのようなばらつきを回避しようとするが、そのようなばらつきは常にある程度存在し、デバイス/チップを識別するうえで実際に有用である。回路遅延ベースPUFの一例では、複数のリング発振器が併用されてもよく、少なくとも2つのリング発振器の出力が1つまたは複数のスイッチ(マルチプレクサ)に送られる。チャレンジは、リング発振器への入力として働くことができ(たとえば、チャレンジは2つのリング発振器を選択する働きをし)、2つの選択されたリング発振器からの出力は、第1の周波数および第2の周波数として表される。選択されるリング発振器間の違いに起因して、リング発振器の周波数が異なる(すなわち、周波数差分が生じる)。RO PUF出力(レスポンス)は、リング発振器周波数を対ごとに比較することによって作成される(たとえば、第1と第2の周波数の差)。複数のレスポンス(たとえば、RO PUFからの出力の組合せ)が、デバイス識別子を生成するために使用され得る。
【００２０】
PUFマッチングに対するそのようなチャレンジ/レスポンス手法は、一致が存在するかどうかを確認するために、レスポンスの個別の比較(すなわち、ポイントごとの比較)に依存する。しかしながら、環境および/または動作の状態は、回路遅延ベースPUFからの個別のレスポンスにおけるばらつきを招くことがある。このことで、同じ回路遅延ベースPUFに対する時刻t1におけるレスポンスとその後の時刻t2におけるレスポンスとの間の一致を発見することが困難になる。
【００２１】
代わりに、一特徴として、第1の時刻におけるリング発振器周波数の第1のデータセットと第2の時刻におけるリング発振器周波数の第2のデータセットとを比較するステップを提供する。この比較は、ポイントごとではなく、パターン(たとえば、周波数分布の形状)の比較として行われる。したがって、個別のポイントごとの比較ではなく、(RO周波数の)第1および第2のデータセットの形状またはパターン(たとえば、分布)が比較される。
【００２２】
図1は、展開前段階の間に回路遅延ベースPUF、たとえばリング発振器(RO)PUFを使用して電子デバイスを特徴付ける例示的な方法を示すブロック図である。このブロック図は、回路遅延PUF 122(たとえば、リング発振器バンクとして実装される)を備える電子デバイス102(たとえば、集積回路、チップ、半導体デバイス、プロセッサなど)に対する周波数特性を問い合わせて収集するプロセスを示す。
【００２３】
一例では、回路遅延PUF 120は、複数のリング発振器123およびそれらの周波数のばらつきを使用して周波数の一意のデータセットを生成するリング発振器(RO)PUF 122として実装されてもよい。たとえば、所与のデータセット要求124に対して、対応するデータセット(たとえば、すべてのリング発振器またはリング発振器のいくつかのサブセットに対する周波数出力)が得られる。このようにして、リング発振器の1セットに対する周波数分布のデータセット126(たとえば、画像)が得られ、PUFデータベース128に記憶され得る。すなわち、PUFデータベース128は、たとえば、展開前段階の間(たとえば、製造プロセスまたは品質管理プロセスの間)に構築され得る。たとえば、第1のデバイスAに対する第1のデータセット(たとえば、RO周波数出力)110が得られ、第2のデバイスBに対する第2のデータセット112が得られ、第3のデバイスCに対する第3のデータセット114が得られる。
【００２４】
データセットsを各電子デバイスに関連付けるには、デバイス識別子108(たとえば、シリアル番号、ID番号など)を電子デバイス102に記憶させ、データベース128に通知するかまたは記憶させればよい。すなわち、電子デバイス102ごとのデバイス識別子108は、記憶され、その電子デバイス102に対して対応するデータセットと関連付けられてもよい。
【００２５】
図2は、回路遅延ベースPUF、たとえばリング発振器(RO)PUFを使用して電子デバイスに対して事前に得られた特徴的な周波数分布を使用して特定の電子デバイスを認証、検証および/または識別する例示的な方法を示すブロック図である。動作中、デバイス検証モジュール/回路/サーバ202は、回路遅延PUFデータベース128を使用して検証され得るデータセットレスポンス206を得るために、電子デバイス102からデータセット204を要求することができる。データセットレスポンス206は、電子デバイス102の識別を検証する働きをしてもよく、または電子デバイス102を認証する働きをしてもよい。この技法が電子デバイス102に関する一意の識別子/シグネチャを生成する働きをしてもよいことに留意されたい。
【００２６】
一例では、電子デバイス102が、その事前に記憶され/事前割り当てされたデバイス識別子108をデバイス認証モジュール/回路/サーバ202に供給してもよい。次いで、デバイス認証モジュール/回路/サーバ202は、データセット要求204(たとえば、リング発振器周波数および/または分布の要求)を電子デバイス102に送ることができる。様々な例では、データセット要求204は、回路遅延PUF120内のあらゆるリング発振器に対する出力周波数値に対する要求であってよく、または回路遅延PUF120内のリング発振器の特定のサブセットに対する要求であってもよい。
【００２７】
データセット要求204に応答して、デバイス102は、そのリング発振器のデータセットレスポンス206(たとえば、各リング発振器に対する周波数値)を与え得る。デバイス認証モジュール/回路/サーバ202は、データセットレスポンス206を受け取ると、受け取られたデータセット206と対応する以前に記憶されたデータセット110とを比較して一致するかどうかを確認する。
【００２８】
図3は、一例による、複数のリング発振器304に基づく例示的なPUF302がどのように実装され得るかを示すブロック図である。逆マルチプレクサ306は、リング発振器304a、304b、304cのうちのすべてのまたは1つのサブセットに対するデータセット要求318を受け取ることができる。これは、マルチプレクサ308を介する出力として周波数f1 310、f2 312、fn 314をもたらすことを、要求されたリング発振器304a、304b、304cの各々に行わせる。次いで、これらの周波数f1 310、f2 312、fn 314は、データセットレスポンス316として送られてよい。PUFの動作周波数および/または電圧は設定可能であり、時間ごとに変化し得ることに留意されたい。
【００２９】
図4は、第1のPUFデータセットおよび第2のPUFデータセット(たとえば、周波数特性レスポンス)がどのように比較され得るかの一例を示す。一例では、各データセットは、PUFのリング発振器に対する周波数値(たとえば、各リング発振器に対して1つの周波数)を含み得る。本明細書で説明するいくつかの例は、PUF周波数レスポンス(たとえば、リング発振器周波数)をデータセットとして使用し得るが、これらのデータセットは、周波数だけではなく、他の種類のPUF特性(たとえば、電流経路遅延、異なる1つまたは複数の経路/回路/構成要素などに対する電気的特性など)を含むものと、より広く解釈されるべきであることに留意されたい。
【００３０】
第1の手法によれば、ポイントごとのマッチング技法402は、第1の時刻t1において得られた第1の周波数レスポンスと時刻t2において得られた第2の周波数レスポンスとを比較するステップを伴う。しかしながら、前記のように、(図1における)展開前段階に得られたPUF周波数レスポンスと(図2における)展開後段階におけるPUF周波数とを比較しようとするとき、展開前の測定値(時刻t1におけるデータセットA 406)と展開後の測定値(時刻t2におけるデータセットB 408)との間の、動作電圧および/または温度におけるばらつきによる問題が存在する。これらの動作電圧および/または温度のばらつきは、異なる時刻に得られた特徴的なPUFレスポンスを照合することを困難にすることがある。すなわち、同じチャレンジ(たとえば、リング発振器の選択)に対しても、PUFは異なる周波数レスポンスを有することがあり、そのことで、PUFを識別および/または認証のために使用することが妨げられることになる。同じチャレンジに対するデータセットA 406およびデータセットB 408から諒解され得るように、時刻t1と時刻t2との間の個別のリング発振器周波数は、多くの対応するポイントに対してポイントごとの一致が見られないほど大きく変化する可能性がある。したがって、406と408の両データセットがデバイスAに対するものであるとしても、デバイスAに対して一致は見られないことがある。
【００３１】
パターンマッチング手法404は、第1の時刻におけるPUFレスポンスと第2の時刻におけるPUFレスポンスとの間の一致を確認するためにポイントごとの比較(レスポンスごとの比較)を使用するのではなく、第1の時刻t1において得られたポイントの第1のセット410(データセットA)(たとえば、第1の時刻において得られた複数のリング発振器周波数)と、第2の時刻t2において得られたポイントの第2のセット412(データセットB)(たとえば、第2の時刻において得られた複数のリング発振器周波数)との間を相関させる。特に、ポイントのセット内の、系統的ばらつきは「信号」として取り扱われ、ランダムなばらつきは「雑音」として取り扱われる。データセットA 410およびデータセットB 412の形状またはパターンから諒解され得るように、多くの個別のポイントに対する周波数が変化していた(たとえば、ポイントごとの一致がない)としても、データセットAおよびBが全体として取られるとき、ポイント(たとえば、周波数)の全体的パターンにおいて相関が存在する。系統的ばらつきが考察されるとき、同じデバイスからの任意の2つのデータセットは高相関(たとえば、0.8より大)を有し、2つの異なるデバイスからの任意の2つのデータセットははるかに低い相関を有し、動作電圧および/または温度のばらつきの結果生じることがあるランダムなばらつきにもかかわらず、同じデバイスに対する2つのデータセットに対して「一致」が確認され得る。
【００３２】
PUFにおけるランダムなばらつきおよび系統的ばらつき
リング発振器(RO)ベースPUFにおいて、ランダムなおよび系統的な、2つの空間的シリコン変動が存在する。系統的ばらつきは、製作/製造上の不完全性によって生じる。製作/製造プロセスはRO-PUFにおけるそのようなばらつきを回避しようとするが、そのようなばらつきは常にある程度存在し、デバイス(たとえば、チップ、半導体、回路、プロセッサなど)を識別するうえで実際に有用である。系統的ばらつきによって生じる周波数分布は、PUFを組み込む各デバイスに対して一意であり、図1〜図4に示すように定量化され得る。そのような周波数分布は、熱(温度)のばらつきおよび電圧変動の下でロバストである。
【００３３】
一態様によれば、統計的信号処理が、デバイスを識別するために適用され得る。ここで、系統的ばらつきは「信号」として取り扱われ、ランダムなばらつきは「雑音」として取り扱われる。「信号」はデバイスごとに一意であり、「雑音」の中に隠される。同じデバイスからの任意の2つのデータセット(たとえば、リング発振器周波数レスポンス)は高相関(たとえば、0.8より大)を有し、2つの異なるデバイスからの任意の2つのデータセットははるかに低い相関を有する。
【００３４】
デバイスが電子デバイス(たとえば、モバイルフォンなど)内に一体化されるために出荷される前に、そのPUFレスポンス(たとえば、リング発振器に対する周波数)が測定され、デバイスのシリアル番号とともに(PUFデータセットとして)記憶され得る。電子デバイスが遠隔サーバ、ネットワークまたはデータへのアクセスを要求するとき、電子デバイスは、第2のPUFデータセット(たとえば、現在のPUF周波数の測定値)を提供することを求められる場合がある。サーバ側において、第2のデータセットおよび(データベースに記憶された)第1のデータセットは、すべてのデータセット測定値にわたる相関値を計算するために使用され得る。この相関値が相関しきい値に適合する場合、電子デバイスは、首尾よく認証または識別され得る(たとえば、いくつかのサービス、データなどへのアクセスを許可され得る)。この手法では、デバイスのシリアル番号を除いて、事前の周波数情報が電子デバイス内に記憶される必要はない。
【００３５】
図5は、例示的なPUFに対するリング発振器周波数のデータセットを示す。たとえば、各PUFは、32行×16列のフィールドプログラマブルゲートアレイ(FPGA)として実装されてよく、それによって、512の出力(たとえば、リング発振器周波数レスポンス)が供給される。データセット502は、PUFの異なる要素(たとえば、リング発振器)に対応する複数の周波数値/レスポンスを含み得る。データセット502は、複数のポイント(たとえば、リング発振器)に対する特徴的な周波数分布502を示す。諒解されるように、リング発振器の周波数またはレスポンスは、変動することがある(たとえば、リング発振器の出力周波数におけるばらつき)。3つの異なるPUFデバイスの異なるデータセット504、506および508(たとえば、PUF出力周波数レスポンス)が示され、各PUF出力の一意性を示している。
【００３６】
図6は、3つの異なるデバイスのPUFに対するデータセット(たとえば、リング発振器周波数)の比較を示す。諒解され得るように、デバイスAとデバイスBとの間の第1のPUF出力相関602は0.4322にすぎなく、デバイスAとデバイスCとの間の第2のPUF出力相関604は0.4551にすぎない。
【００３７】
PUF相関がどのように得られ得るかの一例は、ピアソンの積率相関係数ρである。この例では、2つの変数XとY(たとえば、異なる時刻において得られたPUF周波数)との間の相関ρ(すなわち、依存関係)の測度(measure)は、下式によって定義され得る。
【００３８】
【数１】
0006261727.tif 000002
【００３９】
ここで、2つの変数XとYとの間のピアソンの相関係数ρは、2つの変数X、Yの共分散(cov)をそれらの標準偏差σXとσYとの積で割ったものとして定義される。この共分散cov(X、Y)は、ランダム変数X-期待値μXとY-期待値μYとの積の期待値演算子Eとして表され得る。相関係数ρは、-1〜1の範囲で変動し、
1:XとYとの間の関係は、完全に、すべてのデータポイントが、Xが増加するにつれてYが増加する線上にあり、
-1:すべてのデータポイントが、Xが増加するにつれてYが減少する線上にあることを意味し、
0:変数の間に相関はないことを意味する。
【００４０】
一実装形態では、Xは第1の時刻t1におけるポイントの第1のアレイを表し、Yは第2の時刻t2におけるポイントの第2のアレイを表してよい。たとえば、Xは、第1の時刻t1における複数のリング発振器に対する周波数値など、ポイントの第1のアレイ(たとえば、第1のデータセット)を表してよい。同様に、Yは、第2の時刻t2における同じ複数のリング発振器に対する周波数値など、ポイントの第2のアレイ(たとえば、第2のデータセット)を表してよい。したがって、ピアソンの相関係数ρは、ポイントごとの基準ではなく、2つのアレイにわたって(すなわち、ポイントの2つのパターンにわたって)得られる。そのようなパターンベースの相関を使用することによって、第1の時刻t1から第2の時刻t2までの各ポイントに対して生じ得る系統的変動の影響が最小化されることに留意されたい。代わりに、ポイントのパターンにわたって相関させる(すなわち、ポイントのアレイを相関させる)ことによって、ポイントのセット間の系統的ばらつき(たとえば、全部または大部分のポイントに適用されるばらつき)が、相関の目的に対して最小化される。すなわち、ポイントごとの相関は、系統的ばらつきとランダムなばらつきとの間の相違を認識できないが、ポイントのアレイ(たとえば、パターンまたはデータセット)のすべてにわたって相関を実施することによって、(たとえば、温度変化、電圧変化などに起因する)系統的ばらつきを認識することおよび/または補償することができる。
【００４１】
図7は、異なる温度における第1のデバイスのPUFに対するデータセット(たとえば、リング発振器周波数)の比較を示す。諒解され得るように、摂氏25度および摂氏45度におけるデバイスAに対する第1のPUF出力相関702は0.9982である。同様に、摂氏25度および摂氏65度におけるデバイスAに対する第2のPUF出力相関704は0.9975である。したがって、熱のばらつきにもかかわらず、同じデバイスに対するPUFデータセットは高度に相関する。
【００４２】
図8は、異なる電圧における第1のデバイスのPUFに対するデータセット(たとえば、リング発振器周波数)の比較を示す。諒解され得るように、0.9ボルトおよび1.2ボルトにおけるデバイスAに対する第1のPUF出力相関802は0.9534である。同様に、0.9ボルトおよび1.4ボルトにおけるデバイスAに対する第2のPUF出力相関804は0.8769である。したがって、電圧のばらつきにもかかわらず、同じデバイスAに対するデータセット(たとえば、PUF周波数レスポンスなど)は、高度に相関する。
【００４３】
図9は、デバイスに対するPUFデータセット(たとえば、リング発振器周波数)を与えるためにリング発振器(RO)のサブセットまたはサブ領域がどのように使用され得るかを示す。加えて、PUFに対する利用可能なポイント(すなわち、リング発振器)のサブセット906、910、914が、それぞれ、デバイスに対する異なるデータセット908、912および916を生成するために使用され得る。そのようなデータセットは、任意の時間期間の間のPUFレスポンスのスナップショットであり得ることに留意されたい。
【００４４】
図10は、熱および/または電圧のばらつきにもかかわらずデバイスを一意に識別するためにPUFを生成および使用するためのシステムを示す。デバイス1002を製造するときに、(たとえば、カウンタ1010、タイムスタンプなどから得られる)シリアル番号1004が、デバイス1002と関連付けられる。次いで、データセット要求生成器1012は、デバイス1002のPUF(たとえば、リング発振器アレイ)から特定のデータセット1016を要求するためにデバイスのシリアル番号を使用し、PUFに対する周波数のデータセット1006を得ることができる。次いで、PUF周波数を有するデータセットレスポンス1006が、PUFデータベース1014に送られる。代替として、データセット要求1016は、デバイスのシリアル番号と無関係に生成され(たとえば、ランダムに生成され)てよいが、デバイスのシリアル番号と関連付けられ、かつ/またはPUFデータベース1014内に記憶され得る。デバイス1002に対するシリアル番号、データセット要求、およびデータセットレスポンスは、PUFデータベース1014内に記憶され得る。このプロセスは、各デバイスに対して繰り返される。
【００４５】
デバイス1002の展開中、デバイス1002は、検証器1000からデバイス1002にデータセット要求1016を送ることと、デバイス1002がそのPUFを使用してデータセットレスポンス1018を供給することを要求することとによって識別され得る。次いで、初期のデータセット(たとえば、第1のデータセット)と後続のデータセット(第2のデータセット)との間の周波数の分布、形状および/またはパターンに基づいて、統計的/確率論的一致(すなわち、しきい値を超える相関)が存在するかどうかを決定するために、データセットレスポンス1018が、PUFデータベース1014内の以前に記憶されたデータセットと相関付けられてよい(1020)。
【００４６】
例示的なデータコレクタデバイスおよびデータコレクタデバイスにおいて使用可能な方法
図11は、一例によるデータコレクタデバイスを示すブロック図である。データコレクタデバイス1102は、電子デバイス(たとえば、チップ、半導体、プロセッサ、集積回路、メモリデバイスなど)を一意に特徴付ける情報を収集して記憶するように構成されてもよい。たとえば、製造段階、品質管理段階、および/または展開前段階の間に、データコレクタデバイス1102は、各電子デバイスに対してPUFデータセット要求を送り、PUF(たとえば、リング発振器)に対するPUFデータセットレスポンスを受け取り、受け取られた情報を後で各電子デバイスを認証/識別する際に使用するために記憶するように構成されてもよい。
【００４７】
データコレクタデバイス1102は、処理回路1104、記憶デバイス1106、通信インターフェース1108、および/または機械可読媒体1110を含み得る。通信インターフェース1108は、データコレクタデバイス1102が1つまたは複数の電子デバイスと(たとえば、有線によってまたはワイヤレスに)通信するのを可能にする送信機/受信機回路1118を含んでもよい。
【００４８】
処理回路1104は、電子デバイスごとの一意の識別子を得てそのような一意の識別子を記憶デバイス1106内のデバイス識別子データベース1116に記憶するように構成されたデバイス識別子回路/モジュール1122を含んでもよい。処理回路1104はまた、電子デバイスのPUFレスポンス/画像に対するデータセット要求を生成して送出するように構成されたPUFデータセット要求生成器回路/モジュール1120を含んでもよい。たとえば、PUFデータセット要求は、PUFのリング発振器のすべてのまたは特定のサブセットに対する周波数値を要求してもよい。処理回路1104はまた、PUFデータセットレスポンスを受け取るように構成されたPUFデータセット受信機回路/モジュール1124を含んでもよい。
【００４９】
機械可読媒体1110は、(たとえば、問合せを受けている電子デバイスからデバイス識別子を得ることを処理回路に行わせるための)デバイス識別子命令1130と、(たとえば、PUFデータセット要求を生成して問合せを受けている電子デバイスに送ることを処理回路に行わせるための)PUFデータセット要求生成器命令1128と、(たとえば、問合せを受けている電子デバイスからPUFデータセットを収集するかまたは受け取ることを処理回路に行わせるための)PUFデータセット受信機命令1132とを含んでよく、または記憶してもよい。
【００５０】
データコレクタデバイス1102は、図1〜図10に示すステップまたは関数のうちの1つまたは複数を実行するように構成されてもよい。
【００５１】
図12は、電子デバイスから特性情報を得るためのデータコレクタデバイスにおいて使用可能な方法を示す。データコレクタデバイスは、電子デバイスの展開前段階または製造段階中に電子デバイスに関連するデバイス識別子を得てもよい(たとえば、受け取るかまたは割り当ててもよい)(1202)。次いで、データコレクタデバイスは、データセット要求を生成して電子デバイスに送ってもよい(1204)。その結果、データコレクタデバイスは、電子デバイスにおいて物理的クローン化不能関数によって生成される特性情報を含むデータセットレスポンスを、電子デバイスから受け取ってもよい(1206)。たとえば、そのような特性情報は、物理的クローン化不能関数のリング発振器のすべてのまたは1つのサブセットの周波数値(たとえば、[f1、f2、f3、...、fn])を含んでもよい。デバイス識別子、データセット要求、および/または対応するデータセットレスポンスは、後で電子デバイスを認証できるように記憶される(1208)。このプロセスは、複数の電子デバイスの各々について繰り返されてもよい。複数の電子デバイスに送られるデータセット要求がすべてのデバイスについて同じであってもよく、電子デバイスごとにランダムに生成されてもよく、および/またはPUFデータセットのあり得るポイント(たとえば、リング発振器出力)のサブセットであってもよいことに留意されたい。
【００５２】
例示的な認証デバイスおよび認証デバイスにおいて使用可能な方法
図13は、各電子デバイス内の物理的クローン化不能関数からのPUFデータセットレスポンスに基づいて電子デバイスを認証するように構成された例示的な認証デバイスを示すブロック図である。認証デバイス1302は、電子デバイス(たとえば、チップ、半導体、集積回路、プロセッサ、メモリデバイスなど)に問い合わせ、(たとえば、電子デバイスから得られる)デバイス識別子に基づいて電子デバイスを識別することを試み、事前に得られたPUFデータセットと電子デバイスに対して新しく得られたPUFデータセットとの間の相関を実施することによって電子デバイスを認証するように構成されてもよい。認証デバイス1302は、処理回路1304、記憶デバイス1306、通信インターフェース1308、および/または機械可読媒体1310を含んでもよい。通信インターフェース1308は、認証デバイス1302が1つまたは複数の電子デバイスと(たとえば、有線によってまたはワイヤレスに)通信するのを可能にする送信機/受信機回路1318を含んでもよい。
【００５３】
処理回路1304は、電子デバイスから一意のデバイス識別子を得るように構成されたデバイス識別子回路/モジュール1322を含んでもよい。認証回路/モジュール1336は、得られたデバイス識別子を使用して、そのデバイス識別子に関連する対応するPUFデータセット要求に対する(記憶デバイス1306内の)デバイス識別子データベース1316をチェックしてもよい。次いで、認証回路/モジュール1336は、PUFデータセット要求回路/モジュール1324と協働して、電子デバイスにPUFデータセット要求を送り、PUFデータセットレスポンスを得ることができる。PUFデータセットレスポンス、およびPUFデータセットデータベース1312の中に記憶されている事前に得られたPUFデータセットレスポンスは、一致が存在するかどうかを確認するために、PUFデータセット相関回路/モジュール1326によって使用され得る。しきい値を超える相関が、新しく得られたPUFデータセットと事前に得られたPUFデータセットとの間に見られる場合、認証回路/モジュール1336は、電子デバイスが首尾よく認証されるものと推断してよい。
【００５４】
機械可読媒体1310は、(たとえば、検証中の電子デバイスからデバイス識別子を得ることを処理回路に行わせるための)デバイス識別子命令1330、(たとえば、PUFデータセット要求を得て検証中の電子デバイスに送ることを処理回路に行わせるための)PUFデータセット要求命令1332、(たとえば、事前に得られたPUFデータセットと検証中の電子デバイスに対して新しく得られたPUFデータセットとを相関させることを処理回路に行わせるための)PUFデータセット相関命令1334、および/またはPUF認証が首尾よく行われたかどうかを確認するための認証命令1338を含んでよく、または記憶してもよい。
【００５５】
認証デバイス1302は、図1〜図10に示すステップまたは関数のうちの1つまたは複数を実行するように構成されてもよい。
【００５６】
図14は、物理的クローン化不能関数に対するPUFデータセットを相関させることによって電子デバイスを認証するための認証デバイスにおいて使用可能な方法を示す。認証デバイスは、展開後段階中に電子デバイスに関連するデバイス識別子を得てもよい(たとえば、要求するかまたは受け取ってもよい)(1402)。認証デバイスは、PUFデータセット要求を得て電子デバイスに送ってもよい(1404)。たとえば、PUFデータセット要求は、電子デバイスによって使用されるPUFに対するリング発振器(たとえば、すべてのリング発振器またはそれらのサブセット)の事前定義されたセットであってよい。代替として、PUFデータセット要求は、電子デバイスによって使用されるPUFの要素(たとえば、リング発振器)の特定のサブセットであってよい。たとえば、データセット要求は、新しい特性情報が探索される、事前に記憶されたデータセットに対応する要素を識別してもよい。PUFデータセット要求は、デバイス識別子を使用してデータベースから得られてもよい。
【００５７】
代替手法では、認証デバイスは、PUFデータセット要求をまったく送らない。代わりに、認証デバイスは、識別、検証、および/または認証のプロセスの一部として、電子デバイスからPUFデータセットを(場合によってはデバイス識別子とともに)単に受けるだけの場合がある。
【００５８】
認証デバイスは、電子デバイスにおいて物理的クローン化不能関数に対して生成される特性情報を含む第1のPUFデータセットを、電子デバイスから受け取ってもよい(1406)。
【００５９】
デバイス識別子は、電子デバイスに特有の事前に記憶されたPUFデータセットを識別するために使用されてもよい(1408)。次いで、認証デバイスは、事前に記憶されたPUFデータセットと電子デバイスに対する第1のPUFデータセットとを相関させることによって電子デバイスを認証してもよく、そのような相関は、事前に記憶されたPUFデータセットの要素と第1のPUFデータセットの要素との間のパターンまたは分布の相関に基づく(1410)。正常な認証は、事前に記憶されたPUFデータセットと受け取られたPUFデータセットとがしきい値を超えて相関するときに生じる。
【００６０】
様々な実装形態では、認証デバイスは、図1〜図10を参照して示し、説明したように動作してもよい。
【００６１】
例示的な電子デバイスおよび電子デバイスにおいて使用可能な方法
図15は、物理的クローン化不能関数を有する例示的な電子デバイスを示すブロック図である。電子デバイス1502は、チップ、半導体、集積回路、プロセッサ、メモリデバイスなどであってもよく、電子デバイスを認証および/または識別するためにデバイス識別子とPUFデータセットとを提供するように構成されてもよい。電子デバイス1502は、処理回路1504、(記憶デバイス内の)デバイス識別子1516、遅延ベースPUF回路1512(たとえば、複数の発振器リング回路)、通信インターフェース1508、および/または機械可読媒体1510を含んでもよい。通信インターフェース1508は、電子デバイス1502が1つまたは複数のデータコレクタデバイスおよび/または認証デバイスと(たとえば、有線によってまたはワイヤレスに)通信するのを可能にする送信機/受信機回路1518を含んでもよい。
【００６２】
処理回路1504は、一意のデバイス識別子1516をデータコレクタデバイスおよび/または認証デバイスに供給するように構成されたデバイス識別子回路/モジュール1522を含んでもよい。処理回路1504はまた、遅延ベースPUF回路1512の複数のリング発振器から周波数値を得るように構成されたPUFデータセットレスポンス生成器回路/モジュール1524を含んでもよい。次いで、PUFデータセットレスポンスは、データコレクタデバイスおよび/または認証デバイスに送られてもよい。
【００６３】
機械可読媒体1510は、(たとえば、電子デバイスに対するデバイス識別子1116を得ることを処理回路に行わせるための)デバイス識別子命令1530と、(たとえば、電子デバイスの遅延ベースPUF回路1512からPUFデータセットを得ることを処理回路に行わせるための)PUFデータセットレスポンス生成器命令1532とを含んでよく、または記憶してもよい。次いで、このPUFデータセットは、通信インターフェース1508を介して送信されてもよい。
【００６４】
電子デバイス1502は、図1〜図10に示すステップまたは関数のうちの1つまたは複数を実行するように構成されてもよい。
【００６５】
図16は、物理的クローン化不能関数からのデータセットに基づいて認証デバイスによって電子デバイス自体を認証するための電子デバイスにおいて使用可能な方法を示す。電子デバイスは、展開前段階または製造段階の間に、その物理的クローン化不能関数に対する特性情報のデータセットを供給している場合がある。
【００６６】
一例では、事前に記憶されたデバイス識別子が電子デバイス内に事前プロビジョニングされてよい(1602)。たとえば、事前に記憶されたデバイス識別子は、電子デバイスから外部サーバに、(a)データセット要求が受け取られる前か、または(b)データセットを認証デバイスに送るのと同時のいずれかで事前プロビジョニングされてもよい。デバイス識別子は電子デバイスを一意に識別する。
【００６７】
電子デバイスは、電子デバイス内の複数のリング発振器を使用して物理的クローン化不能関数を実施する(1604)。
【００６８】
物理的クローン化不能関数を特徴付けるデータセット要求が、外部サーバから受け取られてよい(1608)。一例では、データセット要求は、物理的クローン化不能関数のすべての要素(たとえば、リング発振器、回路遅延経路など)が特徴的なレスポンス(たとえば、周波数値など)を与えることを識別してもよい。別の例では、データセット要求は、特徴的なレスポンス(たとえば、周波数値など)を与えるべき、物理的クローン化不能関数の特定の要素を識別してもよい。一例では、データセット要求は、物理的クローン化不能関数の全部または一部の要素(たとえば、リング発振器)からの特徴的なレスポンス(たとえば、周波数値)が得られることを引き起こしてもよい(1610)。物理的クローン化不能関数から得られた特徴的なレスポンスを含むデータセットは、外部サーバに送られてもよい(1612)。
【００６９】
さらに別の態様によれば、電子デバイスによって認証デバイスに送られたデータセットは、後続の認証において記憶および/または使用されてもよい。たとえば、電子デバイスによって送られた第1のデータセットが、認証デバイスによって首尾よく認証される場合、第1のデータセットは、後続の使用のために記憶されてもよい。後続の認証動作において、認証デバイスは、電子デバイスから新しく送られたデータセットと相関させるために、事前に記憶されたデータセットおよび/または(事前に記憶されたデータセットに対して以前首尾よく認証された)他の引き続き得られたデータセットを使用してもよい。たとえば、電子デバイスが古くなるにつれて、PUFのレスポンスが変化することがある。これは、(低い相関値における)正常な相関、または正常でない相関につながることがある。電子デバイスによって送られた首尾よく認証されたデータセットの一部を記憶することによって、認証デバイスは、新しく送られたデータセットと、事前に記憶されたデータセットおよび/または電子デバイスに対して以前首尾よく認証された1つまたは複数の他のデータセットとを比較することができる。事前に記憶されたデータセットとの認証が失敗する場合、認証デバイスは、次いで、正常な相関が存在するかどうかを確認するために、(電子デバイスによって送られて)後から記憶されたデータセットとの相関を試みてもよい。
【００７０】
いくつかの例では、事前に記憶されたデータセットと電子デバイスから受け取られた第1のデータセットとの間の相関が、第1のしきい値(すなわち、正常な認証しきい値)を超えるが、第2のしきい値を下回る場合だけ、第1のデータセットが記憶され、電子デバイスによって送られる他のデータセットの後続の認証のために使用されてよい。
【００７１】
データセットが外部サーバによって首尾よく検証されたことを示すインジケータが、受け取られてよい(1614)。たとえば、電子デバイスは、首尾よく認証されたときに、ネットワークおよび/またはデータにアクセス可能になったことを示すインジケータを受け取ることができる。
【００７２】
図1〜図10に示す構成要素、ステップ、特徴および/または機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴もしくは機能として再構成されおよび/もしくは組み合わされるか、または、いくつかの構成要素、ステップ、もしくは機能として具現化され得る。追加の要素、構成要素、ステップ、および/または機能は、また、本発明から逸脱することなく加えられ得る。図1〜図3、図10、図11、図13および図15に示す装置、デバイス、および/または構成要素は、図4〜図9、図12、図14および図16に記載した方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。また、本明細書で説明されたアルゴリズムは、効率的にソフトウェアに実装されてもよく、かつ/またはハードウェアに組み込まれてもよい。
【００７３】
その上、本開示の一態様では、図11、図13、および図15に示す処理回路1104、1304、および1504は、特に、それぞれ図12、図14、および図16で説明したアルゴリズム、方法、および/またはステップを実行するように特に設計されならびに/あるいは配線される専用プロセッサ(たとえば、特定用途向け集積回路(ASIC))であり得る。したがって、そのような専用プロセッサ(たとえば、ASIC)は、図12、図14、および/または図16で説明したアルゴリズム、方法、および/またはステップを実行するための手段の一例であり得る。
【００７４】
また、本開示の態様は、フローチャート、流れ図、構造図またはブロック図として示されるプロセスとして説明され得ることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。加えて、動作の順序は並び替えられ得る。プロセスは、その動作が完了したときに終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応することができる。プロセスが関数に対応する場合、プロセスの終了は、呼出し関数またはmain関数への関数の復帰に対応する。
【００７５】
その上、記憶媒体は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスおよび/もしくは他の機械可読媒体、およびプロセッサ可読媒体、ならびに/または情報を記憶するためのコンピュータ可読媒体を含む、データを記憶するための1つもしくは複数のデバイスを表し得る。「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語は、ポータブルもしくは固定ストレージデバイス、光ストレージデバイス、ならびに、命令および/またはデータを記憶、格納または搬送することが可能な様々な他の媒体のような非一時的媒体を含み得るが、これらに限定されない。したがって、本明細書で説明される様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」および/または「プロセッサ可読媒体」に記憶され、1つもしくは複数のプロセッサ、機械および/またはデバイスによって実行され得る命令および/またはデータによって、完全にまたは部分的に実装され得る。
【００７６】
さらに、本開示の態様は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体または他のストレージのような機械可読媒体に記憶され得る。プロセッサは、必要なタスクを実行することができる。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡す、および/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク伝送などを含む任意の適切な手段を介して渡されてもよく、転送、送信されてもよい。
【００７７】
本明細書で開示される例に関連して説明される様々な例示的な論理ブロック、モジュール、回路、要素、および/または構成要素は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理構成要素、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで実装または実行され得る。汎用プロセッサはマイクロプロセッサでよいが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械でもよい。プロセッサはまた、コンピューティングコンポーネントの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコアと連係した1つまたは複数のマイクロプロセッサ、あるいは他の任意のそのような構成として実装され得る。
【００７８】
本明細書で開示された例に関して説明された方法またはアルゴリズムは、直接ハードウェアで、プロセッサによって実行可能なソフトウェアモジュールで、または両方の組合せで、処理ユニット、プログラミング命令、または他の指示の形態で具現化されてよく、かつ、単一のデバイスに含まれてよく、または複数のデバイスにわたって分散されてよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体の中に存在し得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、かつその記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
【００７９】
さらに、本明細書で開示する態様に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、上記では概してそれらの機能に関して説明された。そのような機能性がハードウェアとして実装されるのか、それともソフトウェアとして実装されるのかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。
【００８０】
本明細書に記載の本発明の様々な特徴は、本発明から逸脱することなく、異なるシステムで実施され得る。本開示の前述の態様は、単に例であり、本発明を限定するものとして解釈されるべきではないことに留意すべきである。本開示の態様の説明は、例示であることを意図しており、特許請求の範囲を限定することを意図していない。したがって、本教示は、他のタイプの装置に容易に適用されることが可能であり、多くの代替形態、変更形態、および変形形態が当業者には明らかであろう。
【符号の説明】
【００８１】
102  電子デバイス
108  デバイス識別子
110  第1のデバイスAに対する第1のデータセット
112  第2のデバイスBに対する第2のデータセット
114  第3のデバイスCに対する第3のデータセット
120  回路遅延物理的クローン化不能関数(PUF)
122  回路遅延PUF、リング発振器(RO)PUF
123  リング発振器(RO)
124  データセット要求
126  データセット
128  PUFデータベース
202  デバイス検証モジュール/回路/サーバ
204  データセット要求
206  データセットレスポンス
302  PUF
304  リング発振器
304a  リング発振器
304b  リング発振器
304n  リング発振器
306  逆マルチプレクサ
308  マルチプレクサ
310  周波数f1
312  周波数f2
314  周波数fn
316  データセットレスポンス
318  データセット要求
402  ポイントごとのマッチング技法
404  パターンマッチング手法
406  データセットA
408  データセットB
410  ポイントの第1のセット
412  ポイントの第2のセット
502  データセット
504  データセット
506  データセット
508  データセット
602  第1のPUF出力相関
604  第2のPUF出力相関
702  第1のPUF出力相関
704  第2のPUF出力相関
802  第1のPUF出力相関
804  第2のPUF出力相関
906  利用可能なポイントのサブセット
908  データセット
910  利用可能なポイントのサブセット
912  データセット
914  利用可能なポイントのサブセット
916  データセット
1000  検証器
1002  デバイス
1004  シリアル番号
1006  データセット
1010  カウンタ
1012  データセット要求生成器
1014  PUFデータベース
1016  データセット要求
1018  データセットレスポンス
1102  データコレクタデバイス
1104  処理回路
1106  記憶デバイス
1108  通信インターフェース
1110  機械可読媒体
1116  デバイス識別子データベース
1118  送信機/受信機回路
1120  PUFデータセット要求生成器回路/モジュール
1122  デバイス識別子回路/モジュール
1124  PUFデータセット受信機回路/モジュール
1128  PUFデータセット要求生成器命令
1130  デバイス識別子命令
1132  PUFデータセット受信機命令
1302  認証デバイス
1304  処理回路
1306  記憶デバイス
1308  通信インターフェース
1310  機械可読媒体
1312  PUFデータセットデータベース
1316  デバイス識別子データベース
1318  送信機/受信機回路
1322  デバイス識別子回路/モジュール
1324  PUFデータセット要求回路/モジュール
1326  PUFデータセット相関回路/モジュール
1330  デバイス識別子命令
1332  PUFデータセット要求命令
1334  PUFデータセット相関命令
1336  認証回路/モジュール
1338  認証命令
1502  電子デバイス
1504  処理回路
1508  通信インターフェース
1510  機械可読媒体
1512  遅延ベースPUF回路
1516  デバイス識別子
1518  送信機/受信機回路
1522  デバイス識別子回路/モジュール
1524  PUFデータセットレスポンス生成器回路/モジュール
1530  デバイス識別子命令
1532  PUFデータセットレスポンス生成器命令
【図１】
0006261727.tif 000003
【図２】
0006261727.tif 000004
【図３】
0006261727.tif 000005
【図４】
0006261727.tif 000006
【図５】
0006261727.tif 000007
【図６】
0006261727.tif 000008
【図７】
0006261727.tif 000009
【図８】
0006261727.tif 000010
【図９】
0006261727.tif 000011
【図１０】
0006261727.tif 000012
【図１１】
0006261727.tif 000013
【図１２】
0006261727.tif 000014
【図１３】
0006261727.tif 000015
【図１４】
0006261727.tif 000016
【図１５】
0006261727.tif 000017
【図１６】
0006261727.tif 000018