數據完整性與數字簽名.ppt
《數據完整性與數字簽名.ppt》由會員分享,可在線閱讀,更多相關《數據完整性與數字簽名.ppt(74頁珍藏版)》請在裝配圖網上搜索。
1,第三章數據完整性與數字簽名,3.1消息認證與認證系統(tǒng)3.2消息鑒別碼3.3散列函數3.4數字簽名3.5數字簽名算法,2,消息認證是一個過程,用于驗證接收消息的真實性和完整性,同時還用于驗證消息的順序性和時間性(未重排、重放、延時)。消息認證機制和數字簽名機制都有一個產生認證符的基本功能,認證符是用于認證消息的數值。產生的方法分為消息加密,消息認證碼,散列函數。,3.1消息認證與認證系統(tǒng),3,網絡通信的攻擊威脅,泄露:把消息內容發(fā)布給任何人或沒有合法密鑰的進程流量分析:發(fā)現(xiàn)通信雙方之間信息流的結構模式,可以用來確定連接的頻率、持續(xù)時間長度;還可以發(fā)現(xiàn)報文數量和長度等偽裝:從一個假冒信息源向網絡中插入消息內容篡改:消息內容被插入、刪除、變換、修改順序修改:插入、刪除或重組消息序列時間修改:消息延遲或重放否認:接受者否認收到消息;發(fā)送者否認發(fā)送過消息,4,鑒別和認證,鑒別:authentication真?zhèn)涡?1)用來驗證發(fā)送的數據,特別是一個信息的完整性的過程(2)在用戶開始使用系統(tǒng)時對其身份進行的確認認證:Certification資格審查計算安全學用語,指為了鑒定一個計算機系統(tǒng)或網絡的設計和它提供的手段在多大程度上能滿足預定的安全要求而進行的技術評估,5,鑒別的結構,任何消息認證或數字簽名機制可以看到兩個層次:底層必須有某種函數產生一個認證標識:一個用于認證一個報文的值高層認證協(xié)議以底層函數為原語,使接收者完成報文的鑒別,6,鑒別的目的,信源識別:驗證信息的發(fā)送者是真正的,而不是冒充的驗證信息的完整性,在傳送或存儲過程中未被篡改,重放或延遲等,7,鑒別模型,8,鑒別系統(tǒng)的組成,鑒別編碼器和鑒別譯碼器可抽象為鑒別函數一個安全的鑒別系統(tǒng),需滿足(1)指定的接收者能夠檢驗和證實消息的合法性、真實性和完整性(2)消息的發(fā)送者和接收者不能抵賴(3)除了合法的消息發(fā)送者,其它人不能偽造合法的消息,9,鑒別函數分類,消息加密:整個消息的密文作為認證標識消息鑒別碼(MAC):公開函數+密鑰產生一個固定長度的值作為認證標識散列函數:一個公開函數將任意長度的消息映射到一個固定長度的哈希值,作為認證標識,10,消息加密,11,對稱加密-保密和鑒別,A,B,12,對稱加密-保密和鑒別,13,公鑰加密-保密性,A,B,14,公鑰加密-鑒別和簽名,A,B,15,公鑰加密-保密、鑒別和簽名,A,B,16,消息鑒別碼MAC,17,消息鑒別碼,使用一個密鑰生成一個固定大小的小數據塊,并加入到消息中,稱MAC,或密碼校驗和(cryptographicchecksum)1、接收者可以確信消息M未被改變2、接收者可以確信消息來自所聲稱的發(fā)送者3、如果消息中包含順序碼,則接收者可以保證消息的正常順序MAC函數類似于加密函數,但不需要可逆性。因此在數學上比加密算法被攻擊的弱點要少,18,消息鑒別,A,B,||,19,消息鑒別與保密,鑒別與明文連接,A,B,||,20,消息鑒別VS常規(guī)加密,保密性與真實性是兩個不同的概念根本上,信息加密提供的是保密性而非真實性加密代價大(公鑰算法代價更大)鑒別函數與保密函數的分離能提供功能上的靈活性某些信息只需要真實性,不需要保密性–廣播的信息難以使用加密(信息量大)–網絡管理信息等只需要真實性–政府/權威部門的公告,21,散列函數HashFunction,22,散列函數,H(M):輸入為任意長度的消息M;輸出為一個固定長度的散列值,稱為消息摘要(MessageDigest)H(M)是消息M的所有位的函數并提供錯誤檢測能力:消息中的任何一位或多位的變化都將導致該散列值的變化H(M)又稱為:哈希函數、數字指紋(Digitalfingerprint)、壓縮(Compression)函數、數據鑒別碼(Dataauthenticationcode)等,23,散列函數基本用法,||,24,散列函數基本用法,25,散列函數基本用法,||,26,3.2消息鑒別碼MAC,27,M,K,MAC,函數域:任意長度的報文值域:所有可能的MAC和所有可能的密鑰MAC一般為多對一函數,28,MAC應具備的性質,如果一個攻擊者得到M和CK(M),則攻擊者構造一個消息M’使得CK(M’)=CK(M)應具有計算復雜性意義下的不可行性CK(M)應均勻分布,即:隨機選擇消息M和M’,CK(M)=CK(M’)的概率是2-n,其中n是MAC的位數令M’為M的某些變換,即:M’=f(M),(例如:f可以涉及M中一個或多個給定位的反轉),在這種情況下,Pr[CK(M)=CK(M’)]=2-n,29,基于DES的報文鑒別碼,30,基于DES的報文鑒別碼,算法來源FIPSpublication(FIPSPUB113)ANSIstandard(X9.17)使用CBC(CipherBlockChaining)方式,初始向量為IV=0,31,基于DES的報文鑒別碼,將數據按64位分組,D1,D2,…,DN,必要時最后一個數據塊用0向右填充運用DES算法E,密鑰K數據認證碼(DAC)的計算如下:O1=EK(D1)O2=EK(D2?O1)O3=EK(D3?O2)…ON=EK(DN?ON-1),32,FIPSPUB113,,33,3.3散列函數,34,散列函數的定義,散列函數:M:變長報文H(M):定長的散列值主要用于為文件、報文或其它分組數據產生指紋,35,散列函數的要求,H能用于任意大小的分組H能產生定長的輸出對任何給定的x,H(x)要相對易于計算,使得硬件和軟件實現(xiàn)成為實際可能對任何給定的碼h,尋找x使得H(x)=h在計算上是不可行的,即單向性對任何給定的分組x,尋找不等于x的y,使得H(x)=H(y)在計算上是不可行的,即弱抗沖突性尋找對任何的(x,y)對使得H(x)=H(y)在計算上是不可行的,即強抗沖突性,36,HashvsMAC,MAC需要對全部數據進行加密MAC速度慢Hash是一種直接產生鑒別碼的方法,37,Hash函數通用結構,由RonRivest于1990年提出MD4幾乎被所有hash函數使用具體做法:–把原始消息M分成一些固定長度的塊Yi–最后一塊padding并使其包含消息M長度–設定初始值CV0–壓縮函數f,CVi=f(CVi-1,Yi-1)–最后一個CVi為hash值,38,39,MD5,40,MD5描述,Merkle于1989年提出hashfunction模型RonRivest于1990年提出MD41992年,RonRivest完成MD5(RFC1321)在最近數年之前,MD5是最主要的hash算法現(xiàn)行美國標準SHA-1以MD5的前身MD4為基礎,41,MD5描述,輸入:任意長度的報文輸入分組長度:512bit輸出:128bit報文,42,43,MD5描述-step1,附加長度值對報文進行填充,使其比特數與448模512同余,即填充長度為512的整數倍減去64填充方法:填充比特串的最高位為1,其余各位均為0,44,MD5描述-step2,附加長度值|M2|為512的倍數:Y0,Y1,…,YL-1,45,MD5描述-step3,初始化MD緩存MD為128bit,用于存放散列函數的中間及最終結果MD可表示為4個32bit的寄存器(A,B,C,D),初始化如下:A=0 x01234567,B=0 x89ABCDEF,C=0 xFEDCBA98,D=0 x76543210。,46,MD5描述-step4,47,單個512bit分組的MD5處理過程(MD5壓縮函數),,,48,每步操作形式,49,,50,單個512bit分組的MD5處理過程(MD5壓縮函數),,Yq經過四輪的處理,每一輪經過16次迭代,每次迭代加上報文分組的第i個32位的字。在不同的輪,使用報文的分組順序是不同的,,51,MD5的安全性,Berson表明,對單循環(huán)MD5,使用不用的密碼分析可能在合理的時間內找出能夠產生相同摘要的兩個報文,這個結果被證明對四個循環(huán)中的任意一個循環(huán)也成立,但作者沒有能夠提出如何攻擊包含全部4個循環(huán)MD5的攻擊Boer和Bosselaers顯示了即使緩存ABCD不同,MD5對單個512bit分組的執(zhí)行將得到相同的輸出(偽沖突)Dobbertin的攻擊技術:使MD5的壓縮函數產生沖突,即尋找MD5被認為是易受攻擊的,逐漸被SHA-1和RIPEMD-160替代,52,其它常用Hash算法,SHA-1,RIPEMD-160,HMAC,53,Hash小結,Hash函數把變長信息映射到定長信息Hash函數不具備可逆性Hash函數速度較快Hash函數與對稱密鑰加密算法有某種相似性對Hash函數的密碼分析比對稱密鑰密碼更困難Hash函數可用于消息摘要Hash函數可用于數字簽名,54,3.4數字簽名,傳統(tǒng)簽名的基本特點能與被簽的文件在物理上不可分割簽名者不能否認自己的簽名簽名不能被偽造容易被驗證數字簽名是傳統(tǒng)簽名的數字化能與所簽文件“綁定”簽名者不能否認自己的簽名容易被自動驗證簽名不能被偽造,55,數字簽名的性質,必須能夠驗證作者及其簽名的日期時間必須能夠認證簽名時刻的內容簽名必須能夠由第三方驗證,以解決爭議,56,數字簽名的設計要求,簽名必須是依賴于被簽名信息的一個位串模板簽名必須使用某些對發(fā)送者是唯一的信息,以防止雙方的偽造與否認必須相對容易生成該數字簽名必須相對容易識別和驗證該數字簽名偽造該數字簽名在計算復雜性意義上具有不可行性,既包括對一個已有的數字簽名構造新的消息,也包括對一個給定消息偽造一個數字簽名在存儲器中保存一個數字簽名副本是現(xiàn)實可行的,57,數字簽名分類,簽名方式直接數字簽名directdigitalsignature仲裁數字簽名arbitrateddigitalsignature安全性無條件安全的數字簽名計算上安全的數字簽名可簽名次數一次性的數字簽名多次性的數字簽名,58,直接數字簽名,59,直接數字簽名,60,直接數字簽名,61,直接數字簽名的缺點,驗證模式依賴于發(fā)送方的保密密鑰–發(fā)送方要抵賴發(fā)送某一消息時,可能會聲稱其私有密鑰丟失或被竊,從而他人偽造了他的簽名–通常需要采用與私有密鑰安全性相關的行政管理控制手段來制止或至少是削弱這種情況,但威脅在某種程度上依然存在–改進的方式例如可以要求被簽名的信息包含一個時間戳(日期與時間),并要求將已暴露的密鑰報告給一個授權中心X的某些私有密鑰確實在時間T被竊取,敵方可以偽造X的簽名及早于或等于時間T的時間戳,62,仲裁數字簽名,63,仲裁數字簽名,引入仲裁者–所有從發(fā)送方X到接收方Y的簽名消息首先送到仲裁者A–A將消息及其簽名進行一系列測試,以檢查其來源和內容–A將消息加上日期并與已被仲裁者驗證通過的指示一起發(fā)給Y仲裁者在這一類簽名模式中扮演敏感和關鍵的角色–所有的參與者必須極大地相信這一仲裁機制工作正常,64,仲裁數字簽名-單密鑰加密方式1,65,仲裁數字簽名-單密鑰加密方式,66,仲裁數字簽名-單密鑰加密方式2,67,仲裁數字簽名-雙密鑰加密方式,68,仲裁數字簽名-雙密鑰加密方式,69,3.5數字簽名算法,普通數字簽名算法–EIGamal–RSA–DSS/DSA不可否認的數字簽名算法群簽名算法盲簽名算法,70,數字簽名算法DSA,71,DSA,q,72,DSA,73,DSA,s,M,H,||,M,H,,,比較,,Sig,,Ver,,,k,,,,,,PKG,SKA,,,r,,,,,,,,,,,,,PKG,PKA,DSA簽字,K為隨機數,Sig為簽字算法,Ver為驗證算法;PKG全局公鑰,74,DSA分析,基于離散對數的難度,對手通過r恢復k,或通過s恢復x都很難簽名產生的計算任務僅是計算另一個需要完成的工作只是確定逆元,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 數據 完整性 數字簽名
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.3dchina-expo.com/p-12866423.html