ch報(bào)文鑒別技術(shù)課件_第1頁
ch報(bào)文鑒別技術(shù)課件_第2頁
ch報(bào)文鑒別技術(shù)課件_第3頁
ch報(bào)文鑒別技術(shù)課件_第4頁
ch報(bào)文鑒別技術(shù)課件_第5頁
已閱讀5頁,還剩125頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

與消息鑒別和數(shù)字簽名有關(guān)的問題也許是網(wǎng)絡(luò)安全中最易引起混淆的領(lǐng)域,攻擊和抗攻擊對策的發(fā)展呈螺旋式。值得慶幸的是,不像那些古老的天文學(xué)家,今天的密碼協(xié)議的設(shè)計(jì)者是在完全合理的模型上來進(jìn)行研究的。與消息鑒別和數(shù)字簽名有關(guān)的問題也許是網(wǎng)絡(luò)安全中最易引起混淆的1第九講消息鑒別當(dāng)Bob從Alice那里接收消息時(shí),他怎么知道消息是可信的呢?第九講消息鑒別當(dāng)Bob從Alice那里接收消息時(shí),他怎么知2在應(yīng)用環(huán)境中,用戶通過網(wǎng)絡(luò)傳輸大量的報(bào)文(或稱消息),出于安全性考慮,必須對消息或報(bào)文的有效性和合法性進(jìn)行鑒別或認(rèn)證。因?yàn)榫W(wǎng)絡(luò)中的攻擊者很可能通過對正在傳輸?shù)南⒒驁?bào)文進(jìn)行攻擊(偽造、篡改、刪除等),來達(dá)到入侵系統(tǒng)的目的。

在應(yīng)用環(huán)境中,用戶通過網(wǎng)絡(luò)傳輸大量的報(bào)3復(fù)習(xí):網(wǎng)絡(luò)通信環(huán)境中可能的攻擊消息泄密和傳輸分析——被動(dòng)攻擊偽造、偽裝和篡改順序修改和及時(shí)修改行為抵賴主動(dòng)攻擊復(fù)習(xí):網(wǎng)絡(luò)通信環(huán)境中可能的攻擊消息泄密和傳輸分析——被動(dòng)攻擊4針對保密性的攻擊信息泄密和傳輸分析防止信息泄漏的最有效的措施是加強(qiáng)消息和報(bào)文的保密性,這可通過加密手段來實(shí)現(xiàn)。針對保密性的攻擊信息泄密和傳輸分析5偽造和篡改:偽裝、偽造消息、內(nèi)容篡改、順序篡改、計(jì)時(shí)篡改。防范信息偽造和篡改的一般方法是消息鑒別技術(shù)。針對完整性的攻擊偽造和篡改:偽裝、偽造消息、內(nèi)容篡改、順序篡改、計(jì)時(shí)篡改。針6針對抗否認(rèn)性的攻擊行為抵賴:發(fā)送端否認(rèn)、接收端否認(rèn)。數(shù)字簽名機(jī)制提供了一種抗否認(rèn)性,通常情況下,數(shù)字簽名技術(shù)也具有防止信息偽造和篡改的能力。針對抗否認(rèn)性的攻擊行為抵賴:發(fā)送端否認(rèn)、接收端否認(rèn)。7信息和網(wǎng)絡(luò)安全中另一個(gè)重要領(lǐng)域是消息鑒別以及相關(guān)的數(shù)字簽名技術(shù)。消息鑒別技術(shù)用于防范信息偽造和篡改。數(shù)字簽名機(jī)制提供了一種抗否認(rèn)性。消息(報(bào)文)鑒別提供了一種證實(shí)收到的報(bào)文來自可信的源點(diǎn)且未被篡改的過程,它也可證實(shí)序列編號和及時(shí)性。消息(報(bào)文)鑒別信息和網(wǎng)絡(luò)安全中另一個(gè)重要領(lǐng)域是消息鑒別以及相關(guān)的數(shù)字簽名技8消息鑒別系統(tǒng)消息鑒別系統(tǒng)需要提供某種報(bào)文鑒別函數(shù)f來產(chǎn)生一個(gè)鑒別符或鑒別代碼,用于實(shí)現(xiàn)報(bào)文鑒別。鑒別符是一個(gè)根據(jù)消息或報(bào)文計(jì)算出來的值,源端和目的端利用消息鑒別函數(shù)f來進(jìn)行報(bào)文鑒別。消息鑒別系統(tǒng)消息鑒別系統(tǒng)需要提供某種報(bào)文鑒別函數(shù)f來產(chǎn)生一9報(bào)文Mf()鑒別函數(shù)報(bào)文M鑒別符報(bào)文M’鑒別符f()比較鑒別結(jié)果傳輸路徑鑒別過程示意圖報(bào)文f()鑒別函數(shù)報(bào)文報(bào)文f()比較鑒別結(jié)果傳輸路徑10鑒別函數(shù)分類根據(jù)鑒別符的生成方式,鑒別函數(shù)可以分為以下幾類:基于報(bào)文加密方式的函數(shù):以整個(gè)報(bào)文的密文作為鑒別符;報(bào)文鑒別碼(MAC)方式;散列函數(shù)方式:采用一個(gè)公共散列函數(shù),將任意長度的報(bào)文映射為一個(gè)定長的散列值,并以散列值作為鑒別符。鑒別函數(shù)是決定鑒別系統(tǒng)特征的主要因素。鑒別函數(shù)分類根據(jù)鑒別符的生成方式,鑒別函數(shù)可以分為以下幾類:11本講主要內(nèi)容鑒別函數(shù)基于報(bào)文加密方式的函數(shù) 對稱密鑰密碼 公鑰密碼報(bào)文鑒別碼散列函數(shù)散列函數(shù)報(bào)文鑒別本講主要內(nèi)容鑒別函數(shù)12基于對稱密鑰加密方式的報(bào)文鑒別1、對稱密鑰加密方式提供的保密和報(bào)文鑒別功能

