(57)【要約】【課題】送信側の端末装置が受信側の端末装置のＩＤと公開パラメータとを用いて暗号文を生成でき、なおかつ、エスクロー性を回避する。【解決手段】鍵生成装置１０が、マスター秘密鍵と何れかの利用者に対応する公開ＩＤ情報とを用い、当該公開ＩＤ情報をＩＤとする階層型ＩＤベース暗号方式の第１秘密鍵を生成して出力する。端末装置３０は、この第１秘密鍵と秘密ＩＤ情報とを用い、公開ＩＤ情報と秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵を生成する。【選択図】図１
2010161527.tif 000002
【特許請求の範囲】
【請求項１】
階層型ＩＤベース暗号方式の各秘密鍵を生成するためのマスター秘密鍵と、秘密鍵を利用する利用者に対応する公開ＩＤ情報と、が少なくとも格納された第１記憶部と、
前記第１記憶部から読み込んだ前記マスター秘密鍵と何れかの利用者に対応する公開ＩＤ情報とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、当該公開ＩＤ情報をＩＤとする階層型ＩＤベース暗号方式の第１秘密鍵を生成する第１秘密鍵生成部と、
前記第１秘密鍵を出力する出力部と、を含む鍵生成装置と、
或る利用者に対応する秘密ＩＤ情報が格納された第２記憶部と、
前記鍵生成装置から出力された前記第１秘密鍵が入力される入力部と、
前記第２記憶部から読み込んだ前記秘密ＩＤ情報と前記入力部に入力された前記第１秘密鍵とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、前記公開ＩＤ情報と前記秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵を生成する第２秘密鍵生成部と、を含む端末装置とを有し、
前記鍵生成装置と前記端末装置とが、互いに独立した装置であり、
前記秘密ＩＤ情報が、前記鍵生成装置に対して非公開な情報であり、
前記第２秘密鍵が、前記公開ＩＤ情報と前記秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の暗号文を復号するための秘密鍵である、
ことを特徴とする暗号通信システム。
【請求項２】
階層型ＩＤベース暗号方式の各秘密鍵を生成するためのマスター秘密鍵と、秘密鍵を利用する利用者に対応する公開ＩＤ情報と、が少なくとも格納された第１記憶部と、
或る利用者に対応する秘密ＩＤ情報をランダム数によってランダム化して得られたランダム化秘密ＩＤ情報が入力される入力部と、
前記マスター秘密鍵と、前記ランダム化秘密ＩＤ情報に対応する利用者に対応する公開ＩＤ情報とを第１記憶部から読み込み、これらを用いた階層型ＩＤベース暗号方式の鍵生成手順に従って、当該公開ＩＤ情報をＩＤとする階層型ＩＤベース暗号方式の第１秘密鍵を生成する第１秘密鍵生成部と、
前記第１秘密鍵と前記ランダム化秘密ＩＤ情報とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、前記公開ＩＤ情報と前記ランダム化秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵を生成する第２秘密鍵生成部と、
前記第２秘密鍵を出力する出力部と、を含む鍵生成装置と、
前記鍵生成装置から出力された前記第２秘密鍵が入力される入力部と、
前記第２秘密鍵と前記ランダム数とを用い、前記公開ＩＤ情報と前記秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第３秘密鍵を復元するランダム除去部と、を含む端末装置とを有し、
前記鍵生成装置と前記端末装置とが、互いに独立した装置であり、
前記秘密ＩＤ情報が、前記鍵生成装置に対して非公開な情報であり、
前記第３秘密鍵が、前記公開ＩＤ情報と前記秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の暗号文を復号するための秘密鍵である、
ことを特徴とする暗号通信システム。
【請求項３】
請求項１又は２の暗号通信システムであって、
前記公開ＩＤ情報が、秘密鍵を利用する利用者の公開情報に対応する情報であり、
前記秘密ＩＤ情報が、秘密鍵を利用する利用者と特定の関係にある者のみに公開された当該利用者の情報に対応する情報である、
ことを特徴とする暗号通信システム。
【請求項４】
請求項３の暗号通信システムであって、
前記公開ＩＤ情報が、秘密鍵を利用する利用者の正式名に対応する情報であり、
前記秘密ＩＤ情報が、秘密鍵を利用する利用者のニックネームに対応する情報である、
ことを特徴とする暗号通信システム。
【請求項５】
請求項１から４の何れかの暗号通信システムであって、
前記階層型ＩＤベース暗号方式が、当該階層型ＩＤベース暗号方式に従って生成された暗号文から当該暗号文に対応するＩＤを特定することが困難な匿名階層型ＩＤベース暗号方式である、
ことを特徴とする暗号通信システム。
【請求項６】
或る利用者に対応する公開ＩＤ情報を出力する出力部と、
前記利用者に対応する秘密ＩＤ情報が格納された第２記憶部と、
前記公開ＩＤ情報に対応する階層型ＩＤベース暗号方式の第１秘密鍵が入力される入力部と、
前記第２記憶部から読み込んだ前記秘密ＩＤ情報と前記入力部に入力された前記第１秘密鍵とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、前記公開ＩＤ情報と前記秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵を生成する第２秘密鍵生成部と、
を有する端末装置。
【請求項７】
或る利用者に対応する公開ＩＤ情報と、当該利用者に対応する秘密ＩＤ情報をランダム数によってランダム化して得られたランダム化秘密ＩＤ情報を出力する出力部と、
前記公開ＩＤ情報と前記ランダム化秘密ＩＤ情報とに対応する階層型ＩＤベース暗号方式の秘密鍵が入力される入力部と、
前記秘密鍵と前記ランダム数とを用い、前記公開ＩＤ情報と前記秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の秘密鍵を復元するランダム除去部と、
を有する端末装置。
【請求項８】
請求項１の暗号通信システムにおいて秘密鍵を生成する秘密鍵生成方法であって、
前記鍵生成装置の第１秘密鍵生成部が、前記第１記憶部から読み込んだ前記マスター秘密鍵と何れかの利用者に対応する公開ＩＤ情報とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、当該公開ＩＤ情報をＩＤとする階層型ＩＤベース暗号方式の第１秘密鍵を生成するステップと、
前記鍵生成装置の出力部が、前記第１秘密鍵を出力するステップと、
前記端末装置の入力部に、前記第１秘密鍵が入力されるステップと、
前記端末装置の第２秘密鍵生成部が、前記第２記憶部から読み込んだ前記秘密ＩＤ情報と前記入力部に入力された前記第１秘密鍵とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、前記公開ＩＤ情報と前記秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵を生成するステップと、
を有する秘密鍵生成方法。
【請求項９】
請求項２の暗号通信システムにおいて秘密鍵を生成する秘密鍵生成方法であって、
前記鍵生成装置の入力部に、或る利用者に対応する秘密ＩＤ情報をランダム数によってランダム化して得られたランダム化秘密ＩＤ情報が入力されるステップと、
前記鍵生成装置の第１秘密鍵生成部が、前記マスター秘密鍵と、前記ランダム化秘密ＩＤ情報に対応する利用者に対応する公開ＩＤ情報とを第１記憶部から読み込み、これらを用いた階層型ＩＤベース暗号方式の鍵生成手順に従って、当該公開ＩＤ情報をＩＤとする階層型ＩＤベース暗号方式の第１秘密鍵を生成するステップと、
前記鍵生成装置の第２秘密鍵生成部が、前記第１秘密鍵と前記ランダム化秘密ＩＤ情報とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、前記公開ＩＤ情報と前記ランダム化秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵を復元するステップと、
前記鍵生成装置の出力部が、前記第２秘密鍵を出力するステップと、
前記端末装置の入力部に、前記第２秘密鍵が入力されるステップと、
前記端末装置のランダム除去部が、前記第２秘密鍵と前記ランダム数とを用い、前記公開ＩＤ情報と前記秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第３秘密鍵を復元するステップと、
を有する秘密鍵生成方法。
【請求項１０】
請求項６又は７の端末装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＤベース暗号技術に関し、特に、ＩＤベース暗号の秘密鍵の生成に関する。
【背景技術】
【０００２】
ＲＳＡなどの通常の公開鍵暗号方式では、送信側の端末装置が事前に公開鍵を取得する必要がある。この場合、送信側の端末装置は、取得した公開鍵が正当な受信側の端末装置の公開鍵であることを何らかの形で担保する必要がある。送信側の端末装置が不正な端末装置の公開鍵を用いて暗号文を生成し、不正な端末装置に暗号文が復号されることを防止するためである。そのため、通常の公開鍵暗号方式では、認証局（Certificate Authority）が発行する公開鍵証明書によって公開鍵の正当性が担保される。しかし、この場合には、暗号通信を開始する前に公開鍵証明書の取得・検証といった煩雑な処理を行わなければならない。
【０００３】
これに対し、ＩＤベース暗号（Identify-based encryption）方式が提案された（例えば、非特許文献１〜３参照）。ＩＤベース暗号方式では、鍵発行装置がマスター秘密鍵と取得した受信装置のＩＤ（例えば、電話番号やＵＲＬなど）を用いて受信側の端末装置の秘密鍵を生成し、当該受信側の端末装置に発行する。送信側の端末装置は、受信側の端末装置のＩＤと公開パラメータのみを用いて暗号文を生成できる。ＩＤベース暗号方式の場合、受信側の端末装置のＩＤを知っている端末装置であれば、このＩＤを用いて生成した暗号文が正当な端末装置でのみ復号可能であることを確信できる。そのため、ＩＤベース暗号方式では、通常の公開鍵暗号方式のように事前に公開鍵証明書を取得する必要がなく、通常の公開鍵暗号方式に比べて利便性が高い。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】D. Boneh and M. Franklin, "Identify-based encryption from the Weil pairing", Advances in Cryptology 0 CRYTPO '01, volume 2139 of LNCS, pages 213-229, Springer, 2001.
【非特許文献２】Matthew Green and Susan Hohenberge, "Blind Identity-Based Encryption and Simulatable Oblivious Transfer", ASIACRYPT 2007, LNCS 4833, pp. 265-282, 2007.
【非特許文献３】Le Trieu Phong and Wakaha Ogata, "Blind HIBE and its Application to Blind Decryption", SCIS 2008, Jan. 2008.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩＤベース暗号方式では、鍵発行装置が受信側の端末装置のＩＤを取得して当該端末装置の秘密鍵を生成する。そのため、鍵発行装置にとって当該受信側の端末装置の秘密鍵は既知であり、このＩＤを用いて生成した暗号文は、当該受信側の端末装置だけではなく、鍵発行装置でも復号可能である（エスクロー性）。エスクロー性は、鍵発行装置が暗号文の内容を検閲する場面では役に立つ性質であるが、用途によってはプライバシー保護の観点から好ましくない性質である。
【０００６】
本発明はこのような点に鑑みてなされたものであり、送信側の端末装置が受信側の端末装置のＩＤと公開パラメータとを用いて暗号文を生成でき、なおかつ、エスクロー性を回避できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１形態では、階層型ＩＤベース暗号方式の各秘密鍵を生成するためのマスター秘密鍵と、秘密鍵を利用する利用者に対応する公開ＩＤ情報と、が少なくとも格納された第１記憶部と、第１記憶部から読み込んだマスター秘密鍵と何れかの利用者に対応する公開ＩＤ情報とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、当該公開ＩＤ情報をＩＤとする階層型ＩＤベース暗号方式の第１秘密鍵を生成する第１秘密鍵生成部と、第１秘密鍵を出力する出力部と、を含む鍵生成装置と、或る利用者に対応する秘密ＩＤ情報が格納された第２記憶部と、鍵生成装置から出力された第１秘密鍵が入力される入力部と、第２記憶部から読み込んだ秘密ＩＤ情報と入力部に入力された第１秘密鍵とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、公開ＩＤ情報と秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵を生成する第２秘密鍵生成部と、を含む端末装置とを有する暗号通信システム及びその秘密鍵生成方法が提供される。ここで、鍵生成装置と端末装置とは互いに独立した装置であり、秘密ＩＤ情報は鍵生成装置に対して非公開な情報であり、第２秘密鍵は公開ＩＤ情報と秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の暗号文を復号するための秘密鍵である。
【０００８】
また、本発明の第２形態では、階層型ＩＤベース暗号方式の各秘密鍵を生成するためのマスター秘密鍵と、秘密鍵を利用する利用者に対応する公開ＩＤ情報と、が少なくとも格納された第１記憶部と、或る利用者に対応する秘密ＩＤ情報をランダム数によってランダム化して得られたランダム化秘密ＩＤ情報が入力される入力部と、マスター秘密鍵と、ランダム化秘密ＩＤ情報に対応する利用者に対応する公開ＩＤ情報とを第１記憶部から読み込み、これらを用いた階層型ＩＤベース暗号方式の鍵生成手順に従って、当該公開ＩＤ情報をＩＤとする階層型ＩＤベース暗号方式の第１秘密鍵を生成する第１秘密鍵生成部と、
第１秘密鍵とランダム化秘密ＩＤ情報とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、公開ＩＤ情報とランダム化秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵を生成する第２秘密鍵生成部と、第２秘密鍵を出力する出力部と、を含む鍵生成装置と、鍵生成装置から出力された第２秘密鍵が入力される入力部と、第２秘密鍵とランダム数とを用い、公開ＩＤ情報と秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第３秘密鍵を復元するランダム除去部と、を含む端末装置とを有する暗号通信システム及びその秘密鍵生成方法が提供される。ここで、鍵生成装置と端末装置とは互いに独立した装置であり、秘密ＩＤ情報は鍵生成装置に対して非公開な情報であり、第３秘密鍵は公開ＩＤ情報と秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の暗号文を復号するための秘密鍵である。
【０００９】
本発明では、鍵生成装置に秘密ＩＤ情報を知られることなく、端末装置が自らの秘密鍵を得ることができる。そのため、端末装置が使用する秘密鍵が鍵生成装置に知られることもない。また、この秘密鍵は階層型ＩＤベース暗号方式の秘密鍵であり、送信側の端末装置は、受信側の端末装置のＩＤと公開パラメータとを用いて暗号文を生成できる。
【発明の効果】
【００１０】
本発明では、送信側の端末装置が受信側の端末装置のＩＤと公開パラメータとを用いて暗号文を生成でき、なおかつ、エスクロー性を回避できる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態の暗号通信システムの機能構成を例示したブロック図。
【図２】（ａ）は、鍵生成装置の鍵生成部の詳細構成の一例を示す図であり、（ｂ）は、端末装置の鍵生成部の詳細構成の一例を示す図である。
【図３】第１実施形態の秘密鍵の生成方法を説明するためのフローチャート。
【図４】（ａ）は、ステップＳ３の一例を説明するためのフローチャートであり、（ｂ）は、ステップＳ６の一例を説明するためのフローチャートである。
【図５】第２実施形態の暗号通信システムの機能構成を例示したブロック図。
【図６】（ａ）は、鍵生成装置の鍵生成部の詳細構成の一例を示す図であり、（ｂ）は、端末装置のランダム除去部の詳細構成の一例を示す図である。
【図７】第２実施形態の秘密鍵の生成方法を説明するためのフローチャート。
【図８】（ａ）は、ステップＳ１７の一例を説明するためのフローチャートであり、（ｂ）は、ステップＳ２０の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態を説明する。
〔記号・用語の定義〕
まず、実施形態で使用する記号・用語を定義する。
E：位数Tの有限体ＦT上で定義された楕円曲線。アフィン（affine）座標版のWeierstrass方程式
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6    …(1)
（ただし、a1,a2,a3,a4,a6∈FT）を満たす点(x,y)の集合に無限遠点と呼ばれる特別な点Ｏを付加したもので定義される。楕円曲線Ｅ上の任意の２点に対して楕円加算と呼ばれる二項演算及び楕円曲線Ｅ上の任意の１点に対して楕円逆元と呼ばれる単項演算がそれぞれ定義できる。また、この楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できることはよく知られている。また、それらの演算をコンピュータ上で効率的に実行する様々なアルゴリズムもよく知られている（例えば、参考文献１“イアン・Ｆ・ブラケ、ガディエル・セロッシ、ナイジェル・Ｐ・スマート＝著、「楕円曲線暗号」、出版＝ピアソン・エデュケーション、ISBN4-89471-431-0”等参照）。
【００１３】
＃E：楕円曲線E上の有理点からなる有限集合の要素数。有限体FT上で定義された楕円曲線Ｅの有理点の個数＃Eは有限である。
p：＃Eを割り切る大きい素数。
【００１４】
G：位数pの巡回群。本形態では、楕円曲線Ｅのp等分点からなる有限集合E[p]を巡回群Gとして用いる。楕円曲線Ｅ上の点Ａのうち、楕円曲線Ｅ上での楕円スカラー倍算値p・Aがp・A=Ｏを満たす点Ａの有限集合として定義される。E[p]は、Eの部分群である。なお、ε・η∈Gは、Gの元εとηとに対し、Gで定義された演算を行うことを意味する。また、εν∈G（ν∈Z）は、Gの元εに対し、Gで定義された演算をν回行うこと（ε・ε...ε・ε∈G）を意味する。本形態のGは、楕円曲線E上の有理点からなる有限集合の部分群であるため、ε・η∈Gは楕円曲線Ｅ上での点εとηとの楕円加算に相当し、εν∈Gは楕円曲線Ｅ上での点εの楕円スカラー倍算（ν倍算）に相当する。
【００１５】
g：巡回群Gの生成元。本形態の巡回群Gの位数pは素数であるため、巡回群Gのいずれかの元を生成元gとして選択すればよい。
Zp：pによる剰余類の加群（Z/pZ）。本実施形態では、その代表元をZpと表現する。また、代表元の一例は、0以上p-1以下の整数である。なお、ε∈Zpは、εが集合Zpの元であることを示す。
Zp*：pによる剰余類の乗法群（Z/pZ）*。Zpかつpと互いに素な整数の集合である。
【００１６】
GT：有限体FTを基礎体とする拡大体である有限集合。その一例は、有限体FTの代数閉包における１のp乗根からなる有限集合である。
e：非退化双線形ペアリング（pairing）関数（以下「ペアリング関数」と呼ぶ）であり、以下の式で定義される。
G×G=GT  …(2)
【００１７】
本形態で使用するペアリング関数eは次の性質を持つ。
［性質１］G上の任意の点A1に対して、e(A1,A1)=1が成り立つ。
［性質２］G上の任意の２点A1,A2に対して、e(A1,A2)=e(A2,A1)が成り立つ。
［性質３］G上の任意の３点A1,A2,A3に対して、e(A1+A2,A3)=e(A1,A3)e(A2,A3)であり、e(A1,A2+A3)=e(A1,A2)e(A1,A3)が成り立つ。
［性質４］G上の任意の点A1に対して、e(A1,O)=1が成り立つ。
［性質５］G上のある点A1がG上のすべての点Ａ２に対して、e(A1,A2)=1を満たすなら、A1=Oが成り立つ。
【００１８】
なお、このようなペアリング関数ｅの具体例としては、例えば、参考文献２「"IEEE P1636.3TM/D1 Draft Standard for Identity-based Public-key Cryptography Using Pairings", [URL: http://grouper.ieee.org/groups/1363/IBC/material/P1363.3-D1-200805.pdf], pp.24-25, April 2008」に開示された関数e(A1,φ(A2))を例示できる。参考文献２にあるように、この関数は、ＷｅｉｌペアリングやＴａｔｅペアリングなどの関数に写像φを組み合わせたもので実現できる。ここで、写像φは以下のようになる。
φ(x,y) = (v-1x,v-3/2y)（楕円曲線Eが２次のツイストを持つ場合）
φ(x,y) = (v-1/3x,v-1/2y)（楕円曲線Eが４又は６次のツイストを持つ場合）
【００１９】
ただし、vは有限体ＦTの平方非剰余な元v∈ＦTである。また、ＷｅｉｌペアリングやＴａｔｅペアリングについては、例えば、参考文献３「Alfred. J. Menezes，ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS， KLUWER ACADEMIC PUBLISHERS， ISBN0-7923-9368-6，pp. 61-81」等に開示されている。また、ペアリング関数が効率的に計算可能な非超特異楕円曲線（non-supersingular curve）の生成方法については、参考文献４「A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」、参考文献５「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」などに開示されている。また、ペアリング関数をコンピュータ上で計算するためのアルゴリズムとしては、周知のMiller のアルゴリズム（参考文献６「V. S. Miller, “Short Programs for functions on Curves,” 1986，インターネット＜http://crypto.stanford.edu/miller/miller.pdf＞」などが存在する。
【００２０】
階層型ＩＤベース暗号方式（Hierarchical Identity-Based Encryption）：ＩＤベース暗号方式のＩＤを階層化し、階層化された各ＩＤが階層化された各装置に対応させ、各装置の秘密鍵を階層的に生成できるＩＤベース暗号方式。この方式では、マスター秘密鍵を利用可能な装置が、マスター秘密鍵と各ＩＤとを用い、各ＩＤに対応する秘密鍵を生成でき、マスター秘密鍵を利用できない装置であっても、上位層のＩＤに対して生成された秘密鍵とその下位層のＩＤとを用い、当該下位層のＩＤに対応する秘密鍵を生成できる。ＩＤベース暗号の具体的な構成は、様々な文献に開示されており、例えば、非特許文献２，３のほか、参考文献７「C. Gentry, A. Silverberg, "Hierarchical ID-based cryptography," Proceedings of ASIACRYPT 2002, Lecture Notes in Computer Science, Springer-Verlag, 2002.」、参考文献８「Dan Boneh, Xavier Boyen, and Eu-Jin Goh, "Hierarchical identity based encryption with constant size ciphertext," Proceedings of Eurocrypt 2005, volume 3494 of LNCS, pages 440-456.」、参考文献９「Xavier Boyen and Brent Waters, "Anonymous Hierarchical Identity-Based Encryption," Proceedings of CRYPTO 2006, volume 4117 of LNCS.」などに開示されている。
【００２１】
H:任意のビット長のビット列をZpの元へ移す衝突困難なハッシュ関数（{0,1}*→Zp）。このようなハッシュ関数HはSHA-1などの公知のハッシュ関数と剰余演算等などから容易に構成できる。
【００２２】
〔第１実施形態〕
まず、本発明の第１実施形態を説明する。本形態では、鍵生成装置で公開ＩＤ情報を用い、階層型ＩＤベース暗号方式の第１階層目の秘密鍵生成処理を行って第１秘密鍵を生成し、受信側の端末装置で第１秘密鍵と秘密ＩＤ情報とを用い、階層型ＩＤベース暗号方式の第２階層目の秘密鍵生成処理を行って第２秘密鍵を生成する。
【００２３】
＜全体構成＞
図１は、第１実施形態の暗号通信システム１の機能構成を例示したブロック図である。また、図２（ａ）は、鍵生成装置１０の鍵生成部１６の詳細構成の一例を示す図であり、図２（ｂ）は、端末装置３０の鍵生成部３６の詳細構成の一例を示す図である。なお、図２（ａ）（ｂ）の構成は、階層型ＩＤベース暗号方式として非特許文献３の方式を用いた例である。しかし、本発明はこれに限定されず、上述した非特許文献２や参考文献７〜９などに開示されたその他の階層型ＩＤベース暗号方式を用いてもよい。
【００２４】
図１に例示するように、本形態の暗号通信システム１は、階層型ＩＤベース暗号方式の秘密鍵を生成する鍵生成装置１０と、暗号文を生成して送信する送信側の端末装置２０と、暗号文を受信して復号する受信側の端末装置３０とを有する。鍵生成装置１０及び端末装置２０，３０は、それぞれ、通信機能を備える。鍵生成装置１０と端末装置３０とは、これらの間での相互通信が可能なように構成され、端末装置２０と端末装置３０とは、端末装置２０から端末装置３０への送信が可能なように構成される。また、鍵生成装置１０と端末装置３０とは、互いに独立した装置であり、それらは独立の管理者によって管理されるか、或いは、互いに特定の秘密情報を漏らさない旨のセキュリティポリシーのもと、同一の管理者によって管理されている。
【００２５】
＜鍵生成装置１０の構成＞
鍵生成装置１０は、例えば、ＣＰＵ（central processing unit）、ＲＡＭ（random-access memory）、磁気記録装置、光磁気記録媒体、通信装置等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される装置である。図１に例示するように、本形態の鍵生成装置１０は、記憶部１１（「第１記憶部」に相当）と、一時メモリ１２と、制御部１３と、送信部１４（「出力部」に相当）と、受信部１５と、鍵生成部（TA0）１６（「第１鍵生成部」に相当）とを有する。また、図２（ａ）に例示した鍵生成部（TA0）１６は、ランダム数生成部１６ａと、第１階層演算部１６ｂとを有し、第１階層演算部１６ｂは、演算部１６ｂａ，１６ｂｂを有する。なお、記憶部１１と一時メモリ１２とは、例えば、ＲＡＭ、磁気記録装置、光磁気記録媒体やそれらの少なくとも一部の結合によって構成される記憶領域である。また、制御部１３と、鍵生成部（TA0）１６とは、例えば、ＣＰＵに所定のプログラムが読み込まれて構成される処理部であり、送信部１４と受信部１５とは、例えば、所定のプログラムが読み込まれたＣＰＵの制御のもと駆動する通信装置である。また、鍵生成装置１０は、制御部１３の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ１２に格納され、その他の演算処理の際に読み出されて利用される。
【００２６】
＜送信側の端末装置（Sender）２０の構成＞
送信側の端末装置２０は、例えば、ＣＰＵ、ＲＡＭ、磁気記録装置、光磁気記録媒体、通信装置等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される装置である。図１に例示するように、本形態の端末装置２０は、記憶部２１と、一時メモリ２２と、制御部２３と、送信部２４（「出力部」に相当）と、暗号化部２５と、入力インタフェース部２６とを有する。なお、記憶部２１と一時メモリ２２とは、例えば、ＲＡＭ、磁気記録装置、光磁気記録媒体やそれらの少なくとも一部の結合によって構成される記憶領域である。また、制御部２３と暗号化部２５とは、例えば、ＣＰＵに所定のプログラムが読み込まれて構成される処理部である。また、送信部２４は、例えば、所定のプログラムが読み込まれたＣＰＵの制御のもと駆動する通信装置であり、入力インタフェースは、所定のプログラムが読み込まれたＣＰＵの制御のもと機能するキーボードやマウスなどの入力装置である。また、端末装置２０は、制御部２３の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ２２に格納され、その他の演算処理の際に読み出されて利用される。
【００２７】
＜受信側の端末装置（Receiver）３０の構成＞
受信側の端末装置３０は、例えば、ＣＰＵ、ＲＡＭ、磁気記録装置、光磁気記録媒体、通信装置等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される装置である。図１に例示するように、本形態の端末装置３０は、記憶部３１（「第２記憶部」に相当）と、一時メモリ３２と、制御部３３と、送信部３４と、受信部３５（「入力部」に相当）と、鍵生成部（TA1）３６（「第２秘密鍵生成部」に相当）と、復号部３７と、出力インタフェース部３８とを有する。また、図２（ｂ）に例示した鍵生成部（TA1）３６は、ランダム数生成部３４ａと、第２階層演算部３４ｂとを有し、第２階層演算部３４ｂは、演算部３４ｂａ，３４ｂｂを有する。なお、記憶部３１と一時メモリ３２とは、例えば、ＲＡＭ、磁気記録装置、光磁気記録媒体やそれらの少なくとも一部の結合によって構成される記憶領域である。制御部３３と鍵生成部（TA1）３６と復号部３７とは、例えば、ＣＰＵに所定のプログラムが読み込まれて構成される処理部である。また、送信部３４と受信部３５とは、例えば、所定のプログラムが読み込まれたＣＰＵの制御のもと駆動する通信装置であり、出力インタフェース部３８は、所定のプログラムが読み込まれたＣＰＵの制御のもと駆動する液晶ディスプレイやスピーカーなどの出力装置である。また、端末装置３０は、制御部３３の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ３２に格納され、その他の演算処理の際に読み出されて利用される。
【００２８】
＜処理＞
次に、本形態の処理を説明する。
［前処理］
まず、鍵生成装置１０（図１）の管理者によって階層型ＩＤベース暗号方式の各秘密鍵を生成するためのマスター秘密鍵（MK）と公開パラメータ（P）とが設定される。マスター秘密鍵（MK）は、秘密情報であり鍵生成装置１０の記憶部１１のみに格納される。一方、公開パラメータ（P）は公開情報であり、鍵生成装置１０の記憶部１１と、端末装置２０の記憶部２１と、端末装置３０の記憶部３１とに格納される。また、端末装置３０の記憶部３１には、さらに、公開ＩＤ情報（ID1）と秘密ＩＤ情報（ID2）とが格納される。これらの公開ＩＤ情報（ID1）と秘密ＩＤ情報（ID2）との組が、秘密鍵を利用する利用者のＩＤとして用いられる。
【００２９】
なお、公開ＩＤ情報（ID1）は、広く公開された公開情報に対応する情報であり、その例は、秘密鍵を利用する利用者の正式名（本名など）や住所や電話番号やメールアドレスやＵＲＬ（Uniform Resource Locator）や所属組織名や経歴情報に対応する情報などである。一方、秘密ＩＤ情報（ID2）は、秘密鍵を利用する利用者と特定の関係がある者のみに開示された情報に対応する情報であり、その例は、秘密鍵を利用する利用者のニックネームやそのペットの名前や所有物の名称や趣味の名称に対応する情報などである。
【００３０】
《非特許文献３の方式を用いた場合の前処理》
階層型ＩＤベース暗号方式として非特許文献３の方式を用いる場合の例を示す。
この例の公開ＩＤ情報（ID1）及び秘密ＩＤ情報（ID2）は、以下のように構成される。
ID1∈Zp    …(3)
ID2∈Zp    …(4)
具体的には、例えば、広く公開された公開情報（利用者の正式名など）を前述のハッシュ関数Hに入力して得られたハッシュ値を公開ＩＤ情報（ID1）とし、秘密鍵を利用する利用者と特定の関係がある者のみに開示された情報（利用者のニックネームなど）を前述のハッシュ関数Hに入力して得られたハッシュ値を秘密ＩＤ情報（ID2）とする。
【００３１】
また、ランダム数α∈Zp*を選択し、
g1=gα∈G    …(5)
とする。また、ランダムな要素
h1, h2∈G     …(6)
と、巡回群Gの無限遠点Ｏを除く元から乗法群G*を為す生成元
g2∈G*     …(7)
が選択される。そして、マスター秘密鍵（MK）と公開パラメータ（P）が
MK=g2α∈G*     …(8)
P=[g, g1, g2, h1, h2]      …(9)
のように設定される（《非特許文献３の方式を用いた場合の前処理》の説明終わり）。
【００３２】
［秘密鍵生成処理］
図３は、第１実施形態の秘密鍵の生成方法を説明するためのフローチャートである。また、図４（ａ）は、ステップＳ３の一例を説明するためのフローチャートであり、図４（ｂ）は、ステップＳ６の一例を説明するためのフローチャートである。なお、図４（ａ）（ｂ）の一例は、階層型ＩＤベース暗号方式として非特許文献３の方式を用いた例であるが、本発明はこれに限定されない。
【００３３】
秘密鍵の生成を依頼する受信側の端末装置３０（図１）では、まず、記憶部３１に格納された公開ＩＤ情報（ID1）が読み出され、送信部３４が公開ＩＤ情報（ID1）を鍵生成装置１０に送信する（出力する）（ステップＳ１）。公開ＩＤ情報（ID1）は、鍵生成装置１０の受信部１５で受信され（ステップＳ２）、鍵生成部（TA0）１６に入力される。
【００３４】
鍵生成部（TA0）１６は、記憶部１１からマスター秘密鍵（MK）と公開パラメータ（P）とを読み込み、これらと公開ＩＤ情報（ID1）とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、当該公開ＩＤ情報（ID1）をＩＤとする階層型ＩＤベース暗号方式の第１秘密鍵（SK(ID1)）を生成する（ステップＳ３）。
【００３５】
《非特許文献３の方式を用いた場合のステップＳ３》
階層型ＩＤベース暗号方式として非特許文献３の方式を用いた場合のステップＳ３では、まず、鍵生成部（TA0）１６のランダム数生成部１６ａ（図２）がランダム数
r1∈Zp     …(10)
を選択して出力する（ステップＳ３ａ）。次に、第１階層演算部１６ｂの演算部１６ｂａが、記憶部１１から読み込んだマスター秘密鍵（MK=g2α）及び公開パラメータ（P）の要素（g1, h1）と、送られた公開ＩＤ情報（ID1）と、出力されたランダム数（r1）とを用い、
【００３６】
【数１】
2010161527.tif 000003
の演算を行い（ステップＳ３ｂ）、演算部１６ｂｂが、記憶部１１から読み込んだ公開パラメータ（P）の要素（g）と、出力されたランダム数（r1）とを用い、
【００３７】
【数２】
2010161527.tif 000004
の演算を行い（ステップＳ３ｂ）、第１階層演算部１６ｂが、第１秘密鍵
【００３８】
【数３】
2010161527.tif 000005
を出力する（ステップＳ３ｄ／《非特許文献３の方式を用いた場合のステップＳ３》の説明終わり）。
【００３９】
生成された第１秘密鍵（SK(ID1)）は送信部１４に送られ、送信部１４は、第１秘密鍵（SK(ID1)）を端末装置３０に送信する（出力する）（ステップＳ４）。第１秘密鍵（SK(ID1)）は、端末装置３０（図１）の受信部３５に受信され（入力され）（ステップＳ５）、鍵生成部（TA1）３６に送られる。鍵生成部（TA1）３６は、記憶部３１から秘密ＩＤ情報（ID2）と公開パラメータ（P）とを読み込み、これらと第１秘密鍵（SK(ID1)）とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、公開ＩＤ情報（ID1）と秘密ＩＤ情報（ID2）との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵（SK(ID1, ID2)）を生成する（ステップＳ６）。この第２秘密鍵（SK(ID1, ID2)）は、公開ＩＤ情報（ID1）と秘密ＩＤ情報（ID2）との組をＩＤとする階層型ＩＤベース暗号方式の暗号文を復号するための秘密鍵である。
【００４０】
《非特許文献３の方式を用いた場合のステップＳ６》
階層型ＩＤベース暗号方式として非特許文献３の方式を用いた場合のステップＳ６では、まず、鍵生成部（TA1）３６のランダム数生成部３４ａ（図２）がランダム数
r2∈Zp     …(14)
を選択して出力する（ステップＳ６ａ）。次に、第２階層演算部３４ｂの演算部３４ｂａが、入力された第１秘密鍵（SK(ID1)=(d0, d1)）（式(13)）と、記憶部３１から読み込んだ秘密ＩＤ情報（ID2）及び公開パラメータ（P）の要素（g1, h2）と、出力されたランダム数r2とを用い、
【００４１】
【数４】
2010161527.tif 000006
の演算を行い（ステップＳ６ｂ）、演算部３４ｂｂが、記憶部３１から読み込んだ公開パラメータPの要素gと、出力されたランダム数r2とを用い、
【００４２】
【数５】
2010161527.tif 000007
の演算を行い（ステップＳ６ｃ）、第２階層演算部３４ｂが、第２秘密鍵
【００４３】
【数６】
2010161527.tif 000008
を出力する（ステップＳ６ｄ／《非特許文献３の方式を用いた場合のステップＳ６》の説明終わり）。
【００４４】
[暗号化・復号処理]
暗号化を行う端末装置２０（図１）の入力インタフェース部２６には、端末装置３０に対応する公開ＩＤ情報（ID1）と秘密ＩＤ情報（ID2）と暗号化対象の平文Mとが入力され、これらは暗号化部２５に送られる。暗号化部２５は、これと記憶部２１から読み込んだ公開パラメータPとを用い、階層型ＩＤベース暗号方式の暗号化手順に従って暗号文HIBE(ID1,ID2,M)を生成する。
【００４５】
例えば、非特許文献３の方式を用いる場合、暗号化部２５は、ランダム数s∈Zpを生成し、入力された公開ＩＤ情報（ID1∈Zp）と、秘密ＩＤ情報（ID2∈Zp）と、平文（M∈GT）と、公開パラメータP=[g, g1, g2, h1, h2]と、ランダム数s∈Zpとを用い、
【数７】
2010161527.tif 000009
のように、暗号文HIBE(ID1,ID2,M)を生成する。
【００４６】
生成された暗号文HIBE(ID1,ID2,M)は送信部２４から送信され、端末装置３０の受信部３５で受信され、復号部３７に送られる。復号部３７は、鍵生成部（TA1）３６で生成された第２秘密鍵（SK(ID1, ID2)）を用い、暗号文HIBE(ID1,ID2,M)を復号する。
【００４７】
例えば、非特許文献３の方式を用いる場合、復号部３７は、（SK(ID1, ID2)）=(δ0,δ1,δ2)（式(17)）を用い、
【００４８】
【数８】
2010161527.tif 000010
の演算によって復号を行う。なお、式(19)の左辺は、
【００４９】
【数９】
2010161527.tif 000011
となり、前述の［性質２］［性質３］よって、式(20)は
【００５０】
【数１０】
2010161527.tif 000012
と変形できる。これにより、式(19)の演算によって平文Mが復号されることが分かる。
【００５１】
＜本形態の特徴＞
本形態で、端末装置３０から鍵生成装置１０に送信されるのは公開ＩＤ情報（ID1）のみであり、秘密ＩＤ情報（ID2）は送信されない。そのため、秘密ＩＤ情報（ID2）を知らない鍵生成装置１０は、端末装置３０の第２秘密鍵（SK(ID1, ID2)）を知ることができない。これにより、エスクロー性を回避できる。また、端末装置２０は、端末装置３０の公開ＩＤ情報（ID1）と秘密ＩＤ情報（ID2）との組からなるＩＤと公開パラメータとを用いて暗号文を生成でき、利便性が高い。
【００５２】
なお、前述のように、本発明で利用する階層型ＩＤベース暗号方式には、公知のどのような方式のものを用いてもよいが、当該階層型ＩＤベース暗号方式に従って生成された暗号文から当該暗号文に対応するＩＤを特定することが困難な匿名階層型ＩＤベース暗号方式（Anonymous Hierarchical Identity-Based Encryption）（例えば、非特許文献３、参考文献９など参照）を用いることが望ましい。
【００５３】
〔第２実施形態〕
次に、本発明の第２実施形態を説明する。本形態では、鍵生成装置で公開ＩＤ情報を用い、階層型ＩＤベース暗号方式の第１階層目の秘密鍵生成処理を行って第１秘密鍵を生成し、さらに、第１秘密鍵とランダム化秘密ＩＤ情報を用い、階層型ＩＤベース暗号方式の第２階層目の秘密鍵生成処理を行って第２秘密鍵を生成する。そして、受信側の端末装置で第２秘密鍵のランダム性を除去し、公開ＩＤ情報と秘密ＩＤ情報との組をＩＤとする階層型ＩＤベース暗号方式の第３秘密鍵を復元する。なお、鍵生成装置が階層型ＩＤベース暗号方式によってランダム化された鍵を発行し、端末装置がそれを復元するブラインド鍵発行方式としては、例えば、非特許文献２，３などに開示された公知の方式を用いることができる。本形態では、一例として非特許文献３のブラインド鍵発行方式を用いた例を示す。
なお、以下では、第１実施形態の相違点を中心に説明し、第１実施形態と共通する事項については説明を省略する。
【００５４】
＜全体構成＞
図５は、第２実施形態の暗号通信システム１００の機能構成を例示したブロック図である。また、図６（ａ）は、鍵生成装置１１０の鍵生成部１１６の詳細構成の一例を示す図であり、図６（ｂ）は、端末装置１３０のランダム除去部１３９の詳細構成の一例を示す図である。なお、図６（ａ）（ｂ）の構成は、階層型ＩＤベース暗号方式として非特許文献３の方式を用いた例である。しかし、本発明はこれに限定されず、上述した非特許文献２や参考文献７〜９などに開示されたその他の階層型ＩＤベース暗号方式を用いてもよい。なお、これらの図において、第１実施形態の構成と共通する部分については、第１実施形態と同じ符号を用いることとし、説明を省略する。
【００５５】
図５に例示するように、本形態の暗号通信システム１００は、階層型ＩＤベース暗号方式の秘密鍵を生成する鍵生成装置１１０と、暗号文を生成して送信する送信側の端末装置２０と、暗号文を受信して復号する受信側の端末装置１３０とを有する。鍵生成装置１１０及び端末装置２０，１３０は、それぞれ、通信機能を備える。鍵生成装置１１０と端末装置１３０とは、これらの間での相互通信が可能なように構成され、端末装置２０と端末装置１３０とは、端末装置２０から端末装置１３０への送信が可能なように構成される。また、鍵生成装置１１０と端末装置１３０とは、互いに独立した装置であり、それらは独立の管理者によって管理されるか、或いは、互いに特定の秘密情報を漏らさない旨のセキュリティポリシーのもと、同一の管理者によって管理されている。
【００５６】
＜鍵生成装置１１０の構成＞
鍵生成装置１１０は、例えば、ＣＰＵ、ＲＡＭ、磁気記録装置、光磁気記録媒体、通信装置等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される装置である。図５に例示するように、本形態の鍵生成装置１１０は、記憶部１１（「第１記憶部」に相当）と、一時メモリ１２と、制御部１３と、送信部１４（「出力部」に相当）と、受信部１５と、鍵生成部（TA0）１６（「第１鍵生成部」に相当）と、鍵生成部（TA1）１１７（「第２鍵生成部」に相当）と、検証部１１８とを有する。また、図６（ａ）に例示した鍵生成部（TA1）１１７は、ランダム数生成部１１７ａと、第２階層演算部１１７ｂとを有し、第２階層演算部１１７ｂは、演算部１１７ｂａ，１１７ｂｂを有する。なお、鍵生成部（TA1）１１７と検証部１１８は、例えば、ＣＰＵに所定のプログラムが読み込まれて構成される処理部である。また、鍵生成装置１１０は、制御部１３の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ１２に格納され、その他の演算処理の際に読み出されて利用される。
【００５７】
＜送信側の端末装置（Sender）２０の構成＞
第１実施形態と同じであるため説明を省略する。
【００５８】
＜受信側の端末装置（Receiver）１３０の構成＞
受信側の端末装置１３０は、例えば、ＣＰＵ、ＲＡＭ、磁気記録装置、光磁気記録媒体、通信装置等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される装置である。図５に例示するように、本形態の端末装置１３０は、記憶部３１（「第２記憶部」に相当）と、一時メモリ３２と、制御部３３と、送信部３４と、受信部３５（「入力部」に相当）と、復号部３７と、出力インタフェース部３８と、ゼロ知識証明部１３１と、ランダム値生成部１３６と、ランダム化部１３７と、ランダム除去部１３９とを有する。また、図６（ｂ）に例示したランダム除去部１３９は、ランダム数生成部１３９ａと、ランダム除去演算部１３９ｂとを有し、ランダム除去演算部１３９ｂは、演算部１３９ｂａ，１３９ｂｂを有する。なお、ゼロ知識証明部１３１と、ランダム値生成部１３６と、ランダム化部１３７と、ランダム除去部１３９とは、例えば、ＣＰＵに所定のプログラムが読み込まれて構成される処理部である。また、端末装置１３０は、制御部３３の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ３２に格納され、その他の演算処理の際に読み出されて利用される。
【００５９】
＜処理＞
次に、本形態の処理を説明する。
［前処理］
第１実施形態と同じであるため説明を省略する。
【００６０】
［秘密鍵生成処理］
図７は、第２実施形態の秘密鍵の生成方法を説明するためのフローチャートである。また、図８（ａ）は、ステップＳ１７の一例を説明するためのフローチャートであり、図８（ｂ）は、ステップＳ２０の一例を説明するためのフローチャートである。なお、図８（ａ）（ｂ）の一例は、階層型ＩＤベース暗号方式として非特許文献３の方式を用いた例であるが、本発明はこれに限定されない。
【００６１】
受信側の端末装置１３０（図５）のランダム値生成部１３６がランダム値y∈Zpを生成し、記憶部３１に格納する。次にランダム化部１３７が、記憶部から秘密ＩＤ情報（ID2）とランダム値（y）と公開パラメータ（P）を読み込み、これらを用いて秘密ＩＤ情報（ID2）をランダム値（y）によってランダム化し、ランダム化秘密ＩＤ情報（R(ID2)）生成する（ステップＳ１１）。
【００６２】
例えば、非特許文献３の方式を用いる場合、ランダム化部１３７は、
【数１１】
2010161527.tif 000013
の演算によってランダム化秘密ＩＤ情報（R(ID2)）生成する。
【００６３】
生成されたランダム化秘密ＩＤ情報（R(ID2)）は記憶部３１に格納される。そして、記憶部３１に格納された公開ＩＤ情報（ID1）とランダム化秘密ＩＤ情報（R(ID2)）とが読み出され、送信部３４がこれらを鍵生成装置１１０に送信する（出力する）（ステップＳ１２）。公開ＩＤ情報（ID1）とランダム化秘密ＩＤ情報（R(ID2)）とは、鍵生成装置１１０の受信部１５（「入力部」に相当）に受信される（入力される）（ステップＳ１３）。そして、公開ＩＤ情報（ID1）は鍵生成部（TA0）１６に送られ、ランダム化秘密ＩＤ情報（R(ID2)）は、鍵生成部（TA1）１１７と検証部１１８とに送られる。
【００６４】
次に、端末装置１３０のゼロ知識証明部１３１と鍵生成装置１１０の検証部１１８とが送信部１４，３５及び受信部１５，３４を用いて通信を行い、ゼロ知識証明部１３１が鍵生成装置１１０の検証部１１８に対し、端末装置１３０が秘密ＩＤ情報（ID2）とランダム値（y）とを知っていることのゼロ知識証明を行う（ステップＳ１４）。このゼロ知識証明には周知の方法を用いればよい（例えば、「岡本龍明、山本博資、“現代暗号（シリーズ・情報科学の数学）”、産業図書株式会社」等参照）。例えば、以下の手順によってゼロ知識証明が為される。
【００６５】
１．ゼロ知識証明部１３１は、ランダム値u∈Zpを一様に選択し、a1=gu∈G, a2=g1u∈Gを算出する。
２．ゼロ知識証明部１３１は、a1∈G, a2∈Gを検証部１１８に送る。
３．検証部１１８は、ランダム値w∈{0,1}を一様に選択してゼロ知識証明部１３１に送る。
４．ゼロ知識証明部１３１は、b1=u+w・y∈Zp，b2=u+w・ID2∈Zpを検証部１１８に送る。
５．検証部１１８は、gb1・g1b2={R(ID2)}w・gu・g1u∈Gを満たすか否かを検証する。
【００６６】
鍵生成装置１１０の検証部１１８が、ゼロ知識証明が不合格であると判断した場合、処理がエラー終了となる。一方、検証部１１８が、ゼロ知識証明が合格であると判断した場合、鍵生成部（TA0）１６が、記憶部１１から読み出したマスター秘密鍵(MK)と、ステップＳ１３で受信された公開ＩＤ情報(ID1)とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、公開ＩＤ情報(ID1)をＩＤとする階層型ＩＤベース暗号方式の第１秘密鍵（SK(ID1)）を生成する（ステップＳ１６）。この処理は、第１実施形態のステップＳ３と同じであるため、説明を省略する。
【００６７】
次に、鍵生成部（TA1）１１７が、記憶部１１から公開パラメータ（P）を読み込み、これとステップＳ１３で受信されたランダム化秘密ＩＤ情報（R(ID2)）とを用い、階層型ＩＤベース暗号方式の鍵生成手順に従って、公開ＩＤ情報（ID1）とランダム化秘密ＩＤ情報（R(ID2)）との組をＩＤとする階層型ＩＤベース暗号方式の第２秘密鍵（SK(ID1,R(ID2))を生成する（ステップＳ１７）。
【００６８】
《非特許文献３の方式を用いた場合のステップＳ１７》
階層型ＩＤベース暗号方式として非特許文献３の方式を用いた場合のステップＳ１７では、まず、鍵生成部（TA1）１１７のランダム数生成部１１７ａ（図６）がランダム数
r2∈Zp     …(23)
を選択して出力する（ステップＳ１７ａ）。次に、第２階層演算部１１７ｂの演算部１１７ｂａが、入力された第１秘密鍵（SK(ID1)=(d0, d1)）（式(13)）と、記憶部１１から読み込んだ公開パラメータPの要素g1, h2と、受信されたランダム化秘密ＩＤ情報（R(ID2)）と、出力されたランダム数r2とを用い、
【００６９】
【数１２】
2010161527.tif 000014
の演算を行い（ステップＳ１７ｂ）、演算部１１７ｂｂが、記憶部１１から読み込んだ公開パラメータPの要素gと、出力されたランダム数r2とを用い、
【００７０】
【数１３】
2010161527.tif 000015
の演算を行い（ステップＳ１７ｃ）、第２階層演算部１１７ｂが、第２秘密鍵
【００７１】
【数１４】
2010161527.tif 000016
を出力する（ステップＳ１７ｄ／《非特許文献３の方式を用いた場合のステップＳ１７》の説明終わり）。
【００７２】
第２秘密鍵（SK(ID1,R(ID2))は、送信部１４から送信され（出力され）（ステップＳ１８）、端末装置１３０の受信部３５に受信される（入力される）（ステップＳ１９）。第２秘密鍵（SK(ID1,R(ID2))は、ランダム除去部１３９に送られ、ランダム除去部１３９は、受信された第２秘密鍵（SK(ID1,R(ID2))と、記憶部３１から読み込んだランダム数（y）及び公開パラメータ（P）とを用い、公開ＩＤ情報(ID1)と秘密ＩＤ情報(ID2)との組をＩＤとする階層型ＩＤベース暗号方式の第３秘密鍵（SK(ID1,ID2)）を復元する（ステップＳ２０）。この第３秘密鍵（SK(ID1,ID2)）が、公開ＩＤ情報（ID1）と秘密ＩＤ情報（ID2）との組をＩＤとする階層型ＩＤベース暗号方式の暗号文を復号するための秘密鍵となる。
【００７３】
《非特許文献３の方式を用いた場合のステップＳ２０》
階層型ＩＤベース暗号方式として非特許文献３の方式を用いた場合のステップＳ２０では、まず、ランダム除去部１３９のランダム数生成部１３９ａ（図６）がランダム数
z∈Zp     …(27)
を選択して出力する（ステップＳ２０ａ）。次に、ランダム除去演算部１３９ｂの演算部１３９ｂａが、入力された第２秘密鍵（SK(ID1,R(ID2))（式(26)）と、記憶部３１から読み込んだ公開パラメータ（P）の要素（g,g1,h2）及びランダム数（y）と、出力されたランダム数（z）とを用い、
【００７４】
【数１５】
2010161527.tif 000017
の演算を行い（ステップＳ２０ｂ）、演算部１３９ｂｂが、入力された第２秘密鍵（SK(ID1,R(ID2))（式(26)）と、記憶部３１から読み込んだ公開パラメータ（P）の要素（g）と、出力されたランダム数（z）とを用い、
【００７５】
【数１６】
2010161527.tif 000018
の演算を行い（ステップＳ２０ｃ）、ランダム除去演算部１３９ｂが、
【００７６】
【数１７】
2010161527.tif 000019
を出力する（ステップＳ２０ｄ／《非特許文献３の方式を用いた場合のステップＳ２０》の説明終わり）。
【００７７】
[暗号化・復号処理]
第１実施形態と同じであるため説明を省略する。
【００７８】
＜本形態の特徴＞
本形態で、端末装置１３０から鍵生成装置１１０に送信されるのは公開ＩＤ情報（ID1）とランダム化秘密ＩＤ情報（R(ID2)）のみであり、秘密ＩＤ情報（ID2）は送信されない。また、端末装置１３０は、鍵生成装置１１０で生成された第２秘密鍵（SK(ID1,R(ID2))のランダム性を解除し、公開ＩＤ情報(ID1)と秘密ＩＤ情報(ID2)との組をＩＤとする階層型ＩＤベース暗号方式の第３秘密鍵（SK(ID1,ID2)）を復元し、この第３秘密鍵（SK(ID1,ID2)）を秘密鍵として用いる。秘密ＩＤ情報（ID2）を知らない鍵生成装置１１０は、この第３秘密鍵（SK(ID1,ID2)）を知ることができない。これにより、エスクロー性を回避できる。また、端末装置２０は、端末装置１３０の公開ＩＤ情報（ID1）と秘密ＩＤ情報（ID2）との組からなるＩＤと公開パラメータとを用いて暗号文を生成でき、利便性が高い。
【００７９】
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施形態では、鍵生成装置と端末装置と及び端末装置同士がネットワークを通じて情報を送受信する構成であった。しかし、鍵生成装置と端末装置及び／又は端末装置同士が可搬型の記録媒体を通じて情報を入出力される構成であってもよい。すなわち、鍵生成装置又は端末装置から出力される情報が可搬型の記録媒体に格納され、この可搬型の記録媒体が他の端末装置又は鍵生成装置に装着され、そこから情報が読み込まれる構成であってもよい。
【００８０】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００８１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００８２】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００８３】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００８４】
本発明は、ＩＤベース暗号方式を用いた暗号通信に利用できる。
【符号の説明】
【００８５】
１，１００  暗号通信システム
【図１】
2010161527.tif 000020
【図２】
2010161527.tif 000021
【図３】
2010161527.tif 000022
【図４】
2010161527.tif 000023
【図５】
2010161527.tif 000024
【図６】
2010161527.tif 000025
【図７】
2010161527.tif 000026
【図８】
2010161527.tif 000027