網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件_第1頁
網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件_第2頁
網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件_第3頁
網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件_第4頁
網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件_第5頁
已閱讀5頁,還剩131頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章認證與數(shù)字簽名(下)信息安全系jlsxm@第3章認證與數(shù)字簽名(下)信息安全系主要內(nèi)容認證基本概念

身份認證消息認證數(shù)字簽名主要內(nèi)容認證基本概念沒有消息認證的通信系統(tǒng)是極為危險的

沒有消息認證的通信系統(tǒng)是極為危險的需求泄密:將消息透露給沒有合法秘密鑰的任何人或程序。傳輸分析:分析通信雙方的通信模式,如連接頻率,時間等偽裝:攻擊者產(chǎn)生一條消息并聲稱來自某合法實體內(nèi)容修改:對消息進行插入、刪除、轉(zhuǎn)化、修改順序修改:對消息順序進行插入、刪除、重新排序計時修改:對消息的延時和重放發(fā)送方否認接受方否認對付1、2可用加密;對付3、4、5、6可用消息認證;對付7、8可用數(shù)字簽名需求泄密:將消息透露給沒有合法秘密鑰的任何人或程序。消息認證(MessageAuthentication)

消息認證用于抗擊主動攻擊驗證接收消息的真實性和完整性真實性的確是由所聲稱的實體發(fā)過來的完整性未被篡改、插入和刪除驗證消息的順序性和時間性(未重排、重放和延遲)消息認證(MessageAuthentication)消消息認證的基本概念認證符:一個用來認證消息的值。由消息的發(fā)送方產(chǎn)生認證符,并傳遞給接收方。認證函數(shù):產(chǎn)生認證符的函數(shù),認證函數(shù)實際上代表了一種產(chǎn)生認證符的方法。消息加密函數(shù)消息認證碼Hash函數(shù)消息認證的基本概念認證符:一個用來認證消息的值。由消息的發(fā)送消息加密函數(shù)對消息的自身加密所得到的密文,可以作為一個認證的度量。消息認證符:用完整信息的密文作為對信息鑒別的認證符。既可以使用對稱加密模式,也可以使用公鑰加密模式作為消息加密函數(shù),兩者有所不同。消息加密函數(shù)對消息的自身加密所得到的密文,可以作為一個認證的消息加密函數(shù)---在對稱加密體制下在對稱加密體制下,發(fā)送者A和接收者B雙方共同擁有密鑰,A把加密過的信息傳送給B,如上圖所示。由于攻擊者不知道密鑰K,他也就不知道如何改變密文中的信息位才能在明文中產(chǎn)生預期的改變。因此,接收方B只要能順利解出明文,就知道信息在中途沒有被人更改過。可以根據(jù)解密后的明文是否具有合理的語法結(jié)構(gòu)來進行消息認證。MEKEK(M)DKM消息加密函數(shù)---在對稱加密體制下在對稱加密體制下,發(fā)送者A消息加密函數(shù)---在對稱加密體制下問題:但有時發(fā)送的明文本身并沒有明顯的語法結(jié)構(gòu)或特征,例如二進制文件,因此很難確定解密后的消息就是明文本身。為了解決這個問題,要求明文具有某種易于識別的結(jié)構(gòu),并且不通過加密函數(shù)是無法重復這個結(jié)構(gòu)的。最簡單的辦法是在加密前對消息附加一個錯誤檢測碼FCS,或稱幀校驗序列、校驗和。MEKEK(M)DKM消息加密函數(shù)---在對稱加密體制下問題:但有時發(fā)送的明文本身①根據(jù)明文M和公開的函數(shù)F產(chǎn)生FCS。②把M和FCS合在一起加密,并傳輸。③接收端把密文解密,得到M。④根據(jù)得到的M,按照F計算FCS,并與接收到的FCS比較是否相等。注:如果攻擊者修改了密文,則接收者計算出來的FCS與其收到的FCS將無法匹配。MFFMFCS比較EKDKMFCS內(nèi)部錯誤控制①根據(jù)明文M和公開的函數(shù)F產(chǎn)生FCS。MFFMFCS比較EK這里,加密函數(shù)和F函數(shù)的執(zhí)行順序非常重要。由于函數(shù)F是公開的,若先加密再計算FCS,則攻擊者可以構(gòu)造具有正確錯誤控制碼的消息,雖然攻擊者不知道解密后的明文,但可以造成混淆并破壞通信。MFFCSEKDKM外部錯誤控制F比較這里,加密函數(shù)和F函數(shù)的執(zhí)行順序非常重要。MFFCSEKDK消息加密---在公鑰加密體制下發(fā)送方A用接收方B的公鑰對消息加密,然后傳輸給B。B用自己的私鑰解密。MEKUbEKUb(M)DKRbMAB消息加密---在公鑰加密體制下發(fā)送方A用接收方B的公鑰對消息消息加密---在公鑰加密體制下由于大家都知道B的公鑰,任何人都可以向B發(fā)送消息,所以B無法確認消息的來源和內(nèi)容的真實性。因此,這種方式不提供認證,只提供加密。MEKUbEKUb(M)DKRbMI.普通加密AB消息加密---在公鑰加密體制下由于大家都知道B的公鑰,任何人消息加密---在公鑰加密體制下發(fā)送方A用自己的私鑰進行加密,然后傳輸給接收方B。B用A的公鑰解密。如果B能夠用A的公鑰解密,則說明該消息的確是由A發(fā)送的,且消息內(nèi)容沒有被篡改。MEKRaEKRa(M)DKUaMAB消息加密---在公鑰加密體制下發(fā)送方A用自己的私鑰進行加密,消息加密---在公鑰加密體制下由于只有A有用于產(chǎn)生EKRa(M)的密鑰,所以此方法提供認證。由于大家都有KUa

