數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第1頁(yè)
數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第2頁(yè)
數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第3頁(yè)
數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第4頁(yè)
數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)字簽名方案數(shù)字簽名方案 公鑰簽名方案: 利用私鑰生成簽名 利用公鑰驗(yàn)證簽名 只有私鑰的擁有者才能生成簽名 所以能夠用于證明誰(shuí)生成的消息 任何知道公鑰的人可以驗(yàn)證消息 (他們要確認(rèn)公鑰擁有者的身份,這是公鑰的密鑰分配問(wèn)題) 通常不對(duì)整個(gè)消息簽名,因?yàn)檫@將會(huì)使交換信息長(zhǎng)度增加一倍使用消息的 hashhash 值數(shù)字簽名可以提供消息的不可否認(rèn)性, RSA RSA 加密解密是可交換的 可以用于數(shù)字簽名方案 給定 RSA 方案 (e,R), (d,p,q) 要簽名消息M:計(jì)算: S = Md(mod R) 要驗(yàn)證簽名,計(jì)算: M = Se(mod R) = Me.d(mod R) = M(mod R)

2、 RSA 使用使用 使用RSA加密、認(rèn)證: 使用發(fā)送者的私鑰簽名一個(gè)消息 使用接收者的公鑰加密消息 看起來(lái),一個(gè)消息可用RSA加密、簽名而不改變大小 但是,加密使用的是消息接收者的模,簽名是消息發(fā)送者的模,后著可能比前者小 交換兩者順序? 簽名常使用HASH函數(shù)值 El Gamal Signature Scheme ElGamal 加密算法是不可交換的 存在一個(gè)相關(guān)的簽名算法 安全性是基于計(jì)算離散對(duì)數(shù)的困難性 方案的密鑰生成是相同的: 有個(gè)共享的素?cái)?shù) p, 公開(kāi)的本原根 a 每個(gè)用戶選擇一個(gè)隨機(jī)數(shù)作為私鑰 x 計(jì)算各自的公開(kāi)密鑰: y = ax mod p 公鑰是 (y,a,p) 私鑰是 (x

3、) El Gamal 簽名方案的使用簽名方案的使用 簽名消息 M: 選擇隨機(jī)數(shù) k, GCD(k,p-1)=1 計(jì)算 K = ak(mod p) 用 Euclidean (inverse) 擴(kuò)展算法求 S:M = x.K + k.S mod (p-1); 即求 S = k-1(M - x.K) mod (p-1) 簽名是 (K,S) k 應(yīng)該被銷(xiāo)毀 同ElGamal 加密方案, 簽名信息也是消息的2倍 驗(yàn)證 (K,S) 是 對(duì)M的簽名: yK.KSmod p = aMmod p ElGamal 簽名方案舉例簽名方案舉例 取 p=11, g=2 選擇私鑰 x=8 計(jì)算: y = ax mod p

4、 = 28 mod 11 = 3 公鑰是: y=3,g=2,p=11 對(duì) M=5 簽名: 選擇隨機(jī)數(shù) k=9 確定 gcd(10,9)=1 計(jì)算: K = ak mod p = 29 mod 11 = 6 解: 5 = 8.6+9.S mod 10; nb 9-1 = 9 mod 10;因此 S = 9.(5-8.6) = 3 mod 10 簽名是 (K=6,S=3) 要驗(yàn)證簽名, 確認(rèn):36.63 = 25 mod 113.7 = 32 = 10 mod 11 DSA (Digital Signature Algorithm) US Federal Govt approved signatu

