孟博,王瀟瀟,鄭緒睿,劉琴
(中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,武漢 430074)
隨著網(wǎng)絡(luò)應(yīng)用環(huán)境變得越來(lái)越復(fù)雜, 通信雙方極有可能支持不同的密碼體制, 因此現(xiàn)有的基于同構(gòu)環(huán)境(通信雙方支持相同密碼體制)的安全機(jī)制不能滿足異構(gòu)環(huán)境(通信雙方支持不同密碼體制)中網(wǎng)絡(luò)通信安全的需要.文獻(xiàn)[1-19]提出異構(gòu)簽密方案,實(shí)現(xiàn)機(jī)密性和認(rèn)證性.但是在許多異構(gòu)應(yīng)用場(chǎng)景中,僅需要認(rèn)證性,比如網(wǎng)絡(luò)公告欄,不需要機(jī)密性.在這種情況下,如果應(yīng)用異構(gòu)簽密,通信成本高,代價(jià)大.因此融合異構(gòu)簽密和數(shù)字簽名思想,首先提出異構(gòu)數(shù)字簽名的概念,異構(gòu)數(shù)字簽名是指,在異構(gòu)環(huán)境下,對(duì)消息進(jìn)行數(shù)字簽名,進(jìn)而提出一種安全的公鑰基礎(chǔ)設(shè)施(public key infrastructure,PKI)與基于身份加密(identity-based cryptography,IBC)之間的雙向異構(gòu)數(shù)字簽名方案.在異構(gòu)環(huán)境下,實(shí)現(xiàn)對(duì)消息的異構(gòu)數(shù)字簽名,保障異構(gòu)環(huán)境中的網(wǎng)絡(luò)通信安全.
本文工作主要涉及到數(shù)字簽名和異構(gòu)簽密.首先介紹數(shù)字簽名的相關(guān)工作,然后討論異構(gòu)簽密的相關(guān)內(nèi)容.數(shù)字簽名是密碼學(xué)的一個(gè)重要分支.2015年,楊曉峰等[20]提出了基于PKI的可信二維碼方案,使用RSA算法進(jìn)行數(shù)字簽名和認(rèn)證.同年,孫善寶[21]結(jié)合PKI和證書(shū)權(quán)威機(jī)構(gòu)(certificate authority,CA)、時(shí)間戳、手寫(xiě)簽名識(shí)別等,提出一種隨機(jī)個(gè)體數(shù)字簽名認(rèn)證方案.2018年,張鍵紅等[22]結(jié)合基于身份的密碼體制和多重?cái)?shù)字簽名算法,提出了一種高效的安全的多重?cái)?shù)字簽名方案.2015年,甄平等[23]利用Chebyshev公鑰算法,提出一種基于身份的前向安全數(shù)字簽名算法,支持簽名的前向安全性.
異構(gòu)簽密(Heterogeneous Signcryption)概念由孫英霞等[1]提出,此外她們還提出一種基于傳統(tǒng)公鑰密碼體制和基于身份公鑰密碼體制之間的簽密方案,但是不滿足不可否認(rèn)性.2016年,張玉磊等[5]提出無(wú)證書(shū)公鑰加密(certificateless public key cryptography,CLPKC)→傳統(tǒng)的公鑰基礎(chǔ)設(shè)施(traditional public key infrastructure,TPKI)異構(gòu)簽密方案,該方案滿足密文匿名性,可以有效地保護(hù)收發(fā)雙方的身份隱私.2017年,張玉磊等[6]提出PKI與CLC環(huán)境的雙向異構(gòu)簽密方案,實(shí)現(xiàn)了異構(gòu)環(huán)境之間數(shù)據(jù)的安全傳輸.同年,王彩芬等[7]提出基于 PKI 和 IBC 的雙向匿名異構(gòu)簽密方案.2018年,劉景偉等[10]提出兩個(gè)PKI和CLC之間的無(wú)雙線性對(duì)的簽密方案.2019年,曹素珍等[11]提出了改進(jìn)的PKI→IBC方案和IBC→PKI方案,并在隨機(jī)預(yù)言模型下給出安全證明.2017年,葛麗霞等[24]提出了異構(gòu)指定驗(yàn)證者簽名方案,包含HSDVS-I方案和HSDVS-II方案,對(duì)HSDVS-II方案分析后,發(fā)現(xiàn)正確性和不可傳遞性的證明過(guò)程錯(cuò)誤,因此,HSDVS-II方案不滿足正確性和不可傳遞性.
異構(gòu)環(huán)境是指,在此環(huán)境中,通信雙方支持的密碼體制不同,如,用戶A屬于無(wú)證書(shū)環(huán)境,用戶B屬于公鑰基礎(chǔ)設(shè)施環(huán)境,此時(shí),用戶A和用戶B之間的通信處于異構(gòu)環(huán)境.
首先介紹雙線性對(duì)的性質(zhì),然后介紹雙線性Diffie-Hellman問(wèn)題(BDHP, Bilinear Diffie-Hellman problem).
雙線性對(duì)的性質(zhì):
假設(shè)G1是階為素?cái)?shù)q的循環(huán)加法群,G2是階為素?cái)?shù)q的循環(huán)乘法群,雙線性對(duì)e:G1×G1→G2滿足以下性質(zhì):
BDHP問(wèn)題:
已知G1是一個(gè)階為素?cái)?shù)q的循環(huán)加法群,P是G1的一個(gè)生成元,G2是一個(gè)階為素?cái)?shù)q的循環(huán)乘法群,G1和G2之間滿足雙線性映射e,e:G1×G1→G2.
基于BDHP問(wèn)題,提出PKI與IBC之間的雙向異構(gòu)數(shù)字簽名方案,支持正確性、不可偽造性和不可否認(rèn)性.該方案包含PKI→IBC異構(gòu)數(shù)字簽名方案和IBC→PKI異構(gòu)數(shù)字簽名方案.PKI與IBC之間的雙向異構(gòu)數(shù)字簽名方案由設(shè)置系統(tǒng)公共參數(shù)、密鑰生成、生成簽名和驗(yàn)證簽名4個(gè)算法組成,下面介紹這4個(gè)算法.
設(shè)置系統(tǒng)公共參數(shù):輸入安全參數(shù)k,私鑰生成中心(private key generation,PKG)生成系統(tǒng)主公鑰、主密鑰,輸出系統(tǒng)公共參數(shù)param,保留系統(tǒng)主密鑰s.
密鑰生成:PKI環(huán)境中的用戶公鑰為PKA,私鑰為SKA,密鑰對(duì)為(PKA,SKA),IBC環(huán)境中的用戶公鑰為PKB,私鑰為SKB,密鑰對(duì)為(PKB,SKB).PKI環(huán)境中的用戶向CA提交自己的身份IDA,CA給用戶頒發(fā)證書(shū),用戶設(shè)置私鑰,計(jì)算對(duì)應(yīng)的公鑰,公鑰與CA頒發(fā)的證書(shū)綁定,輸出結(jié)果為公鑰PKA、私鑰SKA.IBC環(huán)境中的用戶向PKG提交自己的身份IDB,PKG根據(jù)用戶的身份設(shè)置私鑰,發(fā)送給用戶,用戶計(jì)算公鑰,輸出結(jié)果為公鑰PKB、私鑰SKB.
生成簽名:簽名者生成簽名.輸入消息m、簽名者的公鑰、私鑰、驗(yàn)證者的公鑰,執(zhí)行算法Sign(σ,m,PKS,SKS,PKV),其中,S表示簽名者,V表示驗(yàn)證者,輸出簽名σ.簽名者發(fā)送δ=(σ,m)給驗(yàn)證者.
驗(yàn)證簽名:驗(yàn)證者驗(yàn)證簽名.驗(yàn)證者收到簽名,輸入消息m,簽名者的公鑰、驗(yàn)證者的私鑰,執(zhí)行算法Verify(σ,m,PKS,SKV),其中,S表示簽名者,V表示驗(yàn)證者,驗(yàn)證者接受簽名或者輸出錯(cuò)誤符號(hào)⊥.
PKI→IBC異構(gòu)數(shù)字簽名方案和IBC→PKI異構(gòu)數(shù)字簽名方案采用相同的系統(tǒng)公共參數(shù)和密鑰生成兩個(gè)算法.下面介紹設(shè)置系統(tǒng)參數(shù)和密鑰生成兩個(gè)算法.
設(shè)置系統(tǒng)參數(shù):
系統(tǒng)參數(shù)由可信第三方PKG生成,輸入一個(gè)安全參數(shù)為k,PKG選擇階為素?cái)?shù)q的循環(huán)加法群G1和階為素?cái)?shù)q的循環(huán)乘法群G2,P是G1的一個(gè)生成元,定義一個(gè)雙線性對(duì)e,e:G1×G1→G2.
公開(kāi)系統(tǒng)參數(shù):param={k,q,G1,G2,P,e,H1,H2,Ppub},保留主密鑰s.
密鑰生成:
IBC環(huán)境中的用戶向PKG提交自己的身份IDB,PKG計(jì)算用戶的私鑰SKB=sH1(IDB),發(fā)送給用戶,其中,PKB=H1(IDB)為用戶的公鑰.IBC環(huán)境中的用戶的公鑰為PKB,私鑰為SKB,PKB=H1(IDB),SKB=sH1(IDB),密鑰對(duì)為(PKB,SKB).
設(shè)置系統(tǒng)參數(shù)與密鑰生成兩個(gè)算法的結(jié)果如下:
(1)設(shè)置系統(tǒng)參數(shù)的結(jié)果.
公開(kāi)系統(tǒng)參數(shù):param={k,q,G1,G2,P,e,H1,H2,Ppub},保留主密鑰s.
(2)密鑰生成的結(jié)果.
密鑰生成:
PKI→IBC異構(gòu)數(shù)字簽名方案,如圖1所示,假設(shè)簽名者是 PKI環(huán)境中的用戶,驗(yàn)證者是IBC環(huán)境中的用戶.簽名者應(yīng)用PKI密碼體制生成異構(gòu)數(shù)字簽名,驗(yàn)證者應(yīng)用IBC密碼體制驗(yàn)證異構(gòu)數(shù)字簽名.該方案包含兩個(gè)步驟:生成簽名,如圖2所示,驗(yàn)證簽名,如圖3所示.
圖1 PKI→IBC異構(gòu)環(huán)境
圖2 PKI→IBC異構(gòu)數(shù)字簽名方案中簽名者生成簽名
圖3 PKI→IBC異構(gòu)數(shù)字簽名方案中驗(yàn)證者驗(yàn)證簽名
(1)生成簽名.
計(jì)算W1=e(SKAPpub,r2PKB).
計(jì)算S=r1+SKAH2(W1,m).
簽名為σ=(R1,R2,S),簽名者發(fā)送δ=(σ,m)給驗(yàn)證者.
(2)驗(yàn)證簽名.
驗(yàn)證者的密鑰對(duì)為(PKB,SKB),PKA是簽名者的公鑰,驗(yàn)證者收到δ=(σ,m)之后,驗(yàn)證δ,輸入信息為δ=(σ,m).
計(jì)算W2=e(R2,SKB).
計(jì)算V=SP-H2(W2,m)PKA.
驗(yàn)證V=R1等式成立情況,若等式成立,驗(yàn)證簽名成功,接受簽名,輸出1;否則輸出錯(cuò)誤符號(hào)⊥.
定義1:正確性:一個(gè)有效的異構(gòu)數(shù)字簽名能夠成功通過(guò)驗(yàn)證算法的驗(yàn)證.
證明PKI→IBC異構(gòu)數(shù)字簽名方案的正確性:
W1=e(SKAPpub,r2PKB)=e(SKAsP,r2PKB)=e(SpKA,r2PKB)=e(PKA,r2SKB)=e(r2PKA,SKB)
W2=e(R2,SKB)=e(r2PKA,SKB)
故W1=W2
V=SP-H2(W2,m)PKA=(r1SKA+H2(W1,m))P-H2(W2,m)PKA
∵W1=W2
∴H2(W1,m)=H2(W2,m)
∴V=R1=r1p
證明簽名δ=(σ,m)滿足驗(yàn)證等式V=R1,由結(jié)果可知,V=R1=r1P,所以,PKI→IBC異構(gòu)數(shù)字簽名方案的正確性得證.
IBC→PKI異構(gòu)數(shù)字簽名方案,如圖4所示,假設(shè)簽名者是PKI環(huán)境中的用戶,驗(yàn)證者是IBC環(huán)境中的用戶.簽名者應(yīng)用IBC密碼體制生成異構(gòu)數(shù)字簽名,驗(yàn)證者應(yīng)用PKI密碼體制驗(yàn)證異構(gòu)數(shù)字簽名.該方案包含兩個(gè)步驟:生成簽名,如圖5所示,驗(yàn)證簽名,如圖6所示.
圖4 IBC→PKI異構(gòu)環(huán)境
圖5 IBC→PKI異構(gòu)數(shù)字簽名方案中簽名者生成簽名
圖6 IBC→PKI異構(gòu)數(shù)字簽名方案中驗(yàn)證者驗(yàn)證簽名
(1)生成簽名.
計(jì)算W1=e(SKB,r2PKA).
計(jì)算S=r1PKB+SKBH2(W1,m).
簽名為σ=(R1,R2,S),簽名者發(fā)送δ=(σ,m)給驗(yàn)證者.
(2)驗(yàn)證簽名.
驗(yàn)證者的密鑰對(duì)為(PKA,SKA),PKB表示簽名者的公鑰,驗(yàn)證者收到δ=(σ,m)之后,驗(yàn)證δ,輸入信息為δ=(σ,m).
計(jì)算W2=e(PKBSKA,r2Ppub).
計(jì)算h=H2(W2,m).
驗(yàn)證e(S,P)=e(R1+hPpub,PKB)等式成立的情況,若等式成立,驗(yàn)證簽名成功,接受簽名,輸出1;否則輸出錯(cuò)誤符號(hào)⊥.
證明IBC→PKI異構(gòu)數(shù)字簽名方案的正確性:
W1=e(SKB,r2PKA)=e(sPKB,r2SKAP)=e(PKBSKA,r2Ppub)
W2=e(PKBSKA,r2Ppub)=e(SKB,r2PKA)
則W1=W2
e(S,P)=e(r1PKB+SKBH2(W1,m),P)=e(r1PKB,P)e(SKBH2(W1,m),P)=e(R1,PKB)e(PKBH2(W1,m),Ppub)
因W1=W2,h=H2(W2,m)
故H2(W1,m)=H2(W2,m)
則e(S,P)=e(R1+hPpub,PKB)
證明簽名δ=(σ,m)滿足驗(yàn)證等式e(S,P)=e(R1+hPpub,PKB),由結(jié)果可知,e(S,P)=e(R1+hPpub,PKB),所以,IBC→PKI異構(gòu)數(shù)字簽名方案的正確性得證.
不可偽造性指,除非攻擊者獲得簽名人或者驗(yàn)證者的私鑰,否則,不能生成一個(gè)有效的簽名.即:利用公共的密鑰以及公開(kāi)的系統(tǒng)參數(shù)等公開(kāi)的信息無(wú)法生成簽名者的簽名,使得驗(yàn)證等式成立.孫英霞等[1]提出的不可偽造性模型中,詢問(wèn)階段只包含密鑰生成詢問(wèn)階段、簽密詢問(wèn)階段和解簽密詢問(wèn)階段,但是沒(méi)有涉及偽造階段,故不能直接用來(lái)分析提出方案的不可偽造性,因?yàn)楸痉桨傅牟豢蓚卧煨宰C明基于偽造簽名的分叉引理.故基于隨機(jī)預(yù)言機(jī)模型,提出不可偽造性安全證明模型,模型包含3個(gè)階段:初始化參數(shù),詢問(wèn)階段,偽造階段,其中,F(xiàn)表示挑戰(zhàn)者,AII表示敵手,敵手AII是挑戰(zhàn)者F的一個(gè)子程序.
(1)初始化參數(shù).
(2)詢問(wèn)階段.
詢問(wèn)階段:敵手AII執(zhí)行以下詢問(wèn):哈希詢問(wèn)、密鑰提取詢問(wèn)、簽名詢問(wèn)、驗(yàn)證詢問(wèn),挑戰(zhàn)者F維護(hù)初始值為空的列表,記錄Hi(1≤i≤2)預(yù)言機(jī)和公鑰詢問(wèn)信息,返回對(duì)應(yīng)的回答.
哈希詢問(wèn):挑戰(zhàn)者F維護(hù)哈希列表,進(jìn)行詢問(wèn)的身份為IDi,挑戰(zhàn)者F從哈希列表中查找,存在對(duì)應(yīng)的記錄,返回對(duì)應(yīng)的哈希值;如果不存在,挑戰(zhàn)者F隨機(jī)選擇,將隨機(jī)結(jié)果返回給敵手AII,將返回結(jié)果存入列表中.
密鑰提取詢問(wèn):敵手AII對(duì)PKI與IBC環(huán)境的用戶公鑰和私鑰進(jìn)行詢問(wèn),IDi表示PKI環(huán)境中用戶的身份,IDj表示IBC環(huán)境中用戶的身份, 將返回結(jié)果存入列表中.
簽名詢問(wèn):挑戰(zhàn)者AII運(yùn)行生成簽名的算法,返回簽名δ=(σ,m).
驗(yàn)證詢問(wèn):敵手AII對(duì)簽名進(jìn)行驗(yàn)證詢問(wèn),如果IDA=IDi,IDB=IDj,停止詢問(wèn).否則,挑戰(zhàn)者F計(jì)算驗(yàn)證者的私鑰,代入驗(yàn)證等式,驗(yàn)證簽名的真實(shí)性,若等式成立,接受簽名,輸出1;否則,輸出錯(cuò)誤符號(hào)⊥.
(3)偽造階段.
偽造階段:敵手AII輸出偽造的簽名.
敵手AII輸出關(guān)于消息m′的一個(gè)簽名δ′=(σ′,m′),其中,i表示簽名者,j表示驗(yàn)證者,如果IDi=IDA,并且IDj=IDB,敵手AII成功偽造簽名δ′;否則,挑戰(zhàn)失敗.
敵手AII輸出一個(gè)等式類(lèi)似于W1=e(P,P)abc形式的解作為BDH問(wèn)題的一個(gè)實(shí)例解.
證畢.
定理1:PKI→IBC的異構(gòu)數(shù)字簽名方案是不可偽造的.
證明如下:
證明:挑戰(zhàn)者F輸入BDH問(wèn)題的實(shí)例(P,aP,bP)∈G1,目標(biāo)是計(jì)算e(P,P)ab.
(1)初始化參數(shù).
敵手AII進(jìn)行多次詢問(wèn),挑戰(zhàn)者F維護(hù)初始為空的表l1-l3.
(2)詢問(wèn)階段.
敵手AII執(zhí)行以下詢問(wèn),挑戰(zhàn)者F返回對(duì)應(yīng)的回答.
哈希詢問(wèn):
密鑰提取詢問(wèn):
敵手AII對(duì)PKI與IBC環(huán)境的用戶公鑰和私鑰進(jìn)行詢問(wèn).
PKI私鑰詢問(wèn): 敵手Aii詢問(wèn)IDi私鑰時(shí),AII從表l1中得到(i,IDi,PKi,xi),返回SKi=xi.
IBC公鑰詢問(wèn):敵手AII詢問(wèn)IDj公鑰時(shí),即做H1詢問(wèn),若IDj=IDB,模擬結(jié)束;若IDj≠I(mǎi)DB,挑戰(zhàn)者F首先查表H1-list,返回bP,存入表l2中.
IBC私鑰詢問(wèn):敵手AII詢問(wèn)IDj私鑰時(shí),若IDj=IDB,模擬結(jié)束;若IDj≠I(mǎi)DB,挑戰(zhàn)者F首先查詢表H1-list,返回sH1(IDj),存入表l3中.
簽名詢問(wèn):
如果敵手AII對(duì)消息m進(jìn)行簽名詢問(wèn), 其中驗(yàn)證者的身份為IDj, 挑戰(zhàn)者F做如下回答:
如果簽名者既不是真正的簽名者也不是真正的驗(yàn)證者,那么挑戰(zhàn)者F就可以運(yùn)行簽名算法返回一個(gè)簽名,生成簽名過(guò)程為:
計(jì)算雙線性對(duì)W1=e(SKiPpub,r2PKB).
計(jì)算S=r1+SKiH2(W1,m).
挑戰(zhàn)者F輸出簽名δ=(σ,m)=(R1,R2,S,m)給敵手AII.
驗(yàn)證詢問(wèn):
如果敵手AII對(duì)簽名進(jìn)行驗(yàn)證詢問(wèn),簽名者的身份為IDi,驗(yàn)證者的身份為IDi,如果IDi=IDA,并且IDj=IDB,模擬結(jié)束;否則,挑戰(zhàn)者F計(jì)算驗(yàn)證者IDj的私鑰,計(jì)算V=SP-H2(W2,m)PKi,驗(yàn)證等式V=R1的成立情況,若等式成立,接受簽名,輸出1,否則,輸出錯(cuò)誤符號(hào)⊥.
(3)偽造階段.
敵手AII輸出關(guān)于消息m′的一個(gè)簽名δ′=(σ′,m′),其中i表示簽名者,j表示驗(yàn)證者,如果IDi=IDA,并且IDj=IDB,敵手AII成功偽造簽名δ′;否則,挑戰(zhàn)失敗.
證畢.
定理2:IBC→PKI的異構(gòu)數(shù)字簽名方案是不可偽造的.
證明如下:
證明:挑戰(zhàn)者F輸入BDH問(wèn)題的實(shí)例(P,aP,bP)∈G1,目標(biāo)是計(jì)算e(P,P)ab.
(1)初始化參數(shù).
敵手AII進(jìn)行多次詢問(wèn),挑戰(zhàn)者F維護(hù)初始為空的表l1-l3.
(2)詢問(wèn)階段.
敵手AII執(zhí)行以下詢問(wèn),挑戰(zhàn)者F返回對(duì)應(yīng)的回答.
哈希詢問(wèn):
H1詢問(wèn):同定理1的H1詢問(wèn),返回的詢問(wèn)結(jié)果如下:
H2詢問(wèn):同定理1的H2詢問(wèn).
密鑰提取詢問(wèn):
敵手AII對(duì)PKI與IBC環(huán)境的用戶公鑰和私鑰進(jìn)行詢問(wèn).
PKI公鑰詢問(wèn):同4.2的PKI公鑰詢問(wèn).
PKI私鑰詢問(wèn):同4.2的PKI私鑰詢問(wèn).
IBC公鑰詢問(wèn):同4.2的IBC公鑰詢問(wèn).
IBC私鑰詢問(wèn):同4.2的IBC私鑰詢問(wèn).
簽名詢問(wèn):
如果敵手AII對(duì)消息m進(jìn)行簽名詢問(wèn),其中驗(yàn)證者的身份為IDi,挑戰(zhàn)者F做如下回答:
如果簽名者既不是真正的簽名者也不是真正的驗(yàn)證者,那么挑戰(zhàn)者F就可以運(yùn)行簽名算法返回一個(gè)簽名,生成簽名過(guò)程為:
挑戰(zhàn)者F生成簽名者的私鑰SKj=sH1(IDj),計(jì)算雙線性對(duì)W1=e(SKj,r2PKA),h1=H2(W1,m).
計(jì)算S=r1PKj+h1SKj.
挑戰(zhàn)者F輸出簽名δ=(σ,m)=(R1,R2,S,m)給敵手AII.
驗(yàn)證詢問(wèn):
如果敵手AII對(duì)簽名進(jìn)行驗(yàn)證詢問(wèn),簽名者的身份為IDi,驗(yàn)證者的身份為IDj,如果IDi=IDA,并且IDj=IDB,模擬結(jié)束;否則,挑戰(zhàn)者F計(jì)算驗(yàn)證者IDj的私鑰,計(jì)算W2=e(SKj,r2P)SKA,計(jì)算h=H2(W2,m),驗(yàn)證等式e(S,P)=e(R1+h2Ppub,PKj)的成立情況,若等式成立,接受簽名,輸出1,否則,輸出錯(cuò)誤符號(hào)⊥.
(3)偽造階段.
敵手AII輸出關(guān)于消息m′的一個(gè)簽名δ′=(σ′,m′),其中i表示簽名者,j表示驗(yàn)證者,如果IDi=IDA,并且IDj=IDB,敵手AII成功偽造簽名σ′;否則,挑戰(zhàn)失敗.
不可否認(rèn)性是指生成簽名步驟中,生成的簽名中包含簽名者的密鑰信息,簽名者不能否認(rèn)自己的簽名.下面分析PKI→IBC異構(gòu)數(shù)字簽名方案和IBC→PKI異構(gòu)數(shù)字簽名方案不可否認(rèn)性.
PKI→IBC方案的生成簽名步驟中,生成的簽名σ=(R1,R2,S)中包含簽名者的密鑰信息SKA,簽名者不能否認(rèn)自己的簽名.所以,本方案可以實(shí)現(xiàn)不可否認(rèn)性.
IBC→PKI方案的生成簽名步驟中,生成的簽名中σ=(R1,R2,S)包含簽名者的密鑰信息SKB,簽名者不能否認(rèn)自己的簽名.所以,本方案可以實(shí)現(xiàn)不可否認(rèn)性.
對(duì)提出的雙向異構(gòu)數(shù)字簽名方案從簽名計(jì)算量、解簽密計(jì)算量、總計(jì)算量4個(gè)方面進(jìn)行分析和討論,此外,據(jù)我們所知,目前不存在其他的異構(gòu)數(shù)字簽名方案,故與異構(gòu)簽密方案[13,15,17]進(jìn)行比較,發(fā)現(xiàn),提出方案總計(jì)算量最小,如表1所示,其中,xor表示異或運(yùn)算,pair表示雙線性對(duì)運(yùn)算,hash表示哈希運(yùn)算,exp表示指數(shù)冪運(yùn)算.
表1 性能比較
提出的PKI→IBC異構(gòu)數(shù)字簽名方案的簽名階段的計(jì)算量為1pair+1hash,包含1個(gè)哈希運(yùn)算,驗(yàn)證階段的計(jì)算量為1pair+1hash,包含1個(gè)哈希運(yùn)算,IBC→PKI異構(gòu)數(shù)字簽名方案的簽名階段的計(jì)算量為1pair+1hash,包含1個(gè)哈希運(yùn)算,驗(yàn)證階段的計(jì)算量為3pair+1hash+1exp,包含1個(gè)指數(shù)冪運(yùn)算和1個(gè)哈希運(yùn)算.
異構(gòu)簽密方案中包含簽名和加密操作,但是提出的異構(gòu)數(shù)字簽名方案中包含簽名,不需要對(duì)消息做加密和解密,即異或運(yùn)算,簽名階段無(wú)指數(shù)冪運(yùn)算,驗(yàn)證階段1個(gè)指數(shù)冪運(yùn)算,因此總計(jì)算量最小,效率最高.
文獻(xiàn)[24]中的方案包含HSDVS-I方案和HSDVS-II方案,對(duì)HSDVS-II方案分析后,發(fā)現(xiàn)正確性和不可傳遞性的證明過(guò)程存在錯(cuò)誤.
正確性證明過(guò)程:
e(Z,H1(IDB)P+Ppub=
e(rr1SB+r2P,H1(IDB)P+Ppub)=
e(r1SB,H1(IDB)P+Ppub)r·
e(r2P,H1(IDB)P+Pput)=
e(r1,P,P)r·e(r2P,H1(IDB)P+Ppub)=
Wr·e(r2P,H1(IDB)P+Ppub)=
不可傳遞性證明過(guò)程:
e(Z′,H1(IDB)P+Ppub=
在不可傳遞性證明過(guò)程中,文獻(xiàn)[24]將Z′=a+r′b代入e(Z′,H1(IDB)P+Ppub中證明,但是在指定驗(yàn)證者模擬的簽名副本(R1′,R2′,R3′,Z′,m)中,Z′=r′a+b,不能證明等式
下面給出正確的不可傳遞性證明:
e(Z′,H1(IDB)P+Ppub)=
為保障異構(gòu)環(huán)境網(wǎng)絡(luò)安全,提出了安全的PKI和IBC之間的雙向異構(gòu)數(shù)字簽名方案,方案在滿足正確性的基礎(chǔ)上,實(shí)現(xiàn)不可偽造性和不可否認(rèn)性,使用隨機(jī)預(yù)言機(jī)模型對(duì)方案的不可偽造性進(jìn)行證明,與已有的典型異構(gòu)簽密方案相比,提出的方案在異構(gòu)環(huán)境下,實(shí)現(xiàn)對(duì)消息的異構(gòu)數(shù)字簽名,實(shí)現(xiàn)了對(duì)消息源的認(rèn)證.構(gòu)造計(jì)算效率更高的方案是下一步的研究方向.