説明

鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラム

【課題】IDベース暗号方式におけるマスタ鍵を保持するサーバに対してユーザのIDをブラインドしつつ、ユーザの秘密鍵を効率的に生成するサーバを提供する。
【解決手段】ブラインドサーバ200において、公開情報取得部202は、マスタ秘密鍵kを生成する部分秘密鍵生成サーバ100から公開情報とハッシュ関数H(x)とを取得する。ハッシュ値計算部204は、データ受信端末装置400のIDを入力し、IDからハッシュ関数H(x)によりハッシュ値hを計算する。ブラインド処理部205は、公開情報とハッシュ値hとから、IDをブラインドしたID’を生成する。情報送信部208は、ID’を部分秘密鍵生成サーバ100に送信して公開情報とマスタ秘密鍵kとID’とに基づいて部分鍵d’を生成させ、秘密鍵生成部206は、公開情報とハッシュ値hと部分鍵d’とに基づいて秘密鍵dを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラムに関するものである。本発明は、特に、ドメイン管理可能なブラインドID(識別子)ベース暗号システムに関するものである。
【背景技術】
【0002】
IDベース暗号(IBE:Identity・Based・Encryption)はShamirによってPKI(Public・Key・Infrastructure)における公開鍵証明書の管理を容易にするためのアプローチとして1984年に紹介された。紹介されてから17年経過した2001年にBonehとFranklinによって完全なるIBEスキームが提案され、現在までそのスキームを利用した様々なシステムが提案されている(例えば、特許文献1、非特許文献1〜4参照)。中でも、従来からIBEではPKG(Private・Key・Generator)がユーザ秘密鍵を生成するため、全てのユーザ秘密鍵がPKGに知られてしまうという鍵供託(key・escrow)問題が議論されており、この問題を解決するためにブラインドIDベース暗号と呼ばれる技術が注目され始めている。
【0003】
また、従来、双方向ネットワークに高速片方向回線を付加した非対称ネットワークシステムにおいて、サーバがクライアントを特定できず、またネットワーク上の通信の盗聴者が通信内容を知ることができない、匿名通信方法が提案されている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−210639号公報
【特許文献2】特開平10−336168号公報
【非特許文献】
【0005】
【非特許文献1】Dan Boneh, et al., “Identity−Based Encryption from the Weil Pairing,” Advances in Cryptology − CRYPTO 2001, volume 2139, pages 213−229, Springer, 2001
【非特許文献2】Sattam S. Al−Riyami, et al., “Certificateless Public Key Cryptography,” Advances in Cryptology − ASIACRYPT 2003, volume 2894, pages 452−473, Springer, 2003
【非特許文献3】Byoungcheon Lee, et al., “Secure Key Issuing in ID−based Cryptography,” Proceedings of the Second Australian Information Security Workshop − AISW 2004, volume 32, pages 69−74, Australian Computer Society, 2004
【非特許文献4】Vipul Goyal, “Reducing Trust in the PKG in Identity Based Cryptosystems,” Advances in Cryptology − CRYPTO 2007, volume 4622, pages 430−447, Springer, 2007
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1は、IBEの現実解となるオリジナルのスキーム及びシステムの発明に関するものである。この文献では階層型IBEを考案している。階層型IBEには、ルートPKGの下にサブPKGを構成し、PKG1台あたりの負荷を分散させる狙いがある。しかし、ルートPKGのルート秘密鍵を用いてサブPKGの秘密鍵及びユーザ秘密鍵を生成するため、ルートPKGのルート秘密鍵から全てのサブPKGの秘密鍵及び全てのユーザ秘密鍵が知られてしまうという点で、鍵供託問題が通常のIBEと同様もしくはよりリスクの高い形で存在するという課題があった。
【0007】
非特許文献2は、CL−PKC(Certificateless・Public・Key・Cryptography)と呼ばれるIBEの鍵供託問題を解決するための技術に関するものである。PKGが部分秘密鍵と呼ばれる実際の秘密鍵を生成するために必要なデータをユーザに送付し、ユーザが秘密鍵を生成する。しかしこの技術は、ユーザがユーザ公開鍵を作成しなければならず、しかもユーザ公開鍵も公開情報として公開しなければならないため、PKIと同様にユーザ公開鍵の管理及びダウンロードが手間となるという課題があった。
【0008】
非特許文献3は、非特許文献1や非特許文献2と比較してPKGへの認証回数の軽減やセキュアチャネルを利用しない等の点で有利な、IBEの鍵供託問題を解決するための技術に関するものである。この技術では、PKGのほかにKPA(Key・Privacy・Authority)と呼ばれる鍵配布中継サーバを用いるが、ユーザは複数あるKPA全てにアクセスし、それぞれから部分秘密鍵を取得しなければ秘密鍵を生成することができないため、秘密鍵の生成にコストがかかるという課題があった。
【0009】
非特許文献4は、A−IBE(Accountable・Authority・Identity・Based・Encryption)と呼ばれるPKGが不正に生成した秘密鍵の不正を証明するための技術に関するものである。上述した技術と同様にIBEの鍵供託問題を解決できるが、PKGに対してIDをブラインドにすることはできないという課題があった。
【0010】
特許文献1は、階層型IBEの鍵生成のシステムで、Weil・pairing等の写像を用いた従来の暗号化通信の安全性に依拠することなく、他の数学的問題に基づいて暗号化通信の安全性を確保するシステムに関するものである。しかし、通常の階層型IBEシステムと同様、ルートPKGから中継サーバのマスタ秘密鍵を生成するため、全てのユーザ秘密鍵がルートPKGに知られてしまうという点で、鍵供託問題が存在するという課題があった。
【0011】
特許文献2は、クライアントがコンテンツサーバに要求したコンテンツを、中継サーバを用いることで、クライアント情報だけをブラインドにしつつ、コンテンツを閲覧する方式に関するものである。しかし、この方式では、コンテンツ自体にクライアント情報が含まれていないことが前提となっており、IBEにおけるユーザ公開鍵(ID)等、コンテンツ自体にクライアント情報が含まれている場合、サーバに対してクライアント情報をブラインドにしつつシステムを運用することは不可能であるという課題があった。
【0012】
本発明は、例えば、IDベース暗号方式におけるマスタ鍵を保持するサーバに対してユーザのIDをブラインドしつつ、ユーザの秘密鍵を効率的に生成するサーバを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明の一の態様に係る鍵生成システムは、
所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いてID(識別子)ベース暗号方式で暗号化された暗号文を受信する端末装置に対して、当該暗号文を復号するための秘密鍵を生成する鍵生成システムであって、
前記公開情報と前記ハッシュ関数とを記憶装置に記憶する情報公開部と、
前記情報公開部により記憶された公開情報から、前記秘密鍵の基となるマスタ鍵を処理装置で生成するマスタ鍵生成部とを有する鍵生成サーバ装置を備えるとともに、
前記鍵生成サーバ装置の情報公開部により記憶された公開情報とハッシュ関数とを取得する公開情報取得部と、
前記端末識別子を入力し、入力した端末識別子から前記公開情報取得部により取得されたハッシュ関数により前記ハッシュ値を処理装置で計算するハッシュ値計算部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値とから、前記端末識別子をブラインドしたブラインド識別子を処理装置で生成するブラインド処理部と、
前記ブラインド処理部により生成されたブラインド識別子を前記鍵生成サーバ装置に送信する情報送信部とを有するブラインドサーバ装置を備え、
前記鍵生成サーバ装置は、さらに、
前記ブラインドサーバ装置の情報送信部により送信されたブラインド識別子を受信する情報受信部と、
前記情報公開部により記憶された公開情報と前記マスタ鍵生成部により生成されたマスタ鍵と前記情報受信部により受信されたブラインド識別子とに基づいて、部分鍵を処理装置で生成する部分鍵生成部と、
前記部分鍵生成部により生成された部分鍵を前記ブラインドサーバ装置に送信する情報送信部とを有し、
前記ブラインドサーバ装置は、さらに、
前記鍵生成サーバ装置の情報送信部により送信された部分鍵を受信する情報受信部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵とに基づいて、前記秘密鍵を処理装置で生成する秘密鍵生成部とを有することを特徴とする。
【発明の効果】
【0014】
本発明の一の態様によれば、ブラインドサーバ装置が、マスタ鍵を生成する鍵生成サーバ装置から所定の公開情報と所定のハッシュ関数とを取得し、端末識別子を入力し、端末識別子からハッシュ関数によりハッシュ値を計算し、公開情報とハッシュ値とから、端末識別子をブラインドしたブラインド識別子を生成し、ブラインド識別子を鍵生成サーバ装置に送信して公開情報とマスタ鍵とブラインド識別子とに基づいて部分鍵を生成させ、公開情報とハッシュ値と部分鍵とに基づいて秘密鍵を生成するため、鍵生成サーバ装置に対してユーザのIDをブラインドしつつ、ユーザの秘密鍵を効率的に生成することが可能となる。
【図面の簡単な説明】
【0015】
【図1】実施の形態1に係る鍵生成システムの構成を示すブロック図である。
【図2】実施の形態1に係る各装置のハードウェア構成の一例を示す図である。
【図3】実施の形態1に係る部分秘密鍵生成サーバの動作を示すフローチャートである。
【図4】実施の形態1に係るデータ受信端末装置の動作を示すフローチャートである。
【図5】実施の形態1に係るブラインドサーバの動作を示すフローチャートである。
【図6】実施の形態1に係る部分秘密鍵生成サーバの動作を示すフローチャートである。
【図7】実施の形態1に係るデータ送信端末装置の動作を示すフローチャートである。
【図8】実施の形態1に係るデータ受信端末装置の動作を示すフローチャートである。
【図9】実施の形態2に係る鍵生成システムの構成を示すブロック図である。
【図10】実施の形態3に係る鍵生成システムの構成を示すブロック図である。
【図11】実施の形態3に係るブラインドサーバの動作を示すフローチャートである。
【図12】実施の形態3に係る部分秘密鍵生成サーバの動作を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、図を用いて説明する。
【0017】
実施の形態1.
図1は、本実施の形態に係る鍵生成システム10の構成を示すブロック図である。
【0018】
図1において、鍵生成システム10は、部分秘密鍵生成サーバ100(鍵生成サーバ装置)、ブラインドサーバ200(ブラインドサーバ装置)、データ送信端末装置300、データ受信端末装置400(端末装置)を備える。部分秘密鍵生成サーバ100とブラインドサーバ200とは、インターネット等のネットワーク20を介して互いに通信をする。ブラインドサーバ200とデータ受信端末装置400とは、企業の社内ネットワーク等、セキュアなネットワーク30を介して互いに通信をする。データ送信端末装置300とデータ受信端末装置400とは、インターネット等のネットワーク20を介して互いに通信をする。なお、複数のブラインドサーバ200、複数のデータ送信端末装置300が、ネットワーク20に接続されていても構わない。また、複数のデータ受信端末装置400が、ネットワーク30に接続されていても構わない。例えば、同じドメイン(企業の部署等)に属する複数のデータ受信端末装置400を、そのドメインのネットワーク30を介して、そのドメイン専用のブラインドサーバ200に接続させるという構成をとれば、ドメイン管理が容易でセキュアなシステムを提供することができる。
【0019】
部分秘密鍵生成サーバ100は、ID(識別子)ベース暗号(IBE)における部分秘密鍵を生成するサーバであり、素数生成部101、乱数生成部102、情報公開部103、マスタ鍵生成部104、部分鍵生成部105、情報受信部106、情報送信部107を有する。図示していないが、部分秘密鍵生成サーバ100は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを具備する。ハードウェアは部分秘密鍵生成サーバ100の各部によって利用される。
【0020】
ブラインドサーバ200は、IDをブラインドする中継サーバであり、乱数生成部201、公開情報取得部202、認証部203、ハッシュ値計算部204、ブラインド処理部205、秘密鍵生成部206、情報受信部207、情報送信部208を有する。図示していないが、ブラインドサーバ200は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを具備する。ハードウェアはブラインドサーバ200の各部によって利用される。
【0021】
データ送信端末装置300は、暗号データの送信者によって利用される端末であり、乱数生成部301、公開情報取得部302、暗号処理部303、情報受信部305、情報送信部306を有する。図示していないが、データ送信端末装置300は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを具備する。ハードウェアはデータ送信端末装置300の各部によって利用される。
【0022】
データ受信端末装置400は、暗号データの受信者によって利用される端末であり、公開情報取得部402、復号処理部404、情報受信部405、情報送信部406を有する。図示していないが、データ受信端末装置400は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを具備する。ハードウェアはデータ受信端末装置400の各部によって利用される。
【0023】
図2は、鍵生成システム10の各装置(部分秘密鍵生成サーバ100、ブラインドサーバ200、データ送信端末装置300、データ受信端末装置400)のハードウェア構成の一例を示す図である。
【0024】
図2において、部分秘密鍵生成サーバ100、ブラインドサーバ200、データ送信端末装置300、あるいは、データ受信端末装置400は、コンピュータであり、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
【0025】
部分秘密鍵生成サーバ100、ブラインドサーバ200、データ送信端末装置300、あるいは、データ受信端末装置400は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ又はその他の記憶媒体が用いられてもよい。
【0026】
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。
【0027】
通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LANに限らず、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されていても構わない。LAN、WAN、インターネットは、ネットワーク20,30の一例である。
【0028】
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記憶媒体に記憶される。RAM914やHDD920等の記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0029】
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
【0030】
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0031】
図3は、部分秘密鍵生成サーバ100がマスタ秘密鍵と公開パラメータを生成する動作を示すフローチャートである。
【0032】
部分秘密鍵生成サーバ100の素数生成部101は、素数pを処理装置で生成する。部分秘密鍵生成サーバ100の情報公開部103は、素数生成部101により生成された素数pを位数とする巡回群G,G、双線形写像e:G×G→Gを処理装置で生成し、生成した巡回群Gの生成元gを記憶装置に記憶する。即ち、部分秘密鍵生成サーバ100は、素数生成部101により、素数pを生成し、素数pを位数とした巡回群G,Gを生成し(ステップS101)、巡回群Gの生成元をgとする(ステップS102)。G×G→Gが存在する場合、Gは双線形写像eを持つ(ステップS103)。
【0033】
部分秘密鍵生成サーバ100の乱数生成部102は、乱数g,g(g,g∈G)を処理装置で生成する。即ち、部分秘密鍵生成サーバ100は、乱数生成部102により、g,g∈Gとなるような乱数g,gを生成する(ステップS104)。
【0034】
部分秘密鍵生成サーバ100の乱数生成部102は、乱数α(α∈Z)を処理装置で生成する。即ち、部分秘密鍵生成サーバ100は、乱数生成部102により、α∈Zとなるような乱数αを生成する(ステップS105)。
【0035】
部分秘密鍵生成サーバ100の乱数生成部102は、t(t>1)個の乱数u(u∈G、j=1,・・・,t)を生成する。部分秘密鍵生成サーバ100の情報公開部103は、任意の文字列xが入力されると、文字列xをn(n=|x|/t)ビットずつに分割して得られるt個のデータaと乱数生成部102により生成された乱数uとを用いて、
【数1】

