(57)【要約】  本発明は、測定可能なパラメータを提供する物理トークン１４を認証する方法、及び認証用に測定可能なパラメータを提供する物理トークン１４を有する装置１１に関する。本発明の基本的なアイデアは、装置が不正改ざんされているかどうかを検出するために装置１１に含まれる物理トークン１４の性質を使用することである。登録段階において、前記物理トークンにより提供される複数の物理パラメータの値が測定される。この測定された値のセットは、レスポンスデータと称される。ヘルパデータとも称されるノイズ補正データは、安全な形で前記レスポンスデータに対するノイズロバスト性を提供するのに使用される。この場合、認証段階において、前記パラメータ値が再び測定され、前記ノイズ補正データは、検証データを算出するのに使用される。前記検証データは、前記登録データと比較され、前記算出された検証データが前記登録データと一致するかどうか決定される。一致する場合、前記物理トークンは、認証されたと見なされる。
2009533927.tif 000002
【特許請求の範囲】
【請求項１】
測定可能なパラメータを提供する物理トークンを認証する方法において、
前記物理トークンにより提供される複数の前記パラメータの値を測定するステップと、
検証データを算出するようにノイズ補正データとともに前記測定された値を処理するステップと、
前記物理トークンの登録中に測定された前記複数のパラメータの値及び前記ノイズ補正データから算出された登録データと前記検証データとを比較するステップと、
前記算出された検証データが前記登録データに一致するかどうかを決定するステップであって、前記検証データと前記登録データとの間に一致が存在する場合に前記物理トークンが認証されたと見なされる、当該ステップと、
を有する方法。
【請求項２】
前記ノイズ補正データが、前記物理トークンの登録中に算出される、請求項１に記載の方法。
【請求項３】
前記検証データを暗号的に保護するステップであって、前記暗号的に保護された検証データが、暗号的に保護された登録データと比較され、前記保護された検証データと前記保護された登録データとの間に一致が存在する場合に前記物理トークンが認証されたと見なされる、当該ステップ、
を更に有する、請求項１又は２に記載の方法。
【請求項４】
前記データが、不可逆関数を適用することにより保護される、請求項３に記載の方法。
【請求項５】
前記不可逆関数がハッシュ関数である、請求項４に記載の方法。
【請求項６】
前記データを暗号的に保護するステップが、
前記検証データに不可逆関数を適用するステップであって、前記不可逆関数の出力が前記登録データに適用された前記不可逆関数の出力と比較され、前記不可逆関数の２つの出力間の一致が存在する場合に前記物理トークンが認証されたと見なされる、当該ステップ、
を有する、請求項４又は５のいずれか一項に記載の方法。
【請求項７】
前記データが暗号化を用いて保護される、請求項３又は４のいずれか一項に記載の方法。
【請求項８】
前記複数のパラメータの測定された値R及び前記ノイズ補正データWに基づく前記登録データSの算出が、(W, S)=FG(R)であるような関数FGを適用することにより実行されるように前記物理トークンの登録中に前記ノイズ補正データWを選択するステップ、
を更に有する、請求項１ないし７のいずれか一項に記載の方法。
【請求項９】
前記物理トークンにおいて前記ノイズ補正データ及び前記登録データを記憶するステップ、
を更に有する、請求項８に記載の方法。
【請求項１０】
装置の認証用に測定可能なパラメータを提供する物理トークンを有する装置において、
前記物理トークンにより提供される複数の前記パラメータの値を測定する手段と、
検証データを算出するようにノイズ補正データとともに前記測定された値を処理する手段であって、前記物理トークンの登録中に測定された前記複数のパラメータの値及び前記ノイズ補正データから算出された登録データと前記検証データとを比較し、前記算出されたデータが前記登録データに一致するかどうかを決定し、前記検証データと前記登録データとの間に一致が存在する場合に前記装置が認証されたと見なされる、当該処理する手段と、
を更に有する装置。
【請求項１１】
前記処理する手段が、前記検証データに不可逆関数を適用するように更に構成され、前記不可逆関数の出力が、前記登録データに適用された前記不可逆関数の出力と比較され、前記不可逆関数の２つの出力間に一致が存在する場合に前記物理トークンが認証されたと見なされる、請求項１０に記載の装置。
【請求項１２】
前記処理する手段が、前記複数のパラメータの測定された値R及び前記ノイズ補正データWに基づく前記登録データSの算出が、(W, S)=FG(R)であるような関数FGを適用することにより実行されるように前記物理トークンの登録中に前記ノイズ補正データWを選択するように更に構成される、請求項１０又は１１のいずれか一項に記載の装置。
【請求項１３】
前記ノイズ補正データ及び前記登録データを記憶する手段、
を更に有する、請求項１０ないし１２のいずれか一項に記載の装置。
【請求項１４】
集積回路を更に有する、請求項１０ないし１３のいずれか一項に記載の装置。
【請求項１５】
前記物理トークンが、誘電体粒子がちりばめられたコーティングを有し、前記コーティングが前記集積回路を覆う、請求項１４に記載の装置。
【請求項１６】
装置に含まれる処理ユニット上で実行される場合に、請求項１ないし９のいずれか一項に記載の方法ステップを前記装置に実行させるコンピュータ実行可能コンポーネントを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定可能なパラメータを提供する物理トークンを認証する方法及び認証用の測定可能なパラメータを提供する物理トークンを有する装置に関する。
【背景技術】
【０００２】
物理的にクローニング不可能な機能（ＰＵＦ、Physical Uncloneable Function）は、関係者が共有される秘密及び／又は暗号鍵のような暗号マテリアルを確立することができる不正改ざん防止（tamper-resistant）環境を作り出すために使用される構成である。ＰＵＦは、入力‐チャレンジ‐が提供される物理トークンである。前記チャレンジが前記ＰＵＦに提供される場合、これは、レスポンスと称されるランダムアナログ出力を生成する。複雑さ及び従う物理法則のため、前記トークンは、'クローニング不可能'、すなわち物理的に複製及び／又は計算的にモデル化することができないとみなされる。ＰＵＦは、時々、物理ランダム機能とも称される。ＰＵＦは、制御機能と組み合わせられる場合に大幅に強化されることができる。実際に、前記ＰＵＦ及び前記ＰＵＦから分離不可能であるアルゴリズムは、不正改ざん防止チップに含まれ、いわゆる制御されるＰＵＦ（ＣＰＵＦ）である。ハードウェア、ソフトウェア又はこれらの組み合わせで実施される前記アルゴリズムは、前記ＰＵＦの入力及び出力を支配する。例えば、前記ＰＵＦの頻繁なチャレンジが禁止される、特定のクラスのチャレンジが禁止される、前記ＰＵＦの物理出力が隠される、暗号的に保護されたデータのみが公開される、等である。
【０００３】
ＰＵＦは、ビットストリングが前記ＰＵＦの出力から算出される暗号鍵マテリアルの生成器として使用されることができる。このようなＰＵＦの例は、ランダム位置に光散乱素子を含む３次元光媒体である。前記光媒体への入力‐すなわちチャレンジ‐は、例えば、前記ＰＵＦを照射するレーザビームの入射角であることができ、出力‐すなわちレスポンス‐は、特定の入射角の結果としての前記光散乱素子により作られるスペックルパターンである。このレスポンスは、カメラを用いて検出され、暗号鍵に量子化されることができる。暗号鍵マテリアルのソースとして使用されることができるＰＵＦを作る他の方法は、誘電体粒子がちりばめられたコーティングで集積回路（ＩＣ）を覆うことである。これらの粒子は、典型的には、製造プロセスにより異なる誘電率、幾らかランダムな形状、寸法及び場所を持つ。センサ素子は、異なるコーティング位置におけるキャパシタンス値を局所的に測定するために前記ＩＣの上部金属層に構成される。この例において、前記コーティング自体が、物理的にクローニング不可能な機能を構成する。前記誘電体粒子のランダムな性質の結果として、前記測定されたキャパシタンス値は、優秀な鍵マテリアルを作る。コーティング形式のＰＵＦを備えた前記ＩＣは、キャパシタンスを測定し、前記キャパシタンス値をビットストリングに変換し、前記ビットストリングから前記暗号鍵が算出される。
【０００４】
Journal of Universal Computer Science, vol. 4, no. 7 (1998), 652-668, Springer Pub. Co.において発表されたDr. Reinhard Posch, Technische Universitat GRAZ, AUSTRIA による"Protecting Devices by Active Coating"は、例えばスマートカード又は他の安全なハードウェア装置の被覆材料において使用されるコーティング材料のランダム性質を前記装置の不正改ざんを検出するのに使用する方法を開示している。開示された前記方法において、前記コーティングは、電気的に測定可能な性質（例えば抵抗又はキャパシタンス）を持つ材料からなると仮定される。前記材料の非再生可能性及びランダム性質のため、前記電気的に測定可能な性質は感知されることができ、暗号鍵マテリアルが、感知された値から作成されることができる。このタイプのコーティングに対する不正改ざんは、前記暗号鍵に変化をもたらし、不正改ざんは、したがって、このような鍵を壊す。
【０００５】
集積回路（ＩＣ）に対する物理的攻撃は、これまで増大している範囲で主要なセキュリティ問題を提起し、チップ製造業者は、一般にＩＣを保護コーティングで覆う。攻撃者は、前記チップ製造業者の対抗手段を回避する技術を絶え間なく開発している。これらの技術は、エッチングから光及びイオンビーム攻撃に及ぶ。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、従来技術における上述の問題を解決し、装置の不正改ざんを検出する方法を提供することである。
【課題を解決するための手段】
【０００７】
この目的は、請求項１による、測定可能なパラメータを提供する物理トークンを認証する方法、及び請求項１０による、認証用の測定可能なパラメータを提供する物理トークンを有する装置により達成される。
【０００８】
本発明の第１の態様において、物理トークンにより提供される複数の前記パラメータの値を測定するステップと、検証データのセットを得るようにノイズ補正データとともに前記測定された値を処理するステップとを有する。更に、前記方法は、前記物理トークンの登録中に測定された前記複数のパラメータの値から算出された登録データと前記検証データを比較するステップと、前記算出された検証データが前記登録データに一致するかどうかを決定するステップとを有し、前記検証データと前記登録データとの間に一致が存在する場合に、前記物理トークンは認証されたと見なされる。
【０００９】
本発明の第２の態様において、物理トークンにより提供される複数の前記パラメータの値を測定する手段と、検証データのセットを算出するようにノイズ補正データとともに前記測定された値を処理し、前記ノイズ補正データ及び前記物理トークンの登録中に測定された前記複数のパラメータの値から算出された登録データと前記検証データを比較し、前記算出された検証データが前記登録データに一致するかどうかを決定する手段とを有する装置を提供され、前記検証データと前記登録データとの間に一致が存在する場合に、前記装置が認証されたと見なされる。
【００１０】
本発明の基本的なアイデアは、装置が不正改ざんされていないかどうかを検出するのに前記装置に含まれる物理トークンの性質を使用することである。
【００１１】
登録段階において、前記物理トークンにより提供される複数の物理パラメータの値が測定される。例えば、不正改ざんが検出されるべき装置は、センサ素子を持つ集積回路（ＩＣ）と、前記ＩＣを覆うコーティングの形式の物理トークンとを有する。前記ＩＣに配置された前記センサ素子は、異なるコーティング位置におけるキャパシタンスのような前記コーティングにより提供される複数の物理パラメータを測定するように構成される。したがって、キャパシタンス値は、典型的には、前記コーティングのＮの異なる位置において測定され、結果として測定値R0, R1,..., RN-1のセットRを生じる。この測定値のセットは、レスポンスデータと称される。ヘルパデータとも称されるノイズ補正データは、安全な形でノイズロバスト性を提供するのに使用される。登録中に獲得されるレスポンスは、認証中に獲得される（理論的には同一の）レスポンスと必ずしも同一ではない。レスポンスのような物理的性質が測定される場合、前記測定には常にランダムノイズが存在し、したがって、測定されたアナログ性質をデジタルデータに変換する量子化プロセスの結果は、同じ物理的性質の異なる測定に対して異なる。ノイズに対するロバスト性を提供するために、ヘルパデータが算出され、登録中に記憶される。前記ヘルパデータは、ノイズロバスト性を達成するために認証中に使用される。ヘルパデータは、公開データであると見なされ、前記レスポンスデータから算出された秘密の登録データに関するごく少量の情報のみを公開する。
【００１２】
典型的なヘルパデータスキームにおいて、ヘルパデータW及び登録データSは、(W, S)=FG(R)であるような適切な関数FGを介して物理トークンのレスポンスデータRに基づく。関数FGは、レスポンスデータの単一のセットRからの登録データS及びヘルパデータWの多くの対(W, S)の生成を可能にするランダム化された関数であることができる。これは、登録データSが（したがってヘルパデータWも）異なる登録機関に対して異なることを可能にする。前記算出されたヘルパデータ及び登録データは、この場合、前記物理トークンが実施される前記装置に記憶される。前記装置は、マイクロプロセッサ又は計算能力を持つ他の適切な装置及び記憶手段を有する。必要ではないが好ましくは、前記登録データは、記憶される前に前記マイクロプロセッサにより暗号的に保護される。
【００１３】
この場合、認証段階において、キャパシタンス値が測定され、この結果、他の測定値R'0, R'1,..., R'N-1のセットR'を生じる。前記ヘルパデータは、前記登録段階において、デルタ収縮関数（delta-contracting function）GがレスポンスデータR=R0, R1,..., RN-1及びヘルパデータW=W0, W1,..., WN-1に適用される場合に、結果が登録データS=S0, S1,..., SN-1に等しくなるように選択される。前記デルタ収縮関数は、前記レスポンスに十分に似ているデータの値が結果として同じ出力値、すなわち前記登録データと同一であるデータを生じるような前記ヘルパデータの適切な値の選択を可能にするという特徴を有する。結果として、R'が十分な程度でRに似ている場合にG(R, W)=G(R', W)である。したがって、認証中に、ノイズの多いレスポンスR'は、ヘルパデータWと一緒に、登録データSと同一である検証データS'=G(R', W)を生じる。前記ヘルパデータは、前記登録データに関する情報が公開されないように構成される。前記登録データが前記装置内で暗号的に保護される場合、前記装置の前記マイクロプロセッサは、前記認証段階において検証データS'をも暗号的に保護する。一度前記登録データ及び前記検証データが前記装置内で暗号的に保護されると、結果として生じる前記保護されたデータは、前記装置の外で安全に処理されることができる。
【００１４】
前記認証段階において、検証データS'は、登録データSと比較され、前記算出された検証データが前記登録データに一致するかどうか決定される。一致する場合、前記物理トークンは、認証されたと見なされる。
【００１５】
本発明は、集積回路のような装置が攻撃又は不正改ざんされたかどうかを決定するのに有利に使用される。典型的には、前記装置に対する物理攻撃は、保護コーティングを損傷する。前記コーティング（すなわち前記装置の物理トークン）を損傷することにより、前記コーティングの性質が変更され、所定のコーティング位置における前記コーティングのレスポンスは変更される。結果として、前記認証段階において算出される前記レスポンスデータは、前記登録データにおいて算出された前記レスポンスデータと異なり、前記物理トークンを有する前記装置の認証は失敗する。
【００１６】
例えば、ＩＣが、攻撃されたかどうかを確認することを望む場合に、（センサがキャパシタンスを測定するそれぞれの場所に構成される）Ｎのコーティング位置におけるキャパシタンス値の測定を実行し、この結果、測定値R'0,..., R'N-1を生じる。この場合、登録中に作成されたヘルパデータW0,..., WN-1は、検証データS01,..., SN-1を算出するのに使用される。この場合、前記ＩＣは、S'=S'0||...||S'N-1及びハッシュ値H(S')を計算し（||はデータの連結を示す）、すなわち前記登録データは、ハッシュ関数を用いて暗号的に保護される。しかしながら、検証データS'の平文コピーが、登録データSの平文コピーと比較されることができ、この場合に暗号的保護が保証される必要がないことに注意すべきである。最終的に、前記ＩＣは、H(S)=H(S')であるかどうかを確認する。一致が存在する場合、前記ＩＣは、攻撃されていないことを決定し、前記ハッシュ値が互いに一致しない場合、１以上の測定されたキャパシタンス値が、登録中に測定された対応する値と異なる。前記ＩＣは、この場合、不正改ざんされたと結論付け、適切に動作し、例えばスリープモードに入るか又は単純にシャットダウンする。所定のセンサにより認証中に測定され、登録中に同じ所定のセンサにより測定された値に対して異なるキャパシタンス値は、おそらく、前記ＩＣが不正改ざんされたことを意味する。したがって、複数Ｎの測定されたキャパシタンス値は、認証されるためには前記ＩＣに対する所定の許容誤差境界内に入らなければならず、Sを算出するのに使用されるデルタ収縮関数Gの感受性が高いほど、前記境界は狭くなる。
【００１７】
本発明の一実施例において、不可逆関数の形式の暗号関数、例えばハッシュ関数が、認証データS'に適用される。有利には、前記登録段階及び前記認証段階の両方が、前記装置において測定された前記コーティングキャパシタンス値から算出された秘密のデータ（すなわち前記登録データ及び前記検証データ）を公開することなく行われるべきである。したがって、前記秘密のデータが前記装置から転送される場合、前記装置の前記マイクロプロセッサは、ハッシュ関数を使用することにより前記登録段階において前記登録データを見えなくし、結果としてハッシュ値H(S)を生じる。ハッシュ関数は、比較的少量の処理パワーを必要とする利点を持つ。認証において、検証データS'はハッシュされ、結果としてH(S')を生じる。比較がH(S)=H(S')を示す場合、前記物理トークンを有する前記装置は、不正改ざんされておらず、したがって認証されることを決定する。
【００１８】
更に、上に記載されたように前記秘密のデータにハッシュ関数を適用することにより、ハッシュされた登録データH(S)及び検証データH(S')は、必要であれば、前記装置の外で安全に処理されることができる。
【００１９】
他の実施例において、登録データSは、例えば対称又は非対称暗号を使用して、登録中に暗号化される。場合により、検証データS'も前記認証段階において暗号化され、対応する暗号化されたデータセットEK(S)及びEK(S')は互いに比較される。代替的には、前記暗号化された登録データが復号され、ハッシュされ、前記検証データのハッシュされた複製と比較される。暗号化が実行される場合、データは有利に再使用されることができる。
【００２０】
本発明の他のフィーチャ及び利点は、添付の請求項及び以下の記載を検討すると明らかになる。当業者は、本発明の異なるフィーチャが、以下に記載された実施例以外の実施例を作り出すために組み合わされることができることに気が付く。
【００２１】
本発明の好適な実施例の詳細な記載は、添付の図面を参照して以下に与えられる。
【発明を実施するための最良の形態】
【００２２】
図１は、本発明の一実施例による認証用の測定可能なパラメータを提供する物理トークンを有する装置を示す。装置１１は、半導体ウエハ１２、絶縁層１３及びセンサ素子１６を有する集積回路（ＩＣ）を有する。更に、前記装置は、前記ＩＣを覆うコーティング１４の形の物理的にクローニング不可能な機能（ＰＵＦ）を有する。コーティング１４において、誘電体粒子１５がちりばめられる。これらの粒子は、典型的には、異なる誘電率を持ち、ランダムなサイズ及び形状を持つ。センサ素子１６は、異なるコーティング位置におけるキャパシタンス値を局所的に測定するように絶縁上部金属層１３において構成される。装置１１は、典型的には、入力することができる入力部と、暗号化／復号（及び場合により署名）されたデータが提供されることができる出力部とともに構成される。代替的には、装置１１は、入力データとして暗号化されたデータを受信し、復号されたデータを出力してもよい。装置１１は、マイクロプロセッサ１７又はＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＣＰＬＤ（結合プログラム可能論理デバイス）等のような計算能力を持つ他の適切な装置をも有する。前記マイクロプロセッサは、例えば、暗号化動作を実行し、測定されたキャパシタンス値からデータセットを算出するのに使用される。更に、装置１１は、記憶手段１８を有し、前記マイクロプロセッサは、典型的には、測定されたアナログキャパシタンス値を他の処理のためにデジタルビットストリングに変換するアナログデジタル変換器（図示されない）とともに構成される。本発明の方法の異なる実施例のステップを実行する場合に、前記マイクロプロセッサは、典型的には、前記装置にダウンロードされ、記憶手段１８に記憶された適切なソフトウェアを実行する。当業者は、前記装置が使用されるアプリケーションに依存して暗号化／復号又は他の適切な形で処理されるデータの入力及び／又は出力に関する多数の組み合わせが存在することに気が付く。
【００２３】
したがって、本発明の一実施例において、コーディング１４の複数のキャパシタンス値R0, R1,..., RN-1は、装置１１の登録中にセンサ素子１６により測定される。ノイズ補正データWは前記装置により選択され、前記コーティングの（典型的には連結されたキャパシタンス値R0||R1||...||RN-1からなる）レスポンスデータRに基づく登録データS及びノイズ補正データWは、(W, S)=FG(R)のようなマイクロプロセッサ１７において適用される関数FGを用いて算出される。更に、前記マイクロプロセッサは、登録データSにハッシュ関数を適用し、結果としてハッシュ値H(S)を生じる。算出されたヘルパデータW及び保護された登録データH(S)は、前記装置のメモリ１８に記憶される。
【００２４】
この場合、認証段階において、前記装置の起こりうる不正改ざんが検出される場合、キャパシタンス値は、登録中に使用されるのと同じセンサ素子１６において測定され、結果として、他の測定値R'0, R'1,..., R'N-1のセットR'を生じる。以前に述べられたように、前記ヘルパデータは、デルタ収縮関数Gが前記登録レスポンスデータR及びヘルパデータWに適用される場合に結果が登録データSに等しくなるように登録中に選択される。前記デルタ収縮関数は、前記レスポンスに十分に似ているデータの値が結果として同じ出力値、すなわち前記登録データと同一であるデータを生じるような前記ヘルパデータの適切な値の選択を可能にするような特徴を持つ。結果として、認証中に算出されたレスポンスデータR'が十分な程度で登録中に算出されたレスポンスデータRに似ている場合に、G(R, W)= G(R', W)である。したがって、認証中に、ノイズの多いレスポンスR'は、コーティング１４のキャパシタンス性質が修正された場合に、ヘルパデータWと一緒に、登録データSと同一である検証データS'=G(R', W)を生じる。マイクロプロセッサ１７は、前記検証データのハッシュを実行し、結果としてH(S')を生じる。この場合、前記ハッシュされた検証データは、前記ハッシュされた登録データと比較される。H(S')=H(S)である場合、前記装置は、不正改ざんされていないと見なされ、したがって認証されることができる。
【００２５】
本発明は特定の典型的な実施例を参照して記載されているが、多くの異なる変更及び修正等が当業者に明らかになる。記載された実施例は、したがって、添付の請求項により規定される、本発明の範囲を限定することを意図されない。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施例による認証用の測定可能なパラメータを提供する物理トークンを有する装置を示す。
【図１】
2009533927.tif 000003
【国際調査報告】
2009533927.tif 000004
2009533927.tif 000005
2009533927.tif 000006