JP2017208773A - 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム - Google Patents

共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム Download PDF

Info

Publication number
JP2017208773A
JP2017208773A JP2016101710A JP2016101710A JP2017208773A JP 2017208773 A JP2017208773 A JP 2017208773A JP 2016101710 A JP2016101710 A JP 2016101710A JP 2016101710 A JP2016101710 A JP 2016101710A JP 2017208773 A JP2017208773 A JP 2017208773A
Authority
JP
Japan
Prior art keywords
client device
calculates
storage server
public key
generates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016101710A
Other languages
English (en)
Inventor
恆和 齋藤
Tsunekazu Saito
恆和 齋藤
鉄太郎 小林
Tetsutaro Kobayashi
鉄太郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016101710A priority Critical patent/JP2017208773A/ja
Publication of JP2017208773A publication Critical patent/JP2017208773A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】従来よりも秘密鍵管理の利便性を向させた共有鍵共有技術を提供する。
【解決手段】秘密鍵DA,1を秘匿化された秘密鍵δA,1とpinとに分割し、秘密鍵DB,2を秘匿化された秘密鍵δB,2とpinとに分割する。そして、秘匿化された秘密鍵δA,1,δB,2とpinの2要素によって認証鍵交換する。このようにすることで、秘匿化された秘密鍵かpinのどちらか片方が漏洩しても安全であり、秘匿化された秘密鍵をブラウザ等の利便性の高い領域などに保管することができる。よって、秘密鍵管理の利便性が向上する。
【選択図】図1

Description

