説明

秘密情報送信システム、秘密情報送信方法、秘密情報管理サーバ、暗号装置、秘密情報送信プログラム

【課題】本発明は、IDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバが、IDベース暗号を利用して、秘密情報を暗号装置に送信する秘密情報送信システムを提供することを目的とする。
【解決手段】本発明の秘密情報送信システムは、IDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバが、秘密情報管理サーバに通信ネットワークを介して接続している暗号装置に秘密情報を送信する。暗号装置は、秘密情報管理サーバのID情報に基づき共通鍵kを生成し、リクエスト情報を第二の共通鍵kによって暗号化する。秘密情報管理サーバは、秘密情報管理サーバのID情報に基づき共通鍵kを生成し、リクエスト情報を復号する。リクエスト情報から得た第一の共通鍵rcomを用いて、レスポンス情報を暗号化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IDベース暗号において利用するマスターシークレットと秘密情報を管理するサーバから通信ネットワークを介して暗号装置に秘密情報を送信することを目的とした秘密情報送信システム、秘密情報送信方法、秘密情報管理サーバ、暗号装置、秘密情報送信プログラムに関する。
【背景技術】
【0002】
ID情報に基づく暗号技術(以下「IDベース暗号」という)が提案されている(非特許文献1、非特許文献2)。図1を用いてIDベース暗号について説明する。秘密情報管理サーバ100は、ペアリング演算に利用できる楕円曲線を決定し、楕円曲線上のベースポイントである楕円点Pを決定する。秘密情報管理サーバは、ベースポイントPに対してマスターシークレットsを用いて楕円スカラー倍(楕円曲線上のs倍算)を行った楕円曲線上の点s・Pを計算する。秘密情報管理サーバ100は、公開パラメータとして、Pとs・Pを公開する。暗号装置200から暗号装置200へ送信する情報を暗号化する場合、暗号装置200は、乱数ridを生成し、この乱数ridと暗号装置200の利用者のID情報を楕円曲線上の点に変換した情報ID2001からペアリング演算e()を利用して、鍵kを生成する。
【0003】
k=e(rid・ID2001,s・P)
なお、ペアリング演算は、以下の性質を持つ。なお、ここでは “a・P”は楕円曲線上の点Pのa倍算を行った結果であることを示す。“a・P”の情報から、演算の元情報となっているa及びPが直接分かるわけではない。また、演算子“^”は、“a^b”でaをbでべき乗することを表す演算子である。
【0004】
e(P,Q+R) = e(P,Q)e(P,R)
e(P+Q,R) = e(P,R)e(Q,R)
e(P,Q+Q) = e(P,Q)e(P,Q) = e(P,Q)^2
e(P+P,Q) = e(P,Q)e(P,Q) = e(P,Q)^2
楕円スカラー倍:(楕円曲線上の点のn倍算)は以下のように表される。
【0005】
P+P+・・・+P=nP
e(a・P,b・Q)=e(b・P,a・Q)
さらに以下のような性質が得られ、暗号、署名プロトコルで利用される。
【0006】
e(P,nQ) = e(P,Q)^n
e(nP,Q) = e(P,Q)^n
e(aP,bQ) = e(P,Q)^ab
e(P,-Q) = e(P,Q)^(-1)
e(P,Q)e(P,-Q) = 1
この鍵kを用いて、暗号化した情報をEREQとする。EREQとrid・Pを暗号装置200へ送信する。暗号装置200は、秘密情報管理サーバ100へ秘密鍵s・ID2001を要求し、取得する。暗号装置200は、秘密鍵s・ID2001とrid・Pからペアリング演算e()を利用して、鍵kを生成する。
【0007】
k=e(s・ID2001, rid・P)
この鍵kを使用して暗号化された情報EREQを復号する。s・ID2001は暗号装置200以外はしらないため、暗号装置間の通信を盗聴等したとしても、鍵kを得ることはできない。
【0008】
ここで、秘密情報管理サーバ100から暗号装置200への秘密鍵s・ID2001の配送はHTTPSにて行うことが提案されている(非特許文献3)。HTTPSについては、非特許文献4に詳しく説明されている。
【非特許文献1】笠原正雄、境隆一著、「暗号 ネットワーク社会の安全を守る鍵」、共立出版、2002、p.81-101
【非特許文献2】Identity-based encryption from the Weil pairing, D.Boneh and M.Franklin, Advances in Cryptology 0 CRYTPO’01,volume 2139 of LNCS, pages 213-229.Springer, 2001.
【非特許文献3】IETF Internet Draft,draft-ietf-simime-ibearch-03.txt,September 2007
【非特許文献4】Eric Rescorlal著、「マスタリングTCP/IP SSL/TLS編」、オーム社、p.337-359
【発明の開示】
【発明が解決しようとする課題】
【0009】
非特許文献4に記載されているようにHTTPSによる暗号化は、暗号装置が秘密情報管理サーバへの接続を確立し、SSL接続をネゴシエートし、その後SSLアプリケーション用のデータ通信路を通じてHTTPデータを転送するという手順を踏むため、暗号化のためのオーバヘッドは大きい。また、暗号装置の増加に伴い、秘密情報管理サーバの暗号化、復号処理負荷が増大する。さらに、HTTPSでは、プロキシとの連動性が悪く、ファイアウォールの管理者のポリシーとの整合性を取るために、ユーザはファイアウォールの設定状況に合わせることを余儀なくされる。インターネットプロバイダでの運用規約や設定の条件が悪い場合は、最悪ファイアウォールを通過できず、鍵の取得ができない場合もある。ユーザの設定や運用不備により、全てのサーバ証明書を受け入れるような設定がされている場合やCA(認証局)の証明書が不適切に設定されている場合には、man-in-the-middleプロキシにより、攻撃者から秘密鍵の送信情報を盗み見られてしまうなどの問題がある。
【0010】
本発明は、IDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバが、IDベース暗号を利用して、秘密情報を暗号装置に送信する秘密情報送信システム、秘密情報送信方法、秘密情報管理サーバ、暗号装置、秘密情報送信プログラム、記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0011】
請求項1記載の秘密情報送信システムは、IDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバが、秘密情報管理サーバに通信ネットワークを介して接続している暗号装置に秘密情報を送信する。暗号装置は、秘密情報管理サーバの公開パラメータを保存する公開パラメータ保存部と、第一の共通鍵rcomを生成する共通鍵生成部と、乱数を生成し、乱数と公開パラメータと秘密情報管理サーバのID情報に基づき第二の共通鍵k及び補助鍵cを生成し、秘密情報の種別を特定する秘密情報要求種別と第一の共通鍵rcomを含むリクエスト情報を第二の共通鍵kによって暗号化するIDベース暗号化部と、秘密情報管理サーバに暗号化されたリクエスト情報及び補助鍵cを送信し、秘密情報管理サーバから秘密情報を含む暗号化されたレスポンス情報を受信する通信制御部と、暗号化されたレスポンス情報を第一の共通鍵rcomを用いて復号する復号部を有する。秘密情報管理サーバは、公開パラメータを管理する公開パラメータ管理部と、マスターシークレットと秘密情報管理サーバのID情報に基づき秘密鍵TAscrを生成する秘密鍵生成部と、秘密鍵TAscrと補助鍵cに基づき第二の共通鍵kを生成し、第二の共通鍵kによって暗号化されたリクエスト情報を復号するIDベース復号部と、リクエスト情報から得た第一の共通鍵rcomを用いて、レスポンス情報を暗号化する暗号化部と、暗号装置から暗号化されたリクエスト情報及び補助鍵cを受信し、暗号装置に暗号化されたレスポンス情報を送信する通信制御部を有する。
【0012】
請求項6記載の秘密情報送信方法は、IDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバが、秘密情報管理サーバに通信ネットワークを介して接続している暗号装置に秘密情報を送信する。暗号装置は、乱数を生成し、乱数と公開バラメータ保存部に保存されている公開パラメータと秘密情報管理サーバのID情報に基づき第二の共通鍵k及び補助鍵cを生成し、秘密情報の種別を特定する秘密情報要求種別と共通鍵生成部で生成される第一の共通鍵rcomを含むリクエスト情報を第二の共通鍵kによって暗号化する。暗号装置は、暗号化されたリクエスト情報及び補助鍵cを通信ネットワークを介して秘密情報管理サーバへ送信する。秘密情報管理サーバは、暗号化されたリクエスト情報及び補助鍵cを受信する。秘密情報管理サーバは、マスターシークレットと秘密情報管理サーバのID情報に基づき秘密鍵TAscrを生成する。秘密情報管理サーバは、秘密鍵TAscrと補助鍵cに基づき第二の共通鍵kを生成し、第二の共通鍵kによって暗号化されたリクエスト情報を復号する。秘密情報管理サーバは、リクエスト情報から得た第一の共通鍵rcomを用いて、秘密情報を含むレスポンス情報を暗号化する。秘密情報管理サーバは、暗号化されたレスポンス情報を通信ネットワークを介して暗号装置へ送信する。暗号装置は、暗号化されたレスポンス情報を受信する。暗号装置は、レスポンス情報を第一の共通鍵rcomを用いて復号する。
【発明の効果】
【0013】
SSL接続のネゴシエート等を行わず、暗号化データを送信できるIDベース暗号を利用するため、暗号化のためのオーバヘッドが低減できる。ユーザの設定状況やプロバイダの運用ポリシーに依存していたセキュリティ機能設定のミスやファイアウォールの配置などネットワーク構成の制限を回避することができ、中間者攻撃を防ぐことができる。
【発明を実施するための最良の形態】
【0014】
ここで、本発明の実施例について述べる。
【実施例】
【0015】
システムの全体構成は従来技術と同様であるため、図1を用いて、本実施例の秘密情報送信システムの全体構成を説明する。秘密情報送信システムは、IDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバ100と、秘密情報管理サーバ100に通信ネットワーク10を介して接続している暗号装置200を有する。
【0016】
図2は、本実施例の秘密情報管理サーバ100と暗号装置200の構成例を示す図である。なお、他の暗号装置200、・・・、200も同様の構成を有する。
【0017】
秘密情報管理サーバ100は、通信制御部101、公開パラメータ管理部103、マスターシークレット管理部105、秘密鍵生成部107、IDベース復号部109、暗号化部111、利用者認証情報管理部113、認証部115、ユーザセッション情報管理部117、ユーザID属性管理部119、改竄発見情報付加部121、制御部123を有する。
【0018】
暗号装置200は、通信制御部201、秘密鍵保存部203、公開パラメータ保存部205、共通鍵生成部207、IDベース暗号化部209、IDベース暗号制御部211、復号部213、秘密情報取得制御部215、認証情報管理部217、セッション番号管理部219、ID属性管理部221、改竄発見情報認証部223を有する。図3は、これら構成要素の機能を示す。なお、図4のように、秘密情報管理サーバ100からマスターシークレット管理部105、秘密鍵生成部107を取り出し新たに通信制御部141を加えた秘密鍵生成サーバ140を設け、利用者認証情報管理部113、認証部115を取り出し新たに通信制御部131を加えた認証サーバ130を設け、秘密情報管理サーバ100と秘密鍵生成サーバ140と認証サーバ130を専用に設けられた通信ネットワーク11で接続してもよい。また、公開パラメータ管理部103、マスターシークレット管理部105、利用者認証情報管理部113、ユーザセッション情報管理部117、ユーザID属性管理部119、認証情報管理部217、セッション番号管理部219、ID属性管理部221は、管理する情報を記録する記録部を有してもよい。また、本発明において、「管理する」とは、情報を生成すること、他の端末や入力装置から情報を取得すること、情報を記録、保存、更新、削除すること等を意味する。
【0019】
図5は、暗号装置200と秘密情報管理サーバ100との間の処理の流れを、図6(A)は、メッセージ認証コードを利用した場合の処理の流れの詳細を、図6(B)は、IDベース署名を利用した場合の他のマスターシークレットを用いる処理の流れの詳細を、図6(C)は、IDベース署名を利用した場合の署名用の識別子を用いる処理の流れを、図7は、図6で用いられるIDベース暗号の処理手順の概略(ここでは、例としてBoneh-Franklin方式(非特許文献2)を用いる)を、図8は、図6で用いられるデータの定義を、図9は、図6で用いられる関数の機能を示す。
なお、本実施例の秘密情報送信システムの利用者はシステム管理者に利用登録申請を行い、システム管理者はID情報や認証情報を秘密情報管理サーバ100へ登録する。ID情報や認証情報は住民基本台帳などのIDや公的証明書であっても良いが、本実施例では、ユーザIDとユーザパスワードとする。また、登録したID情報及び認証情報を利用者に返送する。利用者とシステム管理者との情報のやり取りは、従来の封書による郵便などオフライン、ネットワークを利用したオンラインを問わず安全な方法を前提とする。また、利用者は暗号装置にシステム管理者から取得したID情報及び認証情報を設定する。
【0020】
暗号装置200の利用者は、暗号装置200の利用者のID情報(例えば「user1@example.com」とする)と属性情報(例えば有効期限と役職「date=2007/07/08;role=manager」とする)と乱数と公開パラメータに基づき共通鍵k’及び補助鍵c’を生成する。生成した共通鍵k’によってデータを暗号化する。暗号化したデータは、通信ネットワーク10を介して暗号装置200に送信される(s200)。図10(e)は、暗号装置200から送信されるデータ例を示す。
【0021】
本発明の主眼の一つは、秘密情報管理サーバ100が、IDベース暗号において利用するマスターシークレットと秘密情報を管理すること利用して、IDベース暗号を用いて秘密情報を暗号装置に送信することである。以下、説明する。
【0022】
暗号装置200は、秘密鍵k’が秘密鍵保存部203に保存されているか確認する(s201)。例えば、暗号化データを受信した暗号装置200では、暗号化データを復号するため、IDベース暗号制御部211へ暗号化データが渡され秘密鍵の取得処理を行う。まず、暗号化されたデータの暗号に用いた利用者のID情報と属性情報を合わせたもの(「user1@example.com.date=2007/07/08;role=manager」)を取得し、この情報を元に秘密情報取得制御部215に秘密鍵取得を要求する。秘密情報取得制御部215は、秘密鍵保存部203に秘密鍵k’が保存されているか確認する。保存されている場合には、IDベース暗号制御部211にその秘密鍵k’を返す。保存されていない場合には、セッション番号管理部219に問合せる。図11(a)は、セッション番号管理部219で管理されるデータ例を示す。
【0023】
暗号装置200は、セッション番号管理部219で管理される時刻情報を用いたセッション番号(例えば「2007/07/08/09:10:11:123」とする)を生成し(s202)、保存する。この情報を秘密情報取得制御部215を介してIDベース暗号化部209へ渡す。
【0024】
IDベース暗号化部209は、乱数を生成し、乱数と公開パラメータと秘密情報管理サーバ100のID情報とセッション番号に基づき第二の共通鍵k及び補助鍵cを生成し、第一の共通鍵rcomと秘密情報を特定する秘密情報要求種別、認証情報、属性情報を含むリクエスト情報を第二の共通鍵kによって暗号化する(s203)。図10(a)は、リクエスト情報のデータ例を示す。例えば、IDベース暗号化部209は、セッション番号と秘密情報管理サーバ100のID情報(例えば「http://pkg.example.com/」とする)を結合した情報TAsessionID(「http://pkg.example.com/2007/07/08/09:10:11:123」)を生成し、楕円曲線上の点TApubに変換する。さらに、IDベース暗号化部209は、乱数ridを生成し、公開パラメータ保存部205に保存されている公開パラメータP,s・Pを取得する。これらの情報に基づき第二の共通鍵k及び補助鍵cを生成する。
【0025】
k=H((e(TApub,s・P)^rid))
c= rid ・P
なお、H( )はハッシュ関数である。本実施例では、第二の共通鍵kを使った共通鍵暗号方式としてCamelliaを想定しているが、AES等他の共通鍵暗号方式であってもよい。共通鍵生成部207で生成された第一の共通鍵rcomと、要求する秘密情報を特定する秘密情報要求種別(例えば「KEM−key:鍵共有に用いる暗号鍵」とする)と、暗号装置200の利用者の認証情報(例えば「ユーザID、ユーザパスワード」とする)と、ID属性管理部にて管理される属性情報(例えば、有効期限と役職「date=2007/07/08;role=manager」とする)を含むリクエスト情報を第二の共通鍵kによって暗号化する。ここで、第一の共通鍵rcomは、対応するセッション番号とともにセッション番号管理部219へ保存される。本実施例では、第一の共通鍵rcomを使った共通鍵暗号方式としてCamelliaを想定しているが、AES等他の共通鍵暗号方式であってもよい。また、認証情報は、予め秘密情報管理サーバに登録している認証情報と同一であり、認証情報管理部217で管理される。図11(b)は、認証情報管理部217で管理されるデータ例を示す。秘密情報要求種別とは、要求する秘密情報を特定するための種別であり、秘密鍵以外であってもよい。属性情報とは、ID情報に付加される情報、例えば、有効期限、役職、権限等の情報であり、ID属性管理部で管理される。
【0026】
通信制御部201は、暗号化されたリクエスト情報、補助鍵c及び情報TAsessionID含む情報REQmsgを通信ネットワーク10を介して、秘密情報管理サーバ100へ送信する(s204)。図10(b)は、情報REQmsgのデータ例を示す。
【0027】
秘密情報管理サーバの通信制御部101は、通信ネットワークを介して情報REQmsg受信する(s101)。秘密鍵生成部107は、マスターシークレット管理部105で管理されるマスターシークレットsと情報TAsessionIDに基づき秘密鍵TAscrを生成する(s102)。なお、この秘密鍵TAscrは、時刻情報を用いたセッション番号を利用せずに生成する場合には、予め生成しておいてもよい。例えば、秘密情報管理サーバ100の制御部123は、情報REQmsgから、補助鍵cと情報TAsessionIDを取り出し、秘密鍵生成部107に情報TAsessionIDを渡し、対応する秘密鍵TAscrを要求する。秘密鍵生成部107は、マスターシークレット管理部105で管理されるマスターシークレットsと情報TAsessionIDを楕円曲線上の点に変換したTApubから秘密鍵TAscrを生成し、制御部123へ渡す。
【0028】
TAscr=s・TApub
制御部123は、補助鍵cと秘密鍵TAscrをID復号部109へ渡す。IDベース復号部109は、秘密鍵TAscrと補助鍵cから第二の共通鍵kを生成し、第二の共通鍵kによって暗号化されたリクエスト情報を復号する(s103)。例えば、IDベース復号部109は、秘密鍵TAscrと補助鍵cに基づき第二の共通鍵kを生成する。
【0029】
H(e(TAscr, c))
= H(e(s・TApub, rid・P)) =H((e(TApub, s・P)^rid)) =k
この第二の共通鍵kによって、Camelliaで暗号化されたリクエスト情報を復号し、第一の共通鍵rcomと秘密情報を特定する秘密情報要求種別、認証情報、属性情報を取得する。なお、復号できない場合には、エラーメッセージを暗号装置200に返す。
【0030】
認証部115では、リクエスト情報に含まれる認証情報と利用者認証情報管理部113で管理される認証情報に基づき認証を行う(s104)。図11(d)は、利用者認証情報管理部113で管理される認証情報のデータ例を示す。なお、利用者認証情報管理部113には、秘密情報管理情報管理サーバを利用する利用者毎の認証情報が登録されている。
認証が失敗した場合には、エラーメッセージを暗号装置200に返す。
【0031】
秘密情報管理サーバ100は、利用者のID情報、セッション番号とユーザセッション情報管理部117で管理される利用者のID情報、セッション番号に基づきセッション番号が正しいか確認する(s105)。図11(c)は、ユーザセッション情報管理部117で管理されるデータ例を示す。取得したセッション番号がユーザセッション情報管理部119で管理されるセッション番号と比較し、最新のものでない場合には、リプレイアタックまたは2重要求送信と判断し、エラーメッセージを暗号装置200に返す。このように時刻情報を用いたセッション番号を利用することで、リプレイアタックを防ぐことができるという効果がある。なお、このような効果が得られるのは、秘密情報管理サーバ100が、マスターシークレットsを管理し、秘密情報管理サーバ100自身で秘密情報管理サーバの秘密鍵TASCRを生成し、IDベース復号のための共通鍵kを生成することができるため、暗号装置200は、時刻情報を用いたセッション番号を含む情報TAsessionIDに基づき、ユニークな共通鍵kを生成し、IDベース暗号化を行うことができるからである。
【0032】
秘密情報管理サーバ100は、リクエスト情報に含まれるID属性とユーザID属性管理部119で管理される利用者のID情報と属性情報の条件に基づきリクエスト情報に含まれるID属性が条件を満たすか確認する(s106)。図11(e)は、ユーザID属性管理部で管理されるデータの例を示す。ユーザID属性管理部119で管理される属性情報の条件とは、ID情報の有効期限、権限、役職等がある。取得したID属性がユーザID属性管理部119で管理される属性情報に定まる条件を満たさない場合には、エラーメッセージを暗号装置200に返す。属性情報を用いることで、利用者毎に取得できる秘密情報を設定すること等ができるという効果がある。
【0033】
秘密情報管理サーバ100の秘密鍵生成部107は、マスターシークレットsと暗号装置の利用者のID情報に基づきIDベース暗号の復号鍵を生成するために用いる秘密鍵USRscrを生成する(s107)。なお、この秘密鍵USRscrは、予め生成しておいてもよい。例えば、取得した認証情報に含まれるユーザIDと属性情報を結合した情報IDATRuserに基づき、秘密情報要求種別(本実施例では、KEM−key:鍵共有のための復号鍵とする)に従い、秘密鍵USRscrを生成する。例えば、秘密鍵生成部107は、マスターシークレットsと情報IDATRuserを楕円曲線上の点に変換したUSRpubから秘密鍵USRscrを生成する。
【0034】
USRscr=s・USRpub
秘密情報管理サーバ100は、暗号化部111において、リクエスト情報から得た第一の共通鍵rcomを用いて、秘密鍵USRscrを含むレスポンス情報を暗号化する(s108)。レスポンス情報には、情報IDATRuserを含んでもよい。図10(c)は、レスポンス情報のデ−タ例を示す。
【0035】
秘密情報管理サーバ100は、改竄発見情報付加部121において暗号化されたレスポンス情報にセッション情報を付加し、これらをまとめた情報mに対する改竄を発見するために用いる改竄発見情報を付加する(s109)。例えば、情報mに対する改竄発見情報としてメッセージ認証コードを付加する。また、改竄発見情報として、メッセージ認証コードに代えて、例えば、秘密情報管理サーバのIDベース署名を付加してもよい。なお、暗号装置間のID情報に基づく署名処理に関しては、例えば、Florian Hess. Efficient Identity Based Signature Schemes Based on Pairings. SAC 2002, LNCS 2595, pp.310-324, 2003.Springer-Verlag,2003に詳しく述べられている。図6(A)は、メッセージ認証コードを利用した場合の処理の流れの詳細を、図6(B)は、IDベース署名を利用した場合の他のマスターシークレットを用いる処理の流れの詳細を、図6(C)は、IDベース署名を利用した場合の署名用の識別子を用いる処理の流れを示す。図12は、図6(B)、(C)に用いられるIDベース署名の処理手順の概略を示す。この場合、改竄発見情報付加部121は、署名鍵と暗号化されたレスポンス情報にセッション番号を付加した情報mと公開パラメータに基づき、署名(V,S)を生成し、情報mに付加する。ここで、署名鍵は、第二の共通鍵kを生成する際に用いた秘密鍵TAscrでもよいが、鍵の強度を高めるために新たに以下の2つ方法によって生成することもできる。一つ目は、秘密鍵生成部107は、マスターシークレットsとは異なるマスターシークレット管理部で管理される他のマスターシークレットs’と情報TAsessionIDを楕円曲線上の点に変換したTApubから署名鍵TA’scrを生成する方法である。この場合、公開パラメータにP’s=s’・Pを加える。
【0036】
TA’scr=s’・TApub
二つ目は、秘密鍵生成部107は、マスターシークレットsと情報TAsessionIDに予め定めた署名用の識別子を付加した情報TA’sessionIDを楕円曲線上の点に変換したTA’pubから署名鍵TA”scrを生成する方法である。
【0037】
TA”scr=s・TA’pub
改竄発見情報付加部121は、暗号化されたレスポンス情報にセッション番号を付加した情報mに対して署名(V,S)を生成し、情報mに署名(V,S)を付加した情報RESmsgを生成する。なお、署名(V、S)は以下のように表される。ここで、H’()は、H()とは異なるハッシュ関数を、m‖rは、mとrを連結することを意味する。
【0038】
V=H’(m‖r)
r=e(P1,P)^k
ただし、P1は任意の秘密情報管理サーバ100の公開パラメータの楕円曲線上の点であり、kは乱数である。
【0039】
S=V・TA+k・P1
但し、署名鍵TAには、上述のTAscr、TA’scr、TA”scrの何れかを用いる。通信制御部101は、通信ネットワーク10を介して、暗号化装置200に、暗号化されたレスポンス情報にセッション番号を付加した情報mに対して改竄発見情報を生成し、情報mに改竄発見情報を付加した情報RESmsgを送信する(s110)。
【0040】
秘密情報管理サーバ100は、ユーザセッション情報管理部117で管理されているユーザセッション情報を更新する(s111)。図10(d)は、情報REQmsgのデータ例を示す。
【0041】
暗号装置200の通信制御部201は、通信ネットワーク10を介して情報RESmsgを受信する(s205)。
【0042】
暗号装置200は、改竄発見情報認証部223において、秘密情報管理サーバから暗号装置へ送られる改竄発見情報を認証する(s206)。例えば、メッセージ認証コードや署名(V,S)を確認し、改竄等が行われていないか確認する。改竄等が行われていることが確認された場合には、エラーメッセージを生成する。署名(V,S)を付加した場合について説明する。改竄発見情報認証部223は、署名鍵TAに、上述のTAscrを用いた場合には、情報m、署名(V,S)、秘密情報管理サーバの公開パラメータ、情報TAsessionIDを楕円曲線上の点に変換したTApubに基づいて、署名検証を行う。
【0043】
W=e(S,P)・e(TApub,−s・P)^V
V’=H’(m‖W)
署名鍵TAに、上述のTA’scrを用いた場合には、情報m、署名(V,S)、秘密情報管理サーバのP’sを含む公開パラメータ、情報TAsessionIDを楕円曲線上の点に変換したTApubに基づいて、署名検証を行う。
【0044】
W=e(S,P)・e(TApub−s’・P)^V
V’=H’(m‖W)
署名鍵TAに、上述のTA”scrを用いた場合には、情報m、署名(V,S)、秘密情報管理サーバの公開パラメータ、情報TAsessionIDに予め定められた署名用識別子を付加した情報TA’sessionIDを楕円曲線上の点に変換したTA’pubに基づいて、署名検証を行う。
【0045】
W=e(S,P)・e(TA’pub,−s・P)^V
V’=H’(m‖W)
署名VとV’が一致する場合には、認証は成功したことを意味し、一致しない場合には、情報mに何らかの変更や破損等があったことを意味する。各暗号装置は、署名用の公開パラメータを発行している秘密情報管理サーバのID情報を取得することができる。そのため、署名鍵発行の処理が悪意のあるものによって操作されていなければ、暗号装置がリクエスト情報をIDベース暗号する際に使用した秘密情報管理サーバのID情報と署名用の公開パラメータのみで、秘密情報管理サーバから返送されてくるレスポンス情報の署名を検証できる。よって、PKI(Public Key Infrastructure)のように署名用の公開鍵証明書を取得し、さらにその証明書を検証する処理が必要ないという有利な効果がある。 暗号装置200は、暗号化されたレスポンス情報に付加されたセッション番号とセッション番号管理部219に保存したセッション番号が同一か確認する(s207)。セッション番号管理部219に該当するセッション番号がない場合には、エラーメッセージを生成する。
【0046】
復号部213において、暗号化されたレスポンス情報を第一の共通鍵rcomを用いて復号する(s208)。例えば、セッション番号管理部219に保存した第一の共通鍵rcomと暗号化されたレスポンス情報を、復号部213へ入力し、復号し、秘密情報(秘密鍵USRscr)や情報IDATRuserを取得する。秘密情報管理サーバ100は、利用者の認証情報にて、利用者はセッション番号に対応した第一の共通鍵rcomで暗号化されたレスポンス情報が復号できることでそれぞれ認証を行うため、公開鍵証明書を用いたHTTPSによる相互認証のように、利用者は、秘密鍵と公開鍵のペアを作成し、公開鍵を認証局に登録してクライアント証明書を事前に入手しておく必要がなく、手続を簡略化できるという効果がある。
【0047】
暗号装置200は、エラーメッセージを生成した場合や秘密情報管理サーバ100からエラーメッセージを受信した場合には、暗号装置200のディスプレイやプリンタ等の出力部からエラーメッセージを表示し利用者に知らせる(s209)。
【0048】
暗号装置200は、取得した秘密鍵USRscrと補助鍵c’を用いて、共通鍵k’を生成し、暗号装置200から送信されてきた暗号化データを復号することができる(s210)。
【0049】
本実施例において、暗号装置200と暗号装置200間の暗号処理はIDベース暗号を用いている。この場合、暗号装置200と秘密情報管理サーバ間の秘密情報をやりとりする際にHTTPSを利用すると、HTTPSとIDベース暗号の二つの暗号方式を利用するため、暗号化のためのリソースの消費が大きいのに比べ、暗号装置間、暗号装置と秘密鍵管理サーバ間のいずれの暗号方式もIDベース暗号となるため、SSL暗号化のためのリソースの消費など、暗号化のためのリソース消費を低減できるという効果がある。さらに、秘密情報管理サーバから暗号装置に秘密情報を送信する際に、秘密情報に対して署名を付加する場合に、IDベース署名を利用することによって、リソースの消費を抑えることができる。ただし、本発明は、暗号装置間の暗号方式をIDベース暗号に限定するものではなく、他の暗号方式を用いてもよい。
【0050】
本実施例において、IDベース暗号方式として、Boneh−Franklin方式を用いているが、このIDベース暗号方式に限定するものではない。本実施例において、暗号装置200から200へIDベース暗号を利用して暗号化データを送信する際に利用するIDベース暗号の復号鍵k’を生成するために用いる秘密鍵USRscrを秘密情報管理サーバ100から暗号装置200へ送信しているが、暗号装置200から200へIDベース署名を利用して、データを送信する際に利用するIDベース署名用署名鍵を生成するために用いる秘密鍵USR’scrを秘密情報管理サーバ100から暗号装置200へ送信する場合であっても本発明を利用することができる。また、利用者間の署名方式は、IDベース署名に限定するものではなく、他の署名方式であってもよい。
【0051】
なお、認証情報に基づき認証を行う必要がない場合には、秘密情報管理サーバ100には、利用者認証情報管理部113及び認証部114を設けなくともよく、暗号装置200には、認証情報管理部217を設けなくともよい。また、リクエスト情報には、認証情報を含まなくてもよい。
【0052】
また、セッション番号による管理を必要としない場合には、秘密情報管理サーバ100には、ユーザセッション情報管理部117を設けなくともよく、暗号装置200には、セッション番号管理部219を設けなくともよい。この場合、IDベース暗号化部209では、乱数を生成し、乱数と公開パラメータと秘密情報管理サーバのID情報に基づき第二の共通鍵k及び補助鍵cを生成し、秘密情報の種別を特定する秘密情報要求種別と第一の共通鍵rcomを含むリクエスト情報を第二の共通鍵kによって暗号化する。また、秘密鍵生成部107では、マスターシークレットと秘密情報管理サーバのID情報に基づき第二の共通鍵kを生成する。また、セッション情報の確認(s105)、セッション情報の更新(s111)、セッション番号確認(s207)等は行わなくてもよい。
【0053】
さらに、ID情報に付加された属性情報により利用者毎に取得できる秘密情報を設定する必要がない場合には、秘密情報管理サーバ100には、ユーザID属性管理部117を設けなくともよく、暗号装置200には、ID属性管理部221を設けなくともよい。また、リクエスト情報には、属性情報を含まなくてもよい。
【0054】
本実施例において、秘密情報は、秘密鍵としているが、他の秘密情報であってもよい。
この発明において、秘密情報管理サーバ及び暗号装置は、コンピュータにより機能させてもよい。その場合は、各過程をコンピュータにより実行させるためのプログラムを、CD−ROM、磁気ディスク、半導体記憶装置などの記録媒体からインストールし、あるいは通信回線を通じてダウンロードして、そのコンピュータにそのプログラムを実行させればよい。
【図面の簡単な説明】
【0055】
【図1】実施例の秘密情報送信システムの全体構成を示す図である。
【図2】実施例の秘密情報管理サーバ100と暗号装置200の構成例を示す図である。
【図3】構成要素の機能を示す図である。
【図4】秘密鍵生成サーバ140と認証サーバ130を設けた秘密情報管理サーバ100の構成例を示す図である。
【図5】暗号装置200と秘密情報管理サーバ100との間の処理の流れを示す図である。
【図6(A)】(A)は、メッセージ認証コードを利用した処理の流れの詳細を示す図である。
【図6(B)】(B)は、署名を利用した他のマスターシークレットを用いる処理の流れの詳細を示す図である。
【図6(C)】(C)は、署名を利用した署名用の識別子を用いる処理の流れの詳細を示す図である。
【図7】図6で用いられるIDベース暗号の処理手順の概略を示す図である。
【図8】図6で用いられるデータの定義を示す図である。
【図9】図6で用いられる関数の機能を示す図である。
【図10】(a)は、リクエスト情報のデータ例を、(b)は、情報REQmsgのデータ例を、(c)は、レスポンス情報のデ−タ例を、情報REQmsgのデータ例を、(e)は、暗号装置200から送信されるデータの例を示す。
【図11】(a)は、セッション番号管理部219で管理されるデータ例を、(b)は、認証情報管理部217で管理されるデータ例を、(c)は、ユーザセッション情報管理部117で管理されるデータの例を(d)は、利用者認証情報管理部113で管理される認証情報のデータ例を、(e)は、ユーザID属性管理部で管理されるデータの例を示す。
【図12】図6(B)、(C)で用いられるIDベース署名の処理手順の概略を示す図である。
【符号の説明】
【0056】
100 秘密情報管理サーバ 101 通信制御部
103 公開パラメータ管理部 105 マスターシークレット管理部
107 秘密鍵生成部 109 IDベース復号部
111 暗号化部 113 利用者認証情報管理部
115 認証部 117 ユーザセッション情報管理部
119 ユーザID属性管理部 121 改竄発見情報付加部
123 制御部 10 通信ネットワーク
200 暗号装置 201 通信制御部
203 秘密鍵保存部 205 公開パラメータ保存部
207 共通鍵生成部 209 復号部
211 IDベース暗号制御部 213 復号部
215 秘密情報取得制御部 217 認証情報管理部
219 セッション番号管理部 221 ID属性管理部
223 改竄発見情報認証部

【特許請求の範囲】
【請求項1】
IDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバが、該秘密情報管理サーバに通信ネットワークを介して接続している暗号装置に該秘密情報を送信する秘密情報送信システムにおいて、
該暗号装置は、該秘密情報管理サーバの公開パラメータを保存する公開パラメータ保存部と、
第一の共通鍵rcomを生成する共通鍵生成部と、
乱数を生成し、該乱数と該公開パラメータと該秘密情報管理サーバのID情報に基づき第二の共通鍵k及び補助鍵cを生成し、該秘密情報の種別を特定する秘密情報要求種別と該第一の共通鍵rcomを含むリクエスト情報を該第二の共通鍵kによって暗号化するIDベース暗号化部と、
該秘密情報管理サーバに暗号化された該リクエスト情報及び該補助鍵cを送信し、該秘密情報管理サーバから該秘密情報を含む暗号化されたレスポンス情報を受信する通信制御部と、
暗号化された該レスポンス情報を該第一の共通鍵rcomを用いて復号する復号部を有し、
該秘密情報管理サーバは、該公開パラメータを管理する公開パラメータ管理部と、
該マスターシークレットと該秘密情報管理サーバのID情報に基づき秘密鍵TAscrを生成する秘密鍵生成部と、
該秘密鍵TAscrと該補助鍵cに基づき該第二の共通鍵kを生成し、該第二の共通鍵kによって暗号化された該リクエスト情報を復号するIDベース復号部と、
該リクエスト情報から得た該第一の共通鍵rcomを用いて、該レスポンス情報を暗号化する暗号化部と、
該暗号装置から暗号化された該リクエスト情報及び該補助鍵cを受信し、該暗号装置に暗号化された該レスポンス情報を送信する通信制御部を有する、
ことを特徴とする秘密情報送信システム。
【請求項2】
請求項1記載の秘密情報送信システムであって、
該秘密情報が該暗号装置間のID情報に基づく暗号処理において利用するIDベース暗号の復号鍵を生成するために用いる秘密鍵USRscr又はID情報に基づく署名処理において利用するIDベース署名用の署名鍵を生成するために用いる秘密鍵USR’scrであり、
該秘密情報管理サーバの該秘密鍵生成部は、該マスターシークレットと該暗号装置の利用者のID情報に基づき該秘密鍵USRscr又はUSR’scrを生成する、
ことを特徴とする秘密情報送信システム。
【請求項3】
請求項1または2記載の秘密情報送信システムであって、
時刻情報を用いたセッション番号を管理するセッション番号管理部を有し、
該IDベース暗号化部は、乱数を生成し、該乱数と該公開パラメータと該秘密情報管理サーバのID情報と該セッション番号に基づき第二の共通鍵k及び補助鍵cを生成し、該第一の共通鍵rcomと該秘密情報を特定する秘密情報要求種別を含むリクエスト情報を該第二の共通鍵kによって暗号化し、
該暗号装置の該通信制御部は、該秘密情報管理サーバに暗号化された該リクエスト情報、該補助鍵c及び該セッション番号を送信し、該秘密情報管理サーバから該秘密情報を含む暗号化されたレスポンス情報及び該セッション番号を受信し、
該秘密情報管理サーバは、利用者のID情報と該セッション番号を管理するユーザセッション情報管理部を有し、
該秘密鍵生成部は、該マスターシークレットと該秘密情報管理サーバのID情報と該セッション番号に基づき秘密鍵TAscrを生成し、
該秘密情報管理サーバの該通信制御部は、該暗号装置から暗号化された該リクエスト情報、該補助鍵c及び該セッション番号を受信し、該暗号装置に暗号化された該レスポンス情報及び該セッション番号を送信する、
ことを特徴とする秘密情報送信システム。
【請求項4】
請求項1から3の何れかに記載の秘密情報送信システムであって、
該暗号装置は、予め該秘密情報管理サーバに登録している該利用者の認証情報を管理する認証情報管理部を有し、
該リクエスト情報は該認証情報を含み、
該秘密情報管理サーバは、利用者の認証情報を管理する利用者認証情報管理部と、
該リクエスト情報に含まれる該認証情報と利用者認証情報管理部で管理される認証情報に基づき認証を行う認証部を有する、
ことを特徴とする秘密情報送信システム。
【請求項5】
請求項1から4の何れかに記載の秘密情報送信システムであって、
該秘密鍵生成部は、該マスターシークレットとは異なる他のマスターシークレットと該秘密情報管理サーバのID情報に基づいて秘密鍵管理サーバの署名鍵TA’scrを生成し、又は、該秘密鍵生成部は、該マスターシークレットと該秘密情報管理サーバのID情報に予め定められた署名用の識別子を付加した情報に基づいて秘密鍵管理サーバの署名鍵TA”scrを生成し、
該秘密情報管理サーバは、該署名鍵TA’scrと暗号化されたレスポンス情報を含む情報と該公開パラメータに基づき、又は、TA”scrと暗号化されたレスポンス情報を含む情報と該公開パラメータに基づき、署名を生成し、暗号化されたレスポンス情報を含む情報に署名を付加する改竄発見情報付加部を有し、
該秘密情報管理サーバの該通信制御部は、該暗号装置に暗号化された該レスポンス情報を含む情報に署名を付加した情報を送信する、
該暗号装置の該通信制御部は、該秘密情報管理サーバから暗号化された該レスポンス情報を含む情報に署名を付加した情報を受信し、
該暗号装置は、暗号化された該レスポンス情報を含む情報と該署名と該公開パラメータと該秘密情報管理サーバのID情報に基づいて、又は、暗号化された該レスポンス情報を含む情報と該署名と該公開パラメータと該秘密情報管理サーバのID情報に予め定められた署名用の識別子を付加した情報に基づいて、署名の検証を行う改竄発見情報認証部を有する、
ことを特徴とする秘密情報送信システム。
【請求項6】
IDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバが、該秘密情報管理サーバに通信ネットワークを介して接続している暗号装置に該秘密情報を送信する秘密情報送信方法において、
該暗号装置は、乱数を生成し、該乱数と公開バラメータ保存部に保存されている公開パラメータと該秘密情報管理サーバのID情報に基づき第二の共通鍵k及び補助鍵cを生成し、該秘密情報の種別を特定する秘密情報要求種別と共通鍵生成部で生成される第一の共通鍵rcomを含むリクエスト情報を該第二の共通鍵kによって暗号化するIDベース暗号化ステップと、
該暗号装置は、暗号化された該リクエスト情報及び該補助鍵cを該通信ネットワークを介して該秘密情報管理サーバへ送信するステップと、
該秘密情報管理サーバは、暗号化された該リクエスト情報及び該補助鍵cを受信するステップと、
該秘密情報管理サーバは、該マスターシークレットと該秘密情報管理サーバのID情報に基づき秘密鍵TAscrを生成する秘密鍵生成ステップと、
該秘密情報管理サーバは、該秘密鍵TAscrと該補助鍵cに基づき該第二の共通鍵kを生成し、該第二の共通鍵kによって暗号化された該リクエスト情報を復号するIDベース復号ステップと、
該秘密情報管理サーバは、該リクエスト情報から得た該第一の共通鍵rcomを用いて、該秘密情報を含むレスポンス情報を暗号化する暗号化ステップと、
該秘密情報管理サーバは、暗号化された該レスポンス情報を該通信ネットワークを介して該暗号装置へ送信するステップと、
該暗号装置は、暗号化された該レスポンス情報を受信するステップと、
該暗号装置は、該レスポンス情報を該第一の共通鍵rcomを用いて復号する復号ステップと、
を有する秘密情報送信方法。
【請求項7】
請求項6記載の秘密情報送信方法であって、
該秘密情報が該暗号装置間のIDベース情報に基づく暗号処理において利用するIDベース暗号の復号鍵を生成するために用いる秘密鍵USRscr又はID情報に基づく署名処理において利用するIDベース署名のIDベース署名用署名鍵を生成するために用いる秘密鍵USR’scrであり、
該マスターシークレットと該暗号装置の利用者のID情報に基づき該秘密鍵USR’scr又はUSR’scrを生成する暗号装置間秘密鍵生成ステップを有する
ことを特徴とする秘密情報送信方法。
【請求項8】
通信ネットワークを介して暗号装置と接続しているIDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバであって、
該秘密情報管理サーバの公開パラメータを管理する公開パラメータ管理部と、
該マスターシークレットと該秘密情報管理サーバのID情報に基づき秘密鍵TAscrを生成する秘密鍵生成部と、
該秘密鍵TAscrと補助鍵cから第二の共通鍵kを生成し、該暗号装置で該第二の共通鍵kによって暗号化されたリクエスト情報(秘密情報の種別を特定する秘密情報要求種別と該暗号装置で生成した第一の共通鍵rcomを含む)を復号するIDベース復号部と、
該リクエスト情報から得た該第一の共通鍵rcomを用いて、該秘密情報を含むレスポンス情報を暗号化する暗号化部と、
該暗号装置から暗号化された該リクエスト情報及び該補助鍵cを受信し、該暗号装置に暗号化された該レスポンス情報を送信する通信制御部と、
を有する秘密情報管理サーバ。
【請求項9】
IDベース暗号において利用するマスターシークレットと秘密情報を管理する秘密情報管理サーバに通信ネットワークを介して接続している暗号装置であって、
該秘密情報管理サーバの公開パラメータを保存する公開パラメータ保存部と、
第一の共通鍵rcomを生成する共通鍵生成部と、
乱数を生成し、該乱数と該公開パラメータと該秘密情報管理サーバのID情報に基づき第二の共通鍵k及び補助鍵cを生成し、該秘密情報の種別を特定する秘密情報要求種別と該第一の共通鍵rcomを含むリクエスト情報を該第二の共通鍵kによって暗号化するIDベース暗号化部と、
該秘密情報管理サーバに暗号化された該リクエスト情報及び該補助鍵cを送信し、該秘密情報管理サーバから該秘密情報を含む暗号化されたレスポンス情報を受信する通信制御部と、
暗号化された該レスポンス情報を該第一の共通鍵rcomを用いて復号する復号部と、
を有する暗号装置。
【請求項10】
請求項6または7に記載された方法をコンピュータに実行させるための秘密情報送信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6(A)】
image rotate

【図6(B)】
image rotate

【図6(C)】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate