第5章報(bào)文鑒別與散列函數(shù)_第1頁
第5章報(bào)文鑒別與散列函數(shù)_第2頁
第5章報(bào)文鑒別與散列函數(shù)_第3頁
第5章報(bào)文鑒別與散列函數(shù)_第4頁
第5章報(bào)文鑒別與散列函數(shù)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章報(bào)文鑒別與散列函數(shù)內(nèi)容鑒別的需求;散列函數(shù);報(bào)文鑒別碼簽名5.1鑒別的需求網(wǎng)絡(luò)通信環(huán)境中會(huì)受到下列攻擊泄露;通信量分析:連接的頻率和持續(xù)的時(shí)間、報(bào)文數(shù)量等。偽裝:假源點(diǎn);內(nèi)容篡改:修改內(nèi)容;

序號(hào)篡改:增刪內(nèi)容;

計(jì)時(shí)篡改:報(bào)文回放;

抵賴:終點(diǎn)否認(rèn)收到、源點(diǎn)否認(rèn)發(fā)送過。

5.2鑒別函數(shù)鑒別函數(shù):用來產(chǎn)生用于鑒別一個(gè)報(bào)文的值:鑒別符。鑒別符用于鑒別報(bào)文在通信過程中是否被篡改、刪除和修改等。產(chǎn)生鑒別符的幾類函數(shù):報(bào)文加密:以整個(gè)報(bào)文作為它的鑒別符號(hào)報(bào)文鑒別碼(MAC)散列函數(shù)鑒別函數(shù)-報(bào)文加密對(duì)稱加密:提供保密:僅源點(diǎn)和終點(diǎn)共享K。一定程度的鑒別:僅來自源點(diǎn)。不提供簽名:接收人可以偽造、發(fā)送人可以否認(rèn)。EMMDKKEk(M)鑒別函數(shù)-報(bào)文加密私鑰加密:提供鑒別和簽名:僅源點(diǎn)有私鑰KS。任何一方都能用公開密鑰Kp脫密。EMMDKsKpEKs(M)鑒別函數(shù)-報(bào)文加密公開密鑰加密:提供報(bào)密:僅終點(diǎn)有脫密的私鑰KS。不提供簽名:接收人可以偽造、發(fā)送人可以否認(rèn)。EMMDKpKSEKp(M)鑒別函數(shù)-報(bào)文加密對(duì)稱密鑰加密:提供保密:BKp鑒別與簽名:AKsEMMDAKsBKsEBKp(EAKs(M))EBKpABDAKp為什么需要報(bào)文鑒別EMMDKKY=Ek(M)Z≠Ek(M)NDK消息鑒別VS常規(guī)加密保密性與真實(shí)性是兩個(gè)不同的概念根本上,信息加密提供的是保密性而非真實(shí)性加密代價(jià)大(公鑰算法代價(jià)更大)鑒別函數(shù)與保密函數(shù)的分離能提供功能上的靈活性某些信息只需要真實(shí)性,不需要保密性

廣播的信息難以使用加密(信息量大)

網(wǎng)絡(luò)管理信息等只需要真實(shí)性

政府/權(quán)威部門的公告為什么需要報(bào)文鑒別碼加密與鑒別分離,使得結(jié)構(gòu)靈活。例如:應(yīng)用層鑒別,底層加密;減少工作量,驗(yàn)證鑒別碼較容易;監(jiān)控計(jì)算機(jī)程序,防止程序被修改,但裝載時(shí)不要對(duì)程序解密。報(bào)文鑒別碼MACMAC,也稱為密碼檢驗(yàn)和,由如下形式的函數(shù)C生成: MAC=Ck(M)其中M是變長(zhǎng)的報(bào)文K是僅由收發(fā)雙方共享的密鑰Ck{M)是定長(zhǎng)的鑒別符。當(dāng)報(bào)文確信或已知是正確時(shí),終點(diǎn)每次將MAC附加到報(bào)文中。接收者通過重新計(jì)算MAC來對(duì)報(bào)文進(jìn)行鑒別。5.2.2散列函數(shù)(HashFunction)