を計算し、当該計算結果を文字列xのハッシュ値として出力するハッシュ関数H(x)を処理装置で生成する。即ち、部分秘密鍵生成サーバ100は、乱数生成部102により、u∈Gとなるような乱数uを生成し、任意の文字列xをnビットにセグメントするaを上記のように用いるハッシュ関数H(x)を生成する(ステップS106)。
【0036】
部分秘密鍵生成サーバ100の情報公開部103は、g(g=gα)を処理装置で生成し、公開情報としてg,g,g,gを記憶装置に記憶する。また、情報公開部103は、生成したハッシュ関数H(x)を記憶装置に記憶する。ここで、公開情報とハッシュ関数H(x)とを合わせて、公開パラメータparams=(g,g,g,g,H(x))と定義する。即ち、部分秘密鍵生成サーバ100は、情報公開部103により、g(=gα)を生成し、公開パラメータをg,g,g,g,Hとし、公開する(ステップS107)。
【0037】
部分秘密鍵生成サーバ100のマスタ鍵生成部104は、情報公開部103により記憶された公開情報から、ユーザ秘密鍵(データ受信端末装置400等の秘密鍵)の基となるマスタ秘密鍵k(マスタ鍵)を処理装置で生成する。具体的には、マスタ鍵生成部104は、公開情報に含まれるgを底とし、乱数生成部102により生成された乱数αを指数とする冪乗を処理装置で計算し、当該計算結果をマスタ秘密鍵kとして記憶装置に記憶する。即ち、部分秘密鍵生成サーバ100は、マスタ鍵生成部104により、下式で表されるマスタ秘密鍵kを生成する(ステップS108)。
【数2】