接收端B發(fā)送端A網(wǎng)絡(luò)報(bào)文M加密E()EK(M)密鑰K解密D()密鑰K報(bào)文M基于對稱密鑰加密方式的報(bào)文鑒別1、對稱密鑰加密方式提供的保密13由于消息M的內(nèi)容對于終點(diǎn)B來說是未知的,例如:二進(jìn)制形式的電話錄音B如何用自動(dòng)化的方法來判斷收到的密文的合法性?討論由于消息M的內(nèi)容對于終點(diǎn)B來說是未知的,例如:討論14強(qiáng)制明文具有某種結(jié)構(gòu),這種結(jié)構(gòu)易于識別,不能被復(fù)制,并且是不依賴于加密的。例如:可以在加密前對每個(gè)消息附加一個(gè)錯(cuò)誤檢測碼(校驗(yàn)和),如下圖所示。解決方法強(qiáng)制明文具有某種結(jié)構(gòu),這種結(jié)構(gòu)易于識別,不能被復(fù)制,并且是不15附加報(bào)文鑒別結(jié)構(gòu)注意:校驗(yàn)碼的生成和加密函數(shù)執(zhí)行的順序是至關(guān)重要的。校驗(yàn)碼必須被作為內(nèi)部的差錯(cuò)控制,在加密之前附加到明文上,才能提供鑒別功能。接收端B發(fā)送端AMF(M)網(wǎng)絡(luò)報(bào)文M加密E()EK[M|F(M)]密鑰KF()MF(M)比較解密D()密鑰KF()鑒別結(jié)果附加報(bào)文鑒別結(jié)構(gòu)注意:校驗(yàn)碼的生成和加密函數(shù)執(zhí)行的順序是至關(guān)16討論事實(shí)上,再要發(fā)送的消息中加入任何類型的結(jié)構(gòu)信息都會(huì)增強(qiáng)認(rèn)證能力。如TCP/IP的報(bào)頭信息。收發(fā)雙方共享密鑰,暗示通信之前必須生成會(huì)話密鑰并分配之,有沒有更好的解決辦法?一個(gè)很自然的想法是采用公鑰加密機(jī)制代替對稱密鑰加密機(jī)制。討論事實(shí)上,再要發(fā)送的消息中加入任何類型的結(jié)構(gòu)信息都會(huì)增強(qiáng)認(rèn)172、基于公鑰加密方式的報(bào)文鑒別在公開密鑰體系結(jié)構(gòu)中,直接使用非對稱密鑰加密方式只能提供保密,而不能提供鑒別功能。因?yàn)椋喝魏稳司梢允褂肂的公開密鑰來加密報(bào)文,而假稱報(bào)文是發(fā)自A的,終點(diǎn)B無法斷定消息的發(fā)送者。ABZEPKB(M)||IDA2、基于公鑰加密方式的報(bào)文鑒別在公開密鑰體系結(jié)構(gòu)中,直接使用18為了提供鑒別功能,源點(diǎn)A可以使用其私有密鑰KRa報(bào)文文進(jìn)行加密,而終點(diǎn)B使用A的公開密鑰KUa進(jìn)行解密。注意:上述方案不提供保密性。只要擁有A的公開密鑰,任何人都能對該密文進(jìn)行解密。復(fù)習(xí):用公鑰密碼實(shí)現(xiàn)鑒別為了提供鑒別功能,源點(diǎn)A可以使用其私有密鑰KRa報(bào)文文進(jìn)行加19復(fù)習(xí):保密性+簽名以下方法既提供保密性又提供鑒別功能:發(fā)端:收端:復(fù)習(xí):保密性+簽名以下方法既提供保密性又提供鑒別功能:20存在的問題但是,這種既提供保密性又提供數(shù)字簽名的方法,一次通信中要執(zhí)行四次復(fù)雜的公鑰算法。即使不提供保密性,也要用公鑰算法對整個(gè)消息進(jìn)行加密。存在的問題但是,這種既提供保密性又提供數(shù)字簽名的方法,一次通21本講主要內(nèi)容鑒別函數(shù)基于報(bào)文加密方式的函數(shù) 對稱密鑰密碼 公鑰密碼報(bào)文鑒別碼散列函數(shù)散列函數(shù)報(bào)文鑒別本講主要內(nèi)容鑒別函數(shù)22采用報(bào)文鑒別碼MAC的鑒別方式

