版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
哈希函數——消息認證認證(authentication)是防止網絡系統遭受主動攻擊的重要技術認證的主要目的有兩個第一,驗證消息的發(fā)送者是真的,而不是冒充的,稱為實體認證,包括信源、信宿等的認證和識別。第二,驗證信息的完整性,即驗證數據在傳送或存儲過程中未被篡改、重放或延遲,稱為消息認證。11消息認證碼帶密鑰的Hash函數稱為消息認證碼(MAC:messageauthenticationcode).消息認證碼是實現消息認證的重要工具.MAC有兩個不同的輸入,一個是消息x,另一個是密鑰K.MAC產生定長的輸出.實例:某一個大公司A想給它的客戶發(fā)布一個新產品的廣告,A希望不對廣告內容加密,但又希望其它公司不能修改廣告內容或冒充公司A發(fā)布同樣的廣告,或者當廣告內容被修改后能夠發(fā)現.如果使用不帶密鑰的Hash函數,由于其它公司可能在修改廣告內容后產生新的散列值,從而使A無法確認原廣告是否被修改.
設計MAC算法的要求在不知道密鑰的情況下,難以找到兩個不同的消息具有相同的輸出。21消息認證碼基于分組密碼CBC工作模式構造MAC基于分組密碼CBC工作模式構造MAC算法已經成為ISO/IEC9797標準,它使用密文鏈接和雙密鑰三重加密技術。設EK表示以K為密鑰的加密算法,設K’是一個與K不同的密鑰,消息分組長度為n。首先把消息x分成L個n位塊x=x1x2…xL,計算:hK是一個n位MAC.記為CBC-MAC.31消息認證碼基于Hash函數構造MAC設h是一個(不帶密鑰)Hash函數,K是密鑰,x是消息,則定義消息認證碼hK如下:基于MD5算法直接構造消息認證碼MD5-MACMD5-MAC算法使用96字節(jié)的常數其中下標加法運算是模3相加.如果密鑰K的長度小于128位,則通過多次自行鏈接,最后截取左邊128位作為以下算法中使用的密鑰K。41消息認證碼將密鑰K擴展成3個16字節(jié)的子密鑰K0,K1,K2,其中把K0,K1分成4個32位的子串Kj[i](j=0,1,i=0,1,2,3)對MD5進行修改:用K0代替MD5的4個32位寄存器ABCD.把K1[i]與MD5第i+1遍中每個常數232sin(j)進行模232加法.將512位的分組鏈接到消息x右邊,再按MD5的要求進行填充.
將上一步的結果輸入到修改后的MD5中,取其輸出的前一半(64位)作為消息x的消息認證碼MD5-MAC(x).MD5-MAC軟件實現比較容易,其運算速度與MD5大體相近.52HMAC算法
消息認證碼HMAC(keyed-hashingformessageauthenticationcode)是Bellare等人于1996年提出,1997年作為RFC2104發(fā)表,成為事實上的Internet標準,包括IPSec協議在內的一些安全協議都使用了HMAC算法。HMAC算法利用已有的Hash函數,關鍵問題是如何使用密鑰。使用不同的Hash函數,就可以得到不同的HMAC。選用MD5時的HMAC記為HMAC-MD5,選用SHA-1時的HMAC記為HMAC-SHA1。62HMAC算法
HMAC算法描述設HMAC使用的Hash函數為h,每次處理的輸入分組長度為b比特(使用MD5與SHA-1時,b=512),最后的輸出長度為l比特(使用MD5時,l=128;使用SHA-1時,l=160)。如果HMAC的輸入消息為x,則x=x1x2…xL,其中每一個分組xi(1≤i≤L)的長度為b比特。令HMAC使用的密鑰為K,密鑰K可以是任意的、長度不超過b比特的比特串(HMAC算法推薦密鑰最小長度為l比特)。當密鑰K的長度超過b比特時,使用Hash函數h對K進行壓縮,把K作為h的輸入,并將輸出的l比特作為密鑰K。72HMAC算法
HMAC算法的流程圖
x2
x1
Si
xL…KipadSo
h(Si||x)KopadHMAC(x)Hash函數hHash函數h82HMAC算法
HMAC算法具體執(zhí)行步驟(1)如果密鑰K的長度小于b比特,則在其右邊填充一些“0”,使其成為長度為b比特的比特串,仍記為K。(2)計算Si=Kipad,其中ipad是HMAC算法中規(guī)定的一個長度為b比特的比特模式串,它等于將00110110重復b/8次后得到的比特串。(3)把HMAC的輸入消息x=x1x2…xL附加在Si的右端,得到Si||x=Si||x1x2…xL,將該比特串作為Hash函數h的輸入,得到l比特的輸出h(Si||x)。(4)計算So=Kopad,其中opad是HMAC算法中規(guī)定的另一個長度為b比特的比特模式串,它等于將01011010重復b/8次后得到的比特串。(5)將第(3)步得到的h(Si||x)附加在So的右端,并以該比特串作為Hash函數h的輸入,得到l比特的輸出。(6)將第(5)步的輸出作為HMAC算法的最終輸出結果,即消息x的消息認證碼HMAC(x)。92HMAC算法
HMAC的安全性建立在嵌入Hash函數基礎上的所有MAC,其安全性在某種程度上都依賴于該Hash函數的強度。對于HMAC,可以給出HMAC的強度與所嵌入Hash函數強度之間的關系。根據偽造者在給定時間內偽造成功和用相同密鑰產生給定數量的消息-MAC對的概率,可以用于描述MAC的安全性。Bellare等人(1996年)已經證明,如果攻擊者已知若干(時間、消息-MAC)對,則成功攻擊HMAC的概率等價于對所嵌入Hash函數的下列攻擊之一:(1)即使對于攻擊者而言,IV是隨機的、秘密的和未知的,攻擊者也能計算壓縮函數的輸出。(2)即使IV是隨機的和秘密的,攻擊者也能找到Hash函數的碰撞。在目前的計算水平下,使用MD5和SHA-1等作為HMAC算法所嵌入的Hash函數,HMAC的安全性是可以保證的。103應用數據完整性數據完整性是指數據在生成、傳送或存儲過程中沒有被非法篡改.使用Hash函數可以保證數據的完整性使用MAC
設用戶A將消息x發(fā)送給接收者B,A與B共享秘密的MAC密鑰K,hK是MAC。用戶A計算x的MAChK(x),將數據C=x||hK(x)發(fā)送給B。B通過其它方法確定用戶A的身份,分開接收到的數據x’,使用共享密鑰K計算hK(x’),并與接收到的hK(x)相比較。如果hK(x’)=hK(x),則B確定消息x’是來自于具有密鑰K的用戶A,在傳輸過程中未被篡改。C發(fā)送方A接收方B比較x1xx1hK||xhK113應用
使用Hash函數和加密
設A與B共享分組密碼的密鑰K,EK是加密算法,h是公開的Hash函數.用戶A計算C=EK(x||h(x)),并將數據C發(fā)送給B.B利用密鑰K進行解密,得到x’和h(x),然后計算h(x’),并與接收到的h(x)相比較.如果h(x’)=h(x),則B確定消息x’是真實的.由于這里對h(x)進行了加密,所以對Hash函數h的要求可以適當降低.C發(fā)送方A接收方B比較x1xx1hEK||DKxh123應用
加密使用MAC和加密
設A與B共享分組密碼的密鑰K和MAC的密鑰K’,EK是加密算法,hK’是MAC。用戶A計算C=EK(x||hK’(x)),并將數據C發(fā)送給B.B利用密鑰K進行解密,得到x’和hK’(x),然后計算hK’(x’),并與接收到的hK’(x)相比較.如果hK’(x’)=hK’(x),則B確定消息x’是真實的.該技術的優(yōu)點是即使加密算法被攻破,MAC仍然能提供完整性保護作用.其缺點是需要管理K和K’兩個密鑰.C發(fā)送方A接收方B比較x1xx1hK’EK||DKxhK’133應用
實現數據源認證數據源認證也稱為消息認證,它是要求證實一個實體在過去某個時刻建立的數據源.數據源認證也包括數據完整性.提供數據源認證的方法有:(1)使用消息認證碼MAC;(2)對附加上散列值的消息進行加密.設用戶A將消息x發(fā)送給接收者B,A與B共享密鑰K,則用戶A向B發(fā)送以下數據可實現數據源的認證.(1)EK(x||h(x)):提供保密(僅雙方共享K)和認證(加密保護散列值);(2)x||EK(h(x)):提供認證(加密保護散列值);(3)x||h(x||S):提供認證(僅雙方共享隨機數S);(4)EK(x||h(x||S)):提供保密和認證(僅雙方共享K、S)。143應用
由于加密軟件慢、硬件費用高、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年04月上海中國建設銀行托管運營中心上海分中心春季校園招考筆試筆試歷年參考題庫附帶答案詳解
- 2024年04月上海020年中國農業(yè)發(fā)展銀行上海分行校園招考擬招錄人員筆試歷年參考題庫附帶答案詳解
- 2024年度物業(yè)人力資源管理制度合同范本3篇
- 2025版防火涂料安全檢測與認證服務合同范本大全3篇
- 2025版駕校新能源車輛購置與充電樁安裝合同3篇
- 2024年版綜合勞動就業(yè)協議模板匯編一
- 2025年度辦公樓裝修工程智能安防系統建設合同3篇
- 2024年中國折疊倉儲籠市場調查研究報告
- 2024年試用員工勞動合同:金融行業(yè)專業(yè)人才引進3篇
- 2024年電力工程分包商招標文件3篇
- 國企三項制度改革文件-8、任期制契約化年度業(yè)績目標責任書(總經理)
- 2022年公務員事業(yè)編面試題型及答題技巧
- 廣東佛山生育保險待遇申請表
- 中國農牧家禽行業(yè)智慧養(yǎng)殖白皮書
- 合唱指揮基本知識PPT課件:合唱指揮條件姿勢表情基本知識培訓
- 人教版一年級數學上冊期末無紙筆考試試卷(A卷)【含答案】
- 2020屆高考物理計算題復習《霍爾效應》(解析版)
- 2,3-二甲苯酚的理化性質及危險特性表
- 申報職稱:副教授演示課件
- 型濾池計算說明書
- ICP-MS作用及功能的使用課件
評論
0/150
提交評論