【0038】
ステップS101〜ステップS108は、定期的もしくはマスタ秘密鍵kの危殆化を考慮して行われるものであるが、暗号通信ごとに行われてもよい。
【0039】
図4は、データ受信端末装置400がユーザ秘密鍵の発行を要求する動作を示すフローチャートである。図5は、ブラインドサーバ200がユーザ秘密鍵を生成する動作を示すフローチャートである。図6は、部分秘密鍵生成サーバ100が部分秘密鍵を生成する動作を示すフローチャートである。
【0040】
ブラインドサーバ200の認証部203は、データ受信端末装置400のID(端末識別子)とパスワードとを予め記憶装置に記憶しているものとする。即ち、前提条件として、データ受信端末装置400は、ブラインドサーバ200にIDとパスワードを登録している。
【0041】
ブラインドサーバ200の公開情報取得部202は、部分秘密鍵生成サーバ100の情報公開部103により記憶された公開情報とハッシュ関数H(x)とを取得する。即ち、ブラインドサーバ200は、部分秘密鍵生成サーバ100が公開している公開パラメータを、公開情報取得部202を用いて取得する(ステップS301)。なお、ステップS301は部分秘密鍵生成サーバ100の公開パラメータ変更時のみ実施すればよい。
【0042】
データ受信端末装置400の情報送信部406は、自己を識別するIDとパスワードとをブラインドサーバ200に送信する。即ち、データ受信端末装置400は、情報送信部406を用いて、ブラインドサーバ200にIDとパスワードを送信する(ステップS201)。
【0043】
ブラインドサーバ200の情報受信部207は、データ受信端末装置400の情報送信部406により送信されたIDとパスワードとを受信する。ブラインドサーバ200の認証部203は、情報受信部207により受信されたIDとパスワードとが予め記憶装置に記憶されたIDとパスワードと一致するかどうかを処理装置で判定することにより、データ受信端末装置400の認証を行う。即ち、ブラインドサーバ200は、情報受信部207を用いて、データ受信端末装置400から送信されたIDとパスワードを受信し、認証部203に入力する(ステップS302)。
【0044】
ブラインドサーバ200のハッシュ値計算部204は、認証部203による認証が成功した場合、即ち、IDとパスワードとが一致した場合に、IDを入力し、入力したIDから公開情報取得部202により取得されたハッシュ関数H(x)によりハッシュ値hを処理装置で計算する。ブラインドサーバ200のブラインド処理部205は、公開情報取得部202により取得された公開情報とハッシュ値計算部204により計算されたハッシュ値hとから、IDをブラインドしたID’(ブラインド識別子)を処理装置で生成する。本実施の形態では、ブラインドサーバ200の乱数生成部201が乱数y(第2乱数)(y∈Z)を処理装置で生成し、ブラインド処理部205がID’を生成する際にこの乱数yも利用する。つまり、ブラインド処理部205は、公開情報取得部202により取得された公開情報とハッシュ値計算部204により計算されたハッシュ値hと乱数生成部201により生成された乱数yとから、ID’を処理装置で生成する。具体的には、ブラインド処理部205は、公開情報に含まれるgを底とし、乱数yを指数とする冪乗と、乱数yとを処理装置で乗算し、当該乗算結果をID’として記憶装置に記憶する。即ち、ブラインドサーバ200は、認証に成功した場合、下式のように、IDと乱数生成部201で生成した乱数yを用いて、ブラインド処理したID(ID’)を生成する(ステップS303)。なお、下式において、iはIDを表し、i’はID’を表している。
【数3】

