東南大學(xué),無線網(wǎng)絡(luò)安全技術(shù)課件chap04_第1頁
東南大學(xué),無線網(wǎng)絡(luò)安全技術(shù)課件chap04_第2頁
東南大學(xué),無線網(wǎng)絡(luò)安全技術(shù)課件chap04_第3頁
東南大學(xué),無線網(wǎng)絡(luò)安全技術(shù)課件chap04_第4頁
東南大學(xué),無線網(wǎng)絡(luò)安全技術(shù)課件chap04_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第四講 消息認(rèn)證/數(shù)字簽名無線網(wǎng)絡(luò)安全技術(shù)消息認(rèn)證和散列函數(shù)v消息認(rèn)證的概念v散列函數(shù)概念vMD5算法vSHA算法v消息鑒別碼v 網(wǎng)絡(luò)通信環(huán)境下的攻擊類型:1.泄露(Disclosure)2.傳輸分析(Traffic analysis)3.偽裝(Masquerade)4.內(nèi)容篡改(Content modification)5.順序修改(Sequence modification)6.計(jì)時(shí)修改(Timing modification)7.發(fā)送方否認(rèn)(Source repudiation)8.接收方否認(rèn)(Destination repudiation)機(jī)密性機(jī)密性消息消息認(rèn)證認(rèn)證數(shù)數(shù)字字簽簽名名特

2、定的特定的數(shù)數(shù)字字簽簽名機(jī)制名機(jī)制v消息認(rèn)證 驗(yàn)證收到的消息確實(shí)來自聲明的發(fā)送方且未被修改 消息認(rèn)證也可以驗(yàn)證消息的順序和時(shí)間v數(shù)字簽名一種認(rèn)證技術(shù),包含了防止發(fā)送方否認(rèn)的方法認(rèn)證要求認(rèn)證要求數(shù)數(shù)據(jù)完整性據(jù)完整性不可否不可否認(rèn)認(rèn)性性認(rèn)證函數(shù)認(rèn)證函數(shù)v消息認(rèn)證或數(shù)字證書可以看作有兩層: 下層: 需要某種函數(shù)用于產(chǎn)生一個(gè)認(rèn)證碼,這個(gè)碼用于認(rèn)證消息。 產(chǎn)生認(rèn)證碼的函數(shù)實(shí)現(xiàn)問題 上層:將下層函數(shù)作為原語用于認(rèn)證協(xié)議中。 認(rèn)證協(xié)議的設(shè)計(jì)問題v認(rèn)證函數(shù)類型: 消息加密 密文作為認(rèn)證碼 消息認(rèn)證碼 (MAC) 函數(shù)輸入為消息和密鑰,生成值為一定長(zhǎng)的值 散列函數(shù) 將一個(gè)消息映射為一個(gè)定長(zhǎng)的摘要值消息加密消息加

3、密v對(duì)稱加密 對(duì)稱加密算法本身提供認(rèn)證 要求接收者對(duì)解密后的數(shù)據(jù)能做出正確判斷是否是合法明文還是無意義的二進(jìn)制數(shù)。 要求明文具有某種易于識(shí)別的結(jié)構(gòu):加密前添加校驗(yàn)和 利用通信協(xié)議設(shè)定消息格式,密文一旦被修改則解密后的內(nèi)容無法正常解析添加校驗(yàn)和添加校驗(yàn)和設(shè)定消息格式設(shè)定消息格式用公鑰加密算法提供認(rèn)證用公鑰加密算法提供認(rèn)證v用自己的私鑰加密:若接收者能判斷解密后的消息是否合法,則可以提供認(rèn)證vMessage Authentication Code (MAC):利用共享密鑰生成一固定長(zhǎng)度的字段 (記為MAC)vMAC = C (K,M) M: 輸入消息 C:MAC函數(shù) K:共享密鑰 MAC:消息認(rèn)證