報(bào)文鑒別碼(messageauthenticationcode,MAC),也叫“消息認(rèn)證碼”MAC=CK(M)函數(shù)CK()需要使用一個(gè)共享的密鑰K作為參數(shù),并以變長的報(bào)文內(nèi)容M作為輸入,其輸出MAC是一個(gè)定長的短分組。采用報(bào)文鑒別碼MAC的鑒別方式報(bào)文鑒別碼(message23使用消息鑒別碼發(fā)送端在發(fā)送消息報(bào)文時(shí),將計(jì)算出來的MAC附加在報(bào)文中傳輸。接收者通過重新計(jì)算MAC來對報(bào)文進(jìn)行合法性的鑒別。使用方式:基本的:消息為明文方式保密的:消息為密文方式使用消息鑒別碼發(fā)送端在發(fā)送消息報(bào)文時(shí),將計(jì)算出來的MAC附241、基本的MAC報(bào)文鑒別接收端B發(fā)送端AMMAC網(wǎng)絡(luò)報(bào)文M密鑰KC()MMAC比較密鑰KC()鑒別結(jié)果1、基本的MAC報(bào)文鑒別接收端B發(fā)送端A網(wǎng)絡(luò)報(bào)文密鑰KC(25計(jì)算MAC的密鑰K只有A和B共享。攻擊者若要更改報(bào)文必須同時(shí)更改MAC但由于攻擊者不知道密鑰K,故他不可能計(jì)算出一個(gè)與更改后的報(bào)文相對應(yīng)的MAC值。若接收者B計(jì)算出相同的MAC,便能確信:報(bào)文未被修改;報(bào)文M是來自發(fā)送者A的;如果報(bào)文含有序號,順序也是正確的。說明計(jì)算MAC的密鑰K只有A和B共享。說明26一種計(jì)算MAC

的方法基于DES的MAC算法是應(yīng)用最廣泛的。采用密碼分組連接(CBC)方式的迭代算法。被鑒別的報(bào)文數(shù)據(jù)被劃分為連續(xù)的64比特的分段:D1,D2,…,DN,必要時(shí)對DN填充。

以0為初始值。DES()KD1O0=0DES()KD2O1DES()KDNON-1ON…MAC一種計(jì)算MAC的方法基于DES的MAC算法是應(yīng)用最廣泛的。27算法說明算法的表示O0=0Oi=EK(Di

Oi-1)i=1,2,…,N,K為56位的密鑰MAC=ON=EK(DN

ON-1)數(shù)據(jù)鑒別代碼MAC:算法的最終輸出ON,或ON最左邊的M比特構(gòu)成(16≤M≤64)。注意:在這里,DES算法并沒有用于對數(shù)據(jù)保密,而是用于計(jì)算MAC。算法說明算法的表示282、保密的MAC消息鑒別

——MAC與明文有關(guān)接收端B發(fā)送端AMMAC網(wǎng)絡(luò)報(bào)文MK1C()MMAC比較K1C()鑒別結(jié)果K2EDK22、保密的MAC消息鑒別

——MAC與明文有關(guān)接收端B發(fā)送端293、保密的MAC消息鑒別

——MAC與密文有關(guān)接收端B發(fā)送端AMMAC網(wǎng)絡(luò)報(bào)文MK1C()MMAC比較K1C()K2EDK2報(bào)文M鑒別結(jié)果3、保密的MAC消息鑒別

——MAC與密文有關(guān)接收端B發(fā)送端30消息鑒別碼的安全性分析MAC函數(shù)的構(gòu)造特性對MAC進(jìn)行攻擊的重點(diǎn)安全的MAC函數(shù)的特性消息鑒別碼的安全性分析MAC函數(shù)的構(gòu)造特性31MAC的構(gòu)造特性MAC函數(shù)是一個(gè)多對一的函數(shù)。即報(bào)文空間>MAC空間例如:假定100位消息,10位MAC,5位密鑰定義域:2100種不同消息;值域:210種不同的MAC;平均而言,同一MAC可由2100/210=290條不同消息產(chǎn)生;同一消息可能得到25=32種不同的MAC值。而實(shí)際上,定義域是有任意長的消息組成。MAC的構(gòu)造特性MAC函數(shù)是一個(gè)多對一的函數(shù)。即32對MAC進(jìn)行攻擊的重點(diǎn)可以證明,由于MAC函數(shù)的構(gòu)造特性,與加密相比,MAC函數(shù)更不易被攻破。因此攻擊的重點(diǎn)不是獲取鑒別密鑰,而是利用MAC的構(gòu)造特性來發(fā)送一些欺騙性的報(bào)文,對接收端造成破壞。對MAC進(jìn)行攻擊的重點(diǎn)可以證明,由于MAC函數(shù)的構(gòu)造特性,與33安全的MAC函數(shù)的特性在設(shè)計(jì)MAC函數(shù)的時(shí)候,該使其滿足如下特性:假定攻擊者竊取到報(bào)文M即MAC,但他在偽造報(bào)文M’使CK(M’)=CK(M)在計(jì)算上是不可行的。CK(M)函數(shù)的值域空間應(yīng)該是均勻分布的。對報(bào)文M進(jìn)行某種已知變換后,其MAC值相等的概率很小。安全的MAC函數(shù)的特性在設(shè)計(jì)MAC函數(shù)的時(shí)候,該使其滿足如下34討論MAC函數(shù)與加密函數(shù)的區(qū)別在哪里?(見后頁)既然加密可以提供認(rèn)證,為什么還要使用MAC?將加密與認(rèn)證分離,有些場合只關(guān)心認(rèn)證,而不關(guān)心保密性。MAC能夠提供數(shù)字簽名?不能,因?yàn)槭瞻l(fā)雙方共享密鑰。能不能在沒有共享密鑰的情況下,也能進(jìn)行對消息的真實(shí)性進(jìn)行鑒別?可以,用散列函數(shù)討論MAC函數(shù)與加密函數(shù)的區(qū)別在哪里?(見后頁)35MAC函數(shù)與加密函數(shù)的比較相同點(diǎn)都需要一個(gè)共享密鑰不同點(diǎn)加密函數(shù)必須是可逆的;MAC函數(shù)可以是一個(gè)單向函數(shù)。從定義域到值域,加密是一一對應(yīng)函數(shù);而MAC是多對一函數(shù)。從攻擊來看,針對加密的是企圖恢復(fù)明文或密鑰;而針對MAC的是企圖找到一個(gè)“碰撞”。MAC函數(shù)與加密函數(shù)的比較相同點(diǎn)36本講主要內(nèi)容基于報(bào)文加密方式的函數(shù) 對稱密鑰密碼 公鑰密碼報(bào)文鑒別碼散列函數(shù)報(bào)文鑒別本講主要內(nèi)容基于報(bào)文加密方式的函數(shù)37單向散列(hash)函數(shù)

單向散列函數(shù)實(shí)際上是消息鑒別碼MAC的一種變形。與MAC類似,一個(gè)散列函數(shù)H()以一個(gè)變長消息報(bào)文M作為其輸入,產(chǎn)生一個(gè)固定長度的H(M)——散列碼。與MAC不同,計(jì)算散列碼并不使用密鑰。散列碼H(M)有時(shí)也稱為消息(報(bào)文)摘要。單向散列(hash)函數(shù)單向散列函數(shù)實(shí)際上是消息鑒別碼MA38散列碼與消息的關(guān)系散列碼是報(bào)文中所有比特的函數(shù)值,并具有差錯(cuò)檢測能力。即:報(bào)文中任意內(nèi)容的變化將導(dǎo)致散列碼的改變。散列碼與消息的關(guān)系散列碼是報(bào)文中所有比特的函數(shù)值,并具有差錯(cuò)39散列碼的基本用途散列碼的基本用途40散列函數(shù)的基本用途-1加密消息及hash碼提供保密性鑒別,H(M)受密碼保護(hù)散列函數(shù)的基本用途-1加密消息及hash碼41散列函數(shù)的基本用途-2加密hash碼——共享的密鑰提供鑒別,H(M)受密碼保護(hù)散列函數(shù)的基本用途-2加密hash碼——共享的密鑰42散列函數(shù)的基本用途-3加密hash碼——發(fā)送方私鑰提供鑒別,H(M)受密碼保護(hù),數(shù)字簽名,只有A能產(chǎn)生EKRA[H(M)]散列函數(shù)的基本用途-3加密hash碼——發(fā)送方私鑰43散列函數(shù)的基本用途-4加密用途3的結(jié)果——共享的密鑰提供鑒別數(shù)字簽名提供保密性,只有A和B共享密鑰K散列函數(shù)的基本用途-4加密用途3的結(jié)果——共享的密鑰44散列函數(shù)的基本用途-5計(jì)算消息和秘密值的hash碼提供鑒別,只有A和B共享S散列函數(shù)的基本用途-5計(jì)算消息和秘密值的hash碼45散列函數(shù)的基本用途-6加密用途5的結(jié)果提供認(rèn)證,只有A和B共享S;保密性,只有A和B共享K散列函數(shù)的基本用途-6加密用途5的結(jié)果46散列函數(shù)的安全性分析散列函數(shù)的性質(zhì)安全性分析散列函數(shù)的安全性分析散列函數(shù)的性質(zhì)47散列函數(shù)的性質(zhì)

散列函數(shù)可以用以生成文件、消息、報(bào)文或其它數(shù)據(jù)的特征“指紋”。若要將散列算法用于報(bào)文鑒別,必須具有如下性質(zhì):散列函數(shù)的性質(zhì)散列函數(shù)可以用以生成文件、消息、報(bào)文或其它數(shù)48散列函數(shù)的性質(zhì)

基本性質(zhì),即任何散列函數(shù)都必須滿足的:散列函數(shù)H()的輸入可以是任意大小的數(shù)據(jù)塊;散列函數(shù)H()的輸出是定長的;對任何給定的輸入M,H(M)函數(shù)的計(jì)算需要相對簡單,用硬件和軟件均可實(shí)現(xiàn)。散列函數(shù)的性質(zhì)基本性質(zhì),即任何散列函數(shù)都必須滿足的:49散列函數(shù)的性質(zhì)

其他性質(zhì):單向性:對任意散列碼值h,要尋找一個(gè)M,使H(M)=h在計(jì)算上是不可行的。弱抗沖突(碰撞)性:對任何給定的報(bào)文M,要尋找不等于M的報(bào)文M1使H(M1)=H(M),在計(jì)算上是不可行的。強(qiáng)抗沖突(碰撞)性:要找到兩個(gè)報(bào)文M和N使H(M)=H(N),在計(jì)算上是不可行的。散列函數(shù)的性質(zhì)其他性質(zhì):50散列函數(shù)安全性散列碼抗擊強(qiáng)行攻擊的強(qiáng)度僅依賴于算法產(chǎn)生的散列碼的長度。對于一個(gè)長度為m的散列碼,有效的數(shù)量級分別為:針對單向性:2m;針對弱抗沖突性:2m;針對強(qiáng)抗沖突性:2m/2。散列函數(shù)安全性散列碼抗擊強(qiáng)行攻擊的強(qiáng)度僅依賴于算法產(chǎn)生的散列51結(jié)論通常在設(shè)計(jì)安全散列函數(shù)時(shí)都希望使用強(qiáng)抗沖突算法。散列碼的長度是抗擊強(qiáng)行攻擊能力的主要因素。結(jié)論通常在設(shè)計(jì)安全散列函數(shù)時(shí)都希望使用強(qiáng)抗沖突算法。52散列碼的構(gòu)造散列碼的構(gòu)造53構(gòu)造散列函數(shù)時(shí)采用的一般性原則對輸入進(jìn)行劃分,即首先將報(bào)文數(shù)據(jù)劃分為若干n比特的定長分組B1,B2,…,Bm,必要時(shí)需對數(shù)據(jù)進(jìn)行填充,使其長度為n比特的整數(shù)倍。計(jì)算散列值時(shí),采用迭代方式每次處理一個(gè)數(shù)據(jù)分組Bi,最終產(chǎn)生一個(gè)n比特的散列值。構(gòu)造散列函數(shù)時(shí)采用的一般性原則對輸入進(jìn)行劃分,即首先將報(bào)文數(shù)54一類不太安全的散列函數(shù)散列函數(shù)的構(gòu)造方式可以使任意的,只要滿足散列函數(shù)的性質(zhì)即可。例如:方法一: C=H(M)=B1⊕B2⊕…⊕Bm方法二:

C0=0 Ci=ROR(Ci-1)⊕Bi但是,由于容易構(gòu)造另一消息M’,使C(M)=C(M’)因此這樣的散列函數(shù)缺乏足夠的安全性一類不太安全的散列函數(shù)散列函數(shù)的構(gòu)造方式可以使任意的,只要滿55一類用加密技術(shù)構(gòu)造的散列函數(shù)

將報(bào)文M劃分成固定長度的分組M1,M2,…,MN,采用類似DES加密的算法來計(jì)算散列碼C:H0為初始值Hi=EMi(Hi-1)C=HN(散列碼)這個(gè)算法不需要使用密鑰,但容易受到所謂的“生日攻擊”。一類用加密技術(shù)構(gòu)造的散列函數(shù)將報(bào)文M劃分成固定長度的分組M56生日攻擊

生日悖論:在人數(shù)為k的一個(gè)人群中,至少兩個(gè)人生日相同的概率是多少?結(jié)論:只要k=23,出現(xiàn)兩個(gè)人生日相同的概率就超過0.5;k=41時(shí),概率大于0.9。生日攻擊生日悖論:在人數(shù)為k的一個(gè)人群中,至少兩個(gè)人生日相57生日悖論推論推論:設(shè)整數(shù)隨機(jī)變量服從1到n間的均勻分布,集合Y是包含k個(gè)這類隨機(jī)變量的選集,當(dāng)k=1.18n1/2時(shí),出現(xiàn)一個(gè)重復(fù)元的概率>0.5。兩個(gè)集合X和Y中均有k個(gè)元素。當(dāng)k=0.83n1/2時(shí),XY交集非空的概率>0.5。生日悖論推論推論:設(shè)整數(shù)隨機(jī)變量服從1到n間的均勻分布,58生日攻擊舉例-1Alice準(zhǔn)備一份合同的兩種版本X和Y,X對Bob有利,而Y將使他破產(chǎn)。Alice對這兩種版本的每一份都做一些細(xì)微的改變(如利用空格、回車等),分別產(chǎn)生232份不同的文件,并計(jì)算所有文件的散列值。X1H(X1)X2H(X2)X3H(X3)Y1H(Y1)Y2H(Y2)Y3H(Y3)……232份232份生日攻擊舉例-1Alice準(zhǔn)備一份合同的兩種版本X和Y,X對59Alice比較兩種不同版本的文件的散列值集合,找到散列值相同的一組。根據(jù)生日悖論,成功的可能性大于0.5。Alice挑選出這一組,將其中的X傳給Bob。Bob在對他有利的那份合同版本簽名。在以后的某個(gè)時(shí)候,Alice用Bob未簽名的合同代替他簽過名的合同?,F(xiàn)在他能使公證人員確信Bob簽署過另一份合同。X1H(X1)X2H(X2)X3H(X3)Y1H(Y1)Y2H(Y2)Y3H(Y3)……232份232份Bob簽名Alice公證Alice比較兩種不同版本的文件的散列值集合,找到散列值相同60生日攻擊舉例-2將報(bào)文M劃分成定長分組M1,M2,…,MN,

采用類似CBC算法計(jì)算散列碼C:H0為初始值Hi=EMi(Hi-1)I=1,2,…,NC=HN(C就是最終散列碼)攻擊者截獲一個(gè)報(bào)文M及簽名C,他可以采用“中間符合”方式實(shí)現(xiàn)攻擊

生日攻擊舉例-2將報(bào)文M劃分成定長分組M1,M2,…,MN61利用上面的算法產(chǎn)生報(bào)文M的散列碼CM;任意生成一個(gè)偽造報(bào)文Q,報(bào)文形式為Q1,Q2,…,QN-2,報(bào)文Q比原報(bào)文M少兩個(gè)分組;對報(bào)文Q,計(jì)算HiQ=EQi(HQi-1),i=1,2,…,N-2,得到CQ=HQi-2生成2m/2個(gè)隨機(jī)分組,對每個(gè)分組X,計(jì)算EX(CQ);另外生成2m/2個(gè)隨機(jī)分組,對每個(gè)分組Y,計(jì)算DY(CM),其中D()是與E()對應(yīng)的解密函數(shù);根據(jù)生日悖論,有較高的概率找到X和Y,使EX(CQ)=DY(CM);在報(bào)文Q后面加上分組X和Y,構(gòu)成報(bào)文Q1,Q2,…,QN-2,X,Y;這個(gè)報(bào)文的散列碼等于CM,就可以與原報(bào)文的加密簽名一起發(fā)送,欺騙接受者。利用上面的算法產(chǎn)生報(bào)文M的散列碼CM;62安全散列算法的一般結(jié)構(gòu)這個(gè)結(jié)構(gòu)是一個(gè)迭代的散列函數(shù),大多數(shù)安全散列函數(shù)都采用了該結(jié)構(gòu)。將報(bào)文分為L個(gè)b比特的定長分組Y0,Y1,…,YL-1。其中最后一個(gè)分組需要填充至b位。最后一個(gè)分組包含了散列函數(shù)H()的輸入總長度。包含長度值增加了攻擊的難度。攻擊者需要找到等長且散列值相等的報(bào)文。其搜索難度大大增加了。一般情況下,b>n,因此函數(shù)f()具有位數(shù)壓縮的功能

安全散列算法的一般結(jié)構(gòu)這個(gè)結(jié)構(gòu)是一個(gè)迭代的散列函數(shù),大多數(shù)安63迭代結(jié)構(gòu)這種迭代結(jié)構(gòu)所依據(jù)的數(shù)學(xué)基礎(chǔ)是:如果該壓縮函數(shù)f()是抗沖突的,那么f()的迭代函數(shù)合成值也是抗沖突的。因此該結(jié)構(gòu)能夠用于安全散列函數(shù)的構(gòu)造。安全散列函數(shù)的設(shè)計(jì)問題變?yōu)榱丝箾_突的壓縮函數(shù)的設(shè)計(jì)問題。對散列函數(shù)進(jìn)行密碼分析攻擊的重點(diǎn)在于分析壓縮函數(shù)的內(nèi)部結(jié)構(gòu)。攻擊者需要通過嘗試來尋找f()產(chǎn)生沖突的高效辦法。同時(shí),攻擊者還必須考慮算法的初值IV。迭代結(jié)構(gòu)這種迭代結(jié)構(gòu)所依據(jù)的數(shù)學(xué)基礎(chǔ)是:64常用的散列算法