【0045】
ブラインドサーバ200の情報送信部208は、後述する部分秘密鍵d’(部分鍵)を部分秘密鍵生成サーバ100に生成させるために、ブラインド処理部205により生成されたID’を部分秘密鍵生成サーバ100に送信する。即ち、ブラインドサーバ200は、情報送信部208を用いて、部分秘密鍵生成サーバ100にブラインド処理したID(ID’)を送信する(ステップS304)。
【0046】
部分秘密鍵生成サーバ100の情報受信部106は、ブラインドサーバ200の情報送信部208により送信されたID’を受信する。即ち、部分秘密鍵生成サーバ100は、情報受信部106を用いて、ブラインドサーバ200から送信されたID’を受信する(ステップS401)。
【0047】
部分秘密鍵生成サーバ100の部分鍵生成部105は、情報公開部103により記憶された公開情報とマスタ鍵生成部104により生成されたマスタ秘密鍵kと情報受信部106により受信されたID’とに基づいて、部分秘密鍵d’を処理装置で生成する。本実施の形態では、部分秘密鍵生成サーバ100の乱数生成部102が乱数r(第3乱数)(r∈Z)を処理装置で生成し、部分鍵生成部105が部分秘密鍵d’を生成する際にこの乱数rも利用する。つまり、部分鍵生成部105は、情報公開部103により記憶された公開情報とマスタ鍵生成部104により生成されたマスタ秘密鍵kと情報受信部106により受信されたID’と乱数生成部102により生成された乱数rとに基づいて、部分秘密鍵d’を処理装置で生成する。具体的には、部分鍵生成部105は、マスタ秘密鍵kと、ID’と公開情報に含まれるgとの積を底とし、乱数rを指数とする冪乗とを処理装置で乗算し、当該乗算結果を部分秘密鍵d’として記憶装置に記憶する。また、部分鍵生成部105は、公開情報に含まれるgを底とし、乱数rを指数とする冪乗を処理装置で計算し、当該計算結果を付加情報d’として記憶装置に記憶する。ここでは、部分秘密鍵d’に付加情報d’を付加したものが部分秘密鍵d’となる。即ち、部分秘密鍵生成サーバ100は、乱数生成部102により、乱数rを生成し、下式のように、生成した乱数rを用いて部分秘密鍵d’を生成する(ステップS402)。
【数4】

【0048】
部分秘密鍵生成サーバ100の情報送信部107は、部分鍵生成部105により生成された部分秘密鍵d’をブラインドサーバ200に送信する。即ち、部分秘密鍵生成サーバ100は、情報送信部107を用いて、ブラインドサーバ200に部分秘密鍵d’を送信する(ステップS403)。
【0049】
ブラインドサーバ200の情報受信部207は、部分秘密鍵生成サーバ100の情報送信部107により送信された部分秘密鍵d’を受信する。即ち、ブラインドサーバ200は、情報受信部207を用いて、部分秘密鍵d’を受信する(ステップS305)。
【0050】
ブラインドサーバ200の秘密鍵生成部206は、公開情報取得部202により取得された公開情報とハッシュ値計算部204により計算されたハッシュ値hと情報受信部207により受信された部分秘密鍵d’とに基づいて、秘密鍵d(ユーザ秘密鍵)を処理装置で生成する。本実施の形態では、ブラインドサーバ200の乱数生成部201が乱数z(第1乱数)(z∈Z)を処理装置で生成し、秘密鍵生成部206が秘密鍵dを生成する際にこの乱数zも利用する。さらに、本実施の形態では、秘密鍵生成部206が秘密鍵dを生成する際に前述した乱数yも利用する。つまり、秘密鍵生成部206は、公開情報取得部202により取得された公開情報とハッシュ値計算部204により計算されたハッシュ値hと情報受信部207により受信された部分秘密鍵d’と乱数生成部201により生成された乱数yと乱数zとに基づいて、秘密鍵dを処理装置で生成する。具体的には、秘密鍵生成部206は、部分秘密鍵d’に含まれる部分秘密鍵d’と部分秘密鍵d’に含まれる付加情報d’を底とし、乱数yを指数とする冪乗との商と、公開情報に含まれるgとハッシュ値hとの積を底とし、乱数zを指数とする冪乗とを処理装置で乗算し、当該乗算結果を秘密鍵dとして記憶装置に記憶する。また、秘密鍵生成部206は、部分秘密鍵d’に含まれる付加情報d’と、公開情報に含まれるgを底とし、乱数zを指数とする冪乗とを処理装置で乗算し、当該乗算結果を付加情報dとして記憶装置に記憶する。ここでは、秘密鍵dに付加情報dを付加したものが秘密鍵dとなる。即ち、ブラインドサーバ200は、乱数生成部201により、乱数zを生成し、下式のように、部分秘密鍵d’と乱数yと乱数zを用いて秘密鍵dを生成する(ステップS306)。
【数5】

