廖小平
(四川文理學(xué)院 智能制造學(xué)院, 達(dá)州 635000)
數(shù)字簽名的概念首先由Diffie和Hellman[1]利用公鑰密碼的思想在1976年提出。隨著研究的深入,許多具有特殊性質(zhì)的數(shù)字簽名方案相繼被提出,如1983年,David Chaum提出盲簽名[2]、1996年,Mambo提出代理簽名[3],1997年,R.Anderson[4]提出前向安全的概念,近年來(lái),將多種技術(shù)相結(jié)合設(shè)計(jì)新的具有特殊性質(zhì)的數(shù)字簽名方案越來(lái)越受到重視。肖紅光[5]等人提出了首個(gè)前向安全代理盲簽名方案,盧書一碩士論文[6]對(duì)肖紅光的文章進(jìn)行了分析。指出該方案簽名不具有前向安全性,前向安全性只限于代理密鑰,并給出了攻擊者利用交互協(xié)議與代理簽名人偽造簽名的過(guò)程,然后給出了一個(gè)改進(jìn)的方案(LSY方案),但經(jīng)分析發(fā)現(xiàn),LSY方案中存在公鑰替換攻擊缺陷,即簽名方案中用到的公鑰沒(méi)有經(jīng)過(guò)認(rèn)證,可能是偽造的,存在公鑰替換攻擊。因此,必須對(duì)公鑰進(jìn)行認(rèn)證,即確認(rèn)所使用的公鑰確實(shí)是通信方的而不是其他人的。目前,對(duì)公鑰進(jìn)行認(rèn)證可以采用基于傳統(tǒng)公鑰證書的公鑰密碼體制,但此機(jī)制存在復(fù)雜的公鑰證書管理問(wèn)題,也可以利用基于身份密碼體制[7],但此機(jī)制存在“密鑰托管”問(wèn)題,為了解決“復(fù)雜的公鑰證書管理問(wèn)題”和“密鑰托管問(wèn)題”,2003年,AI-Riyami等提出了無(wú)證書密碼體制[8],相繼設(shè)計(jì)了許多簽名和加密方案[9-11],這種密碼體制是通過(guò)某種方法來(lái)保障簽名者公鑰的真實(shí)性和有效性,并且用戶的簽名密鑰是由用戶和密鑰生成中心共同生成,密鑰生成中心不知道用戶最后的簽名私鑰,也就無(wú)法偽造用戶的授權(quán)以及簽名。本文基于無(wú)證書密碼體制提出一種改進(jìn)方案,改進(jìn)方案具有原方案安全性的同時(shí)也具有無(wú)證書密碼體制的特點(diǎn)。
LSY方案請(qǐng)參見(jiàn)文獻(xiàn)[6],此處對(duì)方案進(jìn)行安全性分析。原始簽名人A給代理簽名人B授權(quán)的過(guò)程中,存在攻擊者偽造原始簽名人A的公鑰通過(guò)驗(yàn)證,即任何攻擊者都可以偽造原始簽名人A的公鑰,并且通過(guò)驗(yàn)證,具體攻擊過(guò)程如下:
所以,任何攻擊者都可以偽造原始簽名人A的公鑰發(fā)送給代理簽名人B,并通過(guò)驗(yàn)證,因此,惡意的攻擊者可以濫用授權(quán)信息給代理簽名人B進(jìn)行授權(quán),并聲稱該授權(quán)是原始簽名人A產(chǎn)生的,進(jìn)而對(duì)原始簽名人A進(jìn)行誣陷,所以該方案存在公鑰替換攻擊問(wèn)題。
(1)選擇一個(gè)正整數(shù)n,選擇兩個(gè)大素?cái)?shù)p,q,GF(n)是一個(gè)有限域,g∈RZ是生成元,階為q,并且滿足gq≡1 modn, 選擇x為系統(tǒng)主密鑰,計(jì)算出系統(tǒng)主公鑰:Ppub=gxmodn
(2)A為原始簽名人,A的身份信息為IDA,計(jì)算:QA=H1(IDA),DA=xQA,則DA為A的部分私鑰。B為代理簽名人,B的身份信息為IDB,計(jì)算:QB=H1(IDB),DB=xQB,則DB為B的部分私鑰。C為信息m的擁有者,C的身份信息為IDC,計(jì)算:QC=H1(IDC),DC=xQC,則DC為C的部分私鑰。
(3)A任意選擇xA為秘密值,計(jì)算出A的私鑰:sA=xADA,A的公鑰:yA=gsAmodn,B任意選擇xB為秘密值,計(jì)算出B的私鑰:sB=xBDB,B的公鑰:yB=gsBmodn,C任意選擇xC為秘密值,計(jì)算出C的私鑰:sC=xCDC,C的公鑰:yC=gsCmodn。
代理簽名人B和信息擁有者C共同產(chǎn)生代理盲簽名。
(1)信息盲化階段
step 1: B任意選擇kB∈RZ,計(jì)算:t=gσjkBmodp,然后通過(guò)安全信道將(mw,rA,t)發(fā)送給C。
(2)簽名階段
B接收到u′后,計(jì)算:s′=σju′+σjkBmodq,則消息m的盲簽名為(s′,u′),將s′通過(guò)安全信道發(fā)送給C。
(3)脫盲階段
C接收到s′后,計(jì)算:s=(s′+βsC) modq,則[j,m,mw,(r,s,u)]為代理簽名人B代表原始簽名人A對(duì)消息m的盲簽名。
r′=gsyTmodp=gs′+βxCyTmodp
=gσju′+σjkB+βxCyT=gσju′+σjkB+βxCgσjmodp
=gσj(α-u)+σjkB+βxCgσjmodp
=gσjα-σju+σjkB+βxCgσjmodp
=gσjα-σju+σjkB+βxC+umodp
=gσjα+σjkB+βxCmodp
=gσjα+σjkB+βxCmodp
=gσjαgσjkBgβxCmodp
=yTtyCmodp
=r
(1)代理授權(quán)安全性:
(2)用戶簽名密鑰、公鑰安全性:
原始簽名人A的私鑰:sA=xADA=xAxQA=xAxH1(IDA)中包含A任意選擇的秘密值xA,系統(tǒng)主密鑰x,即A的私鑰是由密鑰生成中心和用戶任意選擇的秘密值構(gòu)成,密鑰生成中心不知道A最后的簽名密鑰,也就無(wú)法偽造用戶的簽名以及授權(quán),任何攻擊者無(wú)法知道用戶任意選擇的秘密值也就無(wú)法偽造用戶的簽名密鑰,同理,代理簽名者B,信息擁有者C的密鑰具有同樣的不可偽造性,
綜述所述,新方案中,原始簽名者A,代理簽名者B,信息擁有者C的簽名密鑰是安全的,又因?yàn)楣€是通過(guò)密鑰生成的,所以攻擊者無(wú)法偽造其公鑰。
(1)原始簽名者A無(wú)法否認(rèn)給代理簽名者B的授權(quán)信息
(2)代理簽名者B無(wú)法否認(rèn)對(duì)信息m的簽名
(3)信息擁有者C無(wú)法否認(rèn)自己提供的信息
在脫盲階段:s=(s′+βsC) modq中包含信息擁有者C的密鑰sC,所以信息擁有者C無(wú)法否認(rèn)自己提供的信息m
綜上所述,原始簽名者A無(wú)法否認(rèn)為代理簽名者B授過(guò)權(quán),代理簽名者B無(wú)法否認(rèn)對(duì)信息m的代理簽名,信息擁有者C無(wú)法否認(rèn)提供的信息m。
本文經(jīng)安全分析,指出LSY方案存在公鑰替換攻擊問(wèn)題,同時(shí),基于無(wú)證書密碼體制提出了一個(gè)改進(jìn)方案,改進(jìn)方案解決了公鑰認(rèn)證問(wèn)題,經(jīng)安全分析,該方案是正確的,不可偽造的,密鑰更新和代理盲簽名都具有前向安全性。