,所以此方法不提供加密。MEKRaEKRa(M)DKUaMII.認證和簽名AB消息加密---在公鑰加密體制下由于只有A有用于產(chǎn)生EKRa消息加密---在公鑰加密體制下提供認證和加密。一次通信中要執(zhí)行四次復雜的公鑰算法,計算代價非常高。所以,第二、三兩種方法一般在認證時極少應用。MEKRaEKRa(M)DKUaMIII.加密認證和簽名ABEKUbEKUb(EKRa(M))DKRbEKRa(M)消息加密---在公鑰加密體制下提供認證和加密。MEKRaEK消息認證碼(MAC)MessageAuthenticaionCode,也稱為報文鑒別碼或是消息鑒別碼。消息認證碼是消息和密鑰的公開函數(shù),它產(chǎn)生定長的值,以該值作為認證符。這種機制的核心是一個類似于加密的算法CK。該算法需要使用一個密鑰,并以需要認證的消息作為輸入,算法的輸出值是一個較短的定長數(shù)據(jù)分組,也就是MAC,即:MAC=CK(M)消息認證碼(MAC)MessageAuthenticaio消息認證碼用于認證A和B共享密鑰KA計算MAC=Ck(M),M和MAC一起發(fā)送到BB對收到的M,計算MAC,比較兩個MAC是否相同。MCMACKC比較KMAC如果兩個MAC相等,則:接收方可以相信消息未被修改,因為如果攻擊者改變了消息,由于不知道k,無法生成正確的MAC。接收方可以相信消息的確來自確定的發(fā)送方。因為其他人不能生成和原始消息相應的MAC。消息認證碼用于認證A和B共享密鑰KMCMACKC比較KMACMAC函數(shù)與加密函數(shù)的區(qū)別MAC函數(shù)與加密函數(shù)類似,都需要明文、密鑰和算法的參與。而兩者的差別在于:加密算法必須是可逆的,對其結(jié)果能夠解密;而MAC算法不要求可逆性,甚至可以是一個單向函數(shù)。例如:使用100比特的消息和10比特的MAC,那么總共有2100個不同的消息,但僅有210個不同的MAC。也就是說,平均每290個消息使用的MAC是相同的。MAC函數(shù)與加密函數(shù)的區(qū)別MAC函數(shù)與加密函數(shù)類似,都需要明消息認證碼的基本用途消息認證碼只提供消息認證,不提供保密性。若要提供保密性,可以結(jié)合加密體制,從而同時提供消息認證和保密性:M||CK1CMCK(M)K1比較EK2DK2ABA和B共享K1和K2K1:用于生成MACK2:用于加密與明文有關的認證消息認證碼的基本用途消息認證碼只提供消息認證,不提供保密性。消息認證碼的基本用途提供消息認證和保密性:ABA和B共享K1和K2K1:用于生成MACK2:用于加密與密文有關的認證M||CK1CK1比較EK2DK2消息認證碼的基本用途提供消息認證和保密性:ABA和B共享K1消息認證碼的基本用途

問題:為什么要專門找MAC函數(shù)來提供認證,而不直接使用加密方法來提供認證呢?原因有三:(1)信息加密主要是提供機密性而非真實性。(2)加密計算的代價大,特別是當信息內(nèi)容比較長的時候,加密所占用的資源太多。(3)認證函數(shù)與加密函數(shù)的分離能提供功能上的靈活性。有時只需提供機密性,而不需要提供真實性;有時只需要真實性,不需要機密性。消息認證碼的基本用途問題:為什么要專門找MAC函數(shù)來提供基于DES的消息認證碼使用最廣泛的MAC算法之一:數(shù)據(jù)認證算法算法基于密文塊鏈接(CBC)模式的DES算法,計算數(shù)據(jù)認證碼DAC的過程如下:①把需要認證的數(shù)據(jù)分成連續(xù)的64位的分組。②若最后一個分組不是64位,則填0③利用DES加密算法E和密鑰K,計算認證碼?;贒ES的消息認證碼使用最廣泛的MAC算法之一:數(shù)據(jù)認證算DAC可以取整個ON塊,或者取為ON的最左M個比特。DACM-bits(16to64bits)DAC可以取整個ON塊,或者取為ON的最左M個比特。DACHash函數(shù)(雜湊函數(shù)、散列函數(shù))Hash的特點:與消息認證碼一樣,hash函數(shù)的輸入是長度可變的消息M,輸出是固定大小的hash碼H(M),或稱消息摘要(MessageDigest)、hash值。與消息認證碼不同的是,hash碼的產(chǎn)生過程中并不使用密鑰。Hash碼是所有消息的函數(shù),改變消息的任何一位或多位,都會導致hash碼的改變。Hash算法通常是公開的。又稱為:哈希函數(shù)、數(shù)字指紋(Digitalfingerprint)、壓縮(Compression)函數(shù)、緊縮(Contraction)函數(shù)、數(shù)據(jù)鑒別碼DAC(Dataauthenticationcode)、篡改檢驗碼MDC(Manipulationdetectioncode)Hash函數(shù)(雜湊函數(shù)、散列函數(shù))Hash的特點:h=H(M)

假定兩次輸入同樣的數(shù)據(jù),那么散列函數(shù)應該能夠生成相同的散列值。輸入數(shù)據(jù)中的一位發(fā)生了變化,會導致生成的散列值完全不一樣。散列函數(shù)有個非常重要的特性為單向性,也就是從M計算h容易,而從h計算M不可能。

h=H(M)假定兩次輸入同樣的數(shù)據(jù),那么散列函數(shù)應該能夠生網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件迭代型hash函數(shù)的一般結(jié)構(gòu)fffY0Y1YL-1bbbnnnnnIV=CV0CV1CVL-1CVL明文M被分為L個分組Y0,Y1,…,YL-1b:明文分組長度n:輸出hash長度CV:各級輸出,最后一個輸出值是hash值無碰撞壓縮函數(shù)f是設計的關鍵迭代型hash函數(shù)的一般結(jié)構(gòu)fffY0Y1YL-1bbbnn迭代型hash函數(shù)這種結(jié)構(gòu)的hash函數(shù)已被證明是合理的,如果采用其他結(jié)構(gòu),不一定安全。設計新的hash函數(shù)只是改進這種結(jié)構(gòu),或者增加hash碼長。算法的核心技術是設計無碰撞的壓縮函數(shù)f,而敵手對算法的攻擊重點是f的內(nèi)部結(jié)構(gòu),由于f和分組密碼一樣是由若干輪處理過程組成,所以對f的攻擊需通過對各輪之間的位模式的分析來進行,分析過程常常需要先找出f的碰撞。由于f是壓縮函數(shù),其碰撞是不可避免的,因此在設計f時就應保證找出其碰撞在計算上是不可行的。迭代型hash函數(shù)這種結(jié)構(gòu)的hash函數(shù)已被證明是合理的,如MD5hash算法

MD5HashAlgorithm