MD5消息摘要算法可以一個(gè)任意長數(shù)據(jù)塊作為輸入,輸入被劃分成512位的數(shù)據(jù)塊,輸出一個(gè)128位的消息,即散列碼摘要處理過程遵循安全散列算法的一般結(jié)構(gòu)

SHA-1安全的散列算法

按照512位的分組進(jìn)行處理輸出160比特的報(bào)文摘要總體過程與MD5結(jié)構(gòu)類似常用的散列算法MD5消息摘要算法65與消息鑒別和數(shù)字簽名有關(guān)的問題也許是網(wǎng)絡(luò)安全中最易引起混淆的領(lǐng)域,攻擊和抗攻擊對策的發(fā)展呈螺旋式。值得慶幸的是,不像那些古老的天文學(xué)家,今天的密碼協(xié)議的設(shè)計(jì)者是在完全合理的模型上來進(jìn)行研究的。與消息鑒別和數(shù)字簽名有關(guān)的問題也許是網(wǎng)絡(luò)安全中最易引起混淆的66第九講消息鑒別當(dāng)Bob從Alice那里接收消息時(shí),他怎么知道消息是可信的呢?第九講消息鑒別當(dāng)Bob從Alice那里接收消息時(shí),他怎么知67在應(yīng)用環(huán)境中,用戶通過網(wǎng)絡(luò)傳輸大量的報(bào)文(或稱消息),出于安全性考慮,必須對消息或報(bào)文的有效性和合法性進(jìn)行鑒別或認(rèn)證。因?yàn)榫W(wǎng)絡(luò)中的攻擊者很可能通過對正在傳輸?shù)南⒒驁?bào)文進(jìn)行攻擊(偽造、篡改、刪除等),來達(dá)到入侵系統(tǒng)的目的。

