説明

IDベース暗号通信方法および装置

【課題】鍵管理センタに内部不正者が存在する場合でも安全なIDベース暗号技術を提供する。
【解決手段】鍵管理センタ側装置100は、マスタ鍵と対のシステムパラメータを作成し、システムパラメータを各ユーザに公開する。また、該マスタ鍵を用いて受信者のID情報に対するIDベース暗号用秘密鍵を作成し安全な方法で受信者に配布する。受信者のユーザ側装置200は、公開されたシステムパラメータを用いて、受信者の秘密鍵および公開鍵を個別に作成し、該公開鍵を送信者に公開する。送信者のユーザ側装置200は、公開されたシステムパラメータおよび受信者の公開鍵を用いて、メッセージ文の暗号文を作成し、受信者のユーザ側装置200に送信する。受信者のユーザ側装置200は、受信者の秘密鍵および鍵管理センタ側装置IDベース暗号用秘密鍵を用いて、受信した暗号文を復号化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの所属、名前、メールアドレス等の個人を特定できるID情報を利用して、暗号通信や文書認証を行うIDベース暗号システムに関する。
【背景技術】
【0002】
非特許文献1に記載されているように、公開鍵暗号システムでは、ユーザが作成した公開鍵を認証局(CA:Certificate Authority)に登録し、その正当性の根拠である公開鍵証明書を発行してもらう必要がある。すなわち、暗号文の送信者は、受信者の公開鍵とその公開鍵証明書を手に入れ、該公開鍵証明書を用いて該公開鍵の正当性を確認した上で、送信するメッセージ文の暗号化を行う必要がある。
【0003】
これに対して、CAによる公開鍵証明書の発行の手間を省いて、より簡単な公開鍵の管理を行うことを目的として、ユーザのID情報を公開鍵とする暗号システム(以下、IDベース暗号システムと呼ぶ)が提案された。非特許文献2に記載されているように、IDベース暗号システムでは、暗号通信や認証(ディジタル署名、個人認証等)を目的として用途に応じたアルゴリズムが用いられる。例えば、暗号通信の場合、ユーザは、自身のID情報を公開鍵として鍵管理センタに登録すると共に、鍵管理センタに、当該鍵管理センタのマスタ鍵を用いて該ID情報に対応する秘密鍵(以下、IDベース暗号用秘密鍵と呼ぶ)を発行してもらう。また、鍵管理センタは、当該鍵管理センタのマスタ鍵と対のシステムパラメータを作成して公開する。暗号文の送信者は、受信者のID情報と鍵管理センタのシステムパラメータとを用いて暗号文を作成し、受信者に送信する。受信者は、IDベース暗号用秘密鍵を用いてメッセージの復号化を行う。
【0004】
公開鍵暗号システムでは受信者の公開鍵がランダムなビット列であるのに対して、IDベース暗号システムでは受信者のIDベース暗号用公開鍵がメールアドレス等のID情報である。このため、取り扱いが容易で公開鍵証明書を不要とすることができる。これまでに多くのIDベース暗号システムが提案されている。例えば、非特許文献3には、ゼロ知識証明を利用したIDベースのディジタル署名を実現するIDベース暗号システムが提案されている。非特許文献4では、双線形写像を利用することで、安全性の証明が可能なIDベース暗号システムが提案されている。また、非特許文献5では、非特許文献4に記載のIDベース暗号システムをベースとしたディジタル署名方法および署名機能付き暗号通信方法が提案されている。
【0005】
【非特許文献1】独立行政法人 情報処理推進機構 セキュリティセンター、情報セキュリティ技術ラボラトリー、"PKI 関連技術解説 3.1 PKI概要"、[平成17年1月17日検索] インターネット<URL:http://www.ipa.go.jp/security/pki/>
【非特許文献2】A. Shamir、"Identity Based Cryptosystems and Signature Schemes, Advances in Cryptology Crypto'98"、LNCS 196、pp.47-53、Springer、1984
【非特許文献3】A. Fiat and A. Shamir 、"How to Prove Yourself: Practical Solutions to Identification and Signature Problems"、Advances in Cryptology Crypto'86、LNCS 263、pp.186-194、Springer、1986
【非特許文献4】D. Boneh and M. Franklin、"Identity Based Encryption From the Weil Pairing"、[平成17年1月17日検索] インターネット<URL:http://crypto.stanford.edu/~dabo/papers/ibe.pdf>
【非特許文献5】B. Libert and J.-J. Quisquater 、"The Exact Security of an Identity Based Signature and its Applications"、[平成17年1月17日検索] インターネット<URL:http://eprint.iacr.org/2004/102.pdf>
【発明の開示】
【発明が解決しようとする課題】
【0006】
上述したように、IDベース暗号システムでは、ユーザは鍵管理センタにID情報を登録し、鍵管理センタのマスタ鍵を用いて該ID情報に対応するIDベース暗号用秘密鍵を作成してもらう必要がある。よって、鍵管理センタは全てのユーザの秘密鍵を知る立場にある。このように、IDベース暗号システムは、鍵管理センタに対して信頼を置くことが前提となっている。つまり、鍵管理センタに内部不正者が存在する可能性を考慮していない。このため、例えば、鍵管理センタの内部不正者は、鍵管理センタからマスタ鍵を不正に持ち出して、特定のユーザのID情報に対するIDベース暗号用秘密鍵を作成し、該特定のユーザになりすまして重要な契約などに押印(ディジタル署名)し、該特定のユーザに損害を与えることが可能である。また、このことを知っている悪意を持ったユーザは、自身が押印(ディジタル署名)したにもかかわらず、鍵管理センタの内部不正者によるものだと主張し、自身の責任を回避するかもしれない。
【0007】
本発明は、上記事情に鑑みてなされたものであり、鍵管理センタに内部不正者が存在する場合でも安全なIDベース暗号技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のIDベース暗号通信方法の一態様において、鍵管理センタ側装置は、鍵管理センタのマスタ鍵と対のシステムパラメータを作成し、システムパラメータを送信者側装置および受信者側装置に対して公開する。また、鍵管理センタ側装置は、鍵管理センタのマスタ鍵を用いて受信者のID情報に対するIDベース暗号用秘密鍵を作成し、安全な方法により受信者側装置に配布する。受信者側装置は、鍵管理センタにより公開されたシステムパラメータを用いて、受信者の秘密鍵および公開鍵を個別に作成し、該公開鍵を送信者側装置に対して公開する。送信者側装置は、鍵管理センタにより公開されたシステムパラメータと受信者側装置により公開された受信者の公開鍵とを用いて、メッセージ文に対する暗号文を作成し、受信者側装置に送信する。受信者側装置は、受信者の秘密鍵およびIDベース暗号用秘密鍵を用いて、送信者側装置より受信した暗号文をメッセージ文に復号化する。
【0009】
また、本発明のIDベース暗号通信方法の他の態様において、鍵管理センタ側装置は、鍵管理センタのマスタ鍵と対のシステムパラメータを作成し、システムパラメータを送信者側装置および受信者側装置に対して公開する。また、鍵管理センタ側装置は、鍵管理センタのマスタ鍵を用いて送信者のID情報に対するIDベース暗号用秘密鍵を作成し、安全な方法により送信者側装置に配布する。送信者側装置は、鍵管理センタにより公開されたシステムパラメータを用いて、送信者の秘密鍵および公開鍵を個別に作成し、該公開鍵を受信者側装置に対して公開する。送信者側装置は、送信者の秘密鍵およびIDベース暗号用秘密鍵を用いて、メッセージ文に対するデジタル署名を生成し、該メッセージ文およびデジタル署名を受信者側装置に送信する。受信者側装置は、鍵管理センタにより公開されたシステムパラメータと送信者側装置により公開された送信者の公開鍵とを用いて、送信者により受信したメッセージ文およびデジタル署名の正当性を検討する。
【0010】
例えば、本発明は、送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文Mの暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文Mに復号化するIDベース暗号通信方法であって、
(1)前記鍵管理センタ側装置が、
素数q、加法群G、乗法群G、および、
【0011】
【数48】

【0012】
なる双線形写像eを生成するステップと、
s∈ZqおよびP∈Gをランダムに選ぶステップ(但し、Z={0、1、2、...、q-1})と、
【0013】
【数49】

【0014】
を生成し、sをマスタ鍵とし、(q,G,G,e,l,m,n,P,Ppub,H,H,H,H)をシステムパラメータとして、前記マスタ鍵および前記システムパラメータを前記鍵管理センタ側装置の記憶装置に記憶すると共に、前記システムパラメータを出力するステップ(但し、l、m、nは正整数、H、H、H、Hは、
【0015】
【数50】

【0016】
なるハッシュ関数を意味する。なお、数50において、{0,1}はユーザのID情報と同じビット数の任意のビット列、Gは0元を除く加法群G、そして、Zは0元を除く乗法群Zである。)と、
前記鍵管理センタ側装置の記憶装置に記憶した前記システムパラメータと、前記鍵管理センタ側装置の記憶装置に予め登録されている前記受信者AのID情報IDとを用いて、
【0017】
【数51】

【0018】
を計算し、さらに、この計算結果QIDAと、前記鍵管理センタ側装置の記憶装置に記憶した前記マスタ鍵とを用いて、
【0019】
【数12】

【0020】
を計算し、dIDAを受信者AのIDベース暗号用秘密鍵として出力するステップと、を行い、
(2)前記受信者側装置が、
前記鍵管理センタ側装置から出力された前記システムパラメータを用いて、前記受信者Aの秘密鍵s∈Zをランダムに選び、前記受信者側装置の記憶装置に記憶するステップと、
前記受信者側装置の記憶装置に記憶した前記受信者Aの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【0021】
【数53】

【0022】
なる公開鍵Ppub,Aを生成し出力するステップと、を行い、
(3)前記送信者側装置が、
前記メッセージ文Mに対してσ∈{0,1}をランダムに選ぶステップと、
前記メッセージ文Mと、前記メッセージ文Mに対して選んだσと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【0023】
【数54】

【0024】
を計算し、さらに、この計算結果rと、前記受信者側装置から出力された前記受信者Aの公開鍵Ppub,Aと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【0025】
【数55】

