特許第6228903号(P6228903)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許6228903情報共有システム及び方法、情報共有装置並びにプログラム
<>
  • 特許6228903-情報共有システム及び方法、情報共有装置並びにプログラム 図000002
  • 特許6228903-情報共有システム及び方法、情報共有装置並びにプログラム 図000003
  • 特許6228903-情報共有システム及び方法、情報共有装置並びにプログラム 図000004
  • 特許6228903-情報共有システム及び方法、情報共有装置並びにプログラム 図000005
  • 特許6228903-情報共有システム及び方法、情報共有装置並びにプログラム 図000006
  • 特許6228903-情報共有システム及び方法、情報共有装置並びにプログラム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6228903
(24)【登録日】2017年10月20日
(45)【発行日】2017年11月8日
(54)【発明の名称】情報共有システム及び方法、情報共有装置並びにプログラム
(51)【国際特許分類】
   H04L 9/08 20060101AFI20171030BHJP
   H04L 9/32 20060101ALI20171030BHJP
【FI】
   H04L9/00 601C
   H04L9/00 601D
   H04L9/00 675B
【請求項の数】8
【全頁数】22
(21)【出願番号】特願2014-207211(P2014-207211)
(22)【出願日】2014年10月8日
(65)【公開番号】特開2016-76877(P2016-76877A)
(43)【公開日】2016年5月12日
【審査請求日】2017年1月5日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】米山 一樹
(72)【発明者】
【氏名】鈴木 幸太郎
【審査官】 行田 悦資
(56)【参考文献】
【文献】 特開2013−110628(JP,A)
【文献】 特開2008−103975(JP,A)
【文献】 BELLARE, M. et al.,Security Proofs for Identity-Based Identification and Signature Schemes,EUROCRYPT 2004,IACR,2004年 5月 2日,p.268-286,[online],[平成29年9月29日検索],インターネット<URL:https://www.iacr.org/archive/eurocrypt2004/eurocrypt2004.html>
【文献】 FIORE, D. and GENNARO, R.,Making the Diffie-Hellman Protocol Identity-Based,ePrint Archive,2009年 4月20日,p.1-25,[online],[平成29年9月29日検索],インターネット<URL:https://eprint.iacr.org/2009/174>
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有システムにおいて、
所定のPKI 認証鍵交換方式におけるアドホック秘密鍵生成アルゴリズムをEpheGenとし、上記PKI 認証鍵交換方式における初期メッセージ生成アルゴリズムをMessagepostとし、上記PKI 認証鍵交換方式におけるメッセージ生成アルゴリズムをMessageとし、上記PKI 認証鍵交換方式におけるセッション鍵生成アルゴリズムをSesKeyとし、上記PKI 認証鍵交換方式における公開パラメータをPPPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期秘密鍵をSSKAPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期公開鍵をSPKAPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期秘密鍵をSSKBPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期公開鍵をSPKBPKIとし、
所定の電子署名方式における署名検証アルゴリズムをVerとし、上記電子署名方式における署名生成アルゴリズムをSignとし、
上記第一情報共有装置を表すビット列をUAとし、上記第一情報共有装置に関連する情報を表すビット列をIDAとし、上記第一情報共有装置の署名をcertA=Sign(sk,(IDA,SPKAPKI))とし、上記第二情報共有装置を表すビット列をUBとし、上記第二情報共有装置に関連する情報を表すビット列をIDBとし、上記第二情報共有装置の署名をcertB=Sign(sk,(IDB,SPKBPKI))とし、
上記第一情報共有装置は、アドホック秘密鍵ESKAPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成部と、初期メッセージMes1PKI=Messagepost(PPPKI,UA,SSKAPKI,ESKAPKI)を生成しSPKAPKI,certAと共に上記第二情報共有装置に送信する初期メッセージ生成部と、Ver(vk,(IDB,SPKBPKI),certB)に基づいて(IDB,SPKBPKI),certBの検証を行う検証部と、nが3以上の場合には、iを3以上n以下の各奇数として、メッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第二情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含み、
上記第二情報共有装置は、アドホック秘密鍵ESKBPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成部と、Ver(vk,(IDA,SPKAPKI),certA)に基づいて(IDA,SPKAPKI),certAの検証を行う検証部と、初期メッセージMes2PKI=Message(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKBPKI,Mes1PKI)を生成しSPKBPKI,certBと共に上記第一情報共有装置に送信する初期メッセージ生成部と、nが4以上の場合には、iを4以上n以下の各偶数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含む、
情報共有システム。
【請求項2】
請求項1の情報共有システムにおいて、
上記第二情報共有装置の初期メッセージ生成部は、初期メッセージMes2PKI=Messagepost(PPPKI,UB,SSKBPKI,ESKBPKI)を生成し上記第一情報共有装置に送信する、
情報共有システム。
【請求項3】
第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有システムにおいて、
所定のPKI 認証鍵交換方式におけるアドホック秘密鍵生成アルゴリズムをEpheGenとし、上記PKI 認証鍵交換方式における初期メッセージ生成アルゴリズムをMessagepostとし、上記PKI 認証鍵交換方式におけるメッセージ生成アルゴリズムをMessageとし、上記PKI 認証鍵交換方式におけるセッション鍵生成アルゴリズムをSesKeyとし、上記PKI 認証鍵交換方式における公開パラメータをPPPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期秘密鍵をSSKAPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期公開鍵をSPKAPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期秘密鍵をSSKBPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期公開鍵をSPKBPKIとし、
所定の電子署名方式における署名検証アルゴリズムをVerとし、上記電子署名方式における署名生成アルゴリズムをSignとし、
上記第一情報共有装置を表すビット列をUAとし、上記第一情報共有装置に関連する情報を表すビット列をIDAとし、上記第一情報共有装置の署名をcertA=Sign(sk,(IDA,SPKAPKI))とし、上記第二情報共有装置を表すビット列をUBとし、上記第二情報共有装置に関連する情報を表すビット列をIDBとし、上記第二情報共有装置の署名をcertB=Sign(sk,(IDB,SPKBPKI))とし、
上記第一情報共有装置は、アドホック秘密鍵ESKAPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成部と、(SPKAPKI,certA)を上記第二情報共有装置に送信する送信部と、Ver(vk,(IDB,SPKBPKI),certB)に基づいて(IDB,SPKBPKI),certBの検証を行う検証部と、初期メッセージMes2PKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI)を生成し上記第二情報共有装置に送信する初期メッセージ生成部と、nが4以上の場合には、iを4以上n以下の各偶数として、メッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第二情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含み、
上記第二情報共有装置は、アドホック秘密鍵ESKBPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成部と、Ver(vk,(IDA,SPKAPKI),certA)に基づいて(IDA,SPKAPKI),certAの検証を行う検証部と、初期メッセージMes1PKI=Messagepre(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI)を生成しSPKBPKI,certBと共に上記第一情報共有装置に送信する初期メッセージ生成部と、nが3以上の場合には、iを3以上n以下の各奇数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含む、
情報共有システム。
【請求項4】
請求項3の情報共有システムにおいて、
上記第一情報共有装置の初期メッセージ生成部は、初期メッセージMes2PKI=Messagepre(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI)を生成し上記第二情報共有装置に送信する、
情報共有システム。
【請求項5】
第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有方法において、
所定のPKI 認証鍵交換方式におけるアドホック秘密鍵生成アルゴリズムをEpheGenとし、上記PKI 認証鍵交換方式における初期メッセージ生成アルゴリズムをMessagepostとし、上記PKI 認証鍵交換方式におけるメッセージ生成アルゴリズムをMessageとし、上記PKI 認証鍵交換方式におけるセッション鍵生成アルゴリズムをSesKeyとし、上記PKI 認証鍵交換方式における公開パラメータをPPPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期秘密鍵をSSKAPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期公開鍵をSPKAPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期秘密鍵をSSKBPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期公開鍵をSPKBPKIとし、
所定の電子署名方式における署名検証アルゴリズムをVerとし、上記電子署名方式における署名生成アルゴリズムをSignとし、
上記第一情報共有装置を表すビット列をUAとし、上記第一情報共有装置に関連する情報を表すビット列をIDAとし、上記第一情報共有装置の署名をcertA=Sign(sk,(IDA,SPKAPKI))とし、上記第二情報共有装置を表すビット列をUBとし、上記第二情報共有装置に関連する情報を表すビット列をIDBとし、上記第二情報共有装置の署名をcertB=Sign(sk,(IDB,SPKBPKI))とし、
上記第一情報共有装置のアドホック秘密鍵生成部が、アドホック秘密鍵ESKAPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成ステップと、
上記第一情報共有装置の初期メッセージ生成部が、初期メッセージMes1PKI=Messagepost(PPPKI,UA,SSKAPKI,ESKAPKI)を生成しSPKAPKI,certAと共に上記第二情報共有装置に送信する初期メッセージ生成ステップと、
上記第二情報共有装置の検証部が、Ver(vk,(IDA,SPKAPKI),certA)に基づいて(IDA,SPKAPKI),certAの検証を行う検証ステップと、
上記第二情報共有装置の初期メッセージ生成部が、初期メッセージMes2PKI=Message(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKBPKI,Mes1PKI)を生成しSPKBPKI,certBと共に上記第一情報共有装置に送信する初期メッセージ生成ステップと、
上記第一情報共有装置の検証部が、Ver(vk,(IDB,SPKBPKI),certB)に基づいて(IDB,SPKBPKI),certBの検証を行う検証ステップと、
上記第一情報共有装置のメッセージ生成部が、nが3以上の場合には、iを3以上n以下の各奇数として、メッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第二情報共有装置に送信するメッセージ生成ステップと、
上記第一情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、
上記第二情報共有装置のアドホック秘密鍵生成部が、アドホック秘密鍵ESKBPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成ステップと、
上記第二情報共有装置のメッセージ生成部が、nが4以上の場合には、iを4以上n以下の各偶数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成ステップと、
上記第二情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、
を含む情報共有方法。
【請求項6】
第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有方法において、
所定のPKI 認証鍵交換方式におけるアドホック秘密鍵生成アルゴリズムをEpheGenとし、上記PKI 認証鍵交換方式における初期メッセージ生成アルゴリズムをMessagepostとし、上記PKI 認証鍵交換方式におけるメッセージ生成アルゴリズムをMessageとし、上記PKI 認証鍵交換方式におけるセッション鍵生成アルゴリズムをSesKeyとし、上記PKI 認証鍵交換方式における公開パラメータをPPPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期秘密鍵をSSKAPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期公開鍵をSPKAPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期秘密鍵をSSKBPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期公開鍵をSPKBPKIとし、
所定の電子署名方式における署名検証アルゴリズムをVerとし、上記電子署名方式における署名生成アルゴリズムをSignとし、
上記第一情報共有装置を表すビット列をUAとし、上記第一情報共有装置に関連する情報を表すビット列をIDAとし、上記第一情報共有装置の署名をcertA=Sign(sk,(IDA,SPKAPKI))とし、上記第二情報共有装置を表すビット列をUBとし、上記第二情報共有装置に関連する情報を表すビット列をIDBとし、上記第二情報共有装置の署名をcertB=Sign(sk,(IDB,SPKBPKI))とし、
上記第一情報共有装置のアドホック秘密鍵生成部が、アドホック秘密鍵ESKAPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成ステップと、
上記第一情報共有装置の送信部が、(SPKAPKI,certA)を上記第二情報共有装置に送信する送信ステップと、
上記第二情報共有装置のアドホック秘密鍵生成部が、アドホック秘密鍵ESKBPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成ステップと、
上記第二情報共有装置の検証部が、Ver(vk,(IDA,SPKAPKI),certA)に基づいて(IDA,SPKAPKI),certAの検証を行う検証ステップと、
上記第二情報共有装置の初期メッセージ生成部が、初期メッセージMes1PKI=Messagepre(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI)を生成しSPKBPKI,certBと共に上記第一情報共有装置に送信する初期メッセージ生成ステップと、
上記第一情報共有装置の検証部が、Ver(vk,(IDB,SPKBPKI),certB)に基づいて(IDB,SPKBPKI),certBの検証を行う検証ステップと、
上記第一情報共有装置の初期メッセージ生成部が、初期メッセージMes2PKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI)を生成し上記第二情報共有装置に送信する初期メッセージ生成ステップと、
上記第二情報共有装置のメッセージ生成部が、nが3以上の場合には、iを3以上n以下の各奇数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成ステップと、
上記第一情報共有装置のメッセージ生成部が、nが4以上の場合には、iを4以上n以下の各偶数として、メッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第二情報共有装置に送信するメッセージ生成ステップと、
上記第一情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、
上記第二情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、
を含む情報共有方法。
【請求項7】
請求項1又は3の情報共有システムの上記第一情報共有装置又は上記第二情報共有装置である情報共有装置。
【請求項8】
請求項7の情報共有装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報セキュリティ技術の応用技術に関するものであり、特に二者間でセッション鍵等の情報を共有する技術に関する。
【背景技術】
【0002】
以下に示す、ID 認証鍵交換方式のFG方式が知られている(例えば、非特許文献1参照。)。図6にFG 方式のプロトコル図を示す。
【0003】
[公開パラメータ] ΠをプロトコルIDとし、プロトコル仕様に対応した固有のIDとする。セキュリティパラメータをκとする。pをκビット素数とし、Gをgを生成元とする位数pの乗法巡回群とする。H1:{0,1}→ ZpとH2:{0,1}→{0,1}をハッシュ関数とする。
【0004】
[鍵生成] 鍵生成アルゴリズムは一様ランダムにマスタ秘密鍵MSKID:=x∈Zpを選ぶ。また、鍵生成アルゴリズムはy=gxを計算し、マスタ公開鍵MPKID:=(G,g,p,y=gx,H1,H2)を公開する。
【0005】
[鍵抽出] IDPを入力として、鍵抽出アルゴリズムはkPRZpを選び、長期秘密鍵SSKPID:=(rP= gkP,sP=kP+xH1(IDP,rP))を生成する。
【0006】
[鍵交換] 以下では、ユーザUAを鍵交換セッションのイニシエータとし、ユーザUBをレスポンダとする。ユーザUAはIDAに対応する長期秘密鍵(rA=gkA,sA=kA+xH1(IDA,rA))を持ち、ユーザUBはIDBに対応する長期秘密鍵(rB=gkB,sB=kB+xH1(IDB,rB))を持つ。
【0007】
1. ユーザUAは一様ランダムにアドホック秘密鍵ESKAID=tARZpを選ぶ。このとき、ユーザUAはuA:=gtAを計算し、メッセージMes1ID=(IDA,rA,uA)をユーザUBに送る。
2. ユーザUBは一様ランダムにアドホック秘密鍵ESKBID=tBRZpを選ぶ。このとき、ユーザUBはuB:= gtBを計算し、メッセージMes2ID=(IDA,rB,uB)をユーザUAに送る。
【0008】
3. ユーザUAは共有秘密情報を次のように計算する。
【0009】
z1=(uBrBy^(H1(IDB,rB)))tA+sA, z2=uBtA
と計算し、セッション鍵KID=H2(z1,z2)を得る。ユーザUAはセッション鍵KIDを出力し、セッションを終了する。
【0010】
ユーザUB は共有秘密情報を次のように計算する。
【0011】
z1=(uArAy^(H1(IDA,rA)))tB+sB; z2=uAtB
と計算し、セッション鍵KID=H2(z1,z2)を得る。ユーザUBはセッション鍵KIDを出力し、セッションを終了する。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】Dario Fiore, Rosario Gennaro, “Identity-Based Key Exchange Protocols without Pairings”, Transactions on Computational Science 10, P.42-77, 2010
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、背景技術に記載された技術では安全性を保証するために、ハッシュ関数が理想的に安全(ランダムオラクル)でなければならないという問題がある。ランダムオラクルは現実のハッシュ関数を用いては実現できないことが知られている。よって、ランダムオラクルを仮定せずに安全性証明が付く方式が望ましい。
【0014】
本発明はこのような点に鑑みてなされたものであり、ランダムオラクルに必ずしも依存しない情報共有システム及び方法、情報共有装置並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明の一態様による情報共有システムは、第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有システムにおいて、所定のPKI 認証鍵交換方式におけるアドホック秘密鍵生成アルゴリズムをEpheGenとし、上記PKI 認証鍵交換方式における初期メッセージ生成アルゴリズムをMessagepostとし、上記PKI 認証鍵交換方式におけるメッセージ生成アルゴリズムをMessageとし、上記PKI 認証鍵交換方式におけるセッション鍵生成アルゴリズムをSesKeyとし、上記PKI 認証鍵交換方式における公開パラメータをPPPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期秘密鍵をSSKAPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期公開鍵をSPKAPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期秘密鍵をSSKBPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期公開鍵をSPKBPKIとし、所定の電子署名方式における署名検証アルゴリズムをVerとし、上記電子署名方式における署名生成アルゴリズムをSignとし、上記第一情報共有装置を表すビット列をUAとし、上記第一情報共有装置に関連する情報を表すビット列をIDAとし、上記第一情報共有装置の署名をcertA=Sign(sk,(IDA,SPKAPKI))とし、上記第二情報共有装置を表すビット列をUBとし、上記第二情報共有装置に関連する情報を表すビット列をIDBとし、上記第二情報共有装置の署名をcertB=Sign(sk,(IDB,SPKBPKI))とし、上記第一情報共有装置は、アドホック秘密鍵ESKAPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成部と、初期メッセージMes1PKI=Messagepost(PPPKI,UA,SSKAPKI,ESKAPKI)を生成しSPKAPKI,certAと共に上記第二情報共有装置に送信する初期メッセージ生成部と、Ver(vk,(IDB,SPKBPKI),certB)に基づいて(IDB,SPKBPKI),certBの検証を行う検証部と、nが3以上の場合には、iを3以上n以下の各奇数として、メッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第二情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含み、上記第二情報共有装置は、アドホック秘密鍵ESKBPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成部と、Ver(vk,(IDA,SPKAPKI),certA)に基づいて(IDA,SPKAPKI),certAの検証を行う検証部と、初期メッセージMes2PKI=Message(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKBPKI,Mes1PKI)を生成しSPKBPKI,certBと共に上記第一情報共有装置に送信する初期メッセージ生成部と、nが4以上の場合には、iを4以上n以下の各偶数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含む。
【0016】
本発明の一態様による情報共有システムは、第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有システムにおいて、所定のPKI 認証鍵交換方式におけるアドホック秘密鍵生成アルゴリズムをEpheGenとし、上記PKI 認証鍵交換方式における初期メッセージ生成アルゴリズムをMessagepostとし、上記PKI 認証鍵交換方式におけるメッセージ生成アルゴリズムをMessageとし、上記PKI 認証鍵交換方式におけるセッション鍵生成アルゴリズムをSesKeyとし、上記PKI 認証鍵交換方式における公開パラメータをPPPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期秘密鍵をSSKAPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期公開鍵をSPKAPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期秘密鍵をSSKBPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期公開鍵をSPKBPKIとし、所定の電子署名方式における署名検証アルゴリズムをVerとし、上記電子署名方式における署名生成アルゴリズムをSignとし、上記第一情報共有装置を表すビット列をUAとし、上記第一情報共有装置に関連する情報を表すビット列をIDAとし、上記第一情報共有装置の署名をcertA=Sign(sk,(IDA,SPKAPKI))とし、上記第二情報共有装置を表すビット列をUBとし、上記第二情報共有装置に関連する情報を表すビット列をIDBとし、上記第二情報共有装置の署名をcertB=Sign(sk,(IDB,SPKBPKI))とし、上記第一情報共有装置は、アドホック秘密鍵ESKAPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成部と、(SPKAPKI,certA)を上記第二情報共有装置に送信する送信部と、Ver(vk,(IDB,SPKBPKI),certB)に基づいて(IDB,SPKBPKI),certBの検証を行う検証部と、初期メッセージMes2PKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI)を生成し上記第二情報共有装置に送信する初期メッセージ生成部と、nが4以上の場合には、iを4以上n以下の各偶数として、メッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第二情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含み、上記第二情報共有装置は、アドホック秘密鍵ESKBPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成部と、Ver(vk,(IDA,SPKAPKI),certA)に基づいて(IDA,SPKAPKI),certAの検証を行う検証部と、初期メッセージMes1PKI=Messagepre(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI)を生成しSPKBPKI,certBと共に上記第一情報共有装置に送信する初期メッセージ生成部と、nが3以上の場合には、iを3以上n以下の各奇数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含む。
【0017】
本発明の一態様による情報共有方法は、第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有方法において、所定のPKI 認証鍵交換方式におけるアドホック秘密鍵生成アルゴリズムをEpheGenとし、上記PKI 認証鍵交換方式における初期メッセージ生成アルゴリズムをMessagepostとし、上記PKI 認証鍵交換方式におけるメッセージ生成アルゴリズムをMessageとし、上記PKI 認証鍵交換方式におけるセッション鍵生成アルゴリズムをSesKeyとし、上記PKI 認証鍵交換方式における公開パラメータをPPPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期秘密鍵をSSKAPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期公開鍵をSPKAPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期秘密鍵をSSKBPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期公開鍵をSPKBPKIとし、所定の電子署名方式における署名検証アルゴリズムをVerとし、上記電子署名方式における署名生成アルゴリズムをSignとし、上記第一情報共有装置を表すビット列をUAとし、上記第一情報共有装置に関連する情報を表すビット列をIDAとし、上記第一情報共有装置の署名をcertA=Sign(sk,(IDA,SPKAPKI))とし、上記第二情報共有装置を表すビット列をUBとし、上記第二情報共有装置に関連する情報を表すビット列をIDBとし、上記第二情報共有装置の署名をcertB=Sign(sk,(IDB,SPKBPKI))とし、上記第一情報共有装置のアドホック秘密鍵生成部が、アドホック秘密鍵ESKAPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成ステップと、上記第一情報共有装置の初期メッセージ生成部が、初期メッセージMes1PKI=Messagepost(PPPKI,UA,SSKAPKI,ESKAPKI)を生成しSPKAPKI,certAと共に上記第二情報共有装置に送信する初期メッセージ生成ステップと、上記第二情報共有装置の検証部が、Ver(vk,(IDA,SPKAPKI),certA)に基づいて(IDA,SPKAPKI),certAの検証を行う検証ステップと、
上記第二情報共有装置の初期メッセージ生成部が、初期メッセージMes2PKI=Message(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKBPKI,Mes1PKI)を生成しSPKBPKI,certBと共に上記第一情報共有装置に送信する初期メッセージ生成ステップと、上記第一情報共有装置の検証部が、Ver(vk,(IDB,SPKBPKI),certB)に基づいて(IDB,SPKBPKI),certBの検証を行う検証ステップと、上記第一情報共有装置のメッセージ生成部が、nが3以上の場合には、iを3以上n以下の各奇数として、メッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第二情報共有装置に送信するメッセージ生成ステップと、上記第一情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、上記第二情報共有装置のアドホック秘密鍵生成部が、アドホック秘密鍵ESKBPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成ステップと、上記第二情報共有装置のメッセージ生成部が、nが4以上の場合には、iを4以上n以下の各偶数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成ステップと、上記第二情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、を含む。
【0018】
本発明の一態様による情報共有方法は、第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有方法において、所定のPKI 認証鍵交換方式におけるアドホック秘密鍵生成アルゴリズムをEpheGenとし、上記PKI 認証鍵交換方式における初期メッセージ生成アルゴリズムをMessagepostとし、上記PKI 認証鍵交換方式におけるメッセージ生成アルゴリズムをMessageとし、上記PKI 認証鍵交換方式におけるセッション鍵生成アルゴリズムをSesKeyとし、上記PKI 認証鍵交換方式における公開パラメータをPPPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期秘密鍵をSSKAPKIとし、上記PKI 認証鍵交換方式における上記第一情報共有装置の長期公開鍵をSPKAPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期秘密鍵をSSKBPKIとし、上記PKI 認証鍵交換方式における上記第二情報共有装置の長期公開鍵をSPKBPKIとし、所定の電子署名方式における署名検証アルゴリズムをVerとし、上記電子署名方式における署名生成アルゴリズムをSignとし、上記第一情報共有装置を表すビット列をUAとし、上記第一情報共有装置に関連する情報を表すビット列をIDAとし、上記第一情報共有装置の署名をcertA=Sign(sk,(IDA,SPKAPKI))とし、上記第二情報共有装置を表すビット列をUBとし、上記第二情報共有装置に関連する情報を表すビット列をIDBとし、上記第二情報共有装置の署名をcertB=Sign(sk,(IDB,SPKBPKI))とし、上記第一情報共有装置のアドホック秘密鍵生成部が、アドホック秘密鍵ESKAPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成ステップと、上記第一情報共有装置の送信部が、(SPKAPKI,certA)を上記第二情報共有装置に送信する送信ステップと、上記第二情報共有装置のアドホック秘密鍵生成部が、アドホック秘密鍵ESKBPKI=EpheGen(PPPKI)を生成するアドホック秘密鍵生成ステップと、上記第二情報共有装置の検証部が、Ver(vk,(IDA,SPKAPKI),certA)に基づいて(IDA,SPKAPKI),certAの検証を行う検証ステップと、上記第二情報共有装置の初期メッセージ生成部が、初期メッセージMes1PKI=Messagepre(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI)を生成しSPKBPKI,certBと共に上記第一情報共有装置に送信する初期メッセージ生成ステップと、上記第一情報共有装置の検証部が、Ver(vk,(IDB,SPKBPKI),certB)に基づいて(IDB,SPKBPKI),certBの検証を行う検証ステップと、上記第一情報共有装置の初期メッセージ生成部が、初期メッセージMes2PKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI)を生成し上記第二情報共有装置に送信する初期メッセージ生成ステップと、上記第二情報共有装置のメッセージ生成部が、nが3以上の場合には、iを3以上n以下の各奇数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成ステップと、上記第一情報共有装置のメッセージ生成部が、nが4以上の場合には、iを4以上n以下の各偶数として、メッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第二情報共有装置に送信するメッセージ生成ステップと、上記第一情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、上記第二情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、を含む。
【0019】
本発明の一態様による情報共有装置は、上記情報共有システムの上記第一情報共有装置及び上記第二情報共有装置である。
【発明の効果】
【0020】
ランダムオラクルに必ずしも依存しない情報共有を実現することができる。
【図面の簡単な説明】
【0021】
図1】情報共有システムの例の機能ブロック図。
図2】第一実施形態の第一情報共有装置及び第二情報共有装置の例の機能ブロック図。
図3】第一実施形態の処理の概要を例示する図。
図4】第二実施形態の第一情報共有装置及び第二情報共有装置の例の機能ブロック図。
図5】第二実施形態の処理の概要を例示する図。
図6】背景技術の処理の概要を例示する図。
【発明を実施するための形態】
【0022】
以下、本発明の各実施形態について説明する。
【0023】
[第一実施形態]
第一実施形態の情報共有システムでは、イニシエータが交換相手を事前に知らなくても最初のメッセージを計算することができる(事後指定可能)PKI 認証鍵交換方式を電子署名方式と組み合わせて情報共有(例えば、ID 認証鍵交換方式による認証鍵の共有)を行うものである。まず、部品であるPKI 認証鍵交換方式と電子署名方式について説明する。これらのPKI 認証鍵交換方式と電子署名方式は、例えばランダムオラクルに依存しないものとする。
【0024】
事後指定可能PKI 認証鍵交換は、以下のアルゴリズムからなる。
【0025】
・PPPKI←Setup(1κ):セットアップアルゴリズム
公開パラメータを生成する。κは、セキュリティパラメータであり任意の正の整数である。1κは、κビットのビット列である。
【0026】
・(SPKPPKI,SSKPPKI)←StaticGen(PPPKI):鍵登録アルゴリズム
長期秘密鍵SSKPPKI及び対応する長期公開鍵SPKPPKIを生成し、長期公開鍵SPKPPKIをPKIに登録し公開する。パーティUPとは、情報を共有可能な2以上の情報共有装置の集合のことである。パーティUPに属する各情報共有装置が、StaticGenのアルゴリズムに基づいて長期秘密鍵及び長期公開鍵を生成する。
【0027】
・ESKPPKI←EpheGen(PPPKI):アドホック秘密鍵生成アルゴリズム
アドホック秘密鍵ESKPPKIを生成する。
【0028】
・Mes1PKI←Messagepost(PPPKI,UA,SSKAPKI,ESKAPKI):初期メッセージ生成アルゴリズム
イニシエータUAは、長期秘密鍵SSKAPKIとアドホック秘密鍵ESKAPKIを用いて、初期メッセージMes1PKIを生成する。第一実施形態の初期メッセージ生成アルゴリズムMessagepostでは、交換相手UBの長期公開鍵SPKBPKIを必要としない。
【0029】
・MesiPKI←Message(PPPKI,UP,UP-,SSKPPKI,ESKPPKI,SPKP-PKI,Mes1PKI,…,Mesi-1PKI):第iメッセージ生成
SSKPPKI,ESKPPKI,SPKPPKI,Mes1PKI,…,Mesi-1PKIを用いて、第iメッセージMesiPKIを生成する。UP-は、交換相手のことである。例えば、UAとUBとの間で情報共有を行うときであって、UP=UAの場合にはUP-=UBであって、UP=UBの場合にはUP-=UAである。UPは、イニシエータUPを表すビット列である。例えば、UAはイニシエータである第一情報共有装置UAを表すビット列であり、UBはレスポンダである第二情報共有装置UBを表すビット列である。
【0030】
ただし、レスポンダUBが第一メッセージMes1PKIを受け取る前に第二メッセージを生成可能な場合(同時実行可能)は、第二メッセージMes2PKIはSSKBPKI,ESKBPKIだけを用いて生成することができる。すなわち、Mes2PKI←Messagepost(PPPKI,UB,SSKBPKI,ESKBPKI)とすることができる。これについては、第一実施形態の変形例で述べる。
【0031】
・KPKI←SesKey(PPPKI,UP,UP-,SSKPPKI,ESKPPKI,SPKPPKI,Mes1PKI,…,MesnPKI):セッション鍵生成アルゴリズム
SSKPPKI,ESKPPKI,SPKPPKI,Mes1PKI,…,MesiPKIを用いて、セッション鍵KPKIを生成する。
【0032】
電子署名方式は、以下のアルゴリズムからなる。
【0033】
・(vk,sk)←SigGen(1κ):鍵生成アルゴリズム
検証鍵vkと署名鍵skを生成する。
【0034】
・σ←Sign(sk,m):署名生成
平文mと署名鍵skを用いて、署名σを生成する。
【0035】
・1 or 0←Ver(vk,m,σ):署名検証
検証鍵vkを用いて、平文mと署名σを検証し、合格なら1、不合格なら0を出力する。
【0036】
図3に、これらのPKI 認証鍵交換方式と電子署名方式を用いた情報共有アルゴリズムの概要を例示する。
【0037】
以下、この情報共有アルゴリズムを実行する情報共有システムについて説明する。情報共有システムは、図1に例示するように、管理者装置1と、2以上の情報共有装置2とを例えば備えている。
【0038】
管理者装置1は、PPPKI←Setup(1κ)の処理を行う(ステップS1)。すなわち、管理者装置1は、セキュリティパラメータκを用いて、PKI 認証鍵交換方式のセットアップアルゴリズムに基づいて公開パラメータPPPKIを生成する。
【0039】
管理者装置1は、(vk,sk)←SigGen(1κ)の処理を行う(ステップS2)。すなわち、管理者装置1は、セキュリティパラメータκを用いて、電子署名方式の鍵生成アルゴリズムSigGenに基づいて検証鍵vk及び署名鍵skを生成する。生成された署名鍵skは、マスタ秘密鍵MSKIDとして管理者装置1内に秘密に保持される。生成された検証鍵vk及び公開パラメータPPPKIは、マスタ公開鍵MPKIDとして公開される。
【0040】
各情報共有装置2は、(SPKPPKI,SSKPPKI)←StaticGen(PPPKI)の処理を行う(ステップS3)。すなわち、各情報共有装置2は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式の鍵登録アルゴリズムStaticGenに基づいて長期秘密鍵SSKPPKI及び長期公開鍵SPKPPKIを生成する。生成された長期秘密鍵SSKPPKIは、各情報共有装置2内に秘密に保持される。生成された長期公開鍵SPKPPKIは公開される。
【0041】
各情報共有装置2は、certP←Sign(sk,(IDP,SPKPPKI))の処理を行う(ステップS31)。すなわち、各情報共有装置2は、sk,(IDP,SPKPPKI)を用いて、電子署名方式の署名生成アルゴリズムSignに基づいて署名certPの生成を行う。IDPは、各情報共有装置2に関連する情報を表すビット列である。各情報共有装置2に関連する情報とは、例えば、各情報共有装置2のメールアドレスである。
【0042】
ステップS3及びステップS31の処理は、各情報共有装置2ごとに行われる。情報共有装置2の中の情報共有を実際に行う一組の情報共有装置を第一情報共有装置UA及び第二情報共有装置UBとする。この場合、第一情報共有装置UAにより、長期秘密鍵SSKAPKI、長期公開鍵SPKAPKI及び署名certAが生成され、長期秘密鍵SSKAID=(SSKAPKI,SPKAPKI,certA)が第二情報共有装置UB内に秘密に保持される。また、第二情報共有装置UBにより、長期秘密鍵SSKBPKI、長期公開鍵SPKBPKI及び署名certBが生成され、長期秘密鍵SSKBID=(SSKBPKI,SPKBPKI,certB)が第二情報共有装置UB内に秘密に保持される。
【0043】
以上のステップS1からステップS31の処理は、以下に述べる情報共有の処理の前準備として事前に行われる。
【0044】
以下、2以上の情報共有装置2の中の第一情報共有装置UAと第二情報共有装置UBとの間で情報共有が行われる場合を例に挙げて説明する。第一情報共有装置UAと第二情報共有装置UBとは、情報共有装置2の中の任意の一組の情報共有装置である。第一情報共有装置UAがイニシエータとし、第二情報共有装置UBがレスポンダとして説明する。
【0045】
第一情報共有装置UAは、図2に例示するように、アドホック鍵生成部UA1、初期メッセージ生成部UA2、検証部UA3、メッセージ生成部UA4及び情報生成部UA5を備えている。第二情報共有装置UBは、図2に例示するように、アドホック鍵生成部UB1、初期メッセージ生成部UB2、検証部UB3、メッセージ生成部UB4及び情報生成部UB5を備えている。
【0046】
第一情報共有装置UAのアドホック鍵生成部UA1は、ESKAPKI←EpheGen(PPPKI)の処理を行う(ステップS4)。すなわち、第一情報共有装置UAのアドホック鍵生成部UA1は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式のアドホック秘密鍵生成アルゴリズムに基づいてアドホック鍵ESKAPKIを生成する。生成されたアドホック鍵ESKAPKIは、第一情報共有装置UA内に秘密に保持される。
【0047】
第一情報共有装置UAの初期メッセージ生成部UA2は、Mes1PKI←Messagepost(PPPKI,UA,SSKAPKI,ESKAPKI)の処理を行う(ステップS5)。すなわち、第一情報共有装置UAの初期メッセージ生成部UA2は、PPPKI,UA,SSKAPKI,ESKAPKIを用いて、PKI 認証鍵交換方式の初期メッセージ生成アルゴリズムMessagepostに基づいて初期メッセージMes1PKIの生成を行う。生成された初期メッセージMes1PKIは、SPKAPKI,certAと共に第二情報共有装置UBに送信される。すなわち、Mes1ID=(Mes1PK,SPKAPKI,certA)が第二情報共有装置UBに送信される。
【0048】
第二情報共有装置UBのアドホック鍵生成部UB1は、ESKBPKI←EpheGen(PPPKI)の処理を行う(ステップS6)。すなわち、第二情報共有装置UBのアドホック鍵生成部UB1は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式のアドホック秘密鍵生成アルゴリズムEpheGenに基づいてアドホック鍵ESKBPKIを生成する。生成されたアドホック鍵ESKBPKIは、第二情報共有装置UB内に秘密に保持される。
【0049】
この例では、第二情報共有装置UBがMes1ID=(Mes1PKI,SPKAPKI,certA)を受け取る前にMes2PKIの生成が不可能であるとする。すなわち、第二情報共有装置UB によるMes2PKIの生成は、第一情報共有装置UAから Mes1ID=(Mes1PKI,SPKAPKI,certA)を受け取った後に可能であるとする。第二情報共有装置UBがMes1ID=(Mes1PKI,SPKAPKI,certA)を受け取る前にMes2PKIの生成が不可能かどうかは、ベースとなるPKI 認証鍵交換方式に依存する。
【0050】
この場合、Mes1ID=(Mes1PKI,SPKAPKI,certA)を受け取った後に、第二情報共有装置UBの検証部UB3は、1←?Ver (vk,(IDA,SPKAPKI),certA)の処理を行う(ステップS7)。すなわち、第二情報共有装置UBの検証部UB3は、vk,(IDA,SPKAPKI),certAを用いて、電子署名方式の検証アルゴリズムVerに基づいて(IDA,SPKAPKI),certAの検証を行う。
【0051】
ステップS7の検証に合格した場合には、第二情報共有装置UBの初期メッセージ生成部UB2は、Mes2PKI←Message(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKBPKI,Mes1PKI)の処理を行う(ステップS8)。すなわち、第二情報共有装置UBの初期メッセージ生成部UB2は、PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKBPKI,Mes1PKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessageに基づいて初期メッセージMes2PKI=Message(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKBPKI,Mes1PKI)を生成しSPKBPKI,certBと共に第一情報共有装置UAに送信する。すなわち、Mes2ID=(Mes2PKI,SPKBPKI,certB)が、第一情報共有装置UAに送信される。
【0052】
ステップS7の検証に合格しなかった場合には、その後の処理は行われない。
【0053】
Mes2ID=(Mes2PKI,SPKBPKI,certB)を受け取った後に、第一情報共有装置UAの検証部UA3は、1←?Ver (vk,(IDB,SPKBPKI),certB)の処理を行う(ステップS9)。すなわち、第一情報共有装置UAの検証部UA3は、vk,(IDB,SPKBPKI),certBを用いて、電子署名方式の検証アルゴリズムVerに基づいて(IDB,SPKBPKI),certBの検証を行う。
【0054】
ステップS9の検証に合格した場合には、第一情報共有装置UA及び第二情報共有装置UBは、以下に述べるようにメッセージMesiPKIをi=3からi=nまで互いに送信し合う。なお、第一情報共有装置UAのメッセージ生成部UA4は、nが3以上の場合のみ処理を行い、nが3未満の場合には処理を行わない。また、第二情報共有装置UBのメッセージ生成部UB4は、nが4以上の場合のみ処理を行い、nが4未満の場合には処理を行わない。
【0055】
すなわち、第一情報共有装置UAのメッセージ生成部UA4は、nが3以上の場合には、iを3以上n以下の各奇数として、MesiPKI←Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)の処理を行う(ステップS10)。言い換えれば、第一情報共有装置UAのメッセージ生成部UA4は、nが3以上の場合には、iを3以上n以下の各奇数として、PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessageに基づいてメッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成しMesiIDとして第二情報共有装置UBに送信する。
【0056】
また、第二情報共有装置UBのメッセージ生成部UB4は、nが4以上の場合には、iを4以上n以下の各偶数として、MesiPKI←Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)の処理を行う(ステップS11)。言い換えれば、第二情報共有装置UBのメッセージ生成部UB4は、nが4以上の場合には、iを4以上n以下の各偶数として、PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessageに基づいてメッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成しMesiIDとして第一情報共有装置UAに送信する。
【0057】
ステップS9の検証に合格しなかった場合には、その後の処理は行われない。
【0058】
その後、第一情報共有装置UAの情報生成部UA5は、KPKI←SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)の処理を行う(ステップS12)。すなわち、第一情報共有装置UAの情報生成部UA5は、PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKIを用いて、PKI 認証鍵交換方式のセッション鍵生成アルゴリズムに基づいて情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する。情報共有の対象がID認証鍵である場合には、ID認証鍵KID=KPKIとなる。
【0059】
また、第二情報共有装置UBの情報生成部UB5は、KPKI←SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)の処理を行う(ステップS13)。すなわち、第二情報共有装置UBの情報生成部UB5は、PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKIを用いて、PKI 認証鍵交換方式のセッション鍵生成アルゴリズムに基づいて情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する。情報共有の対象がID認証鍵である場合には、ID認証鍵KID=KPKIとなる。
【0060】
既存方式では、古典的なDH 鍵交換と一緒に、ID にSchnorr 署名を施したものを送ることで、署名の偽造不可能性によりID 認証を実現していた。本発明では、このような特定の方式をベースにするのではなく、任意のPKI 認証鍵交換方式と任意の電子署名方式を組み合わせて変換することで情報共有システム(例えば、ID 認証鍵交換システム)を構成した。ベースとなるPKI 認証鍵交換方式と電子署名方式が、ランダムオラクルに依存しない方式であれば、変換後の情報共有システムもランダムオラクルに依存しない方式となる。
【0061】
また、PKI 認証鍵交換方式と電子署名方式はDiffie-Hellman(DH)問題以外の様々な問題に基づく構成が知られているため、変換後の例えばID 認証鍵交換方式である情報共有システムもDH 問題以外の問題に基づいて安全性を保証できる。DH 問題とは、(g,ga,gb)が与えられた時に、gabを求める問題である。例えば、格子問題は量子計算機が実現しても効率的に解くアルゴリズムは知られておらず、格子問題に基づくPKI 認証鍵交換方式と電子署名方式から変換した情報共有システムは量子計算機に対しても安全となる。格子問題に基づくPKI 認証鍵交換方式は例えば次の文献に記載されている。
【0062】
〔参考文献1〕Atsushi Fujioka, Koutarou Suzuki, Keita Xagawa, Kazuki Yoneyama, “Strongly Secure Authenticated Key Exchange from Factoring, Codes and Lattices”, Public Key Cryptography, 2012, P.467-484
格子問題に基づく電子署名は例えば次の文献に記載されている。
〔参考文献2〕Vadim Lyubashevsky, “Lattice Signatures without Trapdoors”, EURO-CRYPT 2012, P.738-755
【0063】
〈第一実施形態の変形例〉
この例では、第二情報共有装置UBがMes1ID=(Mes1PK,SPKAPKI,certA)を受け取る前にMes2PKIの生成が可能であるとする。第二情報共有装置UBがMes1ID=(Mes1PK,SPKAPKI,certA)を受け取る前にMes2PKIの生成が可能かどうかは、ベースとなるPKI 認証鍵交換方式に依存する。
【0064】
この場合、第二情報共有装置UB は、ステップS7の処理に代えて、以下に説明するステップS7’の処理を行う。
【0065】
ステップS6の処理の後に、第二情報共有装置UBの初期メッセージ生成部UB2は、Mes2PKI←Messagepost(PPPKI,UB,SSKBPKI,ESKBPKI)の処理を行う(ステップS7’)。すなわち、第二情報共有装置UBの初期メッセージ生成部UB2は、PPPKI,UB,SSKBPKI,ESKBPKIを用いて、PKI 認証鍵交換方式の初期メッセージ生成アルゴリズムMessagepostに基づいて初期メッセージMes2PKIの生成を行う。生成された初期メッセージMes2PKIは、SPKBPKI,certBと共に第一情報共有装置UAに送信される。すなわち、Mes2ID=(Mes2PK,SPKBPKI,certB)が第一情報共有装置UAに送信される。
【0066】
その後、ステップS8の処理が行われる。
【0067】
第一実施形態の変形例によっても、上記説明した第一実施形態と同様の効果を得ることができる。
【0068】
[第二実施形態]
第二実施形態では、イニシエータが交換相手の情報を用いて最初のメッセージを計算
する必要がある(事後指定不可)PKI 認証鍵交換方式を電子署名方式と組み合わせて情報共有(例えば、ID 認証鍵交換方式による認証鍵の共有)を行うものである。まず、部品であるPKI 認証鍵交換方式と電子署名方式について説明する。これらのPKI 認証鍵交換方式と電子署名方式は、例えばランダムオラクルに依存しないものとする。
【0069】
事後指定不可PKI認証鍵交換は以下のアルゴリズムからなる。
【0070】
・PPPKI←Setup(1κ):セットアップアルゴリズム
公開パラメータを生成する。κは、セキュリティパラメータであり任意の正の整数である。1κは、κビットのビット列である。
【0071】
・(SPKPPKI,SSKPPKI)←StaticGen(PPPKI):鍵登録アルゴリズム
長期秘密鍵SSKPPKI及び対応する長期公開鍵SPKPPKIを生成し、長期公開鍵SPKPPKIをPKIに登録し公開する。パーティUPとは、情報を共有可能な2以上の情報共有装置の集合のことである。パーティUPに属する各情報共有装置が、StaticGenのアルゴリズムに基づいて長期秘密鍵及び長期公開鍵を生成する。
【0072】
・ESKPPKI←EpheGen(PPPKI):アドホック秘密鍵生成アルゴリズム
アドホック秘密鍵ESKPPKIを生成する。
【0073】
・Mes1PKI←Messagepre(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI):初期メッセージ生成アルゴリズム
ベースとなるPKI認証鍵交換では、イニシエータUAは、SSKAPKI,ESKAPKI,SPKBPKIを用いて、初期メッセージMes1PKIを生成する。第一実施形態の初期メッセージ生成アルゴリズムMessagepostと異なり、第二実施形態の初期メッセージ生成アルゴリズムMessagepreでは、交換相手UBの長期公開鍵SPKBPKIを必要とする。
【0074】
以下に述べる情報共有アルゴリズムでは、イニシエータである第一情報共有装置UAではなく、レスポンダである第二情報共有装置UBが、初期メッセージ生成アルゴリズムMessagepreを用いて、初期メッセージMes1PKI= Messagepre(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI)の生成を行う。
【0075】
・MesiPKI←Message(PPPKI,UP,UP-,SSKPPKI,ESKPPKI,SPKP-PKI,Mes1PKI,…,Mesi-1PKI):第iメッセージ生成
SSKPPKI,ESKPPKI,SPKP-PKI,Mes1PKI,…,Mesi-1PKIを用いて、第iメッセージMesiPKIを生成する。UP-は、交換相手のことである。例えば、UAとUBとの間で情報共有を行うときであって、UP=UAの場合にはUP-=UBであって、UP=UBの場合にはUP-=UAである。UPは、イニシエータUPを表すビット列である。例えば、UAはイニシエータである第一情報共有装置UAを表すビット列であり、UBはレスポンダである第二情報共有装置UBを表すビット列である。
【0076】
・KPKI←SesKey(PPPKI,UP,UP-,SSKPPKI,ESKPPKI,SPKP-PKI,Mes1PKI,…,MesnPKI):セッション鍵生成アルゴリズム
SSKPPKI,ESKPPKI,SPKPPKI,Mes1PKI,…,MesiPKIを用いて、セッション鍵KPKIを生成する。
【0077】
電子署名方式は、以下のアルゴリズムからなる。
【0078】
・(vk,sk)←SigGen(1κ):鍵生成アルゴリズム
検証鍵vkと署名鍵skを生成する。
【0079】
・σ←Sign(sk,m):署名生成
平文mと署名鍵skを用いて、署名σを生成する。
【0080】
・1 or 0←Ver(vk,m,σ):署名検証
検証鍵vkを用いて、平文mと署名σを検証し、合格なら1、不合格なら0を出力する。
【0081】
図5に、これらのPKI 認証鍵交換方式と電子署名方式を用いた情報共有アルゴリズムの概要を例示する。
【0082】
以下、この情報共有アルゴリズムを実行する情報共有システムについて説明する。情報共有システムは、図1に例示するように、管理者装置1と、2以上の情報共有装置2とを例えば備えている。
【0083】
管理者装置1は、PPPKI←Setup(1κ)の処理を行う(ステップS1)。すなわち、管理者装置1は、セキュリティパラメータκを用いて、PKI 認証鍵交換方式のセットアップアルゴリズムに基づいて公開パラメータPPPKIを生成する。
【0084】
管理者装置1は、(vk,sk)←SigGen(1κ)の処理を行う(ステップS2)。すなわち、管理者装置1は、セキュリティパラメータκを用いて、電子署名方式の鍵生成アルゴリズムSigGenに基づいて検証鍵vk及び署名鍵skを生成する。生成された署名鍵skは、マスタ秘密鍵MSKIDとして管理者装置1内に秘密に保持される。生成された検証鍵vk及び公開パラメータPPPKIは、マスタ公開鍵MPKIDとして公開される。
【0085】
各情報共有装置2は、(SPKPPKI,SSKPPKI)←StaticGen(PPPKI)の処理を行う(ステップS3)。すなわち、各情報共有装置2は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式の鍵登録アルゴリズムStaticGenに基づいて長期秘密鍵SSKPPKI及び長期公開鍵SPKPPKIを生成する。生成された長期秘密鍵SSKPPKIは、各情報共有装置2内に秘密に保持される。生成された長期公開鍵SPKPPKIは公開される。
【0086】
各情報共有装置2は、certP←Sign(sk,(IDP,SPKPPKI))の処理を行う(ステップS31)。すなわち、各情報共有装置2は、sk,(IDP,SPKPPKI)を用いて、電子署名方式の署名生成アルゴリズムSignに基づいて署名certPの生成を行う。IDPは、各情報共有装置2に関連する情報を表すビット列である。各情報共有装置2に関連する情報とは、例えば、各情報共有装置2のメールアドレスである。
【0087】
ステップS3及びステップS31の処理は、各情報共有装置2ごとに行われる。情報共有装置2の中の情報共有を実際に行う一組の情報共有装置を第一情報共有装置UA及び第二情報共有装置UBとする。この場合、第一情報共有装置UAにより、長期秘密鍵SSKAPKI、長期公開鍵SPKAPKI及び署名certAが生成され、長期秘密鍵SSKAID=(SSKAPKI,SPKAPKI,certA)が第二情報共有装置UB内に秘密に保持される。また、第二情報共有装置UBにより、長期秘密鍵SSKBPKI、長期公開鍵SPKBPKI及び署名certBが生成され、長期秘密鍵SSKBID=(SSKBPKI,SPKBPKI,certB)が第二情報共有装置UB内に秘密に保持される。
【0088】
以上のステップS1からステップS31の処理は、以下に述べる情報共有の処理の前準備として事前に行われる。
【0089】
以下、2以上の情報共有装置2の中の第一情報共有装置UAと第二情報共有装置UBとの間で情報共有が行われる場合を例に挙げて説明する。第一情報共有装置UAと第二情報共有装置UBとは、情報共有装置2の中の任意の一組の情報共有装置である。第一情報共有装置UAがイニシエータとし、第二情報共有装置UBがレスポンダとして説明する。
【0090】
第一情報共有装置UAは、図4に例示するように、アドホック鍵生成部UA1、初期メッセージ生成部UA2、検証部UA3、メッセージ生成部UA4、情報生成部UA5及び送信部UA6を備えている。第二情報共有装置UBは、図4に例示するように、アドホック鍵生成部UB1、初期メッセージ生成部UB2、検証部UB3、メッセージ生成部UB4及び情報生成部UB5を備えている。
【0091】
第一情報共有装置UAのアドホック鍵生成部UA1は、ESKAPKI←EpheGen(PPPKI)の処理を行う(ステップS4)。すなわち、第一情報共有装置UAのアドホック鍵生成部UA1は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式のアドホック秘密鍵生成アルゴリズムに基づいてアドホック鍵ESKAPKIを生成する。生成されたアドホック鍵ESKAPKIは、第一情報共有装置UA内に秘密に保持される。
【0092】
第一情報共有装置UAの送信部UA6は、Mes1ID=(SPKAPKI,certA)を第二情報共有装置UBに送信する。
【0093】
第二情報共有装置UBのアドホック鍵生成部UB1は、ESKBPKI←EpheGen(PPPKI)の処理を行う(ステップS6)。すなわち、第二情報共有装置UBのアドホック鍵生成部UB1は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式のアドホック秘密鍵生成アルゴリズムEpheGenに基づいてアドホック鍵ESKBPKIを生成する。生成されたアドホック鍵ESKBPKIは、第二情報共有装置UB内に秘密に保持される。
【0094】
第二情報共有装置UAからMes1ID=(SPKAPKI,certA)を受け取った後に、第二情報共有装置UBの検証部UB3は、1←?Ver (vk,(IDA,SPKAPKI),certA)の処理を行う(ステップS7)。すなわち、第二情報共有装置UBの検証部UB3は、vk,(IDA,SPKAPKI),certAを用いて、電子署名方式の検証アルゴリズムVerに基づいて(IDA,SPKAPKI),certAの検証を行う。
【0095】
ステップS7の検証に合格した場合には、第二情報共有装置UBの初期メッセージ生成部UB2は、Mes1PKI←Messagepre(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI)の処理を行う(ステップS14)。すなわち、第二情報共有装置UBの初期メッセージ生成部UB2は、PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessagepreに基づいて初期メッセージMes1PKI=Messagepre(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI)を生成しSPKBPKI,certBと共に第一情報共有装置UAに送信する。すなわち、Mes2ID=(Mes1PKI,SPKBPKI,certB)が、第一情報共有装置UAに送信される。
【0096】
ステップS7の検証に合格しなかった場合には、その後の処理は行われない。
【0097】
Mes1ID=(Mes1PKI,SPKBPKI,certB)を受け取った後に、第一情報共有装置UAの検証部UB3は、1←?Ver (vk,(IDB,SPKBPKI),certB)の処理を行う(ステップS9)。すなわち、第一情報共有装置UAの検証部UB3は、vk,(IDB,SPKBPKI),certBを用いて、電子署名方式の検証アルゴリズムVerに基づいて(IDB,SPKBPKI),certBの検証を行う。
【0098】
ステップS9の検証に合格した場合には、以下の処理を行う。ステップS9の検証に合格しなかった場合には、以下の処理は行われない。
【0099】
この例では、第一情報共有装置UAがMes1ID=(Mes1PKI,SPKBPKI,certB)を受け取る前にMes2PKIの生成が不可能であるとする。すなわち、第一情報共有装置UAによるMes2PKIの生成は、第二情報共有装置UBから Mes1ID=(Mes1PKI,SPKBPKI,certB)を受け取った後に可能であるとする。第一情報共有装置UAがMes1ID=(Mes1PKI,SPKBPKI,certB)を受け取る前にMes2PKIの生成が不可能かどうかは、ベースとなるPKI 認証鍵交換方式に依存する。
【0100】
この場合、第一情報共有装置UAの初期メッセージ生成部UB2は、Mes2PKI←Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI)の処理を行う(ステップS15)。言い換えれば、第一情報共有装置UAの初期メッセージ生成部UA2は、PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessageに基づいて初期メッセージMes2PKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI)を生成しMes3IDとして第二情報共有装置UBに送信する。
【0101】
その後は、第一情報共有装置UA及び第二情報共有装置UBは、以下に述べるようにメッセージMesiPKIをi=3からi=nまで互いに送信し合う。なお、第二情報共有装置UBのメッセージ生成部UB4は、nが3以上の場合のみ処理を行い、nが3未満の場合には処理を行わない。また、第一情報共有装置UAのメッセージ生成部UA4は、nが4以上の場合のみ処理を行い、nが4未満の場合には処理を行わない。
【0102】
すなわち、第二情報共有装置UBのメッセージ生成部UA4は、nが3以上の場合には、iを3以上n以下の各奇数として、MesiPKI←Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)の処理を行う(ステップS17)。言い換えれば、第二情報共有装置UBのメッセージ生成部UB4は、nが3以上の場合には、iを3以上n以下の各奇数として、PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessageに基づいてメッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成しMesi+1IDとして第一情報共有装置UAに送信する。
【0103】
また、第一情報共有装置UAのメッセージ生成部UA4は、nが4以上の場合には、iを4以上n以下の各偶数として、MesiPKI←Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)の処理を行う(ステップS16)。言い換えれば、第一情報共有装置UAのメッセージ生成部UA4は、nが4以上の場合には、iを4以上n以下の各偶数として、PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessageに基づいてメッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成しMesi+1IDとして第二情報共有装置UBに送信する。
【0104】
その後、第一情報共有装置UAの情報生成部UA5は、KPKI←SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)の処理を行う(ステップS12)。すなわち、第一情報共有装置UAの情報生成部UA5は、PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKIを用いて、PKI 認証鍵交換方式のセッション鍵生成アルゴリズムに基づいて情報KPKI=SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)を生成する。情報共有の対象がID認証鍵である場合には、ID認証鍵KID=KPKIとなる。
【0105】
また、第二情報共有装置UBの情報生成部UB5は、KPKI←SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)の処理を行う(ステップS13)。すなわち、第二情報共有装置UBの情報生成部UB5は、PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKIを用いて、PKI 認証鍵交換方式のセッション鍵生成アルゴリズムに基づいて情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する。情報共有の対象がID認証鍵である場合には、ID認証鍵KID=KPKIとなる。
【0106】
第二実施形態によっても、上記説明した第一実施形態と同様の効果を得ることができる。
【0107】
〈第二実施形態の変形例〉
この例では、第一情報共有装置UAがMes1ID=(Mes1PKI,SPKBPKI,certB)を受け取る前にMes2PKIの生成が可能であるとする。第一情報共有装置UAがMes1ID=(Mes1PKI,SPKBPKI,certB)を受け取る前にMes2PKIの生成が可能かどうかは、ベースとなるPKI 認証鍵交換方式に依存する。
【0108】
この場合、第一情報共有装置UAは、ステップS15の処理に代えて、以下に説明するステップS15’の処理を行う。
【0109】
ステップS9の検証に合格した後に、第一情報共有装置UAの初期メッセージ生成部UB2は、Mes2PKI←Messagepre(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI)の処理を行う(ステップS15’)。言い換えれば、第一情報共有装置UAの初期メッセージ生成部UA2は、PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKIを用いて、PKI 認証鍵交換方式の初期メッセージ生成アルゴリズムMessagepreに基づいて初期メッセージMes2PKI=Messagepre(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI)を生成しMes3IDとして第二情報共有装置UBに送信する。
【0110】
その後、ステップS16の処理が行われる。
【0111】
第二実施形態の変形例によっても、上記説明した第一実施形態と同様の効果を得ることができる。
【0112】
[変形例等]
上記装置及び方法において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0113】
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【0114】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0115】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【0116】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0117】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
図1
図2
図3
図4
図5
図6