MD4是MD5雜湊算法的前身,由RonRivest于1990年10月作為RFC提出,1992年4月公布的MD4的改進(RFC1320,1321)稱為MD5。MD5hash算法

MD5HashAlgorithm

MD5的算法框圖輸入消息可任意長,壓縮后輸出為128bits。MD5的算法框圖輸入消息可任意長,壓縮后輸出為128bits算法步驟(1)-分組填充

消息100…064bit消息長度填充圖樣L×512bitKbit如果消息長度大于264,則取其對264的模。執(zhí)行完后,消息的長度為512的倍數(shù)(設為L倍),則可將消息表示為分組長為512的一系列分組Y0,Y1,…,YL-1,而每一分組又可表示為16個32比特長的字,這樣消息中的總字數(shù)為N=L×16,因此消息又可按字表示為M[0,…,N-1]。算法步驟(1)-分組填充消息100…064bit消息長度填算法步驟(2)-緩沖區(qū)初始化

hash函數(shù)的中間結(jié)果和最終結(jié)果保存于128位的緩沖區(qū)中,緩沖區(qū)用32位的寄存器表示??捎?個32bits字表示:A,B,C,D。初始存數(shù)以十六進制表示為A=01234567B=89ABCDEFC=FEDCBA98D=76543210算法步驟(2)-緩沖區(qū)初始化hash函數(shù)的中間結(jié)果和算法步驟(3)-HMD5運算以分組為單位對消息進行處理每一分組Yq(q=0,…,L-1)都經(jīng)一壓縮函數(shù)HMD5處理。HMD5是算法的核心,其中又有4輪處理過程。HMD5的4輪處理過程結(jié)構(gòu)一樣,但所用的邏輯函數(shù)不同,分別表示為F、G、H、I。每輪的輸入為當前處理的消息分組Yq和緩沖區(qū)的當前值A、B、C、D,輸出仍放在緩沖區(qū)中以產(chǎn)生新的A、B、C、D。每輪又要進行16步迭代運算,4輪共需64步完成。第四輪的輸出與第一輪的輸入相加得到最后的輸出。算法步驟(3)-HMD5運算以分組為單位對消息進行處理每一網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件算法步驟(4)–輸出所有的L個512位分組都處理完后,最后一個分組的輸出即為128位的消息摘要。算法步驟(4)–輸出所有的L個512位分組都處理完后,最后MD5的壓縮函數(shù)在壓縮算法的4次循環(huán)處理中,每一循環(huán)均需要一個原始邏輯函數(shù):F,G,H,L。所有原始邏輯函數(shù)的輸入都是3個字長為32位的字(分別用b,c,d表示),并產(chǎn)生一個字長32位的字作為輸出。原始邏輯函數(shù)執(zhí)行的是一組按位邏輯操作,定義如后表。MD5的壓縮函數(shù)在壓縮算法的4次循環(huán)處理中,每一循環(huán)均需要一基本邏輯函數(shù)定義