【0026】
を計算するステップ(但し、E(M;K)はメッセージ文Mを鍵Kを用いて共通鍵暗号で暗号化した暗号文を意味する。)と、
数55の計算結果(U,V,W)を暗号文として前記受信者側装置に送信するステップと、を行い、
(4)前記受信者側装置が、
前記鍵管理センタ側装置より受信した前記受信者AのIDベース暗号用秘密鍵と、前記受信者側装置の記憶装置に記憶した前記受信者Aの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記暗号文(U,V,W)に対して、
【0027】
【数56】

【0028】
を計算するステップと、
数56の計算結果と、前記送信者側装置より受信した前記暗号文と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【0029】
【数57】

【0030】
を計算するステップ(但し、D(C;K)は暗号文Cを鍵Kを用いて共通鍵暗号で復号化したメッセージを意味する。)と、
数56の計算結果と、数57の計算結果と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【0031】
【数58】

【0032】
を計算するステップと、
数58の計算結果と、前記送信者側装置より受信した前記暗号文と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【0033】
【数59】

【0034】
が成立するか否かを判断し、成立する場合に数57の計算結果をメッセージ文Mとして出力し、成立しない場合に前記送信者側装置より受信した前記暗号文を不正な暗号文とみなして破棄するステップと、を行う。
【発明の効果】
【0035】
本発明によれば、鍵管理センタの内部不正者が鍵管理センタが秘密に保持しているマスタ鍵を不正に持ち出した場合でも、ユーザ間で安全なIDベース暗号通信を行うことができる。また、不正なユーザが自身で作成したディジタル署名に対して不当な否認を行うことを防止できる。
【発明を実施するための最良の形態】
【0036】
以下に、本発明の実施の形態について説明する。
【0037】
まず、以下の各実施形態に共通するIDベース暗号通信システムの構成を説明する。
【0038】
図1は本発明の各実施形態に共通するIDベース暗号通信システムの概略構成図である。図示するように、IDベース暗号通信システムは、鍵管理センタ側装置100と、複数のユーザ側通信装置200とが、通信回線300を介して接続された構成を有している。
【0039】
図2は図1に示す鍵管理センタ側装置100の概略構成図である。図示するように、鍵管理センタ側装置100は、情報を入力する入力部101と、論理演算、べき乗算、剰余演算、ハッシュ関数演算を含む各種演算および鍵管理センタ側装置100の各部の制御を行う演算部102と、記憶部103と、通信回線300を介してユーザ側装置200と通信を行なう通信部104と、情報を出力する通信部105と、を備えている。また、演算部102は、鍵管理センタのマスタ鍵およびシステムパラメータを作成する鍵情報作成部106を有する。
【0040】
図3は図1に示すユーザ側装置200の概略構成図である。図示するように、ユーザ側装置200は、情報を入力する入力部201と、論理演算、べき乗算、剰余演算、ハッシュ関数演算を含む各種演算およびユーザ側装置200の各部の制御を行う演算部202と、記憶部203と、通信回線300を介して鍵管理センタ側装置100および他のユーザ側装置200と通信を行なう通信部204と、情報を出力する通信部205と、を備えている。また、演算部202は、乱数を生成する乱数生成部206と、暗復号化処理を行う暗復号化部207とを有する。
【0041】
上記構成の鍵管理センタ側装置100およびユーザ側装置200は、図4に示すような、CPU401と、メモリ402と、HDD等の外部記憶装置403と、CD-ROMやDVD-ROM等の可搬性を有する記憶媒体409から情報を読み出す読取装置404と、キーボードやマウスなどの入力装置405と、ディスプレイなどの出力装置406と、通信回線300を介して相手装置と通信を行なうための通信装置407と、これらの各装置401〜407を接続するバス408と、を備えた一般的なコンピュータにおいて、CPU401がメモリ402上にロードされた所定のプログラムを実行することにより実現することができる。この場合、メモリ402や外部記憶装置403が記憶部103、203に利用され、通信装置408が通信部104、204に利用され、読取装置404や入力装置405が入力部101、201に利用され、そして、出力装置406が出力部105、205に利用される。
【0042】
この所定のプログラムは、読取装置404を介して記憶媒体409から、あるいは、通信装置407を介して通信回線300から、外部記憶装置403にダウンロードされ、それから、メモリ402上にロードされてCPU401により実行されるようにしてもよい。また、読取装置404を介して記憶媒体409から、あるいは、通信装置407を介して通信回線300から、メモリ402上に直接ロードされ、CPU401により実行されるようにしてもよい。
【0043】
<<第1実施形態>>
次に、本発明の第1実施形態について説明する。本実施形態では、ユーザAのユーザ側装置200(以下、ユーザ側装置Aと呼ぶ)、および、ユーザBのユーザ側装置200(以下、ユーザ側装置Bと呼ぶ)が、鍵管理センタ側装置100が作成した情報と、通信相手のユーザのID情報とを用いて、通信回線300を介して互いに暗号通信を行う場合を例にとり説明する。図5は第1実施形態の動作手順を説明するための図である。
【0044】
1.準備処理
1-1:鍵管理センタのセットアップ処理
1-1-1:鍵管理センタ側装置100の処理
鍵管理センタ側装置100において、演算部102は、入力部101を介して鍵管理センタの管理者から鍵生成の指示を受け付けると、鍵情報生成部106を用いて、素数q、加法群G、乗法群G、および、
【0045】
【数60】

【0046】
なる双線形写像eを生成する(S1001)。
【0047】
次に、演算部102は、鍵情報生成部106を用いて、s∈ZqおよびP∈Gをランダムに選ぶ(S1002)。ここで、Z={0、1、2、...、q-1}である。
【0048】
次に、演算部102は、s、Pを用いて、
【0049】
【数61】

【0050】
を生成する(S1003)。そして、sをマスタ鍵とし、(q,G,G,e,n,P,Ppub,H,H)をシステムパラメータとして、両者を記憶部103に記憶する。但し、nは正整数である。H、Hは、
【0051】
【数62】

【0052】
なるハッシュ関数を意味する。なお、数62において、{0,1}はユーザのID情報と同じビット数の任意のビット列、そして、Gは0元を除く加法群Gである。ここで、ID情報のビット数は、ID情報に使用する情報の種類によって異なる場合がある。
【0053】
次に、演算部102は、システムパラメータ(q,G,G,e,n,P,Ppub,H,H)を出力部105から出力するか、あるいは、通信回線300を介して通信部104から各ユーザ側装置200に送信する(S1004)。なお、出力部105からシステムパラメータが出力された場合、鍵管理センタは郵送等により各ユーザ側装置200のユーザに通知する。
【0054】
1-1-2:ユーザ側装置200の処理
ユーザ側装置Aにおいて、演算装置202は、通信部204が通信回線300を介して鍵管理センタ側装置100より受信した、あるいは、入力部201に入力されたシステムパラメータ(q,G,G,e,n,P,Ppub,H,H)を、記憶部203に記憶する(S2001)。ユーザ側装置Bでも同様の処理が行われる。
【0055】
1-2:ユーザのセットアップ処理
ここでは、ユーザ側装置Aが暗号通信を行なうのに必要な情報をセットアップする場合を例にとり説明するが、ユーザ側装置Bでも同様の処理が行われる。
【0056】
1-2-1:ユーザ側装置200の処理
ユーザ側装置Aにおいて、演算部202は、入力部201を介してユーザAより受け付けたユーザAのID情報IDを、記憶部203に記憶すると共に、通信回線300を介して通信部104から鍵管理センタ側装置100に送信する(S2002)。なお、ユーザAが、郵送等によって鍵管理センタに、ID情報IDをユーザ側装置Aのアドレスと共に通知してもよい。
【0057】
1-2-2:鍵管理センタ側装置100の処理
鍵管理センタ側装置100において、演算装置102は、通信部104が通信回線300を介してユーザ側装置Aから受信した、あるいは、入力部101にユーザ側装置Aのアドレスと共に入力されたユーザAのID情報IDを、ユーザ側装置Aのアドレスに対応付けて記憶部103に記憶する(S1005)。
【0058】
次に、演算部102は、記憶部103に記憶されているシステムパラメータHおよびユーザのID情報IDを用いて、
【0059】
【数63】

【0060】
を計算する。さらに、この計算結果QIDAと、記憶装置103に記憶されているマスタ鍵sとを用いて、
【0061】
【数64】

【0062】
を計算し、この計算結果dIDAを、ユーザAのIDベース暗号用秘密鍵として、出力部105から出力するか、あるいは、通信回線300を介して通信部104からユーザ側装置Aに安全な方法(例えば鍵管理センタ側装置100がユーザ側装置Aと共有する暗号鍵を用いた暗号通信)で送信する(S1006)。なお、出力部105からユーザAのIDベース暗号用秘密鍵dIDAが出力された場合、鍵管理センタが郵送等の安全な方法でこのIDベース暗号用秘密鍵dIDAをユーザAに配布する。
【0063】
1-2-3:ユーザ側装置200(メッセージ受信側)の処理
ユーザ側装置Aにおいて、演算部202は、通信部204が通信回線300を介して鍵管理センタ側装置100から受信した、あるいは、入力部201に入力されたユーザAのIDベース暗号用秘密鍵dIDAを、記憶部203に記憶する(S2003)。
【0064】
次に、演算部202は、記憶部203に記憶されているシステムパラメータqと、乱数生成部206とを用いて、ユーザAの秘密鍵s∈Zをランダムに選び、秘密鍵sを記憶部203に記憶する(S2004)。
【0065】
また、演算部202は、記憶部203にそれぞれ記憶されているユーザAの秘密鍵sおよびシステムパラメータPを用いて、
【0066】
【数65】