【0051】
なお、上式において、秘密鍵dの式の2〜4行目は、ブラインドサーバ200の秘密鍵生成部206によって計算されるものではなく、秘密鍵dが、マスタ秘密鍵kと、ハッシュ値hと公開情報に含まれるgとの積を底とし、乱数rと乱数zとの和を指数とする冪乗とを乗算したものに相当することを示したものである。このように、ブラインドサーバ200の秘密鍵生成部206は、部分秘密鍵生成サーバ100しか知らないマスタ秘密鍵kを用いることなく、マスタ秘密鍵kを基とする秘密鍵dを生成することができる。また、上式において、付加情報dの式の2、3行目は、ブラインドサーバ200の秘密鍵生成部206によって計算されるものではなく、付加情報dが、公開情報に含まれるgを底とし、乱数rと乱数zとの和を指数とする冪乗に相当することを示したものである。このように、ブラインドサーバ200の秘密鍵生成部206は、部分秘密鍵生成サーバ100しか知らない乱数rを用いることなく、乱数rの情報を含む付加情報dを生成することができる。
【0052】
ブラインドサーバ200の情報送信部208は、秘密鍵生成部206により生成された秘密鍵dをデータ受信端末装置400に送信する。即ち、ブラインドサーバ200は、情報送信部208を用いて、秘密鍵dを送信する(ステップS307)。
【0053】
データ受信端末装置400の情報受信部405は、ブラインドサーバ200の情報送信部208により送信された秘密鍵dを受信する。即ち、データ受信端末装置400は、情報受信部405を用いて、秘密鍵dを受信する(ステップS202)。
【0054】
ステップS201及びS202、ステップS301〜S307、ステップS401〜S403は、定期的もしくはデータ受信端末装置400の秘密鍵dの危殆化を考慮して行われるものであるが、暗号通信ごとに行われてもよい。
【0055】
以上のように、本実施の形態によれば、ブラインドサーバ200が、マスタ秘密鍵kを生成する部分秘密鍵生成サーバ100から公開情報とハッシュ関数H(x)とを取得し、データ受信端末装置400のIDを入力し、IDからハッシュ関数H(x)によりハッシュ値hを計算し、公開情報とハッシュ値hとから、IDをブラインドしたID’を生成し、ID’を部分秘密鍵生成サーバ100に送信して公開情報とマスタ秘密鍵kとID’とに基づいて部分鍵d’を生成させ、公開情報とハッシュ値hと部分鍵d’とに基づいて秘密鍵dを生成するため、部分秘密鍵生成サーバ100に対してユーザのIDをブラインドしつつ、ユーザの秘密鍵dを効率的に生成することが可能となる。また、乱数y、乱数z、乱数rを用いることにより、よりセキュアなシステムを提供することが可能となる。
【0056】
本実施の形態によれば、中継サーバを設置することで、従来のIBEにおけるPKG(Private・Key・Generator)のリスクを下げる、即ち、鍵供託問題を回避することができる。また、ユーザ公開鍵の生成や公開の手間が不要となる。また、ユーザ秘密鍵の生成コストが軽減される。また、ユーザのIDをブラインドにしてユーザ秘密鍵を生成するため、従来のIBEにおけるPKGに相当するサーバにIDを露呈させることなくIDと対になるユーザ秘密鍵のみを生成でき、ユーザの匿名性が高まる。さらに、ドメイン管理が可能となる。
【0057】
図7は、データ送信端末装置300がデータを暗号化する動作を示すフローチャートである。
【0058】
データ送信端末装置300の公開情報取得部302は、部分秘密鍵生成サーバ100の情報公開部103により記憶された公開情報とハッシュ関数H(x)とを取得する。即ち、データ送信端末装置300は、公開情報取得部302を用いて、部分秘密鍵生成サーバ100から公開パラメータを取得する(ステップS501)。なお、ステップS501は部分秘密鍵生成サーバ100の公開パラメータ変更時のみ実施すればよい。
【0059】
データ送信端末装置300の乱数生成部301は、乱数s(第4乱数)(s∈Z)を処理装置で生成する。データ送信端末装置300の暗号処理部303は、例えばデータ受信端末装置400からデータ受信端末装置400のIDを受信することにより、IDを取得し、取得したIDから公開情報取得部302により取得されたハッシュ関数H(x)によりハッシュ値hを処理装置で計算する。また、暗号処理部303は、例えばユーザから平文Mの入力を入力装置により受け付けることにより、平文Mを取得する。そして、暗号処理部303は、計算したハッシュ値hと公開情報取得部302により取得された公開情報と乱数生成部301により生成された乱数sとを用いて、取得した平文Mを暗号化し、暗号文Cを処理装置で生成する。具体的には、暗号処理部303は、平文Mと、双線形写像e(g,g)(公開情報に含まれるgとgとを楕円曲線上の点としたときに点gと点gとが双線形写像になっている)を底とし、乱数sを指数とする冪乗とを処理装置で乗算し、当該乗算結果を暗号文Cとして記憶装置に記憶する。また、暗号処理部303は、ハッシュ値hと公開情報に含まれるgとの積を底とし、乱数sを指数とする冪乗を処理装置で計算し、当該計算結果を第1付加情報Cとして記憶装置に記憶する。また、暗号処理部303は、公開情報に含まれるgを底とし、乱数sを指数とする冪乗を処理装置で計算し、当該計算結果を第2付加情報Cとして記憶装置に記憶する。ここでは、暗号文Cに第1付加情報Cと第2付加情報Cとを付加したものが暗号文Cとなる。即ち、データ送信端末装置300は、乱数生成部301を用いて、乱数sを生成し、下式のように、公開パラメータと乱数sとデータ受信端末装置400のIDと平文Mを用いて暗号文Cを計算する(ステップS502)。
【数6】