輪基本函數(shù)gg(b,c,d)fFF(b,c,d)(b^c)V(bˉ^d)fGG(b,c,d)(b^d)V(c^dˉ)fHH(b,c,d)b?c?dfII(b,c,d)c?(bV

dˉ)其中,b,c,d分別表示寄存器B、C、D中的內(nèi)容;運算∧、∨、⊕、ˉ分別表示邏輯操作AND、OR、XOR、NOT?;具壿嫼瘮?shù)定義輪基本函數(shù)gg(b,c,d)fFF(b,壓縮函數(shù)處理過程為了實現(xiàn)對數(shù)據(jù)的壓縮,正在處理的512位數(shù)據(jù)分組Yq被進一步劃分成16個32位的小段,用X[k]表示(k=0,1,…,15).在算法的每一個循環(huán)中,需要對緩存器A、B、C、D進行16步操作;每步操作的通用形式為:b=b+(a+g(b,c,d)+X[k]+T[i]<<<s)其中:a,b,c,d分別代表緩沖區(qū)A、B、C、D中的內(nèi)容;g()代表原始邏輯函數(shù)F、G、H、I中的一個;<<<s表示對32位字進行循環(huán)左移位;X[k]表示Yq中的第k個32位字;T[i]表示常數(shù)表中的第i個元素。其中的加法均為32位的加法。壓縮函數(shù)處理過程為了實現(xiàn)對數(shù)據(jù)的壓縮,正在處理的512位數(shù)據(jù)壓縮函數(shù)中的一步迭代壓縮函數(shù)中的一步迭代X[k]當前分組的第k個32位的字。在一個循環(huán)中,16個32比特的分段X[k]均被使用一次;但在不同的循環(huán)中,X[k]被使用的順序是不同的。如下表所示:第1輪x[0]x[1]x[2]x[3]x[4]x[5]x[6]x[7]x[8]x[9]x[10]x[11]x[12]x[13]x[14]x[15]第2輪x[1]x[6]x[11]x[0]x[5]x[10]x[15]x[4]x[9]x[14]x[3]x[8]x[13]x[2]x[7]x[12]第3輪x[5]x[8]x[11]x[14]x[1]x[4]x[7]x[10]x[13]x[0]x[3]x[6]x[9]x[12]x[15]x[2]第4輪x[0]x[7]x[14]x[5]x[12]x[3]x[10]x[1]x[8]x[15]x[6]x[13]x[4]x[11]x[2]x[9]X[k]當前分組的第k個32位的字。第1輪x[0]x[1]xT[i]常數(shù)表T的作用是對算法的每一個操作步驟增加不同的附加限制。T[1,…,64]為64個元素表,分四組參與不同輪的計算。常數(shù)表是采用正弦函數(shù)構(gòu)建的。T[i]為232×abs(Sin(i))的整數(shù)部分,i是弧度。T[i]可用32bit二元數(shù)表示,T是32bit隨機數(shù)源。T[i]常數(shù)表T的作用是對算法的每一個操作步驟增加不同的附加T[1]=d76aa478T[17]=f61e2562T[33]=fffa3942T[49]=f4292244T[2]=e8c7b756T[18]=c040b340T[34]=8771f681T[50]=432aff97T[3]=242070dbT[19]=265e5a51T[35]=6d9d6122T[51]=ab9423a7T[4]=c1bdceeeT[20]=e9b6c7aaT[36]=fde5380cT[52]=fc93a039T[5]=f57c0fafT[21]=d62f105dT[37]=a4beea44T[53]=655b59c3T[6]=4787c62aT[22]=02441453T[38]=4bdecfa9T[54]=8f0ccc92T[7]=a8304613T[23]=d8a1e681T[39]=f6bb4b60T[55]=ffeff47dT[8]=fd469501T[24]=e7d3fbc8T[40]=bebfbc70T[56]=85845dd1T[9]=698098d8T[25]=21e1cde6T[41]=289b7ec6T[57]=6fa87e4fT[10]=8b44f7afT[26]=c33707d6T[42]=eaa127faT[58]=fe2ce6e0T[11]=ffff5bb1T[27]=f4d50d87T[43]=d4ef3085T[59]=a3014314T[12]=895cd7beT[28]=455a14edT[44]=04881d05T[60]=4e0811a1T[13]=6b901122T[29]=a9e3e905T[45]=d9d4d039T[61]=f7537e82T[14]=fd987193T[30]=fcefa3f8T[46]=e6db99e5T[62]=bd3af235T[15]=a679438eT[31]=676f02d9T[47]=1fa27cf8T[63]=2ad7d2bbT[16]=49b40821T[32]=8d2a4c8aT[48]=c4ac5665T[64]=eb86d391T[1]=d76aa478T[17]=f61e2562TCLSs:循環(huán)左移s位第一輪:7、12、17、22第二輪:5、9、14、20第三輪:4、11、16、23第四輪:6、10、15、21CLSs:循環(huán)左移s位第一輪:7、12、17、22MD-5的安全性MD-5的輸出為128-bit,若采用純強力攻擊尋找一個消息具有給定Hash值的計算困難性為2128,用每秒可試驗1000000000個消息的計算機需時1.07×1022年。采用生日攻擊法,找出具有相同散列值的兩個消息需執(zhí)行264次運算。MD-5的安全性MD-5的輸出為128-bit,若采用純強力主要內(nèi)容認證基本概念

身份認證消息認證數(shù)字簽名主要內(nèi)容認證基本概念消息認證碼的不足可以保護通信雙方以防止第3者攻擊,不能保護通信雙方中一方防止另一方的欺騙和偽造。B偽造一個消息并使用與A共享的密鑰產(chǎn)生該消息的認證碼,然后生成該消息來自于AB有可能偽造A發(fā)來的消息,所以A就可以對自己發(fā)過的消息予以否認消息認證碼的不足可以保護通信雙方以防止第3者攻擊,不能保護通數(shù)字簽名的基本概念數(shù)字簽名由公鑰密碼發(fā)展而來,它在網(wǎng)絡安全,包括身份認證、數(shù)據(jù)完整性、不可否認性以及匿名性等方面有著重要應用。數(shù)字簽名的基本概念數(shù)字簽名由公鑰密碼發(fā)展而來,它在網(wǎng)絡安全,手寫簽名的特征簽名是可信的簽名是不可偽造的簽名不可重用簽名后的文件是不可變的簽名是不可抵賴的手寫簽名的特征簽名是可信的簡單掃描手寫簽名不能滿足要求

對數(shù)字簽名的要求

要保證能夠驗證作者及其簽名的日期時間必須能夠認證簽名時刻的內(nèi)容簽名必須能夠由第三方驗證,以解決爭議。簡單掃描手寫簽名不能滿足要求對數(shù)字簽名的要求更進一步的要求依賴性:簽名必須是依賴于被簽名信息來產(chǎn)生;唯一性:簽名必須使用某些對發(fā)送者是唯一的信息,以防止雙方的偽造與否認;可驗性:必須相對容易識別和驗證該數(shù)字簽名;抗偽造:偽造該數(shù)字簽名在計算上是不可行的,根據(jù)一個已有的數(shù)字簽名來構(gòu)造消息是不可行的;對一個給定消息偽造數(shù)字簽名是不可行的;可用性:在存儲器中保存一個數(shù)字簽名副本是現(xiàn)實可行的。更進一步的要求依賴性:簽名必須是依賴于被簽名信息來產(chǎn)生;簽名方法直接數(shù)字簽名方法仲裁數(shù)字簽名方法簽名方法直接數(shù)字簽名方法直接數(shù)字簽名AB消息加密后的摘要消息散列函數(shù)A的私鑰摘要加密算法消息加密后的摘要A的公鑰解密算法解密后的摘要散列函數(shù)摘要比較加密后的摘要直接數(shù)字簽名AB消息加密后的摘要消息散列A的私鑰摘要加密消息直接數(shù)字簽名的缺點直接數(shù)字簽名的執(zhí)行過程只有通信的雙方參與,并假定雙方有共享的秘密密鑰或者接收一方知道發(fā)送方的公開鑰。缺點:方案的有效性取決于發(fā)方密鑰的安全性。發(fā)方可聲稱秘密鑰丟失或被竊直接數(shù)字簽名的缺點直接數(shù)字簽名的執(zhí)行過程只有通信的雙方參與,仲裁數(shù)字簽名具有仲裁方式的數(shù)字簽名發(fā)方X對發(fā)往收方Y(jié)的消息簽名將消息和簽名先發(fā)往仲裁者AA對消息和簽名驗證完后,再連同一個表示已通過驗證的指令一起發(fā)給Y.仲裁數(shù)字簽名具有仲裁方式的數(shù)字簽名具有仲裁方式的數(shù)字簽名例1:XA:AY:E:單鑰加密算法KXA,KAY:A與X和Y的共享密鑰M:消息T:時戳IDX:X的身份H(M):M的雜湊值具有仲裁方式的數(shù)字簽名例1:E:單鑰加密算法在1中,X以EKXA[IDX‖H(M)]作為自己對M的簽名,將M及簽名發(fā)往A。在2中,A將從X收到的內(nèi)容和IDX、T一起加密后發(fā)往Y,其中的T用于向Y表示所發(fā)的消息不是舊消息的重放。Y對收到的內(nèi)容解密后,將解密結(jié)果存儲起來以備出現(xiàn)爭議時使用。如果出現(xiàn)爭議,Y可聲稱自己收到的M的確來自X,并將EKAY[IDX‖M‖EKXA[IDX‖H(M)]]發(fā)給A,由A仲裁,A由KAY解密后,再用KXA對EKXA[IDX‖H(M)]解密,并對H(M)加以驗證,從而驗證了X的簽名。在1中,X以EKXA[IDX‖H(M)]作為自己對M的簽名,具有仲裁方式的數(shù)字簽名例2XA:IDX||AY:X對M的簽名X和Y的共享密鑰此方案提供了對M的保密性和前一方案相同,仲裁者可和發(fā)方共謀否認發(fā)方曾發(fā)過的消息,也可和收方共謀產(chǎn)生發(fā)方的簽名具有仲裁方式的數(shù)字簽名例2X對M的簽名X和Y的共享密鑰此方案具有仲裁方式的數(shù)字簽名例3X的私鑰Y的公鑰具有仲裁方式的數(shù)字簽名例3X的私鑰Y的公鑰第1步中,X用自己的秘密鑰SKX和Y的公開鑰PKY對消息加密后作為對M的簽名,以這種方式使得任何第3方(包括A)都不能得到M的明文消息。A收到X發(fā)來的內(nèi)容后,用X的公開鑰可對ESKX[IDX‖EPKY[ESKX[M]]]解密,并將解密得到的IDX與收到的IDX加以比較,從而可確信這一消息是來自于X的(因只有X有SKX)。第2步,A將X的身份IDX和X對M的簽名加上一時戳后,再用自己的秘密鑰加密發(fā)往Y。第1步中,X用自己的秘密鑰SKX和Y的公開鑰PKY對消息加密與前兩種方案相比,第3種方案有很多優(yōu)點:在協(xié)議執(zhí)行以前,各方都不必有共享的信息,從而可防止共謀。只要仲裁者的秘密鑰不被泄露,任何人包括發(fā)方就不能發(fā)送重放的消息。對任何第三方(包括A)來說,X發(fā)往Y的消息都是保密的。與前兩種方案相比,第3種方案有很多優(yōu)點:RSA簽名體制體制參數(shù)大素數(shù)p,q,n=p×q,y(n)=(p-1)(q-1)。選整數(shù)1<e<y(n),且gcd(e,y(n))=1;計算d滿足de≡1mody(n).{e,n}為公開密鑰,{d,n}為秘密密鑰。簽名過程S=Mdmodn驗證過程M=Semodn實際應用中加密是對H(M)進行的。RSA簽名體制體制參數(shù)RSA簽名方案

M||HESKAMHDPKA比較RSA簽名方案M||HESKAMHDPKA比較本章小結(jié)主要內(nèi)容:介紹了認證與數(shù)字簽名相關內(nèi)容。闡述了身份認證、消息認證以及數(shù)字簽名的作用;列舉了三種技術的實現(xiàn)方案;并且給出MD5算法的操作過程。需要掌握的內(nèi)容:(1)身份認證、消息認證及數(shù)字簽名技術各自適用的領域(2)消息認證符的三種生成方法(3)S/KEY口令工作過程(4)數(shù)字簽名技術本章小結(jié)主要內(nèi)容:本章作業(yè)作業(yè)題:(1)舉例說明身份認證、消息認證及數(shù)字簽名技術各自適用的場合。(2)基于消息認證碼的消息認證方法與基于散列函數(shù)的消息認證方法有什么區(qū)別?(3)簡述S/KEY口令的工作過程。思考題:(1)數(shù)字簽名技術可以實現(xiàn)身份認證和消息認證嗎?(2)偽代碼設計或編程實現(xiàn)MD5算法。本章作業(yè)作業(yè)題:第3章認證與數(shù)字簽名(下)信息安全系jlsxm@第3章認證與數(shù)字簽名(下)信息安全系主要內(nèi)容認證基本概念

身份認證消息認證數(shù)字簽名主要內(nèi)容認證基本概念沒有消息認證的通信系統(tǒng)是極為危險的

沒有消息認證的通信系統(tǒng)是極為危險的需求泄密:將消息透露給沒有合法秘密鑰的任何人或程序。傳輸分析:分析通信雙方的通信模式,如連接頻率,時間等偽裝:攻擊者產(chǎn)生一條消息并聲稱來自某合法實體內(nèi)容修改:對消息進行插入、刪除、轉(zhuǎn)化、修改順序修改:對消息順序進行插入、刪除、重新排序計時修改:對消息的延時和重放發(fā)送方否認接受方否認對付1、2可用加密;對付3、4、5、6可用消息認證;對付7、8可用數(shù)字簽名需求泄密:將消息透露給沒有合法秘密鑰的任何人或程序。消息認證(MessageAuthentication)

消息認證用于抗擊主動攻擊驗證接收消息的真實性和完整性真實性的確是由所聲稱的實體發(fā)過來的完整性未被篡改、插入和刪除驗證消息的順序性和時間性(未重排、重放和延遲)消息認證(MessageAuthentication)消消息認證的基本概念認證符:一個用來認證消息的值。由消息的發(fā)送方產(chǎn)生認證符,并傳遞給接收方。認證函數(shù):產(chǎn)生認證符的函數(shù),認證函數(shù)實際上代表了一種產(chǎn)生認證符的方法。消息加密函數(shù)消息認證碼Hash函數(shù)消息認證的基本概念認證符:一個用來認證消息的值。由消息的發(fā)送消息加密函數(shù)對消息的自身加密所得到的密文,可以作為一個認證的度量。消息認證符:用完整信息的密文作為對信息鑒別的認證符。既可以使用對稱加密模式,也可以使用公鑰加密模式作為消息加密函數(shù),兩者有所不同。消息加密函數(shù)對消息的自身加密所得到的密文,可以作為一個認證的消息加密函數(shù)---在對稱加密體制下在對稱加密體制下,發(fā)送者A和接收者B雙方共同擁有密鑰,A把加密過的信息傳送給B,如上圖所示。由于攻擊者不知道密鑰K,他也就不知道如何改變密文中的信息位才能在明文中產(chǎn)生預期的改變。因此,接收方B只要能順利解出明文,就知道信息在中途沒有被人更改過??梢愿鶕?jù)解密后的明文是否具有合理的語法結(jié)構(gòu)來進行消息認證。MEKEK(M)DKM消息加密函數(shù)---在對稱加密體制下在對稱加密體制下,發(fā)送者A消息加密函數(shù)---在對稱加密體制下問題:但有時發(fā)送的明文本身并沒有明顯的語法結(jié)構(gòu)或特征,例如二進制文件,因此很難確定解密后的消息就是明文本身。為了解決這個問題,要求明文具有某種易于識別的結(jié)構(gòu),并且不通過加密函數(shù)是無法重復這個結(jié)構(gòu)的。最簡單的辦法是在加密前對消息附加一個錯誤檢測碼FCS,或稱幀校驗序列、校驗和。MEKEK(M)DKM消息加密函數(shù)---在對稱加密體制下問題:但有時發(fā)送的明文本身①根據(jù)明文M和公開的函數(shù)F產(chǎn)生FCS。②把M和FCS合在一起加密,并傳輸。③接收端把密文解密,得到M。④根據(jù)得到的M,按照F計算FCS,并與接收到的FCS比較是否相等。注:如果攻擊者修改了密文,則接收者計算出來的FCS與其收到的FCS將無法匹配。MFFMFCS比較EKDKMFCS內(nèi)部錯誤控制①根據(jù)明文M和公開的函數(shù)F產(chǎn)生FCS。MFFMFCS比較EK這里,加密函數(shù)和F函數(shù)的執(zhí)行順序非常重要。由于函數(shù)F是公開的,若先加密再計算FCS,則攻擊者可以構(gòu)造具有正確錯誤控制碼的消息,雖然攻擊者不知道解密后的明文,但可以造成混淆并破壞通信。MFFCSEKDKM外部錯誤控制F比較這里,加密函數(shù)和F函數(shù)的執(zhí)行順序非常重要。MFFCSEKDK消息加密---在公鑰加密體制下發(fā)送方A用接收方B的公鑰對消息加密,然后傳輸給B。B用自己的私鑰解密。MEKUbEKUb(M)DKRbMAB消息加密---在公鑰加密體制下發(fā)送方A用接收方B的公鑰對消息消息加密---在公鑰加密體制下由于大家都知道B的公鑰,任何人都可以向B發(fā)送消息,所以B無法確認消息的來源和內(nèi)容的真實性。因此,這種方式不提供認證,只提供加密。MEKUbEKUb(M)DKRbMI.普通加密AB消息加密---在公鑰加密體制下由于大家都知道B的公鑰,任何人消息加密---在公鑰加密體制下發(fā)送方A用自己的私鑰進行加密,然后傳輸給接收方B。B用A的公鑰解密。如果B能夠用A的公鑰解密,則說明該消息的確是由A發(fā)送的,且消息內(nèi)容沒有被篡改。MEKRaEKRa(M)DKUaMAB消息加密---在公鑰加密體制下發(fā)送方A用自己的私鑰進行加密,消息加密---在公鑰加密體制下由于只有A有用于產(chǎn)生EKRa(M)的密鑰,所以此方法提供認證。由于大家都有KUa

