(57)【要約】【課題】公開鍵証明書やＰＫＩを導入せずに安全に暗号鍵を共有する。【解決手段】端末装置Ａ１０２は部分鍵ｔＡを生成し、端末装置Ｂ１０３に送信する。端末装置Ｂは部分鍵ｔＢを生成し、部分鍵ｔＡを用いて暗号鍵２０３を計算し、部分鍵ｔＡと部分鍵ｔＢに対して端末装置ＢのＩＤ１３に基づくＩＤベース電子署名２０４を施し、部分鍵ｔＢと電子署名を端末装置Ａに送信する。端末装置Ａは、端末装置ＢのＩＤ１３を使って電子署名の検証を行い、検証に成功したら、部分鍵ｔＢを用いて暗号鍵２０５を計算し、端末装置Ｂとの通信に用いる暗号鍵とし、また、部分鍵ｔＡと部分鍵ｔＢに対して端末装置ＡのＩＤ１１に基づくＩＤベース電子署名２０６を施し、端末装置Ｂに送信する。端末装置Ｂは端末装置ＡのＩＤ１１を使って、電子署名２０６の検証を行い、検証に成功した場合は、先に生成した暗号鍵２０３を端末装置Ａとの通信に用いる暗号鍵とする。【選択図】図２
2011082662.tif 000002
【特許請求の範囲】
【請求項１】
共有される暗号鍵の生成に用いられる部分鍵を第１の部分鍵として生成し、生成した前記第１の部分鍵を前記暗号鍵の共有先となる共有先通信装置に送信し、前記共有先通信装置により生成された部分鍵を第２の部分鍵として前記共有先通信装置から受信する通信装置であって、
前記通信装置の公開ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）に対応づけられて生成された秘密鍵を記憶する秘密鍵記憶部と、
前記第１の部分鍵と前記第２の部分鍵と前記通信装置の公開ＩＤを用いて通信相手が前記通信装置であることを前記共有先通信装置において検証可能なＩＤベース電子署名を、前記第１の部分鍵と前記第２の部分鍵と前記秘密鍵を用いて生成する電子署名生成部と、
前記電子署名生成部により生成されたＩＤベース電子署名を前記共有先通信装置に送信する通信部とを有することを特徴とする通信装置。
【請求項２】
前記通信部は、
電子署名を受信し、
前記通信装置は、更に、
前記共有先通信装置の公開ＩＤを記憶するＩＤ記憶部と、
前記第１の部分鍵と前記第２の部分鍵と前記共有先通信装置の公開ＩＤを用いて前記通信部により受信された電子署名を検証し、通信相手が前記共有先通信装置であるか否かを判定する電子署名検証部とを有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記通信部は、
前記共有先通信装置において楕円曲線演算が行われて生成された前記第２の部分鍵を受信し、
前記通信装置は、更に、
所定の乱数値に対して楕円曲線演算を行って前記第１の部分鍵を生成し、
前記電子署名生成部によるＩＤベース電子署名の生成過程において楕円曲線演算を行い、
前記電子署名検証部による電子署名の検証過程において楕円曲線演算を行い、
前記電子署名検証部により通信相手が前記共有先通信装置であると判定された場合に、前記第１の部分鍵の生成に用いられた乱数値と前記第２の部分鍵を用いて楕円曲線演算を行って前記共有先通信装置と共有する暗号鍵を生成する演算部を有することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記通信部は、
前記共有先通信装置において楕円曲線演算が行われて生成された前記第２の部分鍵を受信し、
前記通信装置は、更に、
所定の乱数値に対して楕円曲線演算を行って前記第１の部分鍵を生成し、
前記電子署名生成部によるＩＤベース電子署名の生成過程において楕円曲線演算を行い、
前記電子署名検証部による電子署名の検証過程において楕円曲線演算を行い、
前記電子署名検証部による電子署名の検証に先立ち、前記第１の部分鍵の生成に用いられた乱数値と前記第２の部分鍵を用いて楕円曲線演算を行って暗号鍵を生成する演算部を有し、
前記電子署名検証部は、
前記通信部により受信された電子署名を検証して通信相手が前記共有先通信装置であると判定した場合に、前記演算部により生成された暗号鍵を前記共有先通信装置と共有する暗号鍵とすることを特徴とする請求項２又は３に記載の通信装置。
【請求項５】
前記第１の部分鍵の生成時の楕円曲線演算処理と、前記ＩＤベース電子署名の生成過程における楕円曲線演算処理と、前記電子署名の検証過程における楕円曲線演算処理と、前記暗号鍵の生成時の楕円曲線演算処理が共通の楕円曲線演算プログラムにより実現されることを特徴とする請求項３又は４に記載の通信装置。
【請求項６】
前記共有先通信装置は、
ＩＤベース電子署名の生成及び検証に用いられる署名用パラメータを保有しており、
前記通信装置は、更に、
前記共有先通信装置が保有する署名用パラメータと同じ署名用パラメータを記憶するパラメータ記憶部を有し、
前記電子署名生成部は、
前記第１の部分鍵と前記第２の部分鍵と前記通信装置の公開ＩＤと前記署名用パラメータを用いて通信相手が前記通信装置であることを前記共有先通信装置において検証可能なＩＤベース電子署名を、前記第１の部分鍵と前記第２の部分鍵と前記秘密鍵と前記署名用パラメータを用いて生成し、
前記電子署名検証部は、
前記第１の部分鍵と前記第２の部分鍵と前記共有先通信装置の公開ＩＤと前記署名用パラメータを用いて前記通信部により受信された電子署名を検証し、通信相手が前記共有先通信装置であるか否かを判定することを特徴とする請求項２〜５のいずれかに記載の通信装置。
【請求項７】
前記通信装置は、
所定の第１の署名用パラメータを用いて前記秘密鍵を生成する第１の管理装置により管理され、
前記共有先通信装置は、
前記第１の管理装置と異なる第２の管理装置により管理され、前記第１の署名用パラメータを保有しており、
前記通信装置は、更に、
前記第１の署名用パラメータを記憶する第１の署名用パラメータ記憶部を有し、
前記電子署名生成部は、
前記第１の部分鍵と前記第２の部分鍵と前記通信装置の公開ＩＤと前記第１の署名用パラメータを用いて通信相手が前記通信装置であることを前記共有先通信装置において検証可能なＩＤベース電子署名を、前記第１の部分鍵と前記第２の部分鍵と前記秘密鍵と前記第１の署名用パラメータを用いて生成することを特徴とする請求項１〜６のいずれかに記載の通信装置。
【請求項８】
前記共有先通信装置は、
所定の第２の署名用パラメータを用いて前記共有先通信装置の公開ＩＤに対応づけて前記共有先通信装置の秘密鍵を生成する第２の管理装置により管理され、前記第２の署名用パラメータを保有しており、
前記通信部は、
電子署名を受信し、
前記通信装置は、更に、
前記共有先通信装置の公開ＩＤを記憶するＩＤ記憶部と、
前記第２の署名用パラメータを記憶する第２の署名用パラメータ記憶部と、
前記第１の部分鍵と前記第２の部分鍵と前記共有先通信装置の公開ＩＤと前記第２の署名用パラメータを用いて前記通信部により受信された電子署名を検証し、通信相手が前記共有先通信装置であるか否かを判定する電子署名検証部とを有することを特徴とする請求項７に記載の通信装置。
【請求項９】
前記通信装置は、更に、
前記共有先通信装置の公開ＩＤを前記ＩＤ記憶部に保持したまま、前記第２の署名用パラメータ記憶部から前記第２の署名用パラメータを削除するパラメータ削除部を有することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記共有先通信装置は、
前記第１の部分鍵の生成、前記第２の部分鍵の生成及び前記暗号鍵の生成に共通に用いられるパラメータとして選択された鍵生成用選択パラメータを保有し、
前記通信装置は、更に、
前記鍵生成用選択パラメータを記憶する鍵生成用選択パラメータ記憶部を有し、
前記通信部は、
前記共有先通信装置において前記鍵生成用選択パラメータが用いられて生成された前記第２の部分鍵を受信し、
前記通信装置は、更に、
所定の乱数値に対して前記鍵生成用選択パラメータを用いて前記第１の部分鍵を生成し、
前記電子署名検証部により通信相手が前記共有先通信装置であると判定された場合に、前記第１の部分鍵の生成に用いられた乱数値と前記第２の部分鍵と前記鍵生成用選択パラメータを用いて前記共有先通信装置と共有する暗号鍵を生成する演算部を有することを特徴とする請求項８又は９に記載の通信装置。
【請求項１１】
前記共有先通信装置は、
前記第１の部分鍵の生成、前記第２の部分鍵の生成及び前記暗号鍵の生成に共通に用いられるパラメータとして選択された鍵生成用選択パラメータを保有し、
前記通信装置は、更に、
前記鍵生成用選択パラメータを記憶する鍵生成用選択パラメータ記憶部を有し、
前記通信部は、
前記共有先通信装置において前記鍵生成用選択パラメータが用いられて生成された前記第２の部分鍵を受信し、
前記通信装置は、更に、
所定の乱数値に対して前記鍵生成用選択パラメータを用いて前記第１の部分鍵を生成し、
前記電子署名検証部による電子署名の検証に先立ち、前記第１の部分鍵の生成に用いられた乱数値と前記第２の部分鍵と前記鍵生成用選択パラメータを用いて暗号鍵を生成する演算部を有し、
前記電子署名検証部は、
前記通信部により受信された電子署名を検証して通信相手が前記共有先通信装置であると判定した場合に、前記演算部により生成された暗号鍵を前記共有先通信装置と共有する暗号鍵とすることを特徴とする請求項８〜１０のいずれかに記載の通信装置。
【請求項１２】
前記鍵生成用選択パラメータ記憶部は、
前記第１の管理装置で生成されたパラメータ及び前記第２の管理装置で生成されたパラメータのうちのいずれかを前記鍵生成用選択パラメータとして記憶することを特徴とする請求項１０又は１１に記載の通信装置。
【請求項１３】
前記鍵生成用選択パラメータ記憶部は、
楕円曲線演算に用いられるパラメータを前記鍵生成用選択パラメータとして記憶し、
前記通信部は、
前記共有先通信装置において前記鍵生成用選択パラメータを用いた楕円曲線演算が行われて生成された前記第２の部分鍵を受信し、
前記演算部は、
所定の乱数値と前記鍵生成用選択パラメータを用いて楕円曲線演算を行って前記第１の部分鍵を生成し、
前記電子署名生成部によるＩＤベース電子署名の生成過程において楕円曲線演算を行い、
前記電子署名検証部による電子署名の検証過程において楕円曲線演算を行い、
前記第１の部分鍵の生成に用いられた乱数値と前記第２の部分鍵と前記鍵生成用選択パラメータを用いて楕円曲線演算を行って暗号鍵を生成することを特徴とする請求項１０〜１２のいずれかに記載の通信装置。
【請求項１４】
前記第１の部分鍵の生成時の楕円曲線演算処理と、前記ＩＤベース電子署名の生成過程における楕円曲線演算処理と、前記電子署名の検証過程における楕円曲線演算処理と、前記暗号鍵の生成時の楕円曲線演算処理が共通の楕円曲線演算プログラムにより実現されることを特徴とする請求項１３に記載の通信装置。
【請求項１５】
共有される暗号鍵の生成に用いられる部分鍵を第１の部分鍵として生成し、生成した前記第１の部分鍵を前記暗号鍵の共有先となる共有先通信装置に送信し、前記共有先通信装置により生成された部分鍵を第２の部分鍵として前記共有先通信装置から受信する通信装置が行う情報処理方法であって、
前記通信装置が、前記通信装置の公開ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）に対応づけられて生成された秘密鍵を記憶する秘密鍵記憶ステップと、
前記第１の部分鍵と前記第２の部分鍵と前記通信装置の公開ＩＤを用いて通信相手が前記通信装置であることを前記共有先通信装置において検証可能なＩＤベース電子署名を、前記通信装置が、前記第１の部分鍵と前記第２の部分鍵と前記秘密鍵を用いて生成する電子署名生成ステップと、
前記通信装置が、前記電子署名生成ステップにより生成されたＩＤベース電子署名を前記共有先通信装置に送信する通信ステップとを有することを特徴とする情報処理方法。
【請求項１６】
共有される暗号鍵の生成に用いられる部分鍵を第１の部分鍵として生成し、生成した前記第１の部分鍵を前記暗号鍵の共有先となる共有先通信装置に送信し、前記共有先通信装置により生成された部分鍵を第２の部分鍵として前記共有先通信装置から受信する通信装置に、
前記通信装置の公開ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）に対応づけられて生成された秘密鍵を記憶する秘密鍵記憶処理と、
前記第１の部分鍵と前記第２の部分鍵と前記通信装置の公開ＩＤを用いて通信相手が前記通信装置であることを前記共有先通信装置において検証可能なＩＤベース電子署名を、前記第１の部分鍵と前記第２の部分鍵と前記秘密鍵を用いて生成する電子署名生成処理と、
前記電子署名生成処理により生成されたＩＤベース電子署名を前記共有先通信装置に送信する通信処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信機器間で暗号鍵を共有するに技術に関する。
【背景技術】
【０００２】
複数の通信機器間の通信において、通信内容を暗号化する場合、暗号鍵を互いに共有しておく必要がある。
暗号鍵を共有する際には、当事者だけが暗号鍵を得られるようにするべきである。
例えば、ＤＨ（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）鍵交換方式は公開された通信路で鍵共有を行うが、通信路を介して当事者間でやり取りする情報（パケット）から共有した暗号鍵が得られないため、当事者以外に暗号鍵を知られないように鍵共有を実現できる。
その一方で、ＤＨ鍵交換方式はパケットの作成者と送信者が同一であることを確認することができないため、不正者によるパケットの再送や転送によって、不正者に共有鍵を知られてしまう可能性があり、共有鍵で暗号化した通信内容が不正者に漏洩してしまう可能性がある。
【０００３】
このような課題に対して、非特許文献１に記載の技術では、上記のＤＨ鍵交換方式に公開鍵暗号による電子署名を付与することで不正者によるパケットの再送や転送を検知することができる。
ところが、非特許文献１で用いている電子署名が、不正者による偽造などの不正を受けないようにするためには、公開鍵証明書とＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）を導入するなどによって、公開鍵証明書に記載されている持ち主と電子署名の送信者が同一であることを保証しなくてはいけない。
そのため、公開鍵証明書の検証処理が鍵共有の度に行われることになり、全体の処理速度が低下することに繋がる。また、認証局サーバ（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ）を含む、ＰＫＩの設備も準備しなくてはいけない。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｓｉｍｏｎ  Ｂｌａｋｅ−Ｗｉｌｓｏｎ  ａｎｄ  Ａｌｆｒｅｄ  Ｍｅｎｅｚｅｓ．  Ａｕｔｈｎｔｉｃａｔｅｄ  Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ  ｋｅｙ  ａｇｒｅｅｍｅｎｔ  ｐｒｏｔｏｃｏｌｓ．  Ｉｎ  Ｓ．  Ｔａｖａｒｅｓ  ｅｔ  ａｌ．，  ｅｄｉｔｏｒｓ，  Ｓｅｌｅｃｔｅｄ  Ａｒｅａｓ  ｉｎ  Ｃｒｙｐｔｏｇｒａｐｈｙ，  ５ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ，  ｐａｇｅｓ  ３３９−３６１．  Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，  １９９９．  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  Ｖｏｌｕｍｅ  １５５６．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の非特許文献１に記載の技術においては、公開鍵証明書およびＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）の導入により、暗号鍵の共有を不正者による偽造などの不正を受けることなく実現することができている。
その一方で、新たな通信相手と鍵共有を行う度に公開鍵証明書の検証処理を行う必要がある、効率的な検証処理を行うためにはＰＫＩで用いる検証サーバなどの設備が追加で必要となる、といった課題がある。
【０００６】
本発明は上記のような課題を解決することを主な目的の一つとしており、公開鍵証明書およびＰＫＩを導入することなく、不正者による偽造などの不正を受けることなく、暗号鍵の共有を実現することを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る通信装置は、
共有される暗号鍵の生成に用いられる部分鍵を第１の部分鍵として生成し、生成した前記第１の部分鍵を前記暗号鍵の共有先となる共有先通信装置に送信し、前記共有先通信装置により生成された部分鍵を第２の部分鍵として前記共有先通信装置から受信する通信装置であって、
前記通信装置の公開ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）に対応づけられて生成された秘密鍵を記憶する秘密鍵記憶部と、
前記第１の部分鍵と前記第２の部分鍵と前記通信装置の公開ＩＤを用いて通信相手が前記通信装置であることを前記共有先通信装置において検証可能なＩＤベース電子署名を、前記第１の部分鍵と前記第２の部分鍵と前記秘密鍵を用いて生成する電子署名生成部と、
前記電子署名生成部により生成されたＩＤベース電子署名を前記共有先通信装置に送信する通信部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＩＤベース電子署名を用いて通信相手の認証を行うことができ、公開鍵証明書およびＰＫＩを導入することなく、不正者による偽造などの不正を受けることなく、暗号鍵の共有を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るネットワーク概要を示す図。
【図２】実施の形態１に係る鍵共有時のシステム概要図。
【図３】実施の形態１に係る通信時の処理フロー図。
【図４】実施の形態１に係るパラメータ配布時のシステム概要図。
【図５】実施の形態１に係るパラメータ配布に関する処理フロー図。
【図６】実施の形態１に係る秘密鍵配送時のシステム概要図。
【図７】実施の形態１に係る秘密鍵配送に関する処理フロー図。
【図８】実施の形態１に係る端末装置の機能ブロック図。
【図９】実施の形態１に係る部分鍵生成部のフロー図。
【図１０】実施の形態１に係る暗号鍵生成部のフロー図。
【図１１】実施の形態１に係る電子署名生成部のフロー図。
【図１２】実施の形態１に係る電子署名検証部のフロー図。
【図１３】実施の形態１に係る管理サーバ装置の機能ブロック図。
【図１４】実施の形態１に係る秘密生成部のフロー図。
【図１５】実施の形態２に係るネットワーク概要を示す図。
【図１６】実施の形態２に係る鍵共有時のシステム概要図。
【図１７】実施の形態２に係る通信時の処理フロー図。
【図１８】実施の形態２に係るパラメータ送信時のシステム概要図。
【図１９】実施の形態２に係るパラメータ送信に関する処理フロー図。
【図２０】実施の形態２に係る管理サーバ装置の機能ブロック図。
【図２１】実施の形態２に係るパラメータ配布時のシステム概要図。
【図２２】実施の形態２に係るパラメータ配布に関する処理フロー図。
【図２３】実施の形態２に係るパラメータ配布に関する処理フロー図。
【図２４】実施の形態２に係るパラメータ削除に関する処理フロー図。
【図２５】実施の形態２に係る端末装置の機能ブロック図。
【図２６】実施の形態２に係るパラメータテーブルの例を示す図。
【図２７】実施の形態１及び２に係る端末装置及び管理サーバ装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
本実施の形態では、電子署名にＩＤベース暗号の技術（ＩＤベース署名）を用いることで、公開鍵証明書およびＰＫＩを導入することなく、不正者による偽造などの不正を受けることなく、暗号鍵の共有を実現する技術を説明する。
また、上記の非特許文献１の技術では、剰余群によるＤＨ鍵交換方式による鍵交換が行われているが、本実施の形態では、ＥＣＤＨ（Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅ  Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）鍵交換方式で鍵交換を行う技術を説明する。
ＥＣＤＨ鍵交換方式は、楕円曲線で定義される体上での演算により構成されており、ＩＤベース署名についても同様の演算により構成することできるため、ＩＤベース署名における楕円曲線演算と鍵交換における楕円曲線演算を共通のモジュールとして実装する例を説明する。
楕円曲線演算を行う機能をプログラムとして実装した場合にはプログラムがメモリを占めるデータサイズを削減することができる。
さらに、ＥＣＤＨ鍵交換方式は共有鍵の秘匿性を維持したまま、剰余群によるＤＨ鍵交換よりも部分鍵のサイズを小さく抑えることができるため、当事者間の通信データの通信量を小さく抑えることができる。
【００１１】
図１は、実施の形態１に係る鍵交換方式を適用できるネットワークシステムの概略図である。
インターネットなどのネットワーク１０１には複数の端末装置Ａ１０２〜端末装置Ｂ１０３と管理サーバ装置１０４とが接続される。
以下では、端末装置Ａ１０２と端末装置Ｂ１０３との間で鍵交換を行う例を説明する。
なお、端末装置Ａ１０２と端末装置Ｂ１０３は、それぞれ、通信装置の例でもあり、また、共有先通信装置の例でもある。
なお、図１では、便宜上、端末装置Ａ１０２を通信装置の例として示し、端末装置Ｂ１０３を共有先通信装置の例として示しているが、端末装置Ｂ１０３を通信装置の例とした場合には、端末装置Ａ１０２が共有先通信装置の例となる。
【００１２】
まず、端末装置同士が通信を暗号化するための鍵を共有する場合の動作概要について説明する。
図２は、端末装置Ａ１０２と端末装置Ｂ１０３が鍵共有を行う場合の動作概要を示す。
【００１３】
鍵共有を行う準備として、端末装置Ａ１０２および端末装置Ｂ１０３はそれぞれＥＣＤＨ鍵交換で用いるパラメータである楕円曲線関数Ｅおよび楕円曲線上の点Ｐ（図２では、パラメータＥとＰをまとめてパラメータ（Ｅ、Ｐ）１５と表記）とＩＤベース署名用のパラメータ（署名）１６（署名用パラメータ）を、後述する方法により共有している。なお、ＩＤベース署名のパラメータはシステム公開鍵とも呼ばれる。
端末装置Ａ１０２が保有するパラメータ（Ｅ、Ｐ）１５と端末装置Ｂ１０３が保有するパラメータ（Ｅ、Ｐ）１５は同じ情報である。また、端末装置Ａ１０２が保有するパラメータ（署名）１６と端末装置Ｂ１０３が保有するパラメータ（署名）１６も同じ情報である。
また、端末装置Ａ１０２は自身の公開している公開ＩＤ（以下、単にＩＤともいう）１１に対応したＩＤベース署名用の秘密鍵１２を後述する方法により管理サーバ装置１０４から取得しており、端末装置Ｂ１０３も自身の公開ＩＤ１３に対応したＩＤベース署名用の秘密鍵１４を後述する方法により管理サーバ装置１０４から取得している。
また、端末装置Ａ１０２は、端末装置Ｂ１０３の公開ＩＤ１３を保有しており、端末装置Ｂ１０３は、端末装置Ａ１０２の公開ＩＤ１１を保有している。
なお、公開ＩＤは、例えば、端末装置のユーザの電子メールアドレスである。
【００１４】
先ず、端末装置Ａ１０２は所定の乱数値に楕円曲線演算を行って部分鍵ｔＡ２０１を生成して、端末装置Ｂ１０３に送信する。
端末装置Ｂ１０３は部分鍵ｔＡ２０１を受信した後、所定の乱数値に楕円曲線演算を行って部分鍵ｔＢ２０２を生成し、部分鍵ｔＢ２０２の生成に用いられた乱数値と部分鍵ｔＡ２０１に楕円曲線演算を行って暗号鍵Ｚ＿ＡＢ２０３を計算する。
また、端末装置Ｂ１０３は、部分鍵ｔＡ２０１と部分鍵ｔＢ２０２に対して、秘密鍵１４による電子署名（＝Ｓｉｇｎ＿Ｂ（ｔＡ，ｔＢ））２０４を施す。この電子署名２０４の生成過程においても楕円曲線演算が行われる。
さらに端末装置Ｂ１０３は、部分鍵ｔＢ２０２と電子署名２０４を端末装置Ａ１０２に送信する。
なお、各端末装置にとって、自装置が生成して暗号鍵の共有先の端末装置に送信する部分鍵は第１の部分鍵に相当し、暗号鍵の共有先の端末装置から受信する部分鍵は第２の部分鍵に相当する。
例えば、端末装置Ａ１０２にとっては、部分鍵ｔＡ２０１が第１の部分鍵となり、部分鍵ｔＢ２０２が第２の部分鍵となる。
【００１５】
端末装置Ａ１０２は、部分鍵ｔＢ２０２と電子署名２０４を受信したら、端末装置Ｂ１０３の公開ＩＤ１３を使って、電子署名２０４の検証を行う。この電子署名２０４の検証過程においても楕円曲線演算が行われる。
ここで、電子署名２０４が誤ったものであったならば、不正な処理が行われたとして処理を終了する。
また、端末装置Ａ１０２は、電子署名２０４が端末装置Ｂ１０３によって正しく作成されたものである（通信相手が端末装置Ｂ１０３である）と確認できたならば、部分鍵ｔＡ２０１の生成に用いられた乱数値と部分鍵ｔＢ２０２に楕円曲線演算を行って暗号鍵Ｚ＿ＢＡ２０５を計算する。
また、端末装置Ａ１０２は、部分鍵ｔＡ２０１と部分鍵ｔＢ２０２に対して秘密鍵１２による電子署名（＝Ｓｉｇｎ＿Ａ（ｔＢ，ｔＡ））２０６を施す。この電子署名２０６の生成過程においても楕円曲線演算が行われる。
さらに端末装置Ａ１０２は電子署名２０６を端末装置Ｂ１０３に送信する。
【００１６】
端末装置Ｂ１０３は電子署名２０６を受信し、端末装置Ａ１０２の公開ＩＤ１１を使って、電子署名２０６の検証を行う。この電子署名２０６の検証過程においても楕円曲線演算が行われる。
端末装置Ｂ１０３は、電子署名２０６が端末装置Ａ１０２によって正しく作成されたものである（通信相手が端末装置Ａ１０２である）と確認できたならば、正常に処理が完了したことになる。
そうでなければ、不正な処理が行われたとして、処理を終了する。
電子署名２０６が端末装置Ａ１０２によって正しく作成されたものであると確認できない場合は、暗号鍵Ｚ＿ＡＢ２０３は安全ではないと考えられるので使用しない。
【００１７】
なお、後述するようにＺ＿ＡＢ２０３＝Ｚ＿ＢＡ２０５となっているため、端末装置Ａ１０２及び端末装置Ｂ１０３の両者において電子署名の検証に成功した場合は、Ｚ＿ＡＢ２０３（＝Ｚ＿ＢＡ２０５）を共有する暗号鍵とする、もしくは、Ｚ＿ＡＢ２０３（＝Ｚ＿ＢＡ２０５）から生成できるものを共有する暗号鍵とすることで、暗号鍵の共有が完了する。
【００１８】
次に、図３に基づき、実施の形態１において、例えば、端末装置Ａ１０２と端末装置Ｂ１０３が暗号鍵の共有を行う場合の処理について説明する。
図３は図２の通信処理に関して施す処理のフロー図である。なお、以降、「＊」は楕円曲線関数Ｅ上の体で定義された乗算を意味している。
【００１９】
端末装置Ａ１０２は乱数ｒＡを生成し（ステップ３０１）、パラメータ（Ｅ、Ｐ）１５から部分鍵ｔＡ２０１＝（ｒＡ＊Ｐ）を計算し（ステップ３０２）、部分鍵ｔＡ２０１を端末装置Ｂ１０３に送信する（ステップ３０３）。
【００２０】
端末装置Ｂ１０３は端末装置Ａ１０２から部分鍵ｔＡ２０１を受信し（ステップ３０４）、乱数ｒＢを生成し（ステップ３０５）、パラメータ（Ｅ、Ｐ）１５から部分鍵ｔＢ２０２＝（ｒＢ＊Ｐ）を計算し（ステップ３０６）、暗号鍵Ｚ＿ＡＢ２０３＝（ｒＢ＊ｔＡ）を計算する（ステップ３０７）。
また、端末装置Ｂ１０３は部分鍵ｔＡ２０１と部分鍵ｔＢ２０２に対して、パラメータ（署名）１６と秘密鍵１４による電子署名（＝Ｓｉｇｎ＿Ｂ（ｔＡ，ｔＢ））２０４を施し（ステップ３０８）、端末装置Ａ１０２に部分鍵ｔＢ２０２と電子署名２０４を送信する（ステップ３０９）。
【００２１】
端末装置Ａ１０２は端末装置Ｂ１０３から部分鍵ｔＢ２０２と電子署名２０４を受信し（ステップ３１０）、パラメータ（署名）１６と端末装置Ｂ１０３のＩＤ１３を使って電子署名２０４の検証を行う（ステップ３１１）。
電子署名２０４が不正であると確認できたならば、処理を終了する。
電子署名２０４が正規のものであれば、暗号鍵Ｚ＿ＢＡ２０５＝（ｒＡ＊ｔＢ）を計算する。（ステップ３１２）
そして、端末装置Ａ１０２は、暗号鍵Ｚ＿ＢＡ２０５を端末装置Ｂ１０３と共有する鍵とする。
また、端末装置Ａ１０２は、部分鍵ｔＡ２０１と部分鍵ｔＢ２０２に対して、パラメータ（署名）１６と秘密鍵１２による電子署名（＝Ｓｉｇｎ＿Ａ（ｔＢ，ｔＡ））２０６を施し（ステップ３１３）、端末装置Ｂ１０３に電子署名２０６を送信する（ステップ３１４）。
【００２２】
端末装置Ｂ１０３は端末装置Ａ１０２から電子署名２０６を受信し（ステップ３１５）、パラメータ（署名）１６と端末装置Ａ１０２のＩＤ１１を使って、電子署名２０６の検証を行う（ステップ３１６）。
電子署名２０６が不正であると確認できたならば、処理を終了する。
電子署名２０６が正規のものであれば、ステップ３０７で生成された暗号鍵Ｚ＿ＡＢ２０３（＝Ｚ＿ＢＡ２０５）を端末装置Ａ１０２と端末装置Ｂ１０３の間で用いる共有の鍵とする。
【００２３】
次に図４に基づき、実施の形態１において、例えば、管理サーバ装置１０４が、端末装置Ａ１０２〜端末装置Ｂ１０３に、ＥＣＤＨ鍵交換で用いるパラメータである楕円曲線関数Ｅおよび楕円曲線上の点Ｐと、ＩＤベース署名のパラメータを配布する場合の動作概要ついて説明する。
以降の説明では、便宜上、ＥＣＤＨ鍵交換のパラメータとＩＤベース署名のパラメータを組として扱う場合、まとめてパラメータ４０１と呼ぶ。
【００２４】
管理サーバ装置１０４は管理下の端末装置Ａ１０２〜端末装置Ｂ１０３に対して、パラメータ４０１を配布する。
このとき、配布する方法はマルチキャスト通信であっても、１対１の通信であってもかまわない。
さらに、必要に応じて通信の暗号化を行ってもかまわない。
また、通信路上の事故や配布時に端末装置が未接続だった場合など、一度目の配布でパラメータを受信できなかった端末装置のために、配布は一度だけではなく、状況に応じて定期または不定期に繰り返し行ってもかまわない。
【００２５】
次に図５に基づき、実施の形態１において、例えば、管理サーバ装置１０４から、端末装置Ａ１０２に対して、パラメータ４０１を配布する場合の処理について説明する。
なお、端末装置Ｂ１０３に対する処理も同様である。
【００２６】
管理サーバ装置１０４はＥＣＤＨ鍵交換で用いるパラメータである楕円曲線関数Ｅおよび楕円曲線上の点Ｐを後述するＥＣＤＨ鍵共有パラメータ生成部により生成し（ステップ５０１）、ＩＤベース署名のパラメータを後述するＩＤベース署名パラメータ生成部により生成し（ステップ５０２）、パラメータ４０１を端末装置Ａ１０２に送信する（ステップ５０３）。
【００２７】
端末装置Ａ１０２はパラメータ４０１を受信し（ステップ５０４）、パラメータ記憶部に保持する（ステップ５０５）。
【００２８】
パラメータを変更しないで、繰り返して配布する場合は、ステップ５０３から処理を開始する。
また、パラメータを変更する場合はステップ５０１から処理を開始する。
【００２９】
ここでは、管理サーバ装置１０４がパラメータ４０１を端末装置Ａ１０２に送信することとしているが、ＩＤベース署名のパラメータについては、管理サーバ装置１０４から端末装置Ａ１０２に送信する以外に別途安全な方法（システム導入時に、管理下にある端末装置にＩＤベース署名のパラメータを予め組込んでおく等）を用いてもよい。
【００３０】
次に図６に基づき、実施の形態１において、例えば、管理サーバ装置１０４から、端末装置Ａ１０２が自身の公開ＩＤに対応づけられて生成されたＩＤベース署名の秘密鍵を取得する場合の動作概要について説明する。
なお、端末装置Ｂ１０３に対する処理も同様である。
【００３１】
管理サーバ装置１０４は定期的にまたは管理者からの要求に応じて、端末装置Ａ１０２のＩＤ１１に対応した秘密鍵１２を端末装置Ａ１０２に送信する。
このとき、必要に応じて、管理サーバ装置１０４から端末装置Ａ１０２に対する通信を暗号化してもかまわない。
【００３２】
次に図７に基づき、実施の形態１において、例えば、管理サーバ装置１０４から、端末装置Ａ１０２が端末装置のＩＤに対応したＩＤベース署名の秘密鍵を取得する場合の処理について説明する。
なお、端末装置Ｂ１０３に対する処理も同様である。
【００３３】
管理サーバ装置１０４は定期的にまたは管理者からの要求に応じて、端末装置Ａ１０２のＩＤ１１を後述の秘密鍵生成部に入力することで、秘密鍵１２を生成し（ステップ７０１）、生成した秘密鍵１２を端末装置Ａ１０２に送信する（ステップ７０２）。
端末装置Ａ１０２は秘密鍵１２を受信し（ステップ７０３）、秘密鍵１２を記憶部に保持する（ステップ７０４）（秘密鍵記憶ステップ）。このとき、記憶部に保持されている過去の秘密鍵は削除してもかまわない。
【００３４】
次に図８に基づき、実施の形態１における端末装置Ａ１０２〜端末装置Ｂ１０３の機能について説明する。
図８は端末装置Ａ１０２〜端末装置Ｂ１０３の機能構成を説明する機能ブロック図である。
ここでは、便宜上、端末装置に参照符号８０１を付した。
【００３５】
端末装置８０１は、通信インターフェイス８０２、楕円曲線演算部８０３、部分鍵生成部８０４、暗号鍵生成部８０５、電子署名検証部８０６、電子署名生成部８０７、パラメータ取得部８０８、秘密鍵取得部８０９、パラメータ記憶部８１０、暗号鍵記憶部８１１及び秘密鍵記憶部８１２より構成される。
【００３６】
通信インターフェイス８０２は、外部装置と通信を行う通信部である。
より具体的には、通信インターフェイス８０２は、管理サーバ装置１０４からＥＣＤＨ鍵交換で用いるパラメータである楕円曲線関数Ｅおよび楕円曲線上の点ＰとＩＤベース署名で用いるパラメータを受信する。
また、図２に示したように、暗号鍵の共有先となる端末装置に部分鍵及びＩＤベース署名による電子署名を送信し、また、暗号鍵の共有先となる端末装置から部分鍵及びＩＤベース署名による電子署名を受信する。
【００３７】
楕円曲線演算部８０３は部分鍵生成部８０４、暗号鍵生成部８０５、電子署名検証部８０６および電子署名生成部８０７の要求に応じて、楕円曲線上の演算を行う。
より具体的には、楕円曲線演算部８０３は、部分鍵生成部８０４の要求に基づき、所定の乱数値に対して楕円曲線演算を行って部分鍵を生成し、また、暗号鍵生成部８０５の要求に基づき、上記乱数値と暗号鍵共有先の端末装置からの部分鍵に対して楕円曲線演算を行って暗号鍵を生成する。
また、楕円曲線演算部８０３は、電子署名生成部８０７の要求に基づき、ＩＤベース電子署名の生成過程において楕円曲線演算を行い、また、電子署名検証部８０６の要求に基づき、電子署名の検証過程において楕円曲線演算を行う。
楕円曲線演算部８０３は、演算部の例である。
【００３８】
部分鍵生成部８０４は、乱数を生成し、生成した乱数と楕円曲線関数Ｅおよび楕円曲線上の点Ｐを楕円曲線演算部８０３に供給して部分鍵を得る。
【００３９】
暗号鍵生成部８０５は、部分鍵生成部８０４が生成した乱数と楕円曲線関数Ｅと暗号鍵共有先の端末装置からの部分鍵を楕円曲線演算部８０３に供給して暗号鍵を得る。
また、暗号鍵生成部８０５は、生成された暗号鍵を暗号鍵記憶部８１１に格納する。
暗号鍵記憶部８１１に保持される暗号鍵は、例えば、図２の端末装置Ａ１０２の場合、暗号鍵Ｚ＿ＢＡ２０５である。
【００４０】
電子署名検証部８０６は、通信インターフェイス８０２が受信した電子署名を検証して、通信相手が暗号鍵共有先の端末装置であるか否かを判定する。
より具体的には、部分鍵生成部８０４により生成された部分鍵（第１の部分鍵）と暗号鍵共有先の端末装置から受信した部分鍵（第２の部分鍵）と暗号鍵共有先の端末装置の公開ＩＤとパラメータ記憶部８１０内のＩＤベース署名用のパラメータを用いて、受信した電子署名を検証する。
前述のように、検証の過程において楕円曲線演算が行われる。
【００４１】
電子署名生成部８０７は、第１の部分鍵と第２の部分鍵と秘密鍵記憶部８１２内の秘密鍵とパラメータ記憶部８１０内のＩＤベース署名用のパラメータを用いてＩＤベース電子署名を生成する。
前述のように、生成の過程において楕円曲線演算が行われる。
ＩＤベース署名は、暗号鍵共有先の端末装置（例えば、端末装置Ｂ１０３）において、２つの部分鍵（端末装置Ｂ１０３が生成した部分鍵ｔＢと端末装置Ａ１０２が生成した部分鍵ｔＡ）と端末装置（端末装置Ａ１０２）の公開ＩＤとＩＤベース署名用のパラメータを用いた検証を行うことで、通信相手が正当な端末装置（端末装置Ａ１０２）であるか否かを判定できる電子署名である。
【００４２】
パラメータ取得部８０８は、管理サーバ装置１０４で生成されたＥＣＤＨ鍵交換で用いるパラメータである楕円曲線関数Ｅおよび楕円曲線上の点ＰとＩＤベース署名で用いるパラメータを通信インターフェイス８０２から入力し、パラメータ記憶部８１０に格納する。
【００４３】
秘密鍵取得部８０９は、管理サーバ装置１０４で生成された秘密鍵を通信インターフェイス８０２から入力し、秘密鍵記憶部８１２に格納する。
秘密鍵記憶部８１２に保持される秘密鍵は、端末装置８０１のＩＤに対応したＩＤベース署名の秘密鍵である。
例えば、端末装置Ａ１０２は、端末装置Ａ１０２のＩＤ１１に対応した秘密鍵１２を秘密鍵記憶部８１２に保持する。
【００４４】
ＩＤ記憶部８１３は、暗号鍵共有先の端末装置の公開ＩＤを記憶する。
【００４５】
図９は、端末装置８０１の部分鍵生成部８０４のフロー図である。
部分鍵生成部８０４は乱数ｒＡを生成し（ステップ８２１）、パラメータ記憶部８１０からパラメータＥ、Ｐを取得する（ステップ８２２）。
そして、乱数ｒＡ、パラメータＥ、Ｐを楕円曲線演算部８０３に送信し、楕円曲線演算部８０３からＥＣＤＨ鍵交換の部分鍵ｔＡ（パラメータＰのｒ倍）を取得し（ステップ８２３）、通信インターフェイス８０２を介して他の端末装置に送信する（ステップ８２４）。
また、乱数ｒＡは暗号鍵生成部８０５に送信する（ステップ８２５）。
【００４６】
図１０は、端末装置８０１の暗号鍵生成部８０５のフロー図である。
暗号鍵生成部８０５は部分鍵生成部８０４から乱数ｒＡを受信し（ステップ８２６）、パラメータ記憶部８１０からパラメータＥを取得し（ステップ８２７）、通信インターフェイス８０２を介して他の端末装置からＥＣＤＨ鍵交換の部分鍵ｔＢを受信する（ステップ８２８）。
そして、乱数ｒＡ、パラメータＥ、部分鍵ｔＢを楕円曲線演算部８０３に送信し、楕円曲線演算部８０３から暗号鍵（ｔＢのｒ倍）を取得する（ステップ８２９）。
また、生成された暗号鍵は暗号鍵記憶部８１１に格納する（ステップ８３０）。
【００４７】
図１１は、端末装置８０１の電子署名生成部８０７のフロー図である。
電子署名生成部８０７は部分鍵生成部８０４からＥＣＤＨ鍵交換の部分鍵ｔＡを取得し（ステップ８３１）（電子署名生成ステップ）、通信インターフェイス８０２を介して他の端末装置からＥＣＤＨ鍵交換の部分鍵ｔＢを受信し（ステップ８３２）（電子署名生成ステップ）、秘密鍵記憶部８１２から秘密鍵Ｓを取得する（ステップ８３３）（電子署名生成ステップ）。
次に、パラメータ記憶部８１０からＩＤベース署名のパラメータを取得する（ステップ８３４）（電子署名生成ステップ）。
そして、部分鍵ｔＡ、部分鍵ｔＢ、秘密鍵Ｓ、ＩＤベース署名のパラメータを使って電子署名ＳｉｇｎＡを生成し（ステップ８３５）（電子署名生成ステップ）、通信インターフェイス８０２を介して他の端末装置に送信する（ステップ８３６）（通信ステップ）。
なお、電子署名ＳｉｇｎＡを生成する際には楕円曲線上での演算を行う必要があるが、それらの演算処理は楕円曲線演算部８０３が行う。
【００４８】
図１２は、端末装置８０１の電子署名検証部８０６のフロー図である。
電子署名検証部８０６は通信インターフェイス８０２を介して他の端末装置からＥＣＤＨ鍵交換の部分鍵ｔＢと電子署名ＳｉｇｎＢを受信し（ステップ８３７）、部分鍵生成部８０４からＥＣＤＨ鍵交換の部分鍵ｔＡを取得し（ステップ８３８）、パラメータ記憶部８１０からＩＤベース署名のパラメータを取得する（ステップ８３９）。
そして、電子署名ＳｉｇｎＢの送信元である端末装置のＩＤと、部分鍵ｔＡ、部分鍵ｔＢ、ＩＤベース署名のパラメータを使って電子署名ＳｉｇｎＢの検証を行う（ステップ８４０）。
なお、電子署名ＳｉｇｎＢを検証する際には楕円曲線上での演算を行う必要があるが、それらの演算処理は楕円曲線演算部８０３が行う。
また、ステップ８４０の電子署名ＳｉｇｎＢの検証の結果、当該電子署名ＳｉｇｎＢが正規のものであると確認できた場合に、端末装置８０１が図３の端末装置Ａ１０２に相当すれば、図３のステップ３１１からステップ３１２に示すように、電子署名検証部８０６は暗号鍵生成部８０５に暗号鍵の生成を指示する。暗号鍵生成部８０５は図１０のフローに従って暗号鍵を生成する。
また、ステップ８４０の電子署名ＳｉｇｎＢの検証の結果、当該電子署名が正規のものであると確認できた場合に、端末装置８０１が図３の端末装置Ｂ１０３に相当すれば、図３のステップ３１６に示すように、電子署名検証部８０６はステップ３０７で生成された暗号鍵を、共有先の端末装置と共有する暗号鍵とする。
一方、ステップ８４０の電子署名ＳｉｇｎＢの検証の結果、当該電子署名ＳｉｇｎＢが正規のものであると確認できない場合に、端末装置８０１が図３の端末装置Ａ１０２に相当すれば、図３のステップ３１１において、電子署名検証部８０６は以降の処理を停止させ、暗号鍵の生成も指示しない。
また、ステップ８４０の電子署名ＳｉｇｎＢの検証の結果、当該電子署名ＳｉｇｎＢが正規のものであると確認できない場合に、端末装置８０１が図３の端末装置Ｂ１０３に相当すれば、図３のステップ３１６において、電子署名検証部８０６はステップ３０７で生成された暗号鍵を、共有先の端末装置と共有する暗号鍵としない。なお、ステップ３０７で生成された暗号鍵は破棄するようにしてもよい。
【００４９】
また、パラメータ取得部８０８は通信インターフェイス８０２を介して管理サーバ装置１０４からＥＣＤＨ鍵交換のパラメータであるＥ、ＰとＩＤベース署名で用いるパラメータを取得する。
また、秘密鍵取得部８０９は通信インターフェイス８０２を介して管理サーバ装置１０４から端末装置のＩＤに対応した秘密鍵Ｓを取得する。
【００５０】
次に、図１３に基づき、実施の形態１における管理サーバ装置１０４の機能について説明する。
図１３は管理サーバ装置１０４の機能構成を説明する機能ブロック図である。
ここでは、便宜上、検証サーバ装置に参照符号９０１を付した。
【００５１】
管理サーバ装置９０１は、通信インターフェイス９０２、ＥＣＤＨ鍵共有パラメータ生成部９０３、秘密鍵生成部９０４、ＩＤベース署名パラメータ生成部９０５、パラメータ配送部９０６及びパラメータ記憶部９０７より構成される。
通信インターフェイス９０２は図８の端末装置８０１を構成しているものと同じ機能である。
【００５２】
パラメータ記憶部９０７に保持されるパラメータは、ＩＤベース署名パラメータ生成部９０５で生成されたパラメータ及びＥＣＤＨ鍵共有パラメータ生成部９０３で生成されたパラメータである。
【００５３】
ＥＣＤＨ鍵共有パラメータ生成部９０３はＥＣＤＨ鍵交換のパラメータである楕円曲線関数Ｅおよび楕円曲線上の点Ｐを生成し、生成したパラメータをパラメータ記憶部９０７に保持する。
【００５４】
ＩＤベース署名パラメータ生成部９０５はＩＤベース署名のパラメータを生成し、生成したパラメータをパラメータ記憶部９０７に保持する。
【００５５】
秘密鍵生成部９０４は、端末装置８０１の公開ＩＤに対応付けて秘密鍵を生成する。
【００５６】
パラメータ配送部９０６はパラメータ記憶部９０７に保持されている、ＩＤベース署名のパラメータとＥＣＤＨ鍵交換のパラメータＥ、Ｐを配布対象の端末装置８０１に配送する。
【００５７】
図１４は、管理サーバ装置９０１の秘密鍵生成部９０４のフロー図である。
秘密鍵生成部９０４はパラメータ記憶部９０７からＩＤベース署名のパラメータを取得し（ステップ９１１）、配布対象の端末装置のＩＤとパラメータから秘密鍵を生成し（ステップ９１２）、通信インターフェイス９０２を用いて配布対象の端末装置８０１に秘密鍵を配送する（ステップ９１３）。
【００５８】
このように構成された端末装置Ａ１０２〜端末装置Ｂ１０３と管理サーバ装置１０４においては、ＥＣＤＨ鍵交換とＩＤベース署名による電子署名を併用することにより、公開鍵証明書の検証処理やＰＫＩを行うための追加設備を必要とすることなく、不正者による偽造などの不正を受けることのない暗号鍵の共有を実現することができている。
【００５９】
つまり、実施の形態１に係る鍵共有方法は、端末装置Ａ１０２〜端末装置Ｂ１０３が２つの装置間で暗号鍵を共有するために、ＥＣＤＨ鍵交換を行うとともにＩＤベース署名による電子署名を互いに送信すること、及び、管理サーバ装置１０４から端末装置Ａ１０２〜端末装置Ｂ１０３に対してＥＣＤＨ鍵交換方式のパラメータを配信すること、及び、管理サーバ装置１０４から端末装置Ａ１０２〜端末装置Ｂ１０３のそれぞれに対して、ＩＤベース署名の秘密鍵を配布するものである。
【００６０】
また、本実施の形態ではＥＣＤＨ鍵交換方式で鍵交換を行っており、ＥＣＤＨ鍵交換方式は、楕円曲線で定義される体上での演算により構成されており、ＩＤベース署名についても楕円曲線演算により構成することできるため、楕円曲線演算を共通部分として実装することが可能となる。
このため、例えば、上記の楕円曲線演算部８０３をプログラムとして実装することで、プログラムがメモリを占めるデータサイズを削減することができる。
【００６１】
さらに、ＥＣＤＨ鍵交換方式は共有鍵の秘匿性を維持したまま、剰余群によるＤＨ鍵交換よりも部分鍵のサイズを小さく抑えることができるため、当事者間の通信データの通信量を小さく抑えることができる。
【００６２】
以上、本実施の形態では、端末間で暗号通信などに使う暗号鍵を共有する際に、鍵の共有相手を認証するために付与する電子署名にＩＤベース署名を用いることで、公開鍵の検証処理を行うことなく意図した共有相手と鍵を共有する通信システムを説明した。
【００６３】
また、本実施の形態では、ＥＣＤＨ鍵交換方式により暗号鍵の共有を行い、さらに楕円曲線上の演算によりＩＤベース署名を実装する通信システムを説明した。
【００６４】
また、本実施の形態では、ＥＣＤＨ鍵交換方式とＩＤベース署名における楕円曲線上の演算処理を共通のモジュールとして実装する通信システムを説明した。
【００６５】
また、本実施の形態では、ＥＣＤＨ鍵交換方式とＩＤベース署名の公開パラメータについて、同一組織内の端末では同一のものを用いることとし、管理サーバが組織内の端末に上記公開パラメータを配送する通信システムを説明した。
【００６６】
また、本実施の形態では、管理サーバから組織内の端末に公開パラメータを配送する際に、管理サーバが公開パラメータに対する電子署名を公開パラメータに付与し、受信した端末が電子署名を検証する通信システムを説明した。
【００６７】
実施の形態２．
図１５は、実施の形態２に係る鍵交換方式を適用できるネットワークシステムの概略図である。
インターネットなどのネットワーク１００１には複数の管理サーバ装置１００２〜１００３と管理サーバ装置のそれぞれの管理下に複数の端末装置Ａ１００４〜１００５、１００６〜１００７とが接続される。
例えば、図１５では、管理サーバ装置１００２が端末装置Ａ１００４〜１００５を管理しており、管理サーバ装置１００３が端末装置Ｂ１００６〜１００７を管理している。
以下では、端末装置Ａ１００４と端末装置Ｂ１００６との間で鍵交換を行う例を説明する。
なお、端末装置Ａ１００４と端末装置Ｂ１００６は、それぞれ、通信装置の例でもあり、また、共有先通信装置の例でもある。
なお、図１５では、便宜上、端末装置Ａ１００４を通信装置の例として示し、端末装置Ｂ１００６を共有先通信装置の例として示しているが、端末装置Ｂ１００６を通信装置の例とした場合には、端末装置Ａ１００４が共有先通信装置の例となる。
また、図１５において、通信装置の例である端末装置Ａ１００４を管理する管理サーバ装置１００２は第１の管理装置の例となり、共有先通信装置である端末装置Ｂ１００６を管理する管理サーバ装置１００３が第２の管理装置の例となる。
逆に、端末装置Ｂ１００６を通信装置の例とした場合は、管理サーバ装置１００３は第１の管理装置の例となり、共有先通信装置である端末装置Ａ１００４を管理する管理サーバ装置１００２が第２の管理装置の例となる。
【００６８】
なお、実施の形態２において、同一の管理サーバ装置の管理下にある端末装置間、例えば、図１５における端末装置Ａ１００４と端末装置１００５の間の鍵共有は実施の形態１と同様の方式により行われる。
【００６９】
次に、異なる管理サーバ装置の管理下にある端末装置間の鍵共有について説明する。
図１６は異なる管理サーバ装置の管理下にある端末装置間で鍵共有を行う場合、例えば、管理サーバ装置１００２の管理下にある端末装置Ａ１００４と管理サーバ装置１００３の管理下にある端末装置Ｂ１００６が鍵共有を行う場合のシステム概要図を示している。
【００７０】
鍵共有を行う準備として、端末装置Ａ１００４は後述する方法により、管理サーバ装置１００２から管理サーバ装置１００２が生成したＥＣＤＨ鍵交換のパラメータ（Ｅ、Ｐ）１１０１およびＩＤベース署名のパラメータ（署名）１１０２と、管理サーバ装置１００３が生成したＥＣＤＨ鍵交換のパラメータ（Ｅ、Ｐ）１１０３およびＩＤベース署名のパラメータ（署名）１１０４を取得している。
なお、端末装置Ａ１００４を通信装置の例として捉えた場合、第１の管理装置たる管理サーバ装置１００２から取得しているＩＤベース署名のパラメータ（署名）１１０２は第１の署名用パラメータとなり、第２の管理装置たる管理サーバ装置１００３から取得しているＩＤベース署名のパラメータ（署名）１１０４は第２の署名用パラメータとなる。
また、鍵共有を行う準備として、端末装置Ｂ１００６は後述する方法により、管理サーバ装置１００３から管理サーバ装置１００３が生成したＥＣＤＨ鍵交換のパラメータ（Ｅ、Ｐ）１１０３およびＩＤベース署名のパラメータ（署名）１１０４と、管理サーバ装置１００２が生成したＥＣＤＨ鍵交換のパラメータ（Ｅ、Ｐ）１１０１およびＩＤベース署名のパラメータ（署名）１１０２を取得している。
また、端末装置Ａ１００４は自身のＩＤ１１０５に対応したＩＤベース署名の秘密鍵１１０６を管理サーバ装置１００２から取得しており、端末装置Ｂ１００６もＩＤ１１０７に対応したＩＤベース署名の秘密鍵１１０８を管理サーバ装置１００３から取得している。
更に、端末装置Ａ１００４は端末装置Ｂ１００６のＩＤ１１０７を保有しており、また、端末装置Ｂ１００６も端末装置Ａ１００４のＩＤ１１０５を保有している。
【００７１】
まず、端末装置Ａ１００４と端末装置Ｂ１００６はＥＣＤＨ鍵交換のパラメータ（Ｅ、Ｐ）をパラメータ（Ｅ、Ｐ）１１０１とパラメータ（Ｅ、Ｐ）１１０３のどちらかから選択する。
ここでは便宜上、選択したパラメータをパラメータ（Ｅ、Ｐ）１１０９とする。
選択の方法は、どのようなものであってもよい。
なお、選択されたパラメータ（Ｅ、Ｐ）１１０９は鍵生成用選択パラメータの例である。
【００７２】
なお、本実施の形態では、部分鍵鍵生成時及び暗号鍵生成時に選択されたパラメータ（Ｅ、Ｐ）１１０９を端末装置間で共通に使用し、また、電子署名生成時及び電子署名検証時にはパラメータ（署名）１１０２とパラメータ（署名）１１０４の２つを使用している点が異なるのみであり、鍵交換のための処理手順自体は実施の形態に１に示したものと同様である。
【００７３】
最初に、端末装置Ａ１００４は、所定の乱数値とパラメータ（Ｅ、Ｐ）１１０９を使って楕円曲線演算を行って部分鍵ｔＡ１２０１を生成して、端末装置Ｂ１００６に送信する。
端末装置Ｂ１００６は部分鍵ｔＡ１２０１を受信した後、所定の乱数値とパラメータ（Ｅ、Ｐ）１１０９を使って楕円曲線演算を行って部分鍵ｔＢ１２０２を生成する。
また、部分鍵ｔＢ１２０２の生成に用いた乱数と部分鍵ｔＡ１２０１に楕円曲線演算を行って暗号鍵Ｚ＿ＡＢ１２０３を計算する。
また、端末装置Ｂ１００６は、部分鍵ｔＡ１２０１と部分鍵ｔＢ１２０２に対して、管理サーバ装置１００３が生成したパラメータ（署名）１１０４と管理サーバ装置１００３が生成した秘密鍵１１０８を用いて、電子署名（＝Ｓｉｇｎ＿Ｂ（ｔＡ，ｔＢ））１２０４を施す。
さらに端末装置Ｂ１００６は部分鍵ｔＢ１２０２と電子署名１２０４を端末装置Ａ１００４に送信する。
【００７４】
端末装置Ａ１００４は、部分鍵ｔＢ１２０２と電子署名１２０４を受信したら、管理サーバ装置１００３が生成したパラメータ（署名）１１０４と端末装置Ｂ１００６の公開ＩＤ１１０７を使って、電子署名１２０４の検証を行う。
電子署名が正規のものである（通信相手が端末装置Ｂ１００６である）と確認できたならば、部分鍵ｔＡ１２０１の生成に用いた乱数値と部分鍵ｔＢ１２０２に楕円曲線演算を行って暗号鍵Ｚ＿ＢＡ１２０５を計算する。
この暗号鍵Ｚ＿ＢＡ１２０５は、端末装置Ｂ１００６と共有する鍵となる。
また、端末装置Ａ１００４は、部分鍵ｔＡ１２０１と部分鍵ｔＢ１２０２に対してパラメータ（署名）１１０２と秘密鍵１１０６による電子署名（＝Ｓｉｇｎ＿Ａ（ｔＢ，ｔＡ））１２０６を施す。
さらに、端末装置Ａ１００４は電子署名１２０６を端末装置Ｂ１００６に送信する。
【００７５】
端末装置Ｂ１００６は電子署名１２０６を受信し、パラメータ（署名）１１０２と端末装置Ａ１００４の公開ＩＤ１１０５を使って、電子署名１２０６の検証を行う。
端末装置Ｂ１００６は、電子署名１２０６が端末装置Ａ１００４によって正しく作成されたものである（通信相手が端末装置Ａ１００４である）と確認できたならば、正常に処理が完了したことになる。
そうでなければ、不正な処理が行われたとして、処理を終了する。
電子署名１２０６が端末装置Ａ１００４によって正しく作成されたものであると確認できない場合は、暗号鍵Ｚ＿ＡＢ１２０３は安全ではないと考えられるので使用しない。
【００７６】
なお、後述するようにＺ＿ＡＢ１２０３＝Ｚ＿ＢＡ１２０５となっているため、端末装置Ａ１００４及び端末装置Ｂ１００６の両者において電子署名の検証に成功した場合は、Ｚ＿ＡＢ１２０３（＝Ｚ＿ＢＡ１２０５）を共有する暗号鍵とする、もしくは、Ｚ＿ＡＢ１２０３（＝Ｚ＿ＢＡ１２０５）から生成できるものを共有する暗号鍵とすることで、暗号鍵の共有が完了する。
【００７７】
次に、図１７に基づき、実施の形態２において、例えば、端末装置Ａ１００４と端末装置Ｂ１００６が暗号鍵の共有を行う場合の処理について説明する。
図１７は図１６の通信処理に関して施す処理のフロー図を示した図である。
【００７８】
端末装置Ａ１００４は乱数ｒＡを生成し（ステップ１３０１）、パラメータ（Ｅ、Ｐ）１１０９から部分鍵ｔＡ１２０１＝（ｒＡ＊Ｐ）を計算し（ステップ１３０２）、部分鍵ｔＡ１２０１を端末装置Ｂ１００６に送信する（ステップ１３０３）。
【００７９】
端末装置Ｂ１００６は端末装置Ａ１００４から部分鍵ｔＡ１２０１を受信し（ステップ１３０４）、乱数ｒＢを生成し（ステップ１３０５）、パラメータ（Ｅ、Ｐ）１１０９から部分鍵ｔＢ１２０２＝（ｒＢ＊Ｐ）を計算し（ステップ１３０６）、暗号鍵Ｚ＿ＡＢ１２０３＝（ｒＢ＊ｔＡ）を計算する（ステップ１３０７）。
また、端末装置Ｂ１００６は部分鍵ｔＡ１２０１と部分鍵ｔＢ１２０２に対して、パラメータ（署名）１１０４と秘密鍵１１０８による電子署名（＝Ｓｉｇｎ＿Ｂ（ｔＡ，ｔＢ））１２０４を施し（ステップ１３０８）、端末装置Ａ１００４に部分鍵ｔＢ１２０２と電子署名１２０４を送信する（ステップ１３０９）。
【００８０】
端末装置Ａ１００４は端末装置Ｂ１００６から部分鍵ｔＢ１２０２と電子署名１２０４を受信し（ステップ１３１０）、パラメータ（署名）１１０４と端末装置Ｂ１００６のＩＤ１１０７を使って電子署名１２０４の検証を行う（ステップ１３１１）。
電子署名１２０４が不正であると確認できたならば、処理を終了する。
電子署名１２０４が正規のものであれば、暗号鍵Ｚ＿ＢＡ１２０５＝（ｒＡ＊ｔＢ）を計算する（ステップ１３１２）。
また、端末装置Ａ１００４は、部分鍵ｔＡ１２０１と部分鍵ｔＢ１２０２に対して、パラメータ（署名）１１０２と秘密鍵１１０６による電子署名（＝Ｓｉｇｎ＿Ａ（ｔＢ，ｔＡ））１２０６を施し（ステップ１３１３）、端末装置Ｂ１００６に電子署名１２０６を送信する（ステップ１３１４）。
【００８１】
端末装置Ｂ１００６は端末装置Ａ１００４から電子署名１２０６を受信し（ステップ１３１５）、パラメータ（署名）１１０２と端末装置Ａ１００４のＩＤ１１０５を使って、電子署名１２０６の検証を行う（ステップ１３１６）。
電子署名１２０６が不正であると確認できたならば、処理を終了する。
電子署名１２０６が正規のものであれば、ステップ１３０７で生成された暗号鍵Ｚ＿ＡＢ１２０３（＝Ｚ＿ＢＡ１２０５）を端末装置Ａ１００４と端末装置Ｂ１００６の間で用いる共有鍵とする。
【００８２】
次に図１８に基づき、実施の形態２において、異なる管理サーバ装置の管理下にある端末装置間の鍵共有を可能とするために、例えば、管理サーバ装置１００２から管理サーバ装置１００３にＥＣＤＨ鍵交換のパラメータ９１とＩＤベース署名のパラメータ９２を送信する場合の動作概要について説明する。
【００８３】
管理サーバ装置１００２は管理下の端末装置で使われている、ＥＣＤＨ鍵交換のパラメータ９１とＩＤベース署名のパラメータ９２を、管理サーバ装置１００３に送信する。
このとき、管理サーバ装置１００２はパラメータ９１とパラメータ９２に対する自身の電子署名を付与する。
パラメータ９１とパラメータ９２を受信した管理サーバ装置１００３は、後述する方法により管理下の端末装置にパラメータ９１とパラメータ９２を送信する。
【００８４】
次に図１９に基づき、実施の形態２において、異なる管理サーバ装置の管理下にある端末装置間の鍵共有を可能とするために、例えば、管理サーバ装置１００２から管理サーバ装置１００３にＥＣＤＨ鍵交換のパラメータ９１とＩＤベース署名のパラメータ９２を送信する場合の処理について説明する。
【００８５】
管理サーバ装置１００２は後述するパラメータ記憶部からＥＣＤＨ鍵交換で用いるパラメータ９１である楕円曲線関数Ｅおよび楕円曲線上の点Ｐ、および、ＩＤベース署名のパラメータ９２を取得し（ステップ１４０１）、パラメータ９１とパラメータ９２を管理サーバ装置１００３に送信する（ステップ１４０２）。
【００８６】
管理サーバ装置１００３はパラメータ９１とパラメータ９２を受信し（ステップ１４０３）、パラメータ９２に付与されている電子署名の検証を行う。
電子署名が正規のものであれば、パラメータ９１とパラメータ９２を電子署名と共にパラメータ記憶部に保持する（ステップ１４０４）。
電子署名が正しくなければ、パラメータ記憶部の情報に変更を加えることなく、処理を終了する。
【００８７】
次に、図２０に基づき、実施の形態２における管理サーバ装置１００２及び管理サーバ装置１００３の機能について説明する。
図２０は管理サーバ装置１００２及び管理サーバ装置１００３の機能構成を説明する機能ブロック図である。
ここでは、便宜上、管理サーバ装置に参照符号１５０１を付した。
【００８８】
管理サーバ装置１５０１は、通信インターフェイス１５０２、ＥＣＤＨ鍵共有パラメータ生成部１５０３、秘密鍵生成部１５０４、ＩＤベース署名パラメータ生成部１５０５、パラメータ送信部１５０６、パラメータ受信部１５０７、電子署名生成部１５０８、パラメータ配送部１５０９及びパラメータ記憶部１５１０より構成される。
通信インターフェイス１５０２、ＥＣＤＨ鍵共有パラメータ生成部１５０３、秘密鍵生成部１５０４、ＩＤベース署名パラメータ生成部１５０５は図８の端末装置８０１を構成しているものと同じ機能である。
【００８９】
パラメータ記憶部１５１０に保持されるパラメータは、ＥＣＤＨ鍵共有パラメータ生成部１５０３およびＩＤベース署名パラメータ生成部１５０５で生成されたパラメータとパラメータ受信部１５０７が他の管理サーバ装置から受信したパラメータである。
【００９０】
パラメータ送信部１５０６はパラメータ記憶部１５１０から、管理サーバ装置１５０１が生成したＥＣＤＨ鍵交換のパラメータである楕円曲線関数Ｅおよび楕円曲線上の点ＰとＩＤベース署名のパラメータを取得し、自身の電子署名を付与して、他の管理サーバ装置に送信する。
【００９１】
パラメータ受信部１５０７は他の管理サーバ装置から、ＥＣＤＨ鍵交換のパラメータである楕円曲線関数Ｅおよび楕円曲線上の点ＰとＩＤベース署名のパラメータを受信し、電子署名の検証を行った上で、電子署名が正規のものであれば、該当のパラメータと電子署名をパラメータ記憶部１５１０に保持する。
【００９２】
電子署名生成部１５０８はＥＣＤＨ鍵共有パラメータ生成部１５０３およびＩＤベース署名パラメータ生成部１５０５のどちらか一方または両方で生成されたパラメータに対する管理サーバ装置１５０１の電子署名を付与する。
【００９３】
パラメータ配送部１５０９は、パラメータ記憶部１５１０に保持されている、ＩＤベース署名のパラメータとＥＣＤＨ鍵交換のパラメータＥ、Ｐの中から配布対象の端末装置に配送が許可されているものを抽出し、抽出したパラメータと付与されている電子署名を配布対象の端末装置に配送する。
【００９４】
次に、図２１に基づき、実施の形態２において、例えば、管理サーバ装置１００２が、自身が生成したもしくは管理サーバ装置１００３から受信した、パラメータ１６０１を、端末装置Ａ１００４〜端末装置１００５に配布する場合の動作概要ついて説明する。
ここで、パラメータ１６０１は、ＥＣＤＨ鍵交換で用いるパラメータである楕円曲線関数Ｅおよび楕円曲線上の点ＰとＩＤベース署名で用いるパラメータで構成されている。
【００９５】
管理サーバ装置１００２は管理下の端末装置Ａ１００４〜端末装置１００５に対して、パラメータ１６０１を配布する。
このとき、配布する方法はマルチキャスト通信であっても、１対１の通信であってもかまわない。
さらに、必要に応じて通信の暗号化を行ってもかまわない。
また、通信路上の事故や配布時に端末装置が未接続だった場合など、一度目の配布でパラメータを受信できなかった端末装置のために、配布は一度だけではなく、状況に応じて定期または不定期に繰り返し行ってもかまわない。
【００９６】
次に図２２に基づき、実施の形態２において、例えば、管理サーバ装置１００２でパラメータ１６０１を生成し、端末装置Ａ１００４に対して、配布する場合の処理について説明する。
【００９７】
管理サーバ装置１００２はＥＣＤＨ鍵交換で用いるパラメータである楕円曲線関数Ｅおよび楕円曲線上の点Ｐを後述するＥＣＤＨ鍵共有パラメータ生成部１５０３により生成し（ステップ１７０１）、ＩＤベース署名のパラメータをＩＤベース署名パラメータ生成部１５０５により生成する（ステップ１７０２）。
上記の二つのパラメータを併せたものが前述のパラメータ１６０１に該当する。
管理サーバ装置１００２はパラメータ１６０１に対して、電子署名１７１１を付与する（ステップ１７０３）。
また、管理サーバ装置１００２は、パラメータ１６０１と電子署名１７１１を端末装置Ａ１００４に送信する（ステップ１７０４）。
【００９８】
端末装置Ａ１００４はパラメータ１６０１と電子署名１７１１を受信し（ステップ１７０５）、電子署名１７１１を検証する（ステップ１７０６）。
電子署名１７１１が正しいと確認できたならば、パラメータ１６０１をパラメータ記憶部内のパラメータテーブルに保持する（ステップ１７０７）。ここで、パラメータテーブルには、パラメータを生成した管理サーバ装置のＩＤと、パラメータおよびパラメータに対する管理サーバ装置の電子署名が併記されている。図２２の場合、管理サーバ装置１００２のＩＤとパラメータ１６０１、電子署名１７１１がパラメータテーブルに記載されることになる。
パラメータを変更しないで、繰り返して配布する場合は、ステップ１７０４から処理を開始する。また、パラメータを変更する場合はステップ１７０１から処理を開始する。
【００９９】
なお、ここでは、管理サーバ装置１００２がパラメータ１６０１と電子署名１７１１を管理下にある端末装置に送信することとしているが、ＩＤベース署名のパラメータについては、管理サーバ装置１００２から端末装置Ａ１００４に送信する以外に別途安全な方法（システム導入時に、管理下にある端末装置にＩＤベース署名のパラメータを予め組込んでおく等）を用いてもよい。
【０１００】
次に図２３に基づき、実施の形態２において、例えば、管理サーバ装置１００３で生成したパラメータ１６０１を、管理サーバ装置１００２から端末装置Ａ１００４に対して、配布する場合の処理について説明する。
ここでは、管理サーバ装置１００３から管理サーバ装置１００２にパラメータ１６０１と電子署名１７１１はすでに送信されているものとする。
【０１０１】
まず、管理サーバ装置１００２は端末装置Ａ１００４が管理サーバ装置１００３の管理下にある端末装置と鍵共有を行うことが許可されているか確認する（ステップ１７５１）。
許可されていることが確認できたならば、パラメータ１６０１と電子署名１７１１を端末装置Ａ１００４に送信する（ステップ１７５２）。
【０１０２】
端末装置Ａ１００４はパラメータ１６０１と電子署名１７１１を受信し（ステップ１７５３）、電子署名１７１１を検証する（ステップ１７５４）。
電子署名１７１１が正しいと確認できたならば、パラメータ１６０１をパラメータ記憶部内のパラメータテーブルに保持する（ステップ１７５５）。
例えば、管理サーバ装置１００３のＩＤとパラメータ１６０１、電子署名１７１１がパラメータテーブルに記載されることになる。
繰り返して配布する場合は、ステップ１７５１から処理を開始する。
【０１０３】
なお、図２３の例では、管理サーバ装置１００２は、管理サーバ装置１００３から受信した電子署名１７１１をそのままパラメータ１６０１とともに端末装置Ａ１００４に送信することとしているが、管理サーバ装置１００２は新たな電子署名を用いるようにしてもよい。
つまり、管理サーバ装置１００２は、管理サーバ装置１００２と端末装置Ａ１００４とがともに保有する電子署名用のパラメータ（管理サーバ装置１００２と端末装置Ａ１００４が属する組織で用いられる電子署名用のパラメータ）を用いて新たに電子署名を生成し、管理サーバ装置１００３からの電子署名１７１１に代えて、生成した新たな電子署名を送信するようにしてもよい。
【０１０４】
なお、端末装置Ａ１００４〜１００７の内部構成は、図８に示したものと同様である。
また、部分鍵生成部８０４の動作フローも図９に示すとおりである。なお、本実施の形態では、ステップ８２２で取得するパラメータＥ、Ｐは端末間で選択されたパラメータ（Ｅ、Ｐ）１１０９である。また、部分鍵生成時の楕円曲線演算部８０３も動作も実施の形態１と同じであるが、楕円曲線演算に用いるパラメータＥ、Ｐは端末間で選択されたパラメータ（Ｅ、Ｐ）１１０９である。
また、暗号鍵生成部８０５の動作フローも図１０に示すとおりである。なお、本実施の形態では、ステップ８２７で取得するパラメータＥは端末間で選択されたパラメータ（Ｅ、Ｐ）１１０９のうちのＥである。また、暗号鍵生成時の楕円曲線演算部８０３も動作も実施の形態１と同じであるが、楕円曲線演算に用いるパラメータＥは端末間で選択されたパラメータ（Ｅ、Ｐ）１１０９のうちのＥである。
また、電子署名生成部８０７の動作フローも図１１に示すとおりである。なお、本実施の形態では、ステップ８３４で取得し、ステップ８３５で用いるＩＤベース署名のパラメータは自装置のパラメータである。つまり、本実施の形態では、端末装置Ａ１００４は、管理サーバ装置１００２で生成されたパラメータ（署名）１１０２を用いて電子署名を行う。
また、電子署名検証部８０６の動作フローも図１１に示すとおりである。なお、本実施の形態では、ステップ８３９で取得し、ステップ８４０で用いるＩＤベース署名のパラメータは他の端末装置のパラメータである。つまり、本実施の形態では、端末装置Ａ１００４は、管理サーバ装置１００３で生成されたパラメータ（署名）１１０４を用いて電子署名の検証を行う。
【０１０５】
次に、例えば、管理者の判断などによって、端末装置Ａ１００４が他組織に属する管理サーバ装置１００３の管理下にある端末装置と鍵共有を行うことを許可しなくなった場合に、管理サーバ装置１００２および端末装置Ａ１００４がＩＤベース署名のパラメータを削除する処理について説明する。
【０１０６】
ＩＤベース署名を用いる場合、検証者のＩＤを公開鍵とするため、公開鍵を無効化するためには、署名者は検証者のＩＤを自身の記憶装置から削除することになる。
ところが、このＩＤは、電子メールアドレス等の他の用途に用いられるＩＤである場合がある。このため、公開鍵の無効化のためにＩＤ自体を削除することができない場合がある。
そこで、以下では、公開鍵を無効化する方式として、ＩＤベース署名のパラメータを削除する。
これにより、ＩＤを公開鍵として用いることができなくなるため、ＩＤを削除しなくても公開鍵を無効化することができる。
【０１０７】
図２４は、ＩＤベース署名のパラメータを削除するための手順を示す。
まず、管理サーバ装置１００２は端末装置Ａ１００４のパラメータ記憶部に管理サーバ装置１００３のパラメータ１６０１が保持されているか確認する（ステップ１７６１）。
例えば、以前に管理サーバ装置１００２から端末装置Ａ１００４に送信したパラメータのログを参照する。
パラメータ１６０１が保持されていなければ、処理を終了する。
保持が確認されたならば、管理サーバ装置１００２は端末装置Ａ１００４にパラメータ削除命令を送信する（ステップ１７６２）。
パラメータ削除命令には、削除対象となるパラメータを指す情報と管理サーバ装置１００２の電子署名が含まれている。
【０１０８】
端末装置Ａ１００４はパラメータ削除命令を受信し（ステップ１７６３）、付与されている電子署名を検証する（ステップ１７６４）。
電子署名が正しいと確認できたならば、削除対象を指す情報に記載されているパラメータをパラメータ記憶部内のパラメータテーブルから削除する（ステップ１７６５）。
図２４の場合、パラメータテーブル内の管理サーバ装置１００３のＩＤの箇所に記載されているパラメータと電子署名を削除する。
【０１０９】
次に図２５に基づき、実施の形態２における端末装置Ａ１００４〜１００５、１００６〜１００７の機能について説明する。
図２５は端末装置Ａ１００４〜１００５、１００６〜１００７の機能構成を説明する機能ブロック図である。
ここでは、便宜上、端末装置に参照符号１８０１を付した。
【０１１０】
端末装置１８０１は、通信インターフェイス１８０２、楕円曲線演算部１８０３、部分鍵生成部１８０４、暗号鍵生成部１８０５、電子署名検証部１８０６、電子署名生成部１８０７、パラメータ取得部１８０８、秘密鍵取得部１８０９、パラメータ削除部１８１０、暗号鍵記憶部１８１１、秘密鍵記憶部１８１２、パラメータ記憶部１８１３及びＩＤ記憶部１８１４より構成される。
通信インターフェイス１８０２、楕円曲線演算部１８０３、部分鍵生成部１８０４、暗号鍵生成部１８０５、電子署名検証部１８０６、電子署名生成部１８０７、秘密鍵取得部１８０９、暗号鍵記憶部１８１１、秘密鍵記憶部１８１２及びＩＤ記憶部１８１４は、図８の端末装置８０１を構成しているものと同じ機能である。
【０１１１】
パラメータ記憶部１８１３には、パラメータを生成した管理サーバ装置毎に鍵共有を行う場合に用いるパラメータが管理・保持される。
例えば、図２６に示したテーブルの形式で保持され、管理サーバ装置のＩＤとパラメータおよび電子署名が併記される。
また、パラメータを取得していない管理サーバ装置に該当する欄はＩＤを除き空欄となる。
なお、実施の形態２では、パラメータ記憶部１８１３は、第１の署名用パラメータ記憶部、第２の署名用パラメータ記憶部、鍵生成用選択パラメータ記憶部の例となる。
【０１１２】
パラメータ取得部１８０８は通信インターフェイス１８０２を介して端末装置１８０１を管理している管理サーバ装置からパラメータおよびそれらに付与されている電子署名を取得する。
ここでパラメータはＥＣＤＨ鍵交換のパラメータであるＥ、ＰとＩＤベース署名で用いるパラメータで構成されている。
電子署名は電子署名検証部１８０６によって検証が行われ、電子署名が正しいと確認された場合に限り、パラメータおよび電子署名はパラメータ記憶部１８１３内のテーブルの、パラメータおよび電子署名を作成した管理サーバ装置のＩＤの欄に記載される。
このとき該当するＩＤがテーブルにない場合は新たに作成する。
【０１１３】
パラメータ削除部１８１０は通信インターフェイス１８０２を介して管理サーバ装置からパラメータ削除命令を受信する。
受信したパラメータ削除命令には、削除対象となるパラメータを指す情報と管理サーバ装置の電子署名が含まれている。
電子署名は電子署名検証部１８０６によって検証が行われ、電子署名が正しいと確認された場合に限り、削除対象となるパラメータを指す情報に基づき、該当するパラメータをパラメータ記憶部１８１３内のテーブルから削除する。
例えば、削除対象となるパラメータを指す情報に「管理サーバ装置Ｓｅｒｖ＿Ｃのパラメータを無効化する」と記載されている場合は、テーブル内のＩＤが「Ｓｅｒｖ＿Ｃ」と記載されている欄のパラメータと電子署名を削除する。
また、「管理サーバ装置Ｓｅｒｖ＿Ｃを削除する」と記載されている場合は、テーブル内のＩＤが「Ｓｅｒｖ＿Ｃ」と記載されている欄をすべて削除する。
該当するパラメータがテーブル内にない場合は処理を終了する。
【０１１４】
このように構成された管理サーバ装置及び端末装置においては、異なる管理サーバ装置の管理下にある端末装置間であっても、実施の形態１における端末装置間の処理と同様に、公開鍵証明書の検証処理やＰＫＩを行うための追加設備を必要とすることなく、不正者による偽造などの不正を受けることのない暗号鍵の共有を行うことが可能である。
【０１１５】
また、ＩＤベース署名はＩＤを公開鍵として電子署名を実現する方式であるが、互いにパラメータを共有していることが前提となっている。
公開鍵を無効化するためには、署名者は検証者のＩＤを自身の記憶装置から削除することになる。ところが、ＩＤは他の用途に用いられることが考えられ、公開鍵の無効化のためにＩＤを削除することができない場合がある。
そのため、本実施の形態では、公開鍵を無効化する方式として、上述の方式のように、管理サーバ装置が管理下の端末装置にパラメータ削除命令を送信し、端末装置からＩＤベース署名のパラメータを削除する。
パラメータの削除により、ＩＤを公開鍵として用いることができなくなるため、ＩＤを削除することなく公開鍵を無効化し、端末装置間の鍵共有を管理サーバ装置が制限することを可能にしている。
【０１１６】
つまり、実施の形態２に係る鍵共有方法は、実施の形態１に係る鍵共有方法の動作にくわえて、管理サーバ装置間でＥＣＤＨ鍵交換のパラメータとＩＤベース署名のパラメータを送受信し、異なる管理サーバ装置の管理下である端末装置間で暗号鍵を共有するために、ＥＣＤＨ鍵交換を行うとともにＩＤベース署名による電子署名を互いに送信し、また、管理サーバ装置が管理下にある端末装置から意図したパラメータを削除することにより端末装置間の鍵共有を制限する。
【０１１７】
以上、本実施の形態では、異なる組織に所属している端末同士で鍵共有を行う場合、各組織の管理サーバ同士で互いの組織の公開パラメータと付与されている電子署名を交換し、互いに電子署名を検証した後、各組織の管理サーバが相手側の公開パラメータを組織内の端末に配送することにより、異なる組織間の端末同士であっても上記鍵共有が実現できる通信システムを説明した。
【０１１８】
また、本実施の形態では、管理サーバが組織内の端末に異なる組織の管理サーバから受信した公開パラメータを配送する場合に、公開パラメータに付与されている異なる組織の管理サーバの電子署名も組織内の端末に配送し、受信した端末が電子署名を検証する通信システムを説明した。
【０１１９】
また、本実施の形態では、管理サーバが組織内の端末に異なる組織の管理サーバから受信した公開パラメータを配送する場合に、公開パラメータに自身の電子署名を付与して組織内端末に配送し、受信した端末が電子署名を検証する通信システムを説明した。
【０１２０】
また、本実施の形態では、すでに外部のある組織の公開パラメータを組織内の端末に配送しており、前述の外部の組織の公開パラメータを組織内の端末が保持している状態にある場合に、管理サーバからの指示により、前述の外部の組織のパラメータを組織内の端末に削除させることで、ＩＤベース署名における公開鍵に該当するＩＤを削除することなく、ＩＤを公開鍵として機能させないことを可能とする通信システムを説明した。
【０１２１】
最後に、実施の形態１及び２に示した端末装置及び管理サーバ装置のハードウェア構成例について説明する。
図２７は、実施の形態１及び２に示す端末装置及び管理サーバ装置のハードウェア資源の一例を示す図である。
なお、図２７の構成は、あくまでも端末装置及び管理サーバ装置のハードウェア構成の一例を示すものであり、端末装置及び管理サーバ装置のハードウェア構成は図２７に記載の構成に限らず、他の構成であってもよい。
【０１２２】
図２７において、端末装置及び管理サーバ装置は、プログラムを実行するＣＰＵ１９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ１９１１は、バス１９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１９１４、通信ボード１９１５、表示装置１９０１、キーボード１９０２、マウス１９０３、磁気ディスク装置１９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ１９１１は、ＦＤＤ１９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置１９０５（ＣＤＤ）、プリンタ装置１９０６、スキャナ装置１９０７と接続していてもよい。また、磁気ディスク装置１９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ１９１４は、揮発性メモリの一例である。ＲＯＭ１９１３、ＦＤＤ１９０４、ＣＤＤ１９０５、磁気ディスク装置１９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１及び２で説明したパラメータ記憶部８１０、秘密鍵記憶部８１２等の「〜記憶部」は、ＲＡＭ１９１４、磁気ディスク装置１９２０等により実現される。
通信ボード１９１５、キーボード１９０２、マウス１９０３、スキャナ装置１９０７、ＦＤＤ１９０４などは、入力装置の一例である。
また、通信ボード１９１５、表示装置１９０１、プリンタ装置１９０６などは出力装置の一例である。
【０１２３】
通信ボード１９１５は、図１等に示すように、ネットワークに接続されている。例えば、通信ボード１９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【０１２４】
磁気ディスク装置１９２０には、オペレーティングシステム１９２１（ＯＳ）、ウィンドウシステム１９２２、プログラム群１９２３、ファイル群１９２４が記憶されている。
プログラム群１９２３のプログラムは、ＣＰＵ１９１１がオペレーティングシステム１９２１、ウィンドウシステム１９２２を利用しながら実行する。
【０１２５】
また、ＲＡＭ１９１４には、ＣＰＵ１９１１に実行させるオペレーティングシステム１９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ１９１４には、ＣＰＵ１９１１による処理に必要な各種データが格納される。
【０１２６】
また、ＲＯＭ１９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置１９２０にはブートプログラムが格納されている。
端末装置及び管理サーバ装置の起動時には、ＲＯＭ１９１３のＢＩＯＳプログラム及び磁気ディスク装置１９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム１９２１が起動される。
【０１２７】
上記プログラム群１９２３には、実施の形態１及び２の説明において「〜部」（「〜記憶部」以外、以下でも同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ１９１１により読み出され実行される。
【０１２８】
ファイル群１９２４には、実施の形態１及び２の説明において、「〜の判断」、「〜の判定」、「〜の計算」、「〜の演算」、「〜の比較」、「〜の検証」、「〜の生成」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ１９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１及び２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ１９１４のメモリ、ＦＤＤ１９０４のフレキシブルディスク、ＣＤＤ１９０５のコンパクトディスク、磁気ディスク装置１９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス１９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１２９】
また、実施の形態１及び２の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ１９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ１９１１により読み出され、ＣＰＵ１９１１により実行される。すなわち、プログラムは、実施の形態１及び２の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１及び２の「〜部」の手順や方法をコンピュータに実行させるものである。
【０１３０】
このように、実施の形態１及び２に示す端末装置及び管理サーバ装置は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【０１３１】
１０１  ネットワーク、１０２  端末装置Ａ、１０３  端末装置Ｂ、１０４  管理サーバ装置、８０１  端末装置、８０２  通信インターフェイス、８０３  楕円曲線演算部、８０４  部分鍵生成部、８０５  暗号鍵生成部、８０６  電子署名検証部、８０７  電子署名生成部、８０８  パラメータ取得部、８０９  秘密鍵取得部、８１０  パラメータ記憶部、８１１  暗号鍵記憶部、８１２  秘密鍵記憶部、８１３  ＩＤ記憶部、９０１  管理サーバ装置、９０２  通信インターフェイス、９０３  ＥＣＤＨ鍵共有パラメータ生成部、９０４  秘密鍵生成部、９０５  ＩＤベース署名パラメータ生成部、９０６  パラメータ配送部、９０７  パラメータ記憶部、１００１  ネットワーク、１００２  管理サーバ装置、１００３  管理サーバ装置、１００４  端末装置Ａ、１００６  端末装置Ｂ、１５０１  管理サーバ装置、１５０２  通信インターフェイス、１５０３  ＥＣＤＨ鍵共有パラメータ生成部、１５０４  秘密鍵生成部、１５０５  ＩＤベース署名パラメータ生成部、１５０６  パラメータ送信部、１５０７  パラメータ受信部、１５０８  電子署名生成部、１５０９  パラメータ配送部、１５１０  パラメータ記憶部、１８０１  端末装置、１８０２  通信インターフェイス、１８０３  楕円曲線演算部、１８０４  部分鍵生成部、１８０５  暗号鍵生成部、１８０６  電子署名検証部、１８０７  電子署名生成部、１８０８  パラメータ取得部、１８０９  秘密鍵取得部、１８１０  パラメータ削除部、１８１１  暗号鍵記憶部、１８１２  秘密鍵記憶部、１８１３  パラメータ記憶部、１８１４  ＩＤ記憶部。
【図１】
2011082662.tif 000003
【図２】
2011082662.tif 000004
【図３】
2011082662.tif 000005
【図４】
2011082662.tif 000006
【図５】
2011082662.tif 000007
【図６】
2011082662.tif 000008
【図７】
2011082662.tif 000009
【図８】
2011082662.tif 000010
【図９】
2011082662.tif 000011
【図１０】
2011082662.tif 000012
【図１１】
2011082662.tif 000013
【図１２】
2011082662.tif 000014
【図１３】
2011082662.tif 000015
【図１４】
2011082662.tif 000016
【図１５】
2011082662.tif 000017
【図１６】
2011082662.tif 000018
【図１７】
2011082662.tif 000019
【図１８】
2011082662.tif 000020
【図１９】
2011082662.tif 000021
【図２０】
2011082662.tif 000022
【図２１】
2011082662.tif 000023
【図２２】
2011082662.tif 000024
【図２３】
2011082662.tif 000025
【図２４】
2011082662.tif 000026
【図２５】
2011082662.tif 000027
【図２６】
2011082662.tif 000028
【図２７】
2011082662.tif 000029