【0067】
なる公開鍵Ppub,Aを生成する。そして、演算部202は、公開鍵Ppub,Aを出力部205から出力するか、あるいは、通信回線300を介して通信部204からユーザ側装置Bに送信する(S2005)。なお、出力部205から公開鍵Ppub,Aが出力された場合、ユーザAは郵送等によりユーザBに通知する。
【0068】
1-2-4:ユーザ側装置200(メッセージ送信側)の処理
ユーザ側装置Bにおいて、演算装置202は、通信部204が通信回線300を介してユーザ側装置Aより受信した、あるいは、入力部201に入力されたユーザAの公開鍵Ppub,Aを、記憶部203に記憶する(S3001)。
【0069】
2.暗号通信処理
2-1:ユーザ側装置200(メッセージ送信側)の処理
ここでは、ユーザ側装置Bがメッセージ文を暗号化してユーザ側装置Aに送信する場合を例にとり説明するが、ユーザ側装置Aがメッセージ文を暗号化してユーザ側装置Bに送信する場合でも同様の処理が行われる。
【0070】
ユーザ側装置Bにおいて、演算部202は、入力部201に入力されたメッセージ文Mを記憶部203に記憶する(S3002)。但し、M∈{0,1}とする。ここで、nはシステムパラメータである。
【0071】
次に、演算部202は、記憶部203に記憶されているシステムパラメータqと、乱数生成部206とを用いて、r∈Zをランダムに選ぶ。さらに、このrと、記憶装置203に記憶されているメッセージ文M、ユーザAの公開鍵Ppub,Aおよびシステムパラメータe,P,Ppub,Hとを用いて、
【0072】
【数66】

【0073】
を計算する。この計算結果(U,V)をメッセージMの暗号文として、通信回線300を介して通信部204からユーザ側装置Bに送信する(S3003)。
【0074】
2-2:ユーザ側装置200(メッセージ受信側)の処理
ここでは、ユーザ側装置Aがユーザ側装置Bから受信した暗号文をメッセージ文に復号化する場合を例にとり説明するが、ユーザ側装置Bがユーザ側装置Aから受信した暗号文をメッセージ文に復号化する場合でも同様の処理が行われる。
【0075】
ユーザ側装置Aにおいて、演算部202は、通信部204が通信回線300を介してユーザ側装置Bより受信した暗号文(U,V)を記憶部203に記憶する(S2006)。
【0076】
次に、演算部202は、記憶装置203に記憶されているユーザAの秘密鍵s、IDベース暗号用秘密鍵dIDA、および、システムパラメータe,H,Hを用いて、記憶装置203に記憶されている暗号文(U,V)に対して
【0077】
【数67】

【0078】
を計算し、メッセージ文Mを復号化する(S2007)。そして、復号化したメッセージMを出力部205から出力する。
【0079】
以上、本発明の第1実施形態について説明した。
【0080】
本実施形態では、送信側装置であるユーザ側装置Bは、鍵管理センタ側装置100が作成したシステムパラメータと受信側装置であるユーザA側装置が作成した公開情報Ppub,Aとからメッセージ文Mの暗号文を作成している。また、受信側装置であるユーザ側装置Aは、鍵管理センタ側装置100が作成したIDベース暗号用秘密鍵dIDAとユーザ側装置Aが作成した鍵情報sとを用いてメッセージ文Mの復号化を行っている。ここで、鍵管理センタは、IDベース暗号用秘密鍵dIDAについては知ることができるが、鍵情報sについては知ることができない。このため、鍵管理センタに内部不正者が存在しても暗号文(U,V)を復号化することができない。
【0081】
また、本実施形態では、非特許文献4に記載の手法と同様の手法により、IND(Indistinguishability)−CPA(Chosen-Plaintext Attack)の意味での安全性を証明することが可能である。さらに、ユーザが自身で作成した鍵情報について、鍵管理センタが公開しているシステムパラメータを利用して作成し、かつ、鍵管理センタが発行したIDベース暗号用秘密鍵と併用して復号化処理を行うため、既存のIDベース暗号システムと同様に、公開鍵証明書が不要である。
【0082】
なお、本実施形態において、鍵管理センタにID情報を登録していないユーザ(鍵管理センタからIDベース暗号用秘密鍵を受け取っていないユーザ)も、当該ユーザのユーザ側装置200を用いて上記と同様の方法により暗号文を作成して送信することができる。但し、鍵管理センタID情報に登録を行っていないユーザは、暗号文の復号化を行うことはできない。
【0083】
また、本実施形態において、鍵管理センタ側装置100を、ICカード等のハードウエア的に安全な装置に実装し、各ユーザに対して配布した上で、上記と同様の方法により暗号通信を行うこともできる。
【0084】
<<第2実施形態>>
次に、本発明の第2実施形態について説明する。本実施形態は、上記の第1実施形態の変形例であり、受信側のユーザ側装置200において復号結果の正当性を検証できるようにしたものである。図6は本発明の第2実施形態の動作手順を説明するための図である。
【0085】
1.準備処理
1-1:鍵管理センタのセットアップ処理
1-1-1:鍵管理センタ側装置100の処理
鍵管理センタ側装置100において、演算部102は、入力部101を介して鍵管理センタの管理者から鍵生成の指示を受け付けると、鍵情報生成部106を用いて、素数q、加法群G、乗法群G、および、
【0086】
【数68】

【0087】
なる双線形写像eを生成する(S1101)。
【0088】
次に、演算部102は、鍵情報生成部102を用いて、s∈ZqおよびP∈Gをランダムに選ぶ(S1102)。ここで、Z={0、1、2、...、q-1}である。
【0089】
次に、演算部102は、s、Pを用いて、
【0090】
【数69】

【0091】
を生成する(S1103)。そして、sをマスタ鍵とし、(q,G,G,e,l,m,n,P,Ppub,H,H,H,H)をシステムパラメータとして、両者を記憶部103に記憶する。但し、l、m、nは正整数である。H、H、H、Hは、
【0092】
【数70】

【0093】
なるハッシュ関数を意味する。なお、数70において、{0,1}はユーザのID情報と同じビット数の任意のビット列、Gは0元を除く加法群G、そして、Zは0元を除く乗法群Zである。ここで、ID情報のビット数は、ID情報に使用する情報の種類によって異なる場合がある。
【0094】
次に、演算部102は、システムパラメータ(q,G,G,e,l,m,n,P,Ppub,H,H,H,H)を出力部105から出力するか、あるいは、通信回線300を介して通信部104から各ユーザ側装置200に送信する(S1104)。なお、出力部105からシステムパラメータが出力された場合、鍵管理センタは郵送等により各ユーザ側装置200のユーザに通知する。
【0095】
1-1-2:ユーザ側装置200の処理
ユーザ側装置Aにおいて、演算装置202は、通信部204が通信回線300を介して鍵管理センタ側装置100より受信した、あるいは、入力部201に入力されたシステムパラメータ(q,G,G,e,l,m,n,P,Ppub,H,H,H,H)を、記憶部203に記憶する(S2101)。ユーザ側装置Bでも同様の処理が行われる。
【0096】
1-2:ユーザのセットアップ処理
ここでは、ユーザ側装置Aが暗号通信を行なうのに必要な情報をセットアップする場合を例にとり説明するが、ユーザ側装置Bでも同様の処理が行われる。
【0097】
1-2-1:ユーザ側装置200の処理
ユーザ側装置Aにおいて、演算部202は、入力部201を介してユーザAより受け付けたユーザAのID情報IDを、記憶部203に記憶すると共に、通信回線300を介して通信部104から鍵管理センタ側装置100に送信する(S2102)。なお、ユーザAが、郵送等によって鍵管理センタに、ID情報IDをユーザ側装置Aのアドレスと共に通知してもよい。
【0098】
1-2-2:鍵管理センタ側装置100の処理
鍵管理センタ側装置100において、演算装置102は、通信部104が通信回線300を介してユーザ側装置Aから受信した、あるいは、入力部101にユーザ側装置Aのアドレスと共に入力されたユーザAのID情報IDを、ユーザ側装置Aのアドレスに対応付けて記憶部103に記憶する(S1105)。
【0099】
次に、演算部102は、記憶部103に記憶されているシステムパラメータHおよびユーザのID情報IDを用いて、
【0100】
【数71】

【0101】
を計算する。さらに、この計算結果QIDAと、記憶装置103に記憶されているマスタ鍵sとを用いて、
【0102】
【数72】

【0103】
を計算し、この計算結果dIDAをユーザAのIDベース暗号用秘密鍵として、出力部105から出力するか、あるいは、通信回線300を介して通信部104からユーザ側装置Aに安全な方法(例えば鍵管理センタ側装置100がユーザ側装置Aと共有する暗号鍵を用いた暗号通信)で送信する(S1106)。なお、出力部105からユーザAのIDベース暗号用秘密鍵dIDAが出力された場合、鍵管理センタが郵送等の安全な方法でこのIDベース暗号用秘密鍵dIDAをユーザAに配布する。
【0104】
1-2-3:ユーザ側装置200(メッセージ受信側)の処理
ユーザ側装置Aにおいて、演算部202は、通信部204が通信回線300を介して鍵管理センタ側装置100から受信した、あるいは、入力部201に入力されたユーザAのIDベース暗号用秘密鍵dIDAを、記憶部203に記憶する(S2103)。
【0105】
次に、演算部202は、記憶部203に記憶されているシステムパラメータqと、乱数生成部206とを用いて、ユーザAの秘密鍵s∈Zをランダムに選び、秘密鍵sを記憶部203に記憶する(S2104)。
【0106】
また、演算部202は、記憶部203にそれぞれ記憶されているユーザAの秘密鍵sおよびシステムパラメータPを用いて、
【0107】
【数73】

【0108】
なる公開鍵Ppub,Aを生成する。そして、演算部202は、公開鍵Ppub,Aを出力部205から出力するか、あるいは、通信回線300を介して通信部204からユーザ側装置Bに送信する(S2105)。なお、出力部205から公開鍵Ppub,Aが出力された場合、ユーザAは郵送等によりユーザBに通知する。
【0109】
1-2-4:ユーザ側装置200(メッセージ送信側)の処理
ユーザ側装置Bにおいて、演算装置202は、通信部204が通信回線300を介してユーザ側装置Aより受信した、あるいは、入力部201に入力されたユーザAの公開鍵Ppub,Aを、記憶部203に記憶する(S3101)。
【0110】
2.暗号通信処理
2-1:ユーザ側装置200(メッセージ送信側)の処理
ここでは、ユーザ側装置Bがメッセージ文を暗号化してユーザ側装置Aに送信する場合を例にとり説明するが、ユーザ側装置Aがメッセージ文を暗号化してユーザ側装置Bに送信する場合でも同様の処理が行われる。
【0111】
ユーザ側装置Bにおいて、演算部202は、入力部201に入力されたメッセージ文Mを記憶部203に記憶する(S3102)。但し、M∈{0,1}とする。ここで、nはシステムパラメータである。
【0112】
次に、演算部202は、記憶部203に記憶されているシステムパラメータmと、乱数生成部206とを用いて、メッセージ文Mに対してσ∈{0,1}をランダムに選ぶ。そして、このσと、記憶部203に記憶されているメッセージ文Mと、記憶部203に記憶されているシステムパラメータHとを用いて、
【0113】
【数74】