,所以此方法不提供加密。MEKRaEKRa(M)DKUaMII.認證和簽名AB消息加密---在公鑰加密體制下由于只有A有用于產(chǎn)生EKRa消息加密---在公鑰加密體制下提供認證和加密。一次通信中要執(zhí)行四次復雜的公鑰算法,計算代價非常高。所以,第二、三兩種方法一般在認證時極少應用。MEKRaEKRa(M)DKUaMIII.加密認證和簽名ABEKUbEKUb(EKRa(M))DKRbEKRa(M)消息加密---在公鑰加密體制下提供認證和加密。MEKRaEK消息認證碼(MAC)MessageAuthenticaionCode,也稱為報文鑒別碼或是消息鑒別碼。消息認證碼是消息和密鑰的公開函數(shù),它產(chǎn)生定長的值,以該值作為認證符。這種機制的核心是一個類似于加密的算法CK。該算法需要使用一個密鑰,并以需要認證的消息作為輸入,算法的輸出值是一個較短的定長數(shù)據(jù)分組,也就是MAC,即:MAC=CK(M)消息認證碼(MAC)MessageAuthenticaio消息認證碼用于認證A和B共享密鑰KA計算MAC=Ck(M),M和MAC一起發(fā)送到BB對收到的M,計算MAC,比較兩個MAC是否相同。MCMACKC比較KMAC如果兩個MAC相等,則:接收方可以相信消息未被修改,因為如果攻擊者改變了消息,由于不知道k,無法生成正確的MAC。接收方可以相信消息的確來自確定的發(fā)送方。因為其他人不能生成和原始消息相應的MAC。消息認證碼用于認證A和B共享密鑰KMCMACKC比較KMACMAC函數(shù)與加密函數(shù)的區(qū)別MAC函數(shù)與加密函數(shù)類似,都需要明文、密鑰和算法的參與。而兩者的差別在于:加密算法必須是可逆的,對其結(jié)果能夠解密;而MAC算法不要求可逆性,甚至可以是一個單向函數(shù)。例如:使用100比特的消息和10比特的MAC,那么總共有2100個不同的消息,但僅有210個不同的MAC。也就是說,平均每290個消息使用的MAC是相同的。MAC函數(shù)與加密函數(shù)的區(qū)別MAC函數(shù)與加密函數(shù)類似,都需要明消息認證碼的基本用途消息認證碼只提供消息認證,不提供保密性。若要提供保密性,可以結(jié)合加密體制,從而同時提供消息認證和保密性:M||CK1CMCK(M)K1比較EK2DK2ABA和B共享K1和K2K1:用于生成MACK2:用于加密與明文有關的認證消息認證碼的基本用途消息認證碼只提供消息認證,不提供保密性。消息認證碼的基本用途提供消息認證和保密性:ABA和B共享K1和K2K1:用于生成MACK2:用于加密與密文有關的認證M||CK1CK1比較EK2DK2消息認證碼的基本用途提供消息認證和保密性:ABA和B共享K1消息認證碼的基本用途

