鄭 東,范秦銘,郭 瑞,楊 耿
(西安郵電大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,陜西 西安 710121)
互聯(lián)網(wǎng)信息時代賦予了商品新的交易形式,如電子交易和電子拍賣等。先進(jìn)的網(wǎng)絡(luò)技術(shù)帶給人們便利生活和經(jīng)濟(jì)利益的同時,也增加了交易的安全風(fēng)險和隱患,在人們進(jìn)行電子交易和電子拍賣的過程中,對個人隱私數(shù)據(jù)的竊取也與日俱增。電子拍賣[1-2]作為最重要的電子活動之一,是由第三方主持的一種特殊的交易方式,因此,電子拍賣的支付和交易的安全性、公平性和欺詐等問題也日益突顯。區(qū)塊鏈具有去中心化、數(shù)據(jù)可靠、交易可追溯等特點,以太坊智能合約提供了一套完整的區(qū)塊鏈分布式應(yīng)用平臺,使用以太坊進(jìn)行數(shù)字貨幣交易時,任何人都可在應(yīng)用平臺上發(fā)布和使用分布式系統(tǒng)。引入以太坊智能合約可以為電子拍賣系統(tǒng)提供去中心可信的三方(Trusted Third Party,TTP)服務(wù),以保證拍賣過程的公平性,增強(qiáng)拍賣者對協(xié)議的信任程度,擴(kuò)大協(xié)議的適用范圍[3-4]。
隨著區(qū)塊鏈的出現(xiàn),盲簽名[5-7]越來越受到人們的關(guān)注。在基于區(qū)塊鏈的數(shù)字貨幣、拍賣系統(tǒng)、投票系統(tǒng)以及物聯(lián)網(wǎng)中,盲簽名可以保證合法用戶的匿名認(rèn)證,不可追蹤簽名者,為需要盲性的系統(tǒng)奠定了基礎(chǔ)[8-10]。1983年,Chaum[11]提出了首個用于創(chuàng)建不可追蹤支付系統(tǒng)的盲簽名,其有用戶和簽名者兩個主要參與者,用戶只知道原始消息而不知道簽名密鑰,而簽名者只知道自己簽署了消息,并不知道何時簽署。盲簽名滿足了盲性和不可偽造性[12-13]兩個主要性質(zhì),即:簽名者在不知道自己簽署了什么的情況下簽署了消息,但不能否認(rèn)自己簽署了消息;用戶不能偽造簽名者的簽名。因此,盲簽名可以保護(hù)用戶敏感信息的匿名性,現(xiàn)已廣泛應(yīng)用在投票和拍賣領(lǐng)域。然而,基于盲簽名的電子拍賣系統(tǒng)雖然通過電子拍賣協(xié)議(Fujioka Okamoto Ohta,F(xiàn)OO)實現(xiàn)了基于盲簽名的大規(guī)模電子拍賣,但是無抗偽造性和抗共謀性[14]。
基于身份的密碼體制[15]是將用戶身份加入其公鑰中,避免使用公鑰證書,簡化了密鑰的管理過程,減少了證書所造成的開銷,同時具有了不可偽造性。基于身份的盲簽名[16]可以有效保護(hù)簽署消息的內(nèi)容,與用戶身份對應(yīng)的私鑰是由可信的第三方密鑰生成中心計算并安全地分發(fā)給用戶,可以有效地抗共謀。因此,擬提出一種應(yīng)用于區(qū)塊鏈電子拍賣的基于身份盲簽名方案。在基于身份的盲簽名中加人SM3密碼雜湊算法,保證其安全性和可靠性,并結(jié)合運(yùn)行在以太坊上的智能合約,構(gòu)建電子拍賣系統(tǒng),以期改善電子拍賣過程中存在的安全風(fēng)險與隱患。
盲簽名[17-18]中橢圓曲線密碼體制(Elliptic Curve Cryptography,ECC)是一種基于橢圓曲線離散對數(shù)問題難解性的高效密碼體制,其使用較短的操作數(shù)即可實現(xiàn)與RSA加密算法及離散對數(shù)系統(tǒng)相同安全等級的密碼服務(wù)。與其他公鑰算法體制相比,ECC在帶寬與復(fù)雜度方面性能優(yōu)勢非常明顯,并且以太坊在升級后也允許使用橢圓曲線進(jìn)行加密。
設(shè)p是有限域上大于3的素數(shù),橢圓曲線E(Fp)是方程y2=x3+ax+b(modp)在群Fp上的所有解的集合,其中,4a3+27b2≠0 (modp)。
定義橢圓曲線E上的加法,設(shè)P=(x1,y1),Q=(x2,y2),如果x2=x1,y2=-y1,則P+Q=0,否則P+Q=(x3,y3),其中
在盲簽名過程中,用戶先將自己的信息進(jìn)行盲化,讓簽名者對于盲化信息進(jìn)行簽名。若m為原始明文消息,u為盲化因子,q為隨機(jī)數(shù),則盲化處理后的信息為
e=muq(modp)
盲化信息的簽名為
s′=ed(modp)
其中,qd=1 (modp)。
對盲化信息的簽名進(jìn)行解盲,得到最終信息的簽名為
s=s′u-1(modp)
簽名s正確性的驗證過程為
uqd=u(modp)
s=s′u-1=edu-1=mduqdu-1=mduu-1=md(modp)
SM3密碼雜湊算法[19]是基礎(chǔ)密碼算法之一,其將任意長度比特的消息壓縮成算法固定的長度,已廣泛用于數(shù)字簽名及驗證、消息認(rèn)證碼生成及驗證、隨機(jī)數(shù)生成等,并且算法公開,安全性及效率與SHA-256相當(dāng)。SM3密碼雜湊算法的結(jié)構(gòu)是Merkle-Damgard,消息分組長度為512 b,摘要長度為256 b,壓縮函數(shù)狀態(tài)為256 b,共64步操作。初始值由8個32 b串聯(lián)構(gòu)成,共256 b,壓縮函數(shù)比SHA-256增加了16步全異或操作、消息雙字介入、增加快速雪崩效應(yīng)的P置換等技術(shù),具有較高的安全性,實現(xiàn)效率也高于或等同于其他密碼雜湊算法。
以太坊[20-21]是建立在區(qū)塊鏈技術(shù)上的去中心應(yīng)用平臺,其網(wǎng)絡(luò)架構(gòu)完善且系統(tǒng)性能穩(wěn)定,是目前主流的區(qū)塊鏈平臺之一,具有成熟的應(yīng)用開發(fā)語言和技術(shù)系統(tǒng)。以太坊智能合約開發(fā)語言成熟,能實現(xiàn)多樣的以太坊應(yīng)用,例如,基于以太坊智能合約實現(xiàn)拍賣系統(tǒng)、投票系統(tǒng)等。智能合約只需要達(dá)到事先約定好的條件就會觸發(fā),而且合約生效后,直到達(dá)到條件后才會自動銷毀。智能合約在合約層,與算法機(jī)制和腳本代碼互相配合,以代碼的形式將復(fù)雜的人工處理環(huán)節(jié)轉(zhuǎn)化為數(shù)字化,自動化的約定協(xié)議,大幅降低了處理流程時間,達(dá)到瞬時響應(yīng)瞬時完成的效率。合約的執(zhí)行過程中,從開始直至銷毀,任何形式的故意破壞都不能使其受影響,只會按照事先設(shè)定的條件準(zhǔn)確執(zhí)行。智能合約在拍賣系統(tǒng)中的運(yùn)作機(jī)制如圖1所示。
圖1 智能合約在拍賣系統(tǒng)中的運(yùn)作機(jī)制
W=
其中:Ppub=qG為用戶公鑰;a,b∈E(Fq),用于確定橢圓曲線方程
y2=x3+ax+b,q>3
y2+xy=x3+ax2+b,q=2
基于身份的盲簽名方案包括密鑰生成、簽名和驗證等3個部分。
簽名者私鑰SI=qQI,QI=M(I),將SI通過安全信道發(fā)送給簽名者。簽名者收到SI后,驗證SIG=QIPpub是否成立,若成立,則接受該私鑰,否則,重新生成私鑰。
R+βG+γH+δQ=(x,y)
(1)
盲化后消息的計算表達(dá)式為
e=c-δ
(2)
c=M(m‖a‖I)
a=x(modp)
其中,(·‖·)表示兩個比特串連接。
簽名者對e進(jìn)行簽名
r=SI(1-e)
(3)
將簽名r發(fā)送給用戶,得到m的盲簽名為(c,ρ,σ),其中,ρ=r+β,σ=r+γ。
任何第三方可以驗證盲簽名(c,ρ,σ)的正確性。驗證等式為c=M[m‖I‖Rx(cQ+ρG+σH)(modp)]其中,Rx(·)表示x坐標(biāo)的值。等式成立則接受簽名,否則拒絕簽名。驗證過程如下。
cQ+ρG+σH=
cSI(G+H)+ρG+σH=
(cSI+ρ)G+(cSI+σ)H=
(cSI+r+β)G+(cSI+r+γ)H=
(cSI+SI-eSI+β)G+(cSI+SI-eSI+γ)H=
(δSI+SI+β)G+(δSI+SI+γ)H
而
R+βG+γH+δQ=
βG+γH+SI(G+H)+δSI(G+H)=
(β+SI+δSI)G+(γ+SI+δSI)H
因此
cQ+ρG+σH=R+βG+γH+δQ
盲簽名(c,ρ,σ)驗證成功。
基于身份的盲簽名方案,結(jié)合以太坊的智能合約,構(gòu)建電子拍賣系統(tǒng)?;谏矸莸拿ず灻桨傅囊霝楦倶?biāo)者進(jìn)行身份合法性認(rèn)證授權(quán),不僅保護(hù)競標(biāo)者隱私安全,還可有效防止外界攻擊破壞匿名性。智能合約[22-23]分為競標(biāo)者管理合約與競價管理合約。競標(biāo)組織者在區(qū)塊鏈上發(fā)布競標(biāo)商品及競標(biāo)規(guī)則等,競標(biāo)者利用與自己身份有關(guān)的公鑰和對應(yīng)的私鑰對競標(biāo)商品信息,標(biāo)價加密給拍賣人,有出價最高者則成交商品。整個電子拍賣過程如圖2所示。
圖2 電子拍賣過程
電子拍賣系統(tǒng)主要包括競標(biāo)組織者、中央信任證書授權(quán)(Certificate Authority,CA)機(jī)構(gòu)、競標(biāo)者管理合約和競價管理合約等角色。
中央信任機(jī)構(gòu)CA負(fù)責(zé)為合法競標(biāo)者頒發(fā)資格認(rèn)證,生成基于身份的公私鑰對的智能合約。競標(biāo)者管理合約自動審核競標(biāo)者身份的合法性,并參與標(biāo)價盲簽名,包括接受、簽名和反饋。競價管理合約自動選出收到的標(biāo)價,并公布最高價。
競拍者V向CA表明身份,等待CA對競拍者的合法身份進(jìn)行認(rèn)證審核,若合格則頒發(fā)證書。同時,CA負(fù)責(zé)頒發(fā)基于競拍者身份的公私鑰對給智能合約。競拍者注冊的具體步驟如下。
步驟1競拍者V生成基于身份的密鑰SI,得到公鑰R=SI(G+H)。
步驟2競拍者V發(fā)送注冊消息{R,I}給CA進(jìn)行身份審核。
步驟3CA完成認(rèn)證,若注冊申請人V具有競拍資格,則CA為其頒發(fā)資格證書C。
步驟4CA為拍賣者管理合約生成(SI,R)簽名密鑰對。私鑰SI通過安全信道傳遞給競拍者管理合約并保密。
步驟5競拍者管理合約根據(jù)競拍者注冊情況生成競拍者記錄表。
步驟6CA為標(biāo)價管理合約生成簽名密鑰對(SI,R)。同樣,將私鑰SI通過安全信道傳遞給標(biāo)價管理合約并保密。
競拍者請求管理合約對競拍價進(jìn)行簽名操作,具體步驟如下。
步驟1競拍者V給出價格υ。
步驟3競拍者管理合約利用式(3)對盲化價格進(jìn)行簽名計算,得到簽名r。將競拍者記錄表中的C位置記錄為“1”,并將r傳回V。
競拍者V對r進(jìn)行解盲,獲得原始價格簽名信息,生成正式價格。正式價格需通過匿名加密方式發(fā)送給競價管理合約,具體步驟如下。
步驟1競拍者V根據(jù)ρ=r+β,σ=r+γ對r進(jìn)行解盲,得到原始價格的盲簽名(c,ρ,σ)。
步驟2競拍者V將價格信息{(c,ρ,σ)‖υ}利用競價管理合約公鑰進(jìn)行加密運(yùn)算,生成正式價格
B=E{(c,ρ,σ)‖υ}
步驟3競拍者V將正式價格B匿名發(fā)送給競價管理合約。
競價合約收到V的B,利用私鑰SI解密B,驗證簽名(c,ρ,σ)的有效性,即驗證式(5)是否成立。若成立,接受簽名(c,ρ,σ),在競拍者列表中查詢c以防止復(fù)制攻擊,若已有記錄,則拋棄價格B。最終公布價格統(tǒng)計結(jié)果,并通過共識算法進(jìn)行節(jié)點認(rèn)證后記入?yún)^(qū)塊鏈中。
通過CA對競拍者身份進(jìn)行審核,保證了競拍者群體身份的合法性。采用盲簽名對價格信息加密,攻擊者從競拍者合約與競價合約中竊取的信息{e,r,C}與{(ρ,σ),v}無法推斷出關(guān)聯(lián)性,且任何第三方都無法查看價格信息,保證了公平性。
攻擊者選擇(c,ρ,σ)冒充競拍者V對價格v簽名,則攻擊者需要計算r=SI(1-e),而攻擊者不知道SI,則攻擊者無法偽造競拍者V對價格v的合法盲簽名。
攻擊者對價格的盲化由c=M(v‖a‖I)可知,攻擊者在β,γ,δ未知情況下無法完成盲化。
攻擊者對價格v的脫盲由ρ=r+β,σ=r+γ可知,攻擊者在β,γ未知情況下無法進(jìn)行c脫盲。
拍賣者V1和拍賣者V2提供價格v1和v2,與簽名者合作完成簽名運(yùn)算,得到v1和v2的盲簽名分別為(c1,ρ1,σ1)和(c2,ρ2,σ2),則
c1=av1(modp)
c2=av2(modp)
若簽名者猜測c1與v1對立,c2與v2對立,則
脫盲運(yùn)算ρ=r+β,σ=r+γ無法判斷簽名者猜測ρ1、σ1、ρ2、σ2與r1、r2的對立關(guān)系是否正確,故每次簽名更換盲因子β和γ,可確保被簽名的消息對簽名者的隱秘性。
競價合約維護(hù)競拍列表,防止復(fù)制攻擊,競價者列表與競價列表使電子拍賣過程中具有不可偽造性。區(qū)塊鏈智能合約設(shè)定運(yùn)行的邏輯性代碼,用戶可以公開審查以確定其安全性,分布式結(jié)構(gòu)也使得整個過程具有較強(qiáng)的魯棒性。
為了證實上述理論分析,在Inter(R) Core(TM) i5-8500 CPU @3.00 GHz,內(nèi)存8 GB,Windows 10操作系統(tǒng),JPBC代碼庫的仿真環(huán)境下,對所提方案進(jìn)行仿真實驗。所提方案密鑰生成時間為2.65 ms,簽名時間為2.37 ms,驗證時間為2.62 ms。
所提方案與文獻(xiàn)[24]方案、文獻(xiàn)[25]方案、文獻(xiàn)[26]方案和文獻(xiàn)[27]方案等5種方案在計算次數(shù)為0~100的運(yùn)行時間對比,如圖3所示??梢钥闯?,在任何計算次數(shù)下,所提方案的運(yùn)行時都比其他方案有所提高。
圖3 不同方案運(yùn)行時間對比
不同方案計算次數(shù)柱狀圖如圖4所示,可以看出,所提方案與其他方案相比,計算次數(shù)有所減少。對比上述5種方案的特性,結(jié)果如表1所示??梢钥闯?,所提方案同時具有安全性、公平性和身份合法性,優(yōu)于其他4種方案。
圖4 不同方案計算次數(shù)對比
表1 特性比較
所提方案的計算開銷主要來自盲簽名的乘法和指數(shù)運(yùn)算。定義盲簽名過程的乘法運(yùn)算為M,冪乘運(yùn)算為E,不同方案的計算開銷對比如表2所示。
表2 計算開銷
從表2中可以看出,所提方案只用了8次乘法運(yùn)算,減少了指數(shù)和乘法運(yùn)算,比其他方案計算速度更快、運(yùn)行時間更短、效率更高。
區(qū)塊鏈技術(shù)使得所提方案具有安全性和公平性,基于身份的盲簽名使得所提方案具有身份合法性。因此,所提方案更適合電子拍賣。
在電子拍賣系統(tǒng)中,加入了基于身份的盲簽名和區(qū)塊鏈技術(shù),加強(qiáng)了電子拍賣中身份信息的隱蔽,改善了復(fù)雜的證書管理問題,同時,降低拍賣成本,減少了信任依賴。安全性分析結(jié)果表明所提方案具有安全性、公平性和身份合法性,且運(yùn)算速度快,同時也驗證了區(qū)塊鏈技術(shù)在電子拍賣系統(tǒng)領(lǐng)域的適用性。