【0114】
を計算する(S3103)。さらに、この計算結果rと、記憶装置203に記憶されているメッセージ文Mと、ユーザAの公開鍵Ppub,Aと、記憶装置203に記憶されているシステムパラメータe,P,Ppub,H,Hと、暗復号化部207とを用いて、
【0115】
【数75】

【0116】
を計算する。なお、数75において、E(M;K)はメッセージ文Mを鍵Kを用いて共通鍵暗号で暗号化した暗号文を意味する。次に、演算部202は、この計算結果(U,V,W)をメッセージMの暗号文として、通信回線300を介して通信部204からユーザ側装置Bに送信する(S3104)。
【0117】
2-2:ユーザ側装置200(メッセージ受信側)の処理
ここでは、ユーザ側装置Aがユーザ側装置Bから受信した暗号文をメッセージ文に復号化する場合を例にとり説明するが、ユーザ側装置Bがユーザ側装置Aから受信した暗号文をメッセージ文に復号化する場合でも同様の処理が行われる。
【0118】
ユーザ側装置Aにおいて、演算部202は、通信部204が通信回線300を介してユーザ側装置Bより受信した暗号文(U,V,W)を記憶部203に記憶する(S2106)。
【0119】
次に、演算部202は、記憶装置203に記憶されているユーザAの秘密鍵s、IDベース暗号用秘密鍵dIDA、および、システムパラメータe,H,Hを用いて、記憶装置203に記憶されている暗号文(U,V,W)に対して
【0120】
【数76】

【0121】
を計算する(S2107)。次に、演算部202は、数76の計算結果σと、記憶装置203に記憶されている暗号文Wと、記憶装置203に記憶されているシステムパラメータHと、暗復号化部207とを用いて、
【0122】
【数77】

【0123】
を計算する。なお、数77において、D(C;K)は暗号文Cを鍵Kを用いて共通鍵暗号で復号化したメッセージを意味する。さらに、演算部202は、数76の計算結果σと、数77の計算結果Mと、記憶装置203に記憶されているシステムパラメータHとを用いて、
【0124】
【数78】

【0125】
を計算する(S2108)。それから、演算部202は、数78の計算結果rと、記憶装置203に記憶されている暗号文Uと、記憶装置203に記憶されているシステムパラメータPとを用いて、
【0126】
【数79】

【0127】
が成立するか否かを判断する(S2109)。成立する場合に数77の計算結果Mをメッセージ文Mとして出力する。一方、成立しない場合に、記憶装置203に記憶されている暗号文(U,V,W)を不正な暗号文とみなして破棄する。
【0128】
以上、本発明の第2実施形態について説明した。
【0129】
本実施形態は、上記の第1実施形態と同様の効果を有する。それに加えて、不正な暗号文が復号化されて出力されるのを防止することができる。
【0130】
なお、本実施形態において、上記の第1実施形態と同様に、鍵管理センタにID情報を登録していないユーザ(鍵管理センタからIDベース暗号用秘密鍵を受け取っていないユーザ)も、当該ユーザのユーザ側装置200を用いて上記と同様の方法により暗号文を作成して送信することができる。但し、鍵管理センタID情報に登録を行っていないユーザは、暗号文の復号化を行うことはできない。
【0131】
また、本実施形態において、鍵管理センタ側装置100を、ICカード等のハードウエア的に安全な装置に実装し、各ユーザに対して配布した上で、上記と同様の方法により暗号通信を行うこともできる。
【0132】
<<第3実施形態>>
次に、本発明の第3実施形態について説明する。本実施形態では、ユーザAのユーザ側装置200(以下、ユーザ側装置Aと呼ぶ)、および、ユーザBのユーザ側装置200(以下、ユーザ側装置Bと呼ぶ)が、鍵管理センタ側装置100が作成した情報と、通信相手のユーザのID情報とを用いて、通信回線300を介して文書認証を行う場合を例にとり説明する。図7は第3実施形態の動作手順を説明するための図である。
【0133】
1.準備処理
1-1:鍵管理センタのセットアップ処理
1-1-1:鍵管理センタ側装置100の処理
鍵管理センタ側装置100において、演算部102は、入力部101を介して鍵管理センタの管理者から鍵生成の指示を受け付けると、鍵情報生成部106を用いて、素数q、加法群G、乗法群G、および、
【0134】
【数80】

【0135】
なる双線形写像eを生成する(S1201)。
【0136】
次に、演算部102は、鍵情報生成部102を用いて、s∈ZqおよびP∈Gをランダムに選ぶ(S1202)。ここで、Z={0、1、2、...、q-1}である。
【0137】
次に、演算部102は、s、Pを用いて、
【0138】
【数81】

【0139】
を生成する(S1203)。そして、sをマスタ鍵とし、(q,G,G,e,n,P,Ppub,H,H)をシステムパラメータとして、両者を記憶部103に記憶する。但し、nは正整数である。H、Hは、
【0140】
【数82】

【0141】
なるハッシュ関数を意味する。なお、数82において、{0,1}はユーザのID情報と同じビット数の任意のビット列、そして、Gは0元を除く加法群Gである。ここで、ID情報のビット数は、ID情報に使用する情報の種類によって異なる場合がある。
【0142】
次に、演算部102は、システムパラメータ(q,G,G,e,n,P,Ppub,H,H)を出力部105から出力するか、あるいは、通信回線300を介して通信部104から各ユーザ側装置200に送信する(S1204)。なお、出力部105からシステムパラメータが出力された場合、鍵管理センタは郵送等により各ユーザ側装置200のユーザに通知する。
【0143】
1-1-2:ユーザ側装置200の処理
ユーザ側装置Aにおいて、演算装置202は、通信部204が通信回線300を介して鍵管理センタ側装置100より受信した、あるいは、入力部201に入力されたシステムパラメータ(q,G,G,e,n,P,Ppub,H,H)を、記憶部203に記憶する(S2201)。ユーザ側装置Bでも同様の処理が行われる。
【0144】
1-2:ユーザのセットアップ処理
ここでは、ユーザ側装置Aがデジタル署名を行なうのに必要な情報をセットアップする場合を例にとり説明するが、ユーザ側装置Bでも同様の処理が行われる。
【0145】
1-2-1:ユーザ側装置200の処理
ユーザ側装置Aにおいて、演算部202は、入力部201を介してユーザAより受け付けたユーザAのID情報IDを、記憶部203に記憶すると共に、通信回線300を介して通信部104から鍵管理センタ側装置100および他のユーザ側装置200に送信する(S2202)。なお、ユーザAが、郵送等によって鍵管理センタおよび他のユーザに、ID情報IDをユーザ側装置Aのアドレスと共に通知してもよい。
【0146】
1-2-2:鍵管理センタ側装置100の処理
鍵管理センタ側装置100において、演算装置102は、通信部104が通信回線300を介してユーザ側装置Aから受信した、あるいは、入力部101にユーザ側装置Aのアドレスと共に入力されたユーザAのID情報IDを、ユーザ側装置Aのアドレスに対応付けて記憶部103に記憶する(S1205)。
【0147】
次に、演算部102は、記憶部103に記憶されているシステムパラメータHおよびユーザのID情報IDを用いて、
【0148】
【数83】

【0149】
を計算する。さらに、この計算結果QIDAと、記憶装置103に記憶されているマスタ鍵sとを用いて、
【0150】
【数84】

【0151】
を計算し、この計算結果dIDAを、ユーザAのIDベース暗号用秘密鍵として、出力部105から出力するか、あるいは、通信回線300を介して通信部104からユーザ側装置Aに安全な方法(例えば鍵管理センタ側装置100がユーザ側装置Aと共有する暗号鍵を用いた暗号通信)で送信する(S1206)。なお、出力部105からユーザAのIDベース暗号用秘密鍵dIDAが出力された場合、鍵管理センタが郵送等の安全な方法でこのIDベース暗号用秘密鍵dIDAをユーザAに配布する。
【0152】
1-2-3:ユーザ側装置200(デジタル署名生成側)の処理
ユーザ側装置Aにおいて、演算部202は、通信部204が通信回線300を介して鍵管理センタ側装置100から受信した、あるいは、入力部201に入力されたユーザAのIDベース暗号用秘密鍵dIDAを、記憶部203に記憶する(S2203)。
【0153】
次に、演算部202は、記憶部203に記憶されているシステムパラメータqと、乱数生成部206とを用いて、ユーザAの秘密鍵s∈Zをランダムに選び、秘密鍵sを記憶部203に記憶する(S2204)。
【0154】
また、演算部202は、記憶部203にそれぞれ記憶されているユーザAの秘密鍵sおよびシステムパラメータPを用いて、
【0155】
【数85】

【0156】
なる公開鍵Ppub,Aを生成する。そして、演算部202は、公開鍵Ppub,Aを出力部205から出力するか、あるいは、通信回線300を介して通信部204からユーザ側装置Bに送信する(S2205)。なお、出力部205から公開鍵Ppub,Aが出力された場合、ユーザAは郵送等によりユーザBに通知する。
【0157】
1-2-4:ユーザ側装置200(デジタル署名検証側)の処理
ユーザ側装置Bにおいて、演算装置202は、通信部204が通信回線300を介してユーザ側装置Aより受信した、あるいは、入力部201に入力されたユーザAの公開鍵Ppub,Aを、記憶部203に記憶する(S3201)。
【0158】
2.文書認証処理
2-1:ユーザ側装置200(デジタル署名生成側)の処理
ここでは、ユーザ側装置Aがメッセージ文Mに対するデジタル署名を生成して該メッセージ文Mおよびデジタル署名をユーザ側装置Bに送信する場合を例にとり説明するが、ユーザ側装置Bがメッセージ文Mに対するデジタル署名を生成して該メッセージ文Mおよびデジタル署名をユーザ側装置Aに送信する場合でも同様の処理が行われる。
【0159】
ユーザ側装置Aにおいて、演算部202は、入力部201に入力されたメッセージ文Mを記憶部203に記憶する(S2206)。
【0160】
次に、演算部202は、記憶部203に記憶されているシステムパラメータqと、乱数生成部206とを用いて、r∈Zをランダムに選ぶ。そして、このrと、システムパラメータPとを用いて、
【0161】
【数86】