問題:為什么要專門找MAC函數(shù)來提供認證,而不直接使用加密方法來提供認證呢?原因有三:(1)信息加密主要是提供機密性而非真實性。(2)加密計算的代價大,特別是當信息內(nèi)容比較長的時候,加密所占用的資源太多。(3)認證函數(shù)與加密函數(shù)的分離能提供功能上的靈活性。有時只需提供機密性,而不需要提供真實性;有時只需要真實性,不需要機密性。消息認證碼的基本用途問題:為什么要專門找MAC函數(shù)來提供基于DES的消息認證碼使用最廣泛的MAC算法之一:數(shù)據(jù)認證算法算法基于密文塊鏈接(CBC)模式的DES算法,計算數(shù)據(jù)認證碼DAC的過程如下:①把需要認證的數(shù)據(jù)分成連續(xù)的64位的分組。②若最后一個分組不是64位,則填0③利用DES加密算法E和密鑰K,計算認證碼?;贒ES的消息認證碼使用最廣泛的MAC算法之一:數(shù)據(jù)認證算DAC可以取整個ON塊,或者取為ON的最左M個比特。DACM-bits(16to64bits)DAC可以取整個ON塊,或者取為ON的最左M個比特。DACHash函數(shù)(雜湊函數(shù)、散列函數(shù))Hash的特點:與消息認證碼一樣,hash函數(shù)的輸入是長度可變的消息M,輸出是固定大小的hash碼H(M),或稱消息摘要(MessageDigest)、hash值。與消息認證碼不同的是,hash碼的產(chǎn)生過程中并不使用密鑰。Hash碼是所有消息的函數(shù),改變消息的任何一位或多位,都會導致hash碼的改變。Hash算法通常是公開的。又稱為:哈希函數(shù)、數(shù)字指紋(Digitalfingerprint)、壓縮(Compression)函數(shù)、緊縮(Contraction)函數(shù)、數(shù)據(jù)鑒別碼DAC(Dataauthenticationcode)、篡改檢驗碼MDC(Manipulationdetectioncode)Hash函數(shù)(雜湊函數(shù)、散列函數(shù))Hash的特點:h=H(M)

