(57)【要約】本発明は、測定可能なパラメータを与える物理的トークン（１４）を使用して少なくとも１組のデータセットを得る方法およびデバイス（１１）に関する。一つ以上のパラメータの、複数の値を測定する。これら測定値から、分散の程度を計算する。つぎに、測定値を量子化する量子化間隔を決定する。その後、物理的トークンによって与えられる測定値から導き出すことができるデータセットの取り得る値は、各量子化間隔に関連する。さらに、その後、これら量子化間隔の決定を可能にする情報を記憶する。このようにして、登録フェーズが完了する。この準備フェーズが完了したとき、導出フェーズを開始する。データセットを導き出すべき場合、例えば暗号化キーとして使用すべき場合、ＰＵＦによって与えられるパラメータにおける任意の１個の値を測定する。この測定値を決定した量子化間隔に量子化し、また測定値が量子化される量子化間隔からデータセットを導き出す。
2009519537.tif 000002
【特許請求の範囲】
【請求項１】
測定可能なパラメータを生ずる物理的トークンを使用して、少なくとも１組のデータセットを導き出す、物理的トークンの使用方法において、
前記物理的トークンが生ずる前記パラメータのうち少なくとも１個のパラメータにおける複数の値を測定するステップと、
測定値から、分散の程度を計算するステップと、
量子化間隔の決定を可能にする情報を記憶するステップと、
前記分散の程度に基づいて、前記測定値を量子化すべき量子化間隔を決定するステップであって、各量子化間隔はデータセットの取り得る値に関連するものとした該量子化間隔決定ステップと、
前記少なくとも１個のパラメータの値を測定し、前記測定値を決定した量子化間隔に量子化し、データ組は、前記測定値を量子化した量子化間隔に関連する値から、データセットを導き出すステップと
を有することを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記量子化間隔の決定を可能にする情報は、ある一定の分散を有するものとした方法。
【請求項３】
請求項１または２に記載の方法おいて、前記量子化間隔の決定を可能にする情報は、量子化間隔の定義を有するものとした方法。
【請求項４】
請求項１〜３のうちいずれか一項に記載の方法において、複数個のパラメータを測定し、クラス間分散を前記測定値から計算する方法。
【請求項５】
請求項４に記載の方法において、さらに、
クラス間平均値を取得するステップを有する方法。
【請求項６】
請求項１〜５のうちいずれか一項に記載の方法において、複数の測定を少なくとも１個の選択したパラメータに対して行い、クラス内分散を、前記少なくとも１個の選択した対応のパラメータの測定値から計算する方法。
【請求項７】
請求項６に記載の方法において、さらに、
クラス内平均値を取得するステップを有する方法。
【請求項８】
請求項６または７に記載の方法において、前記量子化間隔決定ステップは、さらに、
少なくとも１個の量子化間隔の幅を取得するステップを有するものとした方法。
【請求項９】
請求項８に記載の方法において、前記量子化間隔決定ステップは、さらに、
同一確率の量子化間隔を決定するステップを有するものとした方法。
【請求項１０】
請求項８に記載の方法において、前記量子化間隔決定ステップは、さらに、
等距離の量子化間隔を決定するステップを有するものとした方法。
【請求項１１】
請求項８〜１０のうちいずれか一項に記載の方法において、さらに、
前記少なくとも１個の量子化間隔の幅の所定値を記憶するステップを有する方法。
【請求項１２】
請求項６〜１１のうちいずれか一項に記載の方法において、さらに、
前記少なくとも１個の選択したパラメータの、前記複数の測定結果における、複数のクラス内分散にわたりクラス内分散を平均化するステップを有する方法。
【請求項１３】
請求項６〜１１のうちいずれか一項に記載の方法において、さらに、
前記少なくとも１個の選択したパラメータの、前記複数の測定結果から、最大のクラス内分散を選択するステップを有する方法。
【請求項１４】
請求項７〜１３のうちいずれか一項に記載の方法において、さらに、
クラス内平均値と量子化間隔の中心値との差を計算するステップと、
対応する測定値に対して前記差を加算または減算するステップを有する方法。
【請求項１５】
請求項１〜１４のうちいずれか一項に記載の方法において、クラス間平均値およびクラス間分散を登録フェーズ中に記憶し、さらに、
前記物理的トークンによって与えられる前記少なくとも１個のパラメータのさらなる値を測定し、またこのさらなる値に対するクラス間平均値とクラス間分散を計算するステップと、
前記さらなる値のクラス間平均値およびクラス間分散を、登録フェーズ中に記憶した前記クラス間平均値および前記クラス間分散に比較するステップと
を有する方法。
【請求項１６】
請求項１〜１５のうちいずれか一項に記載の方法において、前記物理的トークンは、物理的に複製不能な機能を有するものとした。
【請求項１７】
測定可能なパラメータを与える物理的トークンを備えたデバイスであって、少なくとも１個のデータセットを前記測定可能なパラメータから導き出すよう構成した、該デバイスにおいて、さらに、
前記物理的トークンによって与えられる少なくとも１個の前記パラメータにおける複数の値を測定する測定手段と、
量子化間隔の決定を可能にする情報を記憶する記憶手段と、
前記測定値から分散の程度を計算し、またこの分散の程度に基づいて、前記測定値を量子化すべき量子化間隔を決定する計算手段であって、各量子化間隔はデータセットの取り得る値と関連するものとした、該計算手段と、
を備え、前記測定手段は、さらに、前記少なくとも１個のパラメータの値を測定し、またこの測定値を決定した量子化間隔に量子化する構成とし、前記測定値を量子化した量子化間隔に関連する値からデータセットを導き出す構成とした
ことを特徴とするデバイス。
【請求項１８】
請求項１７に記載のデバイスにおいて、前記測定手段は、複数のパラメータを測定するよう構成し、また前記計算手段は、前記測定値からクラス間分散を計算するよう構成したデバイス。
【請求項１９】
請求項１７または１８に記載のデバイスにおいて、前記測定手段は、少なくとも１個の選択したパラメータの複数の測定を行うよう構成し、前記計算手段は、前記少なくとも１個の選択した対応のパラメータの前記測定値からクラス内分散を計算するよう構成したデバイス。
【請求項２０】
請求項１７〜１９のうちいずれか一項に記載のデバイスにおいて、さらに、量子化間隔を決定する前記計算手段は、同一確率の量子化間隔を決定するよう構成したデバイス。
【請求項２１】
請求項１７〜１９のうちいずれか一項に記載のデバイスにおいて、さらに、前記量子化間隔を決定する計算手段は、等距離の量子化間隔を決定するよう構成したデバイス。
【請求項２２】
請求項１７〜２１のうちいずれか一項に記載のデバイスにおいて、さらに、前記記憶手段は、量子化間隔の幅の所定値を記憶するよう構成したデバイス。
【請求項２３】
請求項１９〜２２のうちいずれか一項に記載のデバイスにおいて、さらに、前記計算手段は、前記少なくとも１個の選択したパラメータの複数の測定結果における複数のクラス内分散に対してクラス内分散の平均をとるよう構成したデバイス
【請求項２４】
請求項１９〜２２のうちいずれか一項に記載のデバイスにおいて、さらに、前記計算手段は、前記少なくとも１個の選択したパラメータの複数の測定結果から最大のクラス内分散を選択するよう構成したデバイス。
【請求項２５】
請求項１７〜２４のうちいずれか一項に記載のデバイスにおいて、さらに、前記計算手段は、クラス内平均値と量子化間隔の中心値との間における差を計算し、また対応する測定値に対して前記差を加算または減算するよう構成したデバイス。
【請求項２６】
請求項１７〜２５のうちいずれか一項に記載のデバイスにおいて、さらに、前記記憶手段は、登録フェーズ中にクラス間平均値およびクラス間分散を記憶するよう構成し、前記測定手段は、前記物理的トークンによって与えられる前記少なくとも１個のパラメータのさらなる値を測定するよう構成し、前記計算手段は、前記さらなる値に対するクラス間平均値およびクラス間分散を計算し、前記さらなる値のクラス間平均値およびクラス間分散を、前記登録フェーズ中に記憶した前記クラス間平均値およびクラス間分散に比較するよう構成したデバイス。
【請求項２７】
請求項１７〜２６のうちいずれか一項に記載のデバイスにおいて、前記物理的トークンは物理的に複製不可能な機能を有するものとしたデバイス。
【請求項２８】
コンピュータ実行可能なコンポーネントをデバイスに設けた処理ユニットで動作させるとき、請求項１〜１６のうちいずれか一項に記載のステップを、前記デバイスに行わせるためのコンピュータ実行可能なコンポーネントを有するコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも１個のデータセットを得るための測定可能なパラメータを与える物理的トークンの使用方法に関する。本発明はさらに、測定可能なパラメータを与える物理的トークンから成るデバイスに関し、このデバイスは前記測定可能なパラメータから少なくとも１個のデータセットを導き出すよう構成する。
【背景技術】
【０００２】
物理的複製不能機能（ＰＵＦ：Physical Uncloneable Function）は、不正操作防止環境を生み出すのに使われる機能構体であり、この機能構体に対して暗号化キーのような秘密共有および／または暗号化用具を確立する。ＰＵＦは物理的トークンであり、この物理的トークンに対して入力−チャレンジ−を付与する。このチャレンジがＰＵＦに与えられたとき、ＰＵＦは応答としてランダムなアナログ出力を作り出す。その複雑さと、それが従う物理的法則のために、この物理的トークンは「クローン化不能」、すなわち物理的な複製および／またはコンピュータ的モデル化が不可能であると考えられる。ＰＵＦは、場合によって、物理的ランダム機能（Physical Random Function）とも称される。ＰＵＦは、制御機能と組み合わせれば、大幅に強化することができる。実際には、ＰＵＦ、およびＰＵＦから切り離せないアルゴリズムは、不正操作防止チップ内に組込み、いわゆる制御（コントロールド）ＰＵＦ（ＣＰＵＦ）と称される。ＰＵＦは、アルゴリズムを介してのみアクセスすることができ、アルゴリズムをバイパスする、または操作しようとするいかなる試みもＰＵＦを破壊することになる。アルゴリズムは、ハードウェア、ソフトウェア、またはそれらの組み合わせに実装し、ＰＵＦの入力および出力を管理する。例えば、ＰＵＦの頻繁なチャレンジングは禁止され、あるクラスのチャレンジングは禁止され、ＰＵＦの物理出力は隠され、暗号的に保護されたデータのみ示される等々である。
【０００３】
ＰＵＦは、暗号化キー用具のジェネレータとして使用でき、ビット列はＰＵＦの出力から導き出すことができる。このようなＰＵＦの例としては、ランダムな位置に光散乱要素を含む３Ｄ光学媒体がある。この光学媒体への入力−すなわち、チャレンジ−は、例えば、ＰＵＦに照射するレーザビームの入射角度にすることができ、出力−すなわち、レスポンス−は、特定の入射角度の結果として光散乱要素によって生ずるスペックルパターンである。このレスポンスをカメラで検出し、暗号化キーに量子化する。暗号化キー用具のソースとして使用できるＰＵＦの、他の作成方法としては、集積回路（ＩＣ）を、誘電体粒子を分散させたコーティングで被覆することがある。これら粒子は、一般的に、製造プロセスによって、異なった誘電率および程度の差はあるがランダムな形状、寸法、および位置を有する。センサ素子をＩＣの金属頂面層に配置し、コーティングの異なる位置で局所的にキャパシタンスの値を測定する。この実施例では、コーティング自体が物理的に複製不可能な機能を構成する。誘電体粒子のランダム性の結果として、測定したキャパシタンスの値は、優れたキー用具となる。コーティングの形式としたＰＵＦを設けたＩＣは、キャパシタンスを測定し、キャパシタンスの値をビット列に変換する。暗号化キーをこのビット列から導き出す。キャパシタンスの値をビット列に変換するときに重要なセキュリティ要件は、ビット列が均一に分布されることである。したがって、もしｍビットのキービット列がＩＣによって導き出される場合、あり得るすべてのｍビットのビット列が同等に起こるはずである。このようにして、導き出された暗号化キーは全ｍビットエントロピーを持ち、攻撃者ができる最良のことは２-mの確率で正しいキーを推測することである。
【０００４】
実際には、外見上は同一に見えるコーティングＰＵＦの大量のセットに対して測定されるキャパシタンスの値の分布は均一ではないだろう。一般的に、測定値は、ガウス（正規）分布、または二項分布に対応する。コーティングＰＵＦセットに対して、対応する各コーティングＰＵＦの異なる位置で測定された、キャパシタンスの値の分布（すなわちクラス間分布）は、平均値μおよび標準偏差Σを有する分布に従う。さらに、特定コーティングＰＵＦの特定位置での測定が何度も繰り返されるとき、測定したキャパシタンスの値は、温度変化、迷走電磁場などの測定ノイズの結果、異なるものとなる。たとえキャパシタンスの値が理論的に等しくなるはずであっても、異なるものとなる。したがって、あるＰＵＦj のあるコーティングの位置ｉで測定したキャパシタンスの値の分布（すなわちクラス内分布）は、平均値μijおよび標準偏差σijの分布に従う。
【０００５】
導き出される暗号化キー間における一様性を実現する方法は、測定したキャパシタンスの値を、登録フェーズ中に同一確率の間隔に量子化することである。したがって、キャパシタンスの値は、それぞれの間隔の確率がそれぞれの量子化間隔と等しくなるような量子化間隔に分割する。各間隔の確率とは、すなわち、キャパシタンスの値の確率密度関数と各間隔の境界とよって囲まれる面積である。この結果、特定コーティングＰＵＦが、一組のコーティングＰＵＦセットから、ランダムに選択され、測定されるとき、各キーは、量子化後に導き出される確率は等しくなる。さらに、クラス内分布、すなわち特定ＰＵＦの特定コーティング位置で繰り返される測定の結果であるキャパシタンスの値の分布を考慮しなければならない。このことは、量子化間隔を定義するとき、クラス内分布の統計値を考慮し、これらの統計値を利用することによって実現される。
【０００６】
アナログのキャパシタンス値をデジタル暗号化キーに変換するときに、適当な量子化レベルを定義するために、大量のコーティングＰＵＦセットに関するキャパシタンス値の分布を知らねばならない。コーティングＰＵＦの製造プロセスでは、このことが問題になる。コーティングＰＵＦの最初バッチを製造するとき、量子化境界をそれぞれに対応するＰＵＦのＩＣに即座にプログラミングすることはできない。これは、このバッチに対するキャパシタンス値の分布についての統計値を、多数のＰＵＦを測定することによって得られなければならないためである。十分に大量のＰＵＦを製造し、測定した後に、追加のプログラミングステップが、各コーティングＰＵＦに関連するＩＣに対して必要となり、ＩＣに関連するメモリに適切な量子化レベルを記憶する必要がある。このことは、製造プロセスで、コストのかかる手順である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、上記の問題のうち一つまたはそれ以上を解決し、とくに、物理的トークンによって与えられる物理パラメータの測定から、多数のデータセットを導き出す物理的トークンであって、多数のデバイスを検査し、また各デバイスに検査データをプログラム組込みする必要のない、ための、物理的トークンデバイスを得るにある。
【課題を解決するための手段】
【０００８】
この目的は、請求項１に記載の、測定可能なパラメータを与える物理的トークンを使用して、少なくとも１個のデータセットを導き出す、物理的トークンの使用方法で達成される。この目的は、さらに、請求項１７に記載の、測定可能なパラメータを与える物理的トークンを備えるデバイスであって、測定可能なパラメータから少なくとも１個のデータセットを導き出すよう構成したデバイスによって達成される。
【０００９】
本発明の第一の様態は、物理的トークンによって与えられる少なくとも１個のパラメータにおける複数の値を測定するステップと、この測定値から分散の程度を計算するステップと、を有する方法を提供する。さらにこの方法は、量子化間隔の決定を可能にする情報を記憶するステップと、前記分散の程度に基づいて、測定値を量子化する量子化間隔を決定するステップを有し、各量子化間隔はデータセットの取り得る値と関連するものとする。さらに、この方法は、少なくとも１個のパラメータの値を測定し、この測定値を決定した量子化間隔に量子化するステップを有し、測定値を量子化した量子化間隔に関連する値からデータセットを導き出す。
【００１０】
本発明の第二の様態は、物理的トークンによって与えられる少なくとも１個のパラメータにおける複数の値を測定する測定手段と、量子化間隔の決定を可能にする情報を記憶する記憶手段と、を備えたデバイスを提供する。さらに、このデバイスは、測定値から、分散の程度を計算し、またこの分散の程度に基づいて、測定値を量子化すべき量子化間隔を決定する計算手段であって、各量子化間隔はデータセットの取り得る値と関連するものとした、該計算手段を有する。さらに、測定手段は、少なくとも１個のパラメータの値を測定し、またこの測定値を決定した量子化間隔に量子化する構成とし、測定値を量子化した量子化間隔に関連する値からデータセットを導き出す構成とする。
【００１１】
本発明の基本概念は、物理的トークン、例えば物理的複製不能機能（ＰＵＦ）を使うことであり、この物理的トークンは、データセットを導き出すことができる測定可能なパラメータを与える。まず、少なくとも１個のパラメータにおける複数の値を測定する。これら測定値から、分散の程度を計算する。以下に説明するように、多数の異なる分散の程度を計算する。分散を決定した後、測定値を量子化する量子化間隔を決定する。その後に物理的トークンによって与えられる測定値から導き出すことができるデータセットの取り得る値は各量子化間隔に関連する。さらに、その後、これら量子化間隔の決定を可能にする情報を記憶する。この情報は、例えば、分散自体、量子化間隔の定義、どのように量子化実行方法の記述等々とすることができる。このようにして、準備／登録フェーズが完了したことになる。
【００１２】
準備フェーズが完了したとき、導出フェーズを開始する。データセットを導き出すとき、たとえば暗号化キーとして使用するとき、ＰＵＦによって生ずるパラメータのうち任意な１個の値を測定する。この測定値を、決定した量子化間隔に量子化し、この量子化間隔は、量子化間隔の決定を可能にする情報から決定される。また取り得るデータセットの値は、上述したように、量子化間隔に関連しいているため、データセットは、測定値を量子化した量子化間隔から導き出すことができる。例えば、８個の量子化間隔が決定されると仮定すると、各間隔は、対応する数値０，１，…，７に関連する。これら値に基づくデータセットを導き出す。例えば、８個の３ビットのデータセット、すなわち「０００」，「００１」，…，「１１１」を導き出す。本発明の実施形態では、測定値から計算される分散は、クラス間分散、またはクラス内分散、またはその両方から成る。あるデバイスでは、クラス間分散は知られていて、クラス内分散を測定する。他のデバイスでは、クラス内分散は予め知られていて、クラス間分散を計算する。
【００１３】
さらに、異なるタイプの分散は、平均値（または、場合によっては中央値）について計算する。この平均値は、測定値から計算しなければならないが、それは予め知られているものとし、したがってデバイスに記憶することができる。当業者には、この事項に関する自由度が多数存在することが分かるであろう。さらに、測定したおよび／または計算した値をデバイスに記憶することができるが、代案として、例えば暗号化キーを使うことによって、適切に保護されるならば、これら値をデバイス外で記憶することもできる。
【００１４】
本発明の他の実施形態では、ＰＵＦを有するデバイスの自己較正を可能にし、例えば識別子または暗号化キーの生成の基礎となる、データセットを導き出すことができるようにする。デバイスはＰＵＦによって与えられる物理的パラメータを繰り返し測定し、測定値のクラス間分布を評価する。データセットを導き出す間隔に測定値を量子化する前に、以下に説明するように、測定値のクラス内変動を考慮する。
【００１５】
クラス間分布は異なるクラスから得られた値の分布として定義し、クラス内分布は同一クラスから得られた分布として定義する。例えば、物理的トークンは、ＩＣを被覆するコーティングの形式で実施したＰＵＦを有するものとすることができ、コーティングの異なる位置でのキャパシタンスを、ＩＣに設けたセンサによって測定する。ここで留意すべきは、これは単に例示に過ぎず、ＰＵＦは他の形式とすることもできる。例えば、ＰＵＦは、ランダムに配置した光散乱素子を設けた光学媒体の形式として実装することができる。ＰＵＦが照射されるとき、入射光は散乱され、検出される。このとき、検出される光のパターンを使用して、例えば暗号化キーを導き出すデータセットを生成する。当業者には、さらに他のタイプのＰＵＦを使用できることは理解できるであろう。しかし、以下では、ＰＵＦをコーティングの形式で実施したものとして説明する。コーティングＰＵＦのクラス間分布は、この場合、ＰＵＦの異なるキャパシタから取得した値の分布として定義し、クラス内分布はＰＵＦの同一キャパシタの複数の測定値から取得した値の分布として定義する。
【００１６】
例えば、コーティングＰＵＦの電源を、４，５，６、７ピコファラッド（ｐＦ）のキャパシタンスを生ずるよう設計されると仮定する。これらは４個の異なるキャパシタンスのクラスであり、この場合、キャパシタンスのクラス間分布が得られる。第１番目のクラスは、期待値は４ｐＦであり、第２番目のクラスでは５ｐＦ、等々となる。この特定の値セットに対する平均値および標準偏差は、以下の［数１］、［数２］となる。
【数１】
2009519537.tif 000003
【数２】
2009519537.tif 000004
適切な器具をこれらのキャパシタンスを測定するために用い、すべてのキャパシタンスのクラス毎に、例えば３回測定する場合、例えば４ｐＦのコンデンサの測定値に分散があることを発見するだろう。つまり、場合により、結果として４．０１ｐＦ，４．０２ｐＦ，３．９９ｐＦという値になることがある。このとき、４ｐＦの通常期待値に対し、測定値に対するクラス内分布が存在する。４ｐＦの期待値に対する平均値および標準偏差は、以下の［数３］、［数４］となる。
【数３】
2009519537.tif 000005
【数４】
2009519537.tif 000006
つぎに、物理的トークンによって与えられる（１個またはそれ以上の）パラメータにおける複数の値を測定する。複数個のキャパシタンス値を測定した後で、クラス間平均値、およびクラス間平均値からのクラス間偏差の程度を測定値から計算する。例えば、標準偏差は、計算された平均値からの偏差の程度として使用することができる。さらに、最小の量子化間隔の幅を取得できる。最小の幅は、測定値のクラス内平均値に対する、クラス内偏差の程度に基づく。クラス間偏差と同様に、標準偏差は、クラス内偏差に用いられる目安である。量子化間隔の幅を決定するとき、トレードオフ行わなければならない。クラス内分布が１個以上の量子化間隔に広がることは好ましくない。もしそうなれば、コーティングの同一位置でも複数回のキャパシタンスの測定結果が、異なる量子化データセットになるという結果になり、結局、異なる暗号化キーとなるという結果になり、これは好ましくない。したがって、最小の量子化間隔の幅は、できれば、クラス内変動の大部分を許容するものとすべきである。他方、量子化間隔の幅を大きくすればするほど、量子化間隔の総個数は少なくなる。
【００１７】
その次に、クラス間分布、すなわちクラス間平均値およびこの平均値からのクラス間偏差によって決定される、最小の量子化間隔の確率質量に基づいて、測定値を量子化すべき量子化間隔の個数を決定する。最小の量子化間隔の確率質量は、測定値の確率密度関数と、最小の量子化間隔を区切る２個のキャパシタンスの値とによって囲まれる、最小間隔の面積を計算することによって決定する。間隔の個数を決定した後、測定値をこれら間隔に量子化し、各量子化間隔はデータセットを表す。例えば、測定値を８個の間隔に量子化すると仮定すると、各間隔は３ビットのデータセットを表すことができる。
【００１８】
したがって、ＰＵＦを有するデバイスが、ＰＵＦによって与えられる物理的パラメータを測定し、また有利にも、これら測定値のクラス間偏差を決定する。特定デバイスの異なる位置で測定したキャパシタンスの値の分布、すなわちクラス内分布が、異なるデバイスで測定したクラス間分布に統計的に等しいと仮定することができる。この結果、まず多数のＰＵＦデバイスを製造し、つぎに、各ＰＵＦのクラス間分散を測定し、各デバイスにおける測定した分散を記憶するという、従来技術で行われている、複雑でコストのかかる手順を適用する必要がなくなる。
【００１９】
本発明の実施形態では、最小の量子化間隔の幅はＰＵＦを有するデバイスにプログラム組込みされた所定の値とする。この場合、最小の量子化間隔の幅は、デバイスの記憶装置から値をフェッチすることによって取得する。上述したように、量子化間隔を計算するために必須の多数のパラメータは、デバイス内に予め記憶することができる。
【００２０】
本発明の他の実施形態では、デバイスが、測定値のクラス内分散を計算することによって、最小の量子化間隔の幅を決定する。クラス内平均値に対するクラス内標準偏差は、コーティングの単独の位置でキャパシタンスを繰り返し測定し、上述したように、これら測定値から標準偏差を計算することで推定できる。他の実施形態では、デバイスは、コーティングのいくつかの位置におけるクラス内標準偏差の平均をとり、デバイスに対する平均偏差を推定する。本発明のさらなる実施形態では、量子化間隔の決定を、間隔が同一確率または等距離となるようにして行う。他の既知の適切な方法で量子化を行うこともあり得る。
【００２１】
有利には、設けた物理的トークンデバイスを、物理的パラメータの測定結果のクラス間分散および／またはクラス内分散に関して自己較正する。
【００２２】
本発明の他の特徴、および利点を、添付した特許請求の範囲および以下の説明を検討することにより明らかになるであろう。当業者であれば、本発明の異なる特徴を組み合わせ、以下に説明する以外の実施形態を作り出すことができるということは理解できるであろう。
本発明の好適な実施形態の詳細を、以下に添付図面につき説明する。
【実施例】
【００２３】
図１は、発明の実施形態に従って、暗号化キー用具を作り出すためのデバイス１１を示す。デバイス１１は、半導体ウエハ１２、絶縁層１３、センサ素子１６で構成した集積回路（ＩＣ）を有する。さらに、デバイスはＩＣを被覆するコーティング１４の形式の物理的複製不能機能（ＰＵＦ）を含んでいる。コーティング１４内には、誘電体粒子１５を分散させる。これら粒子は、一般的に異なる誘電率を有し、ランダムな寸法および形状である。センサ素子１６を頂部絶縁金属層１３に配置し、異なるコーティング位置でキャパシタンスの値を局部的に測定できるようにする。デバイス１１は、一般的にデータが入力される入力ビアと、暗号化／解読化（場合により符号付き）データが付与される出力ビアとを設ける。代案として、デバイス１１は、入力データとしての暗号化データを受信し、解読データを出力する。デバイス１１には、さらに、マイクロプロセッサ１７、またはいくつかの計算能力を有する他の適切なデバイスを備える。例えば、マイクロプロセッサを使用して、量子化間隔を決定し、また測定値からデータセットを導き出す。さらに、デバイス１１は記憶手段１８を有する。当業者は、暗号化／解読する、または他の適切な手法で処理する、入力／出力データに関する多数の組み合わせが存在するは理解できるであろう。
【００２４】
測定したキャパシタンスの値を、暗号化キーを導き出すビット列に変換するとき、ビット列が均一に分布していると好都合である。したがって、ｍビットのキー列をＩＣによって導き出す場合、全ての考えられるｍビットのキービット列が同等に起こるはずである。この場合、攻撃者ができる最良のことは２-mの確率で正しいキーを推測することである。
【００２５】
図２に関して、測定したキャパシタンスの値のクラス間分布は、一様ではないが、一般的に平均値μと偏差Σのガウス分布である。さらに、あるＰＵＦｊ（すなわちクラス内分布）の所定位置で測定したキャパシタンス値の分布は、平均値μijおよび標準偏差σの正規分布に従う。標準偏差σは、本質的にすべてのＰＵＦおよびすべてのコーティング位置に関してほぼ等しいと仮定する。図２は、クラス間とクラス内のキャパシタンスの測定結果におけるそれぞれに対する確率密度関数を示す。クラス間の測定結果の確率密度関数を２１で示し、クラス内の測定結果の確率密度関数を２２で示す。しかし、これらは実際の測定結果から得られた確率密度関数ではないことに留意されたい。説明のために、各関数の分散を、（特に、クラス内の測定結果に対して）関数が比較的大きく拡散した実際の測定結果であったとしても、誇張して示す。
【００２６】
平均値μおよび標準偏差σを有する、正規ガウス分布ｆ（ｘ）に対する確率密度関数（ＰＤＦ）は次式のように定義される。
【数５】
2009519537.tif 000007
デバイス１１は、多数の異なる位置ｉでキャパシタンスを測定する。測定したキャパシタンスの値Ｃiのクラス間平均値μは次式のように計算し、
【数６】
2009519537.tif 000008
また、キャパシタンスのクラス間分散は次式のように計算し、
【数７】
2009519537.tif 000009
ここで、ｎは測定したキャパシタンスの値の総個数である。
均一のキーを作り出す手法は、測定したキャパシタンスの値を同一確率の間隔に配置（マッピング）することである。図３では、０から７の番号が付けられた８つの間隔が定義される。３ビット暗号化キーは、“０００”，“００１”，…，“１１１”のように２進法表示によって各間隔に関連付けられる。量子化間隔は、好ましくは、確率密度関数の下にある面積が各間隔に対して等しくなるよう選択する。したがって、ＰＵＦを測定するとき、あり得るキーのそれぞれは、同一確率で導き出せる。
【００２７】
上述したように、特定コーティングＰＵＦの特定位置での測定を複数回繰り返すとき、測定したキャパシタンスの値は、たとえそれらが理論的に等しいはずであっても、測定ノイズ、例えば温度変化等々の結果、異なってくる。例えば、あるＰＵＦｊのあるコーティング位置ｉで測定したキャパシタンスの値のクラス内分布は、平均値μijおよび標準偏差σを有するガウス分布に従うと仮定する。堅牢性のあるキーの量子化を得るために、この測定値のクラス内分布を考慮する。好適には、測定値のクラス内分布は、１量子化間隔以上に拡張すべきではない。すなわち、コーティングの同一位置で複数のキャパシタンスの測定結果が、結果として異なる暗号化キーになってしまうからである。さらに、クラス内標準偏差は、いくつかのコーティング位置で平均化することができる。
【００２８】
図４につき説明すると、各コーティング位置に対して、ヘルパーデータＷと呼ばれる補償データを定義する。対応する各ヘルパーデータＷは、平均化した測定キャパシタンス値が量子化間隔の中央に投影されるように、測定キャパシタンスの値に対して加える（または差し引く）。ヘルパーデータＷを加えることで、このＰＵＦの位置におけるクラス内分布の平均値μijは、最も近接する量子化間隔（この場合は６の番号を付けた間隔）の中央にシフトされる。したがって、あるコーティング位置に対するヘルパーデータＷは、概算したクラス内平均値μijと最も近接する量子化間隔の中心との間における差として計算される。さらに、このヘルパーデータを記憶する。
【００２９】
さらに、最小の量子化間隔の幅Ｑmin は、ほとんどのクラス内変動の確率密度関数がこの間隔に適合するように選択する。この例では、偶数個の量子化間隔を用いている。従って、クラス間平均値μの周りに位置する番号３と４の間隔は最小で、等しい幅である。もし間隔の個数が奇数ならば、μの周りに位置する１個の最小間隔だけがあり、このことを図５につき、後で説明する。
【００３０】
もし、Ｑmin が、例えば、４σ（すなわち、クラス内変動の標準偏差の４倍）に等しくなるように選択するならば、ヘルパーデータＷを適用した後で暗号化キーの正確な復元の確率は少なくとも９５％となる。これは、すなわち、クラス内確率密度関数の下における面積の９５％が最小間隔（すなわち、この特別な実施例における間隔３または４）に適合するからである。
【００３１】
この特別な実施例における他の量子化間隔（幅０，１，２，５，６，７）は、より大きな幅を持つため、正確な復元の確率（すなわち、測定したキャパシタンスが正確に量子化される確率）もそれらの間隔内ではより大きい。一般的に、Ｑmin はクラス内分布の確率質量の少なくとも９０％が最小の量子化間隔に納まるように選択する。したがって、クラス内分布の統計的特性を考慮することによって、すなわち実際には幅Ｑmin を有する適切な最小量子化間隔選ぶことによって、信頼間隔を信頼できるキーの復元のために決定する。クラス内分布の統計的特性は、さらに、上述したように、ヘルパーデータＷを生成し、このデータを使用してクラス内変動を補償することを考慮する。
【００３２】
図１に示した、暗号化キー用具を作り出すためのデバイス１１では、クラス内変動が主にＩＣ（特に半導体ウエハ１２）の設計に依存し、実際のコーティングには依存しない。そのような場合では、デバイス１１により実際にクラス内変動を測定する代わりに、クラス内変動、または最小間隔の幅Ｑmin を、製造中にＩＣに記憶した固定値によって付与することができる。
【００３３】
量子化過程でノイズ堅牢性を向上するためには、誤り訂正符号化を適用することができる。このことは、一般的に生体認証（バイオメトリクス）からキーを抽出するとき使用されるものであり、当業者には明らかである。
【００３４】
量子化間隔の境界は、最小量子化間隔の幅Ｑmin 、クラス間平均値μ、およびクラス間標準偏差Σに基づいて計算することができる。最小の幅Ｑmin はＱmin ＝ ２ｋσとしてクラス内標準偏差に対して定義され、ただし、ｋは適切に選択した定数とする。ここで、量子化間隔の境界は、量子化間隔の総数を（最小間隔の確率質量分の１）の整数部分と定義することによって決定することができる。最小間隔の確率質量は、最小間隔の幅にわたり確率密度関数ｆμ,Σ(ｘ)の積分として計算し、ときには、ガウス分布の場合、誤差関数Ｅｒｆ(ｘ)と称される。したがって、同一確率の量子化間隔の総数Ｎは、次式のように定義される。すなわち、
【数８】
2009519537.tif 000010
測定したキャパシタンスの値を正確な量子化間隔に量子化する確率（すなわち、正確なキーに復元する確率）は次式で与えられる。すなわち、
【数９】
2009519537.tif 000011
次式はエラー関数であり、すなわち、
【数１０】
2009519537.tif 000012
このエラー関数は、クラス内平均値が最小量子化間隔の中心にある測定キャパシタンスの確率が異なる（すなわち正しくない）量子化間隔になる確率と定義する。
【００３５】
図５につき説明すると、量子化間隔の境界を定義するとき、２つのケースが区別される。図５ａでは、確率密度関数が奇数個（Ｎ＝２ｐ＋１）の量子化間隔に量子化されている。図５ｂでは、確率密度関数は、偶数個（Ｎ＝２ｐ）の量子化間隔に量子化されている。距離Δrは、平均値μとｒ番目の量子化間隔の境界との間における距離として定義する。奇数個の量子化間隔に対しては、次式を適用する。すなわち、
【数１１】
2009519537.tif 000013
偶数個の量子化間隔に対しては、次式を適用する。すなわち、
【数１２】
2009519537.tif 000014
同一確率の量子化間隔の代用として、等距離の量子化間隔を用いることができる。（すなわち、間隔幅がすべての間隔で等しい）
【００３６】
このようにして、量子化間隔を決定したとき、これら量子化間隔を使用して、測定したキャパシタンスの値から暗号化キーを導き出す。図３で説明した特別の事例では、ほぼ１６．４〜１７．４ｐＦに広がっている範囲にある測定キャパシタンス値を、量子化間隔１に量子化することが分かる。２進数「００１」からなるデータセットは、この特定の間隔を表し、このデータセットに基づく暗号化キーを生成することができる。ほぼ１９．７〜２０．７ｐＦに広がっている範囲にある測定キャパシタンス値を、量子化間隔６に量子化する。同様にして、２進数「１１０」からなるデータセットは、この特定の間隔を表す。
【００３７】
したがって、図１に示すＰＵＦ１４（コーティングの形式として）を有するデバイス１１は、コーティングのキャパシタンスを測定するセンサ素子１６を使い、有利にも、これら測定値のクラス間変動を決定することができる。特定デバイスの異なる位置で測定したキャパシタンスの値の分布は、統計的に異なるデバイスで測定した分布にほぼ等しいと仮定する。この結果、はじめに多数のＰＵＦデバイスを製造し、その次に各ＰＵＦのクラス間変動を測定し、各デバイスに測定した変動を記憶するという、複雑でコストのかかる手法を適用する必要はない。
【００３８】
クラス間パラメータμおよびΣ（そして、できれば、クラス内パラメータμijおよびσも）をチップ上で評価するための本発明が提案する手順を使用して、ＰＵＦの改ざんおよび損傷を検出することもできる。パラメータを、登録フェーズ中にデバイス１１のＩＣに記憶する。その後、ＩＣは自己較正手順を繰り返し、平均値および標準偏差の新しい評価を計算することができる。もし、これらの新しい評価が登録フェーズ中に得たパラメータと大幅に異なるならば、ＰＵＦはおそらく損傷している、または改ざんされている可能性がある。そのような場合、ＩＣは更なる行使を止め、損傷および／または改ざんを受けていることを、出力を経て通信すべきである。
【００３９】
本発明を、特定の実施形態につき説明してきたが、多くの異なる改変、変更等を加えることができることは、当業者には明らかであろう。したがって、上述の実施形態は、添付の特許請求の範囲によって定義される、本発明の範囲を限定することを意図するものではない。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態により暗号化キー用具を作り出すためのデバイスを示す。
【図２】クラス間およびクラス内キャパシタンスの測定結果に対する確率密度関数を示す。
【図３】８個の異なる量子化間隔で量子化された正規分布測定結果を示す。
【図４】８個の異なる量子化間隔で量子化された正規分布測定結果を示し、さらにヘルパーデータをどのように使用してクラス内偏差を補償するかを示す。
【図５ａ】７個の異なる量子化間隔で量子化された正規分布測定結果を示す。
【図５ｂ】８個の異なる量子化間隔で量子化された正規分布測定結果を示す。
【図１】
2009519537.tif 000015
【図２】
2009519537.tif 000016
【図３】
2009519537.tif 000017
【図４】
2009519537.tif 000018
【図５ａ】
2009519537.tif 000019
【図５ｂ】
2009519537.tif 000020
【国際調査報告】
2009519537.tif 000021
2009519537.tif 000022