【0060】
データ送信端末装置300の情報送信部306は、暗号処理部303により生成された暗号文Cをデータ受信端末装置400に送信する。即ち、データ送信端末装置300は、情報送信部306を用いて、暗号文Cをデータ受信端末装置400に送信する(ステップS503)。
【0061】
図8は、データ受信端末装置400が暗号化されたデータを復号する動作を示すフローチャートである。
【0062】
データ受信端末装置400の公開情報取得部402は、部分秘密鍵生成サーバ100の情報公開部103により記憶された公開情報とハッシュ関数H(x)とを取得する。即ち、データ受信端末装置400は、公開情報取得部402を用いて、部分秘密鍵生成サーバ100から公開パラメータを取得する(ステップS601)。なお、ステップS601は部分秘密鍵生成サーバ100の公開パラメータ変更時のみ実施すればよい。
【0063】
データ受信端末装置400の情報受信部405は、データ送信端末装置300の情報送信部306により送信された暗号文Cを受信する。即ち、データ受信端末装置400は、情報受信部405を用いて、暗号文Cを受信する(ステップS602)。
【0064】
データ受信端末装置400の復号処理部404は、部分秘密鍵生成サーバ100の情報公開部103により記憶された公開情報と情報受信部405により受信された秘密鍵dとを用いて、情報受信部405により受信された暗号文Cを処理装置で復号し、平文Mを復元する。具体的には、復号処理部404は、暗号文Cに含まれる暗号文Cと双線形写像(d,C)(秘密鍵dに含まれる付加情報dと暗号文Cに含まれる第1付加情報Cとを楕円曲線上の点としたときに点dと点Cとが双線形写像になっている)との積を、双線形写像(d,C)(秘密鍵dに含まれる秘密鍵dと暗号文Cに含まれる第2付加情報Cとを楕円曲線上の点としたときに点dと点Cとが双線形写像になっている)で、処理装置で除算し、当該除算結果を平文Mとして記憶装置に記憶する。そして、復号処理部404は、例えば記憶装置に記憶した平文Mを出力装置により表示画面に出力する。即ち、データ受信端末装置400は、下式のように、公開パラメータと秘密鍵dと暗号文Cを用いて平文Mを計算する(ステップS603)。
【数7】

【0065】
なお、鍵生成システム10において、ブラインドサーバ200を利用せず、データ受信端末装置400が部分秘密鍵生成サーバ100から直接秘密鍵dを取得することも可能である。この場合、下式のようになる。
【数8】

