版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、西安電子科技大學(xué)出版社二00九年十二月應(yīng)應(yīng) 用用 密密 碼碼 學(xué)學(xué)第第7章章 認(rèn)證理論與技術(shù)認(rèn)證理論與技術(shù)數(shù)字簽名數(shù)字簽名 數(shù)字簽名的原理及分類數(shù)字簽名的原理及分類 RSA及及ElGamal數(shù)字簽名算法數(shù)字簽名算法 數(shù)字簽名標(biāo)準(zhǔn)數(shù)字簽名標(biāo)準(zhǔn)DSS 其他數(shù)字專用簽名方案其他數(shù)字專用簽名方案 盲簽名方案及其應(yīng)用盲簽名方案及其應(yīng)用7.1. 概述概述 由于計(jì)算機(jī)和網(wǎng)絡(luò)的快速發(fā)展,電子商由于計(jì)算機(jī)和網(wǎng)絡(luò)的快速發(fā)展,電子商務(wù)日漸興起,通過在文檔上簽字蓋章的方式務(wù)日漸興起,通過在文檔上簽字蓋章的方式進(jìn)行商務(wù)活動,顯得效率很低。例如,一個進(jìn)行商務(wù)活動,顯得效率很低。例如,一個在中國的公司和一個在美國的公司進(jìn)行
2、合作在中國的公司和一個在美國的公司進(jìn)行合作,雙方達(dá)成協(xié)議后,要簽訂一個合同,則需,雙方達(dá)成協(xié)議后,要簽訂一個合同,則需要一方簽名蓋章后,郵寄或派人到另一方去要一方簽名蓋章后,郵寄或派人到另一方去簽名蓋章。于是人們就想,能不能對已經(jīng)協(xié)簽名蓋章。于是人們就想,能不能對已經(jīng)協(xié)商好的電子文檔進(jìn)行和手寫簽名一樣的電子商好的電子文檔進(jìn)行和手寫簽名一樣的電子簽名呢?并且這個電子簽名和要求手寫簽名簽名呢?并且這個電子簽名和要求手寫簽名具有相同的法律效力,同時(shí)也是安全的,也具有相同的法律效力,同時(shí)也是安全的,也即不能被偽造。這樣,一方簽名后,可以通即不能被偽造。這樣,一方簽名后,可以通過電子郵件發(fā)送給另一方,效
3、率高而且花費(fèi)過電子郵件發(fā)送給另一方,效率高而且花費(fèi)小。小。 數(shù)字簽名的概念由數(shù)字簽名的概念由Diffie和和Hellman于于1976年提出,目的是通過年提出,目的是通過簽名者對電子文件進(jìn)行電子簽名,使簽名者無法否認(rèn)自己的簽名,簽名者對電子文件進(jìn)行電子簽名,使簽名者無法否認(rèn)自己的簽名,同時(shí)別人也不能偽造,實(shí)現(xiàn)與手寫簽名相同的功能,具有與手寫簽同時(shí)別人也不能偽造,實(shí)現(xiàn)與手寫簽名相同的功能,具有與手寫簽名相同的法律效力。名相同的法律效力。 由于數(shù)字簽名技術(shù)在現(xiàn)在和未來社會里對政府、企事業(yè)、一般由于數(shù)字簽名技術(shù)在現(xiàn)在和未來社會里對政府、企事業(yè)、一般團(tuán)體和個人的重要影響,世界各國都加強(qiáng)了對它的研究。團(tuán)
4、體和個人的重要影響,世界各國都加強(qiáng)了對它的研究。 1994年美國政府正式頒發(fā)了美國數(shù)字簽名標(biāo)準(zhǔn)年美國政府正式頒發(fā)了美國數(shù)字簽名標(biāo)準(zhǔn)DSS(Digital Signature Standard) 1995年我國也制定了自己的數(shù)字簽名標(biāo)準(zhǔn)年我國也制定了自己的數(shù)字簽名標(biāo)準(zhǔn)(GB15851-1995) 2004年我國頒發(fā)中華人民共和國電子簽名法年我國頒發(fā)中華人民共和國電子簽名法數(shù)字簽名與手工簽名的區(qū)別數(shù)字簽名與手工簽名的區(qū)別數(shù)字簽名數(shù)字簽名數(shù)字的,因消息而異數(shù)字的,因消息而異手工簽名手工簽名模擬的,因人而異模擬的,因人而異數(shù)字簽名與消息認(rèn)證的區(qū)別數(shù)字簽名與消息認(rèn)證的區(qū)別數(shù)字簽名數(shù)字簽名第三者可以確認(rèn)收
5、發(fā)雙方的消息傳送第三者可以確認(rèn)收發(fā)雙方的消息傳送消息認(rèn)證消息認(rèn)證只有收發(fā)雙方才能確認(rèn)消息的傳送只有收發(fā)雙方才能確認(rèn)消息的傳送認(rèn)證認(rèn)證數(shù)據(jù)完整性數(shù)據(jù)完整性不可抵賴性不可抵賴性大型網(wǎng)絡(luò)的公鑰證書中大型網(wǎng)絡(luò)的公鑰證書中數(shù)字簽名的應(yīng)用數(shù)字簽名的應(yīng)用7.2 數(shù)字簽名的原理及分類數(shù)字簽名的原理及分類 在RSA加密算法中,假如用戶Bob的參數(shù)選取簡單寫為n=pq,de1mod(n),則e, n為公開密鑰,d, n為秘密密鑰。對于一個秘密密鑰d, n,在滿足de1mod(n)的條件下,只有唯一的e, n與之對應(yīng)。如同在介紹RSA加密算法時(shí)所提及的那樣,一個用戶的公鑰會在較長時(shí)間內(nèi)保持不變,故我們可以說,在一定
6、時(shí)間內(nèi),在一定時(shí)間內(nèi),e, n表表示了秘密密鑰示了秘密密鑰d, n的持有者的身份。的持有者的身份。 如果秘密密鑰d, n的持有者Bob聲明某個信息m并放于公共媒介如網(wǎng)絡(luò)之上, 那么其他人如何確定這個消息就是他發(fā)布的原信息而沒有被其他人更改過呢?也就是如何確定消息的完整性呢? 讓消息發(fā)布者Bob先計(jì)算smd mod n,然后把s附于消息m之后,一起放到公共媒介上。因?yàn)榇蠹叶贾纄, n唯一代表了消息發(fā)布者Bob的身份,故可以通過計(jì)算mse mod n成立與否,來判定消息是不是Bob所發(fā),以及消息是否被篡改。 因?yàn)锽ob是秘密密鑰d, n的唯一持有者,只有他才能通過smd mod n計(jì)算出s的值來
7、。其他人如果想算出s的值,他必須要能破解大數(shù)分解問題才行。7.2.2 數(shù)字簽名的分類數(shù)字簽名的分類當(dāng)前,數(shù)字簽名應(yīng)具有的性質(zhì)當(dāng)前,數(shù)字簽名應(yīng)具有的性質(zhì)(1)收方能確認(rèn)或證實(shí)發(fā)方的簽字,但)收方能確認(rèn)或證實(shí)發(fā)方的簽字,但不能偽造不能偽造;(2)發(fā)方發(fā)出簽名后的消息,就)發(fā)方發(fā)出簽名后的消息,就不能否認(rèn)不能否認(rèn)所簽消息;所簽消息;(3)收方對已收到的消息)收方對已收到的消息不能否認(rèn)不能否認(rèn);(4)第三者可以確認(rèn)收發(fā)雙方之間的消息傳送,但)第三者可以確認(rèn)收發(fā)雙方之間的消息傳送,但不能偽造不能偽造這一這一過程;過程;(5)必須能夠驗(yàn)證簽名者及其簽名的日期時(shí)間;)必須能夠驗(yàn)證簽名者及其簽名的日期時(shí)間;(
8、6)必須能夠認(rèn)證被簽名消息的內(nèi)容;)必須能夠認(rèn)證被簽名消息的內(nèi)容;(7)簽名必須能夠由第三方驗(yàn)證,以解決爭議。)簽名必須能夠由第三方驗(yàn)證,以解決爭議。:數(shù)字簽名功能包含了認(rèn)證的功能。:數(shù)字簽名功能包含了認(rèn)證的功能。 按數(shù)字簽名的所依賴的理論基礎(chǔ)分,主要可以分為:按數(shù)字簽名的所依賴的理論基礎(chǔ)分,主要可以分為: (1)基于大數(shù)分解難題的數(shù)字簽名,如)基于大數(shù)分解難題的數(shù)字簽名,如7.3節(jié)及節(jié)及7.6節(jié)介紹的例節(jié)介紹的例子;子; (2)基于離散對數(shù)的數(shù)字簽名,如)基于離散對數(shù)的數(shù)字簽名,如7.4節(jié)介紹的節(jié)介紹的DSA; (3)基于橢圓曲線離散對數(shù)的數(shù)字簽名,這類簽名往往由基于)基于橢圓曲線離散對數(shù)的
9、數(shù)字簽名,這類簽名往往由基于離散對數(shù)的數(shù)字簽名改進(jìn)而來。離散對數(shù)的數(shù)字簽名改進(jìn)而來。 近年來,隨著密碼理論的發(fā)展,人們也提出了基于雙線性對的近年來,隨著密碼理論的發(fā)展,人們也提出了基于雙線性對的數(shù)字簽名等。數(shù)字簽名等。 從數(shù)字簽名的用途分,可以把數(shù)字簽名分為普通的數(shù)字簽名普通的數(shù)字簽名和特殊用途的數(shù)字簽名特殊用途的數(shù)字簽名。 普通的數(shù)字簽名普通的數(shù)字簽名往往可以和身份認(rèn)證相互轉(zhuǎn)換 ,如盲簽名、代理簽名、群簽名、門限簽名等,多是在某些特殊的場合下使用。 盲簽名盲簽名通常用于需要匿名的小額電子現(xiàn)金的支付,代理簽名代理簽名可以用于委托別人在自己無法簽名的時(shí)候(如外出旅游)代替簽名等。這部分內(nèi)容請參考
10、7.5節(jié)。7.3 數(shù)字簽名算法數(shù)字簽名算法 在本節(jié)中,我們介紹比較經(jīng)典的數(shù)字簽名算法: 一個是一個是RSA簽名算法簽名算法 一個是一個是ElGamal簽名算法簽名算法 RSA簽名算法提出的時(shí)間比較早,并且一直到現(xiàn)在,以其為基礎(chǔ)的應(yīng)用都還在使用。 而ElGamal簽名算法的變型算法之一,就是后來的數(shù)字簽名算法(DSA)。 7.3.1 RSA數(shù)字簽名數(shù)字簽名 (1)參數(shù)選擇)參數(shù)選擇 選擇兩個滿足需要的大素?cái)?shù)p和q,計(jì)算n=pq, (n)= (p-1)(q-1),其中(n)是n的歐拉函數(shù)值。 選一個整數(shù)e, 滿足1e(n),且gcd(n),e)=1。通過de1mod(n),計(jì)算出d。 以e,n為公
11、開密鑰,d,n為秘密密鑰。1RSA數(shù)字簽名描述數(shù)字簽名描述 (2)簽名過程)簽名過程 假設(shè)簽名者為Bob,則只有Bob知道秘密密鑰d, n。 設(shè)需要簽名的消息為m,則簽名者Bob通過如下計(jì)算對m簽名:smd mod n (m, s)為對消息)為對消息m的簽名。的簽名。Bob在公共媒體上宣稱他發(fā)布了消息m,同時(shí)把對m的簽名s置于消息后用于公眾驗(yàn)證簽名。 (3)驗(yàn)證過程。)驗(yàn)證過程。 公眾在看到消息m和對其簽名s后,利用Bob的公開驗(yàn)證密鑰e, n對消息進(jìn)行驗(yàn)證。 公眾計(jì)算:公眾計(jì)算:mse mod n是否成立,若成立,則是否成立,若成立,則Bob的簽名的簽名有效。有效。 公眾認(rèn)為消息m的確是Bo
12、b所發(fā)布,且消息內(nèi)容沒有被篡改。 也就是說,公眾可以容易鑒別發(fā)布人發(fā)布的消息的完整也就是說,公眾可以容易鑒別發(fā)布人發(fā)布的消息的完整性。性。2對上述對上述RSA簽名算法的一個攻擊簽名算法的一個攻擊 前面所描述的前面所描述的RSA簽名算法是有缺陷的。簽名算法是有缺陷的。 假設(shè)攻擊者Eve在得到Bob的兩次對消息的簽名后,很容易實(shí)現(xiàn)偽造。若已知:若已知: (1)Bob對消息M1的簽名為S1,即S1M1d mod n; (2)Bob對消息M2的簽名為S2,即S2M2d mod n; 則攻擊者則攻擊者Eve可以構(gòu)造消息可以構(gòu)造消息M3=M1*M2的簽名的簽名S3,S3= M3d=(M1*M2)dmodn
13、S2*S1 雖然說在已知M1、M2的情況下,M3往往只是一個數(shù)值,一般來說是沒有意義的,3對上述對上述RSA簽名算法的改進(jìn)簽名算法的改進(jìn) 假設(shè)公開的安全哈希函數(shù)為H(),參數(shù)選擇如前,其簽名過程和驗(yàn)證過程如下: (1)簽名過程)簽名過程 設(shè)需要簽名的消息為m,簽名者Bob通過如下計(jì)算對其簽名: sH(m)d mod n (m, s)為對消息m的簽名。 (2)驗(yàn)證過程)驗(yàn)證過程 在收到消息m和簽名s后,驗(yàn)證H(m)se mod n 是否成立,若成立,則發(fā)送方的簽名有效。數(shù)字簽名的步驟(數(shù)字簽名與驗(yàn)證過程)第一步:將消息按散列算法計(jì)算得到一個固定第一步:將消息按散列算法計(jì)算得到一個固定 位數(shù)的消息
14、摘要值。位數(shù)的消息摘要值。在數(shù)學(xué)上保證:只要改動消息的在數(shù)學(xué)上保證:只要改動消息的任何一位,重新計(jì)算出的消息摘任何一位,重新計(jì)算出的消息摘要就會與原先值不符。這樣就保要就會與原先值不符。這樣就保證了消息的不可更改證了消息的不可更改。第二步:第二步:對消息摘要值用發(fā)送者的私有密鑰加密,對消息摘要值用發(fā)送者的私有密鑰加密,所產(chǎn)生的密文即稱數(shù)字簽名。然后該數(shù)字簽名同所產(chǎn)生的密文即稱數(shù)字簽名。然后該數(shù)字簽名同原消息一起發(fā)送給接收者。原消息一起發(fā)送給接收者。第三步:第三步:接收方收到消息和數(shù)字簽名后,用同樣的接收方收到消息和數(shù)字簽名后,用同樣的散列算法對消息計(jì)算摘要值,然后與用發(fā)送者的散列算法對消息計(jì)算
15、摘要值,然后與用發(fā)送者的公開密鑰對數(shù)字簽名進(jìn)行解密,將解密后的結(jié)果公開密鑰對數(shù)字簽名進(jìn)行解密,將解密后的結(jié)果與計(jì)算的摘要值相比較。如相等則說明報(bào)文確實(shí)與計(jì)算的摘要值相比較。如相等則說明報(bào)文確實(shí)來自發(fā)送者。來自發(fā)送者。數(shù)字簽名與驗(yàn)證過程圖示消消 息息摘要摘要數(shù)字簽名數(shù)字簽名消消 息息數(shù)字簽名數(shù)字簽名消消 息息摘要摘要數(shù)字簽名數(shù)字簽名摘要摘要發(fā)送方發(fā)送方接收方接收方 當(dāng)M3=M1*M2時(shí),H(M3)= H(M1)* H(M2)一般不成立,有效的防止了這類攻擊方法。 可以看到,通過使用哈希函數(shù),有效防止了對簽名的偽造,增強(qiáng)了簽名算法的安全性,這也是在很多簽名算法中使用哈希函數(shù)的原因之一。 7.3.2
16、 ElGamal數(shù)字簽名數(shù)字簽名 ElGamal簽名算法也是基于離散對數(shù)難題的簽名算法也是基于離散對數(shù)難題的,于于1985年提出,年提出,其變型之一成為美國國家標(biāo)準(zhǔn)技術(shù)研究所(其變型之一成為美國國家標(biāo)準(zhǔn)技術(shù)研究所(National Institute of Standards and Technology,簡稱簡稱NIST)提出的提出的DSA(digital signature Algorithm)算法的基礎(chǔ)。算法的基礎(chǔ)。2對于對于ElGamal簽名算法的理解,需注意:簽名算法的理解,需注意: (1)這個方案還是存在一定的不足。)這個方案還是存在一定的不足。比如,對于消息沒有用哈比如,對于消息
17、沒有用哈希函數(shù)進(jìn)行處理,簽名容易被偽造。希函數(shù)進(jìn)行處理,簽名容易被偽造。 (2)簽名時(shí)所使用的隨機(jī)值)簽名時(shí)所使用的隨機(jī)值k不能泄露,不能泄露,。通過變換。通過變換(m-x)k-1mod(p-1),可知,可知x(m-k) -1 mod(p-1)。 (3)對于兩個不同的消息簽名時(shí),不要使用相同的)對于兩個不同的消息簽名時(shí),不要使用相同的k,否則容,否則容易求得易求得k的值,從而知道簽名者的私鑰。的值,從而知道簽名者的私鑰。 通過對上面兩個算法的學(xué)習(xí),我們可以看到,數(shù)字簽名的一個通過對上面兩個算法的學(xué)習(xí),我們可以看到,數(shù)字簽名的一個重要作用,就是保證了被簽名文檔的完整性。重要作用,就是保證了被簽名
18、文檔的完整性。 一旦被簽名的文檔內(nèi)容發(fā)生了改變,則通不過驗(yàn)證,從而防止一旦被簽名的文檔內(nèi)容發(fā)生了改變,則通不過驗(yàn)證,從而防止了文檔被篡改和偽造;了文檔被篡改和偽造;而且,簽名是與文檔內(nèi)容緊密聯(lián)系的,這樣而且,簽名是與文檔內(nèi)容緊密聯(lián)系的,這樣,對一個文檔的簽名,對一個文檔的簽名,如果復(fù)制到另外一個文檔上,就通不過驗(yàn)證如果復(fù)制到另外一個文檔上,就通不過驗(yàn)證,使得簽名對該文檔無效。,使得簽名對該文檔無效。7.4 數(shù)字簽名標(biāo)準(zhǔn)(數(shù)字簽名標(biāo)準(zhǔn)(DSS) 1991年年8月,月,NIST提出將數(shù)字簽名算法(提出將數(shù)字簽名算法(DSA,Digital Signature Algorithm)用于數(shù)字簽名標(biāo)準(zhǔn)(
19、)用于數(shù)字簽名標(biāo)準(zhǔn)(DSS,Digital Signature Standard)中。)中。 由于由于RSA算法及簽名的廣泛使用等各種原因,使得算法及簽名的廣泛使用等各種原因,使得DSS的的出現(xiàn)引起了很多的爭議。出現(xiàn)引起了很多的爭議。1994年,在考慮了公眾的建議后,年,在考慮了公眾的建議后,該標(biāo)準(zhǔn)最終頒布。該標(biāo)準(zhǔn)最終頒布。7.4.1 DSA的描述的描述1算法的參數(shù)算法的參數(shù) p是L比特長的素?cái)?shù),L的長度為512到1024且是64的倍數(shù)。 q是160比特長且為p-1的素因子。gh(p-1)/q mod p, 其中h, g是整數(shù),1hp-1, 且要求g大于1。 x是簽名者的私鑰,由簽名者選取的隨
20、機(jī)數(shù),要求是小于q的正整數(shù); ygx mod p為簽名者的公鑰。選擇安全散列算法H( ),標(biāo)準(zhǔn)中指定為SHA。 簽名者公開簽名者公開(p, q, g, y)及安全散列算法及安全散列算法H( ),保密,保密x。 DSA的安全性是基于求解離散對數(shù)困難性的基礎(chǔ)之上的,并使的安全性是基于求解離散對數(shù)困難性的基礎(chǔ)之上的,并使用了安全散列算法。用了安全散列算法。它也是它也是Schnorr和和ElGamal簽名算法的變型。簽名算法的變型。 對于DSA算法,人們有一些批評意見人們有一些批評意見,比如認(rèn)為驗(yàn)證比簽名快,q的長度160比特太短,不能用于加密和分配密鑰等。 另外,由于DSA算法是ElGamal簽名算
21、法的變型,故所有對故所有對ElGamal簽名算法的攻擊,也可以用于對簽名算法的攻擊,也可以用于對DSA算法的攻擊算法的攻擊。不過就已有的攻擊來看,DSA算法還是安全的。 與RSA數(shù)字簽名算法比較,:對于RSA數(shù)字簽名算法,每個用戶都要有不同的公鑰,故針對每個用戶,都要去產(chǎn)生大的素?cái)?shù)p和q, 去計(jì)算d;。 對于DSA簽名算法的舉例,如果在例子中采用了對消息進(jìn)行消息摘要值的計(jì)算H(m),大數(shù)的運(yùn)算容易讓初學(xué)者望而生畏,我們在這里采用小的整數(shù)代替H(m)。 如果讀者關(guān)心在算法中使用了消息摘要的例子,可以參看DSA的標(biāo)準(zhǔn)fips-186. 標(biāo)準(zhǔn)中提到了用Miller Rabin素性檢測算法產(chǎn)生素?cái)?shù),用
22、ANSI X9.17產(chǎn)生隨機(jī)數(shù),以及其他參數(shù)的選取等。 假設(shè)q=101,p=78*101+1=7879,h=19, 則則g=1978 mod 7879367 取x=69,則ygx mod p=36769 mod 78791292。 假設(shè)想簽名的消息為m=3456, 且選擇的隨機(jī)值為k=27,可以計(jì)算k-115mod101。 故可以算出簽名為r(gk mod p)mod q=(36727 mod 7879)mod 1016797 mod 10130 s(k-1(m+xr) mod q=(15(3456+6930) mod1 0170 可以得到對m的簽名為(30, 70)。驗(yàn)證簽名:驗(yàn)證簽名: w
23、s-1 mod q=70-1 mod 10113 u1mw mod q=345613 mod 10184 u2rw mod q=3013 mod 10187 v(gu1yu2mod p)mod q=(36784129287 mod 7879) mod 101(24561687 mod7879) mod 1016797 mod 10130 v=r,因此簽名是有效的注:注:可以看到,簽名和驗(yàn)證過程中的運(yùn)算量是很大的,其中最主要的運(yùn)可以看到,簽名和驗(yàn)證過程中的運(yùn)算量是很大的,其中最主要的運(yùn)算集中在模冪運(yùn)算上,而且上面的舉例中,素?cái)?shù)的取值也是比較小的,算集中在模冪運(yùn)算上,而且上面的舉例中,素?cái)?shù)的取值也
24、是比較小的,這些運(yùn)算可以通過簡單編程實(shí)現(xiàn)。這些運(yùn)算可以通過簡單編程實(shí)現(xiàn)。如果是按標(biāo)準(zhǔn)中的取值,模冪運(yùn)算及如果是按標(biāo)準(zhǔn)中的取值,模冪運(yùn)算及大數(shù)的處理對初學(xué)者來說還是有挑戰(zhàn)性的大數(shù)的處理對初學(xué)者來說還是有挑戰(zhàn)性的。 針對實(shí)際應(yīng)用中大量特殊場合的簽名需要, 數(shù)字簽名領(lǐng)域也轉(zhuǎn)向了針對特殊簽名的廣泛研究階段。 (1)盲簽名)盲簽名 用戶需要讓簽名者對明文消息文件進(jìn)行數(shù)字簽名,而又不希望簽名者知曉明文消息文件的具體內(nèi)容,這就需要盲數(shù)字簽名,簡稱盲簽名(Blind Signature) 。 所簽消息的內(nèi)容對簽名人是盲的,即簽名人簽名時(shí)不能看見消息的具體內(nèi)容; 即使在盲簽名公開后,簽名者仍然不能跟蹤消息-簽名
25、對,即不能把簽名和其在簽名時(shí)的看到的信息聯(lián)系起來。 盲簽名主要用于基于Internet的匿名金融交易,如匿名電子現(xiàn)金支付系統(tǒng)、匿名電子拍賣系統(tǒng)等應(yīng)用中。 (2)門限簽名:)門限簽名:在有在有n個成員的群體中,至少有個成員的群體中,至少有t個成員才能代個成員才能代表群體對文件進(jìn)行有效的數(shù)字簽名。表群體對文件進(jìn)行有效的數(shù)字簽名。門限簽名通過共享密鑰方法實(shí)門限簽名通過共享密鑰方法實(shí)現(xiàn),它將密鑰分為現(xiàn),它將密鑰分為n份,只有當(dāng)將超過份,只有當(dāng)將超過t份的子密鑰組合在一起時(shí)才份的子密鑰組合在一起時(shí)才能重構(gòu)出密鑰。能重構(gòu)出密鑰。門限簽名在密鑰托管技術(shù)中得到了很好的應(yīng)用,門限簽名在密鑰托管技術(shù)中得到了很好的
26、應(yīng)用, 某某人的私鑰由政府的人的私鑰由政府的n個部門托管,個部門托管, 當(dāng)其中超過當(dāng)其中超過t個部門決定對其實(shí)行個部門決定對其實(shí)行監(jiān)聽時(shí),便可重構(gòu)密鑰,實(shí)現(xiàn)監(jiān)聽。監(jiān)聽時(shí),便可重構(gòu)密鑰,實(shí)現(xiàn)監(jiān)聽。 (3)代理簽名)代理簽名 1996 年,年,Mambo、Usuda 和和Okamoto提出了代理簽名的概念提出了代理簽名的概念。代理簽名允許密鑰持有者授權(quán)給第三方,代理簽名允許密鑰持有者授權(quán)給第三方, 獲得授權(quán)的第三方能夠獲得授權(quán)的第三方能夠代表簽名持有者進(jìn)行數(shù)字簽名代表簽名持有者進(jìn)行數(shù)字簽名。 代理簽名相當(dāng)于一個人把自己的印章托付給自己信賴的人,讓代理簽名相當(dāng)于一個人把自己的印章托付給自己信賴的人,
27、讓他代替自己行使權(quán)力。他代替自己行使權(quán)力。由于代理簽名在實(shí)際應(yīng)用中起著重要作用,由于代理簽名在實(shí)際應(yīng)用中起著重要作用,所以代理簽名一提出便受到關(guān)注,被廣泛研究。所以代理簽名一提出便受到關(guān)注,被廣泛研究。 (4)群簽名)群簽名 允許一個群體中的成員以整個群體的名義進(jìn)行數(shù)字簽名,允許一個群體中的成員以整個群體的名義進(jìn)行數(shù)字簽名, 并且并且驗(yàn)證者能夠確認(rèn)簽名者的身份。驗(yàn)證者能夠確認(rèn)簽名者的身份。 一個好的群簽名方案應(yīng)滿足以下的安全性要求:一個好的群簽名方案應(yīng)滿足以下的安全性要求: 匿名性匿名性,給定一個群簽名后,對除了唯一的群管理人之外的,給定一個群簽名后,對除了唯一的群管理人之外的任何人來說,確定
28、簽名人的身份在計(jì)算上是不可行的;任何人來說,確定簽名人的身份在計(jì)算上是不可行的; 不關(guān)聯(lián)性不關(guān)聯(lián)性,在不打開簽名的情況下,確定兩個不同的簽名是,在不打開簽名的情況下,確定兩個不同的簽名是否為同一個群成員所做在計(jì)算上是困難的;否為同一個群成員所做在計(jì)算上是困難的; 防偽造性防偽造性,只有群成員才能產(chǎn)生有效的群簽名;,只有群成員才能產(chǎn)生有效的群簽名; 可跟蹤性可跟蹤性,群管理人在必要時(shí)可以打開一個簽名以確定出簽,群管理人在必要時(shí)可以打開一個簽名以確定出簽名人的身份,而且簽名人不能阻止一個合法簽名的打開;名人的身份,而且簽名人不能阻止一個合法簽名的打開; 防陷害攻擊防陷害攻擊,包括群管理人在內(nèi)的任何
29、人都不能以其他群成員的名義產(chǎn)生合法的群簽名; 抗聯(lián)合攻擊抗聯(lián)合攻擊,即使一些群成員串通在一起也不能產(chǎn)生一個合法的不能被跟蹤的群簽名。 在D.Chaum和E.van Heyst提出群數(shù)字簽名的定義,并給出了四個實(shí)現(xiàn)方案后,由于群簽名的實(shí)用性,人們對群簽名加以了更加廣泛的研究。提出了分級多群簽名、群盲簽名、多群簽名、滿足門限性質(zhì)的群簽名、前向安全的群簽名等。 (5)前向安全的數(shù)字簽名方案)前向安全的數(shù)字簽名方案 普通數(shù)字簽名具有如下局限性:普通數(shù)字簽名具有如下局限性:若簽名者的密鑰被泄漏,那么若簽名者的密鑰被泄漏,那么這個簽名者所有的簽名這個簽名者所有的簽名(過去的和將來的過去的和將來的)都有可能
30、泄漏,前向安全都有可能泄漏,前向安全的數(shù)字簽名方案主要思想是當(dāng)前密鑰的泄露并不影響以前時(shí)間段簽的數(shù)字簽名方案主要思想是當(dāng)前密鑰的泄露并不影響以前時(shí)間段簽名的安全性。名的安全性。 在提出以上這些簽名之后,研究者們根據(jù)不同的需要,又給出在提出以上這些簽名之后,研究者們根據(jù)不同的需要,又給出了一些綜合以上性質(zhì)的簽名,了一些綜合以上性質(zhì)的簽名,如前向安全的群簽名、盲代理簽名、如前向安全的群簽名、盲代理簽名、代理門限簽名、代理多重簽名、公平盲簽名等。代理門限簽名、代理多重簽名、公平盲簽名等。 7.6 盲簽名方案盲簽名方案 1983年,年,Chaum提出了盲簽名概念,在此基礎(chǔ)上提出了一個盲提出了盲簽名概念
31、,在此基礎(chǔ)上提出了一個盲簽名方案,并指出盲簽名應(yīng)該滿足如下兩個性質(zhì):簽名方案,并指出盲簽名應(yīng)該滿足如下兩個性質(zhì): (1)盲性,盲性,所簽消息的內(nèi)容對簽名人是盲的,即簽名人簽名時(shí)不所簽消息的內(nèi)容對簽名人是盲的,即簽名人簽名時(shí)不能看見消息的具體內(nèi)容能看見消息的具體內(nèi)容; (2)不可追蹤性不可追蹤性,即使在盲簽名公開后,簽名者仍然不能跟蹤,即使在盲簽名公開后,簽名者仍然不能跟蹤消息消息-簽名對,即不能把簽名和其在簽名時(shí)的看到的信息聯(lián)系起來簽名對,即不能把簽名和其在簽名時(shí)的看到的信息聯(lián)系起來。 一般來說,一般來說,盲簽名的協(xié)議有如下幾個步驟:初始化過程,盲化盲簽名的協(xié)議有如下幾個步驟:初始化過程,盲化
32、過程,簽名過程,脫盲過程,驗(yàn)證過程過程,簽名過程,脫盲過程,驗(yàn)證過程。7.6.1 基于整數(shù)分解難題的盲簽名基于整數(shù)分解難題的盲簽名1RSA盲數(shù)字簽名描述盲數(shù)字簽名描述 (1)參數(shù)選擇)參數(shù)選擇 選擇兩個滿足需要的大素?cái)?shù)選擇兩個滿足需要的大素?cái)?shù)p和和q,計(jì)算,計(jì)算n=pq,(n)= (p-1)(q-1),其中,其中(n)是是n的歐拉函數(shù)值。的歐拉函數(shù)值。 選一個整數(shù)選一個整數(shù)e, 滿足滿足1e(n),且,且gcd(n),e)=1。通過。通過de1mod(n),計(jì)算出,計(jì)算出d。 以以e, n為公開密鑰,為公開密鑰,d, n為秘密密鑰。選擇安全的單向?yàn)槊孛苊荑€。選擇安全的單向hash函數(shù)函數(shù)h()
33、。 仍然把仍然把Bob作為簽名者,則作為簽名者,則Bob知道秘密密鑰知道秘密密鑰d, n;所有人都;所有人都知道公開密鑰知道公開密鑰e, n和算法中選擇的和算法中選擇的hash函數(shù)函數(shù)h(). (2)盲化過程)盲化過程 設(shè)需要簽名的消息為設(shè)需要簽名的消息為m,請求簽名者,請求簽名者Alice隨機(jī)選擇一個整數(shù)隨機(jī)選擇一個整數(shù)r作作為盲化因子,然后進(jìn)行如下計(jì)算:為盲化因子,然后進(jìn)行如下計(jì)算:reh(m) mod n,然后發(fā)送然后發(fā)送給給簽名者簽名者Bob。(3)簽名過程)簽名過程 Bob在收到在收到后,計(jì)算后,計(jì)算 tdmod n ,然后把,然后把t發(fā)送給發(fā)送給Alice。(4)脫盲過程)脫盲過程
34、 Alice接收到接收到t后,計(jì)算后,計(jì)算str-1mod n. 就得到了消息就得到了消息m 的簽名的簽名(m, s)。(5)驗(yàn)證過程)驗(yàn)證過程 通過如下計(jì)算,任何人都可以驗(yàn)證簽名的有效性:通過如下計(jì)算,任何人都可以驗(yàn)證簽名的有效性:seh(m) mod n是否成立,若成立,則發(fā)送方的簽名有效。是否成立,若成立,則發(fā)送方的簽名有效。 下面來體會一下這個簽名方案為什么叫做盲簽名方案。下面來體會一下這個簽名方案為什么叫做盲簽名方案。 簽名者看到的信息是簽名者看到的信息是,根據(jù),根據(jù), e, n,簽名者顯然不能計(jì)算出,簽名者顯然不能計(jì)算出h(m)來,因?yàn)檫€有一個變量來,因?yàn)檫€有一個變量r(盲化因子)
35、,即所簽消息的內(nèi)容對(盲化因子),即所簽消息的內(nèi)容對簽名人是盲的,即簽名人簽名人是盲的,即簽名人Bob簽名時(shí)不能看見消息的具體內(nèi)容簽名時(shí)不能看見消息的具體內(nèi)容; 在在Alice得到得到Bob的簽名后,的簽名后,Bob即使看到了自己的簽名即使看到了自己的簽名(m, s), 仍仍然不能把它與簽名時(shí)的然不能把它與簽名時(shí)的聯(lián)系起來,即盲簽名的第二個性質(zhì),不可聯(lián)系起來,即盲簽名的第二個性質(zhì),不可追蹤性。追蹤性。7.6.2 基于離散對數(shù)難題的盲簽名基于離散對數(shù)難題的盲簽名 基于離散對數(shù)難題的盲簽名出現(xiàn)的時(shí)間相對比較晚。 1994年,J.Camenisch在DSA和Nyberg-Rueppel方案的基礎(chǔ)上,
36、各提出了一個盲簽名方案。 后來,隨著研究進(jìn)展,出現(xiàn)了強(qiáng)盲簽名和弱盲簽名的分化,再后來出現(xiàn)了跟其他簽名結(jié)合的簽名方案,如盲代理簽名,盲群簽名等。 下面選擇Schnorr盲簽名算法來學(xué)習(xí)基于離散對數(shù)難題的盲簽名。 可以看到,在該算法中,同樣滿足盲簽名的兩個特征,即簽名者在簽名時(shí)不知道所簽消息的內(nèi)容,事后即使看到了簽名(m, c, s),也不能把它與簽名時(shí)收到的消息v聯(lián)系起來,從而實(shí)現(xiàn)了盲簽名。7.6.3 盲簽名的應(yīng)用盲簽名的應(yīng)用 著名密碼學(xué)家David Chaum 1982 年首次提出了利用盲簽字實(shí)現(xiàn)電子現(xiàn)金的方法,DigiCash 是Divid Chaum 發(fā)起的提供電子支付系統(tǒng)的專業(yè)公司,eC
37、ashTM是DigiCash開發(fā)的用軟件實(shí)現(xiàn)的第一個完全匿名的在線電子現(xiàn)金系統(tǒng), 它的基本算法是RSA 盲簽名算法。 1995 年Mark Twain 銀行就開始發(fā)行Internet 網(wǎng)上電子現(xiàn)金。 一個電子現(xiàn)金支付系統(tǒng)通常包括三個參與方:一個電子現(xiàn)金支付系統(tǒng)通常包括三個參與方:銀行,電子現(xiàn)金銀行,電子現(xiàn)金支付者,電子現(xiàn)金接收者支付者,電子現(xiàn)金接收者。 在電子貨幣支付時(shí),電子現(xiàn)金支付者從銀行取出他的電子貨幣,在電子貨幣支付時(shí),電子現(xiàn)金支付者從銀行取出他的電子貨幣,然后將電子貨幣支付給接收者,接收者將收到的電子貨幣存入銀行。然后將電子貨幣支付給接收者,接收者將收到的電子貨幣存入銀行。其關(guān)系可以用
38、下頁圖表示,其中箭頭方向表示了電子貨幣的流向。其關(guān)系可以用下頁圖表示,其中箭頭方向表示了電子貨幣的流向。1eCashTM系統(tǒng)相關(guān)的參數(shù)系統(tǒng)相關(guān)的參數(shù) 設(shè)銀行的簽名公鑰為設(shè)銀行的簽名公鑰為e, 支付公鑰支付公鑰PK bank , 秘密鑰為秘密鑰為d, 模為模為n, 采采用安全單向函數(shù)為用安全單向函數(shù)為h( . ). h ( . ) 的使用使偽造電子現(xiàn)金的變得不可行的使用使偽造電子現(xiàn)金的變得不可行 銀行的公開信息是銀行的公開信息是e, n, h(.), 支付公鑰支付公鑰PK bank ; 秘密信息是秘密信息是d, p, q, n=p*q, p, q 是安全素?cái)?shù),使得分解大整數(shù)是安全素?cái)?shù),使得分解大
39、整數(shù)n是困難的。是困難的。 系統(tǒng)假設(shè)用戶系統(tǒng)假設(shè)用戶Alice已經(jīng)在銀行里存了一筆錢在賬戶已經(jīng)在銀行里存了一筆錢在賬戶NA上以備提上以備提取。取。2電子現(xiàn)金提取協(xié)議電子現(xiàn)金提取協(xié)議 這里使用的是一個單位面值的電子現(xiàn)金,即對給定消息m,約定h(m)的e次根,即d次冪值為一個單位面值。 用戶提取電子現(xiàn)金的協(xié)議如下: (1)Alice選取隨機(jī)數(shù)r,serial#,計(jì)算b re *h(serial#)modn,發(fā)送b, 賬號NA和身份IDA給銀行。其中serial#表示選取的電子現(xiàn)金的面值,這里僅指一個單位面值; (2)銀行驗(yàn)證身份IDA的合法性,若合法,計(jì)算Bbdmodn,在用戶賬戶上減掉一個單位面
40、值的電子現(xiàn)金,發(fā)送B給Alice; (3)Alice計(jì)算SB/r mod n。 于是用戶Alice獲得了銀行發(fā)行一個的單位面值的電子現(xiàn)金Coin= serial#,S。 在這里使用了盲簽名技術(shù),實(shí)現(xiàn)了用戶Alice的電子現(xiàn)金的不可追蹤性。3支付協(xié)議支付協(xié)議 任何人如果知道某個沒有花費(fèi)的Coin, 就可使用。 用戶支付用戶支付Coin時(shí)時(shí), 不能讓接收者看到不能讓接收者看到Coin. eCashTM 為了保證這為了保證這點(diǎn),點(diǎn), 銀行使用了一個用來完成支付的公鑰銀行使用了一個用來完成支付的公鑰PK bank , 用戶支付時(shí)用用戶支付時(shí)用PK bank對對Coin加密,加密, 保證了只有電子現(xiàn)金擁
41、有者在申請后和銀行在電保證了只有電子現(xiàn)金擁有者在申請后和銀行在電子現(xiàn)金擁有者完成支付時(shí)才能看到它。子現(xiàn)金擁有者完成支付時(shí)才能看到它。 假定電子現(xiàn)金支付者和接收者商定了支付銀行bankID、支付金額amount、幣種currency、電子現(xiàn)金個數(shù)nCoins、時(shí)戳timestamp、接收者身份merchant_Ids與其銀行帳戶對應(yīng)、交易描述description以備將來解決支付者和接收者的可能爭議, 支付者的秘密隨機(jī)數(shù)payer_code也用來解決支付者和接收者的可能爭議。 Payment_inf=bank ID, amount, currency, nCoins, timestamp, me
42、rchant- Ids, h(description), h (payer_code) 在支付過程中,銀行不能知道在支付過程中,銀行不能知道description的信息,只能知道的信息,只能知道description的的hash值。值。 具體支付協(xié)議如下:具體支付協(xié)議如下: (1)電子現(xiàn)金支付者計(jì)算)電子現(xiàn)金支付者計(jì)算 payment=payment_inf, nCoins,merchant_IdsPKbank 發(fā)送發(fā)送payment到電子現(xiàn)金接收者。其中到電子現(xiàn)金接收者。其中nCoins,merchant_IdsPKbank表示用表示用PKbank加密加密nCoins,merchant_Ids。 (2)電子現(xiàn)金接收者驗(yàn)證)電子現(xiàn)金接收者驗(yàn)證payment_inf,發(fā)送,發(fā)送payment給銀行給銀行; (3)銀行驗(yàn)證)銀行驗(yàn)證nCoins,merchant_Ids PKbank確信確信Coins沒有沒有重復(fù)花費(fèi),把重復(fù)花費(fèi),把nCoins列入已花費(fèi)的列入已花費(fèi)的coins, 給給merchant_Ids賬戶上加賬戶上加上一定金額,否則支付失敗。上一定金額,否則支付失敗。 1989年年Chaum和和Antwerpen提出了不可否認(rèn)簽名方案。其提出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024門店承包與品牌授權(quán)執(zhí)行合同范本3篇
- 承包光伏工程勞務(wù)合同模板
- 2024薪資保密制度與員工福利待遇及社會保障合同3篇
- 鄭州工業(yè)應(yīng)用技術(shù)學(xué)院《財(cái)務(wù)機(jī)器人設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉首大學(xué)張家界學(xué)院《工程招投標(biāo)與合同管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年股權(quán)代持協(xié)議:股東之間關(guān)于代持股權(quán)的約定協(xié)議
- 湛江科技學(xué)院《現(xiàn)代企業(yè)運(yùn)營虛擬仿真綜合實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢理工大學(xué)《醫(yī)藥銷售管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 益陽師范高等??茖W(xué)?!睹缹W(xué)原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 北京聯(lián)合大學(xué)《數(shù)據(jù)挖掘B》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年中國大數(shù)據(jù)企業(yè)排行榜V9.0(大數(shù)據(jù)產(chǎn)業(yè)白皮書)-中國民營科技促進(jìn)會
- 2025公司簡單勞務(wù)合同書范本
- 東風(fēng)集團(tuán)新能源汽車培訓(xùn)
- 2024-2030年中國廣電技術(shù)行業(yè)現(xiàn)狀分析及未來發(fā)展趨勢預(yù)測報(bào)告
- 廣東省廣州市天河區(qū)2023-2024學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試卷(解析版)
- 鋼構(gòu)樓板合同范例
- 2024-2025學(xué)年人教版(2024)信息技術(shù)四年級上冊 第11課 嘀嘀嗒嗒的秘密 說課稿
- 造影劑過敏的護(hù)理
- 蘇教版六年級上冊分?jǐn)?shù)四則混合運(yùn)算100題帶答案
- 潛水員潛水作業(yè)安全2024
評論
0/150
提交評論