説明

遠隔活動化および非活動化を含む集積回路の制御

ロバスト物理的複製不可能機能(PUF)、イベントジェネレータ、およびICの制御ブロックを使用して、集積回路の有限状態機械(FSM)を、第1の状態から第2の状態または第2の状態ではなく第2の状態の複製バリアントに、および第2の状態の複製バリアントから遷移させる技術が全体的に記載されている。さまざまな実施形態では、技術はICの製造変動性を利用している。さまざまな実施形態では、技術はICの活動化または非活動化を制御するために利用される。他の実施形態を開示および特許請求されていることもできる。

【発明の詳細な説明】
【背景技術】
【0001】
集積回路(IC)技術での進歩により、ICが多くの応用例に広く採用されるようになった。さまざまな理由、たとえば知的財産の保護、模造品の防止などのために、各応用例では、ICの活動化および非活動化(deactivation)が制御されること、特に遠隔および/またはワイヤレスで制御されることが望ましい可能性がある。
【0002】
現代の製造におけるランダムなプロセス変動は、集積回路内の固有の変動性(inherent variability)に通じる可能性がある。この変動性により、各集積回路に特有の複製不可能な物理構造に通じる可能性がある。複製不可能な物理構造を使用して、入力として知られる一セットのチャレンジを、応答として知られる対応するセットの出力にPUFからマッピングする物理的複製不可能機能(physically unclonable function)(PUF)を規定することができる。PUFの一例は、一意の遅延特徴を有するPUFを含むチップを与えることができる遅延ベースシリコンPUFであってもよい。しかし、多くのPUFは比較的不安定であり、動作条件、たとえば温度、老化、電圧源の変化などに敏感である可能性がある。
【発明の概要】
【0003】
本開示はとりわけ、ICの活動化および/または非活動化を含む、集積回路(IC)を制御することに概して関する方法、システム、デバイス、および/または装置を対象としている。
【0004】
さまざまな実施形態では、装置は、集積回路(IC)の有限状態機械(FSM)を備えることができ、第1の状態、第2の状態、および第2の状態の複製バリアント(replicated variant)を含むいくつかの状態を有する。装置はまた、FSMに結合されたICの制御ロジックと、ICのイベントジェネレータと、制御ロジックおよびイベントジェネレータに結合されたICのロバスト物理的複製不可能機能(PUF)回路とを備えることができる。ロバストPUF回路は、イベントジェネレータから入力を受信し、これに応答して、FSMおよび制御ロジックに出力を与え、FSMの第1の状態から第2の状態への遷移、または第2の状態ではなく第2の状態の複製バリアントへの遷移と、FSMへの出力によりFSMが第1の状態から第2の状態ではなく第2の状態の複製バリアントに遷移したときの、第2の状態の複製バリアントから出るFSMの遷移とをそれぞれ制御するように構成することができる。
【0005】
さまざまな実施形態では、装置はさらに、ロバストPUF回路および制御ロジックに結合され、キーを記憶するように構成されたメモリを備えることができる。メモリは、ロバストPUF回路からの出力に応答して制御ロジックへの入力としてキーを与えて、FSMへの出力によりFSMが第1の状態から第2の状態ではなく第2の状態の複製バリアントに遷移したときの、第2の状態の複製バリアントから出るFSMの遷移を制御するように構成することができる。
【0006】
さまざまな実施形態では、イベントジェネレータは、ICの外部のソースからのデータに応答してイベントを生成するように構成する、またはさらにFSMに結合させ、FSMの特定の状態に応答してイベントを生成するように構成することができる。
【0007】
さまざまな実施形態では、第2の状態の複製バリアントは、ブラックホール状態またはグレーホール状態の選択された一方であってもよい。さまざまな実施形態では、ロバストPUFは、メインPUF、およびメインPUFに結合された遅延PUFを備えている。他の実施形態では、ロバストPUF回路は、アービタに結合された第1および第2の遅延経路を備えており、第1および第2の遅延経路は、特定の入力に対して、第1および第2の遅延経路それぞれの出力の間に遅延マージンを生成するように構成されている。さまざまな実施形態では、第1および第2の経路は、偶数のインバータ、またはタップ付き遅延ラインの少なくとも1つを備えている。さまざまな実施形態では、装置はさらに、第1のおよび/または第2の経路によって使用される追加遅延経路を備えることができる。さまざまな実施形態では、装置は、携帯電話、ノート型パソコン、またはデスクトップパソコンのうちの選択された1つであってもよい。
【0008】
さまざまは実施形態では、集積回路(IC)を制御する方法は、コンピュータデバイスによって、IC内に埋め込まれたロバスト物理的複製不可能機能(PUF)回路によって生成されたいくつかの値を受信すること、およびコンピュータデバイスによって、受信されたいくつかの値、およびICの有限状態機械(FSM)の第1の状態、第2の状態、および第2の状態の複製バリアントに関連する遷移情報を使用して、FSMが第2の状態ではなく第2の状態の複製バリアントへ第1の状態から遷移したときの、第2の状態の複製バリアントから出るFSMの遷移を制御するためのキーを生成することを含むことができる。さまざまな実施形態では、この方法はさらに、ICを制御するために使用するために、コンピュータデバイスによってキーを出力することを含むことができる。
【0009】
さまざまな実施形態では、コンピュータデバイスによって、ロバストPUF回路によって生成されたいくつかの値を受信することは、一部にはICの固有の製造変動性、ICの意図的な製造変動性、または両方の組み合わせに対する応答によって生成されるロバストPUF回路の出力を受信することを含むことができる。さまざまな実施形態では、第2の状態は機能のセットを含むことができ、第2の状態の複製バリアントは機能の縮小セットを含むことができ、受信されたいくつかの値および遷移情報を使用してキーを生成することは、受信されたいくつかの値および遷移情報を使用して、FSMが機能の縮小セットを有する第2の状態の複製バリアントに第1の状態から遷移したときの、機能の縮小セットを有する第2の状態の複製バリアントから出るFSMの遷移を制御することを含むことができる。
【0010】
さまざまな実施形態では、この方法はさらに、ICのメモリ内にキーを記憶することを含むことができる。メモリは、ロバストPUFおよびICの制御ブロックに結合させ、第2の状態の複製バリアントから出るFSMの遷移を制御するための制御ブロックに対して、ロバストPUFの出力に応答して制御ブロックにキーを出力するように構成することができる。
【0011】
さまざまな実施形態では、集積回路(IC)を制御する方法は、コンピュータデバイスによって、イベントジェネレータにICのロバスト物理的複製不可能機能(PUF)回路に対するイベントを生成させ、ロバストPUFに有限状態機械(FSM)およびICの制御ブロックに対する出力を生成させ、第2の状態、または第2の状態ではなく第2の状態の複製バリアントのいずれかへの第1の状態からのFSMの遷移と、第2の状態の複製バリアントから出るFSMの遷移とをそれぞれ制御するために、集積回路(IC)のイベントジェネレータへの入力用データを決定することを含むことができる。さまざまな実施形態では、この方法はさらに、データをコンピュータデバイスによって、ICに送信して、ICを制御することを含むことができる。
【0012】
さまざまな実施形態では、データをICに送信することは、集積回路の活動化または非活動化を遠隔制御するようにデータをICにワイヤレス送信することを含むことができる。他の実施形態では、データをICに送信することは、ICの選択された機能の遠隔活動化または非活動化を引き起こすようにデータをICに送信することを含むことができる。さまざまな実施形態では、決定することは、コンピュータデバイスによって、ランダムに選択された現在のチャレンジで開始すること、および各反復で現在のチャレンジに対する1のハミング距離の全てのチャレンジCが評価される反復改善パラダイムを暗示することを含むδ安定入力チャレンジを探索することを含むことができる。さまざまな実施形態では、より高い安定性を有する少なくとも1つのCチャレンジがある場合、新しい現在の解決法が、最も安定したCチャレンジとして選択される。また、このようなチャレンジがない場合、この方法は、現在のチャレンジから2、3、またはそれ以上のハミング距離上にあるチャレンジを含むように、探索を向上させることを含むことができる。さまざまな実施形態では、この方法はさらに、現在のチャレンジと新しいチャレンジの間のハミング距離、反復パラダイムに対する最大実行時間、最大測定可能δが達成される瞬間、または満足なδ値が見出されたこと、の1つまたは複数の終了基準を利用して、反復パラダイムを終了させることを含む。
【0013】
さまざまな実施形態では、製造品は、有形のコンピュータ読取可能媒体と、有形のコンピュータ読取可能媒体内に記憶されたいくつかのプログラミング命令とを含むことができる。命令は、装置のプロセッサによって実行されたとき、装置に、IC内に埋め込まれたロバスト物理的複製不可能機能(PUF)回路によって生成されたいくつかの値を受信すること、および受信されたいくつかの値、およびICの有限状態機械(FSM)の第1の状態、第2の状態、および第2の状態の複製バリアントに関連する遷移情報を使用して、FSMが第1の状態から第2の状態ではなく第2の状態の複製バリアントに遷移したときの、第2の状態の複製バリアントから出るFSMの遷移を制御するためのキーを生成することを含む、いくつかの動作を行わせることができる。さまざまな実施形態では、動作はさらに、ICを制御するために使用するために、コンピュータデバイスによってキーを出力することを含むことができる。さまざまな実施形態では、ロバストPUF回路によって生成されたいくつかの値を受信することは、一部にはICの固有の製造変動性、ICの意図的な製造変動性、または両方の組み合わせに対する応答によって生成されるロバストPUF回路の出力を受信することを含むことができる。
【0014】
さまざまな実施形態では、命令は、装置のプロセッサによって実行されたとき、イベントジェネレータにICのロバスト物理的複製不可能機能(PUF)回路に対するイベントを生成させ、ロバストPUFに有限状態機械(FSM)およびICの制御ブロックに対する出力を生成させ、第2の状態、または第2の状態の複製バリアントのいずれかへの第1の状態からのFSMの遷移と、第2の状態の複製バリアントから出るFSMの遷移とをそれぞれ制御するために、集積回路(IC)のイベントジェネレータへの入力用データを決定することを含めて、いくつかの動作を装置に行わせることができる。さまざまな実施形態では、動作はさらに、データをICに送信して、ICを制御することを含むことができる。さまざまな実施形態では、実行されたとき、命令は、装置にデータをICにワイヤレス送信して、ICの活動化または非活動化を遠隔制御させることができる。
【0015】
前述の要約は、単に例示的なものであり、任意の方法で限定することを意図したものではない。上に記載した例示的な態様、実施形態および特性に加えて、別の態様、実施形態および特性は、図面および以下の詳細な説明を参照して明らかになるだろう。
【0016】
主題は、明細書の結論部で特に指摘され、明確に特許請求されている。本開示の前述の他の特性は、添付の図面と合わせて、以下の説明および添付の特許請求の範囲からより十分明らかになるだろう。これらの図面が、開示によっていくつかの実施形態だけを示し、したがって、その範囲を制限するものではないと考えられることを理解されたい。開示は、添付の図面の使用により、追加の特異性および詳細が説明される。
【図面の簡単な説明】
【0017】
【図1】本開示のさまざまな実施形態により構成された、PUFを含む集積回路を有するデバイスを示したブロック図である。
【図2】本開示のさまざまな実施形態により構成された、図1のブロック図のさまざまな構成要素をさらに詳細に示す図である。
【図3】本開示のさまざまな実施形態により構成された、図1および2のブロック図に関連する例示的な方法を示すフローチャートである。
【図4】本開示のさまざまな実施形態により構成された、図1および2の実施形態に含めることができるロバストPUFの一例を示す図である。
【図5】本開示のさまざまな実施形態により構成された、図1および2の実施形態に含めることができるロバストPUFアーキテクチャの一例を示す図である。
【図6】本開示のさまざまな実施形態により構成された、図1および2の実施形態に含めることができるロバストPUFアーキテクチャの別の例を示す図である。
【図7】本開示のさまざまな実施形態により構成された、例示的なコンピュータシステムを示す図である。
【図8】本開示のさまざまな実施形態により構成された、コンピュータプログラム製品を有する例示的な製造品を示す図である。
【発明を実施するための形態】
【0018】
以下の説明は、特許請求されている主題を完全に理解するために、特定の詳細と共にさまざまな例を記載している。しかし、当業者によって、特許請求されている主題は、特定の詳細のいくつかまたは複数を本明細書に開示することなく実施することができることが理解されるだろう。さらに、いくつかの状況では、よく知られている方法、手順、システム、構成要素および/または回路は、特許請求されている主題を不必要に曖昧にするのを避けるために、詳細には記載していない。以下の詳細な説明では、その一部を形成する添付の図面に言及する。図面では、内容でそうでないと示されていない限り、同様の記号は典型的には同様の構成要素を特定している。詳細な説明、図面および特許請求の範囲に記載された例示的な実施形態は、限定することを意図したものではない。他の実施形態を利用することができ、ここで提示した主題の精神または範囲を逸脱することなく他の変更を行うことができる。本明細書に全体的に記載され、図面に示しているように、本開示の態様は、幅広い範囲のさまざまな構成で配置し、置換し、組み合わせ、設計することができ、その全てが明示的に考えられ、本開示の一部を構成することが容易に理解されよう。
【0019】
以下の説明では、コンピュータおよび/またはコンピュータシステムメモリ内などの、コンピュータシステム内に記憶されたデータビットおよび/またはバイナリデジタル信号上の、動作のアルゴリズムおよび/または記号表示を提示することができる。アルゴリズムは普通、一貫したシーケンスの動作および/または同様の処理であると考えられ、これは動作が、記憶し、伝送し、組み合わせ、比較し、および/または他の方法で操作することが可能である電気、磁気および/または電磁信号の形をとることができる物理量の物理操作を必要とする可能性がある所望の結果につながる。さまざまなコンテンツで、このような信号は、ビット、データ、値、素子、記号、文字、用語、数字、数値などと呼ぶことができる。しかし、当業者は、このような用語を物理量を暗示するように使用することができることが分かるだろう。したがって、「記憶する」、「処理する」、「探索する」、「算出する」、「決定する」などの用語が本明細書で使用されている場合、これらは、コンピュータプラットフォームのプロセッサ、メモリ、レジスタなど内の電子および/または磁気量を含む物理量として示されたデータを操作および/または変換する、コンピュータまたは携帯電話などの同様の電子計算デバイスなどのコンピュータプラットフォームの動作のことを言う可能性がある。
【0020】
本開示のさまざまな実施形態による、PUF104を含む集積回路102を有するデバイス100を示すブロック図である、図1を次に参照する。いくつかの実施形態では、デバイス100は、図示するように互いに結合された、PUF104を有する集積回路(IC)102と、有限状態機械(FSM)112と、イベントジェネレータ110とを備えることができる。いくつかの実施形態では、PUF104は、ロバストPUFであってもよく、所望の範囲の動作条件、たとえば、温度、老化、電圧供給の変化内で確定的にまたは予測的に動作するという意味である。ロバスト性は、以下により十分に記載するように、名目PUFを形成するコア素子に対する補助回路素子で達成することができる。いくつかの実施形態では、デバイス100は、携帯電話、デスクトップまたはノート型パソコンなどのコンピュータ、RFIDデバイス、または他のデバイスなどであってもよい。図示するように、PUF104は、イベントジェネレータ110から入力111を受信するために結合させることができる。いくつかの実施形態では、入力111は、以下により十分記載するように、PUF104に、出力または応答114をFSM112に与えて、FSM112の状態遷移を制御させる1つまたは複数のチャレンジを含むことができる。
【0021】
いくつかの実施形態では、デバイス100はまた、図示するように、互いに、およびPUF104、FSM112およびイベントジェネレータ110に結合された、メモリ106および制御ロジック108を備えることができる。実施形態では、PUF104はまた、応答114をメモリ106に与えるように構成することができる。メモリ106は、記憶したキー107を含むことができる。いくつかの実施形態では、応答114は、メモリ106に記憶されたキー107に対応する可能性がある。キー107は、値129を制御ロジック108に与えることができる。制御ロジック108は、値129に応答して、制御信号116をFSM112に与えることができる。いくつかの実施形態では、制御信号116は、これも以下にさらに十分説明するように、FSM112の1つまたは複数の状態の間の1つまたは複数の遷移を制御することができる。
【0022】
さまざまな実施形態では、記憶したキー107の1つまたは複数は、IC102の固有の製造変動性、IC102の意図的な製造変動性、または両方の組み合わせから得られる、PUF104の一意の応答から、たとえばコンピュータデバイスを使用して決定することができる。したがって、いくつかの実施形態では、PUF104によって受信されるチャレンジを含む一意の入力111は、PUF104によって生成または提供される一意の応答114につながる可能性がある。
【0023】
さまざまな実施形態では、そのように決定された1つまたは複数のキー107は、IC102の製造時にメモリ106内に記憶させることができる。他の実施形態では、そのように決定された1つまたは複数のキー107は、後の時間にメモリ106内に記憶させることができる。
【0024】
さらに、図示するように、いくつかの実施形態では、イベントジェネレータ110は、第1の信号120および/または第2の信号122を受信するように結合させることができる。いくつかの実施形態では、以下により詳細に論じるように、FSM112は、第1の信号120をイベントジェネレータ110に提供することができ、ここで第1の信号はFSM112の特定の状態を示すFSMデータを含む。第1の信号120に応答して、イベントジェネレータ110はその後、特定のイベントを生成することができる。他の実装形態では、外部ソースは、第2の信号122をイベントジェネレータ110に提供することができる。いくつかの実施形態では、第2の信号122は外部データを含むことができ、したがって、イベントジェネレータ110はその後、外部データに応答して特定のイベントを生成することができる。イベントジェネレータ110は、特定のイベントに応答して、PUF104に対する入力111を与えることができる。図2に関してさらに論じるように、FSM112のさまざまな状態は、IC102をロックまたはアンロックすることによって、IC102を活動化または非活動化させることができる。いくつかの実施形態では、したがってIC102集積回路に入力を送信することは、有線またはワイヤレス接続を介して集積回路の活動化または非活動化を遠隔制御することを含むことができる。
【0025】
図2は、本開示のさまざまな実施形態による、図1のブロック図のさまざまな構成要素をさらに詳細に示している。特に、図示した実施形態では、FSM112は、IC102の機能設計の一部である例示的状態S0〜S6と、3つの例示的複製状態を含むことができ、S2’、S2’’、およびS2’’’はICを制御する目的で、機能設計に導入された状態S2の複製バリアントである。いくつかの実施形態では、例示的状態S0〜S6と、複製バリアント状態S2’、S2’’、およびS’’’はそれぞれ、それぞれのセットの機能に関連付けることができる。さまざまな実施形態では、複製バリアント状態S2’、S2’’、およびS’’’はそれぞれ、状態S2に関連する機能のサブセットを含むことができる。いくつかの実施形態では、FSM112は、実線230で示した経路のさまざまなセグメントに沿ってS0〜S6の間で遷移することができる。いくつかの実施形態では、S0〜S6の中断されない遷移は、IC102のアンロック状態または動作状態を示すことができる。
【0026】
いくつかの実施形態では、図1に関して論じるように、イベントジェネレータ110は、第1の信号120および第2の信号122の一方または両方を受信するように結合させることができる。第1の信号120または第2の信号122の一方または両方に応答して、イベントジェネレータ110はイベントを生成することができる。イベントから、イベントジェネレータ110は、入力111を決定し、これをPUF104に送信することができる。いくつかの実施形態では、入力111は、適当なセットのチャレンジを含むことができ、それによってPUF104は、入力111を受信する際に、対応する応答114をFSM112に提供して、FSM112が状態S1から、状態S2に、または状態S2ではなくS2、S2’、S2’’またはS2’’’の複製バリアント状態の1つに遷移するかどうかを制御または決定することができる。いくつかの実施形態では、状態S2とは異なり、状態S2’およびS2’’は、制御信号116がこのような遷移を認めない限り、S3には遷移しない状態である可能性がある。さまざまな実施形態では、前に暗示したように、S2はIC102に対するフルセットの機能を含む状態であり、S2’、S2’’および/またはS2’’’は、状態S2に関連する機能の少ないまたは限られたセットを含む状態S2のバリアントに対応する可能性がある。さまざまな実施形態では、S2’’’は、IC102のロックされたまたは無効にされた状態を示す可能性がある、ヌルセットの機能に関連している可能性がある。
【0027】
したがって、さまざまな実施形態では、IC102は、状態S2’、S2’’またはS2’’’の1つで部分的にまたは完全にロックすることができ、制御信号116が受信されるまでアンロックすることができない。いくつかの実施形態では、FSM112は「ブラックホール」状態(たとえば、S2’’’)を含むことができ、それによって、FSM112がPUF回路104によって与えられた応答114によりS1からS2’’’まで移動すると、FSM112はS2’’’からS3まで遷移することができない。したがって、さまざまな実施形態では、FSM112は永久的にロックされ、回復不可能な状態に留まる、またブラックホール状態と呼ばれる可能性がある。状態S2’またはS2’’は、「グレーホール」状態と呼ばれ、ここでFSM112は、正しいキー207がメモリ206内に記憶されている前提で、S3に次第に遷移する可能性がある。
【0028】
図3は、本開示のさまざまな実施形態による、図1および2のブロック図に関連する例示的な方法300を示すフローチャートである。図3に示すプロセス、および本明細書に記載する他のプロセスは、処理ステップ、機能動作、イベントおよび/または動作などとして記載することができ、ハードウェア、ソフトウェア、またはその任意の組み合わせによって行うことができる、さまざまな機能ブロックを記載している。当業者は、本開示を鑑みて、図3に示す機能ブロックの多くの代替をさまざまな実装形態で行うことができることが分かるだろう。
【0029】
ブロック301(PUFによって生成された値を受信する)では、いくつかの実施形態では、IC102に埋め込まれたPUF104によって生成された1つまたは複数の値または応答114をコンピュータデバイスによって受信することができる。これらの応答114は、入力111に応答して、PUF104によって生成または提供させることができる。これらの入力111は独自であってもよく、PUF104へのチャレンジを含むこともできる。いくつかの実施形態では、この方法はブロック301からブロック302(PUFによって生成された値に応答してキーを計算する)に進むことができる。ブロック302では、コンピュータデバイスを使用して、PUF104によって生成された値に応じたキーを決定または計算することができる。さまざまな実施形態では、この方法は、ブロック302からブロック304(集積回路にキーを記憶する)に進むことができる。ブロック304では、キーの1つまたは複数をIC102に記憶させることができる。いくつかの実施形態では、図1の記憶したキー107などの記憶したキーは、IC102内のFSM112の特定の遷移、すなわち、IC102の特定の機能に対応することができる。いくつかの実施形態では、この方法は、ブロック304からブロック308(ICの動作中に、信号をイベントジェネレータに送信して、ICの機能を活動化または非活動化させる)に進むことができる。ブロック308では図示するように、信号をイベントジェネレータ110に送信して、IC102の活動化または非活動化を制御することができる。いくつかの実施形態では、IC102の動作中に信号を送信することができる。いくつかの実施形態では、IC102の非活動化を、FSM112の状態間の、たとえばS1からS2’、S2’’またはS2’’’への、機能を無効化させる遷移に応答して行うことができる。いくつかの実施形態では、IC102の動作は、FSM112の状態間の、たとえばS1からS2への、機能を有効化する遷移に応答して行うことができる。したがって、さまざまな実施形態では、IC上でFSMの第1の状態と第2の状態の間の遷移を制御することは、IC104上で入力をイベントジェネレータに遠隔で加えることを含むことができる。
【0030】
図4は、本開示のさまざまな実施形態による、図1および2の実施形態に含めることができるロバストPUF400の一例を示している。いくつかの実施形態では、PUF400は、PUF400の出力または応答の安定性を向上させるために構成された直線遅延ベースPUFであってもよい。すなわち、PUF400は、いくつかの実施形態では、PUF400への所与の入力に対応する応答が、同じ入力でほぼ同じであるという可能性を高くするように変更することができる。
【0031】
いくつかの実施形態では、PUF400は、IC102に埋め込まれたシリコン遅延ベースPUFであってもよい。図示した実施形態では、PUF400は、n個のカスケード式スイッチを含む1ビット遅延ベースPUFであってもよい。さまざまな実施形態では、スイッチ1からnをカスケード式にして、構造による同様の遅延を招くことが予測される経路415および420などの経路を作り出すことができる。しかし、製造変動性により、2つの経路415および420それぞれに加えられた信号405は、経路415および420にさまざまな遅延を同時に与えることができる。実施形態では、最後のスイッチnの出力は、経路415および420の端部に接続させることができる2入力/1出力アービタ410などのアービタに接続させることができる。
【0032】
図4から分かるように、各スイッチは、左側に2つの入力、右側に2つの入力、およびセレクタラインを有することができる。したがって、たとえば、スイッチ1は、上側入力404a、下側入力404b、上側出力404c、および下側出力404dを含むことができる。いくつかの実施形態では、スイッチ1は、セレクタビット用のセレクタライン403を含むことができる(スイッチ2からnの入力、出力、およびセレクタラインは、図4を曖昧にするのを防ぐために記していないことに留意されたい)。セレクタビットは、PUF400へのチャレンジを示すことができる。いくつかの実施形態では、セレクタビットの値がゼロである場合、スイッチの上側入力をスイッチの上側出力に直接接続させることができ、スイッチの下側入力をスイッチの下側出力に直接接続させることができる。たとえば、スイッチ1では、セレクタビットの値がゼロの場合、上側入力404aは上側出力404cに接続させることができ、下側出力404bは下側出力404dに接続させることができる。いくつかの実施形態では、セレクタビットの値が1である場合、上側入力(たとえば、404a)は下側出力(たとえば、404d)にリンクさせることができ、下側入力(たとえば、404b)は上側出力(たとえば、404c)にリンクさせることができる。いくつかの実施形態では、上側経路420上の信号405が下側経路415からの信号405より早くアービタ410に到達する場合、アービタ410の出力はゼロである可能性がある。そうでなければ、アービタ410の出力は1である可能性がある。
【0033】
したがって、さまざまな実施形態では、上に記したように、アービタ410は遅延差を検出することができ、アービタ410の出力は、下側経路415または上側経路420がより速いかどうかを示す。いくつかの実施形態では、dは、下側経路415と上側経路420の間の遅延差を示している。いくつかの状況では、極めて小さいdにより、同じ入力に対するPUF400から受信された応答の不安定性につながることがある。いくつかの実施形態では、遅延差は、アービタ410などのアービタを実装するために使用されるラッチの感度により生じ、このような感度は環境変化、ランダム変動、および/または経年老化の関数である可能性がある。前の図で示したように、PUFからの応答をIC設計の制御部に一体化させることができるので、誤った応答は、正しいキーがある場合でさえもロックされた(機能異常の)回路につながる可能性がある。したがって、いくつかの実施形態では、選択されたチャレンジに対する遅延差は、応答安定性を維持するのに十分大きいように選択することができる。いくつかの実施形態では、入力は、PUF400に対して安定出力を提供することができる十分大きいdを作り出すために選択されたチャレンジビットを含むことができる。さまざまな実施形態では、dは設計者が選択した遅延マージンδと少なくとも同じ大きさである可能性がある。いくつかの実施形態では、PUF応答安定性を改善するための1対のδロバスト性回路412および413はそれぞれ、上側経路420に追加することができるインバータ412aおよび412b、下側経路415に追加することができるインバータ413aおよび413bなどの追加のインバータを含むことができる。いくつかの実施形態では、PUFは、偶数のインバータ、および/またはタップ付き遅延ラインの少なくとも1つを備えることができる。
【0034】
いくつかの実施形態では、アービタ414およびアービタ417はそれぞれ、インバータ412aおよび412b、およびインバータ413aおよび413bの出力に追加することができる。図4では、インバータ412aおよび412b、またはインバータ413aおよび413bの累積遅延は、遅延マージンδによって示すことができる。δロバスト性基準を満たすのに十分な遅延がもたらされる可能性があるチャレンジは、PUFテスト段階中に見出すことができる。いくつかの実施形態では、テスト中、さまざまなチャレンジをPUF400に入力することができ、アービタ410および414からの対応する出力を読み取ることができる。図4では、OおよびOはそれぞれ、アービタ414およびアービタ417の出力を示すことができる。Oに対してゼロ値を作り出すことができるチャレンジでは、δに加えられた上側経路420の遅延(dによって示す)は、下側経路415の遅延(dによって示す)より小さい可能性がある。いくつかの実施形態では、この結果は、dがdより少なくともδ長いことを暗示することができる。他の実施形態では、一連のインバータおよびアービタを、下側経路415または上側経路420に加えて、両方ゼロ、両方1を含む応答を生成することができる。
【0035】
δロバスト性条件を満たすチャレンジを加えることによって、チャレンジに対する安定した応答につながる可能性がある。δロバストチャレンジは、以下の条件の1つを満たすことができる。
−d>δ(上側経路に加えられる追加のアービタおよびインバータがゼロ出力を生成する場合)
−d>δ(下側経路に加えられる追加のアービタおよびインバータが1出力を生成する場合)
【0036】
いくつかの実施形態では、δロバスト性回路412の遅延自体は極めて低く、ロバスト性をテストした全ての経路に対して2つ(以上)のインバータおよびアービタによって生じるオーバヘッドを含む可能性がある。さらに、マルチプレクサを使用して、さまざまな経路の間でロバスト性回路を共有することができる。いくつかの実施形態では、マルチプレクサ選択ラインの値を、テストに使用される入力に加えることができる。
【0037】
図5は、本開示のさまざまな実施形態により、図1および2の実施形態に含めることができるロバストPUFの別の例を示している。図5は、例示的な遅延PUF512に結合させることができるメインPUF502を含む。さまざまな実施形態では、メインPUF502は、さまざまなアーキテクチャであってもよい。いくつかの実施形態では、遅延PUF512はリニアPUFであってもよい。いくつかの実施形態では、遅延マージンδを生成するために、図4のインバータ412aおよび412bではなく、遅延PUF512を使用することができる。いくつかの実施形態では、固定入力を、メインPUF502のセレクタビットに対する選択ライン506に加えることができる。遅延PUF504は、503、505および507でチャレンジビットを加え、一次不等式系を形成することによって、リバースエンジニアリングすることができる。線形計画法を使用して不等式系を解いてδPUFセグメントの遅延を与えることができる。いくつかの実施形態では、遅延PUF512に対して経路セグメント遅延が知られている場合に、さまざまなδマージン値を生成することができる。記載した方法は、メインPUF502に対する任意のアーキテクチャに適用することができる。さまざまな実施形態では、追加の遅延素子をそれぞれ上側および下側経路に結合させることができる。これらの遅延素子の出力、および上側および下側経路はその後、上側および下側経路の相対速度または遅延を決定するのを容易にするために、それぞれアービタ515および517と並列に結合させることができる。
【0038】
いくつかの実施形態では、遅延PUF512などのロバスト性回路は、出力または他所で、アービタのほぼそれぞれに加えることができる。たとえば、図6は、本開示のさまざまな実施形態による、図1および2の実施形態に含めることができるフィードフォワードPUFアーキテクチャ600を示している。フィードフォワードPUF602では、613でのいくつかの内部遅延セグメントを、追加されたアービタ、たとえば内部アービタ625g〜625iによってインターセプトすることができる。内部アービタ625gの出力は、(フォワードスイッチ635に対する)セレクタビット用セレクタライン630として使用することができる。いくつかの実施形態では、PUF602の安定性を大きくするために、内部セグメント間の遅延差はδより大きい可能性がある。いくつかの実施形態では、δロバストであるチャレンジを求めることができるように、いくつかのカスケード式ステージを、フィードフォワードまたは内部アービタ625の前に挿入することができる。いくつかの実施形態では、いくつかのカスケード式ステージは、δ以上の遅延差を許容するいくつかのステージを含むことができる。いくつかの実施形態では、追加の遅延素子をそれぞれ、アービタ625aおよび625dにつながる上側および下側経路に結合させることができる。各場合で、対応する上側または下側経路のどれがより長い遅延を有するかを決定することを容易にするために、遅延素子の出力および対応する上側および下側経路をそれぞれ、アービタ625bおよび625cと625eおよび625fに並列に結合させることができる。
【0039】
さまざまな実施形態では、高いδ安定入力チャレンジの探索を、さまざまな方法で行うことができる。1つの選択肢は、ランダムに選択されたチャレンジで開始すること、および各ステップで現在のチャレンジに対して1のハミング距離を有する全てのチャレンジCに挑戦する反復改善パラダイムを暗示することである。より高い安定性(上部および底部信号経路の間の遅延差)を有する少なくとも1つのCチャレンジがある場合、新しい現在の解決法が、最も安定したCチャレンジとして選択される。その後、手順を反復することができる。このようなチャレンジがない場合、現在のチャレンジから2、3、またはそれ以上のハミング距離上にあるチャレンジを含むように、探索を改善することができる。
【0040】
さまざまな実施形態では、プロセスの終了基準は、以下の選択肢の1つまたは複数を利用することができる。
(i)現在のチャレンジと、考えられる新しいチャレンジとの間の考えられる最大ハミング距離(たとえば、2、3、または4などの小さい値)。
(ii)手順のユーザ設定最大実行時間。
(iii)最大測定可能δが達成される瞬間。
(iv)ユーザ設定の満足なδ値が見出されたこと。
【0041】
図7は、本開示の実施形態により構成された例示的なコンピュータデバイスを示すブロック図である。極めて基本的な構成701では、コンピュータデバイス700は典型的には、1つまたは複数のプロセッサ710およびシステムメモリ720を備えている。メモリバス730は、プロセッサ710とシステムメモリ720の間で通信するために使用することができる。システムメモリ720は、本開示のPUFの1つまたは複数の実施形態を組み込んだROM/RAMを備えることができる。
【0042】
所望の構成に応じて、プロセッサ710は、これに限らないが、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタル信号プロセッサ(DSP)、またはその任意の組み合わせを含む任意のタイプであってもよい。プロセッサ710は、レベル1キャッシュ711およびレベル2キャッシュ12、プロセッサコア713、およびレジスタ714などのキャッシングの1つまたは複数のレベルを含むことができる。例示的なプロセッサコア713は、算術演算ユニット(ALU)、浮動小数点ユニット(FPU)、デジタル信号処理コア(DSPコア)、またはその任意の組み合わせを含むことができる。例示的なメモリコントローラ715はまた、プロセッサ710で使用することができる、またはいくつかの実装形態では、メモリコントローラ715は、プロセッサ710の一体部であってもよい。所望の構成に応じて、システムメモリ720は、これに限らないが、揮発性メモリ(RAMなど)、不揮発性メモリ(ROM、フラッシュメモリなど)、またはその任意の組み合わせを含む任意のタイプであってもよい。システムメモリ720は、オペレーティングシステム721、1つまたは複数のアプリケーション722、およびプログラムデータ724を含むことができる。
【0043】
コンピュータデバイス700は、基本的構成701と任意の所望のデバイスおよびインターフェイスの間の通信を容易にするために、追加の機構または機能、および追加のインターフェイスを有することができる。たとえば、バス/インターフェイスコントローラ740を使用して、記憶インターフェイスバス741を介した基本的構成701と1つまたは複数のデータ記憶デバイス750の間の通信を容易にすることができる。データ記憶デバイス750は、取外し式記憶デバイス751、非取外し式記憶デバイス752、またはその組み合わせであってもよい。取外し式記憶デバイスおよび非取外し式記憶デバイスの例としては、いくつか挙げるとすると、フレキシブルディスクドライブおよびハードディスクドライブ(HDD)などの磁気ディスクデバイス、コンパクトディスク(CD)ドライブまたはデジタル多用途ディスク(DVD)ドライブなどの光ディスク、ソリッドステートドライブ(SSD)、およびテープドライブを挙げることができる。例示的なコンピュータ記憶媒体としては、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装される、揮発性および不揮発性、取外し可能および取外し不可能媒体を挙げることができる。
【0044】
システムメモリ720、取外し式記憶装置751および非取外し式記憶装置752は全て、コンピュータ記憶媒体の例である。コンピュータ記憶媒体はこれに限らないが、RAM、ROM,EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、または所望の情報を記憶するために使用することができ、コンピュータデバイス700によってアクセスすることができる任意の他の媒体が挙げられる。任意のこのようなコンピュータ記憶媒体は、デバイス700の一部であってもよい。
【0045】
コンピュータデバイス700はまた、バス/インターフェイスコントローラ740を介した基本的構成701へのさまざまなインターフェイスデバイス(たとえば、出力インターフェイス、周辺インターフェイス、および通信インターフェイス)からの通信を容易にするためのインターフェイスバス742を備えることができる。例示的な出力デバイス760は、1つまたは複数のA/Vポート763を介したディスプレイまたはスピーカなどのさまざまな外部デバイスに通信するように構成することができる、グラフィックス処理ユニット761および音声処理ユニット762を備えている。例示的な周辺インターフェイス770は、1つまたは複数のI/Oポート773を介して入力デバイス(たとえば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど)などの外部デバイス、または他の周辺デバイス(たとえば、プリンタ、スキャナなど)と通信するように構成することができる、シリアルインターフェイスコントローラ771またはパラレルインターフェイスコントローラ772を備えている。例示的な通信デバイス780は、1つまたは複数の通信ポート782を介したネットワーク通信リンク上での1つまたは複数の他のコンピュータデバイス790との通信を容易にするために配置することができる、ネットワークコントローラ781を備えている。
【0046】
ネットワーク通信リンクは、通信媒体の一例であってもよい。通信媒体は典型的には、コンピュータ読取可能命令、データ構造、プログラムモジュール、または搬送波または他の輸送機構などの変調データ信号内の他のデータによって具体化することができ、任意の情報担持媒体を含むことができる。「変調データ信号」は、信号内の情報を符号化するようにその特性の1つまたは複数が設定または変更された信号とすることができる。例として、これに限らないが、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音響、無線周波数(RF)、マイクロ波、赤外線(IR)および他のワイヤレス媒体などのワイヤレス媒体を含むことができる。本明細書で使用されるようなコンピュータ読取可能媒体という用語は、記憶媒体および通信媒体の両方を含むことができる。
【0047】
コンピュータデバイス700は、携帯電話、携帯情報端末(PDA)、パーソナルメディアプレーヤデバイス、ワイヤレスウェブウォッチデバイス、パーソナルヘッドセットデバイス、特定用途向けデバイス、または上記機能のいずれかを含むハイブリッドデバイスなどの小型要素携帯(または移動)電子デバイスの一部として実施することができる。コンピュータデバイス700はまた、ノートパソコンおよび非ノートパソコン構成の両方を含むパソコンとして実装することができる。
【0048】
さまざまな実施形態では、コンピュータデバイス700のさまざまな構成要素は、本開示のいくつかの実施形態によるPUF704を含むことができる。たとえば、システムメモリ720はPUF704を備えることができ、PUF704は、本開示のさまざまな実施形態により、PUF704の出力または応答の安定性を改善させるための構成を含むことができる。追加のまたは代替実施形態では、システムメモリ720の他に、プロセッサ710、グラフィックス処理ユニット761、音声処理ユニット762、および/または記憶デバイス750の制御回路、バスインターフェイスコントローラ740、直列インターフェイスコントローラ771、並列インターフェイスコントローラ772、およびネットワークコントローラ781に使用される特定用途向け集積回路またはフィールドプログラマブル回路の1つまたは複数もまた、PUF704の実施形態を含むことができる。いくつかの実施形態では、PUF704はイベントジェネレータから入力を受信するように結合させることができ、入力はコンピュータシステム700の構成要素の1つまたは複数内で集積回路を有効または無効にするための1つまたは複数のチャレンジを含むことができる。
【0049】
図8は、本開示のさまざまな実施形態による、コンピュータプログラム製品を有する例示的な製品を示している。例示的なコンピュータプログラム製品800は、コンピュータ読取可能記憶媒体832と、コンピュータ読取可能記憶媒体832内に記憶されたいくつかのプログラミング命令834とを備えることができる。これらの実施形態のさまざまなものでは、プログラミング命令834は、ICを制御するためにICのPUFの出力に応答するようにIC内に記憶させるキーを決定する命令を含むことができる。さまざまな実施形態では、プログラミング命令834は、加えてまたは別の方法では、イベントジェネレータに、出力を供給するためのPUFのイベントを生成させるように、ICのイベントジェネレータに入力を与える命令を含むことができる。
【0050】
いくつかの実施形態は、図8に示す命令のいくつかまたは全てを有することができる。コンピュータプログラム製品800の実施形態は、本明細書に記載する実施形態による他の命令を有することができる。コンピュータ読取可能媒体832は、これに限らないが、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ソリッドステートドライブ、ハードドライブなどの揮発性および持続性メモリを含むさまざまな形をとることができる。実施形態は、1つまたは複数の任意のタイプのコンピュータプログラム製品に限るものではない。
【0051】
特許請求されている主題は、本明細書に記載する特定の実装に範囲を限るものではない。たとえば、デバイスまたはデバイスの組み合わせ上で動作するものなどハードウェアで実装されることも、ソフトウェアおよび/またはファームウェアで実装されることもある。同様に、特許請求されている主題はこれに関して範囲を限るものではないが、いくつかの実装形態は、1つまたは複数の記憶媒体などの1つまたは複数の物体を含むことができる。たとえばCD−ROM、コンピュータディスク、フラッシュメモリなどのこのような記憶媒体は、たとえばコンピュータシステム、コンピュータプラットフォームまたは他のシステムなどのシステムよって実行されたときに、たとえば前に記載した実装形態の1つなどの特許請求されている主題によるプロセッサの実行につながる可能性がある、上に記憶された命令を有することができる。1つの可能性として、コンピュータプラットフォームは、1つまたは複数の処理ユニットまたはプロセッサ、ディスプレイ、キーボードおよび/またはマウスなどの1つまたは複数の入力/出力デバイス、および静的ランダムアクセスメモリ、動的ランダムアクセスメモリ、フラッシュメモリ、および/またはハードドライブなどの1つまたは複数のメモリを含むことができる。
【0052】
明細書内での「実装形態」、「1つの実装形態」、「いくつかの実装形態」、または「他の実装形態」という言及は、1つまたは複数の実装形態に関連して記載した特定の機構、構造または特徴を、必ずしも全ての実装形態ではなく、少なくともいくつかの実装形態に含めることができることを意味する可能性がある。前述の説明内での「実装形態」、「1つの実装形態」、または「いくつかの実装形態」のさまざまな登場は、必ずしも全て同じ実装形態のことを言及しているわけではない。さらに、「結合された」または「応答」または「に応答して」または「と通信して」などの用語または表現が本明細書または以下の特許請求の範囲で使用される場合、これらの用語は広義に解釈すべきものである。たとえば、「結合された」という表現は、この表現が使用される内容に適当であるように、通信可能に、電気的に、および/または動作可能に結合されることを言うことができる。
【0053】
前述の説明では、特許請求されている主題のさまざまな態様が記載されている。説明する目的で、特許請求されている主題を完全に理解するために、特定の数、システムおよび/または構成が記載されている。しかし、当業者および本開示の利点を有する者には、特許請求されている主題は特定の詳細なしで実施することができることが明らかであろう。他の例では、特許請求されている主題を曖昧にしないように、よく知られている機構を省略および/または単純化した。特定の機構が本明細書に図示および/または記載されているが、多くの変形、置換、変更および/または同等物が、現在または将来、当業者には思い付くだろう。したがって、添付の特許請求の範囲は、特許請求されている主題の真の精神内にあるこのような変形形態および/または変更形態全てを含むことを意図していることを理解されたい。
【0054】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に(いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で)コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび/またはシステムおよび/または他の技術をもたらすことができるさまざまな達成手段があり(たとえば、ハードウェア、ソフトウェア、および/またはファームウェア)、好ましい達成手段は、プロセスおよび/またはシステムおよび/または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび/またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および/またはファームウェアのなんらかの組み合わせを選択することができる。
【0055】
前述の詳細な説明では、ブロック図、フローチャート、および/または例の使用によって、装置および/またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および/または例が1つまたは複数の機能および/または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および/または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらの全ての組み合わせにより、個別におよび/または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、1つまたは複数のコンピュータ上で動作する1つまたは複数のコンピュータプログラムとして(たとえば、1つまたは複数のコンピュータシステム上で動作する1つまたは複数のプログラムとして)、1つまたは複数のプロセッサ上で動作する1つまたは複数のプログラムとして(たとえば、1つまたは複数のマイクロプロセッサ上で動作する1つまたは複数のプログラムとして)、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに/またはソフトウェアおよび/もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号送信媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号送信媒体の例には、フロッピー(登録商標)ディスク、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)の通信タイプの媒体が含まれるが、それらには限定されない。
【0056】
本明細書で説明したやり方で装置および/またはプロセスを記載し、その後そのように記載された装置および/またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および/またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェイス、およびアプリケーションプログラムのうちの1つもしくは複数、タッチパッドもしくはスクリーンなどの1つもしくは複数の相互作用装置、ならびに/またはフィードバックループおよびコントロールモータを含むコントロールシステム(たとえば、位置検知用および/もしくは速度検知用フィードバック、コンポーネントの移動用および/もしくは数量の調整用コントロールモータ)を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング/通信システムおよび/またはネットワークコンピューティング/通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
【0057】
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の2つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および/もしくは物理的に相互作用するコンポーネント、ならびに/またはワイヤレスに相互作用可能な、および/もしくはワイヤレスに相互作用するコンポーネント、ならびに/または論理的に相互作用する、および/もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【0058】
本明細書における実質的に全ての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。さまざまな単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【0059】
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(たとえば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む発明に限定する、ということを示唆していると解釈されるべきではない(たとえば、「a」および/または「an」は、通常、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、通常、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(たとえば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、通常、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。

【特許請求の範囲】
【請求項1】
第1の状態、第2の状態、および第2の状態の複製バリアントを含む複数の状態を有する、集積回路(IC)の有限状態機械(FSM)と、
前記FSMに結合された、前記ICの制御ロジックと、
前記ICのイベントジェネレータと、
前記制御ロジックおよび前記イベントジェネレータに結合された前記ICのロバスト物理的複製不可能機能(PUF)回路であって、前記イベントジェネレータから入力を受信し、これに応答して、前記FSMおよび前記制御ロジックに出力を与え、前記FSMの前記第1の状態から前記第2の状態への遷移、または前記第2の状態ではなく前記第2の状態の前記複製バリアントへの遷移と、前記FSMへの出力により前記FSMが前記第1の状態から前記第2の状態ではなく前記第2の状態の前記複製バリアントに遷移したときの、前記第2の状態の前記複製バリアントから出る前記FSMの遷移とをそれぞれ制御するように構成されたロバストPUF回路とを備えた装置。
【請求項2】
前記ロバストPUF回路および前記制御ロジックに結合され、キーを記憶するように構成されたメモリであって、前記ロバストPUF回路からの前記出力に応答して前記制御ロジックへの入力として前記キーを与えて、前記FSMへの出力により前記FSMが前記第1の状態から前記第2の状態ではなく前記第2の状態の前記複製バリアントに遷移したときの、前記第2の状態の前記複製バリアントから出る前記FSMの遷移を制御するように構成されたメモリをさらに備えた、請求項1に記載の装置。
【請求項3】
前記イベントジェネレータが、前記ICの外部のソースからのデータに応答してイベントを生成するように構成されている、請求項1に記載の装置。
【請求項4】
前記イベントジェネレータが、前記FSMに結合され、前記FSMの特定の状態に応答してイベントを生成するようにさらに構成されている、請求項1に記載の装置。
【請求項5】
前記第2の状態の前記複製バリアントは、ブラックホール状態またはグレーホール状態の選択された一方である、請求項1に記載の装置。
【請求項6】
前記ロバストPUFが、メインPUF、および前記メインPUFに結合された遅延PUFを備えている、請求項1に記載の装置。
【請求項7】
前記ロバストPUF回路が、アービタに結合された第1および第2の遅延経路を備えており、前記第1および第2の遅延経路は、特定の入力に対して、前記第1および第2の遅延経路それぞれの出力の間に遅延マージンを生成するように構成されている、請求項1に記載の装置。
【請求項8】
前記第1および第2の経路が、偶数のインバータ、またはタップ付き遅延ラインの少なくとも1つを備えている、請求項7に記載の装置。
【請求項9】
前記第1のおよび/または第2の経路によって使用される追加遅延経路をさらに備えた、請求項7に記載の装置。
【請求項10】
携帯電話、ノート型パソコン、またはデスクトップパソコンのうちの選択された1つを備えた、請求項1に記載の装置。
【請求項11】
集積回路(IC)を制御する方法であって、
コンピュータデバイスによって、前記IC内に埋め込まれたロバスト物理的複製不可能機能(PUF)回路によって生成された複数の値を受信すること、
前記コンピュータデバイスによって、前記受信された複数の値、および前記ICの有限状態機械(FSM)の第1の状態、第2の状態、および前記第2の状態の複製バリアントに関連する遷移情報を使用して、前記FSMが前記第2の状態ではなく前記第2の状態の前記複製バリアントへ前記第1の状態から遷移したときの、前記第2の状態の前記複製バリアントから出る前記FSMの遷移を制御するためのキーを生成すること、および
前記ICを制御するために使用するために、前記コンピュータデバイスによって前記キーを出力することを含む方法。
【請求項12】
前記コンピュータデバイスによって、前記ロバストPUF回路によって生成された前記複数の値を受信することは、一部には前記ICの固有の製造変動性、前記ICの意図的な製造変動性、または両方の組み合わせに対する応答によって生成される前記ロバストPUF回路の出力を受信することを含む、請求項11に記載の方法。
【請求項13】
前記第2の状態は機能のセットを含み、前記第2の状態の前記複製バリアントは少ないセットの前記機能を含み、前記受信された複数の値および遷移情報を使用してキーを生成することは、前記受信された複数の値および遷移情報を使用して、前記FSMが前記機能の縮小セットを有する前記第2の状態の前記複製バリアントに前記第1の状態から遷移したときの、前記機能の縮小セットを有する前記第2の状態の前記複製バリアントから出る前記FSMの遷移を制御することを含む、請求項11に記載の方法。
【請求項14】
前記ICのメモリ内に前記キーを記憶することをさらに含み、前記メモリは、前記ロバストPUFおよび前記ICの制御ブロックに結合されており、前記第2の状態の前記複製バリアントから出る前記FSMの遷移を制御するための前記制御ブロックに対して、前記ロバストPUFの出力に応答して前記制御ブロックに前記キーを出力するように構成されている、請求項11に記載の方法。
【請求項15】
集積回路を制御する方法であって、
コンピュータデバイスによって、イベントジェネレータに集積回路(IC)のロバスト物理的複製不可能機能(PUF)回路に対するイベントを生成させ、前記ロバストPUFに有限状態機械(FSM)および前記ICの制御ブロックに対する出力を生成させ、第1の状態から第2の状態、または前記第2の状態ではなく前記第2の状態の複製バリアントのいずれかへの前記FSMの遷移と、前記第2の状態の複製バリアントから出る前記FSMの遷移とをそれぞれ制御するために、前記ICの前記イベントジェネレータへの入力用データを決定すること、および
前記データを前記コンピュータデバイスによって、前記ICに送信して、前記ICを制御することを含む方法。
【請求項16】
前記データを前記ICに送信することは、集積回路の活動化または非活動化を遠隔制御するように前記データを前記ICにワイヤレス送信することを含む、請求項15に記載の方法。
【請求項17】
前記データを前記ICに送信することは、前記ICの選択された機能の遠隔活動化または非活動化を引き起こすように前記データを前記ICに送信することを含む、請求項15に記載の方法。
【請求項18】
決定することは、前記コンピュータデバイスによって、
ランダムに選択された現在のチャレンジで開始すること、および
各反復で現在のチャレンジに対する1のハミング距離の全てのチャレンジCが評価される反復改善パラダイムを暗示することを含む、δ安定入力チャレンジを探索することを含み、
より高い安定性を有する少なくとも1つのCチャレンジがある場合、新しい現在の解決法が、最も安定したCチャレンジとして選択され、
このようなチャレンジがない場合、前記現在のチャレンジから2、3、またはそれ以上のハミング距離上にあるチャレンジを含むように、探索を向上させる、請求項15に記載の方法。
【請求項19】
前記現在のチャレンジと新しいチャレンジの間のハミング距離、
前記反復パラダイムに対する最大実行時間、
最大測定可能δが達成される瞬間、および
満足なδ値が見出されたこと、の1つまたは複数の終了基準を利用して、前記反復パラダイムを終了させることをさらに含む、請求項18に記載の方法。
【請求項20】
有形のコンピュータ読取可能媒体と、
前記有形のコンピュータ読取可能媒体内に記憶された複数のプログラミング命令であって、装置のプロセッサによって実行されたとき、装置に、
前記IC内に埋め込まれたロバスト物理的複製不可能機能(PUF)回路によって生成された複数の値を受信させ、
前記受信された複数の値、およびICの有限状態機械(FSM)の第1の状態、第2の状態、および前記第2の状態の複製バリアントに関連する遷移情報を使用して、FSMが第1の状態から第2の状態ではなく第2の状態の複製バリアントに遷移したときの、前記第2の状態の前記複製バリアントから出る前記FSMの遷移を制御するためのキーを生成させ、
前記ICを制御するために使用するために、前記コンピュータデバイスによって前記キーを出力させる命令とを含む、製品。
【請求項21】
前記ロバストPUF回路によって生成された前記複数の値を受信することは、一部には前記ICの固有の製造変動性、前記ICの意図的な製造変動性、または両方の組み合わせに対する応答によって生成される前記ロバストPUF回路の出力を受信することを含む、請求項20に記載の製造品。
【請求項22】
有形のコンピュータ読取可能媒体と、
前記有形のコンピュータ読取可能媒体に記憶された複数のプログラミング命令であって、装置のプロセッサによって実行されたとき、装置に、
イベントジェネレータに集積回路(IC)のロバスト物理的複製不可能機能(PUF)回路に対するイベントを生成させ、前記ロバストPUFに有限状態機械(FSM)および前記ICの制御ブロックに対する出力を生成させ、第1の状態から第2の状態、または前記第2の状態の複製バリアントのいずれかへの前記FSMの遷移と、前記第2の状態の複製バリアントから出る前記FSMの遷移とをそれぞれ制御するために、前記ICの前記イベントジェネレータへの入力用データを決定させ、
前記データを前記ICに送信して、前記ICを制御させる命令とを含む、製品。
【請求項23】
実行されたとき、前記命令が前記装置に、前記データを前記ICにワイヤレス送信して、前記ICの活動化または非活動化を遠隔制御する、請求項21に記載の製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2013−502876(P2013−502876A)
【公表日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2012−526816(P2012−526816)
【出願日】平成22年8月10日(2010.8.10)
【国際出願番号】PCT/US2010/045004
【国際公開番号】WO2011/025654
【国際公開日】平成23年3月3日(2011.3.3)
【出願人】(509348786)エンパイア テクノロジー ディベロップメント エルエルシー (117)
【Fターム(参考)】