楊小東 李梅娟 任寧寧 田 甜 王彩芬
①(西北師范大學計算機科學與工程學院 蘭州 730070)
②(深圳技術大學大數(shù)據(jù)與互聯(lián)網(wǎng)學院 深圳 518118)
隨著信息技術的發(fā)展,人們追求更加便捷和高效的管理方式,電子合同在這一趨勢下出現(xiàn)并得到廣泛應用[1]。電子合同因其高效便捷、成本較低和管理簡易方便等特點,在規(guī)范電子商務行為、維護市場秩序、促進電子商務領域的持續(xù)健康發(fā)展等方面十分有利[2]。然而,在電子合同給商業(yè)交流帶來便捷的同時,也存在聯(lián)網(wǎng)環(huán)境下的合同簽署問題。通常,利用數(shù)字證書和傳統(tǒng)公鑰簽名等技術進行認證與簽署會存在證書管理問題[3]。為解決這類問題,無證書簽名方案開始被應用在電子合同簽署領域[4]。
無證書密碼體制[5–8]能夠同時解決基于身份的簽名存在的密鑰托管問題和傳統(tǒng)公鑰體制固有的證書管理問題。聚合簽名[9]能夠將多個簽名聚合生成一個簽名,有效縮短簽名的長度,減少數(shù)據(jù)的通信帶寬和簽名驗證開銷。在無證書簽名和聚合簽名基礎上提出的無證書聚合簽名,結合了二者的優(yōu)勢,被廣泛應用于多用戶場景[10,11]。目前,國內(nèi)外學者已經(jīng)提出了一系列無證書聚合簽名方案[10–15],但這些方案大多都面臨內(nèi)部簽名者聯(lián)合攻擊[16,17]的風險。另外,一些方案也不能抵抗類型Ⅰ攻擊或類型Ⅱ攻擊[12,15]。因此,研究同時抵抗類型Ⅰ攻擊、類型Ⅱ攻擊和聯(lián)合攻擊的無證書聚合簽名方案具有重要的意義和價值。
近年來,越來越多的學者開始研究無證書聚合簽名方案的安全性分析與改進,并給出了一些攻擊和改進方法,對同類的無證書聚合簽名安全性研究有深遠意義[16–18]。2019年,曹素珍等人[19]提出了一種適用于多方合同簽署的無證書聚合簽名方案(簡稱曹方案),并在隨機預言模型下證明了該方案存在不可偽造性。然而,本文通過2類攻擊對曹方案進行了安全性分析,證明該方案在替換公鑰攻擊和內(nèi)部簽名者的聯(lián)合攻擊均有安全缺陷。為了克服曹方案中的安全問題,設計了一個改進的無證書聚合簽名方案,其安全性規(guī)約為計算性Diffie-Hellman(Computational Diffie-Hellman, CDH)[20]假設。分析表明,改進方案不僅能抵抗類型Ⅰ攻擊和類型Ⅱ攻擊,還能抵抗簽名者內(nèi)部的聯(lián)合攻擊。
通過以下2類具體的攻擊可以發(fā)現(xiàn)曹素珍等人[19]提出的無證書聚合簽名方案是存在安全缺陷的。
3.2.1 替換公鑰攻擊
3.2.2 聯(lián)合攻擊
由上述分析可知,B1和B2能通過非法的單個簽名合作得到一個合法的聚合簽名,即曹方案對于簽名者內(nèi)部的聯(lián)合攻擊也是不安全的。
故可驗證聚合簽名的正確性。
即單個簽名σi=(Ri,Si)也是合法的。
由上述分析可知,一個聚合簽名是合法的當且僅當所有參與該聚合簽名生成的單個簽名都是合法的。因此,本文所設計的改進方案能夠抵抗聯(lián)合攻擊。 證畢
本小節(jié)將通過聚合簽名長度、計算開銷和安全性進行本文方案的性能分析,并與已有的無證書聚合簽名文獻[10,14,15,17,19]方案進行比較,其中文獻[17]方案是文獻[15]方案的改進方案。在聚合簽名長度方面,主要是為了檢查長度是否固定。計算開銷方面考慮了單個簽名生成階段和聚合簽名驗證階段的開銷,且開銷主要考慮了耗時大的2種運算:點乘運算和雙線性對運算,這兩種運算在Intel Core i5-3470 @ 3.20 GHz的處理器、4 GB內(nèi)存和Windows 7 操作系統(tǒng)的實驗環(huán)境下運行時間分別為3.740 ms和11.515 ms[11]。在安全性方面,檢查方案是否能夠抵抗類型Ⅰ攻擊、類型Ⅱ攻擊和聯(lián)合攻擊。
為了便于說明,用符號s和e分別代表1次點乘運算和1次雙線性對運算,|G1|代表G1中一個元素的長度,n代表生成聚合簽名的參與者個數(shù)。表1列出了本文方案與其他幾個無證書聚合簽名方案的性能比較。圖1比較了參與者個數(shù)n以20為增量從20增加到100時,本文方案與其他幾個方案在聚合簽名驗證階段的時間開銷。
表1 幾個無證書聚合簽名方案的性能比較
由表1可知,上述幾個方案的聚合簽名長度都是不固定的且具有相同值。從計算開銷來看,上述這6個方案在單個簽名生成階段所需要的計算開銷差異較小,且其開銷都不受參與者個數(shù)n的影響。然而,結合圖1可知它們在聚合簽名驗證階段的計算開銷與單個簽名生成階段不同,計算開銷都會隨著參與者個數(shù)n的增加而增加。本文方案雖然在聚合簽名驗證這一階段所需的計算開銷明顯高于文獻[10,14,15,19]方案,但它能夠抵抗聯(lián)合攻擊,這是文獻[10,14,15,19]方案所不具備的安全性能。與同樣能夠抵抗聯(lián)合攻擊的文獻[17]方案相比,本文方案聚合簽名驗證的計算開銷更小。文獻[17]方案作為文獻[15]方案的改進方案,其在聚合簽名驗證方面的計算開銷也是明顯高于文獻[15]方案的。通過對比,可以發(fā)現(xiàn)抗聯(lián)合攻擊這一安全性能的實現(xiàn)是以增加聚合簽名驗證的開銷為代價的。另外簽署方具備一定的計算能力,能夠接受較大的計算開銷。綜合考慮,本文所提出的改進方案在多方合同簽署環(huán)境完全適用。最重要的是,本文的改進方案能夠同時解決文獻[19]方案中存在的2個安全缺陷。
本文首先對文獻[19]的方案進行了安全性分析,通過2類具體的偽造攻擊,證明了該方案并不滿足不可偽造性。其次針對文獻[19]方案所存在的安全問題,設計了一個改進的無證書聚合簽名方案。最后在隨機預言模型和CDH問題的困難假設下,證明了新方案在類型Ⅰ攻擊和類型Ⅱ攻擊下存在不可偽造性并且還能夠抵抗聯(lián)合攻擊。然而,改進方案存在較多的雙線性對運算,計算效率低,使得簽名驗證開銷較大,后期將進一步研究如何設計出更加高效的無證書聚合簽名方案。