林 楠 夏萍萍 左黎明
1(國(guó)網(wǎng)江西省電力有限公司電力科學(xué)研究院 江西 南昌 330096)2(華東交通大學(xué)理學(xué)院 江西 南昌 330013)3(華東交通大學(xué)系統(tǒng)工程與密碼學(xué)研究所 江西 南昌 330013)
Zheng[1]在1997年提出簽密的概念,其作為一種認(rèn)證加密技術(shù),能夠同時(shí)保證消息的機(jī)密性、可認(rèn)證安全性、完整性和不可抵賴性。與傳統(tǒng)公鑰密碼先認(rèn)證后加密的機(jī)制相比,簽密技術(shù)在計(jì)算性能和通信傳輸效率上要高得多,因此被廣泛應(yīng)用于電子支付、分布式協(xié)議中。傳統(tǒng)的基于雙線性對(duì)的簽密方案[2-4],簽密長(zhǎng)度都較長(zhǎng)。Boneh等[5]提出短簽名的概念,該簽名長(zhǎng)度是DSA簽名長(zhǎng)度的一半,有效地提高了簽名傳輸、存儲(chǔ)效率,尤其適用于計(jì)算性能較低的場(chǎng)合。Libert等[6]提出短簽密方案,大大降低了簽密密文的長(zhǎng)度及數(shù)據(jù)的擴(kuò)展率,但不滿足前向安全性。Yang等[7]提出一個(gè)具有密鑰隱私的簽密方案,但該方案不具有機(jī)密性和不可偽造性[8]。Ma[9]提出的短簽密方案同樣不具備不可偽造性。杜紅珍[10]提出的短簽密方案在簽、解密過程中計(jì)算量較稍大。Ahmed等[11]提出的公開可驗(yàn)證的簽密方案無法保證前向安全性。戚明平[12]提出一種具有前向安全性和可公開驗(yàn)證的簽密方案,但該方案沒有在安全模型下證明其安全性。周宣武等[13]提出一種適用于物聯(lián)網(wǎng)環(huán)境的橢圓曲線短簽密方案,該方案在簽密過程中使用了3次橢圓曲線上的標(biāo)量乘運(yùn)算,在密文長(zhǎng)度和計(jì)算性能上有待改進(jìn)。Lai等[14]提出一種基于身份的線上/線下的短簽密方案,該方案線上存儲(chǔ)和密文長(zhǎng)度中只需橢圓曲線上的一個(gè)元素,但其計(jì)算相對(duì)復(fù)雜,且不具備前向安全性和公開驗(yàn)證性。
基于以上短簽密方案的研究,本文提出一個(gè)新的具有前向安全性短簽密方案,與傳統(tǒng)的簽密方案相比在效率和安全性上有所提高。
定義1(雙線性對(duì)) 在雙線性映射中,令k為一個(gè)安全參數(shù),q為一個(gè)k-bit素?cái)?shù),G1是由P生成的階為素?cái)?shù)q的循環(huán)加法群,Q∈G1。G2是有相同階q的循環(huán)乘法群,則雙線性映射e:G1×G1→G2滿足以下性質(zhì):
(2) 非退化性:e(P,Q)≠1;
(3) 易計(jì)算性:存在有效算法計(jì)算e(P,Q)。
定義3(不可偽造性) 挑戰(zhàn)者C與敵手X進(jìn)行存在性偽造游戲,具體的游戲過程如圖1所示。敵手X在猜測(cè)階段經(jīng)過多項(xiàng)式有界次詢問,則稱敵手X以一個(gè)不可忽略的優(yōu)勢(shì)adv(X)在游戲中獲勝,其中adv(X)定義為adv(X)=|2Pr[b′=b]-1|,即該方案是存在性不可偽造的。
圖1 存在性不可偽造游戲
定義4(機(jī)密性) 簽密方案在適應(yīng)性選擇密文攻擊下具有不可區(qū)分性,即敵手選擇兩個(gè)明文,加密者隨機(jī)選擇其中的一個(gè)密文進(jìn)行加密,則敵手不能根據(jù)所選擇的密文以一個(gè)不可忽略的優(yōu)勢(shì)正確地猜測(cè)選擇加密的是哪一個(gè)明文。
(3) Alice的簽密過程:Alice首先計(jì)算x=(xA+r)yB,key=H3(x)則key為對(duì)稱密鑰,然后計(jì)算消息m的簽密密文(C,S):
C=Ekey(m)
Alice將簽密密文(C,S)發(fā)送給簽密驗(yàn)證者Bob。
(4) Bob的解簽密過程:Bob首先計(jì)算x′=xB(R+yA),key′=H3(x′),然后計(jì)算密文C對(duì)應(yīng)的明文:m′=Dkey′(C),驗(yàn)證等式e(S,yA+R)=e(H2(H1(m′),R,yA,xBR),P)是否成立,成立則接受(C,S)為有效的簽密,否則拒絕該簽密。驗(yàn)證過程正確性由如下等式保證:
e(S,yA+R))=
e(H2(H1(m′),R,yA,xBR),P)
(5) 第三方驗(yàn)證:當(dāng)簽名產(chǎn)生爭(zhēng)議時(shí),Bob公開xBR和H1(m′),其中簽名驗(yàn)證參數(shù)xBR的合理性第三方可以根據(jù)等式e(xBR,P)=e(yB,R)進(jìn)行驗(yàn)證。隨后第三方根據(jù)e(S,yA+R)=e(H2(H1(m′),R,yA,xBR),P)驗(yàn)證簽密中短簽密的有效性,驗(yàn)證過程無需暴露密鑰、階段秘密值和明文。
通常機(jī)密性即適應(yīng)性選擇密文攻擊下不可區(qū)分性,即敵手選擇兩個(gè)明文,加密者隨機(jī)選擇其中的一個(gè)密文進(jìn)行加密,則敵手不能根據(jù)所選擇的密文以一個(gè)不可忽略的優(yōu)勢(shì)正確地猜測(cè)選擇加密的是哪一個(gè)明文。本文方案的機(jī)密性可以規(guī)約到CDH問題,證明技巧和過程基本同文獻(xiàn)[10]。
這里只證明不可偽造性。不可偽造性可以由以下定理1得到,本文方案的安全性規(guī)約到求解擴(kuò)展的逆CDH問題。
游戲中假定C為挑戰(zhàn)者,設(shè)挑戰(zhàn)公鑰yA=aP,偽造的目標(biāo)簽密明文為m*,C的目標(biāo)是通過調(diào)用算法X來解決上述困難問題實(shí)例。不妨設(shè)X在進(jìn)行簽密詢問、解簽密詢問以及猜測(cè)和偽造之前都做過秘密值詢問、公開參數(shù)詢問、H1詢問、H2詢問和H3詢問,而且X不會(huì)在同一次適應(yīng)性詢問過程中對(duì)同一個(gè)預(yù)言機(jī)做兩次相同的詢問,一次游戲過程在一個(gè)周期T內(nèi)進(jìn)行。
C在系統(tǒng)初始化后公布系統(tǒng)參數(shù)params={k,G1,G2,P,H1,H2,H3},簽密發(fā)送者公鑰為yA=aP,驗(yàn)證接收者私鑰為xB,公鑰為yB=xBP。C將系統(tǒng)參數(shù)params和挑戰(zhàn)公鑰yA發(fā)送給X,允許X適應(yīng)性地進(jìn)行詢問。
3.1.1詢問階段
(2) 公開參數(shù)詢問:當(dāng)X向C提交一個(gè)關(guān)于時(shí)間T的公開參數(shù)詢問時(shí),C查詢列表LP中是否存在相應(yīng)記錄(Ti,ri,Ri),如果存在則C返回相應(yīng)的公開參數(shù)Ri給X,否則先執(zhí)行秘密值詢問。
(3)H1詢問:C維護(hù)一個(gè)列表LH1,該列表由數(shù)組(m,h1)組成。當(dāng)X向C提交一個(gè)消息m的H1詢問時(shí),C首先檢查列表LH1中是否存在相應(yīng)記錄(mi,h1i),如果存在則C返回h1i給X;否則:
(6) 簽密詢問:當(dāng)X向C關(guān)于消息m進(jìn)行簽密詢問時(shí):
① 如果m≠m*,C在列表LP中找到相應(yīng)的秘密值r和公開參數(shù)R,然后在LH1中找到相應(yīng)的h1,在LH2中找到相應(yīng)的(d,h2),其中h2=d(yA+R),在LH3中找到相應(yīng)的key=h3。C計(jì)算:CipherText=Ekey(m),S=dP,其中key=h3,返回消息m的簽密σ=(CipherText,S)給X。顯然簽密中S的合理性可以由下式保證:
e(S,yA+R)=e(dP,yA+R)=e(P,d(yA+R))=
e(h2,P)
② 如果m=m*,終止詢問,記此事件為E1。
(7) 解簽密詢問:當(dāng)X向C關(guān)于σ進(jìn)行解簽密詢問,其中σ=(CipherText,S)。C計(jì)算w=xBR,查看LH3中是否存在相應(yīng)記錄(ryA=W,key=h3),存在則獲得解密明文m′=Dkey(CipherText),查看LH2中是否存在相應(yīng)記錄(m′,r,d,h2),然后驗(yàn)證e(S,yA+rP)=e(h2,P)是否成立。如果成立,C返回m給X,否則輸出“⊥”,“⊥”表示空。
3.1.2偽造階段
A詢問階段中進(jìn)行適應(yīng)性多項(xiàng)式有界次詢問,如果詢問沒有停止,即E1事件一直不發(fā)生,則A最終輸出一個(gè)關(guān)于m*的有效的簽密σ*=(C*,S*)。
而運(yùn)行時(shí)間t′滿足:
t′ qsctsc+qusctusc) 在簽密過程中,由于引入周期更新的階段秘密值r,因此當(dāng)敵手獲得簽密密文σ=(C,S)后,即使發(fā)送方的私鑰xA被泄露,但只要r沒泄露,攻擊者仍然無法成功解密密文和偽造簽密。另一方面當(dāng)歷史上某階段秘密值r泄露,后面由于不同周期使用新的r值,攻擊者依然無法成功解密后面生成密文和偽造新的簽密,因此本文方案具有前向安全性。其次秘密值隨著時(shí)間進(jìn)行隨機(jī)更新且不重復(fù),后一周期的公開參數(shù)R與前一周期的公開參數(shù)R′無關(guān),實(shí)現(xiàn)了不同周期的參數(shù)隔離,因此保證了泄露當(dāng)前的秘密值無法恢復(fù)以前的簽密,同時(shí)泄露以前的秘密值無法攻擊現(xiàn)在的簽密。 在安全可信的基礎(chǔ)上,第三方可以證明發(fā)送方確實(shí)發(fā)送過此簽密消息,在證明的過程中,消息接收者不需要泄露個(gè)人的私鑰即可實(shí)現(xiàn)簽密方案的不可否認(rèn)性證明。本文方案中,當(dāng)簽密產(chǎn)生爭(zhēng)議時(shí),即當(dāng)Alice否認(rèn)給Bob發(fā)送過簽密密文時(shí),Bob公開xBR和H1(m′),其中簽名驗(yàn)證參數(shù)xBR的合理性第三方可以根據(jù)等式e(xBR,P)=e(yB,R)進(jìn)行驗(yàn)證。隨后第三方根據(jù)e(S,yA+R)=e(H2(H1(m′),R,yA,xBR),P)驗(yàn)證簽密中短簽名的有效性,驗(yàn)證過程無需暴露密鑰、階段秘密值和明文。因此,本文簽密方案滿足可公開驗(yàn)證性的同時(shí)又不會(huì)破壞消息的機(jī)密性。 表1 安全性比較 表2 計(jì)算復(fù)雜度比較 從表2可知,在簽密過程中,本文方案進(jìn)行了3次H運(yùn)算,文獻(xiàn)[1]方案進(jìn)行了1次H運(yùn)算和2次I運(yùn)算,文獻(xiàn)[10]方案進(jìn)行了3次M運(yùn)算和2次H運(yùn)算,而文獻(xiàn)[12]方案進(jìn)行了3次M運(yùn)算和1次H運(yùn)算,文獻(xiàn)[16]方案進(jìn)行了3次M運(yùn)算、3次H運(yùn)算、1次M運(yùn)算。在解簽密過程中,本文方案進(jìn)行了2次P運(yùn)算和3次H運(yùn)算,文獻(xiàn)[1]方案進(jìn)行了4次E運(yùn)算,文獻(xiàn)[10]方案進(jìn)行了1次M運(yùn)算和1次H運(yùn)算,而文獻(xiàn)[12]方案進(jìn)行了2次P運(yùn)算、1次M運(yùn)算和1次H運(yùn)算,文獻(xiàn)[16]方案進(jìn)行了1次P運(yùn)算、3次E運(yùn)算、3次H運(yùn)算。 所以在簽密和解簽密的總效率上,本文方案與文獻(xiàn)[1]方案的效率大致相同,與文獻(xiàn)[10,12,14]相比效率較高。 在簽密長(zhǎng)度方面,若選擇了階為160比特長(zhǎng)的橢圓曲線上的群和雙線性對(duì)映射[17],本文方案的簽密長(zhǎng)度為160比特,與文獻(xiàn)[1,10,12,14]相比長(zhǎng)度要短。 由表3可知,本文方案運(yùn)行平均總耗時(shí)為0.199秒,其中簽密和解簽密分別耗時(shí)為0.054秒、0.163秒。本文方案與文獻(xiàn)[1]方案相比,平均總耗時(shí)增加47.2%;與文獻(xiàn)[10]方案相比,平均總耗時(shí)減少51.3%;與文獻(xiàn)[12]方案相比,平均總耗時(shí)減少101.5%;與文獻(xiàn)[16]方案相比,平均總耗時(shí)減少84.4%。從以上運(yùn)行結(jié)果可知,本文方案與大多數(shù)方案相比具有較高的運(yùn)算效率。 表3 性能比較 s 本文提出一種短簽密方案,在隨機(jī)預(yù)言機(jī)模型和擴(kuò)展的逆CDH問題假設(shè)下,證明了該方案在適應(yīng)性選擇消息下滿足機(jī)密性、不可偽造性、前向安全性和可公開驗(yàn)證性。與幾種典型的簽密方案相比,本文方案簽密長(zhǎng)度較短,簽密計(jì)算簡(jiǎn)單,適合在帶寬受限的環(huán)境下,計(jì)算能力和傳輸能力相對(duì)較弱的超低功耗設(shè)備,對(duì)數(shù)據(jù)進(jìn)行簽密、驗(yàn)證以及交互傳輸。進(jìn)一步研究的重點(diǎn)是將本文方案應(yīng)用于智能家居無線物聯(lián)網(wǎng)絡(luò)下各種智能家庭設(shè)備與家庭智能網(wǎng)關(guān)的數(shù)據(jù)傳輸與控制系統(tǒng)中。3.2 前向安全性
3.3 可公開驗(yàn)證性
4 性能分析與比較
5 結(jié) 語