【0066】
以上説明したように、本実施の形態に係る鍵生成システム10において、送信者はデータ送信端末装置300の乱数生成部301、公開情報取得部302を用いて暗号化データを生成し、情報送信部306を用いて送信する。受信者はデータ受信端末装置400の情報受信部405を用いて、暗号化データを受信し、公開情報取得部402、情報受信部405を用いてブラインドサーバ200、部分秘密鍵生成サーバ100と通信し、秘密鍵を受信する。データ受信端末装置400は暗号化データと公開情報と秘密鍵を用いて、暗号化データを復号することができる。
【0067】
本実施の形態では、受信者はブラインドサーバ200を経由し、部分秘密鍵生成サーバ100にIDを漏らすことなく秘密鍵を受信できる。また、ブラインドサーバ200を用いることで、ドメイン管理が可能になる。また、ブラインドサーバ200が受信者の秘密鍵を所有するが、部分秘密鍵生成サーバ100が受信者の秘密鍵を所有できないため、よりセキュアなシステムが提供できる。また、ブラインドサーバ200がマスタ秘密鍵や公開パラメータの生成及び管理をすることは不要である。また、受信者にとってブラインドサーバ200が公開している情報は不要であり、部分秘密鍵生成サーバ100の公開情報のみで復号が可能である。また、送信者にとってブラインドサーバ200が公開している情報は不要であり、部分秘密鍵生成サーバ100の公開情報のみで暗号化が可能である。
【0068】
なお、本実施の形態では、データ送信端末装置300はN台でも問題ない。また、データ受信端末装置400はN台でも問題ない。また、ブラインドサーバ200はN台でも問題ないが、それぞれのドメインに1台であることが望ましい。また、部分秘密鍵生成サーバ100は従来のPKGの機能も持ち合わせており、ブラインドを行わない従来の運用も可能である。
【0069】
実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
【0070】
図9は、本実施の形態に係る鍵生成システム10の構成を示すブロック図である。
【0071】
図9において、鍵生成システム10は、部分秘密鍵生成サーバ100、ブラインドサーバ200a,b(ブラインドサーバ装置)、データ送受信端末装置500a,b(端末装置)を備える。部分秘密鍵生成サーバ100とブラインドサーバ200a,bとは、インターネット等のネットワーク20を介して互いに通信をする。ブラインドサーバ200aとデータ送受信端末装置500aとは、企業の社内ネットワーク等、セキュアなネットワーク30aを介して互いに通信をする。同様に、ブラインドサーバ200bとデータ送受信端末装置500bとは、企業の社内ネットワーク等、セキュアなネットワーク30bを介して互いに通信をする。データ送受信端末装置500a,bは、インターネット等のネットワーク20を介して互いに通信をする。なお、複数のデータ送受信端末装置500a,bが、ネットワーク30a,bに接続されていても構わない。例えば、同じドメインに属する複数のデータ送受信端末装置500aを、そのドメインのネットワーク30aを介して、そのドメイン専用のブラインドサーバ200aに接続させるという構成をとれば、ドメイン管理が容易でセキュアなシステムを提供することができる。また、例えば、1つの部分秘密鍵生成サーバ100がN台のブラインドする中継サーバ(ブラインドサーバ200a,b等)を管理し、1つの中継サーバがデータを送受信できるユーザN人(データ送受信端末装置500a,b等のユーザ)を管理するようにしてもよい。
【0072】
部分秘密鍵生成サーバ100は、IBEにおける部分秘密鍵を生成するサーバであり、実施の形態1と同様に構成されている。
【0073】
ブラインドサーバ200a,bは、IDをブラインドする中継サーバであり、実施の形態1におけるブラインドサーバ200と同様に構成されている。
【0074】
データ送受信端末装置500a,bは、暗号データを送受信するユーザによって利用される端末であり、乱数生成部501、公開情報取得部502、暗号処理部503、復号処理部504、情報受信部505、情報送信部506を有する。データ送受信端末装置500a,bの各部の動作は、実施の形態1におけるデータ送信端末装置300及びデータ受信端末装置400の同じ名称をもつ各部の動作と同様である(例えば、乱数生成部501は、データ送信端末装置300の乱数生成部301と同様であり、公開情報取得部502は、データ送信端末装置300の公開情報取得部302及びデータ受信端末装置400の公開情報取得部402と同様である)。
【0075】
例えば、データ送受信端末装置500aがデータを暗号化し、データ送受信端末装置500bがそれを復号する場合、データ送受信端末装置500bは自身の上に配置されているブラインドサーバ200bにユーザ秘密鍵の発行を要求する。部分秘密鍵生成サーバ100がマスタ秘密鍵と公開パラメータを生成する動作、ブラインドサーバ200bがユーザ秘密鍵を生成する動作、データ送受信端末装置500aが暗号化したデータをデータ送受信端末装置500bが復号する動作については、実施の形態1と同様である。
【0076】
実施の形態3.
本実施の形態について、主に実施の形態1との差異を説明する。
【0077】
図10は、本実施の形態に係る鍵生成システム10の構成を示すブロック図である。
【0078】
図10において、鍵生成システム10は、実施の形態1と同様に、部分秘密鍵生成サーバ100、ブラインドサーバ200、データ送信端末装置300、データ受信端末装置400を備える。
【0079】
本実施の形態では、部分秘密鍵生成サーバ100は、図1に示したもののほか、認証部108を有する。
【0080】
図11は、ブラインドサーバ200がユーザ秘密鍵を生成する動作を示すフローチャートである。図12は、部分秘密鍵生成サーバ100が部分秘密鍵を生成する動作を示すフローチャートである。
【0081】
部分秘密鍵生成サーバ100の認証部108は、ブラインドサーバ200の認証情報(例えば、IDとパスワード)を予め記憶装置に記憶しているものとする。即ち、前提条件として、ブラインドサーバ200は、部分秘密鍵生成サーバ100に認証情報を登録している。
【0082】
ステップS301〜S303については、図5に示した実施の形態1のものと同様である。
【0083】
ステップS303の後、ブラインドサーバ200の情報送信部208は、ブラインド処理部205により生成されたID’とともに、自己の認証情報を部分秘密鍵生成サーバ100に送信する。即ち、ブラインドサーバ200は、情報送信部208を用いて、部分秘密鍵生成サーバ100にブラインド処理したID(ID’)と認証情報を送信する(ステップS304a)。
【0084】
部分秘密鍵生成サーバ100の情報受信部106は、ブラインドサーバ200の情報送信部208により送信されたID’とともに認証情報を受信する。部分秘密鍵生成サーバ100の認証部108は、情報受信部106により受信された認証情報が予め記憶装置に記憶された認証情報と一致するかどうかを処理装置で判定することにより、ブラインドサーバ200の認証を行う。即ち、部分秘密鍵生成サーバ100は、情報受信部106を用いて、ブラインドサーバ200から送信されたID’と認証情報を受信し、認証情報を認証部108に入力する(ステップS401a)。
【0085】
部分秘密鍵生成サーバ100の部分鍵生成部105は、認証部108による認証が成功した場合、即ち、認証情報が一致した場合に、部分秘密鍵d’を処理装置で生成する。即ち、部分秘密鍵生成サーバ100は、認証に成功した場合、実施の形態1と同様に、部分秘密鍵d’を生成する(ステップS402a)。
【0086】
ステップS306、S307、及び、S403については、図5及び図6に示した実施の形態1のものと同様である。
【0087】
以上のように、本実施の形態によれば、部分秘密鍵生成サーバ100が、ブラインドサーバ200の認証に成功した場合のみ、部分鍵d’を生成するため、正当なブラインドサーバ200しか秘密鍵dを生成できず、これにより、信頼性の高いシステムを提供することが可能となる。
【0088】
以上、本発明の実施の形態について説明したが、これらのうち、2つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、2つ以上の実施の形態を部分的に組み合わせて実施しても構わない。
【符号の説明】
【0089】
10 鍵生成システム、20,30,30a,b ネットワーク、100 部分秘密鍵生成サーバ、101 素数生成部、102 乱数生成部、103 情報公開部、104 マスタ鍵生成部、105 部分鍵生成部、106 情報受信部、107 情報送信部、108 認証部、200,200a,b ブラインドサーバ、201 乱数生成部、202 公開情報取得部、203 認証部、204 ハッシュ値計算部、205 ブラインド処理部、206 秘密鍵生成部、207 情報受信部、208 情報送信部、300 データ送信端末装置、301 乱数生成部、302 公開情報取得部、303 暗号処理部、305 情報受信部、306 情報送信部、400 データ受信端末装置、402 公開情報取得部、404 復号処理部、405 情報受信部、406 情報送信部、500a,b データ送受信端末装置、501 乱数生成部、502 公開情報取得部、503 暗号処理部、504 復号処理部、505 情報受信部、506 情報送信部、901 LCD、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 HDD、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群。

