網絡信息安全技術課件 第3章 信息認證_第1頁
網絡信息安全技術課件 第3章 信息認證_第2頁
網絡信息安全技術課件 第3章 信息認證_第3頁
網絡信息安全技術課件 第3章 信息認證_第4頁
網絡信息安全技術課件 第3章 信息認證_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章信息認證信息認證概述信息加密函數信息認證碼MAC散列函數HashFunction經典Hash算法3.1信息認證概述3.1信息認證概述信息認證也稱為信息鑒別(messageauthentication),就是驗證信息的完整性,當接收方收到發(fā)送方的報文時,接收方能夠驗證收到的報文是真實的和未被篡改的。

它包含兩層含義:一是驗證信息的發(fā)送者是真正的而不是冒充的,即數據起源認證;二是驗證信息在傳送過程中未被篡改、重放或延遲等。3.1信息認證概述3.1信息認證概述認證的函數分為三類:信息加密函數(Messageencryption)信息認證碼MAC(MessageAuthenticationCode):是對信源信息的一個編碼函數。散列函數(HashFunction):是一個公開的函數,它將任意長的信息映射成一個固定長度的信息。3.2信息加密函數1.使用對稱加密

實現信息認證

在認證的過程中,如何自動確定是否收到的明文可解密為可懂的明文?一種解決辦法是強制明文有某種結構,即要求明文具有某些易于識別的結構,并且不通過加密函數是不能重復這種結構的。例如可以在加密以前對信息附加檢錯碼。1.使用對稱加密

實現信息認證

采用內部錯誤控制來實現信息確認認證,根據明文M和公開的函數F產生FCS(即錯誤檢測碼或幀校驗序列)。把M和FCS合在一起加密,并傳輸。接收端把密文解密,得到M。根據得到的M,按照F計算FCS,并與接收到的FCS比較是否相等。相等則信息正確,不相等則信息在傳送過程中被篡改。1.使用對稱加密

實現信息認證

采用外部錯誤控制來實現信息確認認證,先將明文做加密處理,然后根據加密后的密文和公開的函數F產生FCS。把密文和FCS合在一起傳輸。接收端把密文計算FCS,并與接收到的FCS比較是否相等。如果相等,則信息沒有被篡改,將密文解密得到M。2.公鑰密碼體制

加密認證

該加密機制使用信息接收者的公鑰加密信息,接收者使用自己的私鑰解密信息。信息在傳輸的過程中,保證了信息的機密性。但是沒有實現信息的認證。2.公鑰密碼體制

加密認證

該加密機制使用發(fā)送者的私鑰實現對信息的加密,接收者使用發(fā)送者的公鑰對信息進行解密,可以認證信息在傳輸過程中沒有被更改,但信息需要有某種特定的結構和加入冗余的驗證碼。但是該機制中,任何一方都可以使用發(fā)送者的公鑰進行解密和驗證,沒有實現信息的保密性。2.公鑰密碼體制

加密認證

該加密機制實現了對信息的認證和信息傳輸的保密性。但是在一次通信過程中執(zhí)行了四次復雜的公鑰算法,大大降低了處理信息的效率,一般不建議采用。3.加密和認證的分離對稱密碼體制的加密能夠提供認證,為什么還要使用獨立的信息認證碼呢?保密性與真實性是兩個不同的概念。根本上,信息加密提供的是保密性而非真實性。加密代價大(公鑰算法代價更大)。認證函數與保密函數的分離能提供功能上的靈活性某些信息只需要真實性,不需要保密性,如:廣播的信息難以使用加密(信息量大);網絡管理信息等只需要真實性;政府/權威部門的公告,只需要保證真實性,而不需要機密性。3.3信息認證碼MAC3.3信息認證碼MAC信息認證碼(MAC)或稱密碼檢驗和,是在一個密鑰的控制下,將任意長的信息映射到一個簡短的定長數據分組,并將它附加在信息后。MAC函數與加密函數類似,都需要明文、密鑰和算法的參與。但MAC算法不要求可逆性,而加密算法必須是可逆的。1.信息認證碼

的基本用法

用戶A和用戶B共享密鑰K,A計算MAC=Ck(M),將M和MAC一起發(fā)送到B,B對收到的M,計算MAC,比較兩個MAC是否相同。如果兩個MAC相等,則:接收方可以相信信息未被修改,因為如果攻擊者改變了信息,由于不知道k,無法生成正確的MAC;接收方可以相信信息的確來自確定的發(fā)送方。因為其他人不能生成和原始信息相應的MAC。1.信息認證碼

的基本用法(a)與明文有關的認證(b)與密文有關的認證2.基于DES的MAC數據認證碼(DAC)的生成過程如圖所示,其中認證碼的長度M可由通信雙方約定。美國聯邦電信建議采用24bit[見FTSC-1026],而美國金融系統采用32bit[ABA,1986]。3.4散列函數

HashFunction3.4散列函數