散列函數(shù)的定義散列函數(shù):M:變長(zhǎng)報(bào)文H(M):定長(zhǎng)的散列碼(報(bào)文摘要)主要用于為文件、報(bào)文或其它分組數(shù)據(jù)產(chǎn)生指紋散列函數(shù)的說明H(M):輸入為任意長(zhǎng)度的消息M;輸出為一個(gè)固定長(zhǎng)度的散列值,稱為消息摘要(MessageDigest)H(M)是消息M的所有位的函數(shù)并提供錯(cuò)誤檢測(cè)能力:消息中的任何一位或多位的變化都將導(dǎo)致該散列值的變化H(M)又稱為:哈希函數(shù)、數(shù)字指紋(Digitalfingerprint)、壓縮(Compression)函數(shù)、數(shù)據(jù)鑒別碼(Dataauthenticationcode)等HashvsMACMAC需要對(duì)全部數(shù)據(jù)進(jìn)行加密MAC速度慢Hash是一種直接產(chǎn)生鑒別碼的方法散列函數(shù)方法(a)提供了保密和鑒別。MH||EDMHEk[M||H(M)]kkH(M)比較散列函數(shù)方法(b)散列與加密結(jié)果合并為一個(gè)整體函數(shù)實(shí)際上就是一個(gè)MAC。E[H(M)]是變長(zhǎng)報(bào)文M和密鑰K的函數(shù)值,且它生成一個(gè)定長(zhǎng)的輸出,對(duì)不知道該密鑰的對(duì)手來說是安全的。提供鑒別MHE||MHDEk[H(M)]KKEK(H(M)]比較散列函數(shù)方法(c)提供鑒別、抵賴。MHE||MHDEKRa(H(M)]KRaKUaEKRa(H(M)]比較散列函數(shù)方法(d)同時(shí)提供保密性、鑒別和抵賴。MHE||EDMHDEk[M||EKRa(H(M)]kkKRaKUaEKRa(H(M)]比較散列函數(shù)方法(e)通信各方共享一個(gè)公共的秘密值s。對(duì)報(bào)文鑒別。M||H||H[(M||s)]s比較||Hs散列函數(shù)方法(f)通過包含報(bào)文和散列碼的整體進(jìn)行加密就能對(duì)上一種方法(e)增加保密功能M||H||Ek(H[(M||s)])s比較||HsEkH[(M||s)]Dk散列函數(shù)的目標(biāo)散列函數(shù)的目的是為文件、報(bào)文或其他的分組數(shù)據(jù)產(chǎn)生“指紋”。要用于報(bào)文鑒別,散列函數(shù)H必須具有如下性質(zhì):H能用于任何大小的數(shù)據(jù)分組。H產(chǎn)生定長(zhǎng)輸出。對(duì)任何給定的x,H(x)要相對(duì)易于計(jì)算,使得硬件和軟件實(shí)現(xiàn)成為實(shí)際可行。對(duì)任何給定的碼H(x),從H(x)計(jì)算x,在計(jì)算上是不可行的。這就是所謂的單向性質(zhì)。對(duì)任何給定的分組x,尋找不等于x的y,使得H(y)=H(x)在計(jì)算上是不可行的。

尋找對(duì)任何的(x,y)對(duì)使得H(x)=H(y)在計(jì)算上是不可行的。5.2.3散列算法

5.2.3.1MD5MD5描述Merkle于1989年提出hashfunction模型RonRivest于1990年提出MD41992年,RonRivest

完成MD5(RFC1321)在最近數(shù)年之前,MD5是最主要的hash算法現(xiàn)行美國(guó)標(biāo)準(zhǔn)SHA-1以MD5的前身MD4為基礎(chǔ)MD5描述

輸入:任意長(zhǎng)度的報(bào)文輸入分組長(zhǎng)度:512bit

輸出:128bit報(bào)文5.2.3.1.1設(shè)計(jì)目標(biāo)安全性直接安全性速度簡(jiǎn)單性和緊湊性有利的Little-Endian結(jié)構(gòu)MD5描述-step1

附加填充比特對(duì)報(bào)文進(jìn)行填充,使其比特?cái)?shù)與448模512同余,即填充長(zhǎng)度為512的整數(shù)倍減去64填充方法:填充比特串的最高位為1,其余各位均為0MD5描述-step2