在應(yīng)用環(huán)境中,用戶通過網(wǎng)絡(luò)傳輸大量的報(bào)68復(fù)習(xí):網(wǎng)絡(luò)通信環(huán)境中可能的攻擊消息泄密和傳輸分析——被動(dòng)攻擊偽造、偽裝和篡改順序修改和及時(shí)修改行為抵賴主動(dòng)攻擊復(fù)習(xí):網(wǎng)絡(luò)通信環(huán)境中可能的攻擊消息泄密和傳輸分析——被動(dòng)攻擊69針對保密性的攻擊信息泄密和傳輸分析防止信息泄漏的最有效的措施是加強(qiáng)消息和報(bào)文的保密性,這可通過加密手段來實(shí)現(xiàn)。針對保密性的攻擊信息泄密和傳輸分析70偽造和篡改:偽裝、偽造消息、內(nèi)容篡改、順序篡改、計(jì)時(shí)篡改。防范信息偽造和篡改的一般方法是消息鑒別技術(shù)。針對完整性的攻擊偽造和篡改:偽裝、偽造消息、內(nèi)容篡改、順序篡改、計(jì)時(shí)篡改。針71針對抗否認(rèn)性的攻擊行為抵賴:發(fā)送端否認(rèn)、接收端否認(rèn)。數(shù)字簽名機(jī)制提供了一種抗否認(rèn)性,通常情況下,數(shù)字簽名技術(shù)也具有防止信息偽造和篡改的能力。針對抗否認(rèn)性的攻擊行為抵賴:發(fā)送端否認(rèn)、接收端否認(rèn)。72信息和網(wǎng)絡(luò)安全中另一個(gè)重要領(lǐng)域是消息鑒別以及相關(guān)的數(shù)字簽名技術(shù)。消息鑒別技術(shù)用于防范信息偽造和篡改。數(shù)字簽名機(jī)制提供了一種抗否認(rèn)性。消息(報(bào)文)鑒別提供了一種證實(shí)收到的報(bào)文來自可信的源點(diǎn)且未被篡改的過程,它也可證實(shí)序列編號和及時(shí)性。消息(報(bào)文)鑒別信息和網(wǎng)絡(luò)安全中另一個(gè)重要領(lǐng)域是消息鑒別以及相關(guān)的數(shù)字簽名技73消息鑒別系統(tǒng)消息鑒別系統(tǒng)需要提供某種報(bào)文鑒別函數(shù)f來產(chǎn)生一個(gè)鑒別符或鑒別代碼,用于實(shí)現(xiàn)報(bào)文鑒別。鑒別符是一個(gè)根據(jù)消息或報(bào)文計(jì)算出來的值,源端和目的端利用消息鑒別函數(shù)f來進(jìn)行報(bào)文鑒別。消息鑒別系統(tǒng)消息鑒別系統(tǒng)需要提供某種報(bào)文鑒別函數(shù)f來產(chǎn)生一74報(bào)文Mf()鑒別函數(shù)報(bào)文M鑒別符報(bào)文M’鑒別符f()比較鑒別結(jié)果傳輸路徑鑒別過程示意圖報(bào)文f()鑒別函數(shù)報(bào)文報(bào)文f()比較鑒別結(jié)果傳輸路徑75鑒別函數(shù)分類根據(jù)鑒別符的生成方式,鑒別函數(shù)可以分為以下幾類:基于報(bào)文加密方式的函數(shù):以整個(gè)報(bào)文的密文作為鑒別符;報(bào)文鑒別碼(MAC)方式;散列函數(shù)方式:采用一個(gè)公共散列函數(shù),將任意長度的報(bào)文映射為一個(gè)定長的散列值,并以散列值作為鑒別符。鑒別函數(shù)是決定鑒別系統(tǒng)特征的主要因素。鑒別函數(shù)分類根據(jù)鑒別符的生成方式,鑒別函數(shù)可以分為以下幾類:76本講主要內(nèi)容鑒別函數(shù)基于報(bào)文加密方式的函數(shù) 對稱密鑰密碼 公鑰密碼報(bào)文鑒別碼散列函數(shù)散列函數(shù)報(bào)文鑒別本講主要內(nèi)容鑒別函數(shù)77基于對稱密鑰加密方式的報(bào)文鑒別1、對稱密鑰加密方式提供的保密和報(bào)文鑒別功能

