(57)【要約】【課題】  本発明は、物理的に複製不可能な機能（ＰＵＦ）を生成する回路またはその他の構成要素を利用してＲＳＡ公開鍵または秘密鍵等のセキュリティワードを生成することにより、電子機器に使用される集積回路チップのセキュリティを確保するシステムを目的とする。ＰＵＦは、その名称および構成の通り、複写または複製が実質的に困難な機能を実行する。これにより、本発明は固有且つ極めて安全な認証システムを提供することができる。動作時において、保存されたパラメータを用いて、高負荷なセキュリティ鍵生成プロセスを実行する必要なく、且つ機器のセキュリティのレベルを犠牲にすることなく、より効率的且つ迅速に機器を認証することができる。そのようなシステムを用いて、ユーザーが電源投入時または他のアクセス時点で機器を認証する必要がある場合に、セキュリティ鍵を生成するための時間をほぼなくすことができる。
2010527219.tif 000002
【特許請求の範囲】
【請求項１】
電子的に機器のセキュリティを確保する方法であって、
物理的に複製不可能な機能（ＰＵＦ）回路から出力を生成してＰＵＦ出力を生成するステップと、
伝達関数パラメータを取り出すステップと、
当該ＰＵＦ出力および伝達関数パラメータを用いて伝達関数アルゴリズムを実行することによりセキュリティ鍵を生成するステップを含む方法。
【請求項２】
当該ＰＵＦ出力に対し誤り訂正処理を実行して修正済みＰＵＦ出力を生成するステップと、
当該修正済みＰＵＦ出力およびストレージからの伝達関数パラメータを用いて伝達関数アルゴリズムを実行することによりセキュリティ鍵を生成するステップを更に含む、請求項１に記載の方法。
【請求項３】
誤り訂正処理を実行するステップが、当該ＰＵＦ出力を受信し、ＥＣＣパリティビットを取り出し、そして当該ＰＵＦ出力およびパリティビットを用いて誤り訂正アルゴリズムを実行するステップを含む、請求項２に記載の方法。
【請求項４】
誤り訂正の前に、当該ＰＵＦ出力に対し検証処理を実行するステップを更に含む、請求項３に記載の方法。
【請求項５】
誤り訂正の後で、当該ＰＵＦ出力に対し検証処理を実行するステップを更に含む、請求項３に記載の方法。
【請求項６】
セキュリティ鍵を生成するステップが、当該ＰＵＦ出力およびストレージからの少なくとも１個の伝達関数パラメータを用いて伝達関数アルゴリズムを実行するステップを含む、請求項１に記載の方法。
【請求項７】
物理的に複製不可能な機能（ＰＵＦ）回路から出力を生成するステップが、ＰＵＦ回路を励起してＰＵＦ出力を生成するステップと、検証アルゴリズムを実行して一貫したＰＵＦ出力を生成するステップと、当該一貫したＰＵＦ出力に対し誤り訂正パリティビットを用いて誤り訂正を実行して修正済みＰＵＦ出力を生成するステップとを含み、
ストレージから伝達関数パラメータを取り出すステップが、メモリに保存された複数の伝達関数オフセット値を取り出すステップを含み、
セキュリティ鍵を生成するステップが、当該修正済みＰＵＦ出力およびストレージからの少なくとも１個の伝達関数オフセット値を用いて伝達関数アルゴリズムを実行するステップを含む、請求項１に記載の方法。
【請求項８】
セキュリティ鍵を生成するステップが、当該修正済みＰＵＦ出力および伝達関数オフセット値を用いて伝達関数アルゴリズムを実行するステップを含んでいて、
当該ＰＵＦ出力を疑似乱数発生器により受信してシード値を生成するステップと、
当該シード値を伝達関数オフセット値と組み合わせることにより素数を生成するステップと、
当該素数を用いてセキュリティ鍵を生成するステップを更に含む、請求項１に記載の方法。
【請求項９】
当該ＰＵＦ出力を複数の疑似乱数発生器により受信して複数のシード値を生成するステップと、
当該シード値を対応する伝達関数オフセット値と組み合わせることにより複数の素数を生成するステップと、
当該複数の素数を用いてセキュリティ鍵を生成するステップにより、複数のセキュリティ鍵を生成するステップを更に含む、請求項１に記載の方法。
【請求項１０】
２個の独立した擬似乱数発生器により当該ＰＵＦ出力を受信して２個のシード値を生成するステップと、
当該２個のシード値を対応する伝達関数オフセット値と組み合わせることにより２個の素数を生成するステップと、
当該複数の素数を用いてセキュリティ鍵を生成するステップによる、複数のセキュリティ鍵を生成するステップを更に含む、請求項１に記載の方法。
【請求項１１】
第１の疑似乱数発生器によりＰＵＦ出力を受信して第１のシード値を生成するステップと、
当該第１のシード値を対応する第１伝達関数オフセット値と組み合わせることにより第１の素数を生成するステップと、
第２の疑似乱数発生器によりＰＵＦ出力を受信して第２のシード値を生成するステップと、
当該第２のシード値を第２の対応する伝達関数オフセット値と組み合わせることにより第２の素数を生成するステップと、
当該第１および第２の素数を用いて秘密および公開セキュリティ鍵を生成するステップによる、複数のセキュリティ鍵を生成するステップを更に含む、請求項１に記載の方法。
【請求項１２】
ＰＵＦ出力を第３のオフセット値と組み合わせて、暗号化データの復号に用いる復号鍵を生成するステップを更に含む、請求項１１に記載の方法。
【請求項１３】
ＰＵＦ出力を第３のオフセット値と組み合わせて対称復号鍵を生成するステップと、
対称復号装置により当該対称復号鍵と暗号化署名用鍵を組み合わせて署名用鍵を生成するステップと、
当該署名用鍵を当該公開セキュリティ鍵と組み合わせて署名を生成するステップを更に含む、請求項１１に記載の方法。
【請求項１４】
署名オフセット値をストレージから取り出すステップと、
ＰＵＦ出力を第３のオフセット値と組み合わせて対称復号鍵を生成するステップと、
対称復号装置により当該対称復号鍵と暗号化署名用鍵を組み合わせて署名用鍵を生成するステップと、
当該署名用鍵と当該公開セキュリティ鍵を組み合わせて署名を生成するステップを更に含む、請求項１１に記載の方法。
【請求項１５】
電子的に機器のセキュリティを確保する方法であって、
物理的に複製不可能な機能（ＰＵＦ）回路から出力を生成してＰＵＦ出力を生成するステップと、
署名伝達関数パラメータを取り出すステップと、
当該ＰＵＦ出力を当該署名伝達関数パラメータと組み合わせて対称復号鍵を生成するステップと、
対称復号装置を用いて当該対称復号鍵を暗号化署名用鍵と組み合わせて署名用鍵を生成するステップと、
当該署名用鍵と公開セキュリティ鍵を組み合わせて署名セキュリティ鍵を生成するステップを含む方法。
【請求項１６】
電子的に機器のセキュリティを確保する方法であって、
物理的に複製不可能な機能（ＰＵＦ）回路からの出力をＰＵＦ出力として読み出すステップと、
当該ＰＵＦ出力を用いて伝達関数パラメータを計算するステップと、
当該ＰＵＦ出力を当該伝達関数パラメータと組み合わせることによりセキュリティ鍵を生成する後続動作のために、当該伝達関数パラメータを不揮発性メモリに保存するステップを含む方法。
【請求項１７】
誤り訂正パリティビットを生成して、エラーが修正されている修正済みＰＵＦ出力を生成する際に後で使用すべくメモリに保存するステップを更に含む、請求項１６に記載の方法。
【請求項１８】
当該伝達関数パラメータを計算するステップが、
第１の疑似乱数発生器により第１のシード値を生成するステップと、
当該第１のシード値を用いて第１の素数発生器により第１の素数を生成するステップと、
当該第１のシード値および当該第１の素数により第１の伝達関数オフセット値を計算するステップと、
第２の疑似乱数発生器により第２のシード値を生成するステップと、
当該第２のシード値を用いて第２の素数発生器により第２の素数を生成するステップと、
当該第２のシード値および当該第２の素数により第２の伝達関数オフセット値を計算するステップによる、複数のオフセット値を生成するステップを含む、請求項１６に記載の方法。
【請求項１９】
複数のオフセット値を計算するステップが、当該第１のシード値および当該第１の素数を用いて算術演算を実行するステップを含む、請求項１８に記載の方法。
【請求項２０】
複数のオフセット値を計算するステップが、当該第１のシード値を当該第１の素数に加算するステップを含む、請求項１８に記載の方法。
【請求項２１】
複数のオフセット値を計算するステップが、当該第１のシード値を当該第１の素数から減算ずるステップを含む、請求項１８に記載の方法。
【請求項２２】
複数のオフセット値を計算するステップが、当該第１のシード値を当該第１の素数で除算するステップを含む、請求項１８に記載の方法。
【請求項２３】
当該ＰＵＦ出力に対し検証アルゴリズムを実行して一貫したＰＵＦ出力を生成するステップを更に含む、請求項１６に記載の方法。
【請求項２４】
検証アルゴリズムを実行するステップが、複数のＰＵＦ出力を受信するステップと、統計的に一貫した出力値を選択して、一貫したＰＵＦ出力を生成するステップを含む、請求項２３に記載の方法。
【請求項２５】
検証アルゴリズムを実行するステップが、複数のＰＵＦ出力を受信するステップと、統計的に一貫した出力値を選択して、所定のパラメータに応じて検証済みＰＵＦ出力を生成するステップを含む、請求項２３に記載の方法。
【請求項２６】
セキュリティパラメータとして鍵ペアを計算することにより出力セキュリティパラメータを生成するステップを更に含む、請求項１６に記載の方法。
【請求項２７】
当該ＰＵＦ出力およびセキュリティパラメータが整数であって、セキュリティ出力が当該ＰＵＦ出力より大きく、伝達関数を規定するステップが伝達関数の算術式を識別するステップを含む、請求項１６に記載の方法。
【請求項２８】
当該算術式がｙ＝ｍｘ＋ｂの形式であって、ｍおよびｂの値はデータストレージに保存され、ｘは当該ＰＵＦ出力の値であり、ｙは得られたセキュリティパラメータである、請求項２７に記載の方法。
【請求項２９】
次回セキュリティパラメータが必要とされる場合に、当該ＰＵＦを読み込んで当該伝達関数を適用する、請求項２７に記載の方法。
【請求項３０】
電子的に機器のセキュリティを確保システムであって、
永続的な乱数セキュリティワードを生成すべく構成された物理的に複製不可能な回路と、
少なくとも１個の伝達関数パラメータを保存すべく構成された不揮発性メモリと、
当該セキュリティワードおよび当該伝達関数を処理することによりセキュリティ鍵を生成すべく構成されたプロセッサを含むシステム。
【請求項３１】
当該物理的に複製不可能な回路が、励起された際に当該セキュリティワードを規定するバイナリ値を生成すべく構成された複数の集積回路コンポーネントからなる、請求項３０に記載のシステム。
【請求項３２】
当該物理的に複製不可能な回路が、励起された際に当該セキュリティワードを規定するバイナリ値を生成すべく構成された一連のリング発振器からなる、請求項３０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２００７年５月１１日出願の米国特許仮出願第６０／９２８、８６４号「物理的に複製不可能な機能を用いて電子機器のセキュリティを電子的に確保する方法およびシステム」の恩恵を得ることを請求している。本願はまた、２００７年７月１７日出願の米国特許正式出願第１１／７７９、２１５号「物理的に複製不可能な機能を用いて電子機器のセキュリティを電子的に確保する方法およびシステム」にも関連する。
【０００２】
本発明は概して、セキュリティ鍵を用いて電子機器のセキュリティを電子的に確保する技術に関し、より詳しくは、機器のセキュリティを確保すべく物理的に複製不可能な機能（ＰＵＦ）を用いてセキュリティ鍵を生成するシステム、機器および方法に関する。本明細書に記載されているように、ＰＵＦは当分野において、デジタルワードまたは複製を防止する機能等の出力を生成可能な回路、コンポーネント、処理またはその他の構成要素として知られている。例えば、そのようなＰＵＦが組み込まれた機器を、他の機器により同一のＰＵＦ出力を生成する方法で複製することは困難であろう。
【背景技術】
【０００３】
電子機器のセキュリティは、メーカーおよび機器のユーザーの主たる関心事となっている。この事は特に、コンピュータ、個人用携帯機器、携帯電話等の機器および取扱いに注意を要する情報を含む他の機器にあてはまる。電子機器の開発者は、自社製品が不正アクセスまたは不正使用の影響を受けないシステムおよび方法を開発すべく常に努力している。
【０００４】
同時に、大半のアプリケーションには、考慮に入れなければならないコスト面での制約がある。例えば、特に最終製品が低価格の大量生産による消費財である場合、記憶容量および計算リソースを必要とする複雑な認証処理を集積回路で採用すると、そのことで生じるコストを以って、実現されるセキュリティのコストを正当化することはできない。
【０００５】
また、処理に要する時間は多くのアプリケーションにおいて関心事である。例えば、ラップトップコンピュータに指紋センサが採用された場合、計算を迅速に処理する必要があろう。いかなる製品であろうと利用者は使い勝手に関して注文が多い。従って、コンピュータによるセンサの認証のためにユーザーが長時間待たされるようでは、当該製品は受け入れられないだろう。更に、例えば製造工程において、ユーザーアクセスがスピ−ドが重視される動作に対して障害となる場合、認証処理から生じるアクセス遅延は致命的であり得る。これらおよび他の要因は、そのような動作を行う機器を設計する際に考慮に入れられる。
【０００６】
電子機器およびアプリケーションのセキュリティを確保する多くの技術が知られている。従来、暗号理論において、ＲＳＡ（アルゴリズムの３人の開発者、すなわちマサチューセッツ工科大学（ＭＩＴ）のRon Rivest、Adi Shamir、Len Adlemanのイニシャルに由来する手の込んだ頭字語）は公開鍵暗号に用いられるアルゴリズムであって、十分に長い鍵が与えられたならば安全であると信じられている。一般に、公開鍵はメッセージの暗号化に広く用いられており、認証ルーティンで使用される。復号化または認証には秘密鍵が必要である。このように、暗号化技術は秘密でないが、復号化は秘密鍵の保有者しか行うことができない。このアルゴリズムは他のアルゴリズムおよび技術と同様に当業者には公知であって、セキュリティおよび認証アプリケーションに広く利用されている。一般に、以下の処理を実行することにより公開鍵と秘密鍵を生成できる。
【０００７】
１．ｐ≠ｑであるような２個の大きな素数ｐおよびｑをランダム且つ互いに独立に選ぶ。
【０００８】
２．ｎ＝ｐｑを計算する。
【０００９】
３．商φ（ｎ）＝（ｐ−１）（ｑ−１）を計算する。
【００１０】
４．公開指数ｅについて、φ（ｎ）と互いに素である整数ｅ＞１を選ぶ。
すなわちｇｃｄ（ｅ、φ（ｎ））＝１
５．合同関係ｄｅ≡１（ｍｏｄφ（ｎ））が満たされるように秘密指数ｄを計算する。
【００１１】
素数の素数性は確率的にテストできる。公開指数としてｅ＝２１６＋１＝６５５３７が一般によく選択される。いくつかのアプリケーションでは、代わりにｅ＝３、５、３５等のより小さい値を選ぶ。これは、小型機器（例：スマートカード）での実装を容易にするために、すなわち暗号化および署名検証がより速く行えるように行われる。しかし、小さい公開指数を選ぶことでより大きなセキュリティ上のリスクが生じる恐れがある。拡張ユークリッドアルゴリズムを用いてステップ４、５を実行できる。モジュラー演算を参照されたい。ステップ３は代替的に、φ（ｎ）＝（ｐ−１）（ｑ−１）ではなくλ（ｎ）＝１ｃｍ（ｐ−１、ｑ−１）として実行してもよい。
【００１２】
公開鍵は、
・ｎ、すなわち法と、
・ｅ、すなわち公開指数（暗号化指数とも呼ばれる）からなる。
【００１３】
秘密鍵は、
・ｎ、すなわち法（公開されていて公開鍵に現れる）と、
・ｄ、すなわち秘匿すべき秘密指数（復号化指数とも呼ばれる）からなる。
【００１４】
効率化のため、異なる形式の秘密鍵（ＣＲＴパラメータを含む）を保存する場合がある。
【００１５】
・鍵生成から得られた素数ｐ、ｑ
・ｄｍｏｄ（ｐ−１）、ｄｍｏｄ（ｑ−１）（ｄｍｐ１、ｄｍｑ１とも表記する）
・（１／ｑ）ｍｏｄｐ（ｉｑｍｐとも表記する）
この形式により、中国式余剰定理（ＣＲＴ）を用いて復号化および署名をより高速化できるがセキュリティは大幅に低下する。この形式では、秘密鍵の全ての部分を秘密に保たれなければならない。しかしこれは、特に効率化の恩恵を最も受けるであろうスマートカードに実装された場合、サイドチャネル攻撃を招く恐れがあるため使用するのは好ましくない。スマートカードの処理が、例えばｙ＝ｘｅｍｏｄｎから出発してカードにこれを復号化させるとする。従って、ｙｄ（ｍｏｄｐ）またはｙｄ（ｍｏｄｑ）が計算され、その結果として値ｚが得られる。ここで、いずれかの計算でエラーが生じた場合、ｇｃｄ（ｚ−ｘ、ｎ）はｐまたはｑを表す。
【００１６】
動作時において、送信側が受信側へ公開鍵を送信し、送信側が秘密鍵を秘匿しておく場合、ｐとｑは、ｎの約数であって、ｅが与えられたならばｄが計算できるために取扱いに注意を要する情報である。ｐおよびｑが秘密鍵のＣＲＴ形式で保存されていない場合、鍵生成から他の中間値と共に安全に削除される。
【００１７】
セキュリティ鍵を生成する上記処理は、特にルーティン認証処理において、複雑且つ計算負荷が重い処理である。また、従来のシステムおよび方法を用いて高度なセキュリティ特性を有する集積回路を製造するのは費用が高くつく。特に、素数の生成は、プロセッサ資源、保存および関連回路用の追加的なチップスペースと共に、認証に必要とされる他のリソースを必要とするため、システム設計上の負担である。集積回路チップ外部で、すなわちオフチップでセキュリティ鍵を利用するのもまた、追加的な回路および集積回路チップを必要とするために高価である。更に、そのような処理をチップ外で実行することはセキュリティレベルがより低いため、認証処理が攻撃に対し脆弱になる。
【００１８】
また現実には、従来の認証処理は実行に時間を要し、処理が完了するまでユーザーを待たせてしまう。例えば、典型的なソフトウェアアプリケーションを認証する際に、ユーザーはアクセスまたは使用が可能になるまでそのような処理が完了するのを待たねばならない。ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話その他、特に小さい電子機器を用いる多くのアプリケーションにおいて、これは機器プロセッサ並びに気の短いユーザーにとって厄介なこととなり得る。現行の小型且つ一般的な電子機器で利用可能なプロセッサその他のハードウェアを用いて、公開および秘密ＲＳＡ鍵ペアの計算には１０〜３０秒程度かかる場合がある。高速なパソコンでさえ、１〜３秒かかるのが普通である。そのような時間遅延は最新機器では望ましくない。
【発明の概要】
【発明が解決しようとする課題】
【００１９】
一つの方法は、ＰＵＦを用いて、セキュリティ鍵の生成に使用するセキュリティワードをより安全に提供するやり方である。これにより、公開鍵または秘密鍵を機器側で保存する必要がなくなる。従来の方法は、先行技術の刊行物でそのような構成に取り組んでいる。一例として、米国特許第６、１６１、２１３号にコンポーネントチップの識別へのＰＵＦの利用およびその他の関連出願が開示されている。例えば、ＰＵＦを用いて、コンポーネントチップが常に同一の公開鍵／秘密鍵ペアを生成すべく、ＲＳＡ公開鍵／秘密鍵生成アルゴリズムで使用する固有のワードを生成できる。この方法には多くの問題がある。第一に、回路が数を一貫して生成できるとの保証がない。コンポーネントチップ内のＰＵＦ回路から生成された数が固有であり得ることは知られている。しかし、それを一貫して生成することができない。実際、生成された固有の数、すなわちデジタル数値は、ＰＵＦ回路の励起に際して変化し、異なる数が生成される。上述のように、従来方法を用いた場合、そのような手段を用いる認証は相当のリソースを要し、且つ時間がかかり、そして大多数のアプリケーションでは膨大なリソースを消費する処理は望ましくなく、採用に際して大きな障害となる。
【００２０】
しかし、従来の技術は、そのような識別方法を利用するには不十分である。従来の方法を用いる場合、ＰＵＦ出力を出発点として使用し、続いて公開鍵と秘密鍵ペアを生成すべく複雑且つ極めて時間を要するアルゴリズムを適用する。更に、認証に鍵が必要とされる都度、当該アルゴリズムを繰り返す必要があり、再び、公開鍵と秘密鍵を生成するために同一の複雑且つリソースを消費するアルゴリズムを繰り返す必要がある。また、セキュリティ上の理由から、鍵ペアを不揮発性メモリに保存することは好ましくない。実際、ＰＵＦを備える目的は、認証処理を迂回または別途欺こうとする侵入者により簡単に読まれてしまうような固有の数の保存をなくすことである。従って、例えば指紋センサ等の民生用アプリケーションにおいて、認証の都度遅延が生じるようでは民生用製品のメーカーはそのようなシステムの採用を躊躇するであろう。利用者はそのような遅延を絶対に許容しないであろう。より高速且つ便利なシステムの方が簡単に採用／受容されるだろう。
【発明の効果】
【００２１】
従って、特に、機器の認証を必要とする都度セキュリティ鍵を生成するために先行技術によるシステムおよび処理で用いられてきた従来の複雑且つ時間を要する処理を避けるべく、コンポーネントチップおよび関連機器用のＲＳＡ鍵をより正確且つ効率的に生成するより効率的な手段に対する大きなニーズが当分野において存在する。当該ニーズは、提供されるセキュリティのレベル、関連する製造コストおよび結果として生じる動作速度等のトレードオフに対処しなければならない。以下で明らかになるように、本発明は従来のシステムの短所を見事な方法で克服する手段を提供する。
【図面の簡単な説明】
【００２２】
【図１】本発明によるセキュリティシステムで構成された機器の図である。
【図２】本発明によるセキュリティシステムで構成された機器用のセットアップシステムの図である。
【図３】本発明によるセットアップおよび認証方法を示すフローチャートである。
【図４】本発明によるセットアップ方法を示すフローチャートである。
【図５】本発明による認証方法を示すフローチャートである。
【図６】本発明で使用するサンプルＰＵＦ回路の図である。
【図７】本発明に従い構成された機器の製造された後の動作モードを示す図である。
【図８】本発明に従い構成された機器の製造または初回使用時におけるセットアップモードを示す図である。
【発明を実施するための形態】
【００２３】
本発明は、物理的に複製不可能な機能（ＰＵＦ）を生成する回路その他の構成要素を利用してＲＳＡ公開鍵または秘密鍵等のセキュリティワードを生成することにより、電子機器で使用される集積回路チップのセキュリティを確保するシステムを目的とする。ＰＵＦは、その名称および構成の通り、複写または複製が実質的に困難な機能を実行する。これにより、本発明は比類のない且つ極めて安全な認証システムを提供できる。
【００２４】
本明細書に記述しているように、本発明を実施する機器、システムおよび方法において、異なる実施形態および構成が可能である。本明細書に記述している実施形態は、実施例としてのみ意図されており、本発明の概念および範囲を限定することを意図していない。これには、本発明に関係する特定の機能を実現する任意の種類の手段が含まれる。更に、請求項で手段＋機能表現が使用される限りそれらは本明細書に記述している実施形態に限定されることはなく、公知のまたは当業者により将来開発されるあらゆる種類のコンポーネント、機器、システムおよび方法ステップを想定且つ包含している。また当業者には、添付の請求項により規定される本発明の概念および範囲、本願および関連出願の審査中に将来提出される請求項、およびそのような請求項の等価物から逸脱することなく、異なる構成が可能である点が理解されよう。
【００２５】
高負荷なセキュリティ鍵生成プロセスを実行する必要もなく、且つ機器のセキュリティレベルを犠牲にすることなく、セキュリティワードを用いて、ＲＳＡ鍵その他のセキュリティ鍵の生成に利用可能な伝達関数および関連データ、並びに機器の認証に用いる関連データを生成する。このような処理は、機器の製造時または初回電源投入時にセットアップモードで１回だけ実行すればよい。
【００２６】
セットアップモードにおいて、ＰＵＦ回路はチップの固有ＩＤを生成し、重要なセキュリティ情報並びに当該情報へのアクセスに必要な伝達関数パラメータの保存場所を隠蔽するのに用いることができる。機器がセットアップされたならば、動作モード中の機器を認証する際に重要セキュリティ情報を用いて伝達関数を処理できる。従来の機器とは異なり、機器に保存する必要があるパラメータを決定するために、当該機器の製造時または初回電源投入時のどちらかでセットアップ手順を１回だけ実行すればよい。動作時において、高負荷なセキュリティ鍵生成プロセスを実行する必要なく、且つ機器のセキュリティのレベルを犠牲にすることなく、保存されたパラメータを用いてより効率的且つ迅速に機器を認証できる。このようなシステムを用いて、ユーザーが電源投入時その他のアクセス時点で機器を認証する必要がある場合に、セキュリティ鍵を生成する時間を実質的に省くことができる。動作時において、機器はＲＳＡ鍵や署名鍵等のセキュリティ鍵を、迅速且つ安全に生成すると共に、関連アルゴリズムを実行できる。本発明により、伝達関数パラメータの不揮発性保存が可能になって、システムがＰＵＦ出力を数学的に利用して所望の出力を得ることができるようになる。
【００２７】
ごく一般的に言えば、本発明は、個別に機器をプログラムする必要なしに、個別化されたセキュリティを機器に提供するシステムおよび方法を目的とする。ＩＣチップはＰＵＦ回路を用いて固有の識別子を生成する能力を有するため、各々の機器は当該機器を認証するための固有のセキュリティ処理を備えるであろう。更に、固有の識別子は各々の機器毎に異なるため、機器を認証する固有且つ安全な手段を提供する。
【００２８】
これにより、多くの異なる機器向けの広範なアプリケーションが可能である。例えば、デジタル音楽ファイルをダウンロードする前に機器を認証するための固有ＩＤが要求されるＡｐｐｌｅＴＭＩＰＯＤＴＭのようなＭＰ３デジタル音楽機器は本発明に従い動作可能にされたＩＣを備えていてよい。本発明によれば、音楽ファイルをダウンロードする前に認証を必要とする機器でサービスが確立されたならば、そのような機器は当該サービスが何かをダウンロードする前に、ＰＵＦ回路を用いて生成された固有ＩＤにより自身を認証することが可能になる。本発明は、そのような製品および関連サービスを提供する固有、安全且つ整合的な手段を提供する。これは、音楽プロバイダ並びにデジタル著作権を順守した機器の製作者にとって大きな関心事であった。この関心分野はデジタル著作権管理（ＤＲＭ）として知られ、音楽、ビデオその他のコンテンツのコンテンツ所有者の権利が重大関心事である。利害が衝突する場合もある。すなわち、コンテンツを購入しそしてコンテンツを自由に利用して共有したい者の利益が挙げられる。これは、そのようなコンテンツの配布を管理することを重要な関心事とするコンテンツ権利所有者といくぶん対照的である。本発明によれば、ＭＰ３または同等の機器を、音楽、ビデオその他のコンテンツを固有の認証処理を用いた安全な方法でダウンロードして利用できるように構成できる。他の多くの潜在的なアプリケーションが可能であり、本発明は、固有且つ安全な認証機能を備えた新規および改良された機器にとって、広範囲に渡り且つ有用な可能性を提供する。また、当業者には、本発明のアプリケーションがかなり幅広く、そして本発明の開示および公知技術により多くのそのようなアプリケーションを開発できる点が理解されよう。
【００２９】
動作時において、ＰＵＦ出力またはその派生物を使用する伝達関数をチップに保存することができ、認証用のセキュリティ鍵を生成すべくＰＵＦ出力と合わせて用いる。伝達関数は、製造工程において保存されても、あるいは機器を組み立てている利用者または構成コンポーネントをより大きな製品に使用する相手先商標製品メーカー（ＯＥＭ）等のユーザーにより、現場で初回電源投入時に生成および保存されてもよい。ＯＥＭアプリケーションの一例として、本発明に従い構成されたＰＵＦを備えた指紋センサが、例えばラップトップコンピュータに組み込まれたものが挙げられる。従来方式に対する大幅な改善として、本発明はチップの外部へ出ないセキュリティ鍵を生成する手段を提供する。これは従来のシステムおよび方法からの飛躍的な改善であり、従来はチップ外で実行されていた動作をなくしてチップ内での認証処理を確保することにより機器のセキュリティが大幅に改善される。これはまた、本発明に従いＩＣチップ内に構成されたＰＵＦ回路のような機器の製造において、又動作中においてもあてはまる。従って、取扱いに注意を要するセキュリティ情報を製造工程または動作中に当該機器または設定済みＩＣチップの外部に出すことなく、新規且つ安全な認証処理を用いて機器を構成できる。
【００３０】
本発明を利用することにより、ＲＳＡ鍵をＩＣチップの外部の場所へ出すことなく機器を認証する動作を実行すべくＩＣチップを構成できる。恐らく初回の外部励起を除き、全ての認証演算を完全にチップ内で生起させることができる。当該鍵は、内蔵ＩＣ回路の外部の物理的な場所へ転送または別途伝送する必要なく、チップ内で完全に生成、処理、または別途利用できる。当該鍵は、当該セキュリティ鍵が生成されたＩＣ内にあるコンポーネントおよび構成要素へ送信、転送、処理または別途伝送するだけでよい。
【００３１】
伝達関数が生成および保存された後、続いて電源投入動作その他の認証イベントが生起すると、セキュリティワードおよび対応する伝達関数および関連データをより効率的に機器の認証のために用いることができる。これは、セキュリティまたはコスト面での妥協を一切することなく達成される。実際、先行技術における従来のシステムおよび方法と比較して、セキュリティの向上とコストの減少さえも可能である。これらの利点は、各々の機器を一意に区別して、公開および秘密セキュリティ鍵や機器署名等のセキュリティ鍵を復元可能な仕方で生成できるＰＵＦにより実現される。後述するように、本発明は鮮やかな方法でこれを実現し、認証のために機器を一意に識別する新規且つ有用な手段を提供する。
【００３２】
以下に記述および図示する実施形態は、本発明の様々な実施形態の具体例に過ぎない。これらの具体例の各々において、好適な実施形態を記述および図示するが、本発明を実施することで提供できる特徴、動作および利点の説明のために、異なるコンポーネントおよびコンポーネントの組合せについて互いに補足しあう仕方で図示および記述している。しかしこれらの具体例は、すべてを含むものであることを意図しておらず、他の実施形態も可能である。当業者には、他の実施形態も可能であって、異なるアプリケーションがそれらの設計パラメータを前提として個別にトレードオフを要するのと同じように、実際に他の実施形態がありうることが理解されよう。また、コンポーネントが埋め込まれた集積回路チップ、または各種のコンポーネントが相互接続された印刷回路基板のような単一の機器に、異なる特徴、機能、動作またはコンポーネントが一緒に組み込まれていてよい。いくつかの機能の機器毎の差異が、チップ内、チップ外、あるいは完全に別個のコンポーネントまたは事実上別個である機器に存在する場合もある。そのような設計上の意思決定および関連するトレードオフの決定は必然的に、必要とされるセキュリティのレベル、コスト分析、動作またはセットアップタイミングおよび他の要因を考慮に入れるであろう。
【００３３】
コンポーネント、特徴および構成の異なる組合せおよび置換は、機器の内部または外部、あるいは集積回路チップ内または外部のいずれにあろうとも、本発明に従い考案できる。特定のアプリケーションのパラメータに応じて、本発明の概念および範囲から逸脱することなく異なる組合せが結果的に得られる場合があり、添付の請求項およびその等価物、並びに同時係属出願に示す任意の請求項およびその等価物により規定される。
【実施例１】
【００３４】
図１を参照するに、ごく大まかに言えば、機器１０２は本発明に従い認証を可能にするセキュリティアプリケーションを用いて構成されている。当該アプリケーションは、当該機器の認証において組み合わせて使用するハードウェアおよびソフトウェアの両方のコンポーネントを含んでいる。伝達関数回路１０３は、機器の伝達関数を規定する動作を実行すべく構成されている。ＰＵＦ回路１１４は、励起時にセキュリティワードを生成すべく構成されていて、生成されたワードは、自身の製造時においてのみＰＵＦ出力を生成する当該回路の固有ＩＤを具体化している。ＰＵＦ出力は次いで伝達関数値と合わせて処理されて、公開および秘密ＲＳＡ鍵、製品署名鍵、または認証処理に用いられる他の種類のセキュリティ鍵等のセキュリティ鍵が生成される。伝達関数は、値の加算と同程度の簡単なアルゴリズムであってよく、伝達関数は認証演算により生成されたオフセット値を組み合わせるものであり、その具体例を本明細書において記述する。これらの値は、予め計算された、並行して計算された、または後でオフセットされた値であってよく、同一回路内でまたは遠隔地で計算されてもよい。プロセッサ１０４は、不揮発性メモリ１０８に保存されたセキュリティパラメータおよび後述する他の基準パラメータを含む伝達関数パラメータを処理する演算論理１０６または他のコンポーネントを用いて構成することができる。
【００３５】
元々、ＰＵＦは自身が組み込まれる機器の設計に準拠すべく標準的な設計ルールの下で製造されている。初回起動時に、機器はセットアップモードで設定されて、資源を消費する計算が実行される。このセットアップモードにおいて、オフセット値を生成して、認証が必要とされる都度、当該オフセット値をＰＵＦ出力と組み合わせて用いてセキュリティ鍵を生成することができる。これは、ｉ）データ、アプリケーション、セキュリティシステム、また他のセキュリティ確保された構成要素へのローカルまたはリモートアクセス認証、ｉｉ）機器、ハードウェア、ソフトウェアまたは他の構成要素の使用認証、ｉｉｉ）単体で、またはラップトップコンピュータ等のセキュリティ確保された電子機器へのアクセス機器として使用可能になる前に認証が必要な指紋センサ等、他の機器と組合せて使用される許諾済み機器の認証、ｉｖ）あるいは認証が要求される他の任意の処理の如何を問わず、認証が必要とされるあらゆる時間および場所で広範に応用可能である。
【００３６】
本発明に従い構成された機器または構成要素を備えて製造可能な、または別途それらが付属する機器の具体例として、個人デスクトップおよびラップトップコンピュータ、携帯電話、ＭＰ３プレーヤまたはその等価物のようなコンテンツ記録機器、バッテリーパック、インクカートリッジ、ＤＲＭおよびコンテンツダウンロードに関わる機器、スマートカード、アクセス識別カード、および保存されたデータを保護する必要がある他の機器が含まれる。そのような機器は、金融取引、インターネット関連取引、および保存または別途処理されたデータを保護することが望ましい他の取引を実行することができる。従来の先行技術機器において、そのような計算は認証を行うとすぐ要求される。そのような先行技術機器ではリソースが逼迫し、そのような認証を実行するには多くの時間を必要とする。現行の機器において、電力および計算リソースは極めて制約されており、認証処理は、機器のそのような制約の範囲内で製造されて動作する能力に重大な影響を及ぼし得る。そのような制約の範囲内での機器の製造または動作が可能でない場合、特定の製品で受入または採用することができない。しかし、機器がそのような制約の範囲内で動作できる場合、広く採用することができ、１個以上の製品分野で広く存在するものになろう。
【００３７】
例えば、電子メモリ装置を集積回路に埋め込むことにより動作時間を短縮してセキュリティを向上させることができる。別のアプリケーションでは、メモリは別の集積回路に、すなわちチップ外にあってよく、セキュリティパラメータ、オフセットまたは関連データを他の情報と共に保存することによりコストが削減できる。本発明によれば、多くのアプリケーションにおいて、そのようなトレードオフは、提供される比類のない且つ強力な特徴を前提として実質的になくなる。なお、当業者には、本明細書を前提に、添付の請求項およびその等価物により規定される本発明の概念および範囲から逸脱することなく、従来の知識および技術を用いて、異なる実施形態を開発できる点が理解されよう。従って当業者には、どの実装方式または実施形態が好適であるかの決定は所与のアプリケーションに依存することが理解されよう。
【００３８】
セットアップモードにおいて、ＰＵＦ回路はチップの固有ＩＤを生成することができ、これを用いて、重要セキュリティ情報並びに当該情報へのアクセスに必要な伝達関数パラメータの保存場所を隠蔽できる。機器がセットアップされたならば、機器を認証する際に、重要セキュリティ情報を用いて伝達関数を処理できる。従来の機器とは異なり、機器に保存する必要があるパラメータを確定するために、当該機器の製造工程または初回電源投入時のどちらかでセットアップ手順を１回だけ実行すればよい。動作時において、高負荷なセキュリティ鍵生成プロセスを実行する必要なく、且つ機器のセキュリティのレベルを犠牲にすることなく、保存されたパラメータを用いてより効率的且つ迅速に機器を認証できる。そのようなシステムを用いて、ユーザーが電源投入時または他のアクセス時点で機器を認証する必要がある場合に、セキュリティ鍵の生成に要する時間を実質的になくすことができる。動作時において、当該機器は、ＲＳＡ鍵および署名鍵等のセキュリティ鍵を迅速且つ安全に生成して、関連アルゴリズムを実行できる。本発明は、伝達関数パラメータの不揮発性保存を可能にすることにより、システムがＰＵＦ出力を数学的に利用して所望の出力を得られるようにする。
【００３９】
本発明は、物理的に複製不可能な機能（ＰＵＦ）を生成する回路その他の構成要素を利用してＲＳＡ公開鍵または秘密鍵等のようなセキュリティワードを生成することにより、電子機器に使用される集積回路チップのセキュリティを確保するシステムを目的とする。そのような回路には多くのアプリケーションがあり、チップに関連付けられたソフトウェアアプリケーションの認証、当該チップを備えた機器からの保護された情報へのアクセス許可（従って、未許可機器による当該情報へのアクセス禁止）、および他の多くのアプリケーションが含まれる。
【００４０】
本発明に従い構成されたならば大いに利点が得られる機器の例として、小型の埋込みプロセサを備えた指紋センサが、誰も当該センサを別のものと取り替えなかったことを保証するために、ＰＵＦを利用してリモートコンピュータにセンサの属性を検証させることができる。リモートコンピュータは更に、元のセンサにセキュリティ侵害がなされていないことを保証し、また更に、送信された指紋が当該センサにより送られたことを検証できる。これにより、誰もセンサおよびリモートコンピュータが使用する通信チャネルに虚偽の指紋を投入していないことを保証できる。これにより、例えば資金転送が当該資金の所有者により起動されたことを検証するオンライン銀行取引を含む多くのアプリケーションで有用な極めて安全な属性検証方法が提供される。別の例において、本発明をセキュリティアプリケーションに組み込んで、指紋によりセキュリティ確保された領域へのアクセスを許可する前にセンサおよび対応する通信リンクを認証することができる。そのようなセンサをラップトップコンピュータ、スマートカード、携帯電話等、多くのアプリケーションで用いることができる、
一実施形態において、プログラム可能なストレージを備えていない機器に対して、本発明は遠隔箇所に伝達関数を保存する機器、システムおよび方法を提供できる。そのような遠隔箇所は、ランダムアクセスメモリ（ＲＡＭ）、別個のキャッシュストレージその他の種類のメモリ等、別個のメモリであってよい。ＰＵＦ回路等の本発明の他の特徴を利用して、大幅にセキュリティが向上した認証を実現できる。
【００４１】
本発明は、認証においてセキュリティが要求される多くの他のアプリケーションに拡張できる。指紋センサの例において、本発明を小型の埋込みプロセッサを備えたセンサに利用することでセンサのセキュリティが大幅に強化される。これは、ＰＵＦ回路からの固有且つ一貫した出力を用いて秘密鍵および公開鍵を設定することにより実現される。センサが別のシステムに組み込まれている場合、本発明が特定のセンサ製品との互換性を要求することにより、そのようなシステムのセキュリティ向上を支援できる。これは、機器に保存されたＰＵＦおよび関連セキュリティ情報を用いて製品署名を隠蔽することにより実現される。署名は、ある企業で一緒に製造される全製品を通じて同一であって、システムに組み込まれた製品が本当に特定の会社により製造されたことを検証する。これは機器への無許可アクセスを防止することによりシステムのセキュリティを増すであろう。
【００４２】
本発明は、従来のアプリケーションよりも新規且つ比類のない方法でＰＵＦを利用する。ＰＵＦ回路は、チップの固有ＩＤを生成することができ、これを用いて重要セキュリティ情報の保存場所を隠蔽して、ＲＳＡ鍵等のセキュリティ鍵の生成に要する時間を大幅に短縮できる。本発明は伝達関数の永久的な不揮発性保存を可能にし、このことでシステムがＰＵＦ出力を数学的に利用して所望のセキュリティ鍵を生成することを可能にする。ＲＳＡ鍵ペアを生成する場合、ＰＵＦを用いて固有の出力を生成して、次いで当該鍵を生成することができる。ＰＵＦ出力が与えられたならば、次いで伝達関数を不揮発性メモリ内で符号化でき、このことで公開鍵および秘密鍵を迅速に数学的に復元できるようになる。これにより、長い時間を要する鍵生成処理なしに鍵の復元が可能になる。更に、これはセキュリティについて一切妥協することなく可能である。伝達関数パラメータが不揮発性メモリに保存されていても、依然としてＰＵＦ回路の出力は知られない。従って、ＰＵＦ出力なしでセキュリティ鍵を解読することはできない。このように、セキュリティ鍵は実際のＰＵＦ出力なしには生成することができない。その結果、実際のＰＵＦ回路を備えていない別の機器が鍵を生成することは不可能であって、実際のＰＵＦ回路なしに鍵を人工的に生成することはできない。ＰＵＦ回路の可能な変型を前提にすれば、ＰＵＦ出力を復元することは実質的に不可能であり、従ってセキュリティ鍵を復元することも同程度に不可能である。
【００４３】
一実施形態において、本発明は、機器、ソフトウェアアプリケーションその他のセキュリティ確保された構成要素の電子的認証または施錠および解除に用いるセキュリティ鍵を生成するシステムおよび方法を提供するものであり、ＰＵＦ回路によりセキュリティワードが生成可能であって、別個の伝達関数パラメータを不揮発性メモリに保存できる。これらを一緒に用いて、新規且つ有用な仕方で、従来のシステムおよび方法と比較してセキュリティのレベルを向上させて、機器を認証することができる。ＰＵＦにより生成されたセキュリティワードは、機器内のＩＣ毎に物理的に固有であって、メモリに保存する必要がなく、従って簡単に悪用することができない。これは、機器に照会して物理的な回路要素を示す出力信号を生成して導出されなければならない。伝達関数パラメータは不揮発性メモリに保存可能であって、不揮発性メモリから取り出してＰＵＦからのセキュリティワードと組み合わせてユーザーのために機器を認証できる。伝達関数パラメータはセキュリティワードがなければ機器の認証には役立たないため、且つ異なる手段で導出されるため、機器の認証のために大幅に向上したセキュリティが提供される。
【００４４】
動作時において、物理的に複製不可能な情報が機器から読み出される。本発明によれば、当該機器には、ＰＵＦ回路等が集積回路（ＩＣ）に取り付けられている。ＰＵＦ回路は、自身が取り付けられているＩＣを識別する識別番号を生成すべく構成されている。一般に、ＰＵＦ回路は、ＩＣ内に形成された複数の識別セルから構成され、各セルは、ＩＣ内におけるランダムなパラメトリック変動の実質的に関数であって、従って製造工程での当該ＩＣに固有の出力を有している。測定機器が識別セルの出力を監視して当該機器に固有ＩＤを生成することができ、当該ＩＤはまた、識別セルにおけるランダムなパラメトリック変動の実質的に関数である。同一工程で製造されたＩＣ群の各ＩＣを一意に特徴付けるのに十分な製造工程変動が存在することが当業者には知られている。また、そのような固有の特徴付けから導出されたワードを用いて信頼性の高い認証が実行可能であることも証明されている。本発明はそのような知識を利用して、ＰＵＦ回路を用いて機器またはアプリケーションを認証する新規且つ有用な方法を提供する。
【００４５】
測定機器がＩＤを受取ったならば、ＩＤを表す固有の番号等、ＰＵＦから出力されるセキュリティパラメータを計算できる。これは、固有の出力信号を生起させるためにＰＵＦ回路に励起信号を送るべく構成された励起回路等、多くの方法で行うことができる。例えば、ＰＵＦへ信号を送信し、次いでＰＵＦが搭載されているＩＣの製造時に生成された固有の物理特性パラメータに従いＰＵＦに固有の応答信号を生成する。この処理に関して以下により詳細に述べる。本発明によれば、固有ＩＤに加えて、伝達関数を識別または別途導出できる。この伝達関数を当該ＩＤと共に用いて、当該ＩＣにより当該機器を認証できる。この伝達関数は、後で使用するために不揮発性メモリに保存できる。
【００４６】
従って実施時において、ＩＣの製造時に固有ＩＤおよび伝達関数を決定して、ラップトップ、スマートカード、携帯電話等の機器に関連付けることができる。ユーザーによる機器の電源投入時に、当該機器に固有ＩＤを照会し、次いで当該固有ＩＤを機器識別用のセキュリティワードとして用いることができる。その結果得られたセキュリティワードを伝達関数と共に用いて、当該機器を識別および検証してユーザーにアクセス許可を与えるべく当該機器に照会することができる。従って、本発明は機器を認証するためのセキュリティ鍵および伝達関数を提供するシステムおよび方法を提供するものであり、当該セキュリティ鍵は機器内のＩＣに対して物理的に固有であって、メモリに保存する必要がない。セキュリティ鍵は、機器に照会して当該機器に組み込まれたＩＣの製造時に作成されたＰＵＦコンポーネント等の物理的な回路要素を表す出力信号を生起させることにより導出されなければならない。伝達関数は不揮発性メモリに保存できる。従って、伝達関数を不揮発性メモリから取り出してセキュリティワードと組み合わせて、ユーザーのために機器を認証できる。セキュリティワードはメモリに保存されず、従って悪用される恐れがない。伝達関数はたとえ悪用されたとしても、完全に異なる手段で導出され、単にストレージから取り出せるものではないセキュリティワードがなければ機器の認証には役に立たない。
【００４７】
再び図１を参照するに、本発明の一実施形態１００の図を示す。本発明のシステムおよび方法には二つの一般的な態様がある。一態様は機器内で使用するＩＣの製造中に実装されて実行され、もう一方の態様は当該機器に組み込まれていて、当該機器が通常動作する間に当該機器を認証する際に用いられる製品である。前者（図２に機器１０２として示す）は１回だけ実行すればよく、当該ＩＣの製造工程の一環として実行しても、または初回機器電源投入時または当該機器の他の認証処理で実行してもよい。後者（図１に機器１０２として示す）は、セキュリティ鍵および伝達関数が決定された後で、ユーザーが機器に電源投入するかまたは別途起動する都度使用され、認証が実行されて当該機器およびユーザーに許可された動作を識別する。認証には、遠隔機器からの対象機器の識別が含まれており、対象機器が自身を識別すべく励起または別途始動させる信号を送ることにより対象機器に照会する。遠隔手段から送られる信号には、対象機器からの応答を生起させるために通信チャネルを介して送られる暗号化データ、例えば公開鍵および製品署名を搬送する応答信号等が含まれていてよく、以下により詳細に述べる。当該機器は、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、あるいは当該機器に搭載されているかまたは遠隔にあるかに依らず、当該機器が利用するシステムまたはプロセスのセキュリティ、認証、あるいは他の目的のために動作に先立って認証が求められるその他の任意の機器であってよい。
【００４８】
例えば、アクセス時のセキュリティ確保のために他の機器と共に使用すべく販売される上述の指紋センサ等、他のコンポーネントと組み合わせて用いるセキュリティ機器またはコンポーネントを販売するメーカーは、コンポーネントである機器の認証に関心がある。こうした認証は、機器のセキュリティを侵害しようとして用いられる不正な機器を防止する。また、ソフトウェアを販売するメーカーは、当該ソフトウェアが他の機器で不正使用のために複製されないことを保証するために、当該ソフトウェアが使用される機器の認証を望む場合がある。多くの場合、メーカーは個人利用を目的としてユーザー向けにソフトウエアプログラムおよびアプリケーションを製作および販売し、他のものは組織内で許可された複数のユーザーが使用する企業向けパッケージとして販売される。そのようなソフトウェアメーカーは、これらのプログラムがラップトップ等の許可されていない機器へ複製されないことが保証されることに強い関心を持っている。本発明はそのようなソフトウェアのメーカーに対し、特定の機器によりユーザーを認証して不正コピーまたは使用を防止する手段を提供する。本発明に従い構成されてセキュリティ確保された機器は、偽造または許可なき侵入や攻撃に対するセキュリティを高めることにより、セキュリティ機器またはコンポーネントの完全性に加えて極めて高いセキュリティを有する認証を可能にする特徴を備えている。
【００４９】
機器１０２は、ソフトウェアを実行して演算論理１０６の動作を実行することにより動作を実行すべく構成されたプロセッサ１０４を含んでいる。プロセッサは、集積回路に実装された専用マイクロプロセッサ、汎用コンピュータ、あるいは機器の認証に必要な動作を実行すべく構成された簡単な論理回路であってよく、当該機器の一般的または特定の動作に関連する他の動作を含んでいてよい。本発明によれば、認証に必要な動作は、認証が実行される通常の機器動作のために大幅に簡素化されている。従って、そのような処理を実行するために必要とされる処理回路および関連ソフトウェアはさほど高度でなくてよい。セットアップ手順は、本発明以前では機器が認証される都度必要とされたリソース多消費セキュリティアルゴリズムを実行する。本発明によれば、これらの動作はセットアップ時に１回だけ実行すればよい。当該セットアップ手順は、機器の製造時または機器の初回電源投入時に１回だけ実行すればよい。
【００５０】
従って、例えばユーザーが個人利用のためにラップトップまたはデスクトップコンピュータ等の機器を購入したならば、機器の初回電源投入時に当該機器がセットアップモードで認証計算を実行できる。これは最初に相当な時間を要するかもしれないが、本発明によればユーザーは１回だけ不便をこうむればよい。セットアップ動作により、メモリに保存されるセキュリティパラメータが生成される。セットアップ動作が終了した後で、保存されたパラメータを利用するより効率的な動作が日常的な認証手順のために実行される。以下により詳細に述べるように、セットアップ時に生成されたこれらのパラメータが通常の認証演算で使用され、多くの同一回路によりＲＳＡ公開鍵および秘密鍵ならびに製品署名等のセキュリティ鍵が生成される。これらのセキュリティ鍵を用いて各種の目的で機器を認証できる。
【００５１】
あるいは、集中的セットアップ手順を、時間または使用テーブルに従いあるいは所定のイベント生起時に、周期的に実行してもよい。これは、機器が市場に再投入された場合に、あるいはメーカーが製造した機器のセキュリティおよび完全性を維持するために機器のメーカーまたは多数のユーザーによりセキュリティコードまたは動作の変更が決定された場合に生じ得る。当業者には、アプリケーションに応じて、最適なセキュリティを備えた製品を生成すべくメーカーにより異なるセキュリティおよび保守手順を本発明に従い策定および維持できる点が理解されよう。
【００５２】
引き続き図１を参照するに、ソフトウェアの実行により、プロセッサが生成した信号に応答して各種動作が生起される。ソフトウェアは、ＰＵＦ回路１１４から生成されたワードと合わせて認証用のセキュリティ鍵を提供するセキュリティパラメータ１１０が含まれている不揮発性メモリ１０８に保存されている。不揮発性メモリ１０８は更に、機器が外部の構成要素により認証されるかまたは別途使用のために認証されるようにするための認証インターフェース１１１を含んでいる。当該インターフェースは、ある種のプロセッサにより実行されたならば対象機器と遠隔認証機器との通信を可能にすべく構成されたソフトウェアコードであってよい。あるいは、当該インターフェースはハードウェアまたはハードウェアとソフトウェアの組合せを含んでいてよい。ＰＵＦ出力がＩＣ外部インターフェースに提示されないようにするパラメータ、不揮発性メモリの必須パラメータがＩＣ外部インターフェースに提示されないようにするパラメータ、および必須パラメータが保存されたりＩＣ外部インターフェースから上書きされないようにするパラメータを含む、その他の必須パラメータ１１２が不揮発性メモリ１０８に保存できる。当該システムは更に、プロセッサおよび／または機器の動作用にランダムアクセスメモリ（ＲＡＭ）１１６および／または読み出し専用メモリ（ＲＯＭ）１１８を含んでいてよい。
【００５３】
実施時において、外部ソースまたは近隣の照会ソース１２０が、セキュリティおよび／または認証のために機器１０２に照会することができる。照会ソース１２０は、メモリ１２４に保存されているソフトウェアを実行することにより動作を実行するプロセッサ１２２を含んでいる。ソフトウェアは、プロセッサ１２２に機器１０２を認証する方法および処理を実行させるべく構成された認証ユニット１２５を含んでいてよい。照会ユニット１２６は、プロセッサがＰＵＦ回路１１４に照会してこれを励起し、これに応答してＰＵＦ回路がセキュリティワードを生成させることを可能にすべく構成されている。正当性アプリケーション１２８は、プロセッサに、例えばＰＵＦ回路からのセキュリティワードが真正であるか否かを判定するための正当性演算等の、正当性演算および認証演算を実行させるべく構成されている。アプリケーション１２８は、メモリ１０８から取り出されたセキュリティワードおよびセキュリティパラメータ１１０を用いて、機器１０２の動作を認証するべきか否かを判定できる。これは、以下に更に詳細に述べる。
【００５４】
図２を参照するに、ユーザーにより電源投入または別途起動される都度当該機器が効率的に認証できるように伝達関数の決定を含む機器のセットアップを行うシステム１０１を示す。この処理で利用される機器のコンポーネントとしてＰＵＦ回路１１４が含まれていて、これは当該機器を識別するための一貫性を有するセキュリティワードを生成すべく構成された実質的に永続的な構成要素である。セットアップ回路１０５は、完全に単体の構成要素であっても、あるいはＰＵＦ回路を含んでいてもよい。好適な実施形態において、セットアップ回路１０５および伝達関数回路１０３（図１）は当該機器内で共存し、いくつかのコンポーネントが処理間で共有される。不揮発性メモリ１０８は、セットアップシステム１３７により生成または別途導出された伝達関数を保存する伝達関数ストレージ１０９を含んでいる。ＰＵＦ回路は、当該機器の製造工程で生成されたため、ＰＵＦ回路の生成に用いられた設計および製造工程内で機器に固有である。製造工程は特定のパラメータの範囲内で運営され、各々の機器は別々に製造されるため、各々のＰＵＦ回路は回路パラメータに従って一定の許容範囲内で固有である。従って、各々のＰＵＦ回路により生成された個々のセキュリティワードは固有であるか、または製造工程により実際に無作為に決定される。しかし、各々のＰＵＦ回路のセキュリティワードは一旦決定されたならば、認証目的のために一貫して復元可能である。ＰＵＦ回路により生成されたワードは、製造工程により生成された各々のＰＵＦ回路に固有である。
【００５５】
セットアップシステム１３７は、メモリ１４０に保存されているソフトウェアを実行することによりセットアップ動作を実行すべく構成されたプロセッサ１３８を含んでいる。ＰＵＦ照会器１４２は、プロセッサ１３８により実行された際に、ネットワークまたはバス接続１３０への通信リンク１３９を介して、および機器リンク１３１をも経由して、ＰＵＦ回路を励起または別途照会すべく構成されている。これに応答して、当該ＰＵＦはセットアップシステム１３７により実行されるセットアップ処理で用いるセキュリティワードを送る。実際には、これは認証のためにセキュリティワードが公正に読み出されてテストされることを保証すべく、セキュリティワードの正確な読み出しを保証するために複数回実行されてもよい。ＰＵＦワードアナライザ回路１４４は、ＰＵＦワードを分析して出力が認証目的のために複製可能な一貫性を有するワードの出力であることを保証すべく構成されている。ＲＳＡ鍵発生器ユニット１４６は、認証のためにユーザーにより次の初期化において一貫して復元可能な、ＰＵＦ用の信頼性が高いセキュリティワードを生成すべく構成されている。伝達関数発生器１４８は、機器１０２を認証すべくＰＵＦ回路により生成されたセキュリティワードと合わせて使用できる伝達関数を導出または別途生成すべく構成されている。
【００５６】
機器がセットアップされたならば、遠隔手段により認証のために照会され、そして１個以上のセキュリティ鍵、例えばＲＳＡ公開鍵または秘密鍵、製品署名その他の種類のセキュリティ鍵を生成する。実際には、セットアップ処理が機器を適切にセットアップしたか否かを検証すべく認証処理を実行することが現実的であろう。次いで、機器内の改良されたシステムを用いて後続する認証処理を実行でき、高負荷な認証処理を実行する必要はない。これは、これらの処理が依然として必須であるものの、通常の認証処理中ではなく、セットアップ中に実行されるためである。
【００５７】
図３を参照するに、本発明に従い構成された方法の一実施形態を示す。当該処理は二つの部分、すなわちセットアップ処理２００（ａ）と動作処理２００（ｂ）に分けられる。ステップ２０２において、ＰＵＦ回路からセキュリティワードが読み出される。これは、内部的にまたは周辺機器によりＰＵＦ回路を励起して、それに応じてセキュリティワードを生成することにより実現できる。ステップ２０４において、セキュリティワードを用いてＲＳＡ鍵が生成される。ステップ２０６において本発明の認証処理の一環としてセキュリティパラメータが生成される。ステップ２０８において伝達関数が識別または別途導出されるが、これについて以下に更に詳しく述べる。ステップ２１０において伝達関数が不揮発性メモリに保存される。この処理は、機器の初回電源投入時または初期化時に、あるいは機器が未だ使用および販売される前の製造時に実行すればよい。いずれの場合も、ＰＵＦ回路を用いてセキュリティ鍵を決定して伝達関数を導出するという厄介な処理は１回だけ実行すればよい。その後で当該機器は、単にＰＵＦから生成されたセキュリティワードおよびメモリに保存される伝達関数を使用するだけで認証が可能になる。
【００５８】
図３に示す処理２００（ｂ）の残りは、次いで当該機器の認証に必要とされる減少された処理を表す。ステップ２１２において、機器は電源投入または別途初期化される。ステップ２１４において、ＰＵＦによりセキュリティ鍵が生成される。これは、近隣または外部機器からＰＵＦ回路を励起または別途照会する照会構成要素により実現できる。ステップ２１６において、伝達関数が不揮発性メモリから取り出される。ステップ２１８において、認証処理が開始される。これには、ＰＵＦセキュリティ鍵と伝達関数の加算、減算、または別途処理をしてＲＳＡ鍵を計算する処理が含まれていてよい。このＲＳＡ鍵は、当該機器が真正であるか否かを判定すべくマスター鍵の値と比較できる。次いで、機器が正当であるか否かが判定される。正当でない場合、ステップ２２４においてエラー信号が生成される。当該機器が正当ならば、当該機器はステップ２２６において認証される。
【００５９】
図４、図５を参照するに、セットアップモード処理のより詳細なフローチャートを図４に示し、動作モード処理のより詳細なフローチャートを図５に示す。セットアップモードおよび動作モード各々の機能を、図７、図８の特定の実施形態におけるハードウェア回路およびソフトウェアに照らして以下に詳述する。しかし、ここに記述する処理は、本明細書に記述する特定の実施形態に一切限定されず、本明細書に記述する機能を実装する任意のセットアップまたは動作回路あるいはソフトウェアに拡張できる。
【００６０】
最初に図４を参照するに、まず処理２２８が実行されてＰＵＦ出力、具体的には本発明に従い機器のセットアップに用いられる検証済みＰＵＦ出力が生成される。ステップ２３０において、セットアップコマンドが受信される。ステップ２３２において、ＰＵＦ出力が生成されるが、これはＰＵＦ集積回路であるか他の構成要素であるかに依らず、ＰＵＦに固有の固有なセキュリティワードを具現する電子信号である。セットアップ処理については、実質的に一貫したパリティビットおよび伝達関数パラメータ（伝達関数オフセット値等）が生成されるようにセキュリティ鍵生成処理の完全性を向上させることが望ましい。従って、より一貫したセキュリティ鍵が得られるだろう。このために一貫したＰＵＦ出力が好適である。
【００６１】
次のステップ、すなわちステップ２３４において、検証処理が実行されて改良されたＰＵＦ出力が生成される。統計的技術を用いて高い信頼性でＰＵＦ出力を反復可能であることがわかっている。一般に、ＰＵＦ出力は繰り返しサンプリング可能であり、簡単な統計処理を施して一貫した数に到達できる。この処理は、セットアップ処理および動作処理の両方において実行可能であって、パリティビットおよび本明細書に述べるオフセット値等の伝達関数パラメータをセットアップおよび決定するために用いる最も正確なＰＵＦ出力が読み出されることを実質的に保証する。例えば、ＰＵＦ出力は３回以上生成することができ、当該出力を比較して一貫した値を見つけることができる。例えばＰＵＦワードが４４８ビットである場合、各ワードのサブセットを用いて他のワードと比較して一貫した出力を決定できる。実際には、特定のビット群が、あるＰＵＦ出力と次に生成された出力との間で交互に切り換わることができる。適切な統計分析を前提として、実質的にセキュリティが確保された認証を実現できる。
【００６２】
ＰＵＦ出力を読み出す際に、大多数のビットは安定していて、同一の出力ワードを一貫して生成できる。しかし、いくつかのビットが、読み出されたものから別のものへ変化または切り替わることがある。ＰＵＦ出力の検証において、より一貫したＰＵＦ出力を保証する処理を起動させることができる。ＰＵＦ出力を数回、例えば５回読み出して、統計アルゴリズムを実行してどのＰＵＦ出力を後続処理で使用するかを決定できる。これにより、後続する誤り訂正処理が改良され、本明細書に記述する全体的な認証処理および副処理が改良される。次いでステップ２３６において、検証された出力が生成される。あるいは、検証処理は誤り訂正の後で実行されてもよい。当業者には、添付の請求項およびその等価物により規定される本発明の概念および範囲から逸脱することなく異なる構成が可能である点が理解されよう。
【００６３】
以下、検証済みＰＵＦ出力を用いて、異なるセキュリティ鍵およびパリティ値が生成される。本発明の具体的な実施形態では、処理２３７（ａ）のオフセットＰ、処理２３８（ｂ）のオフセットＱ、処理２３７（ｃ）のパリティビット、および処理２３７（ｄ）のオフセットＳである。これら出力の各々を用いて、本明細書に記述するＲＳＡ公開鍵および秘密鍵ならびに署名鍵を含むがこれに限定されないセキュリティ鍵の生成に必要とされる値が生成される。これらの値はセットアップ処理中に導出され、オフセット値およびパリティビットは当該機器の動作モード中にセキュリティ鍵の生成に用いるべく不揮発性メモリに保存される。本発明によれば、セキュリティ鍵を生成する高負荷なアルゴリズムはセットアップ処理中に実行されるため、当該機器が認証される都度実行される必要がない。オフセットの値およびパリティビットが不揮発性メモリ内で定められると、データ処理装置による膨大な処理を必要としない簡単な動作でＰＵＦ出力をこれらの値と共に用いてセキュリティ鍵を生成できる。これにより当該処理を高速化し、機器リソースの負荷を軽減すると共に、セキュリティ鍵を生成する当該新規な方法を前提とすれば、上記の比類のない処理が機器のセキュリティを危うくすることはない。
【００６４】
最初に、処理２３７（ａ）でオフセットＰを生成するために、オフセットＰの生成で用いる疑似乱数発生処理をステップ２３８において実行し、これを用いて秘密鍵を生成する。当業者には、異なる種類の疑似乱数発生処理が存在し、本発明に従い構成された機器で使用できることが理解されよう。この処理において、ステップ２４０でシードＰが生成されるが、これは疑似乱数発生器で生成された数値である。このシード値を用いて、ステップ２４１において素数発生器により素数生成処理が実行される。ステップ２４２において素数が生成される。当業者には、異なる種類の素数生成処理が存在し、本発明に従い構成された機器で使用できることが理解されよう。通常、ある数が選択され、これが素数であるか否かテストされる。素数でない場合は別の数が選択され、時には当該数にある値を加算して反復的な処理で再びテストすることもある。ある数が素数であることが分かればそれを用いる。ステップ２４４において、オフセットＰを生成すべくステップ２４２で生成された素数をシードＰの値と組み合わせる。これは、簡単な加算または減算論理回路、乗算回路その他の演算器によってなされてよい。オフセットＰは、ステップ２４５で生成され、ステップ２４６において不揮発性メモリ、オンチップメモリその他のメモリストレージ等に保存される。
【００６５】
次に、処理２３７（ｂ）でオフセットＱを生成するために、オフセットＱの生成で用いる疑似乱数発生処理をステップ２４８において実行し、これを用いて公開鍵を生成する。ステップ２５０でシードＱが生成されるが、これは疑似乱数発生器で生成された数値である。このシード値を用いて、ステップ２５１において素数発生器により素数生成処理が実行される。ステップ２５２において素数が生成される。ステップ２５４において、ステップ２５２で生成された素数をシードＱの値と組み合わせてオフセットＱを生成する。これは、簡単な加算または減算論理回路、乗算回路その他の演算器で実行されてよい。オフセットＰの値と同様に、オフセットＱはステップ２５５で生成され、ステップ２５６において不揮発性メモリ、オンチップメモリその他のメモリストレージ等に保存される。
【００６６】
次に、パリティビット等のパリティ値を生成するために処理２３７（ｃ）が実行され、ステップ２３６からの検証済みＰＵＦ出力を用いてステップ２６２においてＥＣＣパリティビットが生成される。当業者には、パリティビットを生成する多くの異なる方法が存在し、本発明がいかなる特定の方法にも限定されないことが理解されよう。具体例として、ＢＣＨコード（Bose、Ray-Chaudhuri、Hocquenghem誤り訂正コード）その他の方法が含まれる。次いでステップ２６４においてこの値が不揮発性メモリ、オンチップメモリその他のメモリストレージに保存される。
【００６７】
次いで、署名用鍵および最終的に製品署名鍵の生成に用いるオフセットＳが処理２３７（ｄ）において生成される。ステップ２５８において、検証済みＰＵＦ出力を当該機器のセットアップ装置により提供される対称暗号化鍵と組み合わせる。これによりオフセットＳが生成され、次いでステップ２６０において不揮発性メモリ、オンチップメモリその他のメモリストレージに保存される。
【００６８】
従って、３個のオフセット値、すなわちオフセットＰ、オフセットＱ、およびオフセットＳが処理２２７で生成されてメモリに保存される。また、各パリティ値も同様に生成されてメモリに保存される。これらのオフセット値およびパリティ値が伝達関数回路により用いられて秘密ＲＳＡ鍵、公開ＲＳＡ鍵および製品署名用鍵等のセキュリティ鍵が生成される。暗号化された署名用鍵は、ファームウェアに組み込まれた処理またはＩＣチップ内の他の機構により生成されてよい。これは、製造中に生成されても、製造後に提供されても、あるいは他の処理または方法により生成されてもよい。これについて図７、図８を参照しつつ以下でより詳細に述べる。当業者には、これらの機能および特徴が様々な仕方で提供できることが理解されよう。
【００６９】
図５を参照して、動作モード処理２７０のより詳細なフローチャートを示す。当該処理は最初に、ＰＵＦから生成されたＰＵＦ出力をメモリに保存されたパリティビットを用いて修正するための修正済みＰＵＦ出力処理２７１を含んでいる。ステップ２７２において、当該処理は認証リクエストを受信し、新規の方法を用いてセキュリティ鍵および関連データを生成する。本発明によれば、これはＲＳＡ鍵または他の種類のセキュリティ鍵等のセキュリティ鍵の生成に用いるアルゴリズム等、先行技術で使用する高負荷な処理なしに可能である。これは、当該機器が通常動作中に時と場所に依らず認証が望まれる状況で生起する。当該処理に引き続き、各々のセキュリティ鍵を生成する並列処理が実行される。秘密鍵処理２６９（ａ）は、秘密または個人のＲＳＡ鍵すなわち秘密鍵を生成する。公開鍵処理２６９（ｂ）は公開鍵を生成する。また、署名用鍵処理２６９（ｃ）は、製品署名を生成する署名用鍵を生成する。これらの処理は、並列または連続的に実行されてよいが、鍵を生成する別々の処理はその完了のために互いに依存する必要はない。大多数のＲＳＡアプリケーションにおいて、秘密ＲＳＡおよび公開ＲＳＡ鍵の生成に２個の素数が必要であるため、並列処理が必要になろう。
【００７０】
また、修正済みＰＵＦ出力処理２７１がステップ２７２において開始され、ここで認証リクエストが受け取られる。次いでステップ２７３においてＰＵＦ出力が生成される。ステップ２７４において、ＥＣＣにより誤り訂正処理が実行され、ここでＰＵＦからのＰＵＦ出力およびメモリからのＥＣＣパリティビットを用いて、ステップ２７５において修正済みＰＵＦ出力が生成される。この値は３個の処理２６９（ａ）、２６９（ｂ）、および２６９（ｃ）において各々のオフセット値、すなわちオフセットＰ、ＱおよびＳと共に用いられて各々のセキュリティ鍵が生成される。
【００７１】
秘密鍵を生成する処理２６９（ａ）がステップ２７６において開始され、ここで疑似乱数生成処理ＰＲＮＧ−Ｐが実行される。ステップ２７７においてシード値すなわちシードＰが生成される。ステップ２７８において、シードＰはメモリから取り出されたオフセットＰと組み合わされる。これは、単に加算論理または減算、排他的論理和、乗算その他の演算器等の処理手段を用いて値を減ずることにより行うことができる。ステップ２７９において素数、すなわち素数Ｐが生成される。ステップ２８０において、ＲＳＡ鍵生成処理が実行され、次いでステップ２８１において秘密鍵が生成される。
【００７２】
秘密鍵を生成する処理２６９（ｂ）がステップ２８２において開始され、疑似乱数生成処理ＰＲＮＧ−Ｑが実行される。ステップ２８３において、シード値すなわちシードＱが生成される。ステップ２８４において、シードＱは、メモリから取り出されたオフセットＱと組み合わされる。これは単に、加算論理または減算、排他的論理和、乗算等、他の処理手段あるいは他の演算器を用いて値を減算することにより行える。ステップ２８５において素数、すなわち素数Ｑが生成される。ステップ２８６においてＲＳＡ鍵生成処理が実行され、次いでステップ２８７において公開鍵が生成される。
【００７３】
署名用鍵を生成する処理２６９（ｃ）がステップ２８８において開始され、ステップ２７５において生成された修正済みＰＵＦ出力がメモリから取り出されたオフセットＳと組み合わされる。これに基づいて対称復号鍵がステップ２８９において生成される。ステップ２９０において、暗号化された署名用鍵がチップメモリまたは不揮発性メモリのいずれかに依らずストレージから取り出される。ステップ２９１において対称暗号化が実行される。具体例として高度暗号化標準（ＡＥＳ）、例えば当業者には公知であるＡＥＳ−２５６が含まれていてよい。ステップ２９２において署名用鍵が生成される。
【００７４】
セキュリティ鍵が生成されたならば、処理２９３（ａ）おいて暗号化データが生成され、処理２９３（ｂ）において署名鍵が生成される。両方の場合において、当該処理は並列または連続的に実行されてよく、相互に依存することなく結果が得られる。暗号化データ処理２９３（ａ）に対して、ステップ２８１で生成された秘密鍵を用いて公開鍵暗号化処理がステップ２９４で実行される。具体例として上述のＲＳＡ標準が含まれる。ステップ２９５において暗号化データが生成される。署名鍵処理２９３（ｂ）に対して、ステップ２９２で生成された署名用鍵およびステップ２８７で生成された公開鍵を用いてＲＳＡ署名生成が実行される。ステップ２９７における処理から当該署名が生成される。
【００７５】
ステップ２９８において認証データが認証機器へ伝達される。これは、上述の処理の終了時に、または処理の間に実行されてよい。最終的に、本発明に従い実行される新規な処理は、機器が認証を必要とする都度認証アルゴリズムを実行する高負荷なタスクなしに機器を認証する新規な手段を提供する。これは、これらの処理が上述のセットアップ処理で実行され、セキュリティ鍵を生成するためにより簡単な処理を用いてオフセット値をＰＵＦ出力と組み合わせて代替的に用いるからである。その結果、本発明により、機器を認証すべく大幅に改良されたシステムおよび方法が提供される。
【００７６】
図６を参照して、集積回路識別（ＩＣＩＤ）処理で用いられるサンプルＰＵＦ回路の図を示す。この回路は２２４個のランダムなビットおよび３２個の固定ビットを生成する。当該回路は、並列抵抗３０２、３０４を含んでいて、当該抵抗の一端がノード３０８、３１０を介して電圧変動回路３０６に、反対側の一端が接地点、電圧源、または他の構成要素に接続されている。ノード３０８、３１０は、出力端３１４を有するコンパレータ３１２の正および負入力に接続されている。回路３０６は、第１のトランジスタ３１６を含んでいて、そのトランジスタの一端がノード３０８に、ゲート終端が接地点３１８に、また別の一端が電流源３２６に接続されている。回路３０６はまた、一端がノード３１０に、他の一端がオフセット電圧源３２２に、次いで接地点３２４に接続されている第二トランジスタ３２０を含んでいる。これは、本発明に従い構成された回路で用いるＰＵＦ出力を生成可能な回路の一例である。当業者には、ＰＵＦ出力を生成するために利用可能な多くの異なる種類の回路が存在することが理解されよう。例えば、再び米国特許第６、１６１、２１３号を参照するに、特定のＰＵＦ回路のいくつかの例が示されている。本発明は、いかなる特定のＰＵＦ回路にも限定されず、実際、セキュリティ鍵の生成に使用する固有のセキュリティワードを生成可能な任意のＰＵＦ回路その他の構成要素に及ぶ。
【００７７】
図７、図８を参照して、一般的な機器に組み込まれた状態で本発明のより詳細な実施形態を示す。最初にこれらの構造、次いで動作に関して述べる。図７は、本発明を実施している機器の動作モードでの構成図である。すなわち、当該実施形態は、製造されセットアップ済みの機器を示す。従って、当該機器の伝達関数（具体的にはこの特定の実施形態における伝達関数オフセット）の生成に必要とされる処理および動作は実行されていて当該機器に埋め込まれている。本発明によれば、これらの処理および動作をこれ以上実行する必要はなく、当該機器はこれらがなくても当該新規な方法で認証できる。図８は本発明を実施している機器のセットアップモードでの構成図であり、伝達関数を生成する処理および動作が実行される。セットアップ時に伝達関数が決定されたならば、もはや当該機器がこれらを実行する必要はない。上述のように、これらの実施形態は単に実施形態の例に過ぎず、好適な実施形態を含んでいる。別々の構成図は、本発明を実施している機器の各々動作モードおよびセットアップモードでの動作を別々に記述すべく選択されたコンポーネントまたは機能ブロックを含んでいる。従って、当該機器は図に別々に示されたコンポーネントの一部または全部を含んでいてよい。また、上述のように、いくつかのコンポーネント、特徴または機能が当該機器上にまたは当該機器外にあってよく、これらの特徴または結果として生成する出力値の一部または全部が通信チャネルまたはその他の手段を介して当該機器へ伝送されても、あるいは、例えば何らかのセットアップ機器等、他の機器に含まれていてもよい。
【００７８】
まず図７を参照するに、システム４００は、通信路４０６を介して別の機器４０４または機器群と認証処理その他の目的で通信可能な機器４０２を含んでいる。例えば、当該機器は汎用パソコン等の電子機器に組み込まれた指紋センサであってよい。そのような例において、ユーザーは指紋センサを指でなぞって、パソコン向けに認証信号を生成させることができる。パソコンは次いで、秘密鍵４０８、公開鍵４１０または署名鍵４１２等のセキュリティ鍵を含む信号を用いて、機器を認証する。この処理の目的は、センサ機器が、ユーザーから指紋画像を安全に受信する許可が与えられている旨を保証し、許可された個人へアクセスを提供することである。異なる鍵を用いるセキュリティ処理がなければ、無許可ユーザーが偽の機器を用いて不正にパソコンにアクセスする恐れがある。
【００７９】
本実施形態において、通信路は複数のラインを含んでいて、その１個は暗号化データまたは秘密鍵４０８、１個は公開鍵４１０、また１個は機器署名４１２のためのものであり、各々について後述する。機器が利用する通信路または異なる種類のセキュリティ鍵の数や構成に依らず、本発明は最も大まかに、機器に保存された暗号化データと共にＰＵＦ回路を用いて各種のセキュリティ鍵を構成することを目的とする。これらが提供する特徴および利点について以下により詳細に述べる。
【００８０】
引き続き図７を参照するに、機器４０２は更に、セキュリティ鍵に関連するデータを保存すべく構成された不揮発性メモリ４１４を含んでいる。当該不揮発性メモリは、誤り訂正回路の動作に関連するＥＣＣパリティビット４１６を保存すると共に、伝達関数パラメータ４１８を保存すべく構成されている。これらのＥＣＣパリティビットは次いで、ＰＵＦ回路４２０からのセキュリティワードと組み合わされてセキュリティ鍵の生成に用いられる。ＰＵＦ回路４２０はＰＵＦ出力４２１を生成すべく構成されているが、これはＰＵＦ回路が励起または別途起動された際に自発的にＰＵＦ回路から生成されるセキュリティワードである。
【００８１】
上述のように、ＰＵＦ回路は当分野で公知であって、さまざまに構成できる。本発明は、いかなる特定のＰＵＦ回路にも限定されず、どのように構成されているかに依らず、ＰＵＦ出力を取り出し、これを用いて機器またはシステムのセキュリティ鍵を生成することを目的とする。
【００８２】
ＰＵＦ出力が生成されたならば検証モジュール４６４で検証される。この動作において、ＰＵＦ出力により生成された出力ビットが検証されて、動作モードおよび以下に述べるセットアップモードの両方における、一貫した、従って、真正であるＰＵＦ出力の生成が保証される。通常、ＰＵＦ出力は安定しているが、出力ワードのいくつかのビットが異なる時点であって且つ場合により異なる状況下で読み出された際に論理値１から論理値０に（またはその逆）切り換わる可能性があることが知られている。本発明によれば、後続ステップにおける誤り訂正を改善するために、ＰＵＦ出力の検証を実行して信頼できる出力値を生成する。その目的は、誤り訂正処理および回路により必要とされる余分且つ不要な処理およびメモリ負荷を防止または削減することである。従って、より一貫したＰＵＦ出力値を提供することにより誤り訂正が改善される。一実施形態において、これはＰＵＦ出力を複数回、例えば５回読み出して、最も一貫した、もしくは読み出された他の出力値と類似した値を選択することにより実現される。読み出された複数のＰＵＦ値が評価されてどれが最も一貫しているかを決定するアルゴリズムを実行できる。
【００８３】
検証済みＰＵＦ出力４６６が誤り訂正回路（ＥＣＣ）４２２内のＥＣＣパリティビットと組み合わされて修正済みＰＵＦ出力４２６が生成される。
【００８４】
ＥＣＣの目的は、当該機器の認証に際して繰り返されるＰＵＦ出力の生成に一貫性を保証することである。以下に詳述するセットアップモードでセットアップされたならば、本発明は、一貫してＰＵＦ出力を生成し、順に一貫性を有するセキュリティ鍵を生成する手段を提供する。そのようなセキュリティ動作が正しく動作するためには一貫性は決定的に重要な意味をもつ。例えば、ラップトップコンピュータ等の機器は、当該機器に電源投入する都度認証を必要とするであろう。無論、当該機器が適切に構成されていればセキュリティ処理に妨げられることなく電源投入できることが決定的に重要である。別の例として、指紋センサはユーザーが指の表面でセンサをなぞることにより起動される。もしこれを実行した後で技術的なエラーが原因でセキュリティ処理が失敗すればユーザーは怒るであろう。従って、どのようなセキュリティ機器であっても動作中の一貫性は決定的に重要である。本発明は、ＥＣＣ回路により、認証で用いるセキュリティ鍵を一貫して生成する手段を提供する。
【００８５】
更に、いかなるセキュリティ処理も迅速に完了することが重要である。背景技術で述べたように、機器におけるセキュリティ手順の遅延は許されない。ラップトップ電源投入の例または指紋センサの例のどちらの場合も、無用な遅延があればユーザーは苛立つ。本発明によれば、セキュリティ鍵を生成する処理の完了に要する時間が大幅に減少する。これは、本発明に従いＰＵＦ回路を用いてセキュリティ鍵を隠蔽すべく構成された機器の比類ない能力の結果である。ＰＵＦ回路によるセキュリティワードの生成は、プロセッサによる複雑または高負荷な処理を必要とせず、簡単な処理機能を用いてセキュリティ鍵を生成するだけでよく、これについて以下に述べる。
【００８６】
一貫性および適時性に加えて、上記のようなセキュリティ鍵を生成する際にセキュリティの維持が必須である。本発明によれば、修正済みＰＵＦ出力により、機器が当該機器内だけでセキュリティ鍵を生成することが可能になり、外部から処理が覗かれたり干渉されたりする恐れをなくす。また、ＰＵＦ出力はメモリに保存されないため、機器外部での照会に対して堅牢である。また更に、メモリ４１４に保存されたデータは鍵生成処理のごく一部であり、当該機器の外部で観察することも再現することもできない。パリティビットまたは伝達関数パラメータは、たとえ当該機器の外部から観察されたとしても、出力されたＰＵＦのセキュリティワードを明らかにすることは絶対にない。従って、ＰＵＦ出力を用いて、当該機器外部の観察者または照会構成要素には類推不可能な仕方でセキュリティワードを生成できる。
【００８７】
引き続き図７を参照するに、修正済みＰＵＦ出力４２６は伝達関数回路４２４へ送信され、そこでＰＵＦ出力の派生物を用いて秘密鍵、公開鍵および署名が生成される。従って、これらの鍵はＰＵＦ出力から生成されたセキュリティワードから導出され、特定の機器のために複製することは不可能でないにせよ、現実的に困難になる。本発明に従い構成されたシステムまたは機器は偽造、複製、照会または別途そのセキュリティを侵害することが極めて困難となる。修正済みＰＵＦ出力は、３個の異なる経路４２８、４３０、４３２において伝達関数回路により受信されて３個の異なるセキュリティ鍵、秘密鍵、公開鍵および署名鍵の導出に用いられる。ＰＵＦ出力は２５６ビットのワードとして示されているが、アプリケーションに応じてこれより大きくても小さくてもよい。実際には、各々の鍵生成処理で修正済みＰＵＦ出力の全部または一部を用いてよい。例えば、各々の経路４２８、４３０、４３２で修正済みＰＵＦの一部または修正済みＰＵＦ出力の全部を用いてもよい。あるいは、修正済みＰＵＦ出力の異なる部分を異なる経路で用いて当該処理を更に複雑にして、セキュリティ鍵の生成に必要な処理を更に隠蔽できる。当業者には、修正済みＰＵＦ出力の異なる組合せおよび順列を用いて異なる鍵を導出することができ、特定のアプリケーションまたは実施形態のために選択されたいかなる特定の組合せによっても本発明が限定も排除もされないことが理解されよう。
【００８８】
秘密鍵の生成に際して、疑似乱数発生器４３４が修正済みＰＵＦ出力を受信して値４３８、すなわちシードＰを生成する。本特定実施形態では加算器である演算器４４４が当該シード値を受信して対応するオフセット値、すなわちオフセットPと組み合わせる。当業者には、上記および他の演算器が、加算器、減算器、除算器、乗算器、排他的論理和演算器、あるいはシードとオフセット値を組み合わせるべく実装された他の算術または論理演算器として実装可能であることが理解されよう。この特定の実施形態において、シードＰがオフセットＰに加算されて素数、すなわち素数Pが生成される。ＲＳＡ鍵発生器４５０等のセキュリティ鍵発生器がこれを用いて認証用の秘密鍵を生成する。当業者には、疑似乱数発生器、ＲＳＡ鍵発生器、および本明細書で触れたが詳細を明記していない他のコンポーネントが公知技術であることもまた理解されよう。秘密鍵は、伝達関数回路の外部で、公開鍵暗号化プロセッサ４６０により処理されてもよい。この動作において、暗号化データを別の機器４０４と対象機器４０２との間で送信し、秘密鍵をメモリ４１４（秘密鍵のストレージは図示せず）に保存できる。
【００８９】
同様に、公開鍵の生成に際して疑似乱数発生器４３６が修正済みＰＵＦ出力を受信して値４４０、すなわちシードＱを生成する。本特定の実施形態では加算器である演算器４４６が当該シード値を受信して対応するオフセット値、すなわちオフセットＰと組み合わせる。シードＱはオフセットＱに加算されて素数、すなわち素数Ｑが生成される。これをＲＳＡ鍵発生器４５０等のセキュリティ鍵発生器を用いて、別の機器４０４による認証用の公開鍵（本例では２０４８ビット値）を生成する。
【００９０】
本実施形態において、疑似乱数発生器４３４、４３６は、動作モード並びに後述するセットアップモードの両方について同一であることが好ましい。その理由は、素数を生成する際にＲＳＡ動作が一貫していて、セットアップ中に保存されるオフセット値の生成に用いられる素数が、動作モード中にセキュリティ鍵を生成する際に使用するものと同一であることを保証するためである。当業者には、動作モード回路およびソフトウェア、またはセットアップ回路およびソフトウェア用に複製または再利用可能な異なるコンポーネントが存在すること、および異なるアプリケーションが異なる構成に対する柔軟性を必要とするまたは許容することが理解されよう。
【００９１】
例示されているように、当該機器用の署名鍵は異なる方法で生成できる。署名鍵の目的は、機器４０４等の他の機器により公開鍵を検証することである。従って、これは公知の情報であって、ＰＵＦ回路を用いて当該情報を暗号化することで認証処理に更に一段高いセキュリティを付与する。本実施形態において、修正済みＰＵＦ出力４２６は算術演算器４４８においてオフセットＳと組み合わされて対称復号鍵が生成される。対称復号鍵は、当該機器の製造時に、あるいは別の方法で当該機器に保存された暗号化署名鍵４５２と組み合わされる。
【００９２】
暗号化署名用鍵は、スペースとコストを節約すべくチップ内の読み出し専用メモリ（ＲＯＭ）に保存されてもよい。あるいは、不揮発メモリ４１４に保存されてもよい。暗号化署名用鍵４５４は単に、所定のデジタル値、例えば図に示すような２０４８ビット数であっても、あるいは別途導出された値であってもよい。暗号化署名用鍵は、対称復号装置４５６に組み込まれる。対称復号装置４５６は、任意の種類の算術または論理回路から構成されていてよく、加算器、論理排他的論理和ゲート等の簡単な装置であってよい。次いで対称復号装置により当該機器に固有の署名用鍵が生成され、ＲＳＡ署名発生器４５８の公開鍵と組み合わされて、別の機器４０４による認証用に当該機器の署名鍵（本例では２０４８ビットワード）が生成される。
【００９３】
動作時において、本システムは最初にＰＵＦ回路からの出力を生成することにより機器のセキュリティを電子的に確保する方法を実行すべく構成されている。当該機器は、自身を認証するために、メモリに保存されている伝達関数パラメータを取り出してセキュリティ鍵を生成すべく構成されている。これは、ＰＵＦ出力と伝達関数パラメータを用いて伝達関数アルゴリズムを実行して公開鍵、秘密鍵、および／または署名を生成することにより実現できる。本方法は更に、ＰＵＦ出力に対し誤り訂正処理を実行して修正済みＰＵＦ出力を生成するステップと、修正済みＰＵＦ出力およびストレージからの伝達関数パラメータを用いて伝達関数アルゴリズムを実行することによりセキュリティ鍵を生成するステップとを含んでいてよい。誤り訂正処理を実行する処理は、ＰＵＦ出力を受信し、ＥＣＣパリティビットを取り出して、ＰＵＦ出力とパリティビットを用いて誤り訂正アルゴリズムを実行するステップを含んでいてよい。セキュリティ鍵を生成するステップは、ＰＵＦ出力およびストレージからの少なくとも１個の伝達関数パラメータを用いて伝達関数アルゴリズムを実行するステップを含んでいる。
【００９４】
物理的に複製不可能な機能（ＰＵＦ）回路から出力を生成するＰＵＦ修正処理は、ＰＵＦ回路を励起して初期ＰＵＦ出力を生成し、次いで検証処理を用いてＰＵＦ出力を検証して検証済みＰＵＦ出力を生成するステップを含んでいる。本発明は更に、一貫したＰＵＦ出力に対して誤り訂正パリティビットを用いて誤り訂正を実行して修正済みＰＵＦ出力を生成する方法を提供する。ストレージから伝達関数パラメータを取り出すステップは、当該機器の不揮発メモリに保存されている複数の伝達関数オフセット値を取り出すステップを含んでいる。従って、セキュリティ鍵を生成するステップは、修正済みＰＵＦ出力およびストレージからの少なくとも１個の伝達関数オフセット値を用いて伝達関数アルゴリズムを実行するステップを含んでいる。
【００９５】
本発明はまた、疑似乱数発生器へのＰＵＦ出力、特に修正済みＰＵＦ出力、およびオフセット値を用いて素数を生成する方法を含み、セキュリティ鍵を生成するステップは、修正済みＰＵＦ出力および伝達関数オフセット値を用いて伝達関数アルゴリズムを実行するステップを含んでいて、素数を生成する方法は更に、疑似乱数発生器によりＰＵＦ出力を受信してシード値を生成するステップと、当該シード値を伝達関数オフセット値と組み合わせることにより素数を生成するステップとを含んでいる。次いでセキュリティ鍵が素数を用いて生成される。好適な実施形態において、複数の疑似乱数発生器によりＰＵＦ出力を受信することにより複数のシード値を生成して、複数のセキュリティ鍵を生成できる。次いで、当該シード値を対応する伝達関数オフセット値と組み合わせることにより、複数の素数を生成できる。次いで素数の複数を用いてセキュリティ鍵を生成できる。
【００９６】
図示している上述の実施形態において、２個の素数を生成すべく２個の乱数発生器を用いてセキュリティ鍵が生成され、２個の独立した疑似乱数発生器がＰＵＦ出力（本実施形態では修正済みＰＵＦ出力）を受信して２個のシード値を生成する。当該２個のシード値を対応する伝達関数オフセット値と組み合わせることにより、２個の素数が生成される。次いで当該２個の素数を用いて２個のセキュリティ鍵が生成される。最終的にセキュリティ鍵を生成する方法は、第１の疑似乱数発生器によりＰＵＦ出力、すなわち修正済みＰＵＦ出力を受信して第１のシード値を生成するステップと、第１のシード値を第１の対応する伝達関数オフセット値と組み合わせることにより第１の素数を生成するステップとを含んでいる。次いで第１の素数を用いて秘密セキュリティ鍵が生成される。次いで、第２の疑似乱数発生器がＰＵＦ出力、すなわち修正済みＰＵＦ出力を受信して第２のシード値を生成する。第２の素数は、第２のシード値を第２の対応する伝達関数オフセット値と組み合わせることにより生成される。次いで、第２の素数を用いて公開セキュリティ鍵が生成される。
【００９７】
ＰＵＦ出力を第３のオフセット値と組み合わせることにより署名鍵が生成される。これは、ＰＵＦ出力を第３のオフセット値と組み合わせて対称復号鍵を生成し、次いで対称復号鍵と暗号化署名用鍵を対称復号装置により組み合わせて署名用鍵を生成することにより実現される。次いで署名用鍵および公開セキュリティ鍵が組み合わされて、署名が生成される。一実施形態において、署名鍵は、署名オフセット値をストレージから取り出して、ＰＵＦ出力を第３のオフセット値と組み合わせて対称復号鍵を生成し、対称復号装置により対称復号鍵を暗号化署名用鍵と組み合わせて署名用鍵を生成し、最後に署名用鍵と公開セキュリティ鍵を組み合わせて署名を生成することにより生成される。
【００９８】
図８を参照するに、セットアップモードにおいて使用される機器コンポーネントの一構成を示す。図７の説明と同様に、選択されたコンポーネントは、セットアップモードを説明する目的で機器に関連する動作と構造を例示するために含まれている。いくつかのコンポーネントは必然的に、セットアップ処理中、および当該機器が通常使用される間に認証される通常の動作中であっても各種動作が一貫して動作するように、動作モードで使用されるものと同一でなければならない。当業者には、異なるコンポーネントの場所、冗長性、選択、およびその他の態様を含むコンポーネントの実装において、多くの変型例が本発明の概念および範囲から逸脱することなく可能であること、また、異なるコンポーネントが、機器内か機器外かに依らず、単一の集積回路チップ、異なるチップまたは回路基板に存在し得ることが理解されよう。機器のこのような態様の各々は、設計仕様、変型および制約に応じてアプリケーション毎に異なっていてよい。
【００９９】
セットアップ用システムは、機器４０２およびセットアップ装置４６２を含んでいて、当該機器とセットアップ装置の間で、セットアップコマンドおよびパラメータを含む通信が生起する。セットアップ装置は製造現場に存在できる。通信はまた認証通信を含んでいてよく、当該機器を動作モードで動かすためにテスト機器が別の機器、例えば図７の別の機器４０４のように機能する。これは、機器を製造時にセットアップしたい場合、更に品質保証制御目的または個々の機器のテスト目的に依らず当該機器のテストを行いたい場合に実施できる。当業者には、さまざまなマーケティング専門家、設計者または技術者がさまざまなアプリケーション用にさまざまなセットアップ動作を使用する場合があることが理解されよう。
【０１００】
当該機器は、初期ＰＵＦ出力４２１を生成すべく構成されたＰＵＦ回路４２０を含んでいる。これは、図７と関連して上述した、動作モードで用いられているＰＵＦ出力４２１と同一のものである。セットアップモードにおいて、ＰＵＦ出力４２１は、パリティビット４１６および伝達関数パラメータ４１８が正確であることを保証すべくセットアップモードにおいて精微化する必要があるため、初期ＰＵＦ出力４２１と呼ばれる。これは、当該機器の動作モード中に要求される都度適切な認証が行われることを保証するために必要である。従って、ＰＵＦ検証モジュール４６４は、初期ＰＵＦ出力４２１を受信して、セットアップモードにおいて検証済みＰＵＦ出力４６６を生成するように構成されている。これは、動作モードに関して上で述べた検証動作と同一の動作であってよい。いずれにせよ、好適な実施形態において、一貫したＰＵＦ出力値をより上手に提供するために検証動作は動作モードとセットアップモードの両方において実行される。本発明によれば、ＰＵＦは各々の機器に固有であって、好適な実施形態において当該コンポーネントはセットアップモードおよび動作モードの両方で用いる必要がある。
【０１０１】
検証済みＰＵＦ出力４６６はＥＣＣパリティ生成回路４６８およびセットアップ機能回路４７０へも送信される。ＥＣＣパリティ生成４６８回路は、図７に示すＥＣＣ誤り訂正回路４２２と同一であっても、別個であっても、あるいはこれに組み込まれていてもよい。実際、ＥＣＣパリティ生成機能は、セットアップ装置内の機器外で実行されてもよい。当該機器外でパリティ生成を実行する場合の短所の一つがセキュリティである。当該処理が機器内、恐らくはＰＵＦその他の回路やコンポーネントと同一チップ内で実行される場合、当該機器の外部から検知も観察もできない。たとえリバースエンジニアリングにより回路が微視的に分解、解析または観察されたとしても、パリティ生成が侵入者により簡単に破られることはない。例えば当該機器が製造およびセットアップされた場所の技術者により外部から実行された場合、その通信リンクにセキュリティリスクが存在する。この点は、施設および職員面で比較的セキュリティが確保されていて、且つ通信リンクに侵入されるリスクが低いアプリケーションでは懸念を要しないであろう。しかし、職員または施設のセキュリティが確保されていない施設ではそのようなリスクは受容できない。当業者には、これらのようなさまざまなリスクが問題となる場合に、いろいろなアプリケーションでさまざまな構成が要求されることが理解されよう。
【０１０２】
セットアップ機能回路４７０は、３個の別々のチャネル４７２、４７４、および４７６で検証済みＰＵＦ出力を受信すべく構成されている。例示する当該態様において、ＰＵＦ値は２５６ビット値であり、特定のアプリケーションに応じてこれより大きくても小さくてもよい。上述のように、実際には、検証済みＰＵＦ出力の全部または一部が各々のオフセット生成処理チャネルにより用いられてよい。例えば、検証済みＰＵＦの一部または検証済みＰＵＦ出力の全部を、各々の経路４７２、４７４、４７６用に複製できる。
【０１０３】
あるいは、検証済みＰＵＦ出力の異なる部分を異なる経路で用いて当該処理を更に複雑にして、セキュリティ鍵オフセット値の生成に必要な処理を更に隠蔽できる。当業者には、検証済みＰＵＦ出力の異なる組合せおよび順列を用いて異なるオフセット値を導出することができ、特定のアプリケーションまたは実施形態のために選択されたいかなる特定の組合せによっても本発明が限定も排除もされないことが理解されよう。
第１のチャネルにおいて、疑似乱数発生器ＰＲＮＧ−Ｐ４３４を用いてオフセット値オフセットＰの生成に用いるシードＰ４３８を生成する。シード値４３８は１０２４ビットワードとして例示されているが、これより大きくても小さくてもよく、ＰＵＦ入力またはアプリケーションに依存していてよい。シードＰは、素数発生器４８０へ送信されて素数値すなわち素数Ｐが生成され、これもまた１０２４ビットワードとして例示されているがアプリケーションに応じてこれより大きくても小さくてもよい。素数Ｐ値は次いで、算術演算器４７８においてシードＰと組み合わされてオフセット値、すなわちオフセットＰが生成される。ここでは算術演算器を通常は減算論理を備えている減算器として示す。しかし、加算器、排他論理和演算器その他の論理算術演算器であってよい。ここに示すオフセットＰ値は８ビット値であるが、アプリケーションに応じてこれより大きくても小さくてもよい。本実施形態に示すように、これはオフセット値であるため、且つ大きいセキュリティ鍵値ではないため、当該オフセット値は比較的小さく、従って小容量メモリに容易に保存できる。本発明によれば、これはセキュリティ鍵の生成に用いる少量のセキュリティデータを保存する極めて有用な手段を提供するものである。
【０１０４】
第２のチャネルにおいて、疑似乱数発生器ＰＲＮＧ−Ｑ４３８は、オフセット値すなわちオフセットＱの生成に用いる値すなわちシードＱ４４０を生成する。シード値４４０は１０２４ビットワードとして例示されているが、これより大きくても小さくてもよく、ＰＵＦ入力またはアプリケーションに依存していてよい。シードＱは、素数発生器４８４へ送信されて素数値すなわち素数Ｑが生成され、これもまた１０２４ビットワードとして例示されているがアプリケーションに応じてこれより大きくても小さくてもよい。素数Ｑ値は次いで、算術演算器４８０においてシードＱと組み合わされてオフセット値すなわちオフセットＱが生成される。ここでは算術演算器を通常は減算論理を備えている減算器として示す。しかし、加算器、排他論理和演算器その他の論理算術演算器であってよい。
【０１０５】
Ｐ値と同様に、ここに示すオフセットＱ値は８ビットの値であるが、アプリケーションに応じてこれより大きくても小さくてもよい。本実施形態に示すように、これは大きいセキュリティ鍵値ではなくオフセット値であるため、当該オフセット値は比較的小さく、従って小容量のメモリに簡単に保存できる。本発明によれば、これによりセキュリティ鍵の生成に用いる少量のセキュリティデータを保存する極めて有用な手段が提供される。
【０１０６】
署名用鍵値を得るため、ここでも２５６ビットワードとして示す検証済みＰＵＦ値４７６を、これも２５６ビットのワードとして示す対称復号鍵４５７と組み合わせる。検証済みＰＵＦ出力値は次いで、算術演算器４８２において対称復号鍵４５７と組み合わされてオフセット値オフセットＳが生成される。ここで算術演算器は、通常減算論理を備えた減算器として示す。しかしこれは加算器、排他論理和演算器その他の論理算術演算器であってもよい。
【０１０７】
セットアップモードにおいて、署名セキュリティ鍵オフセットを生成する方法は、ＰＵＦ出力として、物理的に複製不可能な機能（ＰＵＦ）回路からの出力を読み出すステップと、当該ＰＵＦ出力を用いて伝達関数パラメータを計算するステップと、当該ＰＵＦ出力を当該伝達関数パラメータと組み合わせてセキュリティ鍵を生成する後続の動作用に伝達関数パラメータを不揮発性メモリに保存するステップとを含んでいる。本発明は更に、誤り訂正パリティビットを生成し、エラーが修正された修正済みＰＵＦ出力の生成の際に後で用いるためにメモリに保存するステップを提供する。
【０１０８】
オフセット値は、最初に第１の疑似乱数発生器により第１のシード値を生成することにより生成される。次に、第１のシード値を用いて第１の素数発生器により第１の素数が生成される。次いで、第１のシード値および第１の素数を用いて第１の伝達関数オフセット値が計算される。次いで第２の疑似乱数発生器により第２のシード値が計算される。次いで、第２のシード値を用いて第２の素数発生器により第２の素数が生成される。次いで第２のシード値および第２の素数を用いて第２の伝達関数オフセット値が計算される。第１および第２のオフセット値の計算は、第１のシード値および第１の素数を用いる算術演算を実行するステップを含んでいてよい。当該算術演算は、加算、減算、除算、その他何らかの算術演算であってよい。
【０１０９】
セットアップモードにおいてオフセット値を生成する前に、ＰＵＦ値は、ＰＵＦ出力に対して検証アルゴリズムを実行して一貫したＰＵＦ出力を生成することにより検証できる。検証アルゴリズムを実行するステップは、複数のＰＵＦ出力を受信するステップと、統計的に一貫した出力値を選択して一貫したＰＵＦ出力を生成するステップとを含んでいる。
【０１１０】
本発明はまた、コンピュータプロセッサにより実行される多くの機能を含んでいてよく、これらは組合せ論理と同程度に単純であっても、またはマイクロプロセッサ等のより複雑な機器を含んでいてよい。マイクロプロセッサは、特定のタスクを規定する機械可読なソフトウェアコードを実行することにより特定の作業を実行すべく構成された特定用途または専用マイクロプロセッサであってよい。マイクロプロセッサはまた、他の機器、例えば直接メモリアクセスモジュール、メモリストレージ、インターネット関連ハードウェア、およびデータ送信に係る他の機器と本発明に従い協働しそして通信すべく構成されていてよい。ソフトウェアコードは、Ｊａｖａ（登録商標）、Ｃ＋＋、ＸＭＬ（拡張可能マークアップ言語）および本発明に関する機能的動作の実行に必要とされる機器の動作に関する機能を規定するために使用可能な他の言語等のソフトウェア形式を用いて構成されていてよい。コードは、さまざまな形式やスタイルで書かれていてよく、その多くが当業者には公知である。さまざまなコード形式、コード構成、ソフトウエアプログラムのスタイルや形式、並びに本発明に従いマイクロプロセッサの動作を規定すべくコードを構成する他の手段を用いても本発明の概念および範囲から逸脱しない。
【０１１１】
本発明を利用するコンピュータサーバ等のさまざまな種類のコンピュータ内部に、本発明に従い機能を実行しながら情報を保存および取り出すためのさまざまな種類のメモリ装置が存在する。上記コンピュータには、頻繁に保存されて取り出される情報の便利な保存場所としてキャッシュメモリ機器が中央演算処理装置用に含まれている場合が多い。同様に、中央演算処理装置により頻繁に取り出される情報を保持すべく上記コンピュータで永続的なメモリもまた多用されるが、そのような情報はキャッシュメモリとは異なり持続的なメモリ内では頻繁には変更されない。より大量の情報、例えばデータおよび中央演算処理装置により実行される際に本発明に従い機能を実行すべく構成されたソフトウェアアプリケーション等を保存および取り出すための主メモリもまた含まれている。これらのメモリ装置は、ランダムアクセスメモリ（ＲＡＭ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、フラッシュメモリ、および情報を保存および取り出すために中央演算処理装置からアクセス可能な他のメモリストレージとして構成されていてよい。本発明は、いかなる特定の種類のメモリ装置にも、またこれらのメモリ装置との間で情報を保存および取り出すいかなる一般用プロトコルにも限定されない。
【０１１２】
本装置および方法は、認証処理が利用される電子機器の動作で用いる、集積回路チップに組み込まれたＰＵＦ回路および関連アプリケーションを利用して公開および秘密セキュリティ鍵を提供する方法および装置を含んでいる。動作時において、上述の保存されたパラメータを用いて、高負荷なセキュリティ鍵生成処理を実行する必要なく、また機器のセキュリティのレベルを犠牲にすることなく、より効率的且つ迅速に機器を認証できる。本実施形態は、機器を認証するための機器、システム、および関連方法の文脈で記述および図示されているが、本発明の範囲はそのような機能が有用である他のアプリケーションにも広がる。更に、上記説明は本発明の特定の実施形態を参照しているが、これらが単に本発明を例示するものであって、本発明の原理から逸脱することなくこれらの実施形態に変更を加えることができる点が理解されよう。
【図１】
2010527219.tif 000003
2010527219.tif 000004
【図２】
2010527219.tif 000005
【図３】
2010527219.tif 000006
【図４】
2010527219.tif 000007
【図５】
2010527219.tif 000008
【図６】
2010527219.tif 000009
【図７】
2010527219.tif 000010
2010527219.tif 000011
【図８】
2010527219.tif 000012
2010527219.tif 000013
【国際調査報告】
2010527219.tif 000014