假定兩次輸入同樣的數(shù)據(jù),那么散列函數(shù)應該能夠生成相同的散列值。輸入數(shù)據(jù)中的一位發(fā)生了變化,會導致生成的散列值完全不一樣。散列函數(shù)有個非常重要的特性為單向性,也就是從M計算h容易,而從h計算M不可能。

h=H(M)假定兩次輸入同樣的數(shù)據(jù),那么散列函數(shù)應該能夠生網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件迭代型hash函數(shù)的一般結(jié)構(gòu)fffY0Y1YL-1bbbnnnnnIV=CV0CV1CVL-1CVL明文M被分為L個分組Y0,Y1,…,YL-1b:明文分組長度n:輸出hash長度CV:各級輸出,最后一個輸出值是hash值無碰撞壓縮函數(shù)f是設計的關鍵迭代型hash函數(shù)的一般結(jié)構(gòu)fffY0Y1YL-1bbbnn迭代型hash函數(shù)這種結(jié)構(gòu)的hash函數(shù)已被證明是合理的,如果采用其他結(jié)構(gòu),不一定安全。設計新的hash函數(shù)只是改進這種結(jié)構(gòu),或者增加hash碼長。算法的核心技術是設計無碰撞的壓縮函數(shù)f,而敵手對算法的攻擊重點是f的內(nèi)部結(jié)構(gòu),由于f和分組密碼一樣是由若干輪處理過程組成,所以對f的攻擊需通過對各輪之間的位模式的分析來進行,分析過程常常需要先找出f的碰撞。由于f是壓縮函數(shù),其碰撞是不可避免的,因此在設計f時就應保證找出其碰撞在計算上是不可行的。迭代型hash函數(shù)這種結(jié)構(gòu)的hash函數(shù)已被證明是合理的,如MD5hash算法

MD5HashAlgorithm

MD4是MD5雜湊算法的前身,由RonRivest于1990年10月作為RFC提出,1992年4月公布的MD4的改進(RFC1320,1321)稱為MD5。MD5hash算法

MD5HashAlgorithm

MD5的算法框圖輸入消息可任意長,壓縮后輸出為128bits。MD5的算法框圖輸入消息可任意長,壓縮后輸出為128bits算法步驟(1)-分組填充

消息100…064bit消息長度填充圖樣L×512bitKbit如果消息長度大于264,則取其對264的模。執(zhí)行完后,消息的長度為512的倍數(shù)(設為L倍),則可將消息表示為分組長為512的一系列分組Y0,Y1,…,YL-1,而每一分組又可表示為16個32比特長的字,這樣消息中的總字數(shù)為N=L×16,因此消息又可按字表示為M[0,…,N-1]。算法步驟(1)-分組填充消息100…064bit消息長度填算法步驟(2)-緩沖區(qū)初始化

hash函數(shù)的中間結(jié)果和最終結(jié)果保存于128位的緩沖區(qū)中,緩沖區(qū)用32位的寄存器表示??捎?個32bits字表示:A,B,C,D。初始存數(shù)以十六進制表示為A=01234567B=89ABCDEFC=FEDCBA98D=76543210算法步驟(2)-緩沖區(qū)初始化hash函數(shù)的中間結(jié)果和算法步驟(3)-HMD5運算以分組為單位對消息進行處理每一分組Yq(q=0,…,L-1)都經(jīng)一壓縮函數(shù)HMD5處理。HMD5是算法的核心,其中又有4輪處理過程。HMD5的4輪處理過程結(jié)構(gòu)一樣,但所用的邏輯函數(shù)不同,分別表示為F、G、H、I。每輪的輸入為當前處理的消息分組Yq和緩沖區(qū)的當前值A、B、C、D,輸出仍放在緩沖區(qū)中以產(chǎn)生新的A、B、C、D。每輪又要進行16步迭代運算,4輪共需64步完成。第四輪的輸出與第一輪的輸入相加得到最后的輸出。算法步驟(3)-HMD5運算以分組為單位對消息進行處理每一網(wǎng)絡信息安全-第3章認證與數(shù)字簽名(下)課件算法步驟(4)–輸出所有的L個512位分組都處理完后,最后一個分組的輸出即為128位的消息摘要。算法步驟(4)–輸出所有的L個512位分組都處理完后,最后MD5的壓縮函數(shù)在壓縮算法的4次循環(huán)處理中,每一循環(huán)均需要一個原始邏輯函數(shù):F,G,H,L。所有原始邏輯函數(shù)的輸入都是3個字長為32位的字(分別用b,c,d表示),并產(chǎn)生一個字長32位的字作為輸出。原始邏輯函數(shù)執(zhí)行的是一組按位邏輯操作,定義如后表。MD5的壓縮函數(shù)在壓縮算法的4次循環(huán)處理中,每一循環(huán)均需要一基本邏輯函數(shù)定義