散列(hash)函數又稱為哈希函數或者雜湊函數,是對輸入為任意長度的信息M產生一個固定長度的散列值,可以表達為C=H(M)。其中,M的長度不定,C的長度一般為固定長度的值(128或者160),稱為信息摘要(MessageDigest)、散列值、哈希值或者散列碼。Hash算法通常是公開的。接收方通過重新計算散列值來保證信息未被竄改。由于函數本身公開,傳送過程中對散列值需要另外的加密保護。3.4散列函數Hash函數的基本使用用法(1)對稱密碼體制下的認證和加密3.4散列函數(2)對稱密碼體制下的認證(3)公鑰體制下對信息的認證3.4散列函數(4)混合密鑰體制下的認證和加密3.4散列函數(5)帶初始變量的hash函數基本認證3.4散列函數(6)結合對稱加密和初始變量的hash值認證3.4散列函數3.5經典Hash算法1.MD5信息摘要算法MD5信息摘要算法(英語:MD5Message-DigestAlgorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16字節(jié))的散列值(hashvalue),用于確保信息傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(RonaldLinnRivest)設計,于1992年公開,用以取代MD4算法。1.MD5信息摘要算法1.MD5信息摘要算法Step1:信息填充擴展數據至LEN=K*64+56個字節(jié),K為整數,即信息的長度比512的整數倍少64位。若:信息長度為448位,則需填充512位使其長度為960.填充方法:補一個1,然后補0。相當于補一個0x80的字節(jié),再補值為0的字節(jié)。這一步里總共補充的字節(jié)數為0~63個。1.MD5信息摘要算法Step2:附加數據長度用一個64位的整數表示數據的原始長度(以bit為單位),將這個數字的8個字節(jié)按低位在前,高位在后的順序附加在補位后的數據后面。這時,數據被填補后的總長度為:LEN=K*64+56+8=(K+1)*64Bytes。注意:這個64位整數是輸入數據的原始長度而不是填充字節(jié)后的長度。1.MD5信息摘要算法Step3:緩沖區(qū)初始化hash函數的中間結果和最終結果保存于128位的緩沖區(qū)中,緩沖區(qū)用32位的寄存器表示??捎?個32bits字表示:A,B,C,D。初始存數以十六進制表示為A=01234567B=89ABCDEFC=FEDCBA98D=76543210注意:低位的字節(jié)在前面指的是平臺上內存中字節(jié)的排列方式。1.MD5信息摘要算法Step4:HMD5運算以分組為單位對信息進行處理每一分組Yq(q=0,…,L-1)都經一壓縮函數HMD5處理。HMD5是算法的核心,其中又有4輪處理過程。HMD5的4輪處理過程結構一樣,但所用的邏輯函數不同,分別表示為F、G、H、I。每輪的輸入為當前處理的信息分組Yq和緩沖區(qū)的當前值A、B、C、D,輸出仍放在緩沖區(qū)中以產生新的A、B、C、D。1.MD5信息摘要算法MD5的4輪迭代運算1.MD5信息摘要算法每輪又要進行16步迭代運算,4輪共需64步完成。第四輪的輸出與第一輪的輸入相加得到最后的輸出。1.MD5信息摘要算法Step5:輸出結果A,B,C,D連續(xù)存放,共16個字節(jié),128位。按十六進制依次輸出這個16個字節(jié)。1.MD5信息摘要算法MD-5的安全性MD-5的輸出為128-bit,若采用純強力攻擊尋找一個信息具有給定Hash值的計算困難性為2128,用每秒可試驗1000000000個信息的計算機需時1.07×1022年。采用生日攻擊法,找出具有相同hash值的兩個信息需執(zhí)行264次運算。如果兩個輸入串的hash函數的值一樣,則稱這兩個串是一個碰撞(Collision)。既然是把任意長度的字符串變成固定長度的字符串,所以,必有一個輸出串對應無窮多個輸入串,碰撞是必然存在的。2004年8月17日,美國加州圣巴巴拉正在召開國際密碼學會議,山東大學王小云教授公布了快速尋求MD5算法碰撞的算法。2.SHA-1算法SHA(SecurityHashAlgorithm)是美國的NIST和NSA設計的一種標準的Hash算法,最初的版本于1993年發(fā)表,稱為SHA-0,因為很快就被發(fā)現存在安全隱患,于是在1995年就發(fā)布第二個版本SHA-1。2002年,NIST分別發(fā)布了SHA-256、SHA-384、SHA-512,這些算法統稱SHA-2。2008年又新增了SHA-224。目前SHA-2各版本已成為主流。這里以SHA1為例來進行SHA算法的講解,其他系列原理類似。2.SHA-1算法SHA-1(英語:SecureHashAlgorithm1,中文名:安全散列算法1)是一種密碼散列函數,美國國家安全局設計,并由美國國家標準技術研究所(NIST)發(fā)布為聯邦數據處理標準(FIPS)。SHA-1可以生成一個被稱為信息摘要的160位(20字節(jié))散列值,散列值通常的呈現形式為40個十六進制數。2.SHA-1算法2.SHA-1算法(1)信息填充:與MD5完全相同(2)緩沖區(qū)初始化A=67452301B=EFCDAB89C=98BADCFBD=10325476E=C3D2E1F02.SHA-1算法(3)分組處理2.SHA-1算法(4)SHA-1壓縮函數(單步)A,B,C,D,E←(E+ft(B,C,D)+CLS5(A)+Wt+Kt),A,CLS30(B),C,D其中,A,B,C,D,E=緩沖區(qū)的5個字;t=步數,0<=t<=79;ft(B,C,D)=步t的基本邏輯函數;CLSK=循環(huán)左移k位給定的32位字;Wt=一個從當前512數據塊導出的32位字;Kt=一個用于加法的常量,四個不同的值,如后所述;+=加模232。2.SHA-1算法SHA-1壓縮函數思考和啟示MD5和SHA-1算法由我國王小云教授帶領的研究小組在2004年和2005年相繼破解,為什么現在還在使用M

溫馨提示

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

評論

0/150

提交評論