【特許請求の範囲】
【請求項1】
所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いてID(識別子)ベース暗号方式で暗号化された暗号文を受信する端末装置に対して、当該暗号文を復号するための秘密鍵を生成する鍵生成システムであって、
前記公開情報と前記ハッシュ関数とを記憶装置に記憶する情報公開部と、
前記情報公開部により記憶された公開情報から、前記秘密鍵の基となるマスタ鍵を処理装置で生成するマスタ鍵生成部とを有する鍵生成サーバ装置を備えるとともに、
前記鍵生成サーバ装置の情報公開部により記憶された公開情報とハッシュ関数とを取得する公開情報取得部と、
前記端末識別子を入力し、入力した端末識別子から前記公開情報取得部により取得されたハッシュ関数により前記ハッシュ値を処理装置で計算するハッシュ値計算部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値とから、前記端末識別子をブラインドしたブラインド識別子を処理装置で生成するブラインド処理部と、
前記ブラインド処理部により生成されたブラインド識別子を前記鍵生成サーバ装置に送信する情報送信部とを有するブラインドサーバ装置を備え、
前記鍵生成サーバ装置は、さらに、
前記ブラインドサーバ装置の情報送信部により送信されたブラインド識別子を受信する情報受信部と、
前記情報公開部により記憶された公開情報と前記マスタ鍵生成部により生成されたマスタ鍵と前記情報受信部により受信されたブラインド識別子とに基づいて、部分鍵を処理装置で生成する部分鍵生成部と、
前記部分鍵生成部により生成された部分鍵を前記ブラインドサーバ装置に送信する情報送信部とを有し、
前記ブラインドサーバ装置は、さらに、
前記鍵生成サーバ装置の情報送信部により送信された部分鍵を受信する情報受信部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵とに基づいて、前記秘密鍵を処理装置で生成する秘密鍵生成部とを有することを特徴とする鍵生成システム。
【請求項2】
前記ブラインドサーバ装置は、さらに、
第1乱数を処理装置で生成する乱数生成部を有し、
前記ブラインドサーバ装置の秘密鍵生成部は、前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵と前記乱数生成部により生成された第1乱数とに基づいて、前記秘密鍵を処理装置で生成することを特徴とする請求項1に記載の鍵生成システム。
【請求項3】
前記ブラインドサーバ装置の乱数生成部は、さらに、第2乱数を処理装置で生成し、
前記ブラインドサーバ装置のブラインド処理部は、前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記乱数生成部により生成された第2乱数とから、前記ブラインド識別子を処理装置で生成し、
前記ブラインドサーバ装置の秘密鍵生成部は、前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵と前記乱数生成部により生成された第1乱数と第2乱数とに基づいて、前記秘密鍵を処理装置で生成することを特徴とする請求項2に記載の鍵生成システム。
【請求項4】
前記鍵生成サーバ装置は、さらに、
第3乱数を処理装置で生成する乱数生成部を有し、
前記鍵生成サーバ装置の部分鍵生成部は、前記情報公開部により記憶された公開情報と前記マスタ鍵生成部により生成されたマスタ鍵と前記情報受信部により受信されたブラインド識別子と前記乱数生成部により生成された第3乱数とに基づいて、前記部分鍵を処理装置で生成することを特徴とする請求項1から3までのいずれかに記載の鍵生成システム。
【請求項5】
前記ブラインドサーバ装置は、さらに、
前記端末装置の認証を処理装置で行う認証部を有し、
前記ブラインドサーバ装置のハッシュ値計算部は、前記認証部による認証が成功した場合に、前記端末識別子を入力することを特徴とする請求項1から4までのいずれかに記載の鍵生成システム。
【請求項6】
前記鍵生成サーバ装置は、さらに、
前記ブラインドサーバ装置の認証を処理装置で行う認証部を有し、
前記鍵生成サーバ装置の部分鍵生成部は、前記認証部による認証が成功した場合に、前記部分鍵を生成することを特徴とする請求項1から5までのいずれかに記載の鍵生成システム。
【請求項7】
所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いてID(識別子)ベース暗号方式で暗号化された暗号文を受信する端末装置に対して、当該暗号文を復号するための秘密鍵を生成する鍵生成方法であって、
鍵生成サーバ装置が、前記公開情報と前記ハッシュ関数とを記憶装置に記憶し、
前記鍵生成サーバ装置が、記憶装置に記憶された公開情報から、前記秘密鍵の基となるマスタ鍵を処理装置で生成し、
ブラインドサーバ装置が、前記鍵生成サーバ装置により記憶された公開情報とハッシュ関数とを取得し、
前記ブラインドサーバ装置が、前記端末識別子を入力し、入力した端末識別子から前記取得したハッシュ関数により前記ハッシュ値を処理装置で計算し、
前記ブラインドサーバ装置が、前記取得した公開情報と前記計算したハッシュ値とから、前記端末識別子をブラインドしたブラインド識別子を処理装置で生成し、
前記ブラインドサーバ装置が、前記生成したブラインド識別子を前記鍵生成サーバ装置に送信し、
前記鍵生成サーバ装置が、前記ブラインドサーバ装置により送信されたブラインド識別子を受信し、
前記鍵生成サーバ装置が、記憶装置に記憶された公開情報と前記生成したマスタ鍵と前記受信したブラインド識別子とに基づいて、部分鍵を処理装置で生成し、
前記鍵生成サーバ装置が、前記生成した部分鍵を前記ブラインドサーバ装置に送信し、
前記ブラインドサーバ装置が、前記鍵生成サーバ装置により送信された部分鍵を受信し、
前記ブラインドサーバ装置が、前記取得した公開情報と前記計算したハッシュ値と前記受信した部分鍵とに基づいて、前記秘密鍵を処理装置で生成することを特徴とする鍵生成方法。
【請求項8】
所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いてID(識別子)ベース暗号方式で暗号化された暗号文を受信する端末装置に対して、当該暗号文を復号するための秘密鍵を生成するブラインドサーバ装置であって、
前記公開情報と前記ハッシュ関数とを公開するとともに、前記公開情報から、前記秘密鍵の基となるマスタ鍵を生成する鍵生成サーバ装置から、前記公開情報と前記ハッシュ関数とを取得する公開情報取得部と、
前記端末識別子を入力し、入力した端末識別子から前記公開情報取得部により取得されたハッシュ関数により前記ハッシュ値を処理装置で計算するハッシュ値計算部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値とから、前記端末識別子をブラインドしたブラインド識別子を処理装置で生成するブラインド処理部と、
前記ブラインド処理部により生成されたブラインド識別子を前記鍵生成サーバ装置に送信して、前記鍵生成サーバ装置に前記公開情報と前記マスタ鍵と当該ブラインド識別子とに基づいて部分鍵を生成させる情報送信部と、
前記鍵生成サーバ装置から前記部分鍵を受信する情報受信部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵とに基づいて、前記秘密鍵を処理装置で生成する秘密鍵生成部とを有することを特徴とするブラインドサーバ装置。
【請求項9】
所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いて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

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−272899(P2010−272899A)
【公開日】平成22年12月2日(2010.12.2)
【国際特許分類】
【出願番号】特願2009−120455(P2009−120455)
【出願日】平成21年5月19日(2009.5.19)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】