輪基本函數(shù)gg(b,c,d)fFF(b,c,d)(b^c)V(bˉ^d)fGG(b,c,d)(b^d)V(c^dˉ)fHH(b,c,d)b?c?dfII(b,c,d)c?(bV

dˉ)其中,b,c,d分別表示寄存器B、C、D中的內(nèi)容;運算∧、∨、⊕、ˉ分別表示邏輯操作AND、OR、XOR、NOT?;具壿嫼瘮?shù)定義輪基本函數(shù)gg(b,c,d)fFF(b,壓縮函數(shù)處理過程為了實現(xiàn)對數(shù)據(jù)的壓縮,正在處理的512位數(shù)據(jù)分組Yq被進一步劃分成16個32位的小段,用X[k]表示(k=0,1,…,15).在算法的每一個循環(huán)中,需要對緩存器A、B、C、D進行16步操作;每步操作的通用形式為:b=b+(a+g(b,c,d)+X[k]+T[i]<<<s)其中:a,b,c,d分別代表緩沖區(qū)A、B、C、D中的內(nèi)容;g()代表原始邏輯函數(shù)F、G、H、I中的一個;<<<s表示對32位字進行循環(huán)左移位;X[k]表示Yq中的第k個32位字;T[i]表示常數(shù)表中的第i個元素。其中的加法均為32位的加法。壓縮函數(shù)處理過程為了實現(xiàn)對數(shù)據(jù)的壓縮,正在處理的512位數(shù)據(jù)壓縮函數(shù)中的一步迭代壓縮函數(shù)中的一步迭代X[k]當前分組的第k個32位的字。在一個循環(huán)中,16個32比特的分段X[k]均被使用一次;但在不同的循環(huán)中,X[k]被使用的順序是不同的。如下表所示:第1輪x[0]x[1]x[2]x[3]x[4]x[5]x[6]x[7]x[8]x[9]x[10]x[11]x[12]x[13]x[14]x[15]第2輪x[1]x[6]x[11]x[0]x[5]x[10]x[15]x[4]x[9]x[14]x[3]x[8]x[13]x[2]x[7]x[12]第3輪x[5]x[8]x[11]x[14]x[1]x[4]x[7]x[10]x[13]x[0]x[3]x[6]x[9]x[12]x[15]x[2]第4輪x[0]x[7]x[14]x[5]x[12]x[3]x[10]x[1]x[8]x[15]x[6]x[13]x[4]x[11]x[2]x[9]X[k]當前分組的第k個32位的字。第1輪x[0]x[1]xT[i]常數(shù)表T的作用是對算法的每一個操作步驟增加不同的附加限制。T[1,…,64]為64個元素表,分四組參與不同輪的計算。常數(shù)表是采用正弦函數(shù)構(gòu)建的。T[i]為232×abs(Sin(i))的整數(shù)部分,i是弧度。T[i]可用32bit二元數(shù)表示,T是32bit隨機數(shù)源。T[i]常數(shù)表T的作用是對算法的每一個操作步驟增加不同的附加T[1]=d76aa478T[17]=f61e2562T[33]=fffa3942T[49]=f4292244T[2]=e8c7b756T[18]=c040b340T[34]=8771f681T[50]=432aff97T[3]=242070dbT[19]=265e5a51T[35]=6d9d6122T[51]=ab9423a7T[4]=c1bdceeeT[20]=e9b6c7aaT[36]=fde5380cT[52]=fc93a039T[5]=f57c0fafT[21]=d62f105dT[37]=a4beea44T[53]=655b59c3T[6]=4787c62aT[22]=02441453T[38]=4bdecfa9T[54]=8f0ccc92T[7]=a8304613T[23]=d8a1e681T[39]=f6bb4b60T[55]=ffeff47dT[8]=fd469501T[24]=e7d3fbc8T[40]=bebfbc70T[56]=85845dd1T[9]=698098d8T[25]=21e1cde6T[41]=289b7ec6T[57]=6fa87e4fT[10]=8b44f7afT[26]=c33707d6T[42]=eaa127faT[58]=fe2ce6e0T[11]=ffff5bb1T[27]=f4d50d87T[43]=d4ef3085T[59]=a3014314T[12]=895cd7beT[28]=455a14edT[44]=04881d05T[60]=4e0811a1T[13]=6b901122T[29]=a9e3e905T[45]=d9d4d039T[61]=f7537e82T[14]=fd987193T[30]=fcefa3f8T[46]=e6db99e5T[62]=bd3af235T[15]=a679438eT[31]=676f02d9T[47]=1fa27cf8T[63]=2ad7d2bbT[16]=49b40821T[32]=8d2a4c8aT[48]=c4ac5665T[64]=eb86d391T[1]=d76aa478T[17]=f61e2562TCLSs:循環(huán)左移s位第一輪:7、12、17、22第二輪:5、9、14、20第三輪:4、11、16、23第四輪:6、10、15、21CLSs:循環(huán)左移s位第一輪:7、12、17、22MD-5的安全性MD-5的輸出為128-bit,若采用純強力攻擊尋找一個消息具有給定Hash值的計算困難性為2128,用每秒可試驗1000000000個消息的計算機需時1.07×1022年。采用生日攻擊法,找出具有相同散列值的兩個消息需執(zhí)行264次運算。MD-5的安全性MD-5的輸出為128-bit,若采用純強力主要內(nèi)容認證基本概念

身份認證消息認證數(shù)字簽名主要內(nèi)容認證基本概念消息認證碼的不足可以保護通信雙方以防止第3者攻擊,不能保護通信雙方中一方防止另一方的欺騙和偽造。B偽造一個消息并使用與A共享的密鑰產(chǎn)生該消息的認證碼,然后生成該消息來自于AB有可能偽造A發(fā)來的消息,所以A就可以對自己發(fā)過的消息予以否認消息認證碼的不足可以保護通信雙方以防止第3者攻擊,不能保護通數(shù)字簽名的基本概念數(shù)字簽名由公鑰密碼發(fā)展而來,它在網(wǎng)絡安全,包括身份認證、數(shù)據(jù)完整性、不可否認性以及匿名性等方面有著重要應用。數(shù)字簽名的基本概念數(shù)字簽名由公鑰密碼發(fā)展而來,它在網(wǎng)絡安全,手寫簽名的特征簽名是可信的簽名是不可偽造的簽名不可重用簽名后的文件是不可變的簽名是不可抵賴的手寫簽名的特征簽名是可信的簡單掃描手寫簽名不能滿足要求

對數(shù)字簽名的要求

要保證能夠驗證作者及其簽名的日期時間必須能夠認證簽名時刻的內(nèi)

溫馨提示

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

評論

0/150

提交評論