4、碼消息認(rèn)證碼消息認(rèn)證碼 可以確可以確認(rèn)認(rèn): 消息不被修改消息不被修改 消息消息來來源于宣源于宣稱稱的的發(fā)發(fā)送方送方 消息的消息的發(fā)發(fā)送送順順序未被改序未被改變變(要求消息中包含序列(要求消息中包含序列號(hào)號(hào)) 與與加密函加密函數(shù)數(shù)的的區(qū)別區(qū)別: MAC不需要解密,即不需要解密,即MAC函函數(shù)數(shù)無需可逆性無需可逆性 MAC函函數(shù)為數(shù)為多多對(duì)對(duì)一的映射一的映射關(guān)關(guān)系系消息認(rèn)證碼的安全性要求消息認(rèn)證碼的安全性要求v攻擊者攻擊目標(biāo):不再是獲得秘鑰K,而是尋找可生成相同認(rèn)證碼的消息。為何使用為何使用MACMACv為什么不利用加密實(shí)現(xiàn)認(rèn)證 明文形式?jīng)]有改變 MAC的實(shí)現(xiàn)代價(jià)更低 用于只需認(rèn)證無需加密的場(chǎng)合

5、廣播 執(zhí)行代碼的認(rèn)證 某些希望把加密和認(rèn)證分開的場(chǎng)合,保密周期和認(rèn)證周期不一樣。(例如:檔案)散列函數(shù)散列函數(shù)v單向散列函數(shù)(HASH函數(shù)) 將一個(gè)長(zhǎng)度可變的消息M轉(zhuǎn)換為一個(gè)固定長(zhǎng)度的輸出,稱之為散列碼或摘要 與MAC的區(qū)別:沒有使用密鑰,函數(shù)輸入?yún)?shù)只有一個(gè) 可以檢測(cè)出消息是否發(fā)生變化v和加密結(jié)合可以用于認(rèn)證 加密消息及散列碼:E(K,M | H(M) 對(duì)稱加密散列碼:M | E(K,H(M) E(K,H(M) 即為一MAC函數(shù) 公鑰加密散列碼:M | E(PRa,H(M) 典型的數(shù)字簽名方案 散列函數(shù)散列函數(shù)v h = H(M) M 為一變長(zhǎng)消息 h 為一固定長(zhǎng)度的HASH值 H 為散列函

6、數(shù)v 使用方法:將散列值附于消息后發(fā)送,接收者根據(jù)收到的消息重新計(jì)算散列值,并和收到的散列值進(jìn)行比較。v 由于散列函數(shù)本身不存在保密性,需要某種方法來保護(hù)散列值。對(duì)散列函數(shù)的要求對(duì)散列函數(shù)的要求1. H 可應(yīng)用于任意大小的數(shù)據(jù)塊2. H 產(chǎn)生一固定長(zhǎng)度的輸出3. 對(duì)于任意給定的x,H(x)的值都是容易計(jì)算的。4. H是單向的, 即給定h, 找到任何一個(gè)滿足h = H(x)的x在計(jì)算上不行5. H有弱抗碰撞性:即給定x,找到任何一個(gè)滿足H(x) = H(y)的 y,y x 在計(jì)算上是不可行的。滿足性質(zhì)4和5的函數(shù)稱為弱單向函數(shù)6. H有強(qiáng)抗碰撞性,找到任何兩個(gè)滿足H(x) = H(y)的x和y在

7、計(jì)算上是不可行的。滿足性質(zhì)4、5和6的函數(shù)稱為強(qiáng)單向函數(shù)對(duì)散列函數(shù)的要求對(duì)散列函數(shù)的要求v單向的特性是認(rèn)證所必需的。v弱抗碰撞性對(duì)于防止偽造是必需的v強(qiáng)抗碰撞性對(duì)于抵抗生日攻擊是非常重要的生日攻擊生日攻擊v生日問題1:當(dāng)你走進(jìn)教室的時(shí)候,問教室里要有多少人使得存在跟你生日相同的人的概率超過50%?v答案是:253v生日問題2:一個(gè)教室內(nèi),要有多少人才能使至少有二人的生日在同一天的概率大于等于1/2?v(1-1/365)生日攻擊生日攻擊2 ln21.774knn(1-2/365) (1-(k-1)/365)生日攻擊生日攻擊23針對(duì)散列函數(shù)的生日攻擊針對(duì)散列函數(shù)的生日攻擊v假定函數(shù)H有2m 個(gè)可能

8、輸出值,有k個(gè)隨機(jī)輸入,問當(dāng)k為多少的時(shí)候至少有一個(gè)重復(fù)輸出出現(xiàn),即對(duì)任意x,y有 H(x) = H(y)v k 2m/2v如果使用64bit長(zhǎng)的散列碼,則所需代價(jià)的數(shù)量即為232bY0nIV=CV0fbY1nfbYL-1nCVL-1fCV1nnIV = 初始初始值值CV = 鏈鏈接接值值Yi = 第第i 個(gè)輸個(gè)輸入入數(shù)數(shù)據(jù)據(jù)塊塊f = 壓縮壓縮算法算法n = 散列散列碼碼的的長(zhǎng)長(zhǎng)度度b = 輸輸入入塊塊的的長(zhǎng)長(zhǎng)度度安全安全Hash函函數(shù)數(shù)的一般的一般結(jié)構(gòu)結(jié)構(gòu)CVLCV0=IV= initial n-bit valueCVi=f(CVi-1, Yi-1) (1 i L)H(M) = CVLHa

9、shHash函數(shù)函數(shù)24MD5 算法算法MD: Message Digest,消息摘要v輸入:任意長(zhǎng)度的消息v輸出:128位消息摘要v處理:以512位輸入數(shù)據(jù)塊為單位MD5 (RFC 1321) developed by Ron Rivest (“R” of the RSA )at MIT in 90s.25MD5 算法流程算法流程26SHA-1 算法算法vSHA(Secure Hash Algorithm,安全哈希算法 )由美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所NIST開發(fā),作為聯(lián)邦信息處理標(biāo)準(zhǔn)于1993年發(fā)表(FIPS PUB 180),1995年修訂,作為SHA-1(FIPS PUB 180-1),SH

10、A-1基于MD4設(shè)計(jì)。v輸入:最大長(zhǎng)度為264位的消息;v輸出:160位消息摘要;v處理:輸入以512位數(shù)據(jù)塊為單位處理.27SHA-1一個(gè)循環(huán)一個(gè)循環(huán)MD5一個(gè)循環(huán)一個(gè)循環(huán)28比較比較SHA1/ MD5v散列值長(zhǎng)度 MD5 128bits SHA1 160bitsv安全性 SHA1看來好些,但是SHA1的設(shè)計(jì)原則沒有公開v速度 SHA1慢些 (openssl speed md5/sha1:)type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytesmd5 5425.31k 19457.48k 55891.45k 104857.60k 1432

11、11.40ksha1 5104.58k 16008.41k 37925.33k 57421.81k 68241.68k29HMACv把HASH值和一個(gè)Key結(jié)合起來 沒有使用加密算法v標(biāo)準(zhǔn) RFC 2104 HMAC:Keyed-Hashing for Message Authentication FIPS 198 The Keyed-Hash Message Authentication Code(HMAC)v目標(biāo) 既能使用當(dāng)前的HASH函數(shù),又可容易升級(jí)為新的HASH函數(shù),并能保持散列函數(shù)的安全性 簡(jiǎn)單,并易進(jìn)行密碼學(xué)分析30數(shù)字簽名數(shù)字簽名v簽名的含義 簽名者慎重表達(dá)認(rèn)可文件內(nèi)容的意向的

12、行為v為什么需要數(shù)字簽名: 報(bào)文認(rèn)證用以保護(hù)雙方之間的數(shù)據(jù)交換不被第三方侵犯;但它并不保證雙方自身的相互欺騙。假定A發(fā)送一個(gè)認(rèn)證的信息給B,雙方之間的爭(zhēng)議可能有多種形式: B偽造一個(gè)不同的消息,但聲稱是從A收到的。 A可以否認(rèn)發(fā)過該消息,B無法證明A確實(shí)發(fā)了該消息。v特性 不可偽造,特異性 不可重用,日期和時(shí)間相關(guān)性 不可改變,能發(fā)現(xiàn)涂改、轉(zhuǎn)移意義或用途 不可抵賴,能夠質(zhì)證 可仲裁的,可做為法律證據(jù)v手手寫簽寫簽名名 紙紙版文件版文件 手手寫簽寫簽名名 同一同一頁紙頁紙v數(shù)數(shù)字字簽簽名名 數(shù)數(shù)字文件字文件 數(shù)數(shù)字小文件字小文件 如何如何綁綁定定v如何實(shí)現(xiàn)數(shù)字簽名v數(shù)學(xué)支持簽名函數(shù) 被簽署的是文

13、件(大文件) 簽名生成另外一個(gè)文件(小文件) 簽名過程一定有簽署人的身份和某種秘密(別人不知的)參與 簡(jiǎn)單易行 計(jì)算和存儲(chǔ)手寫簽名的數(shù)字化改造手寫簽名的數(shù)字化改造簽名函數(shù)報(bào)文報(bào)文簽名身份和秘密數(shù)字簽名數(shù)字簽名v滿足條件 必須是跟消息相關(guān)的二進(jìn)制位 必須是發(fā)送方獨(dú)有的信息,以防偽造和否認(rèn) 必須易于產(chǎn)生 必須易于驗(yàn)證和識(shí)別 必須使得偽造在計(jì)算上不可行 必須使得保存簽名的拷貝可行Digital Signaturesv先對(duì)消息M作一個(gè)摘要H(M)v然后發(fā)送方用自己的私鑰對(duì)H(M)進(jìn)行加密,得到簽名EKRa(H(M)v連同消息M一起,發(fā)送出去vB收到復(fù)合的消息之后,把簽名提取出來vB用A的公鑰對(duì)簽名解密

14、得到HvB計(jì)算所收到消息的摘要H(M)v如果H=H(M),則消息確實(shí)是A產(chǎn)生的數(shù)字簽名的應(yīng)用數(shù)字簽名的應(yīng)用v用來對(duì)禁止核試驗(yàn)條約的驗(yàn)證: 美國(guó)和前蘇聯(lián)互相允許把地震儀放入另一個(gè)國(guó)家中,以便對(duì)核試驗(yàn)進(jìn)行監(jiān)控。 利用簽名技術(shù)保證數(shù)據(jù)來源的可靠性以及數(shù)據(jù)沒有被篡改。公鑰證書公鑰分發(fā)問題公鑰分發(fā)問題v公鑰算法允許參與者在不受保護(hù)的信道上共享秘密 適用于開發(fā)式的網(wǎng)絡(luò) v如何分發(fā)公鑰? 需解決公鑰的合法性問題 身份綁定證書證書v公鑰必須被認(rèn)證 例如:可以通過一個(gè)可信任的第三方宣布“公鑰PA是用戶Alice的”。AlicePKaAlice,PKaPRcCA用戶Alice使用的公鑰公鑰機(jī)構(gòu)的名稱用戶Alice

15、的身份標(biāo)示證書機(jī)構(gòu)對(duì)Alice和她公鑰的簽名X.509認(rèn)證服務(wù)認(rèn)證服務(wù)vX.509的發(fā)布?xì)v史: 1988年,X.509首次發(fā)布; 1993年,修正版本發(fā)布; 1995年,X.509 Version 3; 2000年,再次發(fā)布。vX.509基于公鑰密碼體制和數(shù)字簽名。公鑰密碼推薦使用RSA,數(shù)字簽名需要用到hash函數(shù)。公鑰證書的產(chǎn)生過程公鑰證書的產(chǎn)生過程沒沒有有簽簽名的名的證書證書:包:包含用含用戶戶ID,用,用戶戶公公鑰鑰H生成生成沒沒有有簽簽名名證書證書的散列的散列碼碼E簽過簽過名的名的證書證書,接,接收者可用收者可用認(rèn)證認(rèn)證機(jī)機(jī)構(gòu)構(gòu)的公的公鑰來檢查簽鑰來檢查簽名名用用認(rèn)證認(rèn)證機(jī)機(jī)構(gòu)構(gòu)的的私私鑰來鑰來加密散加密散列列碼碼生成生成簽簽名名證書的標(biāo)示證書頒發(fā)者的姓名用戶名用CA私鑰加密的散列值CA = CA V, SN, AI, CA, TA, A, AP認(rèn)證機(jī)構(gòu)CA頒發(fā)的用戶A證書YI = Y對(duì)I的簽名被加密后的散列代碼v若若擁擁

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論