(57)【要約】【課題】二つの鍵交換装置が、互いに通信して同一の鍵を共有し、通信する相手装置の識別子に基づき互いに認証可能な、鍵交換装置を提供する。【解決手段】開示される識別子に基づく鍵交換装置は、鍵交換装置２００が、システムパラメター２０１，システム公開鍵２０２，自己識別子２０３及び自己秘密鍵２０４を含むメッセージが入力されたとき長期記憶装置２０５に保存し、鍵交換開始命令２０６と相手識別子２０７が入力されたとき、乱数２０８を取り込んで暫定鍵２１０を生成し、暫定識別子２１２を暫定鍵を用いて生成して、暫定鍵，暫定識別子及び相手識別子を含むデータを内部状態装置２１３に保存し、暫定識別子を含むデータを相手識別子を持つ鍵交換装置に送信することによって、二つの鍵交換装置が、通信を行う相手の装置を相手の識別子に基づいて互いに認証することが可能なように構成されている。【選択図】図３
2011199325.tif 000002
【特許請求の範囲】
【請求項１】
互いに通信して同一の鍵を共有するシステムにおける二つの鍵交換装置が、
ある乗法群で双線形写像を計算する演算部位を備えた演算手段と、
長期記憶領域と内部状態を保存するための領域を設定されていて、システムパラメター，システム公開鍵，自己識別子及び自己秘密鍵が入力されたとき、これらを前記長期記憶領域に保存する機能を備えた記憶手段と、
鍵交換開始命令と相手識別子が入力されたとき、乱数を取り込んで暫定鍵を前記乱数から生成し、暫定識別子を前記暫定鍵を用いて生成して、暫定鍵，暫定識別子及び相手識別子を含むデータを前記内部状態に保存して、前記暫定識別子を含むデータを相手識別子を持つ鍵交換装置に送信する通信手段とをそれぞれ備え、
前記二つの鍵交換装置が、通信を行う相手の装置を相手の識別子に基づいて互いに認証することが可能なように構成されていることを特徴とする識別子に基づく鍵交換装置。
【請求項２】
互いに通信して同一の鍵を共有するシステムにおける二つの鍵交換装置が、
ある乗法群で双線形写像を計算する演算部位を備えた演算手段と、
長期記憶領域と内部状態を保存するための領域を設定されていて、システムパラメター，システム公開鍵，自己識別子及び自己秘密鍵が入力されたとき、これらを前記長期記憶領域に保存する機能を備えた記憶手段と、
鍵交換開始命令と相手識別子が入力されたとき、乱数を取り込んで暫定鍵を前記乱数から生成し、暫定識別子を前記暫定鍵を用いて生成して、暫定鍵，暫定識別子及び相手識別子を含むデータを前記内部状態に保存して、前記暫定識別子を含むデータを相手識別子を持つ鍵交換装置に送信する通信手段とをそれぞれ備え、
前記二つの鍵交換装置が、二つのペアリング要素の双線形写像の像を生成し、そのハッシュ関数の像を交換鍵として出力することによって鍵交換のための通信回数を少なくしながら、通信を行う相手の装置を相手の識別子に基づいて互いに認証することが可能なように構成されていることを特徴とする識別子に基づく鍵交換装置。
【請求項３】
前記各鍵交換装置が、鍵交換続行命令と相手の暫定識別子を含むメッセージが入力されたとき、暫定識別子，自己識別子，相手識別子の一部または全部を含む二種類のデータのそれぞれのハッシュ値である第一ハッシュ値と第二ハッシュ値を生成するとともに、相手識別子を含むデータのハッシュ値である第三ハッシュ値を生成することを特徴とする請求項１又は２記載の識別子に基づく鍵交換装置。
【請求項４】
前記各鍵交換装置が、システム公開鍵に暫定鍵を乗じたものと、自己秘密鍵に前記第一ハッシュ値を乗じたものとの積をペアリング第一要素とし、相手の暫定識別子と、前記第三ハッシュ値に前記第二ハッシュ値を乗じたものとの積をペアリング第二要素として生成することを特徴とする請求項３記載の識別子に基づく鍵交換装置。
【請求項５】
前記ペアリング第一要素と前記ペアリング第二要素の双線形写像を生成して、該双線形写像のハッシュ関数の像を交換鍵として出力することを特徴とする請求項４記載の識別子に基づく鍵交換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、二つの鍵交換装置が互いに通信して同一の鍵を共有するシステムであって、両装置が、通信を行う相手の装置を相手の識別子に基づいて互いに認証することが可能な、認証付き鍵交換装置に関する。
【背景技術】
【０００２】
鍵交換方式には、二つの装置が参加して、これら両装置が互いに通信することによって、同一の鍵を共有する方式がある。特に、各装置が自装置であることの認証を受ける手段を備えていて、これによって鍵を交換した相手の装置を認証する方式を、認証付き鍵交換方式と呼んでいる。
【０００３】
図５は、従来の認証付き鍵交換方式の例として、非特許文献１に記載された、否認可能認証付き鍵交換方式の構成を示したものである。以下、図５に基づいて従来の認証付き鍵交換方式の概略を説明する。なお以下の説明は、上記非特許文献１の内容を要約して示したものである。
【０００４】
図５に示すように、鍵交換を行う二つの装置５００は、自装置の秘密鍵５０１と相手装置の公開鍵５０３と乱数５１３が入力される鍵交換装置Ａ５０７と、自装置の秘密鍵５０４と相手装置の公開鍵５０２と乱数５１４が入力される鍵交換装置Ｂ５０８とからなっている。
ここで、鍵交換装置Ａ５０７に入力される自装置の秘密鍵５０１をskA 、相手装置Ｂ５０８の公開鍵５０３を spkB 、乱数５１３を rA と呼び、鍵交換装置Ｂ５０８に入力される自装置の秘密鍵５０４をskB 、相手装置Ａ５０７の公開鍵５０２を spkA 、乱数５１４を rB と呼ぶものとする。
【０００５】
鍵交換装置Ａ５０７，鍵交換装置Ｂ５０８は、公開鍵暗号方式の暗号化装置と復号装置を内蔵しており、上述の鍵 skA,spkB 等は、二つの鍵交換装置５００が対応する公開鍵暗号方式で利用される秘密鍵と公開鍵である。
鍵交換装置Ａ５０７，鍵交換装置Ｂ５０８は、この他に、認証装置と疑似乱数発生装置をそれぞれ内蔵している。
【０００６】
いま、p を素数とし、g を (Z/pZ) * の素数位数q の部分群の生成元とする。ここで、p,q は十分に大きいものとする。
装置５００においては、最初に鍵交換装置Ａ５０７が通信を開始するものとするが、この仮定は一般性を否定するものはない。
【０００７】
鍵交換装置Ａ５０７は、 x∈Z/qZ  及び認証装置の鍵 kA を無作為に選ぶ。鍵交換装置Ａ５０７は hA ＝ gx と、認証装置の鍵 kA の公開鍵 pkB  による暗号文として cA を生成して、図５において５１５で示すように、鍵交換装置Ｂ５０８へ送信する。
【０００８】
鍵交換装置Ｂ５０８は、 y∈Z/qZ  及び認証装置の鍵 kB を無作為に選ぶ。鍵交換装置Ｂ５０８は hB ＝ gy と、認証装置の鍵 kB の公開鍵 pkA  による暗号文として cB を生成する。
次に、暗号文 cA を公開鍵  pkB を用いて復号して、結果としてkA’を得たとする。
次に、hA,hB に対する認証コード tB を、kA’を用いて生成する。
最後に、図５において５１６で示すように、鍵交換装置Ｂ５０８から hB,cB,tB を鍵交換装置Ａ５０７へ送信する。
【０００９】
鍵交換装置Ａ５０７は認証装置の鍵 kA を用いて、hA,hB に対する認証コード tB を検証する。検証結果が正しくないときは、ここで動作を停止する。
【００１０】
その他の場合は、暗号文 cB を認証装置の鍵 kA を用いて復号し、その結果を kB'とする。
次に、hA,hB に対する認証コード tA を kB'を用いて生成する。
次に、hBX から、認証装置の鍵として kA を用いて、疑似乱数生成装置によって疑似乱数 qA を生成する。
次に、hBX から、認証装置の鍵として kB' を用いて、疑似乱数生成装置によって疑似乱数 qB'を生成する。
【００１１】
交換結果である鍵５１０を、疑似乱数 qA と疑似乱数 qB'のビットごとの排他的論理和として出力する。
最後に、認証コード tA を５１７で示すように、鍵交換装置Ａ５０７から鍵交換装置Ｂ５０８へ送信する。
【００１２】
鍵交換装置Ｂ５０８は認証装置の鍵 kB を用いて、hA,hB に対する認証コード tA を検証する。検証結果が正しくないときは、ここで動作を停止する。
【００１３】
次に、hAy から、認証装置の鍵として  kA' を用いて、疑似乱数生成装置によって疑似乱数 qA'を生成する。
次に、hAy から、認証装置の鍵として kB を用いて、疑似乱数生成装置によって疑似乱数 qB を生成する。
最後に、交換結果である鍵５１１を、疑似乱数 qA'と疑似乱数 qB のビットごとの排他的論理和として出力する。
【００１４】
鍵交換装置Ａ５０７は、鍵交換装置Ｂ５０８と通信を行った結果得られた知識を、履歴５０９として出力する可能性がある。
【００１５】
これに対して、１回目の鍵交換は、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎの鍵交換方式において必要なすべてのパラメータの生成、および、そのうち公開情報の共有処理を行った上で、鍵交換処理を行い、２回目以降の鍵交換においては、既に共有されている秘密情報を、新たな鍵交換における公開情報の一つとして使用し、このパラメータの生成および共有処理は行わずに、鍵交換処理を行うようにする。２回目以降の鍵交換処理時に、共有すべき公開情報の一部を生成する必要がないため、鍵交換処理において任意数発生の処理が省略でき、また、通知すべきパラメータが少なくなるため、共有すべき公開情報を含むパケットのサイズが小さくなり、ひいては通信量を少なくすることができ、通信路に公開情報を送信する必要をなくすことが可能な、共通鍵暗号方式を用いた秘密通信を行うための通信量が少なく、効率的で安全な鍵交換方法を提供する、共通鍵交換方法が知られている（特許文献１参照）。
【００１６】
特許文献１記載の技術によれば、鍵交換処理時に必要な通信量を少なくすることができる旨が記載されている（〔００５７〕）。
【００１７】
また、デジタルＴＶ装置およびＨＤＤレコーダは、ＤＴＣＰ−ＩＰ対応機器であり、著作権保護されたコンテンツをＩＰネットワーク経由で送受信する。デジタルＴＶ装置は、ＨＤＤレコーダとの間の認証鍵交換処理を開始する際、当該認証鍵交換処理用に最初に送信するＴＣＰパケットのＴＴＬ値をＤＴＣＰ−ＩＰでの許容数に設定し、このＴＣＰパケットに対する応答がなかった場合、ＩＰネットワークの構成上の不具合を警告するメッセージを表示する。一方、ＨＤＤレコーダは、この認証鍵交換処理時、デジタルＴＶ装置との間のＲＴＴ値を計測し、その計測値がＤＴＣＰ−ＩＰでの許容値を超えていた場合、ＩＰネットワークのパフォーマンス上の不具合を警告するメッセージを表示することによって、ユーザに対する報知を適切に行うことを実現した、通信装置、デジタルテレビジョン装置および通信装置の報知方法が知られている（特許文献２参照）。
【００１８】
特許文献２記載の技術によれば、互いに相手を認証しあうための認証鍵を送受信する認証鍵交換処理を行えるようになる旨が記載されている（〔０００８〕）。
【００１９】
また、少なくとも秘密鍵ｘ（ただし、ｘは０からｐ−１の整数）と公開鍵ｇ１、ｇ２、ｗ、ｕ、ｖ（ただし、ｗ＝ｇ２ｘ 、ｕとｖはＧ２ の元）を生成し、文書ｍを取得する。次に、乱数ｒ、ｓを生成し、
σ＝｛ｇ１ｍ φ（ｕ）φ（ｖ）s ｝1/(x+r)
を計算し、署名（σ、ｒ、ｓ）と文書ｍとを署名検証装置に送信する。署名検証装置では、署名（σ、ｒ、ｓ）と文書ｍを受信し、署名生成装置の公開鍵ｇ１、ｇ２、ｗ、ｕ、ｖを取得する。次に、
ｅ（σ，ｗｇ２r ）＝ｅ（ｇ１，ｇ２m ｕｖs ）
が成り立つことを確認し、真の場合には署名は有効、偽の場合には署名は無効と判断することによって、ハッシュ関数を使わない署名方式であり、かつ他のタイプの署名（グループ署名やブラインド署名など）に利用できる署名方式を提供する、デジタル署名方法、デジタル署名生成方法、デジタル署名検証方法、それらの方法を用いたシステム、装置、プログラム、および記録媒体が知られている（特許文献３参照）。
【００２０】
特許文献３記載の技術によれば、双線形写像の群演算を効率的に計算できる旨が記載されている（〔０００９〕，〔００１０〕）。
【００２１】
また、動的に変化するネットワークアドレスと完全修飾ドメイン名とを対応づけて管理するサーバと、相互間で暗号化通信を行う複数のネットワーク端末とを備え、各ネットワーク端末は、自らのネットワークアドレスをサーバに登録し、暗号化通信を行う相手先のネットワークアドレスをＤＤＮＳサーバに問い合わせ、相手先のネットワークアドレスを得られなかったときは、鍵交換待ち状態に入り、相手先のネットワークアドレスを得られたときは、相手先に対して鍵交換通信を開始、もしくは鍵交換通信に先立つ通知を行うことによって、動的にＩＰアドレスが変化し、いずれが先にネットワークに接続するか分からない二つのネットワーク端末間で確実に鍵交換を行うことができるようにする、ネットワークシステムおよび鍵交換方法が知られている（特許文献４参照）。
【００２２】
特許文献４記載の技術によれば、鍵交換を行う二つのネットワーク端末が、いずれもネットワークアドレスが動的に変わる環境にあっても確実に二つの端末間で鍵情報を交換することを可能にする旨が記載されている（〔００１１〕）。
【００２３】
また、暗号システムにおける秘密鍵が、秘密鍵を明かすことなく入れ替えられ得る方法及び／又はシステムにおける、１つの実施形態は、第１のプライベート鍵と対応する第１の公開鍵を創出すること、を具備する。第１のプライベート鍵に関係付けられた第２のプライベート鍵および第２のプライベート鍵に対応する第２の公開鍵もまた創出される。第２のプライベート鍵は、それが再創出されることが可能であるように一回アウトプットされ、そして、第２の公開鍵は、第１の公開鍵をアウトプットする時にアウトプットされる。第１のプライベート鍵は、認証のために使用される。本方法は、第２のプライベート鍵を再創出すること、及び第２のプライベート鍵を認証のために使用することを、さらに具備する。別の１つの実施形態は、プライベート鍵及び対応する公開鍵を関連するシステムパラメータを用いて創出すること、公開鍵をアウトプットする時にシステムパラメータをアウトプットすること、及び、プライベート鍵を認証のために使用すること、を具備する。本方法は、更に、以前のプライベート鍵とシステムパラメータを利用して新しいプライベート鍵を創出すること、を具備する。このような、暗号鍵を入れ替えるためのシステム、装置および方法が知られている（特許文献５参照）。
【００２４】
特許文献５記載の技術によれば、公開暗号システムにおける認証のための方法として、プライベート鍵及び対応する公開鍵を関連するシステムパラメータを用いて創出する旨が記載されている（〔００１１〕）。
【非特許文献１】Mario Di Raimond,Rosario Gennaro,Hugo Krawczyk: Deniable Authentication and Key Exachange. 13-th ACM Conference on Computear and Communication Security.
【特許文献１】特開２０００−２７８２５８号公報
【特許文献２】特開２００７−０６７９０５号公報
【特許文献３】特開２００７−０８８９０６号公報
【特許文献４】特開２００７−２０８６８３号公報
【特許文献５】特表２００６−５１３６４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
非特許文献１に記載された従来の認証付き鍵交換方式における第一の問題点は、装置A と装置B との間で３回の通信が発生しているということである。通信が多数回発生すると、各装置は相手装置が返信するのを待たなければならなくなり、実行速度が低下するので、通信回数が少ない方が好ましい。
【００２６】
第２の問題点は、各装置が暗号化装置、復号装置を備えている点と、この暗号化装置で生成された暗号文を送信する必要があるということである。暗号化装置は、重い計算を行わねばならず、これによって鍵交換の実行速度を低下させるという問題を生じるとともに、暗号文のデータ量が大きいため、装置間の通信量を増大させるという問題を引き起こす。
【００２７】
第３の問題点は、各装置は、鍵を交換する相手装置の公開鍵を予め入手する必要があるということである。もしも相手装置の公開鍵を持っていなければ、各装置はさらに通信を行う必要が生じる。特に、最初に通信を開始する装置A は、装置B から公開鍵  pkB を最初に受信することが必要になるため、少なくとも４回の通信が必要となる。
【課題を解決するための手段】
【００２８】
上記課題を解決するため、この発明は識別子に基づく鍵交換装置に係り、互いに通信して同一の鍵を共有するシステムにおける二つの鍵交換装置が、ある乗法群で双線形写像を計算する演算部位を備えた演算手段と、長期記憶領域と内部状態を保存するための領域を設定されていて、システムパラメター，システム公開鍵，自己識別子及び自己秘密鍵が入力されたとき、これらを上記長期記憶領域に保存する機能を備えた記憶手段と、鍵交換開始命令と相手識別子が入力されたとき、乱数を取り込んで暫定鍵を上記乱数から生成し、暫定識別子を上記暫定鍵を用いて生成して、暫定鍵，暫定識別子及び相手識別子を含むデータを上記内部状態に保存して、上記暫定識別子を含むデータを相手識別子を持つ鍵交換装置に送信する通信手段とをそれぞれ備え、上記二つの鍵交換装置が、通信を行う相手の装置を相手の識別子に基づいて互いに認証することが可能なように構成されていることを特徴としている。
【発明の効果】
【００２９】
この発明の識別子に基づく鍵交換装置によれば、鍵交換装置を二つ走らせることによって、互いに認証しあった鍵を交換することができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。
【実施形態】
【００３１】
図１は、この発明の実施形態における、鍵交換装置が利用する秘密鍵発行装置の構成を示す図、図２は、この発明の実施形態における、鍵交換装置の起動時に関わる構成を示す図、図３は、この発明の実施形態における、鍵交換装置の鍵交換開始時に関わる構成を示す図、図４は、この発明の実施形態における、鍵交換装置の交換鍵の生成に関わる構成を示す図である。
【００３２】
以下、図１〜図４を用いて説明する。最初に、この発明の全体構成を説明する。なお、以下の説明において、鍵交換装置、暫定識別子生成装置、秘密鍵発行装置等は、コンピュータのハードウェアによって構成されているものとする。
いま、q を素数、G, G' を位数q の乗法的巡回群、e を Gの二つの要素をG'の要素に写す双線形写像とする。なおe が双線形であるとは、G の任意の要素 u,vと Z/qZ の任意の要素 a,bに対して、e( ua ,vb ) ＝(u ,v)abが成り立つことである。
g をG の生成元とする。Hashをハッシュ関数とする。鍵交換装置は、群G,G'における双線形写像 e, 群演算装置 Z/qZ の体演算の装置およびハッシュ関数の演算装置が備わっているものとする。また生成元g を保持しているとする。
【００３３】
なお、Hash  をその値域がZ/qZ、Hash' をその値域がG であるハッシュ関数、Hash''をその値域が交換鍵の空間であるハッシュ関数とする。φ  は、対応するデータが空であることを表す。 "開始" のように引用記号で括られる単語は、文字列データとして扱われる。(q,G,G',e,g,Hash,Hash',Hash'')をシステムパラメターと呼ぶ。
【００３４】
鍵交換装置以外に、秘密鍵発行装置１００がある。この装置は全ての鍵交換装置が作動する前に、一回だけ次の動作を行う。システムパラメター１０１と乱数１０２が入力され、これよりシステム秘密鍵生成装置１０３がシステム秘密鍵１０４ s∈Z/qZをランダムに生成する。次にシステム公開鍵生成装置１０５がシステム公開鍵１０６として z＝ gs を生成し、これを公開する。この操作の後、識別子１０７idに対する鍵発行の依頼があったならば、秘密鍵生成装置１０８が,  yid＝ Hash'(id,z)を計算し、さらに xid=yids を計算する。xidを識別子 id の秘密鍵２０９として返送するとする。
【００３５】
交換結果である効果鍵は、図示されない読み出し装置により読み込まれ、外部のアプリケーションにより利用される。
【００３６】
起動時には、鍵交換装置２００は、システムパラメター２０１(q,G,G',e,g,Hash,Hash',Hash'')、システム公開鍵２０２ z、自己識別子２０３ Aと、秘密鍵発行装置１００が、自己識別子２０３が識別子１０７として入力されたときに生成した秘密鍵１０９である自己秘密鍵２０４ xA が入力されて起動されると、 yA ＝Hash'(A,z)を生成して、(q,G,G',e,g,Hash,Hash',Hash''), z, A,  yA ,  xA を長期記憶装置２０５に保存して、命令待ち状態に入る。
【００３７】
命令待ち状態の鍵交換装置２００が、鍵交換開始命令２０６，相手識別子B ２０７を入力された場合、次のように動作する。
【００３８】
１．乱数２０８を取り込む。
２．暫定鍵生成装置２０９は、暫定鍵２１０r ∈Z/qZを、乱数２０８から生成する。
３．暫定識別子生成装置２１１は、暫定識別子２１２ hA ＝ gr を生成する。
４．内部状態装置２１３に(A,B,hA,r)を保存する。
５．メッセージ２１４(A,B,hA ) を識別子B を持つ鍵交換装置に送信する。
６．命令待ち状態に入る。
【００３９】
命令待ち状態の鍵交換装置が、鍵交換続行命令２１５，メッセージ２１６（B',A , hB')を入力された場合、次のように動作する。ただし、A は長期記憶装置２０５に保存されている自己識別子２０３でなければならない。
ここで、メッセージ２１６は相手の鍵交換装置が生成したもの、B'は相手の自己識別子２１７、A は相手から見た相手識別子２１８、すなわち自己識別子２０３、 hB'は相手の暫定識別子２１９である。
【００４０】
１．データ (h'A ,B',r') が内部状態装置２１３に存在すれば次の処理へ進む。
２．第一ハッシュ装置２２０は第一ハッシュ値２２１ u＝Hash( h'A, B' )、第二ハッシュ装置２２２は第二ハッシュ値２２３ v＝Hash ( hB'，A ) 、第三ハッシュ装置２２４は第三ハッシュ値２２５ yB'＝ Hash'(B',z)を生成する。
３．第一要素生成装置２２６はペアリング第一要素２２７p1＝ zr ｘAu を生成し、第一要素生成装置２２８はペアリング第一要素２２９p2＝ hB' yB'v を生成する。
ペアリング- ハッシュ装置２３０は交換鍵２３１ K＝Hash''( e(p1,p2)) を生成する。
４．k を交換鍵２３１として出力する。
【００４１】
以上説明した鍵交換装置を二つ走らせると、互いに認証しあった鍵を交換することができる。このことは、次のようにして確認することができる。
鍵交換装置２００において、鍵交換装置A は、システムパラメター(q,G,G',e,g, Hash,Hash',Hash''),システム公開鍵 z, 自己識別子 A，自己秘密鍵xAが入力されて起動され、yA＝Hash'(A,z)を生成して、( q,G,G',e,g,Hash,Hash',Hash''), z, A, yA,xAを長期記憶装置２０５に保存して、命令待ち状態に入る。
【００４２】
鍵交換装置B は、システムパラメター(q,G,G',e,g,Hash,Hash',Hash''), システム公開鍵 z, 自己識別子 B, 自己秘密鍵xBが入力されて起動され、yB＝Hash'(B,z)を生成して、( q,G,G',e,g,Hash,Hash',Hash''), z, B, yB,xBを長期記憶装置２０５に保存して、命令待ち状態に入る。
【００４３】
命令待ち状態の鍵交換装置A が、鍵交換開始命令, 相手識別子B を入力されて、
1.乱数を取り込み、
2. r∈Z/qZを乱数から生成し、
3. hA ＝ gr を生成し、
4.内部状態に(A,B,hA,r)を保存し、
5.メッセージ (A,B,hA) を識別子B を持つ鍵交換装置に送信して、
6.命令待ち状態に入る。
【００４４】
命令待ち状態の鍵交換装置B が、鍵交換開始命令, 相手識別子A を入力されて、
1.乱数を取り込み、
2. t∈Z/qZを乱数から生成し、
3. hB ＝ gt を生成し、
4.内部状態に(B,A,hB,t)を保存し、
5.メッセージ (B,A,hB) を識別子A を持つ鍵交換装置に送信して、
6.命令待ち状態に入る。
【００４５】
命令待ち状態の鍵交換装置A が、鍵交換続行命令, メッセージ (B,A,hB) を入力されて、
1. u＝ Hash(hA,B), v＝ Hash(hB,A), yB ＝ Hash'(B,z) を生成し、
2. K＝ Hash''( e(zr xAu ,hB yBv )) を生成して、
3. Kを交換鍵として出力する。
【００４６】
命令待ち状態の鍵交換装置B が、鍵交換続行命令, メッセージ (A,B,hA) を入力されて、
1. u＝ Hash(hA,B), v＝ Hash(hB,A), yA ＝Hash'(A,z)を生成し、
2. K' ＝Hash''( e( zt xBv ,hA yAu )) を生成して、
3. K' を交換鍵として出力する。
【００４７】
ここで、交換鍵K と交換鍵K'が等しいことを示す。これは、
e( zr xAu ,hB yBv ) ＝ e(zt xBv ,hA yAu ) を言えればよいが、実際に、
e( zr xAu ,hB yBv )
＝ e(gsryAsu,gt yBv )
＝ e(gr yAu ,gstyBsv)
＝ e(hA yAu ,zt xBv )
＝ e(zt xBv ,hA yAu )
である。
【００４８】
以上に示した通り、鍵交換装置A と鍵交換装置B は同じ鍵を交換することに成功する。また、両者は、それぞれの秘密鍵xAあるいは xB を用いなければならず、これを持たないものが両者の通信 hA,hBを見ても、交換された鍵を知ることができない。
また、秘密鍵xAを知らないものが、適当にhAを生成して鍵交換装置B に送付しても、鍵交換装置B が生成した交換鍵を知ることはできない。
【００４９】
以上、この発明の実施形態を図面により詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく，この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。例えば、鍵交換を行う装置は、二つのみの場合に限らず、任意の複数の鍵交換装置から選択された二つの鍵交換装置であってもよい。
【産業上の利用可能性】
【００５０】
この発明は、二つの鍵交換装置が互いに通信して同一の鍵を共有する共通鍵方式を用いたシステムにおいて、一般的に利用可能なものである。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施形態における、鍵交換装置が利用する秘密鍵発行装置の構成を示す図である。
【図２】本発明の実施形態における、鍵交換装置の起動時に関わる構成を示す図である。
【図３】本発明の実施形態における、鍵交換装置の鍵交換開始時に関わる構成を示す図である。
【図４】本発明の実施形態における、鍵交換装置の交換鍵の生成に関わる構成を示す図である。
【図５】従来の認証付き鍵交換方式の例である、否認可能認証付き鍵交換方式の概略の構成を示す図である。
【符号の説明】
【００５２】
１００    秘密鍵発行装置
１０１，２０１    システムパラメター
１０２，２０８    乱数
１０３    システム秘密鍵生成装置
１０４    システム秘密鍵
１０５    システム公開鍵生成装置
１０６，２０２    システム公開鍵
１０７    識別子
１０８    秘密鍵生成装置
１０９    秘密鍵
２００    鍵交換装置
２０２    システム公開鍵
２０３，２３２    自己識別子
２０４    自己秘密鍵
２０５    長期記憶装置
２０６    鍵交換開始命令
２０７    相手識別子
２０９    暫定鍵生成装置
２１０    暫定鍵
２１１    暫定識別子生成装置
２１２    暫定識別子
２１３    内部状態装置
２１４，２１６    メッセージ
２１５    鍵交換続行命令
２１７    （相手）自己識別子
２１８    （相手）相手識別子
２１９    （相手）暫定識別子
２２０    第一ハッシュ装置
２２１    第一ハッシュ値
２２２    第二ハッシュ装置
２２３    第二ハッシュ値
２２４    第三ハッシュ装置
２２５    第三ハッシュ値
２２６    第一要素生成装置
２２７    ペアリング第一要素
２２８    第二要素生成装置
２２９    ペアリング第二要素
２３０    ペアリング−ハッシュ装置
２３１    交換鍵
【図１】
2011199325.tif 000003
【図２】
2011199325.tif 000004
【図３】
2011199325.tif 000005
【図４】
2011199325.tif 000006
【図５】
2011199325.tif 000007