(57)【要約】【課題】ランダムオラクルに必ずしも依存しない情報共有（例えばID認証鍵共有）を実現することができる技術を提供する。【解決手段】任意のPKI 認証鍵交換方式と任意の電子署名方式を組み合わせて変換することで情報共有システム（例えば、ID 認証鍵交換システム）を構成する。ベースとなるPKI 認証鍵交換方式と電子署名方式が、ランダムオラクルに依存しない方式であれば、変換後の情報共有システムもランダムオラクルに依存しない方式となる。【選択図】図１
2016076877.tif 000002
【特許請求の範囲】
【請求項１】
第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有システムにおいて、
所定の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が３以上の場合には、iを３以上ｎ以下の各奇数として、メッセージ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が４以上の場合には、iを４以上ｎ以下の各偶数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含む、
情報共有システム。
【請求項２】
請求項１の情報共有システムにおいて、
上記第二情報共有装置の初期メッセージ生成部は、初期メッセージMes2PKI=Messagepost(PPPKI,UB,SSKBPKI,ESKBPKI)を生成し上記第一情報共有装置に送信する、
情報共有システム。
【請求項３】
第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有システムにおいて、
所定の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が４以上の場合には、iを４以上ｎ以下の各偶数として、メッセージ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が３以上の場合には、iを３以上ｎ以下の各奇数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含む、
情報共有システム。
【請求項４】
請求項３の情報共有システムにおいて、
上記第一情報共有装置の初期メッセージ生成部は、初期メッセージMes2PKI=Messagepre(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI)を生成し上記第二情報共有装置に送信する、
情報共有システム。
【請求項５】
第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有方法において、
所定の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が３以上の場合には、iを３以上ｎ以下の各奇数として、メッセージ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が４以上の場合には、iを４以上ｎ以下の各偶数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成ステップと、
上記第二情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、
を含む情報共有方法。
【請求項６】
第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有方法において、
所定の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が３以上の場合には、iを３以上ｎ以下の各奇数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成ステップと、
上記第一情報共有装置のメッセージ生成部が、nが４以上の場合には、iを４以上ｎ以下の各偶数として、メッセージ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)を生成する情報生成ステップと、
を含む情報共有方法。
【請求項７】
請求項１又は３の情報共有システムの上記第一情報共有装置又は上記第二情報共有装置である情報共有装置。
【請求項８】
請求項７の情報共有装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティ技術の応用技術に関するものであり、特に二者間でセッション鍵等の情報を共有する技術に関する。
【背景技術】
【０００２】
以下に示す、ID 認証鍵交換方式のFG方式が知られている（例えば、非特許文献１参照。）。図６にFG 方式のプロトコル図を示す。
【０００３】
[公開パラメータ] ΠをプロトコルIDとし、プロトコル仕様に対応した固有のIDとする。セキュリティパラメータをκとする。pをκビット素数とし、Gをgを生成元とする位数pの乗法巡回群とする。H1:{0,1}→ ZpとH2:{0,1}→{0,1}をハッシュ関数とする。
【０００４】
[鍵生成] 鍵生成アルゴリズムは一様ランダムにマスタ秘密鍵MSKID:=x∈Zpを選ぶ。また、鍵生成アルゴリズムはy=gxを計算し、マスタ公開鍵MPKID:=(G,g,p,y=gx,H1,H2)を公開する。
【０００５】
[鍵抽出] IDPを入力として、鍵抽出アルゴリズムはkP∈RZpを選び、長期秘密鍵SSKPID:=(rP= gkP,sP=kP+xH1(IDP,rP))を生成する。
【０００６】
[鍵交換] 以下では、ユーザUAを鍵交換セッションのイニシエータとし、ユーザUBをレスポンダとする。ユーザUAはIDAに対応する長期秘密鍵(rA=gkA,sA=kA+xH1(IDA,rA))を持ち、ユーザUBはIDBに対応する長期秘密鍵(rB=gkB,sB=kB+xH1(IDB,rB))を持つ。
【０００７】
1. ユーザUAは一様ランダムにアドホック秘密鍵ESKAID=tA∈RZpを選ぶ。このとき、ユーザUAはuA:=gtAを計算し、メッセージMes1ID=(IDA,rA,uA)をユーザUBに送る。
2. ユーザUBは一様ランダムにアドホック秘密鍵ESKBID=tB∈RZpを選ぶ。このとき、ユーザUBはuB:= gtBを計算し、メッセージMes2ID=(IDA,rB,uB)をユーザUAに送る。
【０００８】
3. ユーザUAは共有秘密情報を次のように計算する。
【０００９】
z1=(uBrBy^(H1(IDB,rB)))tA+sA, z2=uBtA
と計算し、セッション鍵KID=H2(z1,z2)を得る。ユーザUAはセッション鍵KIDを出力し、セッションを終了する。
【００１０】
ユーザUB は共有秘密情報を次のように計算する。
【００１１】
z1=(uArAy^(H1(IDA,rA)))tB+sB; z2=uAtB
と計算し、セッション鍵KID=H2(z1,z2)を得る。ユーザUBはセッション鍵KIDを出力し、セッションを終了する。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Dario Fiore, Rosario Gennaro, “Identity-Based Key Exchange Protocols without Pairings”, Transactions on Computational Science 10, P.42-77, 2010
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、背景技術に記載された技術では安全性を保証するために、ハッシュ関数が理想的に安全（ランダムオラクル）でなければならないという問題がある。ランダムオラクルは現実のハッシュ関数を用いては実現できないことが知られている。よって、ランダムオラクルを仮定せずに安全性証明が付く方式が望ましい。
【００１４】
本発明はこのような点に鑑みてなされたものであり、ランダムオラクルに必ずしも依存しない情報共有システム及び方法、情報共有装置並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の一態様による情報共有システムは、第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有システムにおいて、所定の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が３以上の場合には、iを３以上ｎ以下の各奇数として、メッセージ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が４以上の場合には、iを４以上ｎ以下の各偶数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含む。
【００１６】
本発明の一態様による情報共有システムは、第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有システムにおいて、所定の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が４以上の場合には、iを４以上ｎ以下の各偶数として、メッセージ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が３以上の場合には、iを３以上ｎ以下の各奇数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成部と、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成部と、を含む。
【００１７】
本発明の一態様による情報共有方法は、第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有方法において、所定の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が３以上の場合には、iを３以上ｎ以下の各奇数として、メッセージ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が４以上の場合には、iを４以上ｎ以下の各偶数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成ステップと、上記第二情報共有装置の情報生成部が、情報KPKI=SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)を生成する情報生成ステップと、を含む。
【００１８】
本発明の一態様による情報共有方法は、第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有方法において、所定の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が３以上の場合には、iを３以上ｎ以下の各奇数として、メッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成し上記第一情報共有装置に送信するメッセージ生成ステップと、上記第一情報共有装置のメッセージ生成部が、nが４以上の場合には、iを４以上ｎ以下の各偶数として、メッセージ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)を生成する情報生成ステップと、を含む。
【００１９】
本発明の一態様による情報共有装置は、上記情報共有システムの上記第一情報共有装置及び上記第二情報共有装置である。
【発明の効果】
【００２０】
ランダムオラクルに必ずしも依存しない情報共有を実現することができる。
【図面の簡単な説明】
【００２１】
【図１】情報共有システムの例の機能ブロック図。
【図２】第一実施形態の第一情報共有装置及び第二情報共有装置の例の機能ブロック図。
【図３】第一実施形態の処理の概要を例示する図。
【図４】第二実施形態の第一情報共有装置及び第二情報共有装置の例の機能ブロック図。
【図５】第二実施形態の処理の概要を例示する図。
【図６】背景技術の処理の概要を例示する図。
【発明を実施するための形態】
【００２２】
以下、本発明の各実施形態について説明する。
【００２３】
［第一実施形態］
第一実施形態の情報共有システムでは、イニシエータが交換相手を事前に知らなくても最初のメッセージを計算することができる（事後指定可能）PKI 認証鍵交換方式を電子署名方式と組み合わせて情報共有（例えば、ID 認証鍵交換方式による認証鍵の共有）を行うものである。まず、部品であるPKI 認証鍵交換方式と電子署名方式について説明する。これらのPKI 認証鍵交換方式と電子署名方式は、例えばランダムオラクルに依存しないものとする。
【００２４】
事後指定可能PKI 認証鍵交換は、以下のアルゴリズムからなる。
【００２５】
・PPPKI←Setup(1κ)：セットアップアルゴリズム
公開パラメータを生成する。κは、セキュリティパラメータであり任意の正の整数である。1κは、κビットのビット列である。
【００２６】
・(SPKPPKI,SSKPPKI)←StaticGen(PPPKI)：鍵登録アルゴリズム
長期秘密鍵SSKPPKI及び対応する長期公開鍵SPKPPKIを生成し、長期公開鍵SPKPPKIをPKIに登録し公開する。パーティUPとは、情報を共有可能な２以上の情報共有装置の集合のことである。パーティUPに属する各情報共有装置が、StaticGenのアルゴリズムに基づいて長期秘密鍵及び長期公開鍵を生成する。
【００２７】
・ESKPPKI←EpheGen(PPPKI)：アドホック秘密鍵生成アルゴリズム
アドホック秘密鍵ESKPPKIを生成する。
【００２８】
・Mes1PKI←Messagepost(PPPKI,UA,SSKAPKI,ESKAPKI)：初期メッセージ生成アルゴリズム
イニシエータUAは、長期秘密鍵SSKAPKIとアドホック秘密鍵ESKAPKIを用いて、初期メッセージMes1PKIを生成する。第一実施形態の初期メッセージ生成アルゴリズムMessagepostでは、交換相手UBの長期公開鍵SPKBPKIを必要としない。
【００２９】
・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を表すビット列である。
【００３０】
ただし、レスポンダUBが第一メッセージMes1PKIを受け取る前に第二メッセージを生成可能な場合（同時実行可能）は、第二メッセージMes2PKIはSSKBPKI,ESKBPKIだけを用いて生成することができる。すなわち、Mes2PKI←Messagepost(PPPKI,UB,SSKBPKI,ESKBPKI)とすることができる。これについては、第一実施形態の変形例で述べる。
【００３１】
・KPKI←SesKey(PPPKI,UP,UP-,SSKPPKI,ESKPPKI,SPKPPKI,Mes1PKI,…,MesnPKI)：セッション鍵生成アルゴリズム
SSKPPKI,ESKPPKI,SPKPPKI,Mes1PKI,…,MesiPKIを用いて、セッション鍵KPKIを生成する。
【００３２】
電子署名方式は、以下のアルゴリズムからなる。
【００３３】
・(vk,sk)←SigGen(1κ)：鍵生成アルゴリズム
検証鍵vkと署名鍵skを生成する。
【００３４】
・σ←Sign(sk,m)：署名生成
平文mと署名鍵skを用いて、署名σを生成する。
【００３５】
・1 or 0←Ver(vk,m,σ)：署名検証
検証鍵vkを用いて、平文mと署名σを検証し、合格なら1、不合格なら0を出力する。
【００３６】
図３に、これらのPKI 認証鍵交換方式と電子署名方式を用いた情報共有アルゴリズムの概要を例示する。
【００３７】
以下、この情報共有アルゴリズムを実行する情報共有システムについて説明する。情報共有システムは、図１に例示するように、管理者装置１と、２以上の情報共有装置２とを例えば備えている。
【００３８】
管理者装置１は、PPPKI←Setup(1κ)の処理を行う（ステップＳ１）。すなわち、管理者装置１は、セキュリティパラメータκを用いて、PKI 認証鍵交換方式のセットアップアルゴリズムに基づいて公開パラメータPPPKIを生成する。
【００３９】
管理者装置１は、(vk,sk)←SigGen(1κ)の処理を行う（ステップＳ２）。すなわち、管理者装置１は、セキュリティパラメータκを用いて、電子署名方式の鍵生成アルゴリズムSigGenに基づいて検証鍵vk及び署名鍵skを生成する。生成された署名鍵skは、マスタ秘密鍵MSKIDとして管理者装置１内に秘密に保持される。生成された検証鍵vk及び公開パラメータPPPKIは、マスタ公開鍵MPKIDとして公開される。
【００４０】
各情報共有装置２は、(SPKPPKI,SSKPPKI)←StaticGen(PPPKI)の処理を行う（ステップＳ３）。すなわち、各情報共有装置２は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式の鍵登録アルゴリズムStaticGenに基づいて長期秘密鍵SSKPPKI及び長期公開鍵SPKPPKIを生成する。生成された長期秘密鍵SSKPPKIは、各情報共有装置２内に秘密に保持される。生成された長期公開鍵SPKPPKIは公開される。
【００４１】
各情報共有装置２は、certP←Sign(sk,(IDP,SPKPPKI))の処理を行う（ステップＳ３１）。すなわち、各情報共有装置２は、sk,(IDP,SPKPPKI)を用いて、電子署名方式の署名生成アルゴリズムSignに基づいて署名certPの生成を行う。IDPは、各情報共有装置２に関連する情報を表すビット列である。各情報共有装置２に関連する情報とは、例えば、各情報共有装置２のメールアドレスである。
【００４２】
ステップＳ３及びステップＳ３１の処理は、各情報共有装置２ごとに行われる。情報共有装置２の中の情報共有を実際に行う一組の情報共有装置を第一情報共有装置UA及び第二情報共有装置UBとする。この場合、第一情報共有装置UAにより、長期秘密鍵SSKAPKI、長期公開鍵SPKAPKI及び署名certAが生成され、長期秘密鍵SSKAID=(SSKAPKI,SPKAPKI,certA)が第二情報共有装置UB内に秘密に保持される。また、第二情報共有装置UBにより、長期秘密鍵SSKBPKI、長期公開鍵SPKBPKI及び署名certBが生成され、長期秘密鍵SSKBID=(SSKBPKI,SPKBPKI,certB)が第二情報共有装置UB内に秘密に保持される。
【００４３】
以上のステップＳ１からステップＳ３１の処理は、以下に述べる情報共有の処理の前準備として事前に行われる。
【００４４】
以下、２以上の情報共有装置２の中の第一情報共有装置UAと第二情報共有装置UBとの間で情報共有が行われる場合を例に挙げて説明する。第一情報共有装置UAと第二情報共有装置UBとは、情報共有装置２の中の任意の一組の情報共有装置である。第一情報共有装置UAがイニシエータとし、第二情報共有装置UBがレスポンダとして説明する。
【００４５】
第一情報共有装置UAは、図２に例示するように、アドホック鍵生成部UA1、初期メッセージ生成部UA2、検証部UA3、メッセージ生成部UA4及び情報生成部UA5を備えている。第二情報共有装置UBは、図２に例示するように、アドホック鍵生成部UB1、初期メッセージ生成部UB2、検証部UB3、メッセージ生成部UB4及び情報生成部UB5を備えている。
【００４６】
第一情報共有装置UAのアドホック鍵生成部UA1は、ESKAPKI←EpheGen(PPPKI)の処理を行う（ステップＳ４）。すなわち、第一情報共有装置UAのアドホック鍵生成部UA1は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式のアドホック秘密鍵生成アルゴリズムに基づいてアドホック鍵ESKAPKIを生成する。生成されたアドホック鍵ESKAPKIは、第一情報共有装置UA内に秘密に保持される。
【００４７】
第一情報共有装置UAの初期メッセージ生成部UA2は、Mes1PKI←Messagepost(PPPKI,UA,SSKAPKI,ESKAPKI)の処理を行う（ステップＳ５）。すなわち、第一情報共有装置UAの初期メッセージ生成部UA2は、PPPKI,UA,SSKAPKI,ESKAPKIを用いて、PKI 認証鍵交換方式の初期メッセージ生成アルゴリズムMessagepostに基づいて初期メッセージMes1PKIの生成を行う。生成された初期メッセージMes1PKＩは、SPKAPKI,certAと共に第二情報共有装置UBに送信される。すなわち、Mes1ＩD=(Mes1PK,SPKAPKI,certA)が第二情報共有装置UBに送信される。
【００４８】
第二情報共有装置UBのアドホック鍵生成部UB1は、ESKBPKI←EpheGen(PPPKI)の処理を行う（ステップＳ６）。すなわち、第二情報共有装置UBのアドホック鍵生成部UB1は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式のアドホック秘密鍵生成アルゴリズムEpheGenに基づいてアドホック鍵ESKBPKIを生成する。生成されたアドホック鍵ESKBPKIは、第二情報共有装置UB内に秘密に保持される。
【００４９】
この例では、第二情報共有装置UBがMes1ＩD=(Mes1PKI,SPKAPKI,certA)を受け取る前にMes2PKIの生成が不可能であるとする。すなわち、第二情報共有装置UB によるMes2PKIの生成は、第一情報共有装置UAから Mes1ＩD=(Mes1PKI,SPKAPKI,certA)を受け取った後に可能であるとする。第二情報共有装置UBがMes1ＩD=(Mes1PKI,SPKAPKI,certA)を受け取る前にMes2PKIの生成が不可能かどうかは、ベースとなるPKI 認証鍵交換方式に依存する。
【００５０】
この場合、Mes1ＩD=(Mes1PKI,SPKAPKI,certA)を受け取った後に、第二情報共有装置UBの検証部UB3は、1←?Ver (vk,(IDA,SPKAPKI),certA)の処理を行う（ステップＳ７）。すなわち、第二情報共有装置UBの検証部UB3は、vk,(IDA,SPKAPKI),certAを用いて、電子署名方式の検証アルゴリズムVerに基づいて(IDA,SPKAPKI),certAの検証を行う。
【００５１】
ステップＳ７の検証に合格した場合には、第二情報共有装置UBの初期メッセージ生成部UB2は、Mes2PKI←Message(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKBPKI,Mes1PKI)の処理を行う（ステップＳ８）。すなわち、第二情報共有装置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に送信される。
【００５２】
ステップＳ７の検証に合格しなかった場合には、その後の処理は行われない。
【００５３】
Mes2ID=(Mes2PKI,SPKBPKI,certB)を受け取った後に、第一情報共有装置UAの検証部UA3は、1←?Ver (vk,(IDB,SPKBPKI),certB)の処理を行う（ステップＳ９）。すなわち、第一情報共有装置UAの検証部UA3は、vk,(IDB,SPKBPKI),certBを用いて、電子署名方式の検証アルゴリズムVerに基づいて(IDB,SPKBPKI),certBの検証を行う。
【００５４】
ステップＳ９の検証に合格した場合には、第一情報共有装置UA及び第二情報共有装置UBは、以下に述べるようにメッセージMesiPKIをi=3からi=nまで互いに送信し合う。なお、第一情報共有装置UAのメッセージ生成部UA4は、nが３以上の場合のみ処理を行い、nが３未満の場合には処理を行わない。また、第二情報共有装置UBのメッセージ生成部UB4は、nが４以上の場合のみ処理を行い、nが４未満の場合には処理を行わない。
【００５５】
すなわち、第一情報共有装置UAのメッセージ生成部UA4は、nが３以上の場合には、iを３以上ｎ以下の各奇数として、MesiPKI←Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)の処理を行う（ステップＳ１０）。言い換えれば、第一情報共有装置UAのメッセージ生成部UA4は、nが３以上の場合には、iを３以上ｎ以下の各奇数として、PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessageに基づいてメッセージMesiPKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)を生成しMesiIDとして第二情報共有装置UBに送信する。
【００５６】
また、第二情報共有装置UBのメッセージ生成部UB4は、nが４以上の場合には、iを４以上ｎ以下の各偶数として、MesiPKI←Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)の処理を行う（ステップＳ１１）。言い換えれば、第二情報共有装置UBのメッセージ生成部UB4は、nが４以上の場合には、iを４以上ｎ以下の各偶数として、PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessageに基づいてメッセージMesiPKI=Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)を生成しMesiIDとして第一情報共有装置UAに送信する。
【００５７】
ステップＳ９の検証に合格しなかった場合には、その後の処理は行われない。
【００５８】
その後、第一情報共有装置UAの情報生成部UA5は、KPKI←SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)の処理を行う（ステップＳ１２）。すなわち、第一情報共有装置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となる。
【００５９】
また、第二情報共有装置UBの情報生成部UB5は、KPKI←SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)の処理を行う（ステップＳ１３）。すなわち、第二情報共有装置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となる。
【００６０】
既存方式では、古典的なDH 鍵交換と一緒に、ID にSchnorr 署名を施したものを送ることで、署名の偽造不可能性によりID 認証を実現していた。本発明では、このような特定の方式をベースにするのではなく、任意のPKI 認証鍵交換方式と任意の電子署名方式を組み合わせて変換することで情報共有システム（例えば、ID 認証鍵交換システム）を構成した。ベースとなるPKI 認証鍵交換方式と電子署名方式が、ランダムオラクルに依存しない方式であれば、変換後の情報共有システムもランダムオラクルに依存しない方式となる。
【００６１】
また、PKI 認証鍵交換方式と電子署名方式はDiffie-Hellman（DH）問題以外の様々な問題に基づく構成が知られているため、変換後の例えばID 認証鍵交換方式である情報共有システムもDH 問題以外の問題に基づいて安全性を保証できる。DH 問題とは、(g,ga,gb)が与えられた時に、gabを求める問題である。例えば、格子問題は量子計算機が実現しても効率的に解くアルゴリズムは知られておらず、格子問題に基づくPKI 認証鍵交換方式と電子署名方式から変換した情報共有システムは量子計算機に対しても安全となる。格子問題に基づくPKI 認証鍵交換方式は例えば次の文献に記載されている。
【００６２】
〔参考文献１〕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
格子問題に基づく電子署名は例えば次の文献に記載されている。
〔参考文献２〕Vadim Lyubashevsky, “Lattice Signatures without Trapdoors”, EURO-CRYPT 2012, P.738-755
【００６３】
〈第一実施形態の変形例〉
この例では、第二情報共有装置UBがMes1ＩD=(Mes1PK,SPKAPKI,certA)を受け取る前にMes2PKIの生成が可能であるとする。第二情報共有装置UBがMes1ＩD=(Mes1PK,SPKAPKI,certA)を受け取る前にMes2PKIの生成が可能かどうかは、ベースとなるPKI 認証鍵交換方式に依存する。
【００６４】
この場合、第二情報共有装置UB は、ステップＳ７の処理に代えて、以下に説明するステップＳ７’の処理を行う。
【００６５】
ステップＳ６の処理の後に、第二情報共有装置UBの初期メッセージ生成部UB2は、Mes2PKI←Messagepost(PPPKI,UB,SSKBPKI,ESKBPKI)の処理を行う（ステップＳ７’）。すなわち、第二情報共有装置UBの初期メッセージ生成部UB2は、PPPKI,UB,SSKBPKI,ESKBPKIを用いて、PKI 認証鍵交換方式の初期メッセージ生成アルゴリズムMessagepostに基づいて初期メッセージMes2PKIの生成を行う。生成された初期メッセージMes2PKＩは、SPKBPKI,certBと共に第一情報共有装置UAに送信される。すなわち、Mes2ＩD=(Mes2PK,SPKBPKI,certB)が第一情報共有装置UAに送信される。
【００６６】
その後、ステップＳ８の処理が行われる。
【００６７】
第一実施形態の変形例によっても、上記説明した第一実施形態と同様の効果を得ることができる。
【００６８】
［第二実施形態］
第二実施形態では、イニシエータが交換相手の情報を用いて最初のメッセージを計算
する必要がある（事後指定不可）PKI 認証鍵交換方式を電子署名方式と組み合わせて情報共有（例えば、ID 認証鍵交換方式による認証鍵の共有）を行うものである。まず、部品であるPKI 認証鍵交換方式と電子署名方式について説明する。これらのPKI 認証鍵交換方式と電子署名方式は、例えばランダムオラクルに依存しないものとする。
【００６９】
事後指定不可PKI認証鍵交換は以下のアルゴリズムからなる。
【００７０】
・PPPKI←Setup(1κ)：セットアップアルゴリズム
公開パラメータを生成する。κは、セキュリティパラメータであり任意の正の整数である。1κは、κビットのビット列である。
【００７１】
・(SPKPPKI,SSKPPKI)←StaticGen(PPPKI)：鍵登録アルゴリズム
長期秘密鍵SSKPPKI及び対応する長期公開鍵SPKPPKIを生成し、長期公開鍵SPKPPKIをPKIに登録し公開する。パーティUPとは、情報を共有可能な２以上の情報共有装置の集合のことである。パーティUPに属する各情報共有装置が、StaticGenのアルゴリズムに基づいて長期秘密鍵及び長期公開鍵を生成する。
【００７２】
・ESKPPKI←EpheGen(PPPKI)：アドホック秘密鍵生成アルゴリズム
アドホック秘密鍵ESKPPKIを生成する。
【００７３】
・Mes1PKI←Messagepre(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI)：初期メッセージ生成アルゴリズム
ベースとなるPKI認証鍵交換では、イニシエータUAは、SSKAPKI,ESKAPKI,SPKBPKIを用いて、初期メッセージMes1PKIを生成する。第一実施形態の初期メッセージ生成アルゴリズムMessagepostと異なり、第二実施形態の初期メッセージ生成アルゴリズムMessagepreでは、交換相手UBの長期公開鍵SPKBPKIを必要とする。
【００７４】
以下に述べる情報共有アルゴリズムでは、イニシエータである第一情報共有装置UAではなく、レスポンダである第二情報共有装置UBが、初期メッセージ生成アルゴリズムMessagepreを用いて、初期メッセージMes1PKI= Messagepre(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI)の生成を行う。
【００７５】
・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を表すビット列である。
【００７６】
・KPKI←SesKey(PPPKI,UP,UP-,SSKPPKI,ESKPPKI,SPKP-PKI,Mes1PKI,…,MesnPKI)：セッション鍵生成アルゴリズム
SSKPPKI,ESKPPKI,SPKPPKI,Mes1PKI,…,MesiPKIを用いて、セッション鍵KPKIを生成する。
【００７７】
電子署名方式は、以下のアルゴリズムからなる。
【００７８】
・(vk,sk)←SigGen(1κ)：鍵生成アルゴリズム
検証鍵vkと署名鍵skを生成する。
【００７９】
・σ←Sign(sk,m)：署名生成
平文mと署名鍵skを用いて、署名σを生成する。
【００８０】
・1 or 0←Ver(vk,m,σ)：署名検証
検証鍵vkを用いて、平文mと署名σを検証し、合格なら1、不合格なら0を出力する。
【００８１】
図５に、これらのPKI 認証鍵交換方式と電子署名方式を用いた情報共有アルゴリズムの概要を例示する。
【００８２】
以下、この情報共有アルゴリズムを実行する情報共有システムについて説明する。情報共有システムは、図１に例示するように、管理者装置１と、２以上の情報共有装置２とを例えば備えている。
【００８３】
管理者装置１は、PPPKI←Setup(1κ)の処理を行う（ステップＳ１）。すなわち、管理者装置１は、セキュリティパラメータκを用いて、PKI 認証鍵交換方式のセットアップアルゴリズムに基づいて公開パラメータPPPKIを生成する。
【００８４】
管理者装置１は、(vk,sk)←SigGen(1κ)の処理を行う（ステップＳ２）。すなわち、管理者装置１は、セキュリティパラメータκを用いて、電子署名方式の鍵生成アルゴリズムSigGenに基づいて検証鍵vk及び署名鍵skを生成する。生成された署名鍵skは、マスタ秘密鍵MSKIDとして管理者装置１内に秘密に保持される。生成された検証鍵vk及び公開パラメータPPPKIは、マスタ公開鍵MPKIDとして公開される。
【００８５】
各情報共有装置２は、(SPKPPKI,SSKPPKI)←StaticGen(PPPKI)の処理を行う（ステップＳ３）。すなわち、各情報共有装置２は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式の鍵登録アルゴリズムStaticGenに基づいて長期秘密鍵SSKPPKI及び長期公開鍵SPKPPKIを生成する。生成された長期秘密鍵SSKPPKIは、各情報共有装置２内に秘密に保持される。生成された長期公開鍵SPKPPKIは公開される。
【００８６】
各情報共有装置２は、certP←Sign(sk,(IDP,SPKPPKI))の処理を行う（ステップＳ３１）。すなわち、各情報共有装置２は、sk,(IDP,SPKPPKI)を用いて、電子署名方式の署名生成アルゴリズムSignに基づいて署名certPの生成を行う。IDPは、各情報共有装置２に関連する情報を表すビット列である。各情報共有装置２に関連する情報とは、例えば、各情報共有装置２のメールアドレスである。
【００８７】
ステップＳ３及びステップＳ３１の処理は、各情報共有装置２ごとに行われる。情報共有装置２の中の情報共有を実際に行う一組の情報共有装置を第一情報共有装置UA及び第二情報共有装置UBとする。この場合、第一情報共有装置UAにより、長期秘密鍵SSKAPKI、長期公開鍵SPKAPKI及び署名certAが生成され、長期秘密鍵SSKAID=(SSKAPKI,SPKAPKI,certA)が第二情報共有装置UB内に秘密に保持される。また、第二情報共有装置UBにより、長期秘密鍵SSKBPKI、長期公開鍵SPKBPKI及び署名certBが生成され、長期秘密鍵SSKBID=(SSKBPKI,SPKBPKI,certB)が第二情報共有装置UB内に秘密に保持される。
【００８８】
以上のステップＳ１からステップＳ３１の処理は、以下に述べる情報共有の処理の前準備として事前に行われる。
【００８９】
以下、２以上の情報共有装置２の中の第一情報共有装置UAと第二情報共有装置UBとの間で情報共有が行われる場合を例に挙げて説明する。第一情報共有装置UAと第二情報共有装置UBとは、情報共有装置２の中の任意の一組の情報共有装置である。第一情報共有装置UAがイニシエータとし、第二情報共有装置UBがレスポンダとして説明する。
【００９０】
第一情報共有装置UAは、図４に例示するように、アドホック鍵生成部UA1、初期メッセージ生成部UA2、検証部UA3、メッセージ生成部UA4、情報生成部UA5及び送信部UA6を備えている。第二情報共有装置UBは、図４に例示するように、アドホック鍵生成部UB1、初期メッセージ生成部UB2、検証部UB3、メッセージ生成部UB4及び情報生成部UB5を備えている。
【００９１】
第一情報共有装置UAのアドホック鍵生成部UA1は、ESKAPKI←EpheGen(PPPKI)の処理を行う（ステップＳ４）。すなわち、第一情報共有装置UAのアドホック鍵生成部UA1は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式のアドホック秘密鍵生成アルゴリズムに基づいてアドホック鍵ESKAPKIを生成する。生成されたアドホック鍵ESKAPKIは、第一情報共有装置UA内に秘密に保持される。
【００９２】
第一情報共有装置UAの送信部UA6は、Mes1ＩD=(SPKAPKI,certA)を第二情報共有装置UBに送信する。
【００９３】
第二情報共有装置UBのアドホック鍵生成部UB1は、ESKBPKI←EpheGen(PPPKI)の処理を行う（ステップＳ６）。すなわち、第二情報共有装置UBのアドホック鍵生成部UB1は、公開パラメータPPPKIを用いて、PKI 認証鍵交換方式のアドホック秘密鍵生成アルゴリズムEpheGenに基づいてアドホック鍵ESKBPKIを生成する。生成されたアドホック鍵ESKBPKIは、第二情報共有装置UB内に秘密に保持される。
【００９４】
第二情報共有装置UAからMes1ＩD=(SPKAPKI,certA)を受け取った後に、第二情報共有装置UBの検証部UB3は、1←?Ver (vk,(IDA,SPKAPKI),certA)の処理を行う（ステップＳ７）。すなわち、第二情報共有装置UBの検証部UB3は、vk,(IDA,SPKAPKI),certAを用いて、電子署名方式の検証アルゴリズムVerに基づいて(IDA,SPKAPKI),certAの検証を行う。
【００９５】
ステップＳ７の検証に合格した場合には、第二情報共有装置UBの初期メッセージ生成部UB2は、Mes1PKI←Messagepre(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI)の処理を行う（ステップＳ１４）。すなわち、第二情報共有装置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に送信される。
【００９６】
ステップＳ７の検証に合格しなかった場合には、その後の処理は行われない。
【００９７】
Mes1ＩD=(Mes1PKI,SPKBPKI,certB)を受け取った後に、第一情報共有装置UAの検証部UB3は、1←?Ver (vk,(IDB,SPKBPKI),certB)の処理を行う（ステップＳ９）。すなわち、第一情報共有装置UAの検証部UB3は、vk,(IDB,SPKBPKI),certBを用いて、電子署名方式の検証アルゴリズムVerに基づいて(IDB,SPKBPKI),certBの検証を行う。
【００９８】
ステップＳ９の検証に合格した場合には、以下の処理を行う。ステップＳ９の検証に合格しなかった場合には、以下の処理は行われない。
【００９９】
この例では、第一情報共有装置UAがMes1ＩD=(Mes1PKI,SPKBPKI,certB)を受け取る前にMes2PKIの生成が不可能であるとする。すなわち、第一情報共有装置UAによるMes2PKIの生成は、第二情報共有装置UBから Mes1ＩD=(Mes1PKI,SPKBPKI,certB)を受け取った後に可能であるとする。第一情報共有装置UAがMes1ＩD=(Mes1PKI,SPKBPKI,certB)を受け取る前にMes2PKIの生成が不可能かどうかは、ベースとなるPKI 認証鍵交換方式に依存する。
【０１００】
この場合、第一情報共有装置UAの初期メッセージ生成部UB2は、Mes2PKI←Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI)の処理を行う（ステップＳ１５）。言い換えれば、第一情報共有装置UAの初期メッセージ生成部UA2は、PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKIを用いて、PKI 認証鍵交換方式のメッセージ生成アルゴリズムMessageに基づいて初期メッセージMes2PKI=Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI)を生成しMes3IDとして第二情報共有装置UBに送信する。
【０１０１】
その後は、第一情報共有装置UA及び第二情報共有装置UBは、以下に述べるようにメッセージMesiPKIをi=3からi=nまで互いに送信し合う。なお、第二情報共有装置UBのメッセージ生成部UB4は、nが３以上の場合のみ処理を行い、nが３未満の場合には処理を行わない。また、第一情報共有装置UAのメッセージ生成部UA4は、nが４以上の場合のみ処理を行い、nが４未満の場合には処理を行わない。
【０１０２】
すなわち、第二情報共有装置UBのメッセージ生成部UA4は、nが３以上の場合には、iを３以上ｎ以下の各奇数として、MesiPKI←Message(PPPKI, UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,Mesi-1PKI)の処理を行う（ステップＳ１７）。言い換えれば、第二情報共有装置UBのメッセージ生成部UB4は、nが３以上の場合には、iを３以上ｎ以下の各奇数として、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に送信する。
【０１０３】
また、第一情報共有装置UAのメッセージ生成部UA4は、nが４以上の場合には、iを４以上ｎ以下の各偶数として、MesiPKI←Message(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,Mesi-1PKI)の処理を行う（ステップＳ１６）。言い換えれば、第一情報共有装置UAのメッセージ生成部UA4は、nが４以上の場合には、iを４以上ｎ以下の各偶数として、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に送信する。
【０１０４】
その後、第一情報共有装置UAの情報生成部UA5は、KPKI←SesKey(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI,Mes1PKI,…,MesnPKI)の処理を行う（ステップＳ１２）。すなわち、第一情報共有装置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となる。
【０１０５】
また、第二情報共有装置UBの情報生成部UB5は、KPKI←SesKey(PPPKI,UB,UA,SSKBPKI,ESKBPKI,SPKAPKI,Mes1PKI,…,MesnPKI)の処理を行う（ステップＳ１３）。すなわち、第二情報共有装置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となる。
【０１０６】
第二実施形態によっても、上記説明した第一実施形態と同様の効果を得ることができる。
【０１０７】
〈第二実施形態の変形例〉
この例では、第一情報共有装置UAがMes1ＩD=(Mes1PKI,SPKBPKI,certB)を受け取る前にMes2PKIの生成が可能であるとする。第一情報共有装置UAがMes1ＩD=(Mes1PKI,SPKBPKI,certB)を受け取る前にMes2PKIの生成が可能かどうかは、ベースとなるPKI 認証鍵交換方式に依存する。
【０１０８】
この場合、第一情報共有装置UAは、ステップＳ１５の処理に代えて、以下に説明するステップＳ１５’の処理を行う。
【０１０９】
ステップＳ９の検証に合格した後に、第一情報共有装置UAの初期メッセージ生成部UB2は、Mes2PKI←Messagepre(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI)の処理を行う（ステップＳ１５’）。言い換えれば、第一情報共有装置UAの初期メッセージ生成部UA2は、PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKIを用いて、PKI 認証鍵交換方式の初期メッセージ生成アルゴリズムMessagepreに基づいて初期メッセージMes2PKI=Messagepre(PPPKI,UA,UB,SSKAPKI,ESKAPKI,SPKBPKI)を生成しMes3IDとして第二情報共有装置UBに送信する。
【０１１０】
その後、ステップＳ１６の処理が行われる。
【０１１１】
第二実施形態の変形例によっても、上記説明した第一実施形態と同様の効果を得ることができる。
【０１１２】
［変形例等］
上記装置及び方法において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０１１３】
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０１１４】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１１５】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【０１１６】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１１７】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2016076877.tif 000003
【図２】
2016076877.tif 000004
【図３】
2016076877.tif 000005
【図４】
2016076877.tif 000006
【図５】
2016076877.tif 000007
【図６】
2016076877.tif 000008