【0162】
を計算する。さらに、この計算結果Uと、記憶装置203に記憶されているメッセージ文Mと、ユーザAのID情報IDと、記憶装置203に記憶されているシステムパラメータHとを用いて、
【0163】
【数87】

【0164】
を計算する。また、記憶部203に記憶されているシステムパラメータHおよびユーザのID情報IDを用いて上記の数83によりQIDAを計算し、このQIDAと、数87の計算結果Hと、rと、記憶装置203に記憶されているユーザAのIDベース暗号用秘密鍵dIDAおよび秘密鍵sとを用いて、
【0165】
【数88】

【0166】
を計算する。そして、数86、数88の計算結果(U、V)をメッセージ文Mのデジタル署名として、メッセージ文Mと共に、通信回線300を介して通信部204からユーザ側装置Bに送信する(S2207)。
【0167】
2-2:ユーザ側装置200(デジタル署名検証側)の処理
ここでは、ユーザ側装置Bがユーザ側装置Aから受信したメッセージ文Mのデジタル署名(U,V)を検証する場合を例にとり説明するが、ユーザ側装置Aがユーザ側装置Bから受信したメッセージ文のデジタル署名を検証する場合でも同様の処理が行われる。
【0168】
ユーザ側装置Bにおいて、演算部202は、通信部204が通信回線300を介してユーザ側装置Aより受信したメッセージ文Mおよびデジタル署名(U,V)を記憶部203に記憶する(S3202)。
【0169】
次に、演算部202は、記憶装置203に記憶されているシステムパラメータH,Hと、記憶装置203に記憶されているユーザAのID情報IDと、記憶装置に記憶されているメッセージ文Mとを用いて、
【0170】
【数89】

【0171】
を計算する(S3203)。さらに、この計算結果QIDA,Hと、記憶装置203に記憶されているシステムパラメータe,P,PPUBと、記憶装置203に記憶されているデジタル署名(U,V)とを用いて、
【0172】
【数90】

【0173】
が成立するか否かを判断する(S3204)。成立する場合にデジタル署名(U,V)をメッセージ文Mに対する正当な署名と判断し、一方、成立しない場合に不正な署名と判断して、その判断結果を出力する。
【0174】
以上、本発明の第3実施形態について説明した。
【0175】
本実施形態では、署名生成側装置であるユーザ側装置Aは、鍵管理センタ側装置100が作成したIDベース暗号用秘密鍵dIDAとユーザ側装置Aが作成した鍵情報sとを用いてメッセージ文Mのデジタル署名を作成している。また、署名検証側装置であるユーザ側装置Bは、システムパラメータと署名生成側装置であるユーザA側装置が作成した公開情報Ppub,Aとからメッセージ文Mのデジタル署名を検証している。ここで、鍵管理センタは、IDベース暗号用秘密鍵dIDAについては知ることができるが、鍵情報sについては知ることができない。このため、鍵管理センタに内部不正者が存在してもデジタル署名(U,V)を作成することができない。このため、署名作成者は自身が作成した署名を不当に拒否することができない。
【0176】
また、本実施形態では、非特許文献5に記載の手法と同様の手法により、安全性を証明することが可能である。さらに、ユーザが自身で作成した鍵情報について、鍵管理センタが公開しているシステムパラメータを利用して作成し、かつ、鍵管理センタが発行したIDベース暗号用秘密鍵と併用して署名生成処理を行うため、既存のIDベース暗号システムと同様に、公開鍵証明書が不要である。
【0177】
なお、本実施形態において、鍵管理センタにID情報を登録していないユーザ(鍵管理センタからIDベース暗号用秘密鍵を受け取っていないユーザ)も、当該ユーザのユーザ側装置200を用いて上記と同様の方法によりデジタル署名の検証を行うことができる。但し、鍵管理センタID情報に登録を行っていないユーザは署名を生成できない。
【0178】
また、本実施形態において、鍵管理センタ側装置100を、ICカード等のハードウエア的に安全な装置に実装し、各ユーザに対して配布した上で、上記と同様の方法により暗号通信を行うこともできる。
【0179】
<<第4実施形態>>
次に、本発明の第4実施形態について説明する。本実施形態では、ユーザAのユーザ側装置200(以下、ユーザ側装置Aと呼ぶ)、および、ユーザBのユーザ側装置200(以下、ユーザ側装置Bと呼ぶ)が、鍵管理センタ側装置100が作成した情報と、通信相手のユーザのID情報とを用いて、通信回線300を介して互いに文書認証機能付き暗号(Signcryption)通信を行う場合を例にとり説明する。図8は第4実施形態の動作手順を説明するための図である。
【0180】
1.準備処理
1-1:鍵管理センタのセットアップ処理
1-1-1:鍵管理センタ側装置100の処理
鍵管理センタ側装置100において、演算部102は、入力部101を介して鍵管理センタの管理者から鍵生成の指示を受け付けると、鍵情報生成部106を用いて、素数q、加法群G、乗法群G、および、
【0181】
【数91】

【0182】
なる双線形写像eを生成する(S1301)。
【0183】
次に、演算部102は、鍵情報生成部102を用いて、s∈ZqおよびP∈Gをランダムに選ぶ(S1302)。ここで、Z={0、1、2、...、q-1}である。
【0184】
次に、演算部102は、s、Pを用いて、
【0185】
【数92】

【0186】
を生成する(S1303)。そして、sをマスタ鍵とし、(q,G,G,e,λ,L,P,Ppub,H,H,H,H,H)をシステムパラメータとして、両者を記憶部103に記憶する。但し、H、H、H、H、Hは、
【0187】
【数93】

【0188】
なるハッシュ関数を意味する。なお、数93において、{0,1}はユーザのID情報と同じビット数の任意のビット列、Gは0元を除く加法群G、そして、Zは0元を除く乗法群Zである。また、λ、Lは正整数である。ここで、ID情報のビット数は、ID情報に使用する情報の種類によって異なる場合がある。
【0189】
次に、演算部102は、システムパラメータ(q,G,G,e,λ,L,P,Ppub,H,H,H,H,H)を出力部105から出力するか、あるいは、通信回線300を介して通信部104から各ユーザ側装置200に送信する(S1304)。なお、出力部105からシステムパラメータが出力された場合、鍵管理センタは郵送等により各ユーザ側装置200のユーザに通知する。
【0190】
1-1-2:ユーザ側装置200の処理
ユーザ側装置Aにおいて、演算装置202は、通信部204が通信回線300を介して鍵管理センタ側装置100より受信した、あるいは、入力部201に入力されたシステムパラメータ(q,G,G,e,λ,L,P,Ppub,H,H,H,H,H)を、記憶部203に記憶する(S2301)。ユーザ側装置Bでも同様の処理が行われる。
【0191】
1-2:ユーザのセットアップ処理
ここでは、ユーザ側装置Aが暗号通信を行なうのに必要な情報をセットアップする場合を例にとり説明するが、ユーザ側装置Bでも同様の処理が行われる。
【0192】
1-2-1:ユーザ側装置200の処理
ユーザ側装置Aにおいて、演算部202は、入力部201を介してユーザAより受け付けたユーザAのID情報IDを、記憶部203に記憶すると共に、通信回線300を介して通信部104から鍵管理センタ側装置100およびユーザ側装置Bに送信する(S2302)。なお、ユーザAが、郵送等によって鍵管理センタおよびユーザ側装置Bに、ID情報IDをユーザ側装置Aのアドレスと共に通知してもよい。
【0193】
1-2-2:鍵管理センタ側装置100の処理
鍵管理センタ側装置100において、演算装置102は、通信部104が通信回線300を介してユーザ側装置Aから受信した、あるいは、入力部101にユーザ側装置Aのアドレスと共に入力されたユーザAのID情報IDを、ユーザ側装置Aのアドレスに対応付けて記憶部103に記憶する(S1305)。
【0194】
次に、演算部102は、記憶部103に記憶されているシステムパラメータHおよびユーザのID情報IDを用いて、
【0195】
【数94】

【0196】
を計算する。さらに、この計算結果QIDAと、記憶装置103に記憶されているマスタ鍵sとを用いて、
【0197】
【数95】

【0198】
を計算し、この計算結果dIDAを、ユーザAのIDベース暗号用秘密鍵として、出力部105から出力するか、あるいは、通信回線300を介して通信部104からユーザ側装置Aに安全な方法(例えば鍵管理センタ側装置100がユーザ側装置Aと共有する暗号鍵を用いた暗号通信)で送信する(S1306)。なお、出力部105からユーザAのIDベース暗号用秘密鍵dIDAが出力された場合、鍵管理センタが郵送等の安全な方法でこのIDベース暗号用秘密鍵dIDAをユーザAに配布する。
【0199】
1-2-3:ユーザ側装置200(メッセージ受信側)の処理
ユーザ側装置Aにおいて、演算部202は、通信部204が通信回線300を介して鍵管理センタ側装置100から受信した、あるいは、入力部201に入力されたユーザAのIDベース暗号用秘密鍵dIDAを、記憶部203に記憶する(S2303)。
【0200】
次に、演算部202は、記憶部203に記憶されているシステムパラメータqと、乱数生成部206とを用いて、ユーザAの秘密鍵s∈Zをランダムに選び、秘密鍵sを記憶部203に記憶する(S2304)。
【0201】
また、演算部202は、記憶部203にそれぞれ記憶されているユーザAの秘密鍵sおよびシステムパラメータPを用いて、
【0202】
【数96】

