(57)【要約】  第１及び第２ノード間で送信されるデータを暗号化又は認証する鍵を導出する方法であって、身体的識別子の測定結果から代表値を決定するステップと、ランダム数を生成するステップと、暗号鍵を提供するために代表値とランダム数を組み合わせるステップと、を有する方法が提供される。本発明は、更に、ノード、照合ノード、及び照合ノードによるノードの認証のためのシステムに関する。前記システムは、本発明による暗号鍵生成を適用する。本発明は、前記計算機プログラムを認証するのに用いるノードの代表値を含む計算機プログラムを提供する。
2008526078.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２ノード間で送信されるデータを暗号化又は認証する鍵を導出する方法であって、
−身体的識別子の測定結果から代表値を決定するステップと、
−ランダム数を生成するステップと、
−暗号鍵を提供するために前記代表値と前記ランダム数を組み合わせるステップと、
を有する方法。
【請求項２】
前記身体的識別子が、ユーザの身体的識別子である、請求項１に記載の方法。
【請求項３】
身体的識別子の測定結果から代表値を決定するステップが、前記ユーザのバイオメトリクス識別子の測定結果を得るステップを含む、請求項２に記載の方法。
【請求項４】
身体的識別子の測定結果から代表値を決定するステップが、前記測定結果から前記代表値を抽出するために、秘密抽出コードを用いるステップを含む、請求項３に記載の方法。
【請求項５】
前記鍵が前記第１ノードにおいて導出され、身体的識別子の前記測定結果から前記代表値を決定するステップが、前記第２ノードによって前記第１ノードへ供給される秘密抽出コードアイデンティティデータに応答して、秘密抽出コードの一群から前記秘密抽出コードを選択するステップを、更に含む、請求項４に記載の方法。
【請求項６】
前記秘密抽出コードアイデンティティデータが、照合段階において、前記第２ノードにおいて導出及び記憶される、請求項５に記載の方法。
【請求項７】
身体的識別子の測定結果から代表値を決定するステップが、身体的クローン不可能な機能にチャレンジを与えるステップと、レスポンスを測定するステップと、を含む、請求項１に記載の方法。
【請求項８】
身体的識別子の測定結果から代表値を決定するステップが、前記第２ノードによって前記第１ノードへ供給されるヘルパーデータ及び前記測定されたレスポンスから前記代表値を導出するステップを更に含む、請求項７に記載の方法。
【請求項９】
前記身体的クローン不可能な機能にチャレンジを与えるステップが、一群のチャレンジから選択される少なくとも１つのチャレンジを適用するステップを含む、請求項７又は８に記載の方法。
【請求項１０】
第１及び第２ノード間で送信されるデータを暗号化又は認証する鍵を導出する方法であって、前記第２ノードが、メモリに記憶された身体的識別子の測定結果から決定された第２代表値を有し、当該方法が、
−前記第１及び第２ノードに関して共通のランダム数を生成するステップと、
−前記第１ノードにおいて：
−ユーザの身体的識別子の測定結果から第１代表値を決定するステップと、
−暗号鍵を提供するために前記第１代表値と前記共通のランダム数とを組み合わせるステップと、
−前記第２ノードにおいて：
−暗号鍵を提供するために、前記第２ノードの前記メモリに記憶された前記第２代表値と前記共通のランダム数とを組み合わせるステップと、
を有する方法。
【請求項１１】
前記身体的識別子が、ユーザの身体的識別子である、請求項１０に記載の方法。
【請求項１２】
前記第１及び第２ノードに関して前記共通のランダム数を生成するステップが、
−前記第１ノードにおいて前記ランダム数を生成するステップと、
−前記生成されたランダム数を、前記第１ノードから前記第２ノードへセキュアに伝送するステップと、
を含む、請求項１０に記載の方法。
【請求項１３】
前記生成されたランダム数を前記第１ノードから前記第２ノードへセキュアに伝送するステップが、前記第１ノードにおいて前記ランダム数を暗号化するステップと、前記第２ノードにおいて前記暗号化されたランダム数を復号するステップと、を含む、請求項１２に記載の方法。
【請求項１４】
前記第１ノードが、メモリに記憶される前記第２ノードに関する公開鍵を有し、前記第２ノードが、前記第２ノードの前記メモリに記憶される対応する秘密鍵を有し、前記生成されたランダム数を前記第１ノードから前記第２ノードへセキュアに伝送するステップが、前記ランダム数を前記第２ノードの前記記憶された公開鍵を用いて暗号化するステップと、前記第２ノードにおいて、前記暗号化されたランダム数を前記第２ノードの前記記憶された秘密鍵を用いて復号するステップと、を含む、請求項１３に記載の方法。
【請求項１５】
前記第１及び第２ノードに関する共通のランダム数を生成するステップが、セッション鍵生成プロトコルを用いるステップを含む、請求項１０に記載の方法。
【請求項１６】
ノードであって、
−前記ノードの身体的識別子の測定結果を得る手段と、
−前記測定結果から代表値を決定する手段と、
−ランダム数を得る手段と、
−暗号鍵を提供するために、前記代表値及び前記ランダム数を組み合わせる手段と、
を有するノード。
【請求項１７】
前記身体的識別子が、ユーザの身体的識別子である、請求項１６に記載の方法。
【請求項１８】
前記ランダム数を得る手段が、前記ランダム数を生成する手段を含む、請求項１６に記載のノード。
【請求項１９】
前記ノードが、アイデンティティを伝送する手段を更に含む、請求項１６に記載のノード。
【請求項２０】
前記ノードが、
−身体的クローン不可能な機能と、
−照合ノードからチャレンジを受信する手段と、
を更に含む、請求項１６に記載のノード。
【請求項２１】
前記ランダム数を得る手段が、照合ノードから前記ランダム数を受信するように構成される、請求項１６に記載のノード。
【請求項２２】
前記照合ノードから前記ランダム数を受信する手段が、前記照合ノードから受信された暗号化されたランダム数を受信及び復号するように構成される、請求項２１に記載のノード。
【請求項２３】
計算機プログラムの認証を証明する、請求項１６に記載のノードの使用法。
【請求項２４】
読み取り器とともに用いるスマートカードであって、当該スマートカードが、
−身体的クローン不可能な関数と、
−処理器チップと、
を備え、
前記処理器チップが、
−前記読み取り器から前記身体的クローン不可能な機能の測定結果を受信し、
−前記測定結果から代表値を決定し、
−ランダム数を生成し、
−暗号鍵を生成するために、前記代表値及び前記ランダム数を組み合わせる、
ように構成される、
スマートカード。
【請求項２５】
照合ノードであって、
−ノードからアイデンティティ及び暗号鍵を受信する手段と、
−ランダム数を得る手段と、
−前記アイデンティティに関連付けられる代表値を取得する手段と、
−前記ノードから受信された前記暗号鍵が、前記取得された代表値及び前記ランダム数を用いても生成され得るかを照合する処理手段と、
を備える、照合ノード。
【請求項２６】
前記処理手段が、暗号鍵を提供するために、前記取得された代表値をランダム数と組み合わせるように構成される、請求項２５に記載の照合ノード。
【請求項２７】
前記アイデンティティに関連付けられる前記代表値を取得する手段が、
−各代表値が特定のユーザに関連付けられるような、複数の代表値を含むメモリと、
−前記受信されたユーザアイデンティティに応答して、前記メモリから代表値を取得する手段と、
を有する、請求項２５に記載の照合ノード。
【請求項２８】
前記処理手段が、前記照合の結果に基づき前記ノードを認証するように更に構成される、請求項２５に記載の照合ノード。
【請求項２９】
前記照合ノードが、
−前記アイデンティティと関連付けられるチャレンジを得る手段と、
−前記チャレンジを前記ノードへ伝送する手段と、
を更に備える、請求項２８に記載の照合ノード。
【請求項３０】
前記照合ノードが、前記照合の結果に基づき当事者を承認するように更に構成される、請求項２５に記載の照合ノード。
【請求項３１】
前記照合ノードが、
−ランダム数を生成する手段と、
−前記ランダム数を前記ノードへ送信する手段と、
を更に有する、請求項２５に記載の照合ノード。
【請求項３２】
前記ランダム数を送信する手段が、送信の前に前記ランダム数を暗号化するように更に構成される、請求項３１に記載の照合ノード。
【請求項３３】
当該照合ノードが、信頼できるプラットフォームモジュールである、請求項２５に記載の照合ノード。
【請求項３４】
前記アイデンティティに関連付けられる前記代表値を取得する手段が、計算機プログラムから前記代表値を取得するように構成される、請求項２５に記載の照合ノード。
【請求項３５】
前記計算機プログラムが、データ担体で配布される、請求項３４に記載の照合ノード。
【請求項３６】
前記代表値を取得する手段が、暗号化されたデータから前記代表値を抽出するように構成される、請求項２５に記載の照合ノード。
【請求項３７】
請求項１６に記載のノード及び請求項２５に記載の照合ノードを備える、認証システム。
【請求項３８】
請求項２４に記載のスマートカード及び請求項２５に記載の照合ノードを備える、認証システム。
【請求項３９】
計算機読取可能媒体に記憶された、プログラムコード手段を含む計算機プログラムであって、前記計算機読取可能媒体が、前記計算機プログラムを認証するのに用いる、請求項１６に記載のノードの代表値を有する、計算機プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティシステムにおいて用いるための鍵の生成、及び特に、例えばバイオメトリクス識別子又は身体的クローン不可能な機能（ＰＵＦ）などからの鍵の生成に関する。
【背景技術】
【０００２】
より信頼度が高く利便性のあるセキュリティシステムに対する需要が増しており、また指紋、虹彩パターン、音声データ、及び歩き方のデータなどのバイオメトリクス識別子を使用することに関しての興味が存在している。バイオメトリクス識別子は、計算機パスワードが例えば忘れられ得るようには失われたり忘れられ得ないので、バイオメトリクス法は、ユーザに対してより高いセキュリティ及び利便性を提供する可能性を有する。
【０００３】
バイオメトリクス識別システムの同一の有利な点のいくつかは、身体的クローン不可能な機能（Physical  Uncloneable  Function:ＰＵＦ）の使用によっても達成され得る。ＰＵＦは、身体的システムによって実現される機能であるので、これにより、当該機能は、容易に評価され得るが、この身体的システムは、特徴化するのが難しい。身体的システムは、複雑な方法でチャレンジ(challenge（負荷）)と呼ばれる刺激と相互作用し、特有であるが予測不可能であるレスポンス(response)を生じさせるように設計されている。例えば、光学的ＰＵＦは、ある程度ランダムに分布された散乱材料を含む身体的構造からなる。したがって、例えば特定の特性を有する入力レーザー光の形式などの特定のチャレンジへ応答して、光学的ＰＵＦは、斑点状の特有のレスポンスを生成する。１つ又は複数のチャレンジ−レスポンスの対は、この場合、ＰＵＦを識別するのに用いられ得る。
【０００４】
バイオメトリクス法又は光学的ＰＵＦなどの身体的識別子は、暗号鍵の導出のために用いられ得る。特に、ユーザが照合器とプライベートなチャネルを介して通信する事を望む状況を想定するか、又は照合器が製品の認証(authenticity)を、前記製品の使用に関する承認を許諾する前に確立したいと望む状況を想定されたい。ユーザ及び照合器によって用いられるプロトコルは、通常、エンロールメント段階及びアプリケーション段階の２つの段階からなる。
【０００５】
エンロールメント段階において、照合器は、ユーザのバイオメトリクスを測定し（又は代替的にユーザのＰＵＦから特定のチャレンジ−レスポンスの対を獲得し）、測定結果から鍵として（又は認証を証明するチャレンジ−レスポンスの対として）用いられるべき代表値を導出し、アプリケーション段階において用いるために前記代表値を記憶する。照合器は、ユーザがアプリケーション段階において同一の代表値（及び同一の鍵）を導出するのを助ける参照情報も記憶する。
【０００６】
アプリケーション段階において、バイオメトリクスの新しい（雑音のある）測定が行われ（すなわち、特定のチャレンジに対するＰＵＦのレスポンスが検出され）、照合器の参照情報がユーザによって用いられ、これにより、バイオメトリクス（すなわちレスポンス）の雑音のある測定結果から同一の代表値を導出する。雑音のある測定結果から正確に鍵を導出するために、ユーザ及び照合器は、公開された（認証された）チャネルを介して通信する。
【０００７】
ユーザに対する利便性は、ユーザがパスワードを覚える又は追加的な秘密鍵を記憶することを必要とされていないという事実から生じる。加えて、バイオメトリクス及びＰＵＦがクローン不可能であるので、ユーザによる同一の鍵の導出及び使用（そして、照合器が、ユーザの鍵を使用して暗号化されたデータを暗号化解除するのを可能にすること）が意味することは、照合器が、意図されたユーザ（又は元のＰＵＦ）がアプリケーション段階において存在することを確認し得るということである。
【０００８】
（「ファジー鍵生成」として既知である）この種類の鍵生成は上述の有利な点を提供するものの、いくつかの問題が存在する。
【０００９】
始めに、バイオメトリクス識別子は、多くの場所において意図せずに残され得る。例えば、指紋は、触られるいかなる表面にも残され得、又は虹彩の走査はカメラで撮影され得る。このことは、攻撃者が、端末のセンサで測定されるテンプレートに密接に関連するバイオメトリクスのノイズのあるものを容易に捕捉し得ることを意味する。この情報は、攻撃者によって使用され得、攻撃者は、特定のユーザのバイオメトリクスから導出される鍵の推定値を測定し、よって端末及び照合器間で送信されるトラフィックを暗号解除し得る。
【００１０】
光学的ＰＵＦの場合、斑点状パターンを記録するカメラは、カードから分離されている。加えて、カメラは、斑点状パターンの暗号化されていないデジタル像を含み得る。このことは、攻撃者が、記録される斑点状パターン、すなわち斑点状パターンから導出される鍵に関する情報を得るためにカメラを攻撃し得ることを意味する。つまり、攻撃者は、ＰＵＦを含むカードへの完全なアクセスを、例えば攻撃者がユーザからカードを盗み後にカードを戻し得るような限られた時間において有し得る。この状況において、攻撃者は、ＰＵＦの特定のチャレンジ−レスポンスの対を測定することが可能であり得る。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
したがって、身体的識別子から鍵の生成を可能にし、前記身体的識別子の測定結果に関して明かされた情報の量を低減する、鍵生成プロトコルを提供する必要がある。
【課題を解決するための手段】
【００１２】
本発明の第１の態様によると、第１及び第２ノード間で送信されるデータを暗号化又は認証する鍵を導出する方法であって、ユーザの身体的識別子の測定結果から代表値を決定するステップと、ランダム数を生成するステップと、暗号鍵を提供するために代表値とランダム数を組み合わせるステップと、を有する方法が提供される。
【００１３】
本発明は、鍵生成のために身体的識別子から導出された測定情報を用いる方法であって、一方で前記暗号鍵を用いて暗号化された通信を覗いている攻撃者に晒された前記身体的識別子に関する情報の量を制限するような方法を提供する。暗号鍵を用いる場合、意図しなくても、実際の暗号鍵に関する少量の情報が攻撃者へ漏れる。暗号鍵から導出されない独立した、容易に更新可能な値を用いることによって、身体的識別子に関する情報は、更に攻撃者から分からないようにされる。攻撃者が前記暗号鍵を用いて暗号化されたデータを分析することによって暗号鍵に関する情報を獲得するかもしれないものの、この暗号鍵は、身体的識別子及びランダム数からの両方の情報の組合せに基づく。したがって、攻撃者は、もはや、身体的識別子から導出される情報を単純に分離することが出来ない。ランダム数を頻繁に更新することによって、セキュリティは更に向上され得る。
【００１４】
好ましくは、ユーザの身体的識別子の測定結果から代表値を決定するステップは、前記ユーザのバイオメトリクス識別子の測定結果を得るステップを含む。
【００１５】
好ましくは、身体的識別子の測定結果から代表値を決定するステップは、前記測定結果から前記代表値を抽出するために、秘密抽出コードを用いるステップを含む。
【００１６】
好ましくは、前記鍵が前記第１ノードにおいて導出され、身体的識別子の前記測定結果から前記代表値を決定するステップが、前記第２ノードによって前記第１ノードへ供給される秘密抽出コードアイデンティティデータに応答して、秘密抽出コードの一群から前記秘密抽出コードを選択するステップを、更に含む。
【００１７】
好ましくは、前記秘密抽出コードアイデンティティデータが、照合段階において、前記第２ノードにおいて導出及び記憶される。
【００１８】
代替的には、ユーザの身体的識別子の測定結果から代表値を決定するステップが、ユーザの身体的クローン不可能な機能にチャレンジを与えるステップと、レスポンスを測定するステップと、を更に含む。
【００１９】
好ましくは、身体的識別子の測定結果から代表値を決定するステップが、前記第２ノードによって前記第１ノードへ供給されるヘルパーデータ及び前記測定されたレスポンスから前記代表値を導出するステップを更に含む。
【００２０】
好ましくは、前記身体的クローン不可能な機能にチャレンジを与えるステップが、一群のチャレンジから選択される少なくとも１つのチャレンジを適用するステップを含む。
【００２１】
本発明の第２の態様によると、第１及び第２ノード間で送信されるデータを暗号化又は認証する鍵を導出する方法であって、前記第２ノードが、メモリに記憶されたユーザの身体的識別子測定結果から決定された第２代表値を有し、当該方法が、前記第１及び第２ノードに関して共通のランダム数を生成するステップと、前記第１ノードにおいて：ユーザの身体的識別子の測定結果から第１代表値を決定するステップと、暗号鍵を提供するために前記第１代表値と前記共通のランダム数とを組み合わせるステップと、前記第２ノードにおいて：暗号鍵を提供するために、前記第２ノードの前記メモリに記憶された前記第２代表値と前記共通のランダム数とを組み合わせるステップと、を有する方法が提供される。
【００２２】
好ましくは、前記第１及び第２ノードに関して前記共通のランダム数を生成するステップが、前記第１ノードにおいて前記ランダム数を生成するステップと、前記生成されたランダム数を、前記第１ノードから前記第２ノードへセキュアに伝送するステップと、を含む。
【００２３】
好ましくは、前記生成されたランダム数を前記第１ノードから前記第２ノードへセキュアに伝送するステップが、前記第１ノードにおいて前記ランダム数を暗号化するステップと、前記第２ノードにおいて前記暗号化されたランダム数を復号するステップと、を含む。
【００２４】
好ましくは、前記第１ノードが、メモリに記憶される前記第２ノードに関する公開鍵を有し、前記第２ノードが、前記第２ノードのメモリに記憶される対応する秘密鍵を有し、前記生成されたランダム数を前記第１ノードから前記第２ノードへセキュアに伝送するステップが、前記ランダム数を前記第２ノードの前記記憶された公開鍵を用いて暗号化するステップと、前記第２ノードにおいて、前記暗号化されたランダム数を前記第２ノードの前記記憶された秘密鍵を用いて復号するステップと、を含む。
【００２５】
代替的には、前記第１及び第２ノードに関する共通のランダム数を生成するステップが、セッション鍵生成プロトコルを用いるステップを含む。
【００２６】
好ましくは、ユーザの身体的識別子の測定結果から第１代表値を決定するステップが、前記ユーザのバイオメトリクスの結果を得るステップを含む。
【００２７】
好ましくは、身体的識別子の測定結果から第１代表値を決定するステップが、前記測定結果から前記第１代表値を抽出するための秘密抽出コードを用いるステップを更に含む。
【００２８】
好ましくは、身体的識別子の前記測定結果から前記第１代表値を決定するステップが、前記第２ノードによって前記第１ノードへ供給される秘密抽出コードアイデンティティデータに応答して、秘密抽出コードの一群から前記秘密抽出コードを選択するステップを、更に含む。
【００２９】
好ましくは、前記秘密抽出コードアイデンティティデータが、照合段階において、前記第２ノードにおいて導出及び記憶される。
【００３０】
代替的には、ユーザの身体的識別子の測定結果から第１代表値を決定するステップが、ユーザの身体的クローン不可能な機能にチャレンジを与えるステップと、レスポンスを測定するステップと、を含む。
【００３１】
好ましくは、身体的識別子の測定結果から第１代表値を決定するステップが、前記第２ノードによって前記第１ノードへ供給されるヘルパーデータ及び前記測定されたレスポンスから前記第１代表値を導出するステップを更に含む。
【００３２】
好ましくは、前記身体的クローン不可能な機能にチャレンジを与えるステップが、一群のチャレンジから選択される少なくとも１つのチャレンジを適用するステップを含む。
【００３３】
好ましくは、当該方法が、前記第１ノードにおいて前記第２ノードへユーザアイデンティティを伝送するステップを更に有する。
【００３４】
本発明の第３の態様によると、ノードであって、前記ノードのユーザの身体的識別子の測定結果を得る手段と、前記測定結果から代表値を決定する手段と、ランダム数を生成する手段と、暗号鍵を提供するために、前記代表値及び前記ランダム数を組み合わせる手段と、を有するノードが提供される。
【００３５】
好ましくは、ユーザの身体的識別子の測定結果を得る手段が、バイオメトリクス識別子の測定結果を得る手段を含む。
【００３６】
好ましくは、ノードが、秘密抽出コードの一群を有するメモリと、照合ノードから秘密抽出コードアイデンティティデータを受信する手段と、を更に有し、測定結果から代表値を決定する手段は、代表値を、メモリに記憶された秘密抽出コード及びバイオメトリクス識別子の測定結果のうちの１つを用いて決定するように構成され、秘密抽出コードの選択は、照合コードから受信される秘密抽出コードアイデンティティデータに基づき行われる。
【００３７】
代替的には、ユーザの身体的識別子の測定結果を得る手段が、ユーザの身体的クローン不可能な機能にチャレンジを与えるとともに、レスポンスを測定する手段を含む。
【００３８】
好ましくは、ノードが、記憶されるチャレンジの一群を有するメモリと、照合ノードからチャレンジアイデンティティデータを受信する手段と、を更に有し、身体的識別子の測定結果を得る手段が、前記メモリに記憶されるチャレンジのうちの少なくとも１つを用いて前記ユーザの前記身体的クローン不可能な機能にチャレンジを与えるように構成され、前記又は各チャレンジの選択が、前記照合ノードから受信される前記チャレンジアイデンティティデータに基づき行われる。
【００３９】
好ましくは、ノードは、前記照合ノードからヘルパーデータを受信する手段を更に含み、前記測定結果から代表値を決定する手段が、前記照合ノードから受信されるヘルパーデータ及び前記測定されたレスポンスを用いて前記代表値を決定するように構成される。
【００４０】
好ましくは、前記ノードが、前記生成されたランダム数を前記ノードから照合ノードへ伝送する手段を更に備える。
【００４１】
好ましくは、前記生成されたランダム数を前記ノードから照合ノードへ伝送する手段が、前記ランダム数を、前記ノードから前記照合ノードへ伝送する前に暗号化するように更に構成される。
【００４２】
好ましくは、前記ノードが、記憶される前記照合ノードに関する公開鍵を有するメモリを有し、前記生成されたランダム数を前記ノードから前記照合ノードへ伝送する手段が、更に、前記ランダム数を前記照合ノードの前記記憶された公開鍵を用いて暗号化するように構成される。
【００４３】
代替的には、ランダム数を生成する手段が、セッション鍵生成プロトコルを用いて前記ランダム数を生成するように構成される。
【００４４】
本発明の第４の態様によると、読み取り器と用いるスマートカードであって、当該スマートカードが、身体的クローン不可能な関数と、処理器チップと、を備え、前記処理器チップが、前記読み取り器から前記身体的クローン不可能な機能の測定結果を受信し、前記測定結果から代表値を決定し、ランダム数を生成し、暗号鍵を生成するために、前記代表値及び前記ランダム数を組み合わせる、ように構成される、スマートカードが提供される。
【００４５】
好ましくは、前記処理器チップが、前記照合ノードから受信されるヘルパーデータを用いて前記測定結果から代表値を決定するように構成される。
【００４６】
本発明の第５の態様によると、各代表値が特定のユーザと関連付けられる複数の代表値を含むメモリと、ユーザノードからユーザアイデンティティを受信する手段と、前記受信されたアイデンティティに応答して前記メモリから代表値を取得する手段と、暗号鍵を提供するために前記取得された代表値をランダム数と組み合わせる処理手段と、含む照合ノードが提供される。
【００４７】
好ましくは、前記メモリは、前記代表値のそれぞれに関連付けられる秘密抽出コードアイデンティティデータを更に含み、前記取得する手段が、前記メモリから前記関連付けられる秘密抽出コードアイデンティティデータを取得するように更に構成され、前記照合ノードが、前記取得された秘密抽出コードアイデンティティデータを、前記ユーザノードへ伝送する手段を更に含む。
【００４８】
代替的には、前記メモリは、前記代表値のそれぞれに関連付けられるチャレンジアイデンティティデータを含み、各ユーザが、複数のチャレンジ及びそれに関連付けられる代表値を有し、前記取得する手段が、前記メモリから前記関連付けられるチャレンジアイデンティティデータを取得するように更に構成され、前記照合ノードが、前記取得されたチャレンジアイデンティティデータを前記ユーザノードへ伝送する手段を更に含む。
【００４９】
好ましくは、前記メモリは、前記代表値のそれぞれに関連付けられるヘルパーデータを含み、前記取得する手段が、前記メモリから前記関連付けられるヘルパーデータを取得するように更に構成され、前記伝送する手段が、前記取得されたヘルパーデータを前記ユーザノードへ伝送するように更に構成される。
【００５０】
好ましくは、前記ランダム数が、前記受信する手段によって前記ユーザノードから受信される。
【００５１】
好ましくは、前記ユーザノードから受信される前記ランダム数が暗号化され、前記受信する手段が、前記暗号化されたランダム数を復号するように更に構成される。
【００５２】
好ましくは、前記メモリは、前記照合ノードに関する秘密鍵を更に有し、前記ユーザノードから受信される前記生成されたランダム数が、前記照合ノードの公開鍵を用いて暗号化され、前記受信する手段が、前記秘密鍵を用いて前記暗号化されたランダム数を復号するように構成される。
【００５３】
代替的には、前記処理手段が、セッション鍵生成プロトコルを用いて前記ランダム数を生成するように構成される。
【００５４】
本発明の第６の態様によると、認証システムにおいて用いるための、認証を照明するノードが提供される。当該ノードは、測定された代表値に基づき特定の暗号鍵を生成し、これを照合ノードへ伝送することによって本物(authentic)であることを証明する。照合ノードは、その後、生成された暗号鍵が、ノード及びランダム数のエンロールメント処理において記録された特定の代表値を用いて生成される暗号鍵に対応するかを照合し得る。
【００５５】
ノードは、ノードの身体的識別子の測定結果を得る手段と、測定結果から代表値を決定する手段と、ランダム数を得る手段と、暗号鍵を提供するために代表値及びランダム数を組み合わせる手段と、を備える。
【００５６】
前記ノードの身体的識別子の測定結果を得る手段と、前記測定結果から代表値を決定する手段が、本発明の第３の態様において述べられるのと等価な態様に従う。
【００５７】
好ましくは、本発明の第６の態様によるノードにおいて、ランダム数を得る手段は、前記伴う照合ノードから前記ランダム数を受信するように構成される。
【００５８】
好ましくは、このランダム数は、照合ノードから受信される。ランダム数は、認証において用いる暗号鍵の生成において用いられ得る。ランダム数をノードに送信することは可能であり、明らかなように、このことは、システムを攻撃するために用いられ得るプレーンテキストを攻撃者に提供し得る。セキュリティの理由のために、ランダム数は、例えば、ノードの公開鍵を用いて暗号化され得る。これにより、暗号化された形式でノードが、ノードによる更なる利用のために前記ランダム数を復号することを可能にされる。
【００５９】
代替的に、ランダム数は、照合ノードによって暗号化されない形式で送信され得、これによると、認証処理のセキュリティを低減し得る。
【００６０】
本発明の第６の態様によるノードが、身体的識別子を測定するために身体的クローン不可能な機能と一致される場合、照合ノードは、前記身体的クローン不可能な機能に対するチャレンジも提供するべきである。
【００６１】
好ましくは、ノードは、アイデンティティを送信する手段を備え、バイオメトリクスが用いられる場合、これは、ユーザのアイデンティティであり得、代替的に、身体的クローン不可能な機能の場合、これは、前記機能と関連付けられる固有の識別子であり得る。
【００６２】
特定の実施例において、本発明の第６の態様によるノードを含む認証の証明は、以下のように処理され得る。身体的クローン不可能な機能と一致されるノードは、照合ノードの近くに配置され、無線通信チャネルを用いて、照合ノードは、固有のノード識別子をノードに要求する。ノードによって提出されるノード識別子に基づき、照合ノードは、前記ノード識別子に関連付けられるデータベースからチャレンジを取得する。加えて、照合ノードは、ランダム数を生成し、ランダム数および前記チャレンジをノードへ送信し、任意選択的にこのデータは、始めに暗号化される。
【００６３】
認証を証明するノードにおいて、チャレンジ及びランダム数が受信され、その後復号される。秘密鍵及び公開鍵の使用から、両方のノード間において初期に確立されるセッション鍵までの範囲にあるような、暗号化の様々な従来の方法が着想され得る。復号の後に、ノードは、身体的クローン不可能な機能にチャレンジを与え、そのレスポンスを測定し、測定結果から代表値を決定する。次に、暗号鍵は、例えば、代表値を用いてランダム数を暗号化することによって、又はランダム数及び代表値の両方を暗号法的にハッシュ値を持つことによって、ノードにおいて生成される。斯様にして、ノードは、照合ノードに、前記暗号鍵の有効性を確証させることが可能であり、これよって、攻撃者は、代表値に関する情報を獲得しない。
【００６４】
本発明の第６の態様によるノードは、計算機プログラムの認証を証明するのに有利に用いられ得る。この認証の証明は、計算プラットフォームに前記プログラムをインストールする又は使用するための承認を当事者(a  party)に許諾する前提条件として用いられ得る。上述の例は、身体的クローン不可能な機能に適合されたノードの使用を強調しているが、バイオメトリクスも代わりに用いられ得る。斯様な実施例は、ユーザの認証を証明するバイオメトリクスデータを使用することを可能にし得、これにより、承認されたユーザのみに、計算機プログラムを使用する又はインストールする鍵を生成させることを可能にする。
【００６５】
本発明は、ＣＤ、ＤＶＤ、文書（例えば、パスポート）、バッジ、タグ、及びトークンなどの物理的オブジェクトの認証を証明することに関して、同等に有利な態様で用いられ得る。前記証明に応じて、正しいバイオメトリクスがユーザによって照合ノードへ提示される場合、アクセスが許諾される。
【００６６】
本発明の第７の態様によると、ノードが本物であることを照合するためにノードによって生成される暗号鍵を受信する照合ノードが提供される。斯様な照合ノードは、認証を証明するシステムを形成するために、本発明の第６の態様によるノードと組み合わせて用いられ得る。本発明の第７の態様による照合ノードは、ノードからアイデンティティを受信する手段と、ランダム数を得る手段と、前記アイデンティティに関連付けられる代表値を取得する手段、ノードから暗号鍵を受信する手段と、ノードから受信された暗号鍵が、取得された代表値及びランダム数を用いても生成され得るかを照合する処理手段と、前記照合の結果に基づき前記ノードを認証する手段と、を有する。
【００６７】
最適なセキュリティのために、ランダム数は、新しいチャレンジを更に選択することによって、装置が認証される度に新たに選択されるべきであり、したがって、各認証セキュリティに関する新しいレスポンスが更に増加される。
【００６８】
好ましくは、照合ノードは、認証されているノードのアイデンティティを受信する。このアイデンティティに基づき、照合ノードは、データベースからチャレンジレスポンスの対を取得しようと試みる。このデータベースは、照合ノードのメモリに記憶され得る、又は複数のノード用にチャレンジレスポンスデータを有する中央ファイルサーバに記憶され得る。実際には、照合ノードが、例えば信頼できるサードパーティからの署名を照合することなどによって、チャレンジレスポンスの対の認証を確立し得る場合、これらのチャレンジレスポンスの対は、前記ノードによっても提供され得る。
【００６９】
好ましくは、照合ノードは、前記ノードに対してチャレンジレスポンスの対を選択する。
【００７０】
好ましくは、照合ノードは、ランダム数を生成し得、これにより、照合器が、ランダム数生成器を制御させることを可能にし、高価な安全なランダム数生成器を必要としない低コストのノードを促進する。
【００７１】
好ましくは、照合ノードは、前記チャレンジ及びランダム数をノードへ伝送し、特定の実施例において、ランダム数は暗号化され、他の実施例においてランダム数は暗号化されてなく状態にあり得る。ノードは、その後、照合コードへ送信される暗号鍵を生成する。
【００７２】
好ましくは、照合ノードは、ノードにおいて生成された前記暗号鍵を受信する。
【００７３】
好ましくは、処理手段は、前記受信された暗号鍵を生成したノードが本物であるかを照合するために、取得された代表値及びランダム数を用いる。
【００７４】
好ましくは、照合ノードにおける照合処理は、前記受信された暗号鍵を生成した、ノードにおいて後に続く同一の工程を適用し、斯様にして、照合ノードは、例えば、照合ノードにおいて利用可能な代表値を用いてランダム数を暗号化することによって、更なる暗号鍵を生成する。その後、両方の生成された暗号鍵は、比較され得る。
【００７５】
代替的に、照合ノードは、暗号化するよりも復号することによって認証を照合し得る。斯様にして、照合ノードは、ノードにおいて生成された受信された暗号鍵を復号するために、照合ノードにおいて利用可能な代表値を用い得、その後、生じる結果を、照合ノードにおいて入手可能なランダム数を用いて一致させる。
【００７６】
例えば、暗号法的ハッシュ関数を用いることによる暗号鍵の生成などの、更に代替的な解決法も着想され得る。例えば、ノード及び照合ノードの両方において入手可能な代表値及びランダム数の両方のハッシュ値を取り、その後これらを比較することによってなどである。
【００７７】
照合処理は、照合ノードが、取得される代表値及びランダム数に基づき同一の暗号鍵を生成し得るかを立証し、これにより、ノードが認証されているかを立証するこの照合の結果は、当事者へ承認を許諾するのに用いられ得る。
【００７８】
特に有利な照合ノードは、計算プラットフォームにおける計算機プログラムの認証を照合する信頼できるプラットホームモジュールすなわちＴＰＭとして機能する照合ノードである。("Trusted  Platform  Module  (TPM)  based  Security  on  Notebook  PCs"  White  Paper  by  Sundeep  Bajikar,  Mobile  Platforms  Group,  Intel  Corporation,  June  20,  2002.(http://developer.intel.com/design/mobile/platform/downloads/Trusted_Platform_Module_White_Paper.pdf)
【００７９】
好ましくは、照合ノードは、信頼できるプラットフォームモジュール（ＴＰＭ）である。照合ノードは、代表値を計算機プログラムから暗号化された形式で得る。例えば、照合ノード（ＴＰＭ）の装置鍵を用いて、照合ノードは、この代表値を復号し得る。生じる代表値は、その場合、例えば前記計算機プログラムと組み合わせて配布されるトークンなどにチャレンジを与えるために、上述のように用いられる。斯様にして、この第７の態様は、計算機プログラムの内容を、人物のバイオメトリクス結果又は身体的クローン不可能な機能の測定結果から導出される代表値に有効に結び付ける。後者は、たとえ可能であるとしても、複製、模写、又は偽造をするのは相当困難であるので、このことは、役に立つコンテンツ保護の仕組みを効果的に提供する。
【００８０】
本発明の第８の態様によると、上述のノード及び上述の照合ノードを備える認証システムが提供される。
【００８１】
本発明の第９の態様によると、上述のスマートカード及び上述の照合ノードを備える認証システムが提供される。
【００８２】
本発明は、以下の図面を参照にして、例として以下に説明される。
【００８３】
図面を通して、同一の参照符号は、類似の要素、又は類似の機能を実行する要素を参照する。
【発明を実施するための最良の形態】
【００８４】
本発明は、"New  Shielding  Functions  to  Enhance  Privacy  and  Prevent  Misuse  of  Biometric  Templates"by  J.P.  Linnartz  and  P.  Tuyls,  AVBPA  2003に記載される方法を用いて、代表値がユーザの身体的識別子から導出されるシステムを参照にして以下に説明される。この方法によると、照合器は、エンロールメント段階において身体的識別子の測定結果から「ヘルパーデータ」を導出し、このヘルパーデータをアプリケーション段階においてユーザの端末へ送信する。このヘルパーデータは、端末が、身体的識別子の雑音がある測定結果から照合器のものと同一の鍵を決定するようにさせる。
【００８５】
しかし、当業者によって、本発明が鍵生成の他の方法を用いるシステムに適用され得ることを理解され得る。
【００８６】
本発明が対称的又は非対照的な鍵を生成するシステムに適用され得ることも理解される。
【００８７】
本発明がデータを暗号化する鍵を導出する方法に関して主に説明されているものの、本発明がデータを認証する鍵を導出する方法にも関することを理解され得る。
【００８８】
結果として、導出される鍵がここでは「暗号鍵」と呼ばれるものの、暗号鍵は認証鍵として用いるのにも適していることを理解される。
【００８９】
図１は、本発明による第１及び第２ノード間で送信されるデータを暗号化又は認証する鍵を導出する方法を示す。
【００９０】
ステップ１０１において、代表値は、ユーザの身体的識別子の測定結果から決定される。
【００９１】
身体的識別子が、例えば指紋又は虹彩などのバイオメトリクス識別子である場合、ステップは、例えば指紋又は虹彩を走査することによってバイオメトリクス識別子の測定結果を得るステップと、測定結果から代表値を抽出するために、一群のコードから選択される秘密抽出コードを用いるステップを有する。
【００９２】
秘密抽出コード（"Capacity  and  Examples  of  Template  Protecting  Biometric  Authentication  Systems"  by  P.  Tuyls  and  J.  Goseling,  BiOAW  2004に記載されるもの）は、代表値がバイオメトリクス識別子から導出されることを可能にし、また特に、同一の代表値が、同一のバイオメトリクス識別子のわずかに異なる測定結果から導出されるのを可能にする。様々に異なる秘密抽出コードが利用可能であり、各抽出ステップは、特定のバイオメトリクス識別子から異なる代表値を抽出する。
【００９３】
代替的に、身体的識別子が、身体的クローン不可能な機能である場合、ステップは、身体的クローン不可能な機能にチャレンジを与えるステップと、そのレスポンスを測定するステップとを有する。代表値は、測定されるレスポンスから（チャレンジに関する秘密抽出コード又は用いられたチャレンジを用いて）導出され、当該測定されたレスポンスは、当該身体的クローン不可能な機能及び特定のチャレンジ又は用いられたチャレンジに関して固有であり得る。
【００９４】
第１のノードが、身体的クローン不可能な機能からのレスポンス又はバイオメトリクス識別子の測定結果からの代表値であって、エンロールメント段階において第２ノードにおいて導出及び記憶されたものと同じ代表値を導出するために、第２ノードは、第１ノードにヘルパーデータを提供する。秘密抽出コードが用いられる場合、ヘルパーデータは、第１ノードに適切な秘密抽出コードを選択させる。
【００９５】
身体的識別子の測定結果から代表値を決定するステップは、エンロールメント段階において（第１ノードが通信する第２ノードであるか、導出された代表値及びヘルパーデータを第２ノードへ供給するように設計された別個のエンティティであり得る）照合器によって、又はアプリケーション段階において第１ノードによって、の両方により実行されることが理解される。
【００９６】
入手される（ガラスにおける指紋など）雑音のあるバイオメトリクス識別子、又は攻撃者による身体的クローン不可能な機能の一時的な獲得に関連付けられる問題を解決するために、本発明は、アプリケーション段階においてランダム数を生成し、また生成されたランダム数を代表値と組み合わせることによって、鍵導出プロトコルを強化する。
【００９７】
ステップ１０３において、ランダム数が生成される。好ましくは、第１ノードは、段ラム数を生成し、これを第２ノードへ供給する。代替的に、第２ノードは、ランダム数を生成し、これを第１ノードへ供給し得る。
【００９８】
身体的識別子が、スマートカードに含まれる身体的クローン不可能な機能である場合、当該スマートカードは、ランダム数を生成することが可能なチップを有し得る。代替的に、スマートカードに関する第１ノードにおける読み取り器が、ランダム数を生成し得る。
【００９９】
新しいランダム数は、第１ノードが、第２ノードとの新しい通信セッションを開始する度に（すなわち、アプリケーション段階が開始される度に）生成され得る、又は代替的には新しいランダム数は、より長い通信セッションにおいて更にセキュリティを増加させるために周期的に生成され得る。
【０１００】
上述のように、生成されるランダム数は、他のノードへ供給されなければならない。このことは、セキュアに行われなければならず、そうでなければ、攻撃者が、ランダム数を獲得し得、これにより通信セッションにおいて用いられる鍵を決定し得る。
【０１０１】
好ましくは、ランダム数は、公開鍵暗号プロトコルを用いて他のノードへ供給される。すなわち、ランダム数を生成するノードは、他のノードに関する公開鍵を具備され、この公開鍵は、他のノードへ送信するためにランダム数を暗号化するのに用いられる。他のノードは、暗号化されたランダム数を復号するのに用いられる対応する秘密鍵を具備される。
【０１０２】
公開鍵暗号プロトコルが好ましいが、他の多くのプロトコルが、他のノードへランダム数をセキュアに供給するのに用いられ得ることを理解され得る。
【０１０３】
１つのノードにおいてランダム数を生成し、これをセキュアに他のノードへ送信する代替態様の一つとして、第１及び第２ノードが、ランダムセッション鍵を決定するために、セッション鍵生成プロトコルを実行し得る。例えば、第１及び第２ノードが公開鍵gを共有する、Diffie-Hellmannセッション鍵生成プロトコルが用いられ得る。第１ノードは、xをランダムに選択し、gxを第２ノードへ送信する。第２ノードは、yをランダムに選択し、gyを第１ノードへ送信する。両方のノードは、共通のランダム数gxy=(gx)y=(gy)xを計算する。
【０１０４】
中間者攻撃（man  in  the  middle攻撃）を打ち負かすためには、セッション鍵生成プロトコルは認証される方法で実行されることが好ましい。例えば、公開鍵暗号プロトコルは、セッション鍵生成プロトコルにおけるノード間の送信を認証するのに用いられ得る。
【０１０５】
ステップ１０５において、暗号鍵は、ステップ１０１において決定された代表値を生成されたランダム数と組み合わせることによって導出される。
【０１０６】
ステップ１０５は、アプリケーション段階において決定された代表値で第１ノードによって、及びエンロールメント段階において第２ノード（又は別個の照合器）によって決定された代表値で第２ノードによって、の両方により実行される。
【０１０７】
第１ノードによって導出された代表値が第２ノードによって導出された代表値と一致する場合、第１及び第２ノードによって導出される暗号鍵は、同一になり、１つのノードの鍵を用いて暗号化され、他方のノードによって受信される通信が復号及び読み出しされるのを可能にする。
【０１０８】
図２は、バイオメトリクス識別子を用いるシステムにおける本発明による方法の好ましい実施例を示す。この好ましい実施例において、第１ノードにおけるセンサは、改竄耐性があり（すなわち、センサ内部のイベント又は読み取りを盗み見ることが不可能である）、センサが人工的に構築されたバイオメトリクスを検出することが可能であることを仮定される。
【０１０９】
第１ノード及び第２ノードにおけるセンサ間の通信ラインは、盗み見することが可能であり得る。したがって、この好ましい実施例において、第１ノードが第２ノードの公開鍵pkを有し、第２ノードが対応する秘密鍵skを有するような、公開鍵暗号プロトコルが用いられる。第１ノードは、（ビット形式の）ランダム数を生成するランダム数生成器を有する。
【０１１０】
当該方法は、ステップ２０１において開始し、ユーザ名などのユーザアイデンティティがユーザによって第１ノードへ入力される。
【０１１１】
ステップ２０３において、ユーザは、自身のバイオメトリクス識別子を第１ノードのセンサへ供給し、センサは、このバイオメトリクス識別子を測定する。
【０１１２】
ステップ２０５において、ユーザアイデンティティは、好ましくは公開鍵暗号プロトコルを用いて、第１ノードから第２ノードへ伝送される。
【０１１３】
ステップ２０７において、第２ノードにおけるデータベースにアクセスされ、受信されたユーザアイデンティティと関連付けられるヘルパーデータ及び代表値が取得される。
【０１１４】
ステップ２０９において、取得されたヘルパーデータは、第１ノードへ伝送される。
【０１１５】
ステップ２１１において、第１ノードは、受信されたヘルパーデータを用いて、バイオメトリクス識別子の測定結果から代表値を抽出する。
【０１１６】
ステップ２１３において、第１ノードは、ランダムビット文字列を生成する。
【０１１７】
ステップ２１５において、第１ノードは、ランダムビット文字列を第２ノードへ公開鍵暗号プロトコルを用いて伝送する。
【０１１８】
ステップ２１７において、第１ノードは、ランダムビット文字列及び決定された代表値を組み合わせて、暗号鍵を導出する。
【０１１９】
ステップ２１９において、第２ノードは、ステップ２１５で第１ノードから受信されたランダムビット文字列と、ステップ２０７で取得された代表値を組み合わせて、別の暗号鍵を導出する。
【０１２０】
ステップ２１１においてバイオメトリクス識別子の測定結果から第１ノードにおいて決定された代表値が、第２ノードのデータベースに記憶される代表値と同一である場合、両方のノードは、他方のノードの暗号鍵を用いて暗号化されたデータを復号および読み取することが可能になる。
【０１２１】
代表値が異なる場合、各ノードによって導出される暗号又は認証鍵は異なり、これにより、いずれのノードも、他方のノードの暗号鍵を用いて暗号化されたデータを復号及び読み取りをすることが可能になるのを防いでいる。
【０１２２】
ランダムビット文字列を第２ノードへ供給するのに用いられる暗号システムが、攻撃者に、ランダムビット文字列についてのいかなる情報も発見させない場合（すなわち、暗号化されたランダムビット文字列が、ランダムビット文字列自体に関するいかなる情報も漏らさない場合）、（エンロールメント段階において作成されたバイオメトリクス識別子の測定結果と極めて類似し得る）バイオメトリクス識別子の雑音のある測定結果を得る攻撃者は、アプリケーション段階において用いられる暗号鍵に関するいかなる情報も有していない。
【０１２３】
バイオメトリクス識別子の雑音を含むものを有する攻撃者はランダムビット文字列を知らず（すなわち、攻撃者は、センサ内部で生じることを盗み見ることが出来ず）、また攻撃者は、この情報を、ステップ２１５において第１ノードから第２ノードへ伝送された暗号化されたビット文字列から導出し得ないので、ランダムビット文字列を推測することしか出来ない。
【０１２４】
攻撃者は、バイオメトリクス識別子の雑音を含むもの、及び第２ノードから第１ノードへ送信されるヘルパーデータを有し得る。たとえ、バイオメトリクス識別子の雑音を含むものが、記憶された代表値を導出するのに用いるバイオメトリクス識別子に十分近いこと、またこれにより、同一の代表値がバイオメトリクス識別子及びヘルパーデータの雑音を含むものから決定され得ると仮定した場合でも、（代表値がランダムであると仮定して）暗号鍵を正しく推測する可能性は、
2008526078.tif 000003
によって拘束され、この値は、|S|>>|I|である場合小さくなり、ここで、Sは、代表値であり、Iは、ランダムビット文字列である。
【０１２５】
図３は、スマートカードにおいて光学的身体的クローン不可能な機能を用いるシステムにおける、本発明による方法の好ましい実施例を示す。この好ましい実施例において、身体的クローン不可能な機能へのチャレンジからレスポンスを記録する読み取り器（第１ノード）におけるカメラが、盗み見られ得ることを仮定される。
【０１２６】
読み取り器及び第２ノード間の通信ラインも、盗み見られ得る。したがって、この好ましい実施例においては、公開鍵暗号プロトコルである暗号プロトコルが用いられる。したがって、スマートカードにおけるチップは、第２ノードの公開鍵pkを有し、第２ノードは、対応する秘密鍵skを有する。チップは、（ビット形式で）ランダム数を生成するランダム数生成器も有する。
【０１２７】
当該方法は、ステップ３０１で開始し、スマートカードは、読み取り器に挿入される。ステップ３０３において、スマートカードに記憶されるユーザ名などのユーザアイデンティティは、第２ノードへ伝送される。
【０１２８】
ステップ３０５において、第２ノードにおけるデータベースは、受信されたユーザアイデンティティを用いてアクセスされ、両方とも特定のチャレンジ及びユーザに関連付けられる代表値及びヘルパーデータが取得される。
【０１２９】
ステップ３０７において、ヘルパーデータ及びヘルパーデータに関連付けられたチャレンジは、読み取り器及びスマートカードに送信される。
【０１３０】
ステップ３０９及び３１１において、読み取り器は、受信されたチャレンジに従い身体的クローン不可能な機能にチャレンジを与え、レスポンスを測定する。このレスポンスは、スマートカードにおけるチップへ渡される。
【０１３１】
ステップ３１３において、代表値は、測定されたレスポンスおよびヘルパーデータを用いて、スマートカードにおけるチップによって計算される。
【０１３２】
ステップ３１５において、チップは、ランダム数文字列を生成するために、ランダム数生成器を用いる。
【０１３３】
ステップ３１７において、スマートカードは、読み取り器を介して、ランダムビット文字列を、公開鍵暗号プロトコルを用いて第２ノードへ伝送する。
【０１３４】
ステップ３１９において、スマートカードにおけるチップは、暗号鍵を導出するために、ランダム数文字列及び決定された代表値を組み合わせる。
【０１３５】
ステップ３２１において、第２ノードは、別の暗号鍵を導出するために、ランダム数文字列及び取得された代表値を組み合わせる。
【０１３６】
正しいスマートカードが存在することを照合するために、第２ノードは、ランダムメッセージを読み取り器を介してスマートカードへ送信する。スマートカードは、導出された暗号鍵を用いてランダムメッセージを暗号化し、これを第２ノードへ送信して戻す。第２ノードは、暗号化されたメッセージを、導出された暗号化鍵を用いて復号し、復号されたメッセージが読み取り器及びスマートカードへ送信されたランダムメッセージと同じであるかを確認する。これらが同一である場合、スマートカードは認証され、トランザクションは継続さ得るが、一致しない場合、トランザクションは停止される。
【０１３７】
読み取り器を又は読み取り器及びスマートカード間のチャネルを盗み見をし、チャレンジ、ヘルパーデータ及びレスポンスを捕捉する攻撃者は、代表値を計算し得るが、暗号鍵は計算し得ないことを特記される。
【０１３８】
本発明による修正された方法において、ランダムビット文字列は、当該方法の開始においてチップによって生成され得る。
【０１３９】
身体的クローン不可能な機能が定義としてクローン不可能であるので、攻撃者が、元の身体的クローン不可能な機能と同一のチャレンジレスポンスの対を提供する身体的クローン不可能な機能を有する偽造カードを作成することは不可能であることを特記されるべきである。
【０１４０】
図４は、図２に示される方法を実行するシステムを示す。システム４０１は、第１ノード４０３及び第２ノード４０５を有する。
【０１４１】
第１ノード４０１は、例えばカメラ又は指紋読み取り器などのセンサ４０７の形式の身体的識別子の測定結果を得る手段と、ランダム数生成器４０９と、メモリ４１１と、通信モジュール４１３と、を備え、それぞれ処理器４１５に接続される。
【０１４２】
第２ノード４０５は、メモリ４１７と、通信モジュール４１９の形式の、第１ノード４０３からランダム数及びユーザアイデンティティを受信する手段と、を備え、それぞれ処理器４２１に接続される。
【０１４３】
センサ４０７は、ユーザのバイオメトリクス識別子Ｙの測定結果を得て、測定結果を処理器４１５へ渡す。処理器４１５は、測定結果と、第２ノード４０５から通信モジュール４０３を介して受信されたヘルパーデータとを用い、代表値を決定する。
【０１４４】
ランダム数生成器４０９は、ランダム数を生成し、処理器４１５は、ランダム数と代表値とを組合せ、暗号鍵を提供する。
【０１４５】
また処理器４１５は、ランダム数を、通信モジュール４１３を用いて、第２ノード４０５へ伝送するようにも構成され得る。
【０１４６】
好ましい実施例において、メモリ４１１は、記憶された複数の秘密抽出コードを有し、処理器４１５は、第２ノード４０５から受信されたヘルパーデータによって示される秘密抽出コードを使用し、代表値を決定する。
【０１４７】
別の好ましい実施例において、メモリ４１１は、記憶された第２ノード４０５に関する公開鍵を有し、この公開鍵は、ランダム数を、第２ノード４０５へ伝送する前に暗号化するために用いられる。
【０１４８】
第２ノード４０５において、処理器４２１は、特定のユーザに関連付けられたメモリ４１７に記憶される代表値を取得するとともに、取得された値を、暗号鍵を提供するために、第１ノード４０３から通信モジュール４１９を介して受信されるランダム数と組み合わせられるように構成される。
【０１４９】
好ましい実施例において、メモリ４１７は、公開鍵暗号プロトコルにおいて用いられる第２ノード４０５に関する秘密鍵も有する。
【０１５０】
図５は、図３の方法を実施するシステムを示す。システム５０１は、第１ノード５０３及び第２ノード５０５を有する。第１ノード５０３は、読み取り器５０９へ挿入されるスマートカード５０７を有する。スマートカード５０７は、光学的身体的クローン不可能な機能５１１と、処理器チップ５１３と、を有する。読み取り器５０９は、処理器５１９に接続されるセンサ５１５及び通信モジュール５１７を有する。
【０１５１】
第２ノード５０５は、処理器５２５に接続されるメモリ５２１及び通信モジュール５２３を有する。
【０１５２】
センサ５１５は、第２ノード５０５により設定されたチャレンジに対する光学的身体的クローン不可能な機能５１１からのレスポンスを得る。センサ５１５は、測定されたレスポンスを、通信モジュール５１７を介して処理器チップ５１３へ渡す。処理器チップ５１３は、代表値を決定するために、通信モジュール５１７を介して第２ノード５０５から受信されたヘルパーデータと測定されたレスポンスとを用いる。
【０１５３】
処理器チップ５１３は、暗号鍵を提供するために、処理器５１３によって代表値と組み合わせられるランダム数を生成するランダム数生成器５２７も有する。
【０１５４】
また処理器５１３は、ランダム数を、通信モジュール５１７を用いて、第２ノード５０５へ伝送するようにも構成され得る。
【０１５５】
好ましい実施例において、処理器チップ５１３は、記憶される第２ノード５０５に関する公開鍵を有し、この公開鍵は、ランダム数を、第２ノード５０５へ伝送する前に暗号化するために用いられる。
【０１５６】
第２ノード５０５において、処理器５２５は、特定のユーザに関連付けられたメモリ５２１に記憶される代表値を取得するとともに、取得された値を、暗号鍵を提供するために、読み取り器５０９から通信モジュール５２３を介して受信されるランダム数と組み合わせられるように構成される。
【０１５７】
好ましい実施例において、メモリ５２１は、公開鍵暗号プロトコルにおいて用いられる第２ノード５０５に関する秘密鍵も有する。
【０１５８】
図６は、照合ノードによって関連付けられるアイデンティティを用いたノードの認証のための好ましい方法を示す。認証の方法は、ノード及び照合ノードの両方が同一の暗号鍵を生成し得るという事実に基づく。照合ノードは、関連付けられたアイデンティティを有するノードが生成し得る特定の暗号鍵を生成させるために、ノードにチャレンジを与え得る。照合ノードは、前記ノードによって生成された暗号鍵が正しいかを照合し得る。照合ノードは、暗号鍵を類似の対象で計算し得る、又は前記ノードから受信された暗号鍵を、取得された代表値と照合ノードにおいて入手可能なランダム数とを用いて分析し得る。
【０１５９】
ノードが照合ノードに近づけられる場合、照合ノードは、ステップ６０１において、無線通信チャネルを用いて、前記ノードのアイデンティティを得る。
【０１６０】
受信されたアイデンティティは、ステップ６０２において、前記アイデンティティを用いてノードに関連付けられたヘルパーデータ、代表値、及びチャレンジを取得するために、照合ノードによって用いられる。ヘルパーデータは、チャレンジデータと一緒に記憶され得るが、ヘルパーデータは、ノードにローカルにも記憶され得る。ヘルパーデータがノードに記憶される場合、このことは、ノードに記憶領域を必要とするが、照合ノードによって前記ヘルパーデータを取得する必要はない。
【０１６１】
照合ノードは、ステップ６０３において、ランダム数を更に生成する。
【０１６２】
照合ノードは、この場合、ステップ６０４において、チャレンジ、ヘルパーデータ、及び前記ランダム数を、ノードへ伝送する。
【０１６３】
チャレンジは、ステップ３０９において身体的クローン不可能な機能へ供給され、このチャレンジに対するレスポンスが、ステップ３１１において測定される。その後、代表値は、ステップ３１３において、ヘルパーデータ及びレスポンスを用いて生成される。
【０１６４】
ここで今、代表値がノードにおいて確立されているので、この代表値は、ランダム数と組み合わせられて暗号鍵にされ、ステップ６０５において照合ノードへ送信される。
【０１６５】
照合ノードは、ステップ６０６において、前記暗号鍵を受信し、ステップ６０７において、ノードによって生成された暗号鍵が予想された暗号鍵に対応するかを照合する。この照合を用いて、照合ノードは、ステップ６０８において、ノードが本物であるかを立証する。任意選択的に、照合ノードは、ステップ６０９において、認証に基づき当事者を認証し得る。
【０１６６】
本発明による１つの方法において、ノードは、暗号鍵を生成するために、測定された代表値を用いてランダム数を暗号化する。そして、照合ノードは、ランダム数を、取得された代表値を用いて暗号化し、両方の暗号化結果を比較し、この比較に基づき、照合ノードはノードを認証し得る。
【０１６７】
本発明による第２の方法において、ノードは、測定された代表値を用いてランダム数を暗号化するが、代わりに照合ノードは、ノードにおいて暗号化された暗号鍵を得るために、取得された代表値を用いてノードによって生成される受信された暗号鍵を復号する。復号結果は、その後、照合ノードにおいて、ランダム数と比較され、この比較に基づき、照合ノードは、ノードを認証し得る。
【０１６８】
より更なる方法において、ノードは、少なくとも測定された代表値及びランダム数に暗号法的ハッシュを適用することによって、暗号鍵を生成する。生じる暗号鍵は、照合ノードへ送信される。そして、照合ノードは、ランダム数及び取得された代表値を用いて、類似のハッシュを形成する。その後、両方のハッシュは比較され、この比較に基づき、照合ノードは、ノードを認証し得る。
【０１６９】
図７は、ノードの認証に関するシステムを示す。当該システムは、信頼できるプラットフォームモジュールすなわちＴＰＭとして機能する照合ノード７２０を有する。システムは、データ担体７０３で配布される計算機プログラムの認証を証明するのに用いられる。前記計算機プログラムの認証を証明するノード７１０は、データ担体に関連付けられ、このノードは、計算機プログラムのマニュアルにあるか、又はデータ担体が出荷されるときのジュエルケースに埋め込まれるタグであり得る。
【０１７０】
システムは、ノード７１０、照合ノード７２０、及びデータ担体７３０を有する。この特定の認証システムは、ノード７１０及び照合ノード７２０の両方が同一の暗号鍵を生成し得るという事実に基づく。照合ノードは、実際のノード７１０のみが前記身体的クローン不可能な機能を用いて生成し得る暗号鍵を生成するために、ノード７１０に対してチャレンジを与え得る。そして、照合ノードは、ノード７１０によって生成された暗号鍵が正しいかを照合し得る。
【０１７１】
ノード７１０は、身体的クローン不可能な機能７１１、並びに処理器７１４に接続されたセンサ７１３及び通信モジュール７１２を有する。照合ノード７２０は、処理器７２２に全て接続された、データ担体読み取り器７２３、通信モジュール７２１、ランダム数生成器を有する。
【０１７２】
通信モジュール７１２及び７２１は、無線チャネルを介して通信するように構成される。斯様な無線通信チャネルは、ＲＦ、又はＩＲ受信器及び送信器に基づき得る。有線通信チャネルを用いた代替的な実施例も着想され得る。
【０１７３】
上記されるように、照合ノード７２０は、ノード７１０を認証するのに用いられ得るＴＰＭである。これを実現するためには、データ担体７３０は、身体的クローン不可能な機能７１１の代表値を有する。この代表値は、前記ノード７１０のエンロールメントにおいて確立されてあり得る。代表値は、前記データ担体に暗号化されて記憶される。照合ノード７２０は、データ担体読み取り器７２３を用いて、データ担体から、暗号化された代表値を取得し得る。暗号化された代表値は、その後、例えば、照合ノード７２０（ＴＰＭ）の装置鍵を用いて復号され得、そして取得された代表値を生じさせ得る。加えて、データ担体は、前記身体的にクローン不可能な機能に関連するヘルパーデータ及びチャレンジも有し得る。
【０１７４】
ノード７１０が照合ノード７２０に近づけられる場合、照合ノード７１０は、ノード７１０にアイデンティティを要求する。そして、ノード７１０は、照合ノードに前記アイデンティティを提供する。このアイデンティティに基づき、照合ノードは、その後、データ担体７３０から、代表値、チャレンジ、及びヘルパーデータを取得し得る。
【０１７５】
チャレンジが得られると、ノード７１０は、照合ノード７２０によってチャレンジを提供される。加えて、照合ノードは、ノード７１０にランダム数を提供する。そして、ノード７１０の処理器７１４は、前記ランダム数を復号するために公開鍵を用い得る。
【０１７６】
その後、身体的クローン不可能な機能７１１はチャレンジを与えられ、そのレスポンスがセンサ７１３によって測定される。センサ７１３は、測定されたレスポンスを処理器７１４へ渡す。処理器７１４は、測定されたレスポンスと、通信モジュール７１２を介して照合ノード７２０から受信されたヘルパーデータとを用い、代表値を決定する。
【０１７７】
処理器７１４は、測定された身体的識別子に基づく代表値を、照合ノード７２０から受信されるランダム数と組み合わせることによって、暗号鍵を更に生成する。前記暗号鍵は、照合ノード７２０と通信され得る。
【０１７８】
暗号鍵が認証に加えてデータ暗号化に関して用いられる場合、暗号鍵は、セキュアな態様で伝送されるべきである。暗号鍵がノード７１０を認証するためにのみ用いられ、毎回装置が新しいランダム数を用いて認証される場合、暗号鍵を照合ノード７２０へ伝送するために、何の更なる暗号化も必要とされない。ノードが認証される度に新しいチャレンジを選択して（新しい代表値を生じさせ）、セキュリティは更に向上され得る。
【０１７９】
照合ノード７２０は、そして、ノード７１０が実際に要求された暗号鍵を生成したかを照合するために、取得された代表値及びランダム数を用いる。
【０１８０】
図７のシステムは、身体的クローン不可能な機能を用いるが、類似の対処法がバイオメトリクス法に基づくシステムで用いられ得る。斯様な実施例は、計算機プログラムを、ユーザのバイオメトリクスから導出される測定された代表値にリンクさせ、これにより、前記ユーザが前記計算機プログラムをインストール又は使用することを可能にする。更に、本発明は、前記計算機プログラムの認証に関する代表値を有する担体による計算機プログラムの配布を可能にする。任意選択的に、計算機プログラムは、前記バイオメトリクスから導出される（更なる）鍵を用いて暗号化され得る。
【０１８１】
図７における表現は、ディスクの形式でデータ担体７３０を描写しているが、本発明は、斯様なデータ担体を用いて配布される計算機プログラムに制限されない。また代表値は、フラッシュメモリなどの他の媒体で配布され得るか、又は例えばインターネット若しくはファイルサーバなどからダウンロード可能な計算機プログラムにも埋め込まれ得る。
【０１８２】
「有する」という動詞及びその活用形の使用は、請求項に記載される以外の異なる他の要素又はステップの存在を排除しないことは明らかである。単数形の構成要素は、複数個の斯様な構成要素の存在を排除しない。請求項における如何なる参照符号も請求項を制限するように解釈されてはならない。
【図面の簡単な説明】
【０１８３】
【図１】図１は、本発明による方法におけるステップを例示するフローチャートである。
【図２】図２は、バイオメトリクス識別子を用いるシステムにおける、本発明による好ましい方法を示すフローチャートである。
【図３】図３は、身体的クローン不可能な機能を用いるシステムにおける、本発明による好ましい方法を示すフローチャートである。
【図４】図４は、図２の方法を実行するシステムの概略図である。
【図５】図５は、図３の方法を実行するシステムの概略図である。
【図６】図６は、照合コードによって、ノードを認証する本発明による好ましい方法を示すフローチャートである。
【図７】図７は、本発明による照合ノードによるノードを認証するためのシステムの概略図である。
【図１】
2008526078.tif 000004
【図２】
2008526078.tif 000005
【図３】
2008526078.tif 000006
【図４】
2008526078.tif 000007
【図５】
2008526078.tif 000008
【図６】
2008526078.tif 000009
【図７】
2008526078.tif 000010
【国際調査報告】
2008526078.tif 000011
2008526078.tif 000012
2008526078.tif 000013