5、re scheme (FIPS PUB 186) 使用 SHA hash alg NIST & NSA 在 90s初設(shè)計(jì) DSA 是算法, DSS 是標(biāo)準(zhǔn) 對(duì)此標(biāo)準(zhǔn)宣布的爭(zhēng)議! 是否需要使用 RSA DSA 是 ElGamal 及Schnorr algorithms 的變形 生成 320 bit 簽名 安全性是基于離散對(duì)數(shù) 被廣泛接收DSA 密鑰生成密鑰生成 首先選取公開(kāi)參數(shù) (p,q,g) : 選取大素?cái)?shù) p = 2L L= 512 to 1024 bits(64倍數(shù)) 選取 q, 160 bit 素因子( of p-1 ) 選擇 g = h(p-1)/q 對(duì)任何 h1 每個(gè)用戶選取

6、私鑰并計(jì)算他們的公鑰: 選取 xq 計(jì)算 y = gx(mod p) DSA 簽名生成與驗(yàn)證簽名生成與驗(yàn)證 簽名消息 M 生成隨機(jī)簽名蜜鑰 k, kq 計(jì)算 r = (gk(mod p)(mod q) s = k-1.SHA(M)+ x.r (mod q) 發(fā)送簽名 (r,s)及消息M 驗(yàn)證簽名, 計(jì)算: w = s-1(mod q) u1= (SHA(M).w)(mod q) u2= r.w(mod q) v = (gu1.yu2(mod p)(mod q) v=r 簽名有效 DSA 安全性安全性 基于離散對(duì)數(shù) 最初建議使用一個(gè)共同的 modulus p 現(xiàn)在建議不同的工作組使用不同的 (p

7、,q,g) Gus Simmons 發(fā)現(xiàn)存在潛信道,能夠泄露私鑰帶密鑰的帶密鑰的HASH 以上的簽名方法都是公鑰技術(shù) 計(jì)算與數(shù)據(jù)量較大 需要私鑰的認(rèn)證方案 好的方法是使用快速的hash 函數(shù): 密鑰與消息同時(shí)參加運(yùn)算:KeyedHash = Hash(Key|Message) 有一些弱點(diǎn) 隨后建議:KeyedHash = Hash(Key1|Hash(Key2|Message) HMAC HMAC 是使用帶密鑰的HASH函數(shù)的結(jié)果 成為internet標(biāo)準(zhǔn) (RFC2104) 結(jié)構(gòu):HMACK = Hash(K+ XOR opad)|Hash(K+ XOR ipad)|M) K+ 是經(jīng)過(guò)填充的

8、密鑰 opad, ipad 特殊的填充值 Opad=01011010重復(fù)b/8次 ipad=00110110重復(fù)b/8次 安全性是基于原來(lái)的HASH函數(shù)的安全性 任何 MD5, SHA-1, RIPEMD-160 都可以這樣使用 數(shù)字簽名在網(wǎng)絡(luò)中的應(yīng)用 數(shù)字簽名是公鑰密碼的一種具體應(yīng)用。數(shù)字簽名是公鑰密碼的一種具體應(yīng)用。 隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛使用,以及網(wǎng)絡(luò)隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛使用,以及網(wǎng)絡(luò)的安全問(wèn)題日益突出。的安全問(wèn)題日益突出。 目前,數(shù)字簽名在網(wǎng)絡(luò)中已有多種應(yīng)用,目前,數(shù)字簽名在網(wǎng)絡(luò)中已有多種應(yīng)用,我們以軟件發(fā)行簽名為例加以說(shuō)明。我們以軟件發(fā)行簽名為例加以說(shuō)明。數(shù)字簽名能用手寫(xiě)簽名的方式實(shí)現(xiàn)

9、嗎? 在在現(xiàn)實(shí)生活現(xiàn)實(shí)生活中,中,簽名能夠被偽造簽名能夠被偽造,簽名,簽名能夠從文章中盜用能夠從文章中盜用移到移到另一篇文章中,另一篇文章中,文件在簽名后能夠被改變文件在簽名后能夠被改變。 計(jì)算機(jī)文件易于復(fù)制。即使某人的簽名計(jì)算機(jī)文件易于復(fù)制。即使某人的簽名難以偽造(例如,難以偽造(例如,手寫(xiě)簽名的圖形手寫(xiě)簽名的圖形),),但是從一個(gè)文件到另一個(gè)文件復(fù)制和粘但是從一個(gè)文件到另一個(gè)文件復(fù)制和粘貼有效的簽名都是很容易的貼有效的簽名都是很容易的,這種簽名并這種簽名并沒(méi)有什么意義;沒(méi)有什么意義;其次文件在簽名后也易其次文件在簽名后也易于修改,并且不會(huì)留下任何修改的痕跡于修改,并且不會(huì)留下任何修改的痕跡

10、。數(shù)字簽名應(yīng)滿足的條件? 簽名是可信的簽名是可信的。簽名使文件的。簽名使文件的接收者接收者相信相信簽名者簽名者在文在文件上簽的字。件上簽的字。 簽名不可偽造簽名不可偽造。簽名證明是簽字者而不是其他人在文。簽名證明是簽字者而不是其他人在文件上簽字。件上簽字。 簽名不可重用簽名不可重用。簽名是文件的一部分,不法之徒不可。簽名是文件的一部分,不法之徒不可能將簽名移到不同的文件上。能將簽名移到不同的文件上。 簽名的文件是不可改變的簽名的文件是不可改變的。在文件簽名后,文件不能。在文件簽名后,文件不能改變。改變。 簽名是不可抵賴的簽名是不可抵賴的。簽名和文件是物理的東西。簽名。簽名和文件是物理的東西。簽

11、名者事后不能聲稱他沒(méi)有簽過(guò)名。者事后不能聲稱他沒(méi)有簽過(guò)名。數(shù)字簽名原理 公鑰密碼有兩個(gè)密鑰,一個(gè)可以公開(kāi),稱為公鑰,另公鑰密碼有兩個(gè)密鑰,一個(gè)可以公開(kāi),稱為公鑰,另一個(gè)必須保密,稱為私鑰。一個(gè)必須保密,稱為私鑰。 一般加解密過(guò)程為用公鑰加密,用私鑰解密。一般加解密過(guò)程為用公鑰加密,用私鑰解密。 數(shù)字簽名與之相反,簽名者用私鑰加密,并把加密結(jié)數(shù)字簽名與之相反,簽名者用私鑰加密,并把加密結(jié)果與原文放在一起。果與原文放在一起。 簽名驗(yàn)證者用公鑰解密密文,并與原文相比,簽名驗(yàn)證者用公鑰解密密文,并與原文相比,相同則相同則簽名有效,不同則簽名無(wú)效簽名有效,不同則簽名無(wú)效。 這樣就能起到與手寫(xiě)簽名同樣的效果。這樣就能起到與手寫(xiě)簽名同樣的效果。軟件發(fā)行簽名原理 軟件發(fā)行者通過(guò)網(wǎng)絡(luò)發(fā)行軟件時(shí),要防止攻擊者軟件發(fā)行者通過(guò)網(wǎng)絡(luò)發(fā)行軟件時(shí),要防止攻擊者假冒假冒發(fā)行者,還要防止軟件發(fā)行后被篡改。發(fā)行者,還要防止軟件發(fā)行后被篡改。 這可用數(shù)字簽名來(lái)實(shí)現(xiàn)。這可用數(shù)字簽名來(lái)實(shí)現(xiàn)。 軟件發(fā)行者生成軟件后,用軟件發(fā)行者生成軟件后,用私鑰對(duì)軟件簽名私鑰對(duì)軟件簽名,再把,再把軟軟件本身、簽名結(jié)果、公鑰證書(shū)制作成一個(gè)包發(fā)行件本身、簽名結(jié)果、公鑰證書(shū)制作成一個(gè)包發(fā)行。 這樣用戶可以從公鑰證書(shū)知道發(fā)行者的真實(shí)身份,經(jīng)這樣用戶可以從公

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論