【0203】
なる公開鍵Ppub,Aを生成する。そして、演算部202は、公開鍵Ppub,Aを出力部205から出力するか、あるいは、通信回線300を介して通信部204からユーザ側装置Bに送信する(S2305)。なお、出力部205から公開鍵Ppub,Aが出力された場合、ユーザAは郵送等によりユーザBに通知する。
【0204】
1-2-4:ユーザ側装置200(メッセージ送信側)の処理
ユーザ側装置Bにおいて、演算装置202は、通信部204が通信回線300を介してユーザ側装置Aより受信した、あるいは、入力部201に入力されたユーザAの公開鍵Ppub,Aを、記憶部203に記憶する(S3301)。
【0205】
2.文書認証機能付き暗号通信処理
2-1:ユーザ側装置200(メッセージ送信側)の処理
ここでは、ユーザ側装置Aがユーザ側装置Bにメッセージを送信する場合を例にとり説明するが、ユーザ側装置Bがユーザ側装置Aにメッセージを送信する場合でも同様の処理が行われる。
【0206】
2-1-1:署名生成処理
ユーザ側装置Aにおいて、演算部202は、入力部201に入力されたメッセージ文Mを記憶部203に記憶する(S2306)。
【0207】
次に、演算部202は、記憶部203に記憶されているシステムパラメータqと、乱数生成部206とを用いて、r∈Zをランダムに選ぶ。そして、このrと、システムパラメータPとを用いて、
【0208】
【数97】

【0209】
を計算する。さらに、この計算結果Uと、記憶装置203に記憶されているメッセージ文Mと、ユーザAのID情報IDと、記憶装置203に記憶されているシステムパラメータHとを用いて、
【0210】
【数98】

【0211】
を計算する。また、上記の数94により記憶部203に記憶されているシステムパラメータHおよびユーザのID情報IDからQIDAを計算する。そして、この計算結果QIDAと、数89の計算結果Hと、rと、記憶装置203に記憶されているユーザAのIDベース暗号用秘密鍵dIDAおよび秘密鍵sとを用いて、
【0212】
【数99】

【0213】
を計算する。そして、数97、99の計算結果U,Vを記憶装置203に記憶する(S2307)。
【0214】
2-1-2:暗号化処理
ユーザ側装置Aにおいて、演算部202は、記憶装置203に記憶されている計算結果U,Vと、ユーザAのID情報IDと、メッセージ文Mとに対して、σ∈{0,1}λをランダムに選ぶ。そして、このσと、記憶部203に記憶されているユーザBのID情報IDと、記憶部203に記憶されているシステムパラメータHとを用いて、
【0215】
【数100】

【0216】
を計算する(S2308)。さらに、演算部202は、この計算結果QIDB,xと、メッセージ文Mと、記憶装置203に記憶されている計算結果U,Vと、ユーザBの公開鍵Ppub,Bと、記憶装置203に記憶されているシステムパラメータe,P,Ppub,H,Hとを用いて、
【0217】
【数101】

【0218】
を計算する。次に、演算部202は、この計算結果(X,W,Z)をメッセージMの文書認証機能付き暗号文として、通信回線300を介して通信部204からユーザ側装置Bに送信する(S2309)。
【0219】
2-2:ユーザ側装置200(メッセージ受信側)の処理
ここでは、ユーザ側装置Bがユーザ側装置Aから文書機能付き暗号文を受信する場合を例にとり説明するが、ユーザ側装置Aがユーザ側装置Bから文書機能付き暗号文を受信する場合でも同様の処理が行われる。
【0220】
2-2-1:復号化処理
ユーザ側装置Bにおいて、演算部202は、通信部204が通信回線300を介してユーザ側装置Bより受信した文書認証機能付き暗号文(X,W,Z)を記憶部203に記憶する(S3302)。
【0221】
次に、演算部202は、記憶装置203に記憶されているユーザBのID情報ID、ユーザAのID情報ID、ユーザBの秘密鍵s、IDベース暗号用秘密鍵dIDBおよびシステムパラメータe,H,H,Hと、記憶部203に記憶されているシステムパラメータHおよびユーザのID情報IDから求まるQIDBと、を用いて、記憶装置203に記憶されている文書認証機能付き暗号文(X,W,Z)に対して、
【0222】
【数102】

【0223】
を計算し、さらに、この計算結果σを用いて、
【0224】
【数103】

【0225】
を計算する。ここで、Vのビット数は既知とする。また、数103の計算結果(ビット列)を、Vのビット数のビットデータと、ユーザAのID情報IDのビット数のビットデータと、残りのビットデータとに分割することで、MおよびVを特定し、記憶装置203に記憶する(S3303)。
【0226】
次に、演算部202は、特定したMと、数102の計算結果σとを用いて、
【0227】
【数104】

を計算し、さらに、この計算結果xを用いて、
【0228】
【数105】

を計算する。そして、計算結果Uを記憶装置203に記憶する(S3304)。
【0229】
2-2-2:署名検証処理
ユーザ側装置Bにおいて、演算部202は、記憶装置203に記憶されている計算結果M、Uと、ユーザAのID情報IDと、システムパラメータHとから上記の数98によりHを計算する。また、ユーザAのID情報IDと、システムパラメータHとから上記の数100によりQIDAを計算する。そして、これらの計算結果H、QIDAと、記憶装置203に記憶されている計算結果Vと、記憶装置203に記憶されているシステムパラメータe,P,Ppubと、記憶装置203に記憶されているユーザAの公開鍵PPUB,Aとを用いて、
【0230】
【数106】

が成立するか否かを判断する(S3305)。成立する場合にMをメッセージ文、(U,V)をメッセージ文に対する正当な署名と判断し出力部205から出力する。一方、成立しない場合に、記憶装置203に記憶されている文書認証機能付暗号文(X,W,Z)を不正な暗号文とみなして破棄する。
【0231】
以上、本発明の第4実施形態について説明した。
【0232】
本実施形態では、メッセージ送信側装置であるユーザ側装置Aは、鍵管理センタ側装置100が作成したシステムパラメータと受信側装置であるユーザB側装置が作成した公開情報Ppub,Bとからメッセージ文Mの暗号文を作成している。また、メッセージ受信側装置であるユーザ側装置Bは、鍵管理センタ側装置100が作成したIDベース暗号用秘密鍵dIDBとユーザ側装置Aが作成した鍵情報sとを用いてメッセージ文Mの復号化を行っている。ここで、鍵管理センタは、IDベース暗号用秘密鍵dIDBについては知ることができるが、鍵情報sについては知ることができない。
【0233】
また、ユーザ側装置Aは、鍵管理センタが作成したIDベース暗号用秘密鍵dIDAとユーザ側装置Aが作成し鍵情報sからデジタル署名を生成している。また、ユーザ側装置Bは、システムパラメータとユーザAの公開情報Ppub,Aとを用いて署名の検証を行っている。ここで、鍵管理センタは、IDベース暗号用秘密鍵dIDAについては知ることができるが、鍵情報sについては知ることができない。
【0234】
このため、鍵管理センタに内部不正者が存在しても文書認証機能付暗号文(X,W,Z)を復号化することができない。また、署名作成者は自身が作成した署名を不当に拒否することができない。
【0235】
また、本実施形態では、非特許文献5に記載の手法と同様の手法により、安全性を証明することが可能である。さらに、ユーザが自身で作成した鍵情報について、鍵管理センタが公開しているシステムパラメータを利用して作成し、かつ、鍵管理センタが発行したIDベース暗号用秘密鍵と併用して署名生成処理を行うため、既存のIDベース暗号システムと同様に、公開鍵証明書が不要である。
【0236】
なお、本実施形態において、鍵管理センタにID情報を登録していないユーザ(鍵管理センタからIDベース暗号用秘密鍵を受け取っていないユーザ)も、当該ユーザのユーザ側装置200を用いて上記と同様の方法によりデジタル署名の検証を行うことができる。但し、鍵管理センタID情報に登録を行っていないユーザは署名を生成できない。
【0237】
また、本実施形態において、鍵管理センタ側装置100を、ICカード等のハードウエア的に安全な装置に実装し、各ユーザに対して配布した上で、上記と同様の方法により暗号通信を行うこともできる。
【0238】
なお、本発明は、上記の各実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記の各実施形態では、ユーザがそれぞれのユーザ側装置200を利用して認証および暗号通信を行うという一般的な通信システムを例にとり説明したが、本発明は、様々なシステムに適用可能である。例えば、電子ショッピングシステムでは、送信者はユーザであり、送信者のユーザ側装置200はパソコンなどの計算機であり、受信者は小売店であり、受信者のユーザ側装置200はパソコンなどの計算機となる。その他にも、従来の公開鍵暗号が使われている様々なシステムに適用することが可能である。
【0239】
また、上記の各実施形態での各計算は、CPUがメモリ上にロードされたプログラムを実行することにより行われるものとして説明した。しかし、プログラムだけではない。いずれかの計算を行なう装置は、ハードウエア化された演算装置であって、他の演算装置やCPUとデータのやりとりを行うものでもよい。
【図面の簡単な説明】
【0240】
【図1】本発明の各実施形態に共通するIDベース暗号通信システムの構成図である。
【図2】図1に示す鍵管理センタ側装置100の概略構成図である。
【図3】図1に示すユーザ側装置200の概略構成図である。
【図4】鍵管理センタ側装置100およびユーザ側装置200のハードウエア構成例を示す図である。
【図5】本発明の第1実施形態の動作手順を説明するための図である。
【図6】本発明の第2実施形態の動作手順を説明するための図である。
【図7】本発明の第3実施形態の動作手順を説明するための図である。
【図8】本発明の第4実施形態の動作手順を説明するための図である。
【符号の説明】
【0241】
100…鍵管理センタ側装置、101…入力部、102…演算部、103…記憶部、104…通信部、105…出力部、1060…鍵情報性西部、200…ユーザ側装置、201…入力部、202…演算部、203…記憶部、204…通信部、205…出力部、206…乱数生成部、207…暗復号化部、300…通信回線

【特許請求の範囲】
【請求項1】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文Mの暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文Mに復号化するIDベース暗号通信方法であって、
前記鍵管理センタ側装置が、鍵管理センタのマスタ鍵と対の前記システムパラメータを作成し出力するステップと、
前記鍵管理センタ側装置が、前記マスタ鍵を用いて受信者のID情報に対するIDベース暗号用秘密鍵を作成し出力ステップと、
前記受信者側装置が、前記鍵管理センタ側装置より出力されたシステムパラメータを用いて、受信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力するステップと、
前記送信者側装置が、前記鍵管理センタ側装置より出力されたシステムパラメータと前記受信者側装置より出力された受信者の公開鍵とを用いて、前記メッセージ文に対する暗号文を作成し、前記受信者側装置に送信するステップと、
前記受信者側装置が、前記受信者の秘密鍵および前記鍵管理センタ側装置より出力されたIDベース暗号用秘密鍵を用いて、前記送信者側装置より受信した暗号文をメッセージ文に復号化するステップと、を有すること
を特徴とするIDベース暗号通信方法。
【請求項2】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文に復号化するIDベース暗号通信方法であって、
(1)前記鍵管理センタ側装置が、
素数q、加法群G、乗法群G、および、
【数1】

