(57)【要約】      （修正有）【課題】リング発信器ベースのＰＵＦに対する周波数変更攻撃に対する対策を使用して、コンピュータシステムにおいてセキュリティを提供する。【解決手段】システム１００は、物理的複製不可能機能（ＰＵＦ）デバイス１０２と１つ又は複数の論理回路とを含む。コンピュータシステム１１０の起動時に、制御論理１０１は、同一の入力値を用いて予め設定された複数の回数だけＰＵＦデバイスを呼び出し、集積回路１２０の候補識別子である複数のＰＵＦ値を生成する。ハッシュ値生成器１０３は、ハッシュ関数を候補識別子に適用し、それぞれのハッシュ値を生成する。検証モジュール１０４は、不揮発性メモリ１０５から参照ハッシュ値にアクセスし、参照ハッシュ値を使用して、それぞれのハッシュ値のすべてを検証する。有効化モジュール１０６は、検証結果に基づいてコンピュータシステムが第１のモード又は第２のモードで動作可能にする。【選択図】図１
2019146158.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムにおいてセキュリティを提供するためのシステムであって、集積回路に実装され、物理的複製不可能機能（ＰＵＦ）デバイスと、前記コンピュータシステムの起動時に、少なくとも
同一の入力値を用いて予め設定された複数の回数だけ前記ＰＵＦデバイスを呼び出し、前記集積回路の候補識別子として使用される複数のＰＵＦ値を生成し、
ハッシュ関数を前記候補識別子に適用し、それぞれのハッシュ値を生成し、
前記ハッシュ関数の適用から前記集積回路の受け入れられた識別子までの参照ハッシュ値に、不揮発性メモリからアクセスし、
前記参照ハッシュ値を使用して、それぞれの複数の前記ハッシュ値のすべてを検証し、
それぞれの複数の前記ハッシュ値のうちのそれぞれのハッシュ値が検証されるときに、前記コンピュータシステムを第１のモードで動作可能にする、又はそうでなければ、それぞれの前記ハッシュ値のいずれも検証されないときに、前記コンピュータシステムを第２のモードで動作可能にすることであって、それぞれの前記ハッシュ値が、前記受け入れられた識別子と一致し、それによって前記受け入れられた識別子と解釈される前記候補識別子のうちの１つの候補識別子に対するものである、前記コンピュータシステムを第１のモードで動作可能にする、又はそうでなければ、第２のモードで動作可能にする
よう構成されている１つ又は複数の論理回路とを備えるシステム。
【請求項２】
前記ＰＵＦデバイスが複数のリング発振器を含み、前記ＰＵＦデバイスの前記入力値が、前記複数のリング発振器のうちの対のリング発振器の識別子のシーケンスを含み、
前記ＰＵＦデバイスを呼び出すように構成されている前記１つ又は複数の論理回路が、前記予め設定された複数の回数の各々について、前記シーケンス内の各対の識別子が、前記ＰＵＦデバイスに、前記リング発振器のそれぞれの対の発振周波数を比較させ、どちらが大きいかを示すビット値を出力させる、前記同一の入力値を適用するように構成されている前記１つ又は複数の論理回路を含み、前記ビット値が、前記対の識別子のシーケンスにわたって出力されるビット値のシーケンスのうちの１つであり、前記ビット値のシーケンスが前記入力値に対応する前記複数のＰＵＦ値のうちの１つである、請求項１に記載のシステム。
【請求項３】
それぞれの前記ハッシュ値のすべてを検証するように構成されている前記１つ又は複数の論理回路が、それぞれの前記ハッシュ値のうちの各ハッシュ値について、前記ハッシュ値を前記参照ハッシュ値と比較し、前記ハッシュ値が前記参照ハッシュ値と一致するかどうかを判定し、それによって前記ハッシュ値が検証されるように構成されている前記１つ又は複数の論理回路を含む、請求項１又は２に記載のシステム。
【請求項４】
前記コンピュータシステムを前記第１のモードで動作可能に構成されている前記１つ又は複数の論理回路が、前記コンピュータシステムに、少なくとも
ファームウェアとデータを前記コンピュータシステムのメモリ内にロードさせ、
前記受け入れられた識別子を使用して、前記ファームウェアとデータのデータ認証を実行させ、
鍵を用いて前記ファームウェアとデータの復号操作を実行させる
前記第１のモードで、前記コンピュータシステムを起動させるように構成されていることを含む、請求項１から３のいずれか一項に記載のシステム。
【請求項５】
前記コンピュータシステムを前記第２のモードで動作可能に構成されている前記１つ又は複数の論理回路が、前記コンピュータシステムに、少なくとも
前記ファームウェアとデータを前記コンピュータシステムの前記メモリ内にロードさせ、
前記受け入れられた識別子がなくても前記ファームウェアとデータの前記データ認証を実行させ、前記データ認証のいかなるエラーも無視させ、
予め設定された無効な鍵を用いて、前記ファームウェアとデータの前記復号操作を実行させる
前記第２のモードで、前記コンピュータシステムを起動させるように構成されていることを含む、請求項４に記載のシステム。
【請求項６】
前記受け入れられた識別子が、前記コンピュータシステムのルート暗号鍵の構成要素として使用される、請求項１から５のいずれか一項に記載のシステム。
【請求項７】
前記第１のモードが通常動作モードである、請求項１から６のいずれか一項に記載のシステム。
【請求項８】
前記第２のモードが、前記通常動作モードを模擬する偽の動作モードである、請求項７に記載のシステム。
【請求項９】
前記コンピュータシステムを前記第２のモードで動作可能に構成されている前記１つ又は複数の論理回路が、前記コンピュータシステムに、予め設定された遅延の後に前記コンピュータシステムのユーザにセキュリティエラーを報告させる前記第２のモードで、前記コンピュータシステムを起動させるように構成されていることを含む、請求項５に記載のシステム。
【請求項１０】
コンピュータシステムにおいてセキュリティを提供するための、請求項１から９のいずれか一項に記載のシステムによって実装される方法であって、前記システムが、集積回路に実装され、前記コンピュータシステムの起動時に、
同一の入力値を用いて予め設定された複数の回数だけ前記ＰＵＦデバイスを呼び出し、前記集積回路の候補識別子として使用される複数のＰＵＦ値を生成し、
ハッシュ関数を前記候補識別子に適用し、それぞれのハッシュ値を生成し、
前記ハッシュ関数の適用から前記集積回路の受け入れられた識別子までの参照ハッシュ値に、不揮発性メモリからアクセスし、
前記参照ハッシュ値を使用して、それぞれの複数の前記ハッシュ値のすべてを検証し、
それぞれの複数の前記ハッシュ値のうちのそれぞれのハッシュ値が検証されるときに、前記コンピュータシステムを第１のモードで動作可能にする、又はそうでなければ、それぞれの前記ハッシュ値のいずれも検証されないときに、前記コンピュータシステムを第２のモードで動作可能にすることであって、それぞれの前記ハッシュ値が、前記受け入れられた識別子と一致し、それによって前記受け入れられた識別子と解釈される前記候補識別子のうちの１つの候補識別子に対するものである、前記コンピュータシステムを第１のモードで動作可能にする、又はそうでなければ、前記コンピュータシステムを第２のモードで動作可能にする
物理的複製不可能機能（ＰＵＦ）デバイスを備える、方法。
【請求項１１】
前記ＰＵＦデバイスが複数のリング発振器を含み、前記ＰＵＦデバイスの前記入力値が、前記複数のリング発振器のうちの対のリング発振器の識別子のシーケンスを含み、
前記ＰＵＦデバイスを呼び出すことが、前記予め設定された複数の回数の各々について、前記シーケンス内の各対の識別子が、前記ＰＵＦデバイスに、前記リング発振器のそれぞれの対の発振周波数を比較させ、どちらが大きいかを示すビット値を出力させる、前記同一の入力値を適用することを含み、前記ビット値が、前記対の識別子のシーケンスにわたって出力されるビット値のシーケンスのうちの１つであり、前記ビット値の前記シーケンスが前記入力値に対応する前記複数のＰＵＦ値のうちの１つである、請求項１０に記載の方法。
【請求項１２】
それぞれの前記ハッシュ値のすべてを検証することが、それぞれの前記ハッシュ値のうちの各ハッシュ値について、前記ハッシュ値を前記参照ハッシュ値と比較し、前記ハッシュ値が前記参照ハッシュ値と一致するかどうかを判定し、それによって前記ハッシュ値が検証されることを含む、請求項１０又は１１に記載の方法。
【請求項１３】
前記コンピュータシステムを前記第１のモードで動作可能にすることが、前記コンピュータシステムに、少なくとも
ファームウェアとデータを前記コンピュータシステムのメモリ内にロードさせ、
前記受け入れられた識別子を使用して、前記ファームウェアとデータのデータ認証を実行させ、
鍵を用いて前記ファームウェアとデータの復号操作を実行させる
前記第１のモードで、前記コンピュータシステムを起動させることを含む、請求項１０から１２のいずれか一項に記載の方法。
【請求項１４】
前記コンピュータシステムを前記第２のモードで動作可能にすることが、前記コンピュータシステムに、少なくとも
前記ファームウェアとデータを前記コンピュータシステムの前記メモリ内にロードさせ、
前記受け入れられた識別子がなくても前記ファームウェアとデータの前記データ認証を実行させ、前記データ認証のいかなるエラーも無視させ、
予め設定された無効な鍵を用いて、前記ファームウェアとデータの前記復号操作を実行させる
前記第２のモードで、前記コンピュータシステムを起動させることを含む、請求項１３に記載の方法。
【請求項１５】
前記受け入れられた識別子が、前記コンピュータシステムのルート暗号鍵の構成要素として使用される、請求項１０から１４のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンピュータシステムにおけるセキュリティの提供に関し、特に、リング発振器ベースの物理的複製不可能機能（ＰＵＦ）に対する周波数変更攻撃に対する対策を使用して、コンピュータシステムにおけるセキュリティを提供することに関する。
【背景技術】
【０００２】
ＰＵＦデバイスは、評価するのは簡単だが予測するのは困難なデバイスである。ＰＵＦデバイスは、それを製造した正確な製造プロセスを考慮しても、製造は容易であるが複製は実際不可能でなければならない。この点で、ＰＵＦデバイスは、（暗号）一方向性関数のハードウェアアナログである。ＰＵＦデバイスは、例えば安全なデバイス識別のために、又は情報セキュリティのためにコンピュータシステム内のルート暗号鍵の構成要素として、使用されるチップＩＤを生成するために使用することができる。
【０００３】
ＰＵＦデバイスは、複数の同一設計のリング発振器を用いて構築することができる。しかしながら、リング発振器ベースのＰＵＦデバイスは、サイドチャネル上の発振器信号の漏洩を含み、リング発振器の周波数は、周波数変更攻撃により変更される可能性がある。ある種の単純で非侵襲的な物理的攻撃は、ＰＵＦデバイスの複数のリング発振器のうちの１つのリング発振器又は小グループの周波数を変更する可能性がある。権限のない第三者が、ＰＵＦデバイスのリング発振器への攻撃によってコンピュータシステムが正しく動作しなくなるかを観察する可能性がある。そのような攻撃を十分な回数繰り返すことによって、かつコンピュータシステムの始動時の動作を観察することによって、権限のない第三者が、ＰＵＦデバイスによって生成されるＰＵＦ値（例えばチップＩＤ）を再び生成し、よってコンピュータシステムの情報セキュリティに害を与えることができるかもしれない。
【０００４】
リング発振器ベースのＰＵＦデバイスを周波数変更攻撃から保護するための既存の解決策は、金属シールド又は内部デジタル若しくはアナログフィルタのような物理的保護を使用することを含む。既存の解決策は、サイドチャネルでの情報漏洩とシグナルインジェクション攻撃を防止するために使用することができる。しかしながら、既存の解決策は、高価であり、効果がなく、脆弱であり、かつ回避するのが容易である。
【０００５】
したがって、上記で論じた問題のうちの少なくともいくつか、並びに他の起こりうる問題を考慮に入れるシステム及び方法を有することが望ましいだろう。
【発明の概要】
【０００６】
本開示の例示的な実施態様は、リング発振器ベースのＰＵＦに対する周波数変更攻撃に対する対策を使用して、コンピュータシステムにおいてセキュリティを提供することを対象とする。既存の解決策とは対照的に、例示的な実施態様は、周波数変更攻撃に対するプロトコルレベルのアルゴリズム的対策を提供する。プロトコルレベルのアルゴリズム的対策は、ＰＵＦデバイスのリング発振器への攻撃がコンピュータシステムの適切な動作を妨げるかを権限のない第三者が容易に観察できないように、権限のない第三者を混乱させることができる。したがって、不正な第三者は、攻撃が成功したかどうかを簡単に知ることはできない。これらの対策は、制御ソフトウェア（ファームウェア）の変更のみを必要とするため、追加のハードウェアは必要ない。したがって、これらの対策は、安価であり、実装及び評価するのが容易である。
【０００７】
したがって、本開示は、以下の例示的実施態様を含むが、これらに限定されない。
【０００８】
いくつかの例示的な実施態様は、コンピュータシステムにおいてセキュリティを提供する方法を提供する。方法は、集積回路に実装され、ＰＵＦデバイスを含むシステムで実装され、方法は、コンピュータシステムの起動時に：同一の入力値を用いて予め設定された複数の回数だけＰＵＦデバイスを呼び出し、集積回路の候補識別子として使用される複数のＰＵＦ値を生成すること；ハッシュ関数を候補識別子に適用し、それぞれのハッシュ値を生成すること；ハッシュ関数の適用から集積回路の受け入れられた識別子までの参照ハッシュ値に、不揮発性メモリからアクセスすること；参照ハッシュ値を使用して、それぞれの複数のハッシュ値のすべてを検証すること；及びそれぞれの複数のハッシュ値のうちのそれぞれのハッシュ値が検証されるときに、コンピュータシステムを第１のモードで動作可能にする、又はそうでなければ、それぞれのハッシュ値のいずれも検証されないときに、コンピュータシステムを第２のモードで動作可能にすることであって、それぞれのハッシュ値が、受け入れられた識別子と一致し、それによって受け入れられた識別子と解釈される候補識別子のうちの１つの候補識別子に対するものである、コンピュータシステムを第１のモードで動作可能にする、又はそうでなければ、コンピュータシステムを第２のモードで動作可能にすることを含む。
【０００９】
任意の前述の例示的実施態様の方法のいくつかの例示的実施態様、又は前述の例示的実施態様の任意の組み合わせにおいて、ＰＵＦデバイスは複数のリング発振器を含み、ＰＵＦデバイスの入力値は、複数のリング発振器のうちの対のリング発振器の識別子のシーケンスを含み、ＰＵＦデバイスを呼び出すように構成されている１つ又は複数の論理回路は、予め設定された複数の回数の各々について、シーケンス内の各対の識別子が、ＰＵＦデバイスに、リング発振器のそれぞれの対の発振周波数を比較させ、どちらが大きいかを示すビット値を出力させる、同一の入力値を適用するように構成されている１つ又は複数の論理回路を含み、ビット値は、対の識別子のシーケンスにわたって出力されるビット値のシーケンスのうちの１つであり、ビット値のシーケンスが入力値に対応する複数のＰＵＦ値のうちの１つである。
【００１０】
任意の前述の例示的実施態様の方法のいくつかの例示的実施態様、又は前述の例示的実施態様の任意の組み合わせにおいて、それぞれのハッシュ値のすべてを検証することは、それぞれのハッシュ値のうちの各ハッシュ値について、ハッシュ値を参照ハッシュ値と比較し、ハッシュ値が参照ハッシュ値と一致するかどうかを判定し、それによってハッシュ値が検証されることを含む。
【００１１】
任意の前述の例示的実施態様の方法のいくつかの例示的実施態様、又は前述の例示的実施態様の任意の組み合わせにおいて、コンピュータシステムを第１のモードで動作可能にすることは、コンピュータシステムに、少なくとも：ファームウェアとデータをコンピュータシステムのメモリ内にロードさせ；受け入れられた識別子を使用して、ファームウェアとデータのデータ認証を実行させ；鍵を用いてファームウェアとデータの復号操作を実行させる第１のモードで、コンピュータシステムを起動させることを含む。
【００１２】
任意の前述の例示的実施態様の方法のいくつかの例示的実施態様、又は前述の例示的実施態様の任意の組み合わせにおいて、コンピュータシステムを第２のモードで動作可能にすることは、コンピュータシステムに、少なくとも：ファームウェアとデータをコンピュータシステムのメモリ内にロードさせ；受け入れられた識別子がなくてもファームウェアとデータのデータ認証を実行させ、データ認証のいかなるエラーも無視させ；予め設定された無効な鍵を用いて、ファームウェアとデータの復号操作を実行させる第２のモードで、コンピュータシステムを起動させることを含む。
【００１３】
任意の前述の例示的実施態様の方法のいくつかの例示的実施態様、又は前述の例示的実施態様の任意の組み合わせにおいて、受け入れられた識別子は、コンピュータシステムのルート暗号鍵の構成要素として使用される。
【００１４】
任意の前述の例示的実施態様の方法のいくつかの例示的実施態様、又は前述の例示的実施態様の任意の組み合わせにおいて、第１のモードは、通常動作モードである。
【００１５】
任意の前述の例示的実施態様の方法のいくつかの例示的実施態様、又は前述の例示的実施態様の任意の組み合わせにおいて、第２のモードは、通常動作モードを模擬する偽の動作モードである。
【００１６】
任意の前述の例示的実施態様の方法のいくつかの例示的実施態様、又は前述の例示的実施態様の任意の組み合わせにおいて、コンピュータシステムを第２のモードで動作可能にすることは、コンピュータシステムに、予め設定された遅延の後にコンピュータシステムのユーザにセキュリティエラーを報告させる第２のモードで、コンピュータシステムを起動させることを含む。
【００１７】
いくつかの例示的な実施態様は、コンピュータシステムにおいてセキュリティを提供するための前述のシステムを提供し、システムは、任意の前述の例示的実施態様の方法、又は前述の例示的実施態様の任意の組合せの方法を少なくとも実行するように構成された１つ又は複数の論理回路を備える。
【００１８】
本開示の上記の特徴、態様、及び利点、及びその他の特徴、態様、及び利点は、下記の詳細な説明と共に、簡潔に後述する添付図面を参照することで明らかになろう。本開示は、本明細書に記載の特定の例示的な実施態様において、この開示内に明記する２つ、３つ、４つ、又はもっと多くの特徴又は要素が明示的に組み合わされているか、若しくは列挙されているか否かにかかわらず、かかる特徴又は要素の任意の組み合わせを含む。この開示は、本開示のいかなる分離可能な特徴又は要素も、その態様及び例示的な実施態様のいずれにおいても、本開示の文脈がそうでないことを明確に指示していない限り組合せ可能であること見なされるように、全体論的に読まれるためのものである。
【００１９】
したがって、この「発明の概要」は、本開示のいくつかの態様の基本的な理解を提供するために、いくつかの例示的な実施態様を要約することだけを目的に提供されていることが理解されよう。したがって、上述の例示的な実施態様は単なる例であり、いかなる意味においても、本開示の範囲又は本質を狭めると解釈すべきではないことが理解されよう。その他の例示的な実施態様、態様、及び利点は、添付図面と併せて下記の詳細説明を参照することで明らかになろう。添付図面は、例を用いて、記載されているいくつかの例示的な実施態様の原理を示すものである。
【００２０】
上記のように本開示の例示的な実施態様を一般的な用語で説明したが、これより添付図面を参照する。これらの図面は必ずしも正確な縮尺で描かれているわけではない。
【図面の簡単な説明】
【００２１】
【図１】本開示の例示的な実施態様による、コンピュータシステムにおいてセキュリティを提供するためのシステムを示す図である。
【図２】様々な例示的実施態様による、ＰＵＦデバイスを示す
【図３】様々な例示的実施態様による、コンピュータシステムにおいてセキュリティを提供する方法の様々なステップを示すフローチャートである。
【発明を実施するための形態】
【００２２】
本開示のいくつかの実施態様が、添付図面を参照してこれより下記でより網羅的に説明されるが、添付図面には、本開示の実施態様の全てではなく一部しか示されていない。実際のところ、本開示の様々な実施態様は、多くの異なる形態で実施され、本明細書に明記されている実施態様に限定されると解釈すべきではない。むしろ、これらの例示的な実施態様は、本開示が包括的かつ完全なものになるように、かつ、当業者に本開示の範囲が十分に伝わるように、提供されている。例えば、特に明記されない限り、「第１の」、「第２の」などとして参照されるものは、特定の順番を示すと解釈すべきではない。また、（特に明記されない限り）何か別のものの上にあると説明されうるものは、その代わりに下にあることもあり、逆もまた然りである。同様に、何か別の物の左にあると説明されうる物は、その代わりに右にあることもあり、逆もまた然りである。全体を通して、類似の参照番号は類似の要素を指す。
【００２３】
本開示の例示的な実施態様は、概して、コンピュータシステムにおいてセキュリティを提供すること、特に、リング発振器ベースのＰＵＦに対する周波数変更攻撃に対する対策を使用して、コンピュータシステムにおいてセキュリティを提供することに関する。
【００２４】
図１は、本開示の例示的な実施態様による、コンピュータシステム１１０においてセキュリティを提供するためのシステム１００を示す。コンピュータシステムは、図示されたようなシステムを含みうる。例えば、コンピュータシステムは、そのシステムを備えていてもよい。別の例では、コンピュータシステムとシステムは、２つの別々のシステムでありうる。
【００２５】
システム１００は、少なくともその一部がマルチプレクサ、レジスタ、演算論理装置、メモリ、マイクロプロセッサなどの論理回路を含む又はそのような論理回路を用いて実装される複数の構成要素、ユニットなど（一般に「構成要素」）の各々の１つ又は複数を含みうる。システムは、いくつかの異なる用途のうちのいずれかのために設計されてもよく、システムへの周波数変更攻撃に対する対策を提供し、コンピュータシステム１１０におけるセキュリティを提供するために特定の適用性を有してもよい。
【００２６】
コンピュータシステム１１０は、プロセッサと、プロセッサに結合されたコンピュータ可読記憶媒体又はメモリとを含むことができ、プロセッサは、メモリに記憶された１つ又は複数のコンピュータプログラムを含むコンピュータ可読プログラムコードを実行するように構成される。１つ又は複数の機能、及び機能の組み合わせは、特定の機能を実行する専用の電子ハードウェアベースのシステム及び／又はプロセッサ、あるいは専用ハードウェアとプログラムコード命令の組み合わせによって実装されうることも理解されよう。
【００２７】
いくつかの例では、図示されるように、システム１００は、集積回路１２０内に実装される。システムは、制御論理１０１とＰＵＦデバイス１０２とを含む。コンピュータシステム１１０の起動時に、制御回路は、複数のＰＵＦ値、例えば複数のビット値のシーケンスを生成するために同一の入力値で、ＰＵＦデバイスを予め設定された複数の回数だけ、例えば１０回、呼び出すように構成される。ＰＵＦ値は、集積回路の候補識別子として使用される。本開示では、集積回路の識別子は、「チップＩＤ」と呼ばれることがある。
【００２８】
いくつかの例では、ＰＵＦデバイス１０２は、候補識別子（ＰＵＦ値）をハッシュ値生成器１０３に提供するように構成される。ハッシュ値生成器は、ハッシュ関数を候補識別子に適用してそれぞれのハッシュ値を生成し、それぞれのハッシュ値を検証モジュール１０４に提供するように構成される。
【００２９】
いくつかの例では、検証モジュール１０４は、安全な不揮発性メモリ１０５からの参照ハッシュ値にアクセスするように構成され、これは、権限のない第三者によって変更することはできない。参照ハッシュ値は、ハッシュ値生成器１０３内のハッシュ関数を集積回路１２０の受け入れられた識別子に適用することから得られる。参照ハッシュ値は、集積回路の初期設定又は較正プロセス中に不揮発性メモリに格納することができる。検証モジュールは、参照ハッシュ値を使用して、ハッシュ値生成器からのそれぞれのハッシュ値のすべてを検証するように構成される。
【００３０】
いくつかの例では、検証モジュール１０４は、検証結果を有効化モジュール１０６に提供するように構成される。有効化モジュールは、複数のそれぞれのハッシュ値のそれぞれのハッシュ値が検証されるときに、コンピュータシステム１１０を第１のモードで動作可能にし、そうでなければ複数のそれぞれのハッシュ値のいずれも検証されないときに、コンピュータシステムを第２のモードで動作可能にする。検証されたそれぞれのハッシュ値は、受け入れられた識別子と一致する複数の候補識別子のうちの１つの候補識別子に対するものであり、したがって、検証されたそれぞれのハッシュ値は、それによって受け入れられた識別子として解釈される。
【００３１】
いくつかの例では、ＰＵＦデバイスは、複数のリング発振器を含み（以下の図２に示すように）、ＰＵＦデバイス１０２の同一の入力値は、ＰＵＦデバイス内の複数のリング発振器のうちの対のリング発振器の識別子のシーケンスを含む。予め設定された複数の回数のそれぞれについて、制御論理１０１は、シーケンス内の各対の識別子がＰＵＦデバイスにＰＵＦデバイス内の各対のリング発振器の発振周波数を比較させる同一の入力値を適用するように構成される。比較に基づいて、ＰＵＦデバイスは、それぞれの対のリング発振器のどの発振周波数がより大きいかを示すビット値を出力するように構成される。ビット値は、対の識別子のシーケンスにわたって出力されるビット値のシーケンスのうちの１つである。ビット値のシーケンスは、同一の入力値に対応する複数のＰＵＦ値のうちの１つである。
【００３２】
いくつかの例では、ハッシュ値生成器１０３によって生成された複数のそれぞれのハッシュ値の各ハッシュ値について、検証モジュール１０４は、ハッシュ値を参照ハッシュ値と比較して、ハッシュ値が参照ハッシュ値と一致する（例えば等しい）かどうかを判定し、それによってハッシュ値が検証されるよう構成される。
【００３３】
いくつかの例では、複数のそれぞれのハッシュ値のうちのそれぞれのハッシュ値が検証モジュール１０４によって検証されると、有効化モジュール１０６は、コンピュータシステム１１０を第１のモードで起動させるように構成される。第１のモードでは、コンピュータシステムが、少なくともファームウェアとデータをコンピュータシステムのメモリ内にロードし、受け入れられた識別子を使用してファームウェアとデータに対してデータ認証を実行し、チップＩＤに依存しうる有効な鍵を用いてファームウェアとデータに復号操作を実行する。
【００３４】
いくつかの例では、それぞれのハッシュ値のいずれも検証モジュール１０４によって検証されないとき、有効化モジュール１０６は、コンピュータシステム１１０を第２のモードで起動させるように構成される。第２のモードでは、コンピュータシステムは、ファームウェアとデータをコンピュータシステムのメモリ内にロードさせる。第２のモードでは、コンピュータシステムはまた、受け入れられた識別子がなくてもファームウェアとデータに対してデータ認証を実行し、データ認証におけるいかなるエラーも無視させる。第２のモードでは、コンピュータシステムは更に、予め設定された無効な鍵を用いてファームウェアとデータに対して復号操作を実行させる。結果が異なるにもかかわらず、これらのアクティビティは、第１の動作モードとまったく同じである。また、オプションで、第２のモードでは、コンピュータシステムが、予め設定された遅延の後にセキュリティエラーをコンピュータシステムのユーザに報告させる。これらのステップにより、攻撃が成功したと検出されうる際に、かなりの遅延がおこる可能性がある。
【００３５】
図２は、様々な例示的実施態様によるＰＵＦデバイス１０２を示す。図示されるように、いくつかの例では、ＰＵＦデバイスは、ｎ個の同一設計のリング発振器、例えばリング発振器２０１−２０３を含む。許容誤差内で製造上のばらつきがあると、ｎ個のリング発振器がわずかに異なり、これらの差を予測することができない。ｎ個のリング発振器の物理的な違いは、それらを異なる周波数で発振させる。異なる周波数は、温度及び供給電圧によって変化する可能性があり、その場合には、ＰＵＦ値の較正又は補正が必要とされる。
【００３６】
一例では、ＰＵＦデバイス１０２はまた、２つのマルチプレクサ、例えばマルチプレクサ２０４及び２０５を含む。２つのマルチプレクサのそれぞれは、ｎ個のリング発振器から１個のリング発振器を選択することができる。ＰＵＦデバイスの入力値は、ｎ個のリング発振器のうちのリング発振器の対の識別子のシーケンスを含むことができる。入力値に基づいて、２つのマルチプレクサは、特定の対のリング発振器を選択することができる。例えば、入力値内の一対の識別子に基づいて、マルチプレクサ２０４は、リング発振器２０１を選択することができ、マルチプレクサ２０５は、リング発振器２０３を選択することができる。
【００３７】
一例では、ＰＵＦデバイス１０２はまた、２つのカウンタ、例えばカウンタ２０６及び２０７を含む。各カウンタは、マルチプレクサ２０４、２０５によって選択されたリング発振器の発振周波数を測定する。例えば、カウンタ２０６は、マルチプレクサ２０４によって選択されたリング発振器、例えばリング発振器２０１の発振周波数を測定することができ、カウンタ２０７は、マルチプレクサ２０５によって選択されたリング発振器、例えばリング発振器２０３の発振周波数を測定することができる。一例では、カウンタは、予め設定された期間内に対応するリング発振器の発振周期をカウントすることによって、周波数を測定する。
【００３８】
一例では、各選択された対、例えばリング発振器２０１及び２０３を含む対に対して、カウンタ２０６及び２０７によって測定された２つのリング発振器の発振周波数が、比較器２０８で比較される。各比較について、ＰＵＦデバイス１０２は、ビット値（例えば、カウンタ２０６によって測定されたリング発振器の周波数が、カウンタ２０７によって測定されたリング発振器の周波数より小さい場合は０、そうでない場合は１）を出力する。したがって、入力値がｎ個のリング発振器のリング発振器の対の識別子のシーケンスのシーケンスを含む場合、ＰＵＦデバイスは、比較のシーケンスを実行し、ビット値のシーケンスを出力し、それがＰＵＦ値を構成する。
【００３９】
ｎ個のリング発振器がある場合、ｎ２個の可能な入力値があるが、比較するのはｎ・（ｎ−１）／２個の順序付けられた対だけであることに留意されたい。ただし、特定の組の比較結果によって、他の比較結果が決定し、独立した比較の数が
2019146158.tif 000003
まで減少する。実際のシステムでは、リング発振器のいくつかの周波数は、確実に区別するには近すぎることがあり、したがって、確実な動作のため及び高い安全性のために、数百のリング発振器が、ＰＵＦデバイス１０２に必要とされることがある。
【００４０】
いくつかの例では、受け入れられた識別子は、コンピュータシステム１１０のルート暗号鍵の構成要素として使用される。他の秘密情報もまた、慣習的に、例えば非表示の不揮発性ストレージに格納される鍵値などのルート鍵生成に含めることができる。これらの情報は、例えばハッシュ関数によって一緒に「混合」して、コンピュータシステムのルート暗号鍵を生成することができる。受け入れられた識別子は、ＰＵＦ構成要素が実装されているチップの実質的に固有の識別子としても使用することもできる。このチップＩＤは、慣習的に秘密にしてもよく、任意の依存するルート鍵の秘密を危うくすることはない。したがって、暗号ハッシュ関数のような一方向性関数をチップＩＤに適用し、チップの公開ＩＤを得ることができる。
【００４１】
ＰＵＦデバイス１０２は、受け入れられた識別子として解釈され、再びチップＩＤと称されうる候補識別子を生成するために使用することができる。上述のように、このチップＩＤは時々、コンピュータシステム１１０のルート暗号鍵の構成要素として使用されうる。本開示の例示的な実施態様を更に例示するために、以下の説明は、ＰＵＦデバイスがコンピュータシステムのチップＩＤ又はルート鍵の構成要素を生成するために使用される様々な用途に関する更なる情報を提供する。これらの用途の少なくともいくつかについては、固定された（しばしば秘密の）一連の入力が選択されてもよく、連結された出力ビット（すなわち、ＰＵＦ値）は、チップＩＤ、又はルート鍵の構成要素を形成することができる。チップＩＤは、（少なくとも極めて高い確率で）あらゆるチップ又は集積回路に固有のものとすることができる。デジタル指紋（暗号化ハッシュ値）は、正しいチップＩＤから計算され、参照が値を有するときに不揮発性メモリ１０５に記憶できる。ランダムな回路ノイズ又は周波数変更攻撃が計算されたチップＩＤを変更する可能性があるので、検証モジュール１０４は、計算されたすべてのチップＩＤが正しいかどうかを検証することができる。
【００４２】
発振信号は、電磁（ＥＭ）放射を介した容量式又は誘導式の方法で、ＰＵＦデバイス１０２内のリング発振器から漏洩する可能性がある。漏洩信号は、電力線又はＰＵＦデバイスのコネクタ（ピン）で測定することができる。漏洩した信号を分析することによって、権限のない第三者がリング発振器の予想されるカウンタ値のテーブルを構築することができ、それは周波数変更攻撃を手助けすることになる。より長い時間を使用するが、周波数変更攻撃はまた、この知識がなくても機能する可能性がある。
【００４３】
権限のない第三者がＰＵＦデバイス１０２について得ることができる主な情報は、生成されたＰＵＦ値が正しいか否かである。生成されたＰＵＦ値が不正確になるように、不正な第三者がＰＵＦデバイス内のリング発振器の１つ又は２〜３のターゲットとされる発振周波数を変更することができる場合、コンピュータシステム１１０は、正常に始動（起動）しないだろう。コンピュータシステムの異常な始動又は起動の動作を観察することにより、不正な第三者が、ＰＵＦデバイスの比較構造に関する貴重な情報を入手する。不正な第三者がこのような情報を十分に収集した場合、正しいＰＵＦ値（正しいチップＩＤ）が推測される可能性がある。
【００４４】
一例では、干渉は、磁気コイル、供給電圧変調による容量性プレート、出力ピン上の負荷変動、又はレーザインパルスを介して注入することができる。別の例では、その供給電圧が同じワイヤによって供給されるとき、又はその動作が基板の電位を変化させるときに、内部マイクロプロセッサ上において短いループで特定のプログラムを実行することによってさえ、干渉を注入することができる。
【００４５】
権限のない第三者は、その周波数に影響を与えるために、ＰＵＦデバイス１０２内のターゲットのリング発振器に干渉を注入する。この特定のリング発振器が干渉下で始動すると、この干渉にロックがかかる。この時点で、権限のない第三者が、干渉信号をより高い又はより低い周波数に徐々に調整し、ターゲットのリング発振器はそれに従うが、他のリング発振器はそれに従わない。このような攻撃下でコンピュータシステム１１０の起動動作を観察することによって、ＰＵＦの単一周波数の比較をチェックし、マッピングすることができる。
【００４６】
別の例では、供給電圧の速くて大きな（例えば５％）の振幅は、ＰＵＦデバイス１０２内の特定のリング発振器を、通常の条件下よりも著しく高い又は低い周波数で振動させる。周波数の変化は、例えば３０％を超える周波数の変化などのように、顕著になりうる。ＰＵＦデバイス１０２内の全てのリング発振器が、速い電圧振幅によって等しく影響を受けるわけではない。供給ライン上の様々なリップルパターンに応じて漏洩発振信号を測定することにより、権限のない第三者は、他のグループに影響を与えずに、あるグループのリング発振器の周波数を変更する方法に関する情報を得ることができる。権限のない第三者も、リング発振器の周波数関係をどのように操作するかについての情報を収集することができる。コンピュータシステム１１０の起動動作を観察することによって、権限のない第三者は、どの周波数比較がＰＵＦデバイス１０２によって実行されるかについての情報を得る。
【００４７】
権限のない第三者は、上述のように、ＰＵＦデバイス１０２内の特定の個々のリング発振器又はリング発振器のグループにそれらの周波数を変更させることができる。特定の１つ又は複数のリング発振器の周波数変化がコンピュータシステム１１０の起動を妨げると、権限のない第三者は、攻撃された周波数（及び対応するリング発振器）が比較のためにＰＵＦデバイスで使用され、周波数の変化がいくつかの比較を反転させることを知る。異なるリング発振器が攻撃されるときのコンピュータシステムの起動時の動作を観察することによって、不正な第三者は、生成されたＰＵＦ値を知るために十分な情報を得ることができ、又は少なくとも徹底的な検索がその真の値を明らかにするように、そのエントロピーを低減することができる。これにより、チップＩＤとルート鍵への直接攻撃が可能になる。
【００４８】
いくつかの例では、システム１００は、周波数変更攻撃に対するコンピュータシステム１１０の応答を難読化するための対策を提供する。難読化された応答は、権限のない第三者によって観察される可能性がある。周波数変更攻撃がなければ、ＰＵＦ計算はノイズの多いプロセスであり、ランダムな回路ノイズ又は環境影響のために時折失敗する可能性があるので、生成されたチップＩＤが正しくない場合、コンピュータシステムは、それを再試行しなければならない。周波数変更攻撃では、ＰＵＦ値の強制的な再計算は、攻撃がＰＵＦデバイス１０２内のリング発振器の少なくとも１つの周波数比較に影響を及ぼすのに成功した（少なくとも高い確率で）ことを直ちに権限のない第三者に知らせる。権限のない第三者はまた、影響を受けた周波数比較が実際にＰＵＦ値を生成するために使用されていることを知ることもできる。
【００４９】
第１レベルの対策では、システム１００の制御論理１０１は、チップＩＤ生成プロセスを実行するために予め設定された回数（例えば、ｋ＝１０回）で、ＰＵＦデバイス１０２を呼び出すように構成される。ｋ個の計算されたチップＩＤのうちのいずれか１つが正しい（記憶されたデジタル指紋、例えばハッシュ値を参照することによって検証される）場合、コンピュータシステム１１０は、もしあれば、ｋ回のどの計算が失敗したかを明らかにせずに、正しいチップＩＤを使用することができる。一例では、システムの制御論理は、たとえｋ個のチップＩＤ計算のうちの第１又は第２のチップＩＤ計算において、正しいチップＩＤ値が早い段階で計算されたとしても、ＰＵＦデバイスを呼び出し、常にｋ個（例えば１０個）すべてのチップＩＤ計算を実行するように構成される。そうでなければ、コンピュータシステム１１０の起動時間の変動は、ＰＵＦ評価プロセスの成功及び失敗のシーケンスに依存しうる。始動タイミングの変動により、不正利用可能な情報が権限のない第三者に漏洩することがある。
【００５０】
いくつかの例では、ｋ個の計算されたチップＩＤのうちのいずれか１つが正しい場合（計算されたハッシュ値が、検証モジュール１０４によって検証されるとき）、有効化モジュール１０６は、コンピュータシステム１１０を通常の動作モード（上述の第１のモード）で起動させるように構成される。通常動作モードでは、コンピュータシステムは、少なくとも：ファームウェアとデータをコンピュータシステムのメモリ内にロードし；受け入れられた識別子を使用してファームウェアとデータに対してデータ認証を実行し；ファームウェアとデータを復号操作する。
【００５１】
周波数変更攻撃は信頼性が低く、つまり、散発的にしか成功しない。いくつかの要因が、周波数変更攻撃の成功に影響を与えうる。例えば、回路ノイズは、権限のない第三者にとって予測不可能であるが、それは、ＰＵＦデバイス１０２内のリング発振器の発振周波数に影響を及ぼしうる。また、クロック信号は、位相スキューを有することがある。コンピュータシステム１１０は１つの正しいチップＩＤを用いて適切に動作することができるので、攻撃が成功すると、ｋ個すべてのチップＩＤ計算が首尾よく攻撃され、ｋ個すべてのＰＵＦ値が損なわれるに違いない。ｋ個すべてのＰＵＦ値を無効にするために攻撃をｋ回繰り返さなければならない場合、ほぼ確実に、ｋ個すべてのＰＵＦ値の中に１つ又は複数の正しいチップＩＤ計算が存在することになる。したがって、ｋ回すべての試行がｋ回すべてのチップＩＤ計算に対して成功することを保証するために、攻撃を何度も繰り返さなければならない。一例では、攻撃が１０％の時間成功し、ｋ＝１０である場合、チップＩＤのｋ回すべての計算が反復攻撃によって台無しにされる可能性は１０-１０であり、極めて可能性が低くなる。したがって、第一段階の対策が有効である。
【００５２】
別の例では、第２レベルの対策は、チップＩＤ生成が完全に失敗した（チップＩＤ計算に対するｋ回すべての呼び出しが誤ったＰＵＦ値を生成した）かどうかの情報を隠すことができる。
【００５３】
いくつかの例では、チップＩＤ生成が完全に失敗した場合（計算されたハッシュ値のいずれも検証モジュール１０４によって検証されない場合）、コンピュータシステム１１０は、正しいチップＩＤがなくても又は正しいルート鍵がなくても機能しないことになる。この場合、有効化モジュール１０６は、コンピュータシステムを偽の動作モード（上述の第２のモード）で起動させるように構成される。偽の動作モードでは、コンピュータシステムに、ファームウェアとデータをコンピュータシステムのメモリ内にロードさせる。偽の動作モードでは、またコンピュータシステムに、受け入れられた識別子がなくてもファームウェアとデータに対してデータ認証を実行させ、データ認証におけるいかなるエラーも無視させる。偽の動作モードでは、更にコンピュータシステムに、予め設定された無効な鍵を用いてファームウェアとデータに対して復号操作を実行させる。更に、オプションで、偽の動作モードで、偽の起動手順の終わりに予め設定された遅延の後に、コンピュータシステムのユーザにセキュリティエラーを報告させる。偽の動作モードでは、コンピュータシステムは、すべての初期化作業を実行することができる。偽の動作モードは、通常動作モードを模擬する。
【００５４】
第２レベルの対策の有効性は、偽の動作モードが通常動作モードをどの程度模擬できるかに依存する。偽の動作モードでの機能の欠如、単純な電力解析、又はタイミング解析のいずれかにより、権限のない第三者が最終的になおも違いを見つける可能性があろう。すなわち、権限のない第三者は、周波数変更攻撃がＰＵＦデバイス１０２を首尾よく攻撃したかを最終的に検出することができ、その結果、コンピュータシステム１１０は、通常動作モードで動作することができない。そのため、第２レベルの対策は、ＰＵＦデバイスへの攻撃を遅らせることができるが、すべての攻撃を防止できないかもしれない。この減速により、周波数変更攻撃がＰＵＦデバイスの１つ又は複数のリング発振器に正常に影響を与えたことを検出するために権限のない第三者が使用する時間が、ミリ秒から秒に増加する可能性がある。それはＰＵＦデバイスへの攻撃の３桁規模の減速である。
【００５５】
第２レベルの対策は、第１レベルの対策と組み合わせることも、別々に使用することもできる。保護されていないＰＵＦデバイスを攻撃して、正しいチップＩＤを再び作成するのに、数週間かかることがある。上記の第１レベル及び第２レベルの対策を使用することによって、正しいチップＩＤを再び作成するための周波数変更攻撃は、数年に増やされる。それまでに、保護された情報は、権限のない第三者に無関係又は無価値になる可能性がある。チップごとにリング発振器が異なるため、１つのチップが（何年も試行した後に）首尾よく攻撃された場合、失われた秘密情報は、他のチップをより速く攻撃するために使用できないことに留意されたい。また、製造上のランダムなばらつきにより、リング発振器、更にはＰＵＦデバイスも、配置されたコンピュータシステムごとに異なる。したがって、多くのコンピュータシステムを同時に攻撃しても、権限のない第三者には役立たない。１つのコンピュータシステムへの攻撃が成功するまでには長い時間がかかり、攻撃に成功したコンピュータシステムから得られた情報は、他のコンピュータシステムを攻撃するのに役立たない。
【００５６】
図３は、様々な例示的実施態様による、コンピュータシステム１１０においてセキュリティを提供する方法３００の様々なステップを示すフローチャートである。方法は、システム１００によって実施される。システムは、集積回路１２０内に実装され、複数のリング発振器、例えばリング発振器２０１−２０３を含むＰＵＦデバイス１０２を含む。コンピュータシステムの始動時に、ブロック３０１において、方法は、複数のＰＵＦ値を生成するために、同一の入力値を用いてＰＵＦデバイスを予め設定された複数の回数だけ呼び出すことを含む。ＰＵＦ値は、集積回路の候補識別子として使用される。ブロック３０２において、方法は、ハッシュ関数を候補識別子に適用してそれぞれのハッシュ値を生成することを含む。ブロック３０３において、方法は、不揮発性メモリ１０５から参照ハッシュ値にアクセスすることを含む。参照ハッシュ値は、ハッシュ関数の適用から集積回路の受け入れられた識別子までである。ブロック３０４において、方法は、参照ハッシュ値を使用してそれぞれのハッシュ値のすべてを検証することを含む。ブロック３０５において、方法は、複数のそれぞれのハッシュ値のそれぞれのハッシュ値が検証されるときに、コンピュータシステムを第１のモードで動作可能にすること、又はそうでなければ、それぞれのハッシュ値のいずれも検証されないときに、コンピュータシステムを第２のモードで動作可能にすることを含む。検証されたそれぞれのハッシュ値は、一致する候補識別子のうちの候補識別子に対するものであり、それによって受け入れられた識別子と解釈される。
【００５７】
このセクションは、限定することなく、一連の段落として提示された本開示のシステム及び方法の更なる態様及び特徴を記載し、それらのいくつか又はすべては、明確かつ効率的に英数字で指定されうる。
【００５８】
Ａ１．  コンピュータシステムにおいてセキュリティを提供するためのシステムであって、集積回路に実装され、物理的複製不可能機能（ＰＵＦ）デバイスと、前記コンピュータシステムの起動時に、少なくとも同一の入力値を用いて予め設定された複数の回数だけＰＵＦデバイスを呼び出し、集積回路の候補識別子として使用される複数のＰＵＦ値を生成し；ハッシュ関数を候補識別子に適用し、それぞれのハッシュ値を生成し；ハッシュ関数の適用から集積回路の受け入れられた識別子までの参照ハッシュ値に、不揮発性メモリからアクセスし；参照ハッシュ値を使用して、それぞれの複数のハッシュ値のすべてを検証し；それぞれの複数のハッシュ値のうちのそれぞれのハッシュ値が検証されるときに、コンピュータシステムを第１のモードで動作可能にする、又はそうでなければ、それぞれのハッシュ値のいずれも検証されないときに、コンピュータシステムを第２のモードで動作可能にすることであって、それぞれのハッシュ値が、受け入れられた識別子と一致し、それによって受け入れられた識別子と解釈される候補識別子のうちの１つの候補識別子に対するものである、コンピュータシステムを第１のモードで動作可能にする、又はそうでなければ、コンピュータシステムを第２のモードで動作可能にするよう構成される１つ又は複数の論理回路を含む。
Ａ２．  ＰＵＦデバイスは複数のリング発振器を含み、ＰＵＦデバイスの入力値は、複数のリング発振器のうちの対のリング発振器の識別子のシーケンスを含み、ＰＵＦデバイスを呼び出すように構成されている１つ又は複数の論理回路が、予め設定された複数の回数の各々について、シーケンス内の各対の識別子が、ＰＵＦデバイスに、リング発振器のそれぞれの対の発振周波数を比較させ、どちらが大きいかを示すビット値を出力させる、同一の入力値を適用するように構成されている１つ又は複数の論理回路を含み、ビット値が、対の識別子のシーケンスにわたって出力されるビット値のシーケンスのうちの１つであり、ビット値のシーケンスが入力値に対応する複数のＰＵＦ値のうちの１つである、段落Ａ１に記載のシステム。
Ａ３．  それぞれのハッシュ値のすべてを検証するように構成されている１つ又は複数の論理回路が、それぞれのハッシュ値のうちの各ハッシュ値について、ハッシュ値を参照ハッシュ値と比較し、ハッシュ値が参照ハッシュ値と一致するかどうかを判定し、それによってハッシュ値が検証されるように構成されている１つ又は複数の論理回路を含む、段落Ａ１に記載のシステム。
Ａ４．  コンピュータシステムを第１のモードで動作可能に構成されている１つ又は複数の論理回路が、コンピュータシステムに、少なくとも：ファームウェアとデータをコンピュータシステムのメモリ内にロードさせ；受け入れられた識別子を使用して、ファームウェアとデータのデータ認証を実行させ；鍵を用いてファームウェアとデータの復号操作を実行させる第１のモードで、コンピュータシステムを起動させるように構成されていることを含む、段落Ａ１に記載のシステム。
Ａ５．  コンピュータシステムを第２のモードで動作可能に構成されている１つ又は複数の論理回路が、コンピュータシステムに、少なくともファームウェアとデータをコンピュータシステムのメモリ内にロードさせ；受け入れられた識別子がなくてもファームウェアとデータのデータ認証を実行させ、データ認証のいかなるエラーも無視させ；予め設定された無効な鍵を用いて、ファームウェアとデータの復号操作を実行させる第２のモードで、コンピュータシステムを起動させるよう構成されていることを含む、段落Ａ４に記載のシステム。
Ａ６．  受け入れられた識別子が、コンピュータシステムのルート暗号鍵の構成要素として使用される、段落Ａ１に記載のシステム。
Ａ７．  第１のモードが通常動作モードである、段落Ａ１に記載のシステム。
Ａ８．  第２のモードが、通常動作モードを模擬する偽の動作モードである、段落Ａ７に記載のシステム。
Ａ９．  コンピュータシステムを第２のモードで動作可能に構成されている１つ又は複数の論理回路が、コンピュータシステムに、予め設定された遅延の後にコンピュータシステムのユーザにセキュリティエラーを報告させる第２のモードで、コンピュータシステムを起動させるように構成されていることを含む、段落Ａ５に記載のシステム。
Ｂ１０．  コンピュータシステムにおいてセキュリティを提供するためのシステムによって実装される方法であって、システムが、集積回路に実装され、物理的複製不可能機能（ＰＵＦ）デバイスを備え、コンピュータシステムの起動時に、同一の入力値を用いて予め設定された複数の回数だけＰＵＦデバイスを呼び出し、集積回路の候補識別子として使用される複数のＰＵＦ値を生成し；ハッシュ関数を候補識別子に適用し、それぞれのハッシュ値を生成し；ハッシュ関数の適用から集積回路の受け入れられた識別子までの参照ハッシュ値に、不揮発性メモリからアクセスし；参照ハッシュ値を使用して、それぞれの複数のハッシュ値のすべてを検証し；それぞれの複数のハッシュ値のうちのそれぞれのハッシュ値が検証されるときに、コンピュータシステムを第１のモードで動作可能にする、又はそうでなければ、それぞれのハッシュ値のいずれも検証されないときに、コンピュータシステムを第２のモードで動作可能にすることであって、それぞれのハッシュ値が、受け入れられた識別子と一致し、それによって受け入れられた識別子と解釈される候補識別子のうちの１つの候補識別子に対するものである、第１のモードで動作可能にする、又はそうでなければ、第２のモードで動作可能にする、方法。
Ｂ１１．  ＰＵＦデバイスが複数のリング発振器を含み、ＰＵＦデバイスの入力値が、複数のリング発振器のうちの対のリング発振器の識別子のシーケンスを含み、ＰＵＦデバイスを呼び出すことが、予め設定された複数回の各々について、シーケンス内の各対の識別子が、ＰＵＦデバイスに、リング発振器のそれぞれの対の発振周波数を比較させ、どちらが大きいかを示すビット値を出力させる、同一の入力値を適用することを含み、ビット値が、対の識別子のシーケンスにわたって出力されるビット値のシーケンスのうちの１つであり、ビット値のシーケンスが入力値に対応する複数のＰＵＦ値のうちの１つである、段落Ｂ１０に記載の方法。
Ｂ１２．  それぞれのハッシュ値のすべてを検証することが、それぞれのハッシュ値のうちの各ハッシュ値について、ハッシュ値を参照ハッシュ値と比較し、ハッシュ値が参照ハッシュ値と一致するかどうかを判定し、それによってハッシュ値が検証されること含む、段落Ｂ１０に記載の方法。
Ｂ１３．  コンピュータシステムを第１のモードで動作可能に構成されている１つ又は複数の論理回路が、コンピュータシステムに、少なくとも：ファームウェアとデータをコンピュータシステムのメモリ内にロードさせ；受け入れられた識別子を使用して、ファームウェアとデータのデータ認証を実行させ；鍵を用いてファームウェアとデータの復号操作を実行させる第１のモードで、コンピュータシステムを起動させることを含む、段落Ｂ１０に記載の方法。
Ｂ１４．  コンピュータシステムを第２のモードで動作可能にすることは、コンピュータシステムに、少なくとも：ファームウェアとデータをコンピュータシステムのメモリ内にロードさせ；受け入れられた識別子がなくてもファームウェアとデータのデータ認証を実行させ、データ認証のいかなるエラーも無視させ；予め設定された無効な鍵を用いて、ファームウェアとデータの復号操作を実行させる第２のモードで、コンピュータシステムを起動させることを含む、段落Ｂ１３に記載の方法。
Ｂ１５．  受け入れられた識別子が、コンピュータシステムのルート暗号鍵の構成要素として使用される、段落Ｂ１０に記載の方法。
Ｂ１６．  第１のモードが通常動作モードである、段落Ｂ１０に記載の方法。
Ｂ１７．  第２のモードが、通常動作モードを模擬する偽の動作モードである、段落Ｂ１６に記載の方法。
Ｂ１８．  コンピュータシステムを第２のモードで動作可能にすることが、コンピュータシステムに、予め設定された遅延の後にコンピュータシステムのユーザにセキュリティエラーを報告させる第２のモードで、コンピュータシステムを起動させることを含む、段落Ｂ１４に記載の方法。
【００５９】
上述の説明及び添付図面において提示されている教示の恩恵を受ける、本開示に関連する当業者には、本明細書に明記された本開示の多数の修正例及びその他の実施形態が想起されよう。従って、本開示は開示された特定の実施態様に限定されず、修正例及び他の実施態様は付随する特許請求の範囲の中に含まれることが意図されているものと理解すべきである。更に、上述の説明及び添付図面は、要素及び／又は機能の特定の例示的な組み合わせに照らして例示的な実施態様を説明しているが、付随する特許請求の範囲から逸脱せずに、代替的な実施態様によって、要素及び／又は機能の様々な組み合わせが提供されうることを理解すべきである。つまり、付随する特許請求の範囲の一部に明記されうるように、例えば、明示的に上述されているものとは異なる要素及び／又は機能の組み合わせも想定される。本明細書では特定の用語が用いられているが、それらは、一般的な、及び説明的な意味でのみ使用されており、限定を目的とするものではない。
【図１】
2019146158.tif 000004
【図２】
2019146158.tif 000005
【図３】
2019146158.tif 000006
【外国語明細書】
2019146158000001.pdf
2019146158000002.pdf
2019146158000003.pdf
2019146158000004.pdf