接收端B發(fā)送端A網(wǎng)絡(luò)報(bào)文M加密E()EK(M)密鑰K解密D()密鑰K報(bào)文M基于對稱密鑰加密方式的報(bào)文鑒別1、對稱密鑰加密方式提供的保密78由于消息M的內(nèi)容對于終點(diǎn)B來說是未知的,例如:二進(jìn)制形式的電話錄音B如何用自動(dòng)化的方法來判斷收到的密文的合法性?討論由于消息M的內(nèi)容對于終點(diǎn)B來說是未知的,例如:討論79強(qiáng)制明文具有某種結(jié)構(gòu),這種結(jié)構(gòu)易于識別,不能被復(fù)制,并且是不依賴于加密的。例如:可以在加密前對每個(gè)消息附加一個(gè)錯(cuò)誤檢測碼(校驗(yàn)和),如下圖所示。解決方法強(qiáng)制明文具有某種結(jié)構(gòu),這種結(jié)構(gòu)易于識別,不能被復(fù)制,并且是不80附加報(bào)文鑒別結(jié)構(gòu)注意:校驗(yàn)碼的生成和加密函數(shù)執(zhí)行的順序是至關(guān)重要的。校驗(yàn)碼必須被作為內(nèi)部的差錯(cuò)控制,在加密之前附加到明文上,才能提供鑒別功能。接收端B發(fā)送端AMF(M)網(wǎng)絡(luò)報(bào)文M加密E()EK[M|F(M)]密鑰KF()MF(M)比較解密D()密鑰KF()鑒別結(jié)果附加報(bào)文鑒別結(jié)構(gòu)注意:校驗(yàn)碼的生成和加密函數(shù)執(zhí)行的順序是至關(guān)81討論事實(shí)上,再要發(fā)送的消息中加入任何類型的結(jié)構(gòu)信息都會(huì)增強(qiáng)認(rèn)證能力。如TCP/IP的報(bào)頭信息。收發(fā)雙方共享密鑰,暗示通信之前必須生成會(huì)話密鑰并分配之,有沒有更好的解決辦法?一個(gè)很自然的想法是采用公鑰加密機(jī)制代替對稱密鑰加密機(jī)制。討論事實(shí)上,再要發(fā)送的消息中加入任何類型的結(jié)構(gòu)信息都會(huì)增強(qiáng)認(rèn)822、基于公鑰加密方式的報(bào)文鑒別在公開密鑰體系結(jié)構(gòu)中,直接使用非對稱密鑰加密方式只能提供保密,而不能提供鑒別功能。因?yàn)椋喝魏稳司梢允褂肂的公開密鑰來加密報(bào)文,而假稱報(bào)文是發(fā)自A的,終點(diǎn)B無法斷定消息的發(fā)送者。ABZEPKB(M)||IDA2、基于公鑰加密方式的報(bào)文鑒別在公開密鑰體系結(jié)構(gòu)中,直接使用83為了提供鑒別功能,源點(diǎn)A可以使用其私有密鑰KRa報(bào)文文進(jìn)行加密,而終點(diǎn)B使用A的公開密鑰KUa進(jìn)行解密。注意:上述方案不提供保密性。只要擁有A的公開密鑰,任何人都能對該密文進(jìn)行解密。復(fù)習(xí):用公鑰密碼實(shí)現(xiàn)鑒別為了提供鑒別功能,源點(diǎn)A可以使用其私有密鑰KRa報(bào)文文進(jìn)行加84復(fù)習(xí):保密性+簽名以下方法既提供保密性又提供鑒別功能:發(fā)端:收端:復(fù)習(xí):保密性+簽名以下方法既提供保密性又提供鑒別功能:85存在的問題但是,這種既提供保密性又提供數(shù)字簽名的方法,一次通信中要執(zhí)行四次復(fù)雜的公鑰算法。即使不提供保密性,也要用公鑰算法對整個(gè)消息進(jìn)行加密。存在的問題但是,這種既提供保密性又提供數(shù)字簽名的方法,一次通86本講主要內(nèi)容鑒別函數(shù)基于報(bào)文加密方式的函數(shù) 對稱密鑰密碼 公鑰密碼報(bào)文鑒別碼散列函數(shù)散列函數(shù)報(bào)文鑒別本講主要內(nèi)容鑒別函數(shù)87采用報(bào)文鑒別碼MAC的鑒別方式