なる双線形写像eを生成するステップと、
s∈ZqおよびP∈Gをランダムに選ぶステップ(但し、Z={0、1、2、...、q-1})と、
【数2】

を生成し、sをマスタ鍵とし、(q,G,G,e,n,P,Ppub,H,H)を前記システムパラメータとして、前記マスタ鍵および前記システムパラメータを記憶すると共に、前記システムパラメータを出力するステップ(但し、nは正整数、H、Hは、
【数3】

なるハッシュ関数を意味する。なお、数3において、{0,1}はユーザのID情報と同じビット数の任意のビット列、Gは0元を除く加法群G、そして、Zは0元を除く乗法群Zである。)と、
前記システムパラメータと、予め登録されている受信者AのID情報IDとを用いて、
【数4】

を計算し、さらに、この計算結果QIDAと、前記マスタ鍵とを用いて、
【数5】

を計算して、この計算結果dIDAを前記受信者AのIDベース暗号用秘密鍵として出力するステップと、を行い、
(2)前記受信者側装置が、
前記鍵管理センタ側装置から出力された前記システムパラメータを用いて、前記受信者Aの秘密鍵s∈Zをランダムに選び記憶するステップと、
前記受信者Aの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数6】

なる公開鍵Ppub,Aを生成し出力するステップと、を行い、
(3)前記送信者側装置が、
前記メッセージ文Mに対してσ∈{0,1}をランダムに選ぶステップと、
前記メッセージ文Mと、前記メッセージ文Mに対して選んだσと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数7】

を計算し、この計算結果(U,V)を暗号文として前記受信者側装置に送信するステップと、を行い、
(4)前記受信者側装置が、
前記鍵管理センタ側装置より受信した前記受信者AのIDベース暗号用秘密鍵と、前記受信者Aの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記暗号文(U,V)に対して、
【数8】

を計算し、計算結果Mを前記メッセージ文Mとして出力するステップを行うこと
を特徴とするIDベース暗号通信方法。
【請求項3】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文に復号化するIDベース暗号通信方法であって、
(1)前記鍵管理センタ側装置が、
素数q、加法群G、乗法群G、および、
【数9】

なる双線形写像eを生成するステップと、
s∈ZqおよびP∈Gをランダムに選ぶステップ(但し、Z={0、1、2、...、q-1})と、
【数10】

を生成し、sをマスタ鍵とし、(q,G,G,e,l,m,n,P,Ppub,H,H,H,H)を前記システムパラメータとして、前記マスタ鍵および前記システムパラメータを記憶すると共に、前記システムパラメータを出力するステップ(但し、l、m、nは正整数、H、H、H、Hは、
【数11】

なるハッシュ関数を意味する。なお、数11において、{0,1}はユーザのID情報と同じビット数の任意のビット列、Gは0元を除く加法群G、そして、Zは0元を除く乗法群Zである。)と、
前記記システムパラメータと、予め登録されている受信者AのID情報IDとを用いて、
【数12】

を計算し、さらに、この計算結果QIDAと、前記マスタ鍵とを用いて、
【数13】

を計算し、計算結果dIDAを前記受信者AのIDベース暗号用秘密鍵として出力するステップと、を行い、
(2)前記受信者側装置が、
前記鍵管理センタ側装置から出力された前記システムパラメータを用いて、前記受信者Aの秘密鍵s∈Zをランダムに選び記憶するステップと、
前記受信者Aの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数14】

なる公開鍵Ppub,Aを生成し出力するステップと、を行い、
(3)前記送信者側装置が、
前記メッセージ文Mに対してσ∈{0,1}をランダムに選ぶステップと、
前記メッセージ文Mと、前記選んだσと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数15】

を計算し、さらに、この計算結果rと、前記受信者側装置から出力された前記受信者Aの公開鍵Ppub,Aと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数16】

を計算するステップ(但し、E(M;K)はメッセージ文Mを鍵Kを用いて共通鍵暗号で暗号化した暗号文を意味する。)と、
数16の計算結果(U,V,W)を暗号文として前記受信者側装置に送信するステップと、を行い、
(4)前記受信者側装置が、
前記鍵管理センタ側装置より受信した前記受信者AのIDベース暗号用秘密鍵と、前記受信者Aの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記暗号文(U,V,W)に対して、
【数17】

を計算するステップと、
数17の計算結果σと、前記送信者側装置より受信した前記暗号文と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数18】

を計算するステップ(但し、D(C;K)は暗号文Cを鍵Kを用いて共通鍵暗号で復号化したメッセージを意味する。)と、
数17の計算結果σと、数18の計算結果Mと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数19】

を計算するステップと、
数19の計算結果rと、前記送信者側装置より受信した前記暗号文と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数20】

が成立するか否かを判断し、成立する場合に数18の計算結果Mをメッセージ文として出力し、成立しない場合に前記送信者側装置より受信した前記暗号文を不正な暗号文とみなして破棄するステップと、を行うこと
を特徴とするIDベース暗号通信方法。
【請求項4】
送信者側装置が鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いてメッセージ文に対するデジタル署名を生成し、受信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いて前記メッセージ文に対する前記デジタル署名を検証するIDベース暗号通信方法であって、
前記鍵管理センタ側装置が、鍵管理センタのマスタ鍵と対のシステムパラメータを作成し出力するステップと、
前記鍵管理センタ側装置が、前記マスタ鍵を用いて送信者のID情報に対するIDベース暗号用秘密鍵を作成し出力するステップと、
前記送信者側装置が、前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記送信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力するステップと、
前記送信者側装置が、前記秘密鍵および前記鍵管理センタ側装置より出力された前記送信者のIDベース暗号用秘密鍵を用いて前記メッセージ文に対するデジタル署名を生成し、前記メッセージ文および前記デジタル署名を前記受信者側装置に送信するステップと、
前記受信者側装置は、前記鍵管理センタ側装置より出力された前記システムパラメータと前記送信者側装置より出力された前記送信者の公開鍵とを用いて、前記送信者側装置から受信した前記メッセージ文および前記デジタル署名の正当性を検討するステップと、を有すること
を特徴とするIDベース暗号通信方法。
【請求項5】
送信者側装置が鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いてメッセージ文に対するデジタル署名を生成し、受信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いて前記メッセージ文に対する前記デジタル署名を検証するIDベース暗号通信方法であって、
(1)前記鍵管理センタ側装置が、
素数q、加法群G、乗法群G、および、
【数21】

なる双線形写像eを生成するステップと、
s∈ZqおよびP∈Gをランダムに選ぶステップ(但し、Z={0、1、2、...、q-1})と、
【数22】

を生成し、sをマスタ鍵とし、(q,G,G,e,P,Ppub,H,H)を前記システムパラメータとして、前記マスタ鍵および前記システムパラメータを記憶すると共に、前記システムパラメータを出力するステップ(但し、H、Hは、
【数23】

なるハッシュ関数を意味する。なお、数23において、{0,1}はユーザのID情報と同じビット数の任意のビット列、そして、Gは0元を除く加法群Gである。)と、
前記記システムパラメータと、予め登録されている送信者AのID情報IDとを用いて、
【数24】

を計算し、さらに、この計算結果QIDAと、前記マスタ鍵とを用いて、
【数25】

を計算し、計算結果dIDAを前記送信者AのIDベース暗号用秘密鍵として出力するステップと、を行い、
(2)前記送信者側装置が、
前記鍵管理センタ側装置から出力された前記システムパラメータを用いて、前記送信者Aの秘密鍵s∈Zをランダムに選び記憶するステップと、
前記送信者Aの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数26】

なる公開鍵Ppub,Aを生成し出力するステップと、を行い、
(3)前記送信者側装置が、
メッセージ文Mに対してr∈Zをランダムに選ぶステップと、
前記選んだrと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数27】

を計算し、この計算結果Uと、予め登録されている前記送信者AのID情報IDと、前記メッセージ文Mと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数28】

を計算するステップと、
前記鍵管理センタ側装置から出力された前記送信者AのIDベース暗号用秘密鍵dIDAと、前記送信者Aの秘密鍵sと、前記選んだrと、数28の計算結果Hと、数24により前記送信者AのID情報IDと前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて計算されたQIDAと、を用いて、
【数29】

を計算するステップと、
数27、29の計算結果(U,V)を前記メッセージ文Mに対するデジタル署名として前記メッセージ文Mと共に前記受信者側装置に送信するステップと、を行い、
(4)前記受信者側装置が、
前記送信者側装置より出力された前記送信者Aの公開鍵Ppub,Aと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記デジタル署名(U,V)に対して、
【数30】

を計算するステップと、
数30のQIDA,Hと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記デジタル署名(U,V)に対して、
【数31】

が成立するか否かを判断し、成立する場合に、前記送信者側装置より受信した前記デジタル署名(U,V)を送信者側装置より受信した前記メッセージ文Mに対する正当な署名と判断し、成立しない場合に前記デジタル署名(U,V)を不当な署名と判断するステップと、を行うこと
を特徴とするIDベース暗号通信方法。
【請求項6】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の文書認証機能付き暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いて前記文書認証機能付き暗号文を前記メッセージ文に復号化するIDベース暗号通信方法であって、
前記鍵管理センタ側装置が、鍵管理センタのマスタ鍵と対のシステムパラメータを作成し出力するステップと、
前記鍵管理センタ側装置が、前記マスタ鍵を用いて送信者および受信者各々のID情報に対するIDベース暗号用秘密鍵を作成し出力するステップと、
前記送信者側装置が、前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記送信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力すると共に、前記受信者側装置が、前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記受信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力するステップと、
前記送信者側装置が、前記送信者の秘密鍵および前記鍵管理センタ側装置より出力された前記送信者のIDベース暗号用秘密鍵を用いて前記メッセージ文に対するデジタル署名を生成するステップと、
前記送信者側装置が、前記受信者側装置より出力された前記受信者の公開鍵と、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、前記メッセージ文および前記デジタル署名に対する文書認証機能付き暗号文を作成し、前記受信者側装置に送信するステップと、
前記受信者側装置が、前記受信者の秘密鍵および前記鍵管理センタ側装置より出力された前記受信者のIDベース暗号用秘密鍵を用いて、前記送信者側装置から受信した前記文書認証機能付き暗号文を前記メッセージ文および前記デジタル署名に復号化するステップと、
前記受信者側装置が、前記送信者側装置から出力された前記送信者の公開鍵と、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、前記復号化したメッセージ文およびデジタル署名の検証を行うステップと、を有すること
ことを特徴とするIDベース暗号通信方法。
【請求項7】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の文書認証機能付き暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いて前記文書認証機能付き暗号文を前記メッセージ文に復号化するIDベース暗号通信方法であって、
(1)前記鍵管理センタ側装置が、
素数q、加法群G、乗法群G、および、
【数32】

