趙艷紅, 陳曉玲
(安徽財(cái)經(jīng)大學(xué) 管理科學(xué)與工程學(xué)院, 安徽 蚌埠 233000)
隨著網(wǎng)絡(luò)及信息技術(shù)的快速發(fā)展,信息安全問(wèn)題尤為重要,基于身份代理的環(huán)簽名方案在計(jì)算機(jī)、電子商務(wù)等方面具有很高的研究及應(yīng)用價(jià)值[1-2].1996年,Mambo[3]提出代理簽名的概念.在代理簽名方案中,原始簽名者將消息簽名的簽名權(quán)委托給代理簽名人.這種簽名支持為分布式網(wǎng)絡(luò)中的客戶(hù)提供服務(wù),以避免對(duì)單個(gè)服務(wù)器的依賴(lài).2003年,Zhang[4]等人設(shè)計(jì)了基于雙線(xiàn)性對(duì)的代理盲簽名和代理環(huán)簽名方案,這是代理環(huán)簽名概念的首次提出.2004年,為了方便代理環(huán)簽名的公鑰證書(shū)管理,Cheng[5]等人首次提出了基于身份的代理環(huán)簽名,使用簽名者的身份而不是公鑰和證書(shū).2005年,Lu[6]等人構(gòu)造了具有消息恢復(fù)的指定驗(yàn)證者代理簽名方案.2006年,Huang[7]等人在無(wú)隨機(jī)預(yù)言機(jī)的基礎(chǔ)上設(shè)計(jì)了代理簽名方案.2007年,Liu[8]等人設(shè)計(jì)了保護(hù)代理簽名安全的方案對(duì)抗未被授權(quán)的代理簽名的攻擊.2008年,Schuldt[9]等人提出的基于身份的代理環(huán)簽名方案解決代理密鑰暴露攻擊,在以往的方案中,如果代理簽名者的暫時(shí)密鑰被泄露,它們的長(zhǎng)期密鑰將受到損害.2011年,Shim[10]等人提出指定驗(yàn)證者的短代理簽名方案.2012年,Chou[11]等人提出匿名的代理簽名方案.2014年,Asaar[12]提出基于身份的代理環(huán)簽名方案的定義和安全模型,并提出了可證明安全的無(wú)雙線(xiàn)性對(duì)的基于身份的代理環(huán)簽名方案,證明了在隨機(jī)預(yù)言機(jī)模型下,基于RSA假設(shè)是安全的.由于高概率破壞方案的不可偽造性,導(dǎo)致解決RSA帶來(lái)的安全問(wèn)題的概率太小.2015年,張瑞麗[13]等人基于雙線(xiàn)性對(duì)運(yùn)算和離散對(duì)數(shù)的困難性問(wèn)題,提出了基于身份的代理簽名.2016年,景東亞[14]提出了指定驗(yàn)證者代理簽名方案.
本文提出了基于身份及RSA的簡(jiǎn)短代理環(huán)簽名方法.在隨機(jī)預(yù)言模型下,基于RSA的方法被證明是安全的.本文提出的方法是不基于雙線(xiàn)性對(duì)的基于身份的簡(jiǎn)短代理環(huán)簽名方法,并且由于該方法的安全性方面與代理環(huán)中的成員數(shù)無(wú)關(guān),在安全方面有優(yōu)勢(shì),比現(xiàn)有的基于身份的代理環(huán)簽名方法具有更高的效率.
(3) 設(shè)#是空字符串,|x|是x的比特長(zhǎng)度,θ←C(x1,…)代表算法C輸入x1,…,輸出到θ.
(4) 如果算法A是(t,qg,qp,qe,qd,qprs,ε)有界的,即算法的運(yùn)行時(shí)間最多為t,使得最多在時(shí)間qg查詢(xún)隨機(jī)預(yù)言機(jī)G,在時(shí)間qp查詢(xún)隨機(jī)預(yù)言機(jī)P,在時(shí)間qe查詢(xún)Extract,在時(shí)間qd查詢(xún)ProxyDelegation和在時(shí)間qs查詢(xún)Sign預(yù)言機(jī),可以至少以ε的概率贏得游戲.
RSA密鑰生成器KGrsa是生成三元組(N,e,d)的算法,這樣N是兩個(gè)大素?cái)?shù)p和q的乘積,且ed=1 modφ(N),其中φ(N)=(p-1)(q-1).算法B打破KGrsa和RSA單向性的有利條件定義為
基于身份的代理環(huán)簽名必須滿(mǎn)足2個(gè)獨(dú)立的安全性:代理簽名者身份的不可偽造性和隱私.實(shí)現(xiàn)存在性不可偽造對(duì)抗適應(yīng)性選擇消息,對(duì)基于身份的代理環(huán)簽名方法選擇身份攻擊,在Yu[15]等人的文中提到3種類(lèi)型的潛在敵手:A1、A2、A3.
如果基于身份的代理環(huán)簽名方法對(duì)2型或3型敵手是安全的,那么它對(duì)1型敵手也是安全的.對(duì)A1、A2、A3敵手的不可偽造性,在挑戰(zhàn)者C和敵手A之間開(kāi)始以下游戲.
(1) Setup: 挑戰(zhàn)者C運(yùn)行ParaGen算法,用安全參數(shù)l獲得系統(tǒng)參數(shù)para和主密鑰(mpk,msk),然后發(fā)送(mpk,para)給A.
(2) KeyExtract查詢(xún):A可以要求密鑰對(duì)應(yīng)于每個(gè)身份IDu,然后運(yùn)行KeyExtract算法,C返回私鑰xu給敵手.
(3) DelegationGen查詢(xún):敵手A可以基于消息空間描述符w上原始簽名者的身份IDo和身份集ID請(qǐng)求授權(quán),ID的選擇是具有身份IDo的原始簽名者將其在w上的簽名權(quán)授權(quán)給具有身份集ID的委托代理.對(duì)此,C運(yùn)行KeyExtract算法得到原始簽名者的密鑰xo,并返回σo←DelegationGen(Para,mpk,IDo,ID,w,xo).
此外,敵手A為信息空間描述符w和代理簽名者的身份集ID提供了一個(gè)具有身份IDo的原始簽名者的授權(quán)σo.這個(gè)授權(quán)是從DelegationGen算法得到或被敵手A產(chǎn)生.
對(duì)于A=A1,
存在性不可偽造的攻擊敵手A1[12]的正式定義如下.
定義1 如果沒(méi)有有界的(t,qg,qe,qd,qs,ε)敵手A贏得游戲,基于身份的代理環(huán)簽名(t,qg,qe,qd,qs,ε)存在不可偽造性抵抗自適應(yīng)性選擇消息(權(quán)證)和選擇身份攻擊.
對(duì)于A=A2,
存在性不可偽造的攻擊敵手A2[12]的正式定義如下.
定義2 如果沒(méi)有有界的(t,qg,qe,qd,ε)敵手A贏得游戲,基于身份的代理環(huán)簽名(t,qg,qe,qd,ε)存在不可偽造性抵抗自適應(yīng)性選擇消息(權(quán)證)和選擇身份攻擊.
對(duì)于A=A3,
存在性不可偽造的攻擊敵手A3[12]的正式定義如下:
定義3 如果沒(méi)有有界的(t,qg,qe,qs,ε)敵手A贏得游戲,基于身份的代理環(huán)簽名(t,qg,qe,qs,ε)存在不可偽造性抵抗自適應(yīng)性選擇消息(權(quán)證)和選擇身份攻擊.
(1) Generation:輸入是系統(tǒng)安全參數(shù)l,輸出是系統(tǒng)參數(shù)Para,系統(tǒng)主密鑰(msk,mpk),即(Para, (msk,mpk))←ParaGen(l).
(2) Extract:輸入Para,mpk,主密鑰msk=d和用戶(hù)身份的IDu,輸出身份IDu相應(yīng)的密鑰(密鑰分配中心計(jì)算xu=G(IDu)dmodN,并將安全且經(jīng)過(guò)身份驗(yàn)證的通道上的用戶(hù)密鑰xu發(fā)送給身份為IDu的用戶(hù)),即xu←Extract(Para,mpk,msk,IDu).
(3) ProxyDelegation:如果具有身份IDo的原始簽名者愿意將其簽名權(quán)委托給具有身份集ID的委托代理,該算法被采用.輸入是Para,mpk,IDo,ID的原始簽名者的密鑰xo和信息空間描述符w?{0, 1},輸出是一個(gè)授權(quán)σo,即σo←ProxyDelegation(Para,mpk,IDo,ID,xo).
(4) VerifyDelegation:輸入是Para,IDo,ID,w和σo,如果σo是一個(gè)有效的授權(quán),輸出是1,否則為0,即{0, 1}←VerifyDelegation(Para,mpk,IDo,ID,w,xo).
① 如果m∈w,檢查;否則,停止;
本文驗(yàn)證了該方法的正確性,并證明了代理簽名者的身份隱私和在隨機(jī)預(yù)言模型下該方法存在不可偽造性.如果基于身份的代理環(huán)簽名方法對(duì)2型(3型)敵手是安全的,那么它對(duì)1型敵手也確保安全.為了證明所提出的方法的不可偽造性,需要證明它是不可偽造的敵手A2、A3.
首先,驗(yàn)證所提出的方法的正確性,所有的計(jì)算都做了模n,但是為簡(jiǎn)單起見(jiàn)忽略了這點(diǎn).
在下文中將需要以下分裂引理.
(1)Pr[B]≥α;
(2) ?(x,y)∈B,Pry′∈Y[(x,y)∈A]≥δ-α;
定理1 所提出的方法對(duì)敵手A2是(t,qG,qPo,qd,ε)安全的,如果RSA函數(shù)與KGrsa的關(guān)聯(lián)是(t′,ε′)單向的,并且
(3) 基于IDu的Extract查詢(xún):算法B查找T[IDu]=(b,xu,Xu),如果這項(xiàng)尚未定義,它執(zhí)行查詢(xún)G(IDu).如果b=0,則B返回xu;否則,設(shè)置badPE←true,中止A2執(zhí)行.
因此,B不中止簽名仿真的概率至少是η≥βqE-qd(2qd+qP0)2-lN.
由于P0是隨機(jī)預(yù)言機(jī),c0=P0(Ro‖w‖ID)事件發(fā)生的概率小于2-l0,除非在攻擊期間被詢(xún)問(wèn).因此,接下來(lái)在成功攻擊期間,很可能查詢(xún)(Ro‖w‖ID).對(duì)預(yù)言機(jī)P0查詢(xún)后生成有效偽造概率的下界是ε2≥ε1-2-l0.然后,B使用預(yù)言機(jī)重放技術(shù)[18]解決RSA問(wèn)題.
算法B的運(yùn)行時(shí)間t′是A2的2倍,加上響應(yīng)Hash查詢(xún)所需的時(shí)間,qEExtract和qdProxyDelegation查詢(xún)的時(shí)間.假設(shè)ZN中1(多)次模指數(shù)運(yùn)算需要te時(shí)間,當(dāng)所有其他操作需要時(shí)間為零,由于每個(gè)隨機(jī)預(yù)言機(jī)G或Extract查詢(xún)需要的時(shí)間最多為1次指數(shù)運(yùn)算,1個(gè)授權(quán)模擬需要2次指數(shù)運(yùn)算,B的運(yùn)行時(shí)間為t′≤2(t+(qG+qE+2qd)te).證明完成.
定理2 所提出的方法對(duì)敵手A3是(t,qG,qP,qE,qprs,ε)安全的,如果與Kgrsa相關(guān)的RSA函數(shù)是(t′,ε′)單向的,并且
(4) 基于IDu的Extract查詢(xún):算法B查找T[IDu]=(b,xu,Xu),如果未定義此項(xiàng),則執(zhí)行查詢(xún)G(IDu).如果b=0,則B返回xu;否則,設(shè)置badPE←true,中止A3的執(zhí)行.
證明 類(lèi)似要求1的證明.
算法B的運(yùn)行時(shí)間t′是A3的兩倍,包括t加上響應(yīng)Hash查詢(xún)、qEExtract查詢(xún)和qsSign查詢(xún)所需的時(shí)間.假設(shè)在ZN中,當(dāng)所有其他操作時(shí)間都為零,1次(多次)指數(shù)運(yùn)算所需時(shí)間是te,由于每個(gè)隨機(jī)預(yù)言機(jī)G或Extract查詢(xún)需要最多1次指數(shù)運(yùn)算,1次Sign模擬需要(2z+1)指數(shù)運(yùn)算,B的運(yùn)行時(shí)間是t′≤2(t+qG+qE+(2z+1)qs)te.證明完畢.
證明 區(qū)分器D自適應(yīng)分配隨機(jī)預(yù)言機(jī)、Extract、ProxyDelegation和Sign的多項(xiàng)式的次數(shù),如定理1和2的證明.
表1 本文提出方法與文獻(xiàn)[12]簽名方法比較Table 1 Comparison of the proposed scheme with the signature scheme in reference [12]
如表1所示,本文提出的簽名方法與文獻(xiàn)[12]中提出的簽名方法相比,在簽名長(zhǎng)度上有優(yōu)勢(shì).由于l1?|ZN|,簽名長(zhǎng)度由因子|ZN|-l1改進(jìn).本文所提出方法密鑰和簽名長(zhǎng)度縮減,提高了運(yùn)行效率.
本文從RSA假設(shè)出發(fā),提出了一個(gè)可證明安全的基于身份的簡(jiǎn)短代理環(huán)簽名方法,在隨機(jī)預(yù)言機(jī)模型中證明它是安全的.與RSA算法相比,該方法的安全性得到了改善,因?yàn)樗c代理環(huán)中代理簽名者的數(shù)量無(wú)關(guān).本文提出的方法沒(méi)有使用雙線(xiàn)性對(duì),避免了配對(duì)計(jì)算,所以提出的方法使運(yùn)算復(fù)雜度降低,提高了運(yùn)行效率,在效率上有適當(dāng)?shù)膬?yōu)勢(shì).信息時(shí)代,在計(jì)算機(jī)及網(wǎng)絡(luò)應(yīng)用廣泛的情況下,黑客入侵、惡意軟件泛濫、違法監(jiān)控、隱私泄露事件常有發(fā)生,本文提出的簽名方法具有不可偽造性及安全性,不受代理密鑰暴露攻擊的影響,抗攻擊性強(qiáng),具有廣泛的應(yīng)用前景,可解決電子商務(wù)、云計(jì)算等領(lǐng)域中存在的安全問(wèn)題.