報(bào)文鑒別碼(messageauthenticationcode,MAC),也叫“消息認(rèn)證碼”MAC=CK(M)函數(shù)CK()需要使用一個(gè)共享的密鑰K作為參數(shù),并以變長的報(bào)文內(nèi)容M作為輸入,其輸出MAC是一個(gè)定長的短分組。采用報(bào)文鑒別碼MAC的鑒別方式報(bào)文鑒別碼(message88使用消息鑒別碼發(fā)送端在發(fā)送消息報(bào)文時(shí),將計(jì)算出來的MAC附加在報(bào)文中傳輸。接收者通過重新計(jì)算MAC來對報(bào)文進(jìn)行合法性的鑒別。使用方式:基本的:消息為明文方式保密的:消息為密文方式使用消息鑒別碼發(fā)送端在發(fā)送消息報(bào)文時(shí),將計(jì)算出來的MAC附891、基本的MAC報(bào)文鑒別接收端B發(fā)送端AMMAC網(wǎng)絡(luò)報(bào)文M密鑰KC()MMAC比較密鑰KC()鑒別結(jié)果1、基本的MAC報(bào)文鑒別接收端B發(fā)送端A網(wǎng)絡(luò)報(bào)文密鑰KC(90計(jì)算MAC的密鑰K只有A和B共享。攻擊者若要更改報(bào)文必須同時(shí)更改MAC但由于攻擊者不知道密鑰K,故他不可能計(jì)算出一個(gè)與更改后的報(bào)文相對應(yīng)的MAC值。若接收者B計(jì)算出相同的MAC,便能確信:報(bào)文未被修改;報(bào)文M是來自發(fā)送者A的;如果報(bào)文含有序號,順序也是正確的。說明計(jì)算MAC的密鑰K只有A和B共享。說明91一種計(jì)算MAC

的方法基于DES的MAC算法是應(yīng)用最廣泛的。采用密碼分組連接(CBC)方式的迭代算法。被鑒別的報(bào)文數(shù)據(jù)被劃分為連續(xù)的64比特的分段:D1,D2,…,DN,必要時(shí)對DN填充。

以0為初始值。DES()KD1O0=0DES()KD2O1DES()KDNON-1ON…MAC一種計(jì)算MAC的方法基于DES的MAC算法是應(yīng)用最廣泛的。92算法說明算法的表示O0=0Oi=EK(Di

Oi-1)i=1,2,…,N,K為56位的密鑰MAC=ON=EK(DN

ON-1)數(shù)據(jù)鑒別代碼MAC:算法的最終輸出ON,或ON最左邊的M比特構(gòu)成(16≤M≤64)。注意:在這里,DES算法并沒有用于對數(shù)據(jù)保密,而是用于計(jì)算MAC。算法說明算法的表示932、保密的MAC消息鑒別

——MAC與明文有關(guān)接收端B發(fā)送端AMMAC網(wǎng)絡(luò)報(bào)文MK1C()MMAC比較K1C()鑒別結(jié)果K2EDK22、保密的MAC消息鑒別

——MAC與明文有關(guān)接收端B發(fā)送端943、保密的MAC消息鑒別

——MAC與密文有關(guān)接收端B發(fā)送端AMMAC網(wǎng)絡(luò)報(bào)文MK1C()MMAC比較K1C()K2EDK2報(bào)文M鑒別結(jié)果3、保密的MAC消息鑒別

——MAC與密文有關(guān)接收端B發(fā)送端95消息鑒別碼的安全性分析MAC函數(shù)的構(gòu)造特性對MAC進(jìn)行攻擊的重點(diǎn)安全的MAC函數(shù)的特性消息鑒別碼的安全性分析MAC函數(shù)的構(gòu)造特性96MAC的構(gòu)造特性MAC函數(shù)是一個(gè)多對一的函數(shù)。即報(bào)文空間>MAC空間例如:假定100位消息,10位MAC,5位密鑰定義域:2100種不同消息;值域:210種不同的MAC;平均而言,同一MAC可由2100/210=290條不同消息產(chǎn)生;同一消息可能得到25=32種不同的MAC值。而實(shí)際上,定義域是有任意長的消息組成。MAC的構(gòu)造特性MAC函數(shù)是一個(gè)多對一的函數(shù)。即97對MAC進(jìn)行攻擊的重點(diǎn)可以證明,由于MAC函數(shù)的構(gòu)造特性,與加密相比,MAC函數(shù)更不易被攻破。因此攻擊的重點(diǎn)不是獲取鑒別密鑰,而是利用MAC的構(gòu)造特性來發(fā)送一些欺騙性的報(bào)文,對接收端造成破壞。對MAC進(jìn)行攻擊的重點(diǎn)可以證明,由于MAC函數(shù)的構(gòu)造特性,與98安全的MAC函數(shù)的特性在設(shè)計(jì)MAC函數(shù)的時(shí)候,該使其滿足如下特性:假定攻擊者竊取到報(bào)文M即MAC,但他在偽造報(bào)文M’使CK(M’)=CK(M)在計(jì)算上是不可行的。CK(M)函數(shù)的值域空間應(yīng)該是均勻分布的。對報(bào)文M進(jìn)行某種已知變換后,其MAC值相等的概率很小。安全的MAC函數(shù)的特性在設(shè)計(jì)MAC函數(shù)的時(shí)候,該使其滿足如下99討論MAC函數(shù)與加密函數(shù)的區(qū)別在哪里?(見后頁)既然加密可以提供認(rèn)證,為什么還要使用MAC?將加密與認(rèn)證分離,有些場合只關(guān)心認(rèn)證,而不關(guān)心保密性。MAC能夠提供數(shù)字簽名?不能,因?yàn)槭瞻l(fā)雙方共享密鑰。能不能在沒有共享密鑰的情況下,也能進(jìn)行對消息的真實(shí)性進(jìn)行鑒別?可以,用散列函數(shù)討論MAC函數(shù)與加密函數(shù)的區(qū)別在哪里?(見后頁)100MAC函數(shù)與加密函數(shù)的比較相同點(diǎn)都需要一個(gè)共享密鑰不同點(diǎn)加密函數(shù)必須是可逆的;MAC函數(shù)可以是一個(gè)單向函數(shù)。從定義域到值域,加密是一一對應(yīng)函數(shù);而MAC是多對一函數(shù)。從攻擊來看,針對加密的是企圖恢復(fù)明文或密鑰;而針對MAC的是企圖找到一個(gè)“碰撞”。MAC函數(shù)與加密函數(shù)的比較相同點(diǎn)101本講主要內(nèi)容基于報(bào)文加密方式的函數(shù) 對稱密鑰密碼 公鑰密碼報(bào)文鑒別碼散列函數(shù)報(bào)文鑒別本講主要內(nèi)容基于報(bào)文加密方式的函數(shù)102單向散列(hash)函數(shù)

單向散列函數(shù)實(shí)際上是消息鑒別碼MAC的一種變形。與MAC類似,一個(gè)散列函數(shù)H()以一個(gè)變長消息報(bào)文M作為其輸入,產(chǎn)生一個(gè)固定長度的H(M)——散列碼。與MAC不同,計(jì)算散列碼并不使用密鑰。散列碼H(M)有時(shí)也稱為消息(報(bào)文)摘要。單向散列(hash)函數(shù)單向散列函數(shù)實(shí)際上是消息鑒別碼MA103散列碼與消息的關(guān)系散列碼是報(bào)文中所有比特的函數(shù)值,并具有差錯(cuò)檢測能力。即:報(bào)文中任意內(nèi)容的變化將導(dǎo)致散列碼的改變。散列碼與消息的關(guān)系散列碼是報(bào)文中所有比特的函數(shù)值,并具有差錯(cuò)104散列碼的基本用途散列碼的基本用途105散列函數(shù)的基本用途-1加密消息及hash碼提供保密性鑒別,H(M)受密碼保護(hù)散列函數(shù)的基本用途-1加密消息及hash碼106散列函數(shù)的基本用途-2加密hash碼——共享的密鑰提供鑒別,H(M)受密碼保護(hù)散列函數(shù)的基本用途-2加密hash碼——共享的密鑰107散列函數(shù)的基本用途-3加密hash碼——發(fā)送方私鑰提供鑒別,H(M)受密碼保護(hù),數(shù)字簽名,只有A能產(chǎn)生EKRA[H(M)]散列函數(shù)的基本用途-3加密hash碼——發(fā)送方私鑰108散列函數(shù)的基本用途-4加密用途3的結(jié)果——共享的密鑰提供鑒別數(shù)字簽名提供保密性,只有A和B共享密鑰K散列函數(shù)的基本用途-4加密用途3的結(jié)果——共享的密鑰109散列函數(shù)的基本用途-5計(jì)算消息和秘密值的hash碼提供鑒別,只有A和B共享S散列函數(shù)的基本用途-5計(jì)算消息和秘密值的hash碼110散列函數(shù)的基本用途-6加密用途5的結(jié)果提供認(rèn)證,只有A和B共享S;保密性,只有A和B共享K散列函數(shù)的基本用途-6加密用途5的結(jié)果111散列函數(shù)的安全性分析散列函數(shù)的性質(zhì)安全性分析散列函數(shù)的安全性分析散列函數(shù)的性質(zhì)112散列函數(shù)的性質(zhì)

散列函數(shù)可以用以生成文件、消息、報(bào)文或其它數(shù)據(jù)的特征“指紋”。若要將散列算法用于報(bào)文鑒別,必須具有如下性質(zhì):散列函數(shù)的性質(zhì)散列函數(shù)可以用以生成文件、消息、報(bào)文或其它數(shù)113散列函數(shù)的性質(zhì)

基本性質(zhì),即任何散列函數(shù)都必須滿足的:散列函數(shù)H()的輸入可以是任意大小的數(shù)據(jù)塊;散列函數(shù)H()的輸出是定長的;對任何給定的輸入M,H(M)函數(shù)的計(jì)算需要相對簡單,用硬件和軟件均可實(shí)現(xiàn)。散列函數(shù)的性質(zhì)基本性質(zhì),即任何散列函數(shù)都必須滿足的:114散列函數(shù)的性質(zhì)

其他性質(zhì):單向性:對任意散列碼值h,要尋找一個(gè)M,使H(M)=h在計(jì)算上是不可行的。弱抗沖突(碰撞)性:對任何給定的報(bào)文M,要尋找不等于M的報(bào)文M1使H(M1)=H(M),在計(jì)算上是不可行的。強(qiáng)抗沖突(碰撞)性:要找到兩個(gè)報(bào)文M和N使H(M)=H(N),在計(jì)算上是不可行的。散列函數(shù)的性質(zhì)其他性質(zhì):115散列函數(shù)安全性散列碼抗擊強(qiáng)行攻擊的強(qiáng)度僅依賴于算法產(chǎn)生的散列碼的長度。對于一個(gè)長度為m的散列碼,有效的數(shù)量級分別為:針對單向性:2m;針對弱抗沖突性:2m;針對強(qiáng)抗沖突性:2m/2。散列函數(shù)安全性散列碼抗擊強(qiáng)行攻擊的強(qiáng)度僅依賴于算法產(chǎn)生的散列116結(jié)論通常在設(shè)計(jì)安全散列函數(shù)時(shí)都希望使用強(qiáng)抗沖突算法。散列碼的長度是抗擊強(qiáng)行攻擊能力的主要因素。結(jié)論通常在設(shè)計(jì)安全散列函數(shù)時(shí)都希望使用強(qiáng)抗沖突算法。117散列碼的構(gòu)造散列碼的構(gòu)造118構(gòu)造散列函數(shù)時(shí)采用的一般性原則對輸入進(jìn)行劃分,即首先將報(bào)文數(shù)據(jù)劃分為若干n比特的定長分組B1,B2,…,Bm,必要時(shí)需對數(shù)據(jù)進(jìn)行填充,使其長度為n比特的整數(shù)倍。計(jì)算散列值時(shí),采用迭代方式每次處理一個(gè)數(shù)據(jù)分組Bi,最終產(chǎn)生一個(gè)n比特的散列值。構(gòu)造散列函數(shù)時(shí)采用的一般性原則對輸入進(jìn)行劃分,即首先將報(bào)文數(shù)119一類不太安全的散列函數(shù)散列函數(shù)的構(gòu)造方式可以使任意的,只要滿足散列函數(shù)的性質(zhì)即可。例如:方法一: C=H(M)=B1⊕B2⊕…⊕Bm方法二:

C0=0 Ci=ROR(Ci-1)⊕Bi但是,由于容易構(gòu)造另一消息M’,使C(M)=C(M’)因此這樣的散列函數(shù)缺乏足夠的安全性一類不太安全的散列函數(shù)散列函數(shù)的構(gòu)造方式可以使任意的,只要滿120一類用加密技術(shù)構(gòu)造的散列函數(shù)

將報(bào)文M劃分成固定長度的分組M1,M2,…,MN,采用類似DES加密的算法來計(jì)算散列碼C:H0為初始值Hi=EMi(Hi-1)C=HN(散列碼)這個(gè)算法不需要使用密鑰,但容易受到所謂的“生日攻擊”。一類用加密技術(shù)構(gòu)造的散列函數(shù)將報(bào)文M劃分成固定長度的分組M121生日攻擊

生日悖論:在人數(shù)為k的一個(gè)人群中,至少兩個(gè)人生日相同的概率是多少?結(jié)論:只要k=23,出現(xiàn)兩個(gè)人生日相同的概率就超過0.5;k=41時(shí),概率大于0.9。生日攻擊生日悖論:在人數(shù)為k的一個(gè)人群中,至少兩個(gè)人生日相122生日悖論推論推論:設(shè)整數(shù)隨機(jī)變量服從1到n間的均勻分布,集合Y是包含k個(gè)這類隨機(jī)變量的選集,當(dāng)k=1.18n1/2時(shí),出現(xiàn)一個(gè)重復(fù)元的概率>0.5。兩個(gè)集合X和Y中均有k個(gè)元素。當(dāng)k=0.83n1/2時(shí),XY

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論