網(wǎng)絡(luò)安全技術(shù)與實踐第7章數(shù)字簽名ppt課件
《網(wǎng)絡(luò)安全技術(shù)與實踐第7章數(shù)字簽名ppt課件》由會員分享,可在線閱讀,更多相關(guān)《網(wǎng)絡(luò)安全技術(shù)與實踐第7章數(shù)字簽名ppt課件(55頁珍藏版)》請在裝配圖網(wǎng)上搜索。
網(wǎng)絡(luò)安全—技術(shù)與實踐(第2版) 劉建偉 王育民 編著 清華大學(xué)出版社,普通高等教育“十一五”國家級規(guī)劃教材 教育部2011年精品教材,課件制作人聲明,本課件總共有17個文件,版權(quán)屬于劉建偉所有,僅供選用此教材的教師和學(xué)生參考。 本課件嚴(yán)禁其他人員自行出版銷售,或未經(jīng)作者允許用作其他社會上的培訓(xùn)課程。 對于課件中出現(xiàn)的缺點和錯誤,歡迎讀者提出寶貴意見,以便及時修訂。 課件制作人:劉建偉 2012年2月8日,第7章 數(shù)字簽名,,RSA簽名體制,二,,三,Rabin簽名體制,,ElGamal簽名體制,四,,五,Schnorr簽名體制,,六,DSS簽名體制,,七,ESIGN簽名體制,八,,十,,十一,Okamoto簽名體制,離散對數(shù)簽名體制,其它簽名體制簡介,第7章 數(shù)字簽名,,九,OSS簽名體制,一、數(shù)字簽名的基本概念,收方能夠確認(rèn)或證實發(fā)方的簽名,但不能偽造,簡記為R1-條件。 發(fā)方發(fā)出簽名的消息給收方后,就不能再否認(rèn)他所簽發(fā)的消息,簡記為S-條件。 收方對已收到的簽名消息不能否認(rèn),即有收報認(rèn)證,簡記為R2-條件。 第三者可以確認(rèn)收發(fā)雙方之間的消息傳送,但不能偽造這一過程,簡記為T-條件。,類似于手書簽名,數(shù)字簽名也應(yīng)滿足以下要求:,1. 數(shù)字簽名與消息認(rèn)證的區(qū)別,當(dāng)收發(fā)者之間沒有利害沖突時,這對于防止第三者的破壞已經(jīng)足夠了。 收方能夠驗證消息發(fā)送者身份是否被篡改; 收方能夠驗證所發(fā)消息內(nèi)容是否被篡改。 當(dāng)收發(fā)雙方存在利害沖突時,單純用消息認(rèn)證技術(shù)就無法解決他們之間的糾紛。必須采用數(shù)字簽名技術(shù)。 數(shù)字簽名能確定消息來源的真實性 數(shù)字簽名能保證實體身份的真實性 數(shù)字簽名是不可否認(rèn)的。,消息認(rèn)證,數(shù)字簽名,2. 數(shù)字簽名與公鑰加密的區(qū)別,公鑰加密 A采用B的公開密鑰對信息加密,A將密文發(fā)給B; B用自己的私鑰對收到的密文解密,恢復(fù)出明文。 數(shù)字簽名 A采用自己的私鑰對消息m簽名,A將m和簽名發(fā)給B; B收到A的簽名后,采用A的公鑰來驗證簽名的有效性; 一個簽名的消息很可能在多年之后才驗證其真實性; 數(shù)字簽名可能需要多次驗證; 對數(shù)字簽名的安全性和防偽造要求很高; 要求簽名速度比驗證速度更快。,3. 數(shù)字簽名的分類,按照消息是否被壓縮分類 對整體消息進行簽名; 對壓縮的消息進行簽名。 按照消息/簽名的對應(yīng)關(guān)系劃分 確定性(deterministic)數(shù)字簽名:消息與簽名一一對應(yīng),對同一消息的簽名永不變化,如RSA和Rabin算法; 隨機化(randomized)或概率式數(shù)字簽名:對同一消息的簽名是變化的。因此,此類簽名取決于算法中的隨機參數(shù)的取值,如ElGamal算法。,4. 簽名體制的構(gòu)成,由兩部分構(gòu)成 簽名算法(signature algorithm) 驗證算法(verification algorithm) 安全性約定 簽名算法或簽名密鑰是秘密的,只有簽名人掌握; 驗證算法應(yīng)當(dāng)公開,以便于他人進行驗證。,5. 簽名體制的數(shù)學(xué)表示,一個簽名體制可由量(M, S, K, V)來表示 M是明文空間 S是簽名的集合 K是密鑰空間 V是驗證函數(shù)的值域,由真、偽組成。 對于每一個k∈K,m ∈M 簽名算法:s = Sigk(m) ∈S 驗證算法:Verk(s, m) ∈{真,偽} 簽名體制的安全性在于: 從m和s難于推出簽名者的私鑰k; 很難偽造另外一個消息m’,使Verk(s, m’) ∈{真} 。,二、RSA數(shù)字簽名體制,令 , p1和p2是大素數(shù); 令m, s∈Zn(整數(shù)域) 選e,并計算出d,使 將n, e公開(公鑰), 將p1、p2和d保密(私鑰)。 對m∈Zn,定義簽名:s = Sigk(m) =md mod n 給定m, s,驗證: m ≡se mod n ?,RSA簽名體制的安全性,顯然,由于只有簽名者知道私鑰d,根據(jù)RSA體制知,其他人不可能偽造簽名; 易于證實{m, s}是否是合法的{消息m, 簽名s}對,只要計算 m ≡se mod n 即可。 RSA體制的安全性依賴于n=p1×p2分解的困難性。,,,,三、Rabin簽名體制,令N=p×q,p和q是大素數(shù); 令m, s∈QRp∩QRq,QR為二次剩余集 選p, q為秘密鑰 N為公鑰。 明文消息m,0mN,設(shè)m∈QRp∩QRq 求m的平方根,s = Sigk(m) =m1/2 mod p×q 給定m, s,可驗證 m ≡s2 mod N ?,什么是二次剩余集?,設(shè)n是正整數(shù),若一個整數(shù)a滿足: gcd(a,n)=1且x2=a mod n有解 則稱a是mod n的平方剩余。否則,為非平方剩余。 例如:取n=7,則: x2=1 mod 7有解:x=1, x=6 x2=2 mod 7有解:x=3, x=4 x2=3 mod 7無解 x2=4 mod 7有解:x=2, x=5 x2=5 mod 7無解 x2=6 mod 7無解 故(1,2,4)是mod 7的二次剩余,且每個二次剩余都有2個平方根 而(3,5,6)是mod 7的非二次剩余,四、ElGamal簽名體制,p:一個大素數(shù),可使Zp中求解離散對數(shù)為困難問題; g:是群ZP*的一個生成元或本原元素; M:消息空間,為ZP*; S:簽名空間,為ZP-1; x:用戶秘密鑰,x∈ZP* y≡gx mod p p, g, y為公鑰,x為秘密鑰。 選擇秘密隨機數(shù)k∈ ZP*,m ∈M 計算:H(m) 計算:r=gk mod p 計算:s=[H(m)-xr]k-1 mod (p-1) 簽名為Sigk(m)=(r, s),將m和(r, s)送給對方。,ElGamal簽名體制,收信人收到m和(r, s) ; 計算:H(m); 驗證:Verk(H(m), (r, s))=真? yrrs ≡ gH(m) mod p; 左邊: yrrs ≡gxrgsk mod p ≡g(rx+sk) mod p 而(rx+sk) ≡H(m) mod p-1 故: yrrs ≡ gH(m) mod p 選擇p=467, g=2, x=127, 則有y ≡gx ≡2127 ≡132 mod 467 若待送消息m的雜湊值H(m)=100,選隨機數(shù)k=213 注意:(213, 466)=1, 且213-1 mod 466=431 則:r=2213=29 mod 467, s=(100-127*29)431=51 mod 466。 驗證:(1)收信人計算H(m)=100, (2)驗證:132292951=189 mod 467 2100=189 mod 467,ElGamal簽名體制的安全性,在不知{消息,簽名}對時,偽造簽名相當(dāng)于求離散對數(shù); 如果攻擊者掌握了同一隨機數(shù)k下的兩個消息m1, m2的合法簽名(r1, s1)(r2, s2),就會構(gòu)造如下的方程: m1=r1x+s1k m2=r2x+s2k 可見:攻擊者解此方程可以求出x和k。 要確保此簽名體制的安全性,就必須保證每次簽名時,選擇不同的隨機數(shù)k。,五、Schnorr簽名體制,p, q:大素數(shù), q|p-1, 確保Zp中求解離散對數(shù)為困難問題; g:是Zp中乘群ZP*的一個元素,且gq≡1 mod p; M:消息空間,為ZP*; S:簽名空間,為ZP* ×ZP-1; x:用戶秘密鑰,1xq y:用戶公鑰,y≡gx mod p p, q, g, y為公鑰,x為秘密鑰。 用戶選擇秘密隨機數(shù)k∈Zq, m ∈M 計算:w=gk mod p 計算:r=H(w||m) 計算:s=k+xr mod p 簽名:Sigk(m)=(r, s)作為簽名,將m和(r, s)送給對方。,收信人收到消息m和簽名(r, s) 計算:H(m) 計算:w’=gsy-r mod p 計算:H(w’||m) 驗證H(w’||m)=r ?即 Ver(y, (e, s), m)=真,,,,在ElGamal體制中,g為Zp的本原元素;在Schnorr體制中,g為Zp*中的子集Zq*的本原元,它不是Zp* 的本原元。 Schnorr的簽名長度要比ElGamal短,由|q|及|H(m)|決定。 w=gk mod p可以預(yù)先計算,簽名只需1次乘法和1次加法,所以簽名速度非常快,適用于智能卡應(yīng)用。 由于Schnorr簽名較短,其安全性要比ElGamal簽名差 。,Schnorr簽名體制的安全性,六、DSS簽名體制,1991年8月由NIST公布 1994年5月19日由NIST正式公布 1994年12月1日正式成為美國聯(lián)邦信息處理標(biāo)準(zhǔn) 它是基于ElGamal和Schnorr簽名體制設(shè)計的 該簽名體制有較好的兼容性和適用性,已經(jīng)成為網(wǎng)絡(luò)安 全體系的基本構(gòu)件之一。 DSA是DSS簽名標(biāo)準(zhǔn)中所采用的數(shù)字簽名算法; 此算法由D. W. Kravitz設(shè)計。,DSS簽名算法——DSA,p:大素數(shù), , 512≦L≦1024; q:(p-1)的素因子,且21591 x:選擇用戶私鑰,1xq y:計算用戶公鑰,y≡gx mod p p, q, g, y為公鑰,x為私鑰。 用戶選擇秘密隨機數(shù)k,0kq 計算:H(m) 計算:r=(gk modp)mod q 計算:s=[k-1(H(m)+xr)] mod q 簽名:Sigk(m)=(r, s),將m和(r, s)送給對方。,DSS簽名算法——DSA,收信人收到m和(r, s) ; 計算:H(m); 計算:w=s-1 mod q 計算:u1=[H(m)w] mod q 計算:u2=rw mod q 計算:v=[(gu1yu2) mod p] mod q 驗證:v ≡ r ? 證明: v=[(gu1yu2) mod p] mod q =[g H(m)wyrw mod p] mod q =[g H(m)wgxrw mod p] mod q =[g[H(M)+xr]w mod p ] mod q 而: [H(m)+xr]w = [H(m)+xr]s-1=k mod q 所以:v=gk mod q= r,DSS簽名框圖,DSS簽名驗證框圖,DSS簽名算法的公眾反應(yīng),RSA公司想以RSA算法為標(biāo)準(zhǔn) RSA指出:RSA可以加密,而DSA不能用于加密; DSA是由NSA開發(fā)的,可能設(shè)有陷門; DSA的簽名驗證速度比RSA慢,不適合聯(lián)機在線驗證; RSA是一個事實上的標(biāo)準(zhǔn),而DSS與現(xiàn)行標(biāo)準(zhǔn)不相容; DSA未經(jīng)公開選擇,還沒有足夠的時間進行分析證明; DSA可能侵犯了其他專利,如Schnorr簽名算法,Diffie-Hellman的密鑰分配算法; DSS中模數(shù)為512b所限定的密鑰量太小,現(xiàn)已經(jīng)改為凡是512-1024b中可被64除盡的數(shù),均可供使用。,DSS簽名算法的實現(xiàn)速度,注:PC機80386/33M,模皆為512b,七、ESIGN簽名體制,n=p2q:大合數(shù), 公開鑰; p, q:兩個大素數(shù),作為秘密鑰; M:消息空間 S:簽名空間 k:安全參數(shù)(它的作用后面討論) 用戶選擇秘密隨機數(shù)r,0rpq 計算:H(M) 計算:w=大于等于[(H(M)-rk) mod n]/pq的最小整數(shù) 計算:s= r + [(w/krk-1) mod p] ×pq Sigk(M, k)=s 作為簽名,將M和s送給對方。,收信人收到M和s; 計算:H(M); 計算:srk mod n 計算:a,它是大于等于2n/3的最小整數(shù) 驗證:Verk(H(M), s)=真? H(M) ≤sk 且sk mod n ﹤H(M)+2a 此算法可以采用預(yù)計算來提高簽名速度 (1) 發(fā)方預(yù)計算:u=rk mod n; v=1/(krk-1) mod p (2) 計算w:w=大于等于[(H(M)-u) mod n]/pq的最小整數(shù) 計算s:s = r + (wv mod p) ×pq 通過預(yù)計算,可以使簽名速度提高10倍。 k=2,3時, 被破解。作者建議k=8,16,32,64,128,256,1024,ESIGN簽名算法,ESIGN在美國、加拿大、英國、法國、德國和意大利申請了專利。 分析表明,此算法要比RSA,ElGamal及DSA速度快。 其安全性與RSA或Rabin體制同樣安全。,ESIGN簽名算法,八、Okamoto簽名體制,p, q:大素數(shù), p至少為512bit; q: (p-1)的素因子,且q長約140 bit g1, g2: 是全局公鑰,與q同長的隨機數(shù); s1, s2: 是秘密鑰,與q同長的隨機數(shù); M:消息空間,M∈ZP*; S:簽名空間,為ZP* ×ZP-1; v:用戶公鑰,v≡g1-s1 g2-s2 mod p p, q, g1, g2, v為公鑰, s1, s2為秘密鑰。 用戶選擇兩秘密隨機數(shù)r1, r2,0r1, r2q 計算:e=H(g1r1 g2r2 mod p, M) 計算:y1=(r1 + es1) mod q 計算:y2=(r2 + es2) mod q Sigk(M, k)=S=(e, y1, y2) 為簽名,將M和S 送給對方。,收信人收到M和S=(e, y1, y2) ; 驗證:Verk(M, e, y1, y2)=真? H(g1y1 g2y2 vemod p,M) = e g1y1 g2y2 vemod p= g1 (r1 + es1) g2 (r2 + es2) (g1-s1 g2-s2)e mod p = g1 r1 g2 r2 mod p 所以: H(g1y1 g2y2 vemod p,M) = H(g1r1 g2r2 mod p, M) = e,Okamoto簽名算法,九、OSS簽名體制,n:大整數(shù)(不必知道其分解); k: 隨機數(shù),滿足(k, n)=1 h:滿足h= -k-2 mod n M:消息空間,M∈ZP*; S:簽名空間,為ZP* ×ZP*; h, n為公鑰,k為秘密鑰。 用戶選擇隨機數(shù)r,滿足 (r, n)=1 計算:s1=(M/r+r)/2 mod n, 計算:s2=k(M/r-r)/2 mod n Sigk(M, k)=S=(s1, s2)作為M的簽名,將M和(s1, s2)送給對方。,收信人收到M和=(s1, s2) ; 計算:M’= s12+h×s22 mod n; 驗證:Verk(H(M), r, s)=真? M≡ M’ ; 因為: M’=[(M/r+r)/2 )2 +h× (k(M/r-r)/2)2 ] mod n =[M2/r2+2M+r2-M2/r2+2M-r2]/4 mod n =[4M]/4 mod n =M mod n,OSS簽名算法—Ong-Schnorr-Shamir,OSS簽名算法,對于以上由二次或三次多項式構(gòu)造的簽名,已被證明是不安全的; 四次多項式方案也已被攻破。 Okamoto曾提出一種補救措施。 ESIGN是由Okamoto和Sharaishi在OSS的基礎(chǔ)上提出的數(shù)字簽名方案。,十、離散對數(shù)簽名體制,p:大素數(shù) q: (p-1)的大素因子 g:g ∈ZP*,且滿足gq=1 mod p M:消息空間,M∈ZP*; S:簽名空間; x:用戶秘密鑰,1xq y:用戶公鑰,y≡gx mod p p, q, g, y為公鑰,x為秘密鑰。 用戶選擇一次性秘密隨機數(shù)k,0kq 計算:H(m) 計算:r=gk mod p 簽字方程:ak = b + cx mod q Sigk(m)=(r, s)作為簽名,將m和(r, s)送給對方。,,所有以上的簽名體制均可看成其一個特例!,簽名的驗證過程,收端收到消息m和簽名(r, s)后,可以按照以下驗證方程檢驗: Ver(M, r, s)=真 ? ra≡gbyc mod q,簽名算法中a, b, c的取值,簽名方程ak=b+cx對應(yīng)的簽名算法,39,十一、其他簽名體制——不可否認(rèn)簽名,為什么需要不可否認(rèn)簽名?普通簽名可以精確地被復(fù)制,適合公開聲明之類文件的散發(fā);但是對于個人或公司信件,特別是有價值文件的簽名,如果也可以隨意復(fù)制和散發(fā),就可能造成災(zāi)難。 這類簽名要求在簽名者合作下,才能驗證簽名。無簽名者合作,不可能驗證簽名,從而可以防止復(fù)制和散布他所簽的文件。 這一性質(zhì)可以可以用于知識產(chǎn)權(quán)的保護等,在電子出版物的知識產(chǎn)權(quán)保護中將大顯身手。產(chǎn)權(quán)擁有者可以控制產(chǎn)品的發(fā)布。,其他簽名體制——防失敗簽名 (Fail-Stop Signature),這是一種強化安全性的數(shù)字簽名,可防范有充足計算資源的攻擊者。 當(dāng)A的簽名受到攻擊,甚至在分析出A的私鑰的情況下,攻擊者也難以偽造A的簽名。 同時,A也難以對自己的簽名進行抵賴。 它是一種一次性簽名方案,即給定密鑰只能簽署一個消息。,其他簽名體制——盲簽名 (Blind Signature),對于一般的數(shù)字簽名來說,簽名者總是要先知道文件內(nèi)容后才簽名,這是正常的應(yīng)用情形。 但是有時需要某人對一個文件簽名,但又不想讓他知道所簽署的文件內(nèi)容。 在選舉投票和數(shù)字貨幣協(xié)議中,會用到此簽名體制。 盲簽名在電子商務(wù)系統(tǒng)中,有重要的應(yīng)用。,其他簽名體制——群簽名 (Group Signature),只有群中的成員才能代表群體簽名。 接收到簽名的人可以用公鑰驗證群簽名,但不可能知道由群體中的那個成員所簽。 發(fā)生爭議時,由群體中的成員或可信賴機構(gòu)識別群簽名的簽名者。 這類簽名可以用于項目投標(biāo)。例如:所有參有投標(biāo)的公司組成一個群體,且每個公司都匿名地采用群簽名對自己的標(biāo)書簽名。當(dāng)選中了一個滿意的標(biāo)書后,招標(biāo)方就可以識別出簽名的公司,而其他標(biāo)書仍保持匿名。中標(biāo)方若想反悔已無濟于事,因為在沒有他參與的情況下,仍可以正確地識別出簽名人是誰。,其他簽名體制——代理簽名 (Proxy Signature),代理簽名就是某人授權(quán)其代理進行的簽名,在委托簽名時,簽名密鑰不交給代理人。代理簽名有如下幾個特性: 不可區(qū)分性:代理簽名與委托人的簽名不可區(qū)分; 不可偽造性:只有委托人和代理人可以建立合法的簽名; 代理簽名的差異:代理人若想偽造一個合法的代理簽名,是不可行的,即偽造的代理簽名可以被檢測出來; 可證實性:簽名驗證人可以相信委托簽名就是委托人認(rèn)可的簽名消息; 可識別性:委托人可以從代理簽名中確定出代理簽名人的身份; 不可抵賴性:代理簽名人不能抵賴已被接受的代理簽名。,其他簽名體制——指定證實人簽名 (Designated Confirmer Signature),在一個機構(gòu)中,指定一個人負(fù)責(zé)證實所有人的簽名。 任何成員所簽的文件都具有不可否認(rèn)性,但證實工作均由指定人完成。 這種簽名有助于防止簽名失效。例如,在簽名人的簽名密鑰確實丟失,或在他休假、病倒或去世時,都能對其簽名提供保護。,其他簽名體制——一次性簽名 (One-Time Signature),簽名者至多只能對一個消息進行簽名,否則簽名就可能被偽造。 在公鑰簽名體制中,它要求對每個簽名消息都要采用一個新的公鑰作為驗證參數(shù)。 一次性簽名的優(yōu)點是產(chǎn)生和驗證速度都非常快,特別適用于計算能力比較低的芯片和智能卡實現(xiàn)。,十二、消息認(rèn)證碼MAC的基本用途,注:M為消息,C為MAC函數(shù),K共享的密鑰,消息認(rèn)證碼MAC的基本用途,注:這種認(rèn)證方式最常用,消息認(rèn)證碼MAC的基本用途,十三、雜湊算法/加密/簽名結(jié)合應(yīng)用方案,雜湊算法/加密/簽名結(jié)合應(yīng)用方案,雜湊算法/加密/簽名結(jié)合應(yīng)用方案,雜湊算法/加密/簽名結(jié)合應(yīng)用方案,雜湊算法/加密/簽名結(jié)合應(yīng)用方案,謝謝!,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 網(wǎng)絡(luò) 安全技術(shù) 實踐 數(shù)字簽名 ppt 課件
鏈接地址:http://m.italysoccerbets.com/p-1356798.html