なる双線形写像eを生成するステップと、
s∈ZqおよびP∈Gをランダムに選ぶステップ(但し、Z={0、1、2、...、q-1})と、
【数33】

を生成し、sをマスタ鍵とし、(q,G,G,e,λ,L,P,Ppub,H,H,H,H,H)を前記システムパラメータとして、前記マスタ鍵および前記システムパラメータを記憶すると共に、前記システムパラメータを出力するステップ(但し、H、H、H、H、Hは、
【数34】

なるハッシュ関数を意味する。なお、数34において、{0,1}はユーザのID情報と同じビット数の任意のビット列、Gは0元を除く加法群G、そして、Zは0元を除く乗法群Zである。また、λ、Lは正整数である。)と、
前記システムパラメータと、予め登録されている送信者A、受信者B各々のID情報ID、IDを用いて、
【数35】

を計算し、さらに、この計算結果QIDA、QIDBと、前記マスタ鍵とを用いて、
【数36】

を計算し、計算結果dIDA、dIDBを、それぞれ、前記送信者AのIDベース暗号用秘密鍵、前記受信者BのIDベース暗号用秘密鍵として出力するステップと、を行い、
(2)前記送信者側装置および前記受信者側装置各々が、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、それぞれ、前記送信者Aの秘密鍵s∈Z、前記受信者Bの秘密鍵s∈Zをランダムに選び記憶するステップと、
前記鍵管理センタ側装置から出力された前記システムパラメータと、前記送信者Aの秘密鍵、前記受信者Bの秘密鍵とを用いて、
【数37】

なる公開鍵Ppub,A、Ppub,Bを生成し出力するステップと、を行い、
(3)前記送信者側装置が、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、メッセージ文Mに対してr∈Zをランダムに選び記憶するステップと、
前記選んだrと、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、
【数38】

を計算するステップと、
数38の計算結果Uと、前記メッセージ文Mと、予め登録されている前記送信者AのID情報IDと、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、
【数39】

を計算するステップと、
上記の数35によって前記送信者AのID情報IDおよび前記鍵管理センタ側装置より出力された前記システムパラメータから求まるQIDAと、数39の計算結果Hと、前記選んだrと、前記送信者Aの秘密鍵sと、前記鍵管理センタ側装置より出力された前記送信者AのIDベース暗号用秘密鍵dIDAとを用いて、
【数40】

を計算するステップと、
数38、数40の計算結果U,Vと、前記送信者AのID情報IDと、前記メッセージ文Mとに対して、σ∈{0,1}λをランダムに選び、このσと、予め登録されている前記受信者BのID情報IDと、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、
【数41】

を計算するステップと、
数41の計算結果QIDB,xと、前記メッセージ文Mと、数38、数40の計算結果U,Vと、予め登録されている前記受信者Bの公開鍵Ppub,Bと、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、
【数42】

を計算し(但し、E(E;K)はメッセージ文Mを鍵Kで共通鍵暗号を用いて暗号化した暗号文を意味する。)、計算結果(X,W,Z)を前記メッセージMの文書認証機能付き暗号文として、前記受信側装置に送信するステップと、を行い、
(4)前記受信者側装置が、
予め登録されている前記受信者BのID情報ID、前記送信者AのID情報ID、前記受信者Bの秘密鍵s、前記鍵管理センタ側装置から出力された前記受信者BのIDベース暗号用秘密鍵dIDBおよび前記システムパラメータと、上記の数35によって前記システムパラメータおよび前記送信者AのID情報IDから求まるQIDAとを用いて、前記送信者側装置より受信した前記文書認証機能付き暗号文(X,W,Z)に対して、
【数43】

を計算し、さらに、この計算結果σを用いて、
【数44】

を計算し(但し、D(C;K)は暗号文Cを鍵Kで共通鍵暗号を用いて復号化したメッセージを意味する)、ビットデータV、Mを特定するステップと、
前記特定したMと、数43の計算結果σと、前記送信者AのID情報IDと、前記受信者BのID情報IDと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数45】

を計算し、さらに、この計算結果xを用いて、
【数46】

を計算するステップと、
数46の計算結果Uと、前記特定したMと、前記送信者AのID情報IDと、前記鍵管理センタ側装置から出力された前記システムパラメータとから上記の数39によりHを計算すると共に、前記送信者AのID情報IDと、前記鍵管理センタ側装置から出力された前記システムパラメータとから上記の数41によりQIDAを計算し、これらの計算結果H、QIDAと、前記特定したVと、前記鍵管理センタ側装置から出力された前記システムパラメータと、前記送信者側装置から出力された前記送信者Aの公開鍵PPUB,Aと、を用いて、
【数47】

が成立するか否かを判断し、成立する場合に前記特定したMをメッセージ文、前記特定したVおよび数46の計算結果Uをメッセージ文Mに対する正当な署名と判断し、成立しない場合に前記文書認証機能付暗号文(X,W,Z)を不正な暗号文とみなすステップと、を行うことIDベース暗号通信方法。
【請求項8】
鍵管理センタ側装置と、送信者側装置と、受信者側装置とを備え、前記送信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文Mの暗号文を作成し、前記受信者側装置が前記鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文Mに復号化するIDベース暗号通信システムであって、
前記鍵管理センタ側装置は、
鍵管理センタのマスタ鍵と対の前記システムパラメータを作成し出力する手段と、
前記マスタ鍵を用いて受信者のID情報に対するIDベース暗号用秘密鍵を作成し出力する手段と、を有し、
前記受信者側装置は、
前記鍵管理センタ側装置より出力されたシステムパラメータを用いて、受信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力する手段と、
前記受信者の秘密鍵および前記鍵管理センタ側装置より出力されたIDベース暗号用秘密鍵を用いて、前記送信者側装置より受信した暗号文をメッセージ文に復号化する手段と、を有し、
前記送信者側装置は、
前記鍵管理センタ側装置より出力されたシステムパラメータと前記受信者側装置より出力された受信者の公開鍵とを用いて、前記メッセージ文に対する暗号文を作成し、前記受信者側装置に送信する手段を有すること
を特徴とするIDベース暗号通信システム。
【請求項9】
鍵管理センタ側装置と、送信者側装置と、受信者側装置とを備え、前記送信者側装置が鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いてメッセージ文に対するデジタル署名を生成し、前記受信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いて前記メッセージ文に対する前記デジタル署名を検証するIDベース暗号通信システムであって、
前記鍵管理センタ側装置は、
鍵管理センタのマスタ鍵と対のシステムパラメータを作成し出力する手段と、
前記マスタ鍵を用いて送信者のID情報に対するIDベース暗号用秘密鍵を作成し出力する手段と、を有し、
前記送信者側装置は、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記送信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力する手段と、
前記秘密鍵および前記鍵管理センタ側装置より出力された前記送信者のIDベース暗号用秘密鍵を用いて前記メッセージ文に対するデジタル署名を生成し、前記メッセージ文および前記デジタル署名を前記受信者側装置に送信する手段と、を有し、
前記受信者側装置は、
前記鍵管理センタ側装置より出力された前記システムパラメータと前記送信者側装置より出力された前記送信者の公開鍵とを用いて、前記送信者側装置から受信した前記メッセージ文および前記デジタル署名の正当性を検討する手段を有すること
を特徴とするIDベース暗号通信システム。
【請求項10】
鍵管理センタ側装置と、送信者側装置と、受信者側装置とを備え、前記送信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の文書認証機能付き暗号文を作成し、前記受信者側装置が前記鍵管理センタ側装置により作成されたIDベース暗号用秘密鍵を用いて前記文書認証機能付き暗号文を前記メッセージ文に復号化するIDベース暗号通信システムであって、
前記鍵管理センタ側装置は、
鍵管理センタのマスタ鍵と対のシステムパラメータを作成し出力する手段と、
前記マスタ鍵を用いて送信者および受信者各々のID情報に対するIDベース暗号用秘密鍵を作成し出力する手段と、を有し、
前記送信者側装置は、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記送信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力する手段と、
前記送信者の秘密鍵および前記鍵管理センタ側装置より出力された前記送信者のIDベース暗号用秘密鍵を用いて前記メッセージ文に対するデジタル署名を生成する手段と、
前記受信者側装置より出力された前記受信者の公開鍵と、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、前記メッセージ文および前記デジタル署名に対する文書認証機能付き暗号文を作成し、前記受信者側装置に送信する手段と、を有し、
前記受信側装置は、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記受信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力する手段と、
前記受信者の秘密鍵および前記鍵管理センタ側装置より出力された前記受信者のIDベース暗号用秘密鍵を用いて、前記送信者側装置から受信した前記文書認証機能付き暗号文を前記メッセージ文および前記デジタル署名に復号化する手段と、
前記送信者側装置から出力された前記送信者の公開鍵と、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、前記復号化したメッセージ文およびデジタル署名の検証を行う手段と、を有すること
ことを特徴とするIDベース暗号通信システム。
【請求項11】
請求項8〜10のいずれか一項に記載のIDベース暗号通信システムで用いられる鍵管理センタ側装置。
【請求項12】
請求項8〜10のいずれか一項に記載のIDベース暗号通信システムで用いられる送信者側装置。
【請求項13】
請求項8〜10のいずれか一項に記載のIDベース暗号通信システムで用いられる受信者側装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−208967(P2006−208967A)
【公開日】平成18年8月10日(2006.8.10)
【国際特許分類】
【出願番号】特願2005−23568(P2005−23568)
【出願日】平成17年1月31日(2005.1.31)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】