(57)【要約】【課題】デバイスを認証するためのキー生成方法及び装置と、デバイス認証方法及び装置を提供する。【解決手段】デバイスのＩＤのサイズに対応する個数だけの任意の数を生成して、エレメントベクトルを生成するステップと、デバイスのＩＤで“１”が配列された位置ごとに、その位置に対応する部分ベクトルを生成し、部分ベクトルをデバイスＩＤで“１”が配列された位置のサイズだけエレメントベクトルをシフトして生成するステップと、デバイスに対して生成された部分ベクトルを合成するステップと、を含むデバイスを認証するためのキー生成方法である。これにより、移動通信端末器のように性能が制限された機器で、公開キー暗号演算を使用せずに認証を行えるキー生成方法を提供できる。【選択図】図２
2006054879.tif 000002
【特許請求の範囲】
【請求項１】
デバイスを認証するためのキー生成方法において、
前記デバイスのＩＤのビットにそれぞれ対応する複数の乱数を含むエレメントベクトルを生成するステップと、
前記ＩＤで“１”の値のビット位置に対応するビット位置の数だけ前記エレメントベクトルをシフトして、前記ＩＤの各ビットに対する部分ベクトルを生成するステップと、
前記キーを生成するために、前記部分ベクトルを合成するステップと、を含むことを特徴とするキー生成方法。
【請求項２】
前記合成ステップは、
前記部分ベクトルを合算するステップ、またはモジュラ演算を行うステップのうちの少なくとも一つを含むことを特徴とする請求項１に記載のキー生成方法。
【請求項３】
デバイスを認証するためのキー生成装置において、
前記デバイスのＩＤのサイズに対応する個数だけのエレメントを有するエレメントベクトルを生成するエレメントベクトル生成部と、
前記ＩＤで“１”の値のビット位置に対応するビット位置の数だけ前記エレメントベクトルをシフトして、前記ＩＤの各ビットに対する部分ベクトルを生成する部分ベクトル生成部と、
前記キーを生成するために、前記部分ベクトルを合成する部分ベクトル合成部と、を備えることを特徴とするキー生成装置。
【請求項４】
前記部分ベクトル合成部は、
少なくとも前記部分ベクトルを合算するか、またはモジュラ演算を行うことによって、前記部分ベクトルを合成することを特徴とする請求項３に記載のキー生成装置。
【請求項５】
前記エレメントは、乱数であることを特徴とする請求項３に記載のキー生成装置。
【請求項６】
デバイスを認証する方法において、
第１デバイスの固有のＩＤと固有のキーとを利用して第２デバイスを認証するステップを含み、前記第１デバイスの固有のキーは、
前記固有のＩＤの各ビットに対する乱数を含むエレメントベクトルを生成するステップと、
前記ＩＤで“１”の値のビット位置に対応するビット位置の数だけ前記エレメントベクトルをシフトして、前記ＩＤの各ビットに対する部分ベクトルを生成するステップと、
前記キーを生成するために、前記部分ベクトルを合成するステップとにより生成されることを特徴とするデバイス認証方法。
【請求項７】
デバイスを認証する装置において、
第１デバイスの固有のＩＤと固有のキーとを利用して第２デバイスを認証する認証部と、
前記デバイスのＩＤのサイズに対応する個数だけのエレメントを有するエレメントベクトルを生成するエレメントベクトル生成部と、
前記ＩＤで“１”の値のビット位置に対応するビット位置の数だけ前記エレメントベクトルをシフトして、前記ＩＤの各ビットに対する部分ベクトルを生成する部分ベクトル生成部と、
前記キーを生成するために、前記部分ベクトルを合成する部分ベクトル合成部と、を備えることを特徴とするデバイス認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証プロトコルに係り、特に、デバイスを認証するためのキー生成方法及び装置と、デバイス認証方法及び装置に関する。
【背景技術】
【０００２】
最近、数十年間、分散システムの導入、ターミナルユーザーとコンピュータとの間、コンピュータとコンピュータとの間のデータ伝達のためのネットワーク及び通信の使用により、情報保安の必要性は多くの変化を経た。ネットワーク保安は、伝送中のデータを保護し、データ伝送が信頼できるということを保証するために必要である。
【０００３】
認証は、ある人の認識者を他の人に立証するプロセスである。認証プロトコルは、二人の通信関係者がある他のプロトコルを行う前に互いに認識するために行われるプロトコルである。
【０００４】
現在使われている多くの認証プロトコルは、一般的に公開キー暗号システムを基盤にしている。しかし、公開キー暗号演算は、基本的に他の演算に比べて負荷が大きいため、制限された性能を有した機器で使用するのには無理がある。したがって、例えば、移動通信端末器のように性能が制限された機器で公開キー暗号演算を使用せずに認証を行える方案が要求される。
【特許文献１】国際公開第０３／０３６８６７号パンフレット
【特許文献２】国際公開第００／００８６１０号パンフレット
【特許文献３】米国特許出願公開第２００４／００３２３９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、前記の問題点を解決して、制限された性能を有した機器で公開キー演算を使用せずに認証を行える、デバイスを認証するためのキー生成方法及び装置と、デバイス認証方法及び装置を提供するところにある。
【課題を解決するための手段】
【０００６】
前記の課題を解決するための本発明の一つの特徴は、デバイスを認証するためのキー生成方法において、前記デバイスのＩＤのビットにそれぞれ対応する複数の乱数を含むエレメントベクトルを生成するステップと、前記ＩＤで“１”の値のビット位置に対応するビット位置の数だけ前記エレメントベクトルをシフトして、前記ＩＤの各ビットに対する部分ベクトルを生成するステップと、前記キーを生成するために、前記部分ベクトルを合成するステップと、を含むことである。
【０００７】
前記合成ステップは、前記部分ベクトルを合算するステップ、またはモジュラ演算を行うステップのうちの少なくとも一つを含むことが望ましい。
【０００８】
本発明の他の特徴は、デバイスを認証するためのキー生成装置において、前記デバイスのＩＤのサイズに対応する個数だけのエレメントを有するエレメントベクトルを生成するエレメントベクトル生成部と、前記ＩＤで“１”の値のビット位置に対応するビット位置の数だけ前記エレメントベクトルをシフトして、前記ＩＤの各ビットに対する部分ベクトルを生成する部分ベクトル生成部と、前記キーを生成するために、前記部分ベクトルを合成する部分ベクトル合成部と、を備えることである。
【０００９】
前記部分ベクトル合成部は、少なくとも前記部分ベクトルを合算するか、またはモジュラ演算を行うことによって、前記部分ベクトルを合成することが望ましい。
【００１０】
また、前記エレメントは、乱数であることが望ましい。
【００１１】
本発明のさらに他の特徴は、デバイスを認証する方法において、第１デバイスの固有のＩＤと固有のキーとを利用して第２デバイスを認証するステップを含み、前記第１デバイスの固有のキーは、前記固有のＩＤの各ビットに対する乱数を含むエレメントベクトルを生成するステップと、前記ＩＤで“１”の値のビット位置に対応するビット位置の数だけ前記エレメントベクトルをシフトして、前記ＩＤの各ビットに対する部分ベクトルを生成するステップと、前記キーを生成するために、前記部分ベクトルを合成するステップとにより生成される。
【００１２】
本発明のさらに他の特徴は、デバイスを認証する装置において、第１デバイスの固有のＩＤと固有のキーとを利用して第２デバイスを認証する認証部と、前記デバイスのＩＤのサイズに対応する個数だけのエレメントを有するエレメントベクトルを生成するエレメントベクトル生成部と、前記ＩＤで“１”の値のビット位置に対応するビット位置の数だけ前記エレメントベクトルをシフトして、前記ＩＤの各ビットに対する部分ベクトルを生成する部分ベクトル生成部と、前記キーを生成するために、前記部分ベクトルを合成する部分ベクトル合成部と、を備えることである。
【発明の効果】
【００１３】
本発明によれば、移動通信端末器のように性能が制限された機器で、公開キー暗号演算を使用せずに認証を行えるキー生成方法を提供できる。
【発明を実施するための最良の形態】
【００１４】
以下、添付された図面を参照して、本発明を詳細に説明する。
【００１５】
図１は、本発明による認証システムの概略的な構成図である。
【００１６】
図１に示すように、デバイスＡ １１０は、ＩＤ＿Ａ １１１、Ｋｅｙ＿Ａ １１２及び廃棄デバイスリスト１１３を備え、デバイスＢ １２０は、ＩＤ＿Ｂ １２１、Ｋｅｙ＿Ｂ １２２及び廃棄デバイスリスト１２３を備える。
【００１７】
ＩＤ＿Ａ １１１及びＫｅｙ＿Ａ １１２は、デバイスＡ １１０の固有なＩＤ及びキーを表し、ＩＤ＿Ｂ １２１及びＫｅｙ＿Ｂ １２２は、デバイスＢ １２０の固有なＩＤ及びキーを表す。
【００１８】
廃棄デバイスリストは、キーがハッキングされて、それ以上有効でないキーを有するデバイスのリストである。すなわち、これは、廃棄された機器のリストであって、機器が作られるときに挿入されるか、または他の機器やメディアとの通信を通じて挿入されることもある。実際にそれをどのように管理するかについては、本発明の範囲を逸脱するので、それ以上の細部的な説明は省略し、ただし、本発明は、このような廃棄デバイスリストをどのように利用するかについてのみ後述する。
【００１９】
キーは、一定個数のサブキーがベクトル形態で構成されてなるが、このベクトルのサイズは、機器ＩＤのビット単位サイズと同一である。すなわち、もし、機器ＩＤが３２ビットとなれば、ベクトルのサイズも３２となる。また、各機器のキー値は、任意の二つの機器Ａ及び機器Ｂに対して（機器ＩＤをビットストリングでないビットベクトルと見なせれば）、Ｋｅｙ＿Ａ及びＩＤ＿Ｂを内積した値と、Ｋｅｙ＿Ｂ及びＩＤ＿Ａを内積した値とが同一になるように設定される。
【００２０】
例えば、機器ＩＤが５ビットとなり、ＩＤ＿Ａが１０１１０、ＩＤ＿Ｂが０１０１１とすれば、
Ｋｅｙ＿Ａ＝（１００，２００，３００，４００，５００）
Ｋｅｙ＿Ｂ＝（２００，３００，４００，５００，１００）であり、したがって、
ＩＰ（Ｋｅｙ＿Ａ，ＩＤ＿Ｂ）＝１００＊０＋２００＊１＋３００＊０＋４００＊１＋５００＊１＝１１００
ＩＰ（Ｋｅｙ＿Ｂ，ＩＤ＿Ａ）＝２００＊１＋３００＊０＋４００＊１＋５００＊１＋１００＊０＝１１００
となることができる。
【００２１】
以下、前記のような性質を満足させるように、キーを生成する方法を説明する。
【００２２】
図２は、本発明によるキー生成装置の概略的なブロック図である。
【００２３】
図２に示すように、キー生成装置２００は、機器ＩＤ受信部２１０、乱数発生器２２０、エレメントベクトル生成部２３０、部分ベクトル生成部２４０、及び部分ベクトル合成部２５０を備える。
【００２４】
機器ＩＤ受信部２１０は、外部からキーが生成される機器のｎビットサイズのＩＤを受信して、部分ベクトル生成部２４０に出力する。機器ＩＤは、キー生成装置２００の内部で生成されることもある。
【００２５】
乱数発生器２２０は、機器ＩＤのサイズに対応するｎ個の乱数を発生させて、エレメントベクトル生成部２３０に出力する。
【００２６】
エレメントベクトル生成部２３０は、乱数発生器２２０からｎ個の乱数を受信して、それをエレメントベクトルに作り、作られたエレメントベクトルを部分ベクトル生成部２４０に出力する。例えば、乱数発生器２２０からｎ個の乱数ｅ＿１，ｅ＿２，ｅ＿３，…，ｅ＿ｎ−２，ｅ＿ｎ−１，ｅ＿ｎを受信すれば、エレメントベクトル生成部２３０は、このような乱数をエレメントとして有するエレメントベクトル｛ｅ＿１，ｅ＿２，ｅ＿３，…，ｅ＿ｎ−２，ｅ＿ｎ−１，ｅ＿ｎ｝を生成する。
【００２７】
部分ベクトル生成部２４０は、エレメントベクトル生成部２３０から受信されたエレメントベクトルと、機器ＩＤ受信部２１０から受信された機器ＩＤとを利用して部分ベクトルを生成する。すなわち、部分ベクトル生成部２４０は、機器ＩＤで１が配列されたビット位置ごとにそのビット位置に対応する部分ベクトルを生成する。例えば、機器ＩＤにｍ個の１が配列されていれば、部分ベクトルもｍ個生成される。部分ベクトルは、機器ＩＤで１が配列された位置だけ前記エレメントベクトルをシフトすることによって生成される。例えば、図３に示すように、機器ＩＤの０番目位置に１が配列されていれば、エレメントベクトルを０だけシフトする。したがって、結局、部分ベクトルは、シフトされていない本来のエレメントベクトル｛ｅ＿１，ｅ＿２，ｅ＿３，…，ｅ＿ｎ−２，ｅ＿ｎ−１，ｅ＿ｎ｝となる。また、機器ＩＤの１番目位置に１が配列されていれば、エレメントベクトルを１だけ左側にシフトして、部分ベクトルは、｛ｅ＿２，ｅ＿３，…，ｅ＿ｎ−２，ｅ＿ｎ−１，ｅ＿ｎ，ｅ＿１｝となる。
【００２８】
部分ベクトル合成部２５０は、部分ベクトル生成部２４０から生成された部分ベクトルを受信して、いずれも合算する。そして、このように合算された合成ベクトルをキーに出力する。ここで、合算演算（＋）は、一般的な合算であることもあるが、モジュラ演算のように使われることもある。例えば、各元素のサイズが６４ビットであるが、二つの数の和が６４ビットの制限を超える場合、ｍｏｄ ２＾６４が適用されてＬＳＢ（Ｌｅａｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ）６４ビットのみが使われうる。
【００２９】
例えば、図３に示すように、機器ＩＤに１が一つのみ配列されている場合には、部分ベクトルが一つのみ生成され、部分ベクトル合成部２５０の結果も、そのまま一つ生成された部分ベクトルとなる。このように部分ベクトル合成部２５０により行われる演算を整理すれば、次の通りである。
【００３０】
【数１】
2006054879.tif 000003
【００３１】
図４を参照して、本発明によるキー生成方法の一例を説明する。
【００３２】
例えば、機器ＩＤが“１０１０００００”としよう。機器ＩＤの０番目及び２番目位置に、１が配列されている。
【００３３】
そして、エレメントベクトル生成部は、エレメントベクトル｛ｅ＿１，ｅ＿２，ｅ＿３，ｅ＿４，ｅ＿５，ｅ＿６，ｅ＿７，ｅ＿８｝を生成する。
【００３４】
これから生成される部分ベクトルＶ１＝｛ｅ＿１，ｅ＿２，ｅ＿３，ｅ＿４，ｅ＿５，ｅ＿６，ｅ＿７，ｅ＿８｝、部分ベクトルＶ２＝｛ｅ＿３，ｅ＿４，ｅ＿５，ｅ＿６，ｅ＿７，ｅ＿８，ｅ＿１，ｅ＿２｝である。
【００３５】
そして、最後に、この二つの部分ベクトルＶ１とＶ２とを合算すれば、合成ベクトルは、｛ｅ＿１＋ｅ＿３，ｅ＿２＋ｅ＿４，ｅ＿３＋ｅ＿５，ｅ＿４＋ｅ＿６，ｅ＿５＋ｅ＿７，ｅ＿６＋ｅ＿８，ｅ＿７＋ｅ＿１，ｅ＿８＋ｅ＿２｝となる。このように作られた合成ベクトルをキーに出力する。
【００３６】
図５は、本発明によるキー生成方法の過程を示すフローチャートである。
【００３７】
まず、ｎビットの機器ＩＤを入力される（５１０）。
【００３８】
次いで、ｎ個の乱数を生成して、ｎ個のエレメントからなるエレメントベクトル｛ｅ＿１，ｅ＿２，ｅ＿３，…，ｅ＿ｎ−２，ｅ＿ｎ−１，ｅ＿ｎ｝を生成する（５２０）。もちろん、ここで、エレメントベクトルは、機器ＩＤごとに異なって生成されるものではなく、一回生成されたエレメントベクトルは、あらゆる機器ＩＤに適用されてキーを生成するのに使われる。
【００３９】
そして、機器ＩＤで１が配列された位置ごとに、その位置に対応する部分ベクトルを生成する（５３０）。各部分ベクトルは、機器ＩＤで１が配列された位置だけシフトされたエレメントベクトルとして表れる。
【００４０】
次いで、生成された部分ベクトルをいずれも合算し（５４０）、合算したベクトルをキーに割り当てる（５５０）。
【００４１】
以下、このように生成されたキーを利用して、一つの機器Ａが他の機器Ｂを認証するときのプロトコルと相互認証を行う時のプロトコルとを説明する。
【００４２】
図６は、本発明によって生成されたキーを利用して、デバイスＡでデバイスＢを認証するためのデバイスＡの認証装置の概略的なブロック図である。
【００４３】
図６に示すように、デバイスＡの認証装置６００は、送受信部６１０、廃棄デバイスリスト６２０、廃棄リスト検査部６３０、類似乱数生成器（Ｐｓｅｕｄｏ Ｒａｎｄｏｍ Ｇｅｎｅｒａｔｏｒ：ＰＮＧ）６４０、内積計算部６５０、ハッシュ演算部６６０、比較部６７０、及びキー割当部６８０を備える。
【００４４】
送受信部６１０は、デバイスＢの認証のために、ネットワークを通じてデバイスＢへデバイスＡのＩＤ＿Ａ及びＮｏｎｃｅ＿Ａを伝送し、デバイスＢからデバイスＢのＩＤであるＩＤ＿Ｂ、Ｎｏｎｃｅ＿Ｂ、及びＲ値を受信する。これについての詳細な説明は後述する。
【００４５】
廃棄デバイスリスト６２０は、廃棄された機器のリストであり、廃棄リスト検査部６３０は、デバイスＡから受信したＩＤ＿Ｂが廃棄デバイスリスト６２０に存在するかを検査する。
【００４６】
ＰＮＧ ６４０は、乱数値であるＮｏｎｃｅ＿Ａを生成して、それをハッシュ演算部６６０に出力する。Ｎｏｎｃｅは、プロトコルが一回のみ使用する数字であって、プロトコルが一回Ｎｏｎｃｅを使用すれば、この数字は、絶対に再び使用しない。
【００４７】
内積計算部６５０は、本発明によって生成されたデバイスＡのキーであるＫｅｙ＿Ａと、デバイスＢのＩＤであるＩＤ＿Ｂとを内積計算して、内積結果であるＫをハッシュ演算部６６０に出力する。
【００４８】
ハッシュ演算部６６０は、ＰＮＧ ６４０から受信されたＮｏｎｃｅ＿Ａ、内積計算部６５０から受信されたＫ、及びデバイスＢから受信されたＮｏｎｃｅ＿Ｂを連結してハッシュ演算を行う。ハッシュ演算は、Ｎｏｎｃｅ＿Ａ、Ｋ、及びＮｏｎｃｅ＿Ｂを連結した値を適切なハッシュ関数、例えばＭＤ５、ＳＨＡ１（Ｓｅｃｕｒｅ Ｈａｓｈ Ａｌｇｏｒｉｔｈｍ）等に入れて、Ｈを求めることである。そして、ハッシュ演算部６６０は、ハッシュ結果であるＨの上位（ｈ−ｋ）ビットをＲ´とし、このＲ´を比較部６７０に出力する。すなわち、ハッシュ結果Ｈのサイズがｈビットであり、キーのサイズがｋビットであるとき、上位（ｈ−ｋ）ビットをＲ´とする。
【００４９】
比較部６７０は、ハッシュ演算部６６０から受信されたＲ´と、デバイスＢから受信されたＲとを比較して同一であるか否かを判断する。
【００５０】
キー割当部６８０は、比較部６７０の比較結果が同一であると判断された場合に、ハッシュ結果の下位ｋビットをキーに割り当てる。すなわち、ハッシュ結果Ｈで、上位（ｈ−ｋ）ビットを除いた残りの下位ｋビットをキーに割り当てる。
【００５１】
図７は、図６に示すようなデバイスＡの認証装置でデバイスＢを認証するための認証方法のフローチャートである。
【００５２】
デバイスＢは、ＰＮＧを使用して乱数値であるＮｏｎｃｅ＿Ｂを生成し、生成されたＮｏｎｃｅ＿Ｂと自身のデバイスＩＤであるＩＤ＿ＢとをデバイスＡへ伝送する（７１０）。
【００５３】
デバイスＡは、デバイスＢから受信したＩＤ＿Ｂが廃棄されたデバイスリストに存在するか否かを確認することによって、デバイスＢが廃棄されたか否かを確認する（７２０）。
【００５４】
もし、デバイスＢが廃棄されなければ、デバイスＡもＰＮＧを使用して乱数値であるＮｏｎｃｅ＿Ａを生成し、生成されたＮｏｎｃｅ＿Ａと自身のデバイスＩＤであるＩＤ＿ＡとをデバイスＢへ伝送する（７３０）。
【００５５】
そして、デバイスＡは、自身が有したキーであるＫｅｙ＿ＡとデバイスＢから受けたＩＤ＿Ｂとを内積することによってＫを計算し、このように作られたＫ、Ｎｏｎｃｅ＿Ａ、及びＮｏｎｃｅ＿Ｂを連結した値を適切なハッシュ関数に入れてＨを求める。そして、Ｈの上位（ｈ−ｋ）ビットをＲ´とする（７４０）。
【００５６】
Ｎｏｎｃｅ＿ＡとＩＤ＿Ａとを受けたデバイスＢも、自身が有したキーであるＫｅｙ＿Ｂと、デバイスＡから受信したＩＤ＿Ａとを内積することによってＫ´を計算し、このように作られたＫ´、Ｎｏｎｃｅ＿Ａ、及びＮｏｎｃｅ＿Ｂを連結した値を、前記で使用したのようなハッシュ関数に入れてＨ´を求める（７５０）。そして、Ｈ´の上位（ｈ−ｋ）ビットをＲとし、このＲ値をデバイスＡへ伝送する（７６０）。
【００５７】
デバイスＢからＲを受けたデバイスＡは、この値がＲ´と同一であるか否かを比較し、同一である場合、Ｈの下位ｋビットをキーに割り当て、認証を成功的に終了する（７７０）。デバイスＢでは、Ｈ´の下位ｋビット（すなわち、上位（ｈ−ｋ）番目ビットから最後のｈ番目ビットまで）をキーに割り当てる。
【００５８】
図８は、本発明によって生成されたキーを利用して、デバイスＡとデバイスＢとを相互認証するための認証方法のフローチャートである。
【００５９】
デバイスＢは、ＰＮＧを使用して乱数値であるＮｏｎｃｅ＿Ｂを生成し、生成されたＮｏｎｃｅ＿Ｂと自身のデバイスＩＤであるＩＤ＿ＢとをデバイスＡへ伝送する（８１０）。
【００６０】
デバイスＡは、デバイスＢから受信したＩＤ＿Ｂが廃棄されたデバイスリストに存在するかを確認することによって、デバイスＢが廃棄されたか否かを確認する（８２０）。
【００６１】
もし、デバイスＢが廃棄されなければ、デバイスＡもＰＮＧを使用して乱数値であるＮｏｎｃｅ＿Ａを生成し、自身が有したキーであるＫｅｙ＿ＡとデバイスＢから受けたＩＤ＿Ｂとを内積することによってＫを計算し、このように作られたＫ、Ｎｏｎｃｅ＿Ａ、及びＮｏｎｃｅ＿Ｂを連結した値を適切なハッシュ関数に入れてＨを求める。そして、Ｈの上位（ｈ−ｋ）／２ビットをＲ＿Ａ´とし、Ｈのその次の（ｈ−ｋ）／２ビット（すなわち、上位（ｈ−ｋ）／２番目ビットから（ｈ−ｋ）番目ビットまで）をＲ＿Ｂ´とする（８３０）。
【００６２】
そして、デバイスＡは、Ｎｏｎｃｅ＿Ａ、ＩＤ＿Ａ、及びＲ＿Ａ´をデバイスＢへ伝送する（８４０）。
【００６３】
デバイスＢも、デバイスＡから受信したＩＤ＿Ａが廃棄されたデバイスリストに存在するかを確認することによって、デバイスＡが廃棄されたか否かを確認する（８５０）。
【００６４】
もし、デバイスＡが廃棄されなければ、デバイスＢも、自身が有したキーであるＫｅｙ＿ＢとデバイスＡから受信したＩＤ＿Ａとを内積することによってＫ´を計算し、このように作られたＫ´、Ｎｏｎｃｅ＿Ａ、及びＮｏｎｃｅ＿Ｂを連結した値を、前記で使用したのようなハッシュ関数に入れてＨ´を求める。そして、上位（ｈ−ｋ）／２ビットをＲ＿Ａとし、この値をデバイスＡから受信したＲ＿Ａ´と同一であるか否かを比較する（８６０）。
【００６５】
もし、Ｒ＿ＡとＲ＿Ａ´とが同一であれば、デバイスＢは、Ｈ´のその次の（ｈ−ｋ）／２ビットをＲ＿Ｂとし、このＲ＿Ｂ値をデバイスＡへ伝送する（８７０）。これにより、デバイスＢは、Ｈ´の下位ｋビット（すなわち、上位（ｈ−ｋ）番目ビットから最後のｈ番目ビットまで）をキーＫｅｙ´に割り当てる。
【００６６】
デバイスＢからＲ＿Ｂを受けたデバイスＡは、この値がＲ＿Ｂ´と同一であるか否かを比較し、同一である場合、Ｈの下位ビッドをキーＫｅｙに割り当て、認証を成功的に終了する（８８０）。
【００６７】
以上、説明したようなキー生成方法や認証方法は、また、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムにより読み取られるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ、磁気テープ、フレキシブルディスク、光データ保存装置などがあり、またキャリアウェーブ（例えば、インターネットを通じた伝送）の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行されうる。そして、前記キー生成方法や認証方法を具現するための機能的なプログラム、コード及びコードセグメントは、本発明が属する技術分野のプログラマにより容易に推論されうる。
【００６８】
これまで、本発明について、その望ましい実施形態を中心に述べた。当業者は、本発明が、本発明の本質的な特性から逸脱しない範囲で、変形された形態に具現可能であるということを理解できるであろう。したがって、開示された実施形態は、限定的な観点ではなく、説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく、特許請求の範囲に表れており、それと同等な範囲内にあるあらゆる差異点は、本発明に含まれていると解釈されねばならない。
【産業上の利用可能性】
【００６９】
本発明は、デバイスを認証するためのキー生成方法及び装置と、デバイス認証方法及び装置に利用可能である。
【図面の簡単な説明】
【００７０】
【図１】本発明による認証システムの概略的な構成図である。
【図２】本発明によるキー生成装置の概略的なブロック図である。
【図３】本発明によるキー生成方法を説明するための参考図である。
【図４】本発明によるキー生成方法の一例を示す図面である。
【図５】本発明によるキー生成方法の過程を示すフローチャートである。
【図６】図１に示したデバイスＡで、デバイスＢを認証するためのデバイスＡの認証装置の概略的なブロック図である。
【図７】本発明によって生成されたキーを利用して、デバイスＡでデバイスＢを認証するための認証方法のフローチャートである。
【図８】本発明によって生成されたキーを利用して、デバイスＡとデバイスＢとが相互認証するためのデバイスＡの認証装置の概略的なブロック図である。
【符号の説明】
【００７１】
２００    キー生成装置
２１０    機器ＩＤ受信部
２２０    乱数発生器
２３０    エレメントベクトル生成部
２４０    部分ベクトル生成部
２５０    部分ベクトル合成部
【図１】
2006054879.tif 000004
【図２】
2006054879.tif 000005
【図３】
2006054879.tif 000006
【図４】
2006054879.tif 000007
【図５】
2006054879.tif 000008
【図６】
2006054879.tif 000009
【図７】
2006054879.tif 000010
【図８】
2006054879.tif 000011