附加長(zhǎng)度值|M2|為512的倍數(shù):Y0,Y1,…,YL-1MD5描述-step3初始化MD緩存MD為128bit,用于存放散列函數(shù)的中間及最終結(jié)果MD可表示為4個(gè)32bit的寄存器(A,B,C,D),初始化如下:MD5描述-step4以512個(gè)比特(16個(gè)字)分組處理消息主循環(huán)包含共64步操作,分別使用4個(gè)非線性函數(shù)。每一次循環(huán)可以表示為7步。64步操作形式:ab+((a+g(b,c,c)+X[k]+T[i]<<<s)MD5報(bào)文摘要算法(Rivest,RFC1321)Y1512Y0512Yq512YL-1512······HMD5HMD5HMD5HMD5報(bào)文L*512-64-填充長(zhǎng)度填充1-512長(zhǎng)度64IVCVqCV1CVL-1128位摘要MD5:RFC1321MD4:RFC1320MD2:RFC1319HMD5CVq128BACDG,T[17,18,…,32],X[ρ2(k)]16個(gè)步驟BACDF,T[1,2,…,16],X[k]16個(gè)步驟BACD32BACDH,T[33,34,…,48],X[ρ3(k)]16個(gè)步驟I,T[49,50,…,64],X[ρ4(k)]16個(gè)步驟Yq512++++CVq+11284輪,每輪16步驟ABCDABCD+++CLSs+X[k]T[i]gX[k]是分組的第k個(gè)32比特,k=1,2,…,16T[i]=232abs(sin(i))的整數(shù)部分b=b+((a+g(b,c,d)+X[i]+T[i])<<<s)MD5的安全性Berson表明,對(duì)單循環(huán)MD5,使用不用的密碼分析可能在合理的時(shí)間內(nèi)找出能夠產(chǎn)生相同摘要的兩個(gè)報(bào)文,這個(gè)結(jié)果被證明對(duì)四個(gè)循環(huán)中的任意一個(gè)循環(huán)也成立,但作者沒有能夠提出如何攻擊包含全部4個(gè)循環(huán)MD5的攻擊Boer和Bosselaers顯示了即使緩存ABCD不同,MD5對(duì)單個(gè)512bit分組的執(zhí)行將得到相同的輸出(偽沖突)Dobbertin的攻擊技術(shù):使MD5的壓縮函數(shù)產(chǎn)生沖突,即尋找MD5被認(rèn)為是易受攻擊的,逐漸被SHA-1和RIPEMD-160替代5.2.3.2安全散列算法SHA-1安全散列算法(SHA)由美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)協(xié)會(huì)(NIST)提出,作為聯(lián)邦信息處理標(biāo)準(zhǔn)(FIPSPUB180)在1993年公布。1995年發(fā)布了一個(gè)修訂版FIPSPUB180-1通常稱為SHA-1SHA也是基于MD4的。最大報(bào)文長(zhǎng)度264-1,散列碼長(zhǎng)度160bit。結(jié)構(gòu)與MD5類似,抗攻擊能力比MD5強(qiáng);HMAC(密碼散列算法RFC2104)Keyed-HashingforMessageAuthenticationCode在最近幾年,研究的熱點(diǎn)轉(zhuǎn)向由密碼散列碼導(dǎo)出MAC。這樣的目的在于:密碼散列函數(shù)如MD5和SHA-1的軟件執(zhí)行速度比對(duì)稱分組密碼如DES的快。很容易獲得密碼散列函數(shù)的庫代碼。美國(guó)或其他國(guó)家對(duì)密碼散列函數(shù)沒有出口限制,而對(duì)稱分組密碼,即便用作MAC也是限制的。HMAC的主要設(shè)計(jì)目標(biāo):無需修改地使用現(xiàn)有的散列函數(shù)(比如MD5或SHA-1)。特別是,散列函數(shù)的軟件實(shí)現(xiàn)執(zhí)行很快,且程序代碼碼是公開的和容易獲得的。當(dāng)出現(xiàn)或獲得更快的或更安全的散列函數(shù)時(shí),對(duì)算法中嵌入的散列函數(shù)要能輕易地進(jìn)行替換。保持散列函數(shù)的原有性能不會(huì)導(dǎo)致算法性能的降低。使用和處理密鑰的方式很簡(jiǎn)單。HMACHMAC算法RFC2104SiY0Y1……YL-1散列函數(shù)bbitsbbitsbbitsK+ipad⊕K+opad⊕S0H(Si||M)散列函數(shù)HMACk(M)nbitsIVnbitsIV填充到bbitsHMAC算法對(duì)密鑰K的左端填充一些0生成一個(gè)bbits的串K+。ipad:b/8個(gè)00110110,opad:01011010。將K

溫馨提示

  • 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. 人人文庫網(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)論