版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第五章消息認證與簽名2消息認證的概念消息認證(MessageAuthentication)Message:消息、報文。Authentication:鑒別、認證。鑒別:消息的接收者對消息進行的驗證。真實性:消息確實來自于其真正的發(fā)送者,而非假冒;完整性:消息的內(nèi)容沒有被篡改。2023/6/83消息認證的必要性消息認證用于抗擊主動攻擊驗證接收消息的真實性和完整性真實性的確是由所聲稱的實體發(fā)過來的完整性未被篡改、插入和刪除驗證消息的順序性和時間性(未重排、重放和延遲)4消息認證與保密的關(guān)系是構(gòu)成信息系統(tǒng)安全的兩個方面,但屬于兩個不同屬性上的問題:消息認證不能自動提供保密性;保密性也不能自然提供消息認證功能。5消息認證系統(tǒng)模型6消息認證函數(shù)的分類基于報文加密方式的鑒別:以整個報文的密文作為鑒別符。消息認證碼(MAC)方式。散列函數(shù)方式:采用一個公共散列函數(shù),將任意長度的報文映射為一個定長的散列值,并以散列值作為鑒別符。7基于報文加密方式的鑒別(1)對稱密鑰加密方式:加密的同時提供保密和鑒別。2023/6/88CBC-MAC基于CBC模式的DES算法,初始向量取為零。D1DES加密O1K第1次D2DES加密O2K第2次+D2DES加密ONK第N次+ON-19對稱密鑰加密方式問題:B如何判斷收到的密文X的合法性?如果消息M是具有某種語法特征的文本,或者M本身具有一定的結(jié)構(gòu):B可通過分析Y的語法或結(jié)構(gòu)特征。如果消息M是完全隨機的二進制比特序列:B無法判斷是否正確恢復(fù)密文。解決辦法:強制明文使其具有某種結(jié)構(gòu)。這種結(jié)構(gòu)易于識別、不能被復(fù)制,同明文相關(guān),并且不依賴于加密。10基于報文加密方式的鑒別(2)附加消息認證結(jié)構(gòu)
11附加消息認證結(jié)構(gòu)源點A對消息明文M首先利用校驗函數(shù)F計算出消息的校驗碼C=F(M);校驗碼C=F(M)被附加到原始消息明文上,生成新的明文[M‖C];利用密鑰K對明文[M‖C]進行加密,得到密文X=EK[M‖C];將密文X發(fā)送給接收端B
12附加消息認證結(jié)構(gòu)
終點B接收密文X;用密鑰K解密得到明文Y=DK(X),其中Y被視為附加校驗碼的消息,即Y=[M′‖C′];利用校驗函數(shù)F計算明文Y中消息部分的校驗碼F(M′)。若校驗碼相匹配,即F(M′)=C′,則可確認報文是可信的,M′就是原始消息M,并且可以確認該報文就是來自A的,因為任何隨機的比特序列是不可能具有這種期望的數(shù)學(xué)關(guān)系的。13消息認證碼MAC消息認證碼或消息鑒別碼(messageauthenticationcode,MAC):核心是一個類似于加密的算法CK()。
CK()在密鑰的作用下,以報文內(nèi)容作為輸入,其輸出值是一個較短的定長數(shù)據(jù)分組,也就是MAC,即:MAC=CK(M)MAC被附加在報文中傳輸,用于消息的合法性鑒別。14采用消息認證碼的鑒別方式15消息認證碼的功能如果B端通過比較發(fā)現(xiàn)MAC匹配,則可確信報文M沒有被篡改過(完整性)若攻擊者更改報文內(nèi)容而末更改MAC,則接收者計算出的MAC將不同于接收到的MAC;由于攻擊者不知道密鑰K,故他不可能計算出一個與更改后報文相對應(yīng)MAC值。接收者B也能夠確信報文M是來自發(fā)送者A的(真實性)只有A了解密鑰K,也只有A能夠計算出報文M所對應(yīng)的正確的MAC值。16MAC函數(shù)與
加密函數(shù)比較兩者類似,都需要密鑰。MAC函數(shù)可以是一個單向函數(shù),而加密函數(shù)必須是可逆的。MAC算法不能提供信息的保密性;基于MAC的消息鑒別方式其鑒別的過程是獨立于加密和解密過程。
與基于加密的鑒別方式是不同的;鑒別函數(shù)與保密函數(shù)的分離能提供結(jié)構(gòu)上的靈活性。MAC方式更適合不需要加密保護的數(shù)據(jù)的鑒別。在某些應(yīng)用中,鑒別報文的真實性比報文的保密性更重要。17散列函數(shù)hashfunction:哈希函數(shù)、摘要函數(shù)。輸入:任意長度的消息報文M。輸出:一個固定長度的散列碼值H(M)。是報文中所有比特的函數(shù)值。單向函數(shù)。18基于散列函數(shù)的消息認證19僅對散列碼進行加密的鑒別方案散列函數(shù)的特點適用范圍Hash能用于任何大小的數(shù)據(jù)分組;Hash產(chǎn)生定長輸出.散列函數(shù)性質(zhì)單向性:對任意給定的碼h,尋求x使得H(x)=h在計算上是不可行的;
弱抗碰撞性:任意給定分組x,尋求不等于x的y,使得H(y)=H(x)在計算上不可行;
強抗碰撞性:尋求對任何的(x,y)對,使得H(x)=H(y)在計算上不可行.2023/6/8212023/6/822迭代型散列函數(shù)的一般結(jié)構(gòu)fffY0Y1YL-1bbbnnnnnIV=CV0CV1CVL-1CVL明文M被分為L個分組Y0,Y1,…,YL-1b:明文分組長度n:輸出hash長度CV:各級輸出,最后一個輸出值是hash值無碰撞壓縮函數(shù)f是設(shè)計的關(guān)鍵2023/6/823SHA算法SecureHashAlgorithm2023/6/824算法簡介美國NIST設(shè)計1993年成為聯(lián)邦信息處理標(biāo)準(zhǔn)(FIPSPUB180)基于MD4算法,與之非常類似。輸入為小于264比特長的任意消息分組512bit長輸出160bit2023/6/825算法描述消息填充:與MD5完全相同附加消息長度:64bit長度緩沖區(qū)初始化A=67452301B=EFCDAB89C=98BADCFBD=10325476E=C3D2E1F0SHA-1算法描述步驟1:添加填充位(一個1和若干個0)。在消息的最后添加適當(dāng)?shù)奶畛湮皇沟脭?shù)據(jù)位的長度滿足length≡448mod512。步驟2:添加長度。一個64位塊,表示原始消息長度,64位無符號整數(shù)。步驟3:初始化MD緩沖區(qū)。一個160位MD緩沖區(qū)用以保存中間和最終散列函數(shù)的結(jié)果。它可以表示為5個32位的寄存器(A,B,C,D,E)。A=67452301B=EFCDAB89C=98BADCFBD=10325476E=C3D2E1F0步驟4:以512位數(shù)據(jù)塊為單位處理消息。四輪,每輪20步。四個基本邏輯函數(shù):f1,f2,f3,f4步驟5:輸出。全部L個512位數(shù)據(jù)塊處理完畢后,輸出160位消息摘要。CV0=IVCVq+1=SUM32(CVq,ABCDEq)MD=CVL壓縮函數(shù)輸入:最大長度為264位的消息;輸出:160位消息摘要;處理:輸入以512位數(shù)據(jù)塊為單位處理;A,B,C,D,E(E+ft(B,C,D)+CLS5(A)+Wt+Kt),A,CLS30(B),C,D)HMAC(帶密鑰的HASH函數(shù))
Hash函數(shù)不使用密鑰,不能直接用于MACHMAC要求可不經(jīng)修改使用現(xiàn)有hash函數(shù)其中鑲嵌的hash函數(shù)可易于替換為更快和更安全的hash函數(shù)保持鑲嵌的hash函數(shù)的最初性能,不因適用于HAMC而使其性能降低以簡單方式使用和處理密鑰在對鑲嵌的hash函數(shù)合理假設(shè)的基礎(chǔ)上,易于分析HMAC用于認證時的密碼強度K+:是K右邊填充若干0成為指定b比特長
opad:特殊填充常數(shù)00110110(十六進制數(shù)36)重復(fù)b/8次ipad:特殊填充常數(shù)01011100(十六進制數(shù)5C)重復(fù)b/8次例如:K是160位,b是512位,則K前面填加44個0字節(jié)(0x00)HMACK=Hash[(K+XORopad)||Hash[(K+XORipad)||M)]]HMAC的安全性取決于hash函數(shù)的安全性證明了算法強度和嵌入的hash函數(shù)強度的確切關(guān)系,即證明了對HMAC攻擊等價于對內(nèi)嵌hash函數(shù)的下述兩種攻擊攻擊者能夠計算壓縮函數(shù)的一個輸出,即使IV是秘密的和隨機的攻擊者能夠找出hash函數(shù)的碰撞,即使IV是隨機的和秘密的。2023/6/838Ch5-消息認證與數(shù)字簽名數(shù)字簽名數(shù)字簽名也是一種認證機制,它是公鑰密碼學(xué)發(fā)展過程中的一個重要組成部分,是公鑰密碼算法的典型應(yīng)用。2023/6/839Ch5-消息認證與數(shù)字簽名數(shù)字簽名數(shù)字簽名需要滿足以下條件:簽名的結(jié)果必須是與被簽名的消息相關(guān)的二進制位串;簽名必須使用發(fā)送方某些獨有的信息(發(fā)送者的私鑰),以防偽造和否認;產(chǎn)生數(shù)字簽名比較容易;識別和驗證簽名比較容易;給定數(shù)字簽名和被簽名的消息,偽造數(shù)字簽名在計算上是不可行的。保存數(shù)字簽名的拷貝,并由第三方進行仲裁是可行的。2023/6/840Ch5-消息認證與數(shù)字簽名數(shù)字簽名的典型使用(1)消息發(fā)送方式與散列函數(shù)對消息進行計算,得到消息的散列值。(2)發(fā)送方使用自己的私鑰對消息散列值進行計算,得到一個較短的數(shù)字簽名串。(3)這個數(shù)字簽名將和消息一起發(fā)送給接收方。(4)接收方首先從接收到的消息中用同樣的散列函數(shù)計算出一個消息摘要,然后使用這個消息摘要、發(fā)送者的公鑰以及收到的數(shù)字簽名,進行數(shù)字簽名合法性的驗證。公鑰簽名方案
利用私鑰生成簽名
利用公鑰驗證簽名
只有私鑰的擁有者才能生成簽名
所以能夠用于證明誰生成的消息
任何知道公鑰的人可以驗證消息
(他們要確認公鑰擁有者的身份,這是公鑰的密鑰分配問題)使用消息的hash值RSA簽名算法
RSA加密解密是可交換的?可以用于數(shù)字簽名方案?給定RSA方案{(e,N),(d,p,q)}?要簽名消息M:計算:h=H(M)?簽名S=hd(modN)
將(M,S)信息發(fā)給接收方。RSA簽名的驗證要驗證簽名,計算:h=H(M)?Se(modN)=h’e.d(modN)=h’(modN)
h’=h?如果完全一樣,則簽名驗證成功否則簽名驗證不成功。數(shù)字簽名標(biāo)準(zhǔn)(DSS)
DSS是數(shù)字簽名標(biāo)準(zhǔn),NIST1994年發(fā)布DSA是數(shù)字簽名算法DSA安全性是基于離散對數(shù)?生成320bit簽名?被廣泛接收2023/6/845Ch5-消息認證與數(shù)字簽名DSA密鑰生成DSA的系統(tǒng)參數(shù)選擇如下:p:512位的大素數(shù)q:160位的素數(shù)且q|p-1;g:滿足g=h(p-1)/qmodpH:為散列函數(shù)選取x:用戶的私鑰,0<x<qy:用戶的公鑰,y=gxmodpp、q、g為系統(tǒng)發(fā)布的公共參數(shù),公鑰y公開;私鑰x保密。2023/6/846Ch5-消息認證與數(shù)字簽名DSA簽名過程設(shè)要簽名的消息為M,0<M<p。簽名者隨機選擇一整數(shù)k,0<k<q,并計算:r=(gkmodp)modqs=[k-1(H(M)+xr)]modq(r,s)即為M的簽名。簽名者將M連同(r,s)一起存放,或發(fā)送給驗證者。2023/6/847Ch5-消息認證與數(shù)字簽名DSA驗證過程驗證者獲得M和(r,s),需要驗證(r,s)是否是M的簽名。首先檢查r和s是否屬于[0,q],若不是,則(r,s)不是簽名值。否則,計算:w=s-1modqu1=(H(M)w)modqu2=r.wmodqv=((gu1yu2)modp)modq如果v=r,則所獲得的(r,s)是M的合法簽名。DSA實例在數(shù)字簽名標(biāo)準(zhǔn)DSS中,假設(shè)p=83,q=41,h=2。求:(1)參數(shù)g;(2)取私鑰x=57,求公鑰y;(3)設(shè)消息m=56,取隨機數(shù)k=25,求M的簽名;(4)對m=56的上述簽名進行驗證。(注:為了簡化,用m代替SHA(m))。(1)g=h(p-1)/qmodp=22mod83=4(2)
私鑰x=57
公鑰y=gxmodp=457mod83
=77(3)DSA簽名過程
選隨機數(shù)
K=23,K-1=25MOD41(K.K-1=1*modq)r=(gkmodp)modq=(423mod83)mod41
=51mod41=10S=k-1(m+xr)modq=25(56+57*10)mod41=29DSA驗證過程w=s-1modq=29-1mod41=21u1=(H(M)w)modq=(56*21)mod41=28u2=rwmodq=10*21mod41=5v=((gu1yu2)modp)modq
=(428*775mod83)mod41=10=r所以簽名驗證成功。2023/6/851Ch5-消息認證與數(shù)字簽名仲裁數(shù)字簽名
仲裁簽名中除了通信雙方外,還有一個仲裁方發(fā)送方A發(fā)送給B的每條簽名的消息都先發(fā)送給仲裁者T,T對消息及其簽名進行檢查以驗證消息源及其內(nèi)容,檢查無誤后給消息加上日期再發(fā)送給B,同時指明該消息已通過仲裁者的檢驗。仲裁數(shù)字簽名實際上涉及到多余一步的處理,仲裁者的加入使得對于消息的驗證具有了實時性。2023/6/8仲裁數(shù)字簽名Alice(A)Bob(B)Trent(T)M,Eat(IDa,H(M))Ebt(IDa,M,Eat(Ida,H(M)),T))Alice(A)Bob(B)Trent(T)Eab(M),Eat(IDa,Eab(H(M)))Ebt(IDa,Eab(M),Eat(Ida,Eab(H(M),T)Alice(A)Bob(B)Trent(T)Ida,Sa(Ida,Eb(Sa(M)))St(IDa,Eb(Sa(M)),T)對稱密碼+明文傳送對稱密碼+密文傳送公鑰密碼+密文傳送2023/6/853Ch5-消息認證與數(shù)字簽名仲裁數(shù)字簽名基于對稱密碼的方案(1)AT:M||EKAT[IDA||H(M)](2)TB:EKTB[IDA||M||EKAT[IDA||H(M)]||T]仲裁數(shù)字簽名基于公鑰密碼的方案(1)AT:IDA||EPRA[IDA||
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度民間借貸論文文獻綜述與綜述寫作合同
- 2025年度配套服務(wù)用房租賃合同解除協(xié)議
- 二零二五年度木板行業(yè)人才培養(yǎng)與技術(shù)交流合同
- 二零二五年度木門產(chǎn)品線上線下營銷推廣合同范本
- 2025年度冷鏈運輸車輛租賃及運輸服務(wù)合同3篇
- 二零二五年度合伙經(jīng)營圖書書店合同書模板2篇
- 2025年建筑用磚采購與質(zhì)量控制管理合同3篇
- 二零二五年度排水溝施工工程進度款支付及結(jié)算合同
- 課題申報參考:農(nóng)村父母養(yǎng)育倦怠所致兒童手游依賴之危害及其矯正機制研究
- 二零二五版耐火材料行業(yè)環(huán)保設(shè)施建設(shè)合同4篇
- 電纜擠塑操作手冊
- 浙江寧波鄞州區(qū)市級名校2025屆中考生物全真模擬試卷含解析
- 2024-2025學(xué)年廣東省深圳市南山區(qū)監(jiān)測數(shù)學(xué)三年級第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- IATF16949基礎(chǔ)知識培訓(xùn)教材
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)知能訓(xùn)練與指導(dǎo)-西北農(nóng)林科技大學(xué) 中國大學(xué)慕課MOOC答案
- 勞務(wù)派遣公司員工考核方案
- 基礎(chǔ)生態(tài)學(xué)-7種內(nèi)種間關(guān)系
- 2024年光伏農(nóng)田出租合同范本
- 《阻燃材料與技術(shù)》課件 第3講 阻燃基本理論
- 2024-2030年中國黃鱔市市場供需現(xiàn)狀與營銷渠道分析報告
- 新人教版九年級化學(xué)第三單元復(fù)習(xí)課件
評論
0/150
提交評論