劉祥震,張玉磊,郎曉麗,駱廣萍,王彩芬
(1.西北師范大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,甘肅 蘭州 730070;2.深圳技術(shù)大學(xué),廣州 深圳 518000)
傳統(tǒng)公鑰密碼常采用數(shù)字加密保護(hù)方案的機(jī)密性,用簽名技術(shù)來(lái)保證對(duì)簽名的認(rèn)證性。數(shù)字簽密[1]提出之前,研究人員通常使用先簽名后加密的方法,來(lái)確保方案的機(jī)密性和不可偽造性,但這種方法不僅計(jì)算量大,而且通信代價(jià)也高。簽密是將加密和簽名同時(shí)進(jìn)行的一種技術(shù),在實(shí)現(xiàn)原有功能的基礎(chǔ)上提升了效率。聚合簽名將用戶產(chǎn)生的多個(gè)簽名批量驗(yàn)證,從而降低了驗(yàn)證開(kāi)銷(xiāo)。
聚合簽名是由Boneh等人[2]在2003年提出的。2004年,HyoJin等人[3]提出了批量驗(yàn)證的聚合簽名方案,隨后Shim[4]指出HyoJin方案只能保證單個(gè)簽名的安全,不能保證聚合后的簽名安全性。Song等人[5]將聚合簽名應(yīng)用到車(chē)載網(wǎng)中,但是提出的方案簽名可以被偽造。2009年,Sharmila等人[6]首度給出了聚合簽密的具體方案,該技術(shù)具有簽密以及聚合驗(yàn)證的功能。
2012年,Ren等人[7]設(shè)計(jì)了基于身份密碼體制下可證安全的聚合簽密方案,但是該方案不支持公開(kāi)驗(yàn)證。2014年,Ziba等人[8]把聚合簽密技術(shù)應(yīng)用到無(wú)證書(shū)密碼體制中。很多工業(yè)部門(mén)開(kāi)始使用物聯(lián)網(wǎng),傳輸過(guò)程中可能會(huì)使用不同的密碼技術(shù)。有些使用傳統(tǒng)公鑰體制TPKI(Traditional Public Key Infrastructure),有些使用基于身份的密碼IBC(Identify-Based Cryptography)和無(wú)證書(shū)公鑰密碼CLC(Certificateless Public Key Cryptography)。如果發(fā)送方和接收方屬于2個(gè)不同密碼體制,若要進(jìn)行系統(tǒng)間的通信,就需要用到異構(gòu)技術(shù)。Sun等人[9]在2010年設(shè)計(jì)了異構(gòu)簽密體制。2011年,Huang等人[10]構(gòu)造了異構(gòu)體制下IBC→TPKI方向的簽密方案。2013年,F(xiàn)u等人[11]根據(jù)文獻(xiàn)[9]方案,設(shè)計(jì)了多接收方的IBC→TPKI異構(gòu)簽密方案;隨后,Li等人[12]設(shè)計(jì)了異構(gòu)密碼體制下的雙向TPKI?IBC簽密方案。2016年,劉景偉等人[13]設(shè)計(jì)了異構(gòu)體制下高效的TPKI→IBC方案。張?jiān)14]在2017年設(shè)計(jì)了異構(gòu)體制下CLC→IBC方向的簽密方案。牛淑芬等人[15]聯(lián)合聚合簽密與異構(gòu)體制,設(shè)計(jì)了TPKI→IBC的異構(gòu)聚合簽密方案。2018年,張玉磊等人[16]提出了異構(gòu)雙向IBC?CLC聚合簽密技術(shù)。
2018年,牛淑芬等人[17]設(shè)計(jì)了異構(gòu)密碼體制下多接收方的聚合簽密方案,但是該方案存在CLC下AΙΙ敵手KGC(Key Generation Center)被動(dòng)攻擊。為了解決原方案中存在的安全漏洞,本文構(gòu)造出安全的隱私保護(hù)多接收者異構(gòu)簽密方案,首先在第2節(jié)給出了原方案及其具體的安全性分析。在第3節(jié),指出牛淑芬方案出現(xiàn)安全缺陷的原因并在原方案基礎(chǔ)上設(shè)計(jì)了改進(jìn)方案。在第4節(jié)中,通過(guò)安全性證明表明了單密文和聚合后密文的不可偽造。
文獻(xiàn)[17]包括以下幾個(gè)算法:
(2)CLC-KG:CLC系統(tǒng)中的發(fā)送方Si(i∈{1,2,…,m})通過(guò)以下方式進(jìn)行身份匿名并產(chǎn)生公私鑰。
(3)IBC-KG:PKG為IBC系統(tǒng)中的接收方IDrj(j∈{1,2,…,n})計(jì)算私鑰Drj=sQrj,其中,Qrj=H1(IDrj)。
④計(jì)算hi=H4(Ci,Ri,PSi,IDSi),Si=DSi+(XSi+hiri)Q。
⑤接收方收到Si發(fā)送的密文σi=(Ri,Ci,Ti,Si)。
(5)解簽密:接收密文σi(i∈{1,2,…,m})后,使用IDrj(j∈{1,2,…,n})進(jìn)行解簽密。
①計(jì)算QSi=H1(IDSi),hi=H4(Ci,Ri,PSi,IDSi)。
②檢查等式e(Si,P)=e(QSi,Ppub)e(PSi+hiRi,Q)是否成立,若成立,則密文σi有效;否則結(jié)束。
④計(jì)算w′i=e(Ppub,y′ji)e(Ri,Drj)-1。
⑤恢復(fù)消息Mi=H2(w′i)⊕Ci。
(7)聚合解簽密:
①計(jì)算QSi=H1(IDSi),hi=H4(Ci,Ri,PSi,IDSi)。
本文給出2種具體攻擊過(guò)程來(lái)展示文獻(xiàn)[17]中單個(gè)簽密與聚合簽密均可被偽造。
文獻(xiàn)[17]方案為CLC→IBC異構(gòu)聚合簽密方案。對(duì)IBC系統(tǒng)中的安全主要考慮機(jī)密性;對(duì)CLC系統(tǒng)中的安全主要考慮敵手AΙ與AΙΙ對(duì)密文的不可偽造性。其中,AΙ可更替用戶公鑰,但是無(wú)法得到系統(tǒng)的主密鑰;AΙΙ為惡意KGC,能得到主密鑰,無(wú)法更替用戶的公鑰。通過(guò)分析發(fā)現(xiàn),AΙΙ可偽造文獻(xiàn)[17]的單簽密密文和聚合簽密密文。
2.2.1 偽造單簽密密文
(2)詢問(wèn)階段:AΙΙ通過(guò)H2、H4詢問(wèn)來(lái)獲取h′i的值。
(4)偽造的單個(gè)密文正確性。
IBC系統(tǒng)中收到AΙΙ發(fā)送的密文σ′i=(R′i,C′i,Ti,S′i),首先計(jì)算QSi=H1(IDSi),h′i=H4(C′i,R′i,PSi,IDSi)。驗(yàn)證等式e(S′i,P)=e(QSi,Ppub)e(P′Si+h′iR′i,Q),檢查密文σ′i。
其中
e(QSi,Ppub)e(P′Si+h′iR′i,Q)
AΙΙ偽造的單個(gè)簽密密文通過(guò)驗(yàn)證等式。所以,文獻(xiàn)[17]方案不滿足單個(gè)簽密密文的不可偽造性。
2.2.2 對(duì)聚合密文進(jìn)行偽造
敵手AΙΙ偽造聚合密文:
(3)驗(yàn)證偽造的聚合密文:
其中
敵手AΙΙ偽造的聚合密文通過(guò)驗(yàn)證等式。所以,文獻(xiàn)[17]方案不滿足聚合簽密密文的不可偽造性。
文獻(xiàn)[17]方案中不可偽造性不安全的原因在于G1的2個(gè)不同生成元P,Q,且CLC系統(tǒng)中的AΙΙ知道系統(tǒng)主密鑰與用戶部分私鑰,因此可以很容易計(jì)算出XSiQ,riQ。
我們這里所講的“親子”是廣義的,即把學(xué)生分成若干小組,每個(gè)小組六至七人,由一名家長(zhǎng)組織,帶領(lǐng)學(xué)生共同閱讀。親子閱讀旨在讓家長(zhǎng)根據(jù)兒童心理發(fā)展的特點(diǎn),通過(guò)各種生動(dòng)有趣的方法引導(dǎo)孩子對(duì)閱讀過(guò)程產(chǎn)生興趣,從而培養(yǎng)學(xué)生良好的自主閱讀能力。親子閱讀是一種傳授有關(guān)閱讀技能、方法的行為,它能夠激發(fā)學(xué)生的好奇心和強(qiáng)烈的閱讀興趣,發(fā)展學(xué)生語(yǔ)言、智力等方面的能力,真正達(dá)到早期閱讀的目的。
(2)CLC-KG:CLC系統(tǒng)中的Si(i∈{1,2,…,m})通過(guò)以下過(guò)程匿名并產(chǎn)生公私鑰:
(3)IBC-KG:PKG為IBC系統(tǒng)中的接收方IDrj(j∈{1,2,…,n})計(jì)算私鑰Drj=sPkrj,其中,Pkrj=H1(IDrj)。
①對(duì)消息進(jìn)行加密:隨機(jī)選取δ∈{0,1}n,計(jì)算ri=H2(δi,Mi),Ri=riP,wi=e(Ppub,P)ri,Ci=H3(wi)⊕Mi。
③發(fā)送方對(duì)消息進(jìn)行簽名:計(jì)算hi=H4(Ci,Ri,PkSi,IDSi),Si=DSi+(xi+hiri)H5(Ri)。
④Si將密文σi=(Ri,Ci,Ti,Si)發(fā)給接收方。
(5)解簽密:接收密文σi(i∈{1,2,…,m})后,利用IDrj(j∈{1,2,…,n})進(jìn)行解簽密。
①計(jì)算hi=H4(Ci,Ri,PkSi,IDSi)。
②驗(yàn)證簽名的有效性:檢查等式e(Si,P)=e(QSi,Ppub)e(PkSi+hiRi,H5(Ri))是否成立,若成立,密文σj有效,則計(jì)算以下步驟;否則結(jié)束。
④計(jì)算w′i=e(y′ij,Ppub)e(Ri,Drj)-1。
⑤解密消息:恢復(fù)消息Mi=H3(w′i)⊕Ci。
(7)聚合解簽密:
①計(jì)算hi=H4(Ci,Ri,PkSi,IDSi)。
正確性分析如下:
(1)單個(gè)簽名驗(yàn)證。
e(Si,P)=e(DSi+(xi+hiri)H5(Ri),P)=
e(DSi,P)e((xi+hiri)H5(Ri),P)=
e(QSi,sP)e(xiH5(Ri),P)e(hiriH5(Ri),P)=
e(QSi,Ppub)e(PkSi,H5(Ri))e(hiRi,H5(Ri))=
e(QSi,Ppub)e(PkSi+hiRi,H5(Ri))
(2)聚合簽名驗(yàn)證。
改進(jìn)方案的目的在于提高原方案的不可偽造性。該方案的不可偽造性包括單簽密密文的不可偽造性與聚合簽密密文的不可偽造性,其安全模型同文獻(xiàn)[17]。
定理1若CDH問(wèn)題困難,改進(jìn)方案在隨機(jī)預(yù)言模型下存在AΙ和AΙΙ自適應(yīng)選擇消息攻擊下不可偽造是安全的。
引理1隨機(jī)預(yù)言模型下的AΙ以優(yōu)勢(shì)ε擊破本文方案,則挑戰(zhàn)者C就能以ε′≥(ε-qS/2k)(1-1/qppk)qppk優(yōu)勢(shì)解決CDH問(wèn)題,其中,部分私鑰詢問(wèn)與簽密詢問(wèn)的訪問(wèn)次數(shù)分別為qppk與qS。
證明C規(guī)定CDH問(wèn)題(P,aP,bP),計(jì)算abP。
(4)H3詢問(wèn):C收到對(duì)H3的詢問(wèn)時(shí),C選取任意w2i∈{0,1}n作為返回值。
(9)公鑰詢問(wèn):當(dāng)AΙ詢問(wèn)IDSi的公鑰時(shí),C查找表LPk,若表中存在,將PkSi發(fā)送給AΙ;否則,從表Lx中查找秘密值xi,計(jì)算PkSi=xiP,并發(fā)送給AΙ。將(IDSi,PkSi)存于表LPk中。
(10)公鑰替代詢問(wèn):當(dāng)AΙ把IDSi的公鑰PkSi替代成Pk′Si時(shí),C把表LPk中的元組(IDSi,PkSi)替代成(IDSi,Pk′Si),同時(shí)把IDSi秘密值設(shè)置成xi=⊥。
④計(jì)算Si=DSi+hiriH5(Ri)。
⑤最后C把密文σi=(Ri,Ci,Ti,Si)發(fā)送給敵手AΙ。
□
引理2隨機(jī)預(yù)言模型下的AΙΙ以不可忽略的優(yōu)勢(shì)ε擊破本文方案,則存在挑戰(zhàn)者C,能以ε′≥(ε-qS/2k)(1-1/(qSk+m))qSk+m-1優(yōu)勢(shì)解決CDH問(wèn)題,其中,部分私鑰詢問(wèn)、簽密詢問(wèn)的訪問(wèn)次數(shù)分別為qppk與qS。
證明C規(guī)定CDH問(wèn)題(P,aP,bP),計(jì)算abP。
(2)H1、H2、H3詢問(wèn),秘密值詢問(wèn)同引理1。
所以
C通過(guò)計(jì)算輸出了abP作為CDH問(wèn)題的解。
□
定理2若CDH問(wèn)題困難,本文方案在隨機(jī)預(yù)言模型下存在敵手AΙ和AΙΙ自適應(yīng)選擇消息攻擊下不可偽造是安全的。
引理3隨機(jī)預(yù)言模型下AΙ以不可忽略的優(yōu)勢(shì)ε擊破本文方案,則存在挑戰(zhàn)者C,能以ε′≥(ε-qS/2k)(1-1/qppk)qppk優(yōu)勢(shì)解決CDH問(wèn)題,其中,部分私鑰詢問(wèn)、簽密詢問(wèn)的訪問(wèn)次數(shù)分別為qppk與qS。
證明挑戰(zhàn)者C設(shè)置系統(tǒng)參數(shù),其中Ppub=aP。詢問(wèn)階段與引理1相同。
□
引理4隨機(jī)預(yù)言模型下的AΙΙ以不可忽略的優(yōu)勢(shì)ε擊破本文方案,則存在挑戰(zhàn)者C,能以ε′≥(ε-qS/2k)(1-1/(qSk+m))qSk+m-1優(yōu)勢(shì)解決CDH問(wèn)題,其中,部分私鑰詢問(wèn)、簽密詢問(wèn)的訪問(wèn)次數(shù)分別為qppk與qS。
證明挑戰(zhàn)者C設(shè)置系統(tǒng)參數(shù),其中Ppub=sP。詢問(wèn)階段與引理2相同。
C通過(guò)計(jì)算輸出了abP作為CDH問(wèn)題的解。
□
首先,所有方案選擇相同的系統(tǒng)參數(shù),包括群G1與G2,對(duì)n個(gè)消息聚合。將本文改進(jìn)方案與文獻(xiàn)[15-17]在簽密與解簽密計(jì)算代價(jià)、是否保護(hù)用戶隱私、不可偽造4個(gè)方面進(jìn)行比較,結(jié)果如表1所示。其中,U、O、f分別表示G1中乘法、雙線性對(duì)以及指數(shù)運(yùn)算。
Table 1 Comparison of efficiency 表1 效率比較
通過(guò)數(shù)值理論分析發(fā)現(xiàn),在簽密階段,文獻(xiàn)[15]方案有4n個(gè)乘法運(yùn)算,而本文方案有2n+5個(gè)乘法運(yùn)算;相較于文獻(xiàn)[16],本文方案在增加了乘法的基礎(chǔ)上減少了指數(shù)運(yùn)算;與文獻(xiàn)[17]相比,本文方案在不增加計(jì)算時(shí)間量的同時(shí)實(shí)現(xiàn)了不可偽造性的安全需求。
利用雙線性對(duì)包對(duì)所提方案中的簽密算法與解簽密算法進(jìn)行了實(shí)驗(yàn)仿真。接收方人數(shù)分別為100,200,…,1 000。簽密時(shí)間與解簽密時(shí)間的仿真結(jié)果分別如圖1和圖2所示。
Figure 1 Signcryption time圖1 簽密時(shí)間
Figure 2 Unsigncryption time圖2 解簽密時(shí)間
異構(gòu)密碼體制下能夠保證數(shù)據(jù)隱私的多接收方聚合簽密方案不但能在不一樣的密碼體制之間通信,同時(shí)還能保護(hù)發(fā)送方的隱私。本文分析了牛淑芬方案(文獻(xiàn)[17]方案),指出該方案能夠被偽造,并設(shè)計(jì)了可證安全的隱私保護(hù)多接收者異構(gòu)聚合簽密方案。改進(jìn)的方案改善了原方案中的安全性不足,并滿足對(duì)多個(gè)消息聚合驗(yàn)證的特點(diǎn)。下一步研究的重點(diǎn)是在保證數(shù)據(jù)隱私的同時(shí)提升計(jì)算效率。