この発明は、暗号技術に関する。特に、共有鍵を共有するための技術に関する。
従来の技術として、IDベース認証鍵交換FSUについて説明する。
以下、群の計算を乗法と仮定するが、任意の演算についても同様な議論が行うことができ、一般性を失うことは無い、また、巡回群G,G,Gに対して、ペアリング
Figure 2017208773
が用いられるが、非対称ペアリングを用いた記述とし、対称ペアリングを用いた場合も包含するものとする。また、GとGの役割を逆にしても一般生を失わずに同様に行えるので、その記述は省略する。
[認証鍵交換FSUについてのプロトコル]
TLSなどの多くの暗号通信は、正しい相手かどうかを認証し、鍵交換を行い、その後に共有したセッション鍵を用いた共通鍵暗号方式で暗号・復号の機能を利用し実現されている。例えば非特許文献1,2に記載された認証鍵交換FSUは、認証及び鍵交換の方式であり、秘密鍵の漏洩に対して最も強い安全性を満足することが証明されている暗号方式である。具体的に最も強い安全性とは、認証鍵交換のための秘密鍵には短期秘密鍵と長期秘密鍵の2種類があり、発信者と受信者の秘密鍵のどの非自明な秘密鍵の組み合わせの漏洩(例えば、発信者の短期秘密鍵と受信者の短期秘密鍵の漏洩)に対して交換されるセッショの漏洩が無いことである。
認証鍵交換FSUには、3つの方式が存在する。第1の方式はIDベース方式(例えば、ID−ID−FSU)であり、第2の方式はPKIベース方式であり、第3の方式はIDベース方式及びPKIベース方式の組み合わせの方式(例えば、Cert−ID−FSU)である。以下では、ID−ID−FSU及びCert−ID−FSUのそれぞれについて説明する。
[[ID−ID−FSU]]
(登場する装置)
・第一クライアント装置U及び第二クライアント装置U
・鍵生成装置KGC
以下、第一クライアント装置U、第二クライアント装置U及び鍵生成装置KGCのことをそれぞれU,U,KGCと略記することもある。
(公開パラメータ)
・kをセキュリティパラメタとする。
・G,GとGを位数がkビット長の素数qの巡回群として、g,gとgをそれぞれの群の生成元とする。
・e:G×G→Gをペアリングとする。ここで、g=e(g,g)を満足するものとする。
・H:{0,1}→{0,1},H:{0,1}→GとH:{0,1}→Gをそれぞれ暗号学的Hash関数とする。
・2以上の自然数mに対して、m個の多項式p∈Z[u,u,v,v](i=l,...,m)を以下のように与える;
Figure 2017208773
ここで、ci,0,0,ci,0,1,ci,1,0とci,1,1は定数であってもよいし、短期公開鍵、公開鍵、ユーザID等に依存して決まる数でもよい。
・KGCはマスタ秘密鍵z∈Zをランダムに選択し、マスタ公開鍵Z=g ∈GとZ=g ∈Gを公開する。
・Uは識別子IDを持っていて、QA,1=H(ID)∈GとQA,2=H(ID)∈Gを計算し公開する。同じように、Uは識別子IDを持っていて、QB,1=H(ID)∈GとQB,2=H(ID)∈Gを計算し公開する。
(鍵生成)
KGCはUとUの(QA,1,QA,2)と(QB,1,QB,2)を用いて、秘密鍵の2つのペアDA,1=QA,1 ,DA,2=QA,2 とDB,1=QB,1 ,DB,2=QB,2 を計算し、Uに(DA,1,DA,2)を、Uに(DB,1,DB,2)を配布する。
は短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXA,1=g xAとXA,2=g xAを生成する。同様に、Uは短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXB,1=g xBとXB,2=g xBを生成する。
(鍵交換)
(1).UはUへ(ID,ID,XA,1,XA,2)を送信する。
(2).UはUへ(ID,ID,XB,1,XB,2)を送信する。
(3).Uはe(XB,1,g)=e(g,XB,2)であるか確認し、Uはe(XA,1,g)=e(g,XA,2)であるか確認する。正しくなければ、鍵生成からやり直す。
(4).Uは以下の(a)〜(c)を行う。
(a)i=1,...,mについてσ=e(DA,1 ci,0,0 ci,1,0xA,QB,2)e(DA,1 ci,0,1 ci,1,1xA,XB,2)を計算する。
(b)σm+1=XB,1 xA,σm+2=XB,2 xAを計算する。
(c)共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算する。
(5).同じように、Uは以下の(a)〜(c)を行う。
(a)i=1,...,mについてσ=e(QA,1,DB,2 ci,0,0 ci,0,1xB)e(XB,1,DB,2 ci,1,0 ci,1,1xB)を計算する。
(b)σm+1=XA,1 xB,σm+2=XA,2 xBを計算する。
(c)共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算する。
(6).UとUが計算した値σ
(a)i=1,...,mについてσ=g zpi(qA,1,qB,2,xA,xB),(QA,1=g qA,1,QB,2=g qB,2
(b)σm+1=g xAxB,σm+2=g xAxB
となるので、両者で計算した共有鍵Kは一致する。
なお、非特許文献1の中では、m=2として、多項式pを以下のようにしている。
Figure 2017208773
[[Cert−ID−FSU]]
(登場する装置)
・第一クライアント装置Uと第二クライアント装置U
・鍵生成装置KGC
・認証装置
(公開パラメータ)
・kをセキュリティパラメタとする。
・G,GとGを位数がkビット長の素数qの巡回群として、g,gとgをそれぞれの群の生成元とする。
・e:G×G→Gをペアリングとする。ここで、g=e(g,g)を満足するものとする。
・H:{0,1}→{0,1},H:{0,1}→GとH:{0,1}→Gをそれぞれ暗号学的Hash関数とする。
・2以上の自然数mに対して、m個の多項式p∈Z[u,u,v,v](i=1,...,m)を以下のように与える;
Figure 2017208773
ここで、ci,0,0,ci,0,1,ci,1,0とci,1,1は定数であってもよいし、短期公開鍵、公開鍵、ユーザID等に依存して決まる数でもよい。
・KGCはマスタ秘密鍵z∈Zをランダムに選択し、マスタ公開鍵Z=g ∈GとZ=g ∈Gを公開する。
・Uは識別子IDを持っていて、QA,1=H(ID)∈GとQA,2=H(ID)∈Gを計算し公開する。
(鍵生成)
KGCはUの(QA,1,QA,2)を用いて、秘密鍵のペアDA,1=QA,1 ,DA,2=QA,2 を計算し、Uに(DA,1,DA,2)を配布する。
は秘密鍵d∈Zを持っていて、公開鍵DB,1=g dB∈GとDB,2=g dB∈Gを計算し公開する。
認証装置はUの公開鍵Dを認証する。
は短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXA,1=g xAとXA,2=g xAを生成する。同様に、Uは短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXB,1=g xBとXB,2=g xBを生成する。
(鍵交換)
(1).UはUへ(ID,XA,1,XA,2)を送信する。
(2).UはUへ(DB,1,DB,2,XB,1,XB,2)を送信する。
(3).Uはe(XB,1,g)=e(g,XB,2)であるかとe(SB,1,g)=e(g,SB,2)確認し、Uはe(XA,1,g)=e(g,XA,2)であるか確認する。正しくなければ、鍵生成からやり直す。
(4).Uは以下の(a)〜(c)を行う。
(a)i=1,...,mについてσ=e(DA,1 ci,0,0 ci,1,0xA,SB,2)e(DA,1 ci,0,1 ci,1,1xA,XB,2)を計算する。
(b)σm+1=XB,1 xA,σm+2=XB,2 xAを計算する。
(c)σm+3=DB,1 xA,σm+4=DB,2 xAを計算する。
(d)共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,DB,1,DB,2)を計算する。
(5).Uは以下の(a)〜(c)を行う。
(a)i=1,...,mについてσ=e(QA,1,Z ci,0,0SB+ci,0,1,xB)e(XA,2,Z ci,1,0SB+ci,1,1xB)を計算する。
(b)σm+1=XA,1 xB,σm+2=XA,2 xBを計算する。
(c)σm+3=XA,1 dB,σm+4=XA,2 dBを計算する。
(d)共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,DB,1,DB,2)を計算する。
(6).UとUが計算した値σ
(a)i=1,...,mについてσ=g zpi(qA,1,SB,xA,xB),(QA,1=g qA,1
(b)σm+1=g xAxB,σm+2=g xAxB
(c)σm+3=g xAdB,σm+4=g xAdB
となるので、両者で計算した共有鍵Kは一致する。
A. Fujioka, F. Hoshino, T. Kobayashi, et. al. "id-eCK Secure ID-Based Authenticated Key Exchange on Symmetric and Asymmetric Pairing", IEICE Transactions 96-A(6): 1139-1155 (2013) B. Ustaoglu, "Integrating identity-based and certicate-based authenticated key exchange protocols", Int J Inf Secur 10(4): 201―212 (2011)
従来の認証鍵交換FSUにおいては、秘密鍵の管理を厳重に行う必要があった。例えば、IDに紐づく長期秘密鍵を耐タンパ性のある領域に保存するなどして厳重に行う必要があった。
この発明の目的は、従来よりも秘密鍵管理の利便性を向させた、共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラムを提供することである。
この発明の一態様による共有鍵共有システムは、第一クライアント装置、第二クライアント装置、鍵生成装置及びマスタ公開鍵保管サーバを含む共有鍵共有システムであって、kをセキュリティパラメタとし、G,G,Gを位数がkビット長の素数qの巡回群とし、g,g,gをG,GとGの生成元とし、e:G×G→Gをペアリング関数とし、g=e(g,g)とし、*をワイルドカードとして、H:{0,1}→{0,1},H:{0,1}→G,H:{0,1}→G,H:{0,1}→Zを暗号学的Hash関数とし、2以上の自然数mに対して、ci,0,0,ci,0,1,ci,1,0,ci,1,1を所定の定数とし、m個の多項式p∈Z[u,u,v,v](i=1,…,m)は以下の式により定義されるとし、
Figure 2017208773
z∈Zとし、Z=g ∈Gとし、Z=g ∈Gとし、Z=g ∈Gとし、上記第一クライアント装置の識別子をIDとし、QA,1=H(ID)とし、QA,2=H(ID)とし、上記第二クライアント装置の識別子をIDとし、QB,1=H(ID)とし、QB,2=H(ID)として、上記鍵生成装置は、DA,1=QA,1 ,DA,2=QA,2 を計算し、計算された(DA,1,DA,2)を上記第一クライアント装置に送信し、上記鍵生成装置は、DB,1=QB,1 ,DB,2=QA,2 を計算し、計算された(DB,1,DB,2)を上記第二クライアント装置に送信し、上記第一クライアント装置は、H(s)=α∈Zを生成し、AA,1=QA,1 αAを生成し、DA,1’=DA,1A,1 −1を計算し、上記第二クライアント装置は、H(s)=α∈Zを生成し、AB,1=QB,1 αBを生成し、DB,1’=DB,1B,1 −1を計算し、上記第一クライアント装置は、x∈Zとして、XA,1=g xA,XA,2=g xAを生成し、上記第二クライアント装置は、x∈Zとして、XB,1=g xB,XB,2=g xBを生成し、上記第一クライアント装置は、(ID,ID,XA,1,XA,2)を上記第二クライアント装置に送信し、上記第二クライアント装置は、(ID,ID,XB,1,XB,2)を上記第一クライアント装置に送信し、上記第一クライアント装置は、e(XB,1,g)=e(g,XB,2)であるか判定し、上記第二クライアント装置は、e(XA,1,g)=e(g,XA,2)であるか判定し、上記鍵生成装置、上記第一クライアント装置及び第二クライアント装置は、e(XB,1,g)=e(g,XB,2)であり、かつ、e(XA,1,g)=e(g,XA,2)であると判定されるまで、上記の処理を繰り返し行い、上記第一クライアント装置は、上記マスタ公開鍵保管サーバにe(Z,QB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行わせ、上記マスタ公開鍵保管サーバは、上記第一クライアント装置からの依頼を受けて、e(Z,QB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行い、上記第一クライアント装置は、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XB,1 xA,σm+2=XB,2 xAを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算し、
Figure 2017208773
上記第二クライアント装置は、上記マスタ公開鍵保管サーバにe(QA,1,Z)及びe(XA,2,Z)について、自己訂正技術を用いた代理計算を行わせ、上記マスタ公開鍵保管サーバは、上記第二クライアント装置からの依頼を受けて、e(QA,1,Z)及びe(XA,2,Z)について自己訂正技術を用いた代理計算を行い、上記第二クライアント装置は、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XA,1 xB,σm+2=XA,2 xBを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算する。
Figure 2017208773
この発明の一態様による共有鍵共有システムは、第一クライアント装置、第二クライアント装置、鍵生成装置、認証装置及びマスタ公開鍵保管サーバを含む共有鍵共有システムであって、kをセキュリティパラメタとし、G,G,Gを位数がkビット長の素数qの巡回群とし、g,g,gをG,GとGの生成元とし、e:G×G→Gをペアリング関数とし、g=e(g,g)とし、*をワイルドカードとして、H:{0,1}→{0,1},H:{0,1}→G,H:{0,1}→G,H:{0,1}→Zを暗号学的Hash関数とし、2以上の自然数mに対して、ci,0,0,ci,0,1,ci,1,0,ci,1,1を所定の定数とし、m個の多項式p∈Z[u,u,v,v](i=1,…,m)は以下の式により定義されるとし、
Figure 2017208773
z∈Zとし、Z=g ∈Gとし、Z=g ∈Gとし、Z=g ∈Gとし、上記第一クライアント装置の識別子をIDとし、QA,1=H(ID)とし、QA,2=H(ID)とし、d∈Zとし、DB,1=g dB∈Gとし、DB,2=g dB∈Gとして、上記鍵生成装置は、DA,1=QA,1 ,DA,2=QA,2 を計算し、計算された(DA,1,DA,2)を上記第一クライアント装置に送信し、上記鍵生成装置は、DB,1=QB,1 ,DB,2=QA,2 を計算し、計算された(DB,1,DB,2)を上記第二クライアント装置に送信し、上記認証装置は、第二クライアント装置のDB,1,DB,2を認証し、上記第一クライアント装置は、H(s)=α∈Zを生成し、AA,1=QA,1 αAを生成し、DA,1’=DA,1A,1 −1を計算し、上記第二クライアント装置は、H(s)=α∈Zを生成し、σ=d−αを計算し、上記第一クライアント装置は、x∈Zとして、XA,1=g xA,XA,2=g xAを生成し、上記第二クライアント装置は、x∈Zとして、XB,1=g xB,XB,2=g xBを生成し、上記第一クライアント装置は、(ID,ID,XA,1,XA,2)を上記第二クライアント装置に送信し、上記第二クライアント装置は、(DB,1,DB,2,XB,1,XB,2)を上記第一クライアント装置に送信し、上記第一クライアント装置は、e(XB,1,g)=e(g,XB,2)であるか判定し、上記鍵生成装置、上記第一クライアント装置及び第二クライアント装置は、e(XB,1,g)=e(g,XB,2)であり、かつ、e(DB,1,g)=e(g,DB,2)であると判定されるまで、上記の処理を繰り返し行い、上記第一クライアント装置は、上記マスタ公開鍵保管サーバにe(Z,DB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行わせ、上記マスタ公開鍵保管サーバは、上記第一クライアント装置からの依頼を受けて、e(Z,DB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行い、上記第一クライアント装置は、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XB,1 xA,σm+2=XB,2 xA,σm+3=DB,1 xA,σm+4=DB,2 xAを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,DB,1,DB,2)を計算し、
Figure 2017208773
上記第二クライアント装置は、上記マスタ公開鍵保管サーバにe(QA,1,Z)及びe(XA,2,Z)について、自己訂正技術を用いた代理計算を行わせ、上記マスタ公開鍵保管サーバは、上記第二クライアント装置からの依頼を受けて、e(QA,1,Z)及びe(XA,2,Z)について自己訂正技術を用いた代理計算を行い、上記第二クライアント装置は、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XA,1 xB,σm+2=XA,2 xB,σm+3=XA,1 σBA,1 αB,σm+4=XA,2 σBA,2 αBを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,SB,1,SB,2)を計算する。
Figure 2017208773
秘密鍵管理の利便性が向上する。
第一実施形態の共有鍵共有システムの例を説明するためのブロック図。 第二実施形態の共有鍵共有システムの例を説明するためのブロック図。
以下、図面を参照して、この発明の一実施形態について説明する。
まず、この発明の一実施形態において用いられる技術である、自己訂正技術を用いた群準同型の代理計算について説明する。
[自己訂正技術を用いた群準同型の代理計算]
以下、自己訂正技術を用いた群準同型の代理計算について説明する。
二つの群G,Hとその間の準同型写像をF:G→Hとする。クライアント装置Uはg∈Gを秘匿化し代理計算装置Pに送信し、代わりにF(g)を正しく計算してもらう手法を説明する(例えば、参考文献1参照。)。
〔参考文献1〕特開2012−151756号公報
1.クライアント装置Uは単位元でない適当な元g∈Gに対してF(g)を計算する。
2.クライアント装置Uはランダムな整数s,s∈Zを互いに素になるようにとり、s’とs’をss’+ss’=1を満足するに定める。
3.Uは任意の単位元でない元g,g∈Gを定め、Pへ二つのペア(g −1,gs1)と(g −1,gs2)を送信する。
4.Pはζ=F(g −1)F(gs1)とζ=F(g −1)F(gs2)を計算し、Uへ送信する。
5.Uはζ s2=ζ s1を確認する。正しくなければ、(1)に戻る。正しければ、ζ s’1ζ s’2=F(gs1s’1+s2s’2)=F(g)を計算する。
自己訂正技術を用いた代理計算のポイントは2つである。計算させる写像が準同型写像であることと適当な元gに対してクライアント装置がF(g)の正しい値を知っていることである。
[第一実施形態]
以下、第一実施形態の共有鍵共有システム及び方法について説明する。第一実施形態の共有鍵共有システム及び方法は、自己訂正とM−pinを用いたID−ID−FSUに関するものである。
(登場する装置)
・第一クライアント装置Uと第二クライアント装置U
・鍵生成装置KGC
・マスタ公開鍵保管サーバSER
以下、第一クライアント装置U、第二クライアント装置U、鍵生成装置KGC及びマスタ公開鍵保管サーバSERことをそれぞれU,U,KGC,SERと略記することもある。
共有鍵共有システムは、図1に示すように、第一クライアント装置U、第二クライアント装置U、鍵生成装置KGC及びマスタ公開鍵保管サーバSERを例えば備えている。共有鍵共有方法は、共有鍵共有システムの各部が、以下に説明する処理を例えば行うことにより実現される。
(公開パラメータ)
・kをセキュリティパラメタとする。kは所定の正の整数である。
・G,GとGを位数がkビット長の素数qの巡回群として、g,gとgをそれぞれの群の生成元とする。
・e:G×G→Gをペアリングとする。ここで、g=e(g,g)を満足するものとする。
・H:{0,1}→{0,1},H:{0,1}→G,H:{0,1}→GとH:{0,1}→Zをそれぞれ暗号学的Hash関数とする。
・2以上の自然数mに対して、m個の多項式p∈Z[u,u,v,v](i=1,...,m)を以下のように与える;
Figure 2017208773
ここで、ci,0,0,ci,0,1,ci,1,0とci,1,1は定数であってもよいし、短期公開鍵、公開鍵、ユーザID等に依存して決まる数でもよい。
・KGCは,マスタ秘密鍵z∈Zをランダムに選択し、マスタ公開鍵としてZ=g ∈GとZ=g ∈Gを生成し公開せずに、Serに送信する。また、擬マスタ公開鍵としてZ=g ∈Gを計算し、公開する。
・Uは識別子IDを持っていて、QA,1=H(ID)∈GとQA,2=H(ID)∈Gを計算し公開する。同じように、Uは識別子IDを持っていて、QB,1=H(ID)∈GとQB,2=H(ID)∈Gを計算し公開する。
(鍵生成)
KGCはUとUのIDとIDを用いて、秘密鍵の2つのペアDA,1=QA,1 ,DA,2=QA,2 とDB,1=QB,1 ,DB,2=QB,2 を計算し、Uに(DA,1,DA,2)を、Uに(DB,1,DB,2)を配布する。
必要があるならば、UはSerにe(QA,1,Z)及びe(Z,QA,2)の計算を依頼し、e(DA,1,g)=e(QA,1,Z)及びe(g,DA,2)=e(Z,QA,2)を判定し、KGCから配布された秘密鍵がマスタ秘密鍵zと紐付いているかの確認を行う。同様に、UはSerにe(DB,1,Z)及びe(Z,DB,2)の計算を依頼する。e(DB,1,g)=e(QB,1,Z)及びe(g,DB,2)=e(Z,QB,2)を判定し、KGCから配布された秘密鍵がマスタ秘密鍵zと紐付いているかの確認を行う。
なお、依頼するべき計算の関数は
Figure 2017208773
である。共に、群の準同型写像であり、また、e(g,Z)=e(Z,g)=g =Zであり、この値は擬マスタ公開鍵である。従って、代理計算を使うことができる。
はpin(personal identification number)であるsからH(s)=α∈Zを生成し、ΑA,1=QA,1 αAを生成する。UはδA,1=DA,1ΑA,1 −1を計算する。計算後にDA,1は消す。sは、Uのみしか知らない任意のストリングである。
はpinであるsからH(s)=α∈Zを生成し、ΑB,2=QB,2 αBを生成する。UはδB,2=DB,2ΑB,2 −1を計算する。計算後にDB,2は消す。sは、Uのみしか知らない任意のストリングである。
このように、秘密鍵DA,1を秘匿化された秘密鍵δA,1とpinとに分割し、秘密鍵DB,2を秘匿化された秘密鍵δB,2とpinとに分割する。そして、後述のように、秘匿化された秘密鍵δA,1,δB,2とpinの2要素によって認証鍵交換する。このようにすることで、秘匿化された秘密鍵かpinのどちらか片方が漏洩しても安全であり、秘匿化された秘密鍵をブラウザ等の利便性の高い領域などに保管することができる。よって、秘密鍵管理の利便性が向上する。
は短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXA,1=g xAとXA,2=g xAを生成する。同様に、Uは短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXB,1=g xBとXB,2=g xBを生成する。
(鍵交換)
(1).UはUへ(ID,ID,XA,1,XA,2)を送信する。
(2).UはUへ(ID,ID,XB,1,XB,2)を送信する。
(3).Uはe(XB,1,g)=e(g,XB,2)であるか確認し、Uはe(XA,1,g)=e(g,XA,2)であるか確認する。正しくなければ、鍵生成からやり直す。
(4).Uは以下の(a)〜(d)を行う。
(a)Serにe(Z,QB,2)およびe(Z,XB,2)の計算を依頼する。依頼する関数は
Figure 2017208773
であり、群の準同型であり、e(Z,g)=g となり、適当な一点を計算できるので、自己訂正の代理計算が可能である。
(b)i=1,...,mについて
Figure 2017208773
を計算する。
(c)σm+1=XB,1 xA,σm+2=XB,2 xAを計算する。
(d)共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算する。
(5).同じように、Uは以下の(a)〜(d)を行う。
(a)Serにe(QA,1,Z)およびe(XA,2,Z)の計算を依頼する。依頼する関数は
Figure 2017208773
であり、群の準同型であり、e(g,Z)=g となり、適当な一点を計算できるので、自己訂正の代理計算が可能である。
(b)i=1,...,mについて
Figure 2017208773
を計算する。
(c)σm+1=XA,1 xB,σm+2=XA,2 xBを計算する。
(d)共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算する。
(6).UとUが計算した値σ
(a)i=1,...,mについてσ=g zpi(qA,1,qb,1,xA,xB),(QA,1=g qA,1,QB,2=g qB,2
(b)σm+1=g xAxB,σm+2=g xAxB
となるので、両者で計算した共有鍵Kは一致する。
[第二実施形態]
以下、第二実施形態の共有鍵共有システム及び方法について説明する。第二実施形態の共有鍵共有システム及び方法は、M−pinを用いたCert−ID−FSUに関するものである。
(登場する装置)
・第一クライアント装置Uと第二クライアント装置U
・鍵生成局KGC
・認証装置N
・マスタ公開鍵保管サーバSER
以下、第一クライアント装置U、第二クライアント装置U、鍵生成装置KGC、認証装置N及びマスタ公開鍵保管サーバSERことをそれぞれU,U,KGC,N,SERと略記することもある。
共有鍵共有システムは、図2に示すように、第一クライアント装置U、第二クライアント装置U、鍵生成装置KGC、認証装置N及びマスタ公開鍵保管サーバSERを例えば備えている。共有鍵共有方法は、共有鍵共有システムの各部が、以下に説明する処理を例えば行うことにより実現される。
(公開パラメータ)
・kをセキュリティパラメタとする。
・G,GとGを位数がkビット長の素数qの巡回群として、g,gとgをそれぞれの群の生成元とする。
・e:G×G→Gをペアリングとする。ここで、g=e(g,g)を満足するものとする。
・H:{0,1}→{0,1},H:{0,1}→G,H:{0,1}→GとH:{0,1}→Zをそれぞれ暗号学的Hash関数とする。
・2以上の自然数mに対して、m個の多項式p∈Z[u,u,v,v](i=1,...,m)を以下のように与える;
Figure 2017208773
ここで、ci,0,0,ci,0,1,ci,1,0とci,1,1は定数であってもよいし、短期公開鍵、公開鍵、ユーザID等に依存して決まる数でもよい。
・KGCはマスタ秘密鍵z∈Zをランダムに選択し、マスタ公開鍵Z=g ∈GとZ=g ∈Gを生成し、Serへ送信する。また、擬マスタ公開鍵としてZ=g ∈Gを計算し、公開する。
・Uは識別子IDを持っていて、QA,1=H(ID)∈GとQA,2=H(ID)∈Gを計算し公開する。
(鍵生成)
KGCはUの(QA,1,QA,2)を用いて、秘密鍵のペアDA,1=QA,1 ,DA,2=QA,2 を計算し、Uに(DA,1,DA,2)を配布する。
必要があるならば、UはSerにe(QA,1,Z)及びe(Z,QA,2)の計算を依頼し、e(DA,1,g)=e(QA,1,Z)及びe(g,DA,2)=e(Z,QA,2)を判定し、KGCから配布された秘密鍵がマスタ秘密鍵zと紐付いているかの確認を行う。
なお、依頼するべき計算の関数は
Figure 2017208773
である。共に、群の準同型写像であり、また、e(g,Z)=e(Z,g)=g =Zであり、この値は擬マスタ公開鍵である。従って、代理計算を使うことができる。
は秘密鍵d∈Zを持っていて、公開鍵DB,1=g dB∈GとDB,2=g dB∈Gを計算し公開する。
認証装置NはUの公開鍵Dを認証する。
はpinであるsからH(s)=α∈Zを生成し、ΑA,1=QA,1 αAを生成する。UはδA,1=DA,1ΑA,1 −1を計算する。計算後にDA,1は消す。sは、Uのみしか知らない任意のストリングである。
はpinであるsからH(s)=α∈Zを生成し、σ=d−αを計算する。計算後にdは消す。sは、Uのみしか知らない任意のストリングである。
このように、秘密鍵DA,1を秘匿化された秘密鍵δA,1とpinとに分割し、秘密鍵dを秘匿化された秘密鍵σとpinとに分割する。そして、後述のように、秘匿化された秘密鍵δA,1,σとpinの2要素によって認証鍵交換する。このようにすることで、秘匿化された秘密鍵かpinのどちらか片方が漏洩しても安全であり、秘匿化された秘密鍵をブラウザ等の利便性の高い領域などに保管することができる。よって、秘密鍵管理の利便性が向上する。
は短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXA,1=g xAとXA,2=g xAを生成する。同様に、Uは短期秘密鍵x∈Zをランダムに選び、短期公開鍵のペアXB,1=g xBとXB,2=g xBを生成する。
(鍵交換)
(1).UはUへ(ID,XA,1,XA,2)を送信する。
(2).UはUへ(DB,1,DB,2,XB,1,XB,2)と送信する。
(3).Uはe(XB,1,g)=e(g,XB,2)であるかとe(DB,1,g)=e(g,DB,2)確認し、Uはe(XA,1,g)=e(g,XA,2)であるか確認する。正しくなければ、鍵生成からやり直す。
(4).Uは以下の(a)〜(d)を行う。
(a)Serにe(Z,DB,2)およびe(Z,XB,2)の計算を依頼する。依頼する関数は
Figure 2017208773
であり、群の準同型であり、e(Z,g)=g となり、適当な一点を計算できるので、自己訂正の代理計算が可能である。
(b)i=1,...,mについて
Figure 2017208773
を計算する。
(c)σm+1=XB,1 xA,σm+2=XB,2 xAを計算する。
(d)σm+3=DB,1 xA,σm+4=DB,2 xAを計算する。
(e)共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,DB,1,DB,2)を計算する。
(5).Uは以下の(a)〜(d)を行う。
(a)Serにe(QA,1,Z)およびe(XA,2,Z)の計算を依頼する。依頼する関数は
Figure 2017208773
であり、群の準同型であり、e(g,Z)=g となり、適当な一点を計算できるので、自己訂正の代理計算が可能である。
(b)i=1,...,mについて
Figure 2017208773
を計算する。
(c)σm+1=XA,1 xB,σm+2=XA,2 xBを計算する。
(d)σm+3=XA,1 σBA,1 αB,σm+4=XA,2 σBA,2 αBを計算する。
(e)共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,SB,1,SB,2
を計算する。
(6).UとUが計算した値σ
(a)i=1,...,mについてσ=g zpi(qA,1,sB,xA,xB),(QA,1=g qA,1
(b)σm+1=g xAxB,σm+2=g xAxB
(c)σm+3=g xAdB,σm+4=g xAdB
となるので、両者で計算した共有鍵Kは一致する。
[プログラム及び記録媒体]
共有鍵共有システム及び方法において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、第一クライアント装置、第二クライアント装置、マスタ公開鍵保管サーバにおける各処理をコンピュータによって実現する場合、第一クライアント装置、第二クライアント装置、マスタ公開鍵保管サーバが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
[変形例]
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。

Claims (7)

  1. 第一クライアント装置、第二クライアント装置、鍵生成装置及びマスタ公開鍵保管サーバを含む共有鍵共有システムであって、
    kをセキュリティパラメタとし、G,G,Gを位数がkビット長の素数qの巡回群とし、g,g,gをG,GとGの生成元とし、e:G×G→Gをペアリング関数とし、g=e(g,g)とし、*をワイルドカードとして、H:{0,1}→{0,1},H:{0,1}→G,H:{0,1}→G,H:{0,1}→Zを暗号学的Hash関数とし、2以上の自然数mに対して、ci,0,0,ci,0,1,ci,1,0,ci,1,1を所定の定数とし、m個の多項式p∈Z[u,u,v,v](i=1,…,m)は以下の式により定義されるとし、
    Figure 2017208773
    z∈Zとし、Z=g ∈Gとし、Z=g ∈Gとし、Z=g ∈Gとし、上記第一クライアント装置の識別子をIDとし、QA,1=H(ID)とし、QA,2=H(ID)とし、上記第二クライアント装置の識別子をIDとし、QB,1=H(ID)とし、QB,2=H(ID)として、
    上記鍵生成装置は、DA,1=QA,1 ,DA,2=QA,2 を計算し、計算された(DA,1,DA,2)を上記第一クライアント装置に送信し、
    上記鍵生成装置は、DB,1=QB,1 ,DB,2=QA,2 を計算し、計算された(DB,1,DB,2)を上記第二クライアント装置に送信し、
    上記第一クライアント装置は、H(s)=α∈Zを生成し、AA,1=QA,1 αAを生成し、DA,1’=DA,1A,1 −1を計算し、
    上記第二クライアント装置は、H(s)=α∈Zを生成し、AB,1=QB,1 αBを生成し、DB,1’=DB,1B,1 −1を計算し、
    上記第一クライアント装置は、x∈Zとして、XA,1=g xA,XA,2=g xAを生成し、
    上記第二クライアント装置は、x∈Zとして、XB,1=g xB,XB,2=g xBを生成し、
    上記第一クライアント装置は、(ID,ID,XA,1,XA,2)を上記第二クライアント装置に送信し、
    上記第二クライアント装置は、(ID,ID,XB,1,XB,2)を上記第一クライアント装置に送信し、
    上記第一クライアント装置は、e(XB,1,g)=e(g,XB,2)であるか判定し、
    上記第二クライアント装置は、e(XA,1,g)=e(g,XA,2)であるか判定し、
    上記鍵生成装置、上記第一クライアント装置及び第二クライアント装置は、e(XB,1,g)=e(g,XB,2)であり、かつ、e(XA,1,g)=e(g,XA,2)であると判定されるまで、上記の処理を繰り返し行い、
    上記第一クライアント装置は、上記マスタ公開鍵保管サーバにe(Z,QB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行わせ、
    上記マスタ公開鍵保管サーバは、上記第一クライアント装置からの依頼を受けて、e(Z,QB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行い、
    上記第一クライアント装置は、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XB,1 xA,σm+2=XB,2 xAを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算し、
    Figure 2017208773
    上記第二クライアント装置は、上記マスタ公開鍵保管サーバにe(QA,1,Z)及びe(XA,2,Z)について、自己訂正技術を用いた代理計算を行わせ、
    上記マスタ公開鍵保管サーバは、上記第二クライアント装置からの依頼を受けて、e(QA,1,Z)及びe(XA,2,Z)について自己訂正技術を用いた代理計算を行い、
    上記第二クライアント装置は、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XA,1 xB,σm+2=XA,2 xBを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算する、
    Figure 2017208773
    共有鍵共有システム。
  2. 第一クライアント装置、第二クライアント装置、鍵生成装置、認証装置及びマスタ公開鍵保管サーバを含む共有鍵共有システムであって、
    kをセキュリティパラメタとし、G,G,Gを位数がkビット長の素数qの巡回群とし、g,g,gをG,GとGの生成元とし、e:G×G→Gをペアリング関数とし、g=e(g,g)とし、*をワイルドカードとして、H:{0,1}→{0,1},H:{0,1}→G,H:{0,1}→G,H:{0,1}→Zを暗号学的Hash関数とし、2以上の自然数mに対して、ci,0,0,ci,0,1,ci,1,0,ci,1,1を所定の定数とし、m個の多項式p∈Z[u,u,v,v](i=1,…,m)は以下の式により定義されるとし、
    Figure 2017208773
    z∈Zとし、Z=g ∈Gとし、Z=g ∈Gとし、Z=g ∈Gとし、上記第一クライアント装置の識別子をIDとし、QA,1=H(ID)とし、QA,2=H(ID)とし、d∈Zとし、DB,1=g dB∈Gとし、DB,2=g dB∈Gとして、
    上記鍵生成装置は、DA,1=QA,1 ,DA,2=QA,2 を計算し、計算された(DA,1,DA,2)を上記第一クライアント装置に送信し、
    上記鍵生成装置は、DB,1=QB,1 ,DB,2=QA,2 を計算し、計算された(DB,1,DB,2)を上記第二クライアント装置に送信し、
    上記認証装置は、第二クライアント装置のDB,1,DB,2を認証し、
    上記第一クライアント装置は、H(s)=α∈Zを生成し、AA,1=QA,1 αAを生成し、DA,1’=DA,1A,1 −1を計算し、
    上記第二クライアント装置は、H(s)=α∈Zを生成し、σ=d−αを計算し、
    上記第一クライアント装置は、x∈Zとして、XA,1=g xA,XA,2=g xAを生成し、
    上記第二クライアント装置は、x∈Zとして、XB,1=g xB,XB,2=g xBを生成し、
    上記第一クライアント装置は、(ID,ID,XA,1,XA,2)を上記第二クライアント装置に送信し、
    上記第二クライアント装置は、(DB,1,DB,2,XB,1,XB,2)を上記第一クライアント装置に送信し、
    上記第一クライアント装置は、e(XB,1,g)=e(g,XB,2)であるか判定し、
    上記鍵生成装置、上記第一クライアント装置及び第二クライアント装置は、e(XB,1,g)=e(g,XB,2)であり、かつ、e(DB,1,g)=e(g,DB,2)であると判定されるまで、上記の処理を繰り返し行い、
    上記第一クライアント装置は、上記マスタ公開鍵保管サーバにe(Z,DB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行わせ、
    上記マスタ公開鍵保管サーバは、上記第一クライアント装置からの依頼を受けて、e(Z,DB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行い、
    上記第一クライアント装置は、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XB,1 xA,σm+2=XB,2 xA,σm+3=DB,1 xA,σm+4=DB,2 xAを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,DB,1,DB,2)を計算し、
    Figure 2017208773
    上記第二クライアント装置は、上記マスタ公開鍵保管サーバにe(QA,1,Z)及びe(XA,2,Z)について、自己訂正技術を用いた代理計算を行わせ、
    上記マスタ公開鍵保管サーバは、上記第二クライアント装置からの依頼を受けて、e(QA,1,Z)及びe(XA,2,Z)について自己訂正技術を用いた代理計算を行い、
    上記第二クライアント装置は、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XA,1 xB,σm+2=XA,2 xB,σm+3=XA,1 σBA,1 αB,σm+4=XA,2 σBA,2 αBを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,SB,1,SB,2)を計算する、
    Figure 2017208773
    共有鍵共有システム。
  3. 請求項1又は2の共有鍵共有システムの第一クライアント装置又は第二クライアント装置であるクライアント装置。
  4. 請求項1又は2の共有鍵共有システムのマスタ公開鍵保管サーバ。
  5. 第一クライアント装置、第二クライアント装置、鍵生成装置及びマスタ公開鍵保管サーバにより実行される共有鍵共有方法であって、
    kをセキュリティパラメタとし、G,G,Gを位数がkビット長の素数qの巡回群とし、g,g,gをG,GとGの生成元とし、e:G×G→Gをペアリング関数とし、g=e(g,g)とし、*をワイルドカードとして、H:{0,1}→{0,1},H:{0,1}→G,H:{0,1}→G,H:{0,1}→Zを暗号学的Hash関数とし、2以上の自然数mに対して、ci,0,0,ci,0,1,ci,1,0,ci,1,1を所定の定数とし、m個の多項式p∈Z[u,u,v,v](i=1,…,m)は以下の式により定義されるとし、
    Figure 2017208773
    z∈Zとし、Z=g ∈Gとし、Z=g ∈Gとし、Z=g ∈Gとし、上記第一クライアント装置の識別子をIDとし、QA,1=H(ID)とし、QA,2=H(ID)とし、上記第二クライアント装置の識別子をIDとし、QB,1=H(ID)とし、QB,2=H(ID)として、
    上記鍵生成装置が、DA,1=QA,1 ,DA,2=QA,2 を計算し、計算された(DA,1,DA,2)を上記第一クライアント装置に送信するステップと、
    上記鍵生成装置が、DB,1=QB,1 ,DB,2=QA,2 を計算し、計算された(DB,1,DB,2)を上記第二クライアント装置に送信するステップと、
    上記第一クライアント装置が、H(s)=α∈Zを生成し、AA,1=QA,1 αAを生成し、DA,1’=DA,1A,1 −1を計算するステップと、
    上記第二クライアント装置が、H(s)=α∈Zを生成し、AB,1=QB,1 αBを生成し、DB,1’=DB,1B,1 −1を計算するステップと、
    上記第一クライアント装置が、x∈Zとして、XA,1=g xA,XA,2=g xAを生成するステップと、
    上記第二クライアント装置が、x∈Zとして、XB,1=g xB,XB,2=g xBを生成するステップと、
    上記第一クライアント装置が、(ID,ID,XA,1,XA,2)を上記第二クライアント装置に送信するステップと、
    上記第二クライアント装置が、(ID,ID,XB,1,XB,2)を上記第一クライアント装置に送信するステップと、
    上記第一クライアント装置が、e(XB,1,g)=e(g,XB,2)であるか判定するステップと、
    上記第二クライアント装置が、e(XA,1,g)=e(g,XA,2)であるか判定するステップと、
    上記鍵生成装置、上記第一クライアント装置及び第二クライアント装置が、e(XB,1,g)=e(g,XB,2)であり、かつ、e(XA,1,g)=e(g,XA,2)であると判定されるまで、上記の処理を繰り返し行うステップと、
    上記第一クライアント装置が、上記マスタ公開鍵保管サーバにe(Z,QB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行わせるステップと、
    上記マスタ公開鍵保管サーバが、上記第一クライアント装置からの依頼を受けて、e(Z,QB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行い、
    上記第一クライアント装置が、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XB,1 xA,σm+2=XB,2 xAを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算するステップと、
    Figure 2017208773
    上記第二クライアント装置が、上記マスタ公開鍵保管サーバにe(QA,1,Z)及びe(XA,2,Z)について、自己訂正技術を用いた代理計算を行わせるステップと、
    上記マスタ公開鍵保管サーバが、上記第二クライアント装置からの依頼を受けて、e(QA,1,Z)及びe(XA,2,Z)について自己訂正技術を用いた代理計算を行うるステップと、
    上記第二クライアント装置が、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XA,1 xB,σm+2=XA,2 xBを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,ID,ID,XA,1,XA,2,XB,1,XB,2)を計算するステップと、
    Figure 2017208773
    を含む共有鍵共有方法。
  6. 第一クライアント装置、第二クライアント装置、鍵生成装置、認証装置及びマスタ公開鍵保管サーバにより実行される共有鍵共有方法であって、
    kをセキュリティパラメタとし、G,G,Gを位数がkビット長の素数qの巡回群とし、g,g,gをG,GとGの生成元とし、e:G×G→Gをペアリング関数とし、g=e(g,g)とし、*をワイルドカードとして、H:{0,1}→{0,1},H:{0,1}→G,H:{0,1}→G,H:{0,1}→Zを暗号学的Hash関数とし、2以上の自然数mに対して、ci,0,0,ci,0,1,ci,1,0,ci,1,1を所定の定数とし、m個の多項式p∈Z[u,u,v,v](i=1,…,m)は以下の式により定義されるとし、
    Figure 2017208773
    z∈Zとし、Z=g ∈Gとし、Z=g ∈Gとし、Z=g ∈Gとし、上記第一クライアント装置の識別子をIDとし、QA,1=H(ID)とし、QA,2=H(ID)とし、d∈Zとし、DB,1=g dB∈Gとし、DB,2=g dB∈Gとして、
    上記鍵生成装置が、DA,1=QA,1 ,DA,2=QA,2 を計算し、計算された(DA,1,DA,2)を上記第一クライアント装置に送信するステップと、
    上記鍵生成装置が、DB,1=QB,1 ,DB,2=QA,2 を計算し、計算された(DB,1,DB,2)を上記第二クライアント装置に送信するステップと、
    上記認証装置が、第二クライアント装置のDB,1,DB,2を認証するステップと、
    上記第一クライアント装置が、H(s)=α∈Zを生成し、AA,1=QA,1 αAを生成し、DA,1’=DA,1A,1 −1を計算するステップと、
    上記第二クライアント装置が、H(s)=α∈Zを生成し、σ=d−αを計算するステップと、
    上記第一クライアント装置が、x∈Zとして、XA,1=g xA,XA,2=g xAを生成するステップと、
    上記第二クライアント装置が、x∈Zとして、XB,1=g xB,XB,2=g xBを生成するステップと、
    上記第一クライアント装置が、(ID,ID,XA,1,XA,2)を上記第二クライアント装置に送信するステップと、
    上記第二クライアント装置が、(DB,1,DB,2,XB,1,XB,2)を上記第一クライアント装置に送信するステップと、
    上記第一クライアント装置が、e(XB,1,g)=e(g,XB,2)であるか判定するステップと、
    上記鍵生成装置、上記第一クライアント装置及び第二クライアント装置が、e(XB,1,g)=e(g,XB,2)であり、かつ、e(DB,1,g)=e(g,DB,2)であると判定されるまで、上記の処理を繰り返し行うステップと、
    上記第一クライアント装置が、上記マスタ公開鍵保管サーバにe(Z,DB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行わせるステップと、
    上記マスタ公開鍵保管サーバが、上記第一クライアント装置からの依頼を受けて、e(Z,DB,2)及びe(Z,XB,2)について自己訂正技術を用いた代理計算を行うステップと、
    上記第一クライアント装置が、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XB,1 xA,σm+2=XB,2 xA,σm+3=DB,1 xA,σm+4=DB,2 xAを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,DB,1,DB,2)を計算するステップと、
    Figure 2017208773
    上記第二クライアント装置が、上記マスタ公開鍵保管サーバにe(QA,1,Z)及びe(XA,2,Z)について、自己訂正技術を用いた代理計算を行わせるステップと、
    上記マスタ公開鍵保管サーバが、上記第二クライアント装置からの依頼を受けて、e(QA,1,Z)及びe(XA,2,Z)について自己訂正技術を用いた代理計算を行うステップと、
    上記第二クライアント装置が、以下の式により定義されるσ(i=1,…,m)を計算し、σm+1=XA,1 xB,σm+2=XA,2 xB,σm+3=XA,1 σBA,1 αB,σm+4=XA,2 σBA,2 αBを計算し、共有鍵K=H(σ,...,σ,σm+1,σm+2,σm+3,σm+4,ID,ID,XA,1,XA,2,XB,1,XB,2,SB,1,SB,2)を計算するステップと、
    Figure 2017208773
    を含む共有鍵共有方法。
  7. 請求項3のクライアント装置、請求項4のマスタ公開鍵保管サーバとしてコンピュータを機能させるためのプログラム。
JP2016101710A 2016-05-20 2016-05-20 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム Pending JP2017208773A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016101710A JP2017208773A (ja) 2016-05-20 2016-05-20 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016101710A JP2017208773A (ja) 2016-05-20 2016-05-20 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム

Publications (1)

Publication Number Publication Date
JP2017208773A true JP2017208773A (ja) 2017-11-24

Family

ID=60416566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016101710A Pending JP2017208773A (ja) 2016-05-20 2016-05-20 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム

Country Status (1)

Country Link
JP (1) JP2017208773A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018126628A1 (de) 2017-10-30 2019-05-02 Shimano Inc. Spinnrolle
JP2019102959A (ja) * 2017-12-01 2019-06-24 日本電信電話株式会社 サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム
CN110971401A (zh) * 2019-11-19 2020-04-07 武汉大学 一种基于交叉互锁机制的认证密钥协商方法及其实施装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090307492A1 (en) * 2007-11-19 2009-12-10 Zhenfu Cao Method,system and network device for bidirectional authentication
JP2013157711A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 鍵交換装置、鍵交換システム、鍵交換方法、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090307492A1 (en) * 2007-11-19 2009-12-10 Zhenfu Cao Method,system and network device for bidirectional authentication
JP2013157711A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 鍵交換装置、鍵交換システム、鍵交換方法、プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
齋藤 恆和,他: "ID認証鍵交換における自己訂正を用いた鍵管理方式", 2015年暗号と情報セキュリティシンポジウム, vol. 3F2−3, JPN6019006721, 23 January 2015 (2015-01-23), pages 1 - 6, ISSN: 0003986573 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018126628A1 (de) 2017-10-30 2019-05-02 Shimano Inc. Spinnrolle
JP2019102959A (ja) * 2017-12-01 2019-06-24 日本電信電話株式会社 サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム
CN110971401A (zh) * 2019-11-19 2020-04-07 武汉大学 一种基于交叉互锁机制的认证密钥协商方法及其实施装置
CN110971401B (zh) * 2019-11-19 2021-10-22 武汉大学 一种基于交叉互锁机制的认证密钥协商方法及其实施装置

Similar Documents

Publication Publication Date Title
US10903991B1 (en) Systems and methods for generating signatures
CN111066285B (zh) 基于sm2签名恢复公钥的方法
TWI760149B (zh) 決定用於資訊的安全交換的共同私密,及階層化的決定性加密金鑰
CN108352015B (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
US10027654B2 (en) Method for authenticating a client device to a server using a secret element
Saha et al. On the design of blockchain-based access control protocol for IoT-enabled healthcare applications
JP7190481B2 (ja) 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法
TWI744532B (zh) 用以於區塊鏈網路節點間建立受信賴點對點通訊之方法與系統
CN111682938B (zh) 面向中心化移动定位系统的三方可认证密钥协商方法
US9065637B2 (en) System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
US9705683B2 (en) Verifiable implicit certificates
TWI444030B (zh) 動態群組中建立金鑰、認證及安全通訊方法
CN102318258A (zh) 基于身份的认证密钥协商协议
CN107342859A (zh) 一种匿名认证方法及其应用
CN114710275B (zh) 物联网环境下基于区块链的跨域认证和密钥协商方法
CN103546567A (zh) 一种可信云计算环境中无证书跨域认证方法
CN106487786A (zh) 一种基于生物特征的云数据完整性验证方法及系统
JP2022500920A (ja) コンピュータにより実施される、共通シークレットを共有するシステム及び方法
EP3232603B1 (en) Key-exchange method, key-exchange system, terminal device, and program
WO2019093963A1 (zh) 基于异构身份的交互系统及方法
JP2017208773A (ja) 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains
Zhang et al. Mobile payment protocol based on dynamic mobile phone token

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190625

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191126