《網(wǎng)絡(luò)空間安全導(dǎo)論》 課件 13-密碼學(xué)基礎(chǔ)06-哈希算法;07-數(shù)字簽名與電子證書_第1頁
《網(wǎng)絡(luò)空間安全導(dǎo)論》 課件 13-密碼學(xué)基礎(chǔ)06-哈希算法;07-數(shù)字簽名與電子證書_第2頁
《網(wǎng)絡(luò)空間安全導(dǎo)論》 課件 13-密碼學(xué)基礎(chǔ)06-哈希算法;07-數(shù)字簽名與電子證書_第3頁
《網(wǎng)絡(luò)空間安全導(dǎo)論》 課件 13-密碼學(xué)基礎(chǔ)06-哈希算法;07-數(shù)字簽名與電子證書_第4頁
《網(wǎng)絡(luò)空間安全導(dǎo)論》 課件 13-密碼學(xué)基礎(chǔ)06-哈希算法;07-數(shù)字簽名與電子證書_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

密碼學(xué)基礎(chǔ)06

哈希算法理解哈希算法作用理解哈希算法的應(yīng)用場景教學(xué)目標(biāo)哈希函數(shù)概念哈希算法MD5SHAHMAC介紹目錄哈希函數(shù)也可以稱為雜湊函數(shù)哈希函數(shù)H是公開函數(shù),用于將任意長的消息M映射為較短的、固定長度的一個值H(M),稱函數(shù)值H(M)為雜湊值、哈希值或消息摘要。哈希函數(shù)哈希函數(shù)的條件哈希函數(shù)的目的是為需認(rèn)證的數(shù)據(jù)產(chǎn)生一個“指紋”。為了能夠?qū)崿F(xiàn)對數(shù)據(jù)的認(rèn)證,哈希函數(shù)應(yīng)滿足以下條件:①函數(shù)的輸入可以是任意長。②函數(shù)的輸出是固定長。③已知x,求H(x)較為容易,可用硬件或軟件實現(xiàn)。④已知h,求使得H(x)=h的x在計算上是不可行的,這一性質(zhì)稱為函數(shù)的單向性,稱H(x)為單向雜湊函數(shù)。哈希函數(shù)⑤已知x,找出y(y≠x)使得H(y)=H(x)在計算上是不可行的。如果單向雜湊函數(shù)滿足這一性質(zhì),則稱其為弱單向雜湊函數(shù)。⑥找出任意兩個不同的輸入x、y,使得H(y)=H(x)在計算上是不可行的。如果單向雜湊函數(shù)滿足這一性質(zhì),則稱其為強(qiáng)單向雜湊函數(shù)。第⑤和第⑥個條件給出了雜湊函數(shù)無碰撞性的概念,如果雜湊函數(shù)對不同的輸入可產(chǎn)生相同的輸出,則稱該函數(shù)具有碰撞性。哈希函數(shù)生日悖論

在k人中,有兩人生日相同的概率為0.5時,k有多大?定義:設(shè)有k個整數(shù)項,每項在1到n之間等可能取值。則k個整數(shù)項中至少有兩個取值相同的概率為P(n,k);k個數(shù)據(jù)項中任意兩個取值都不同的概率,記為Q(n,k)生日悖論求P(365,k)≥0.5的最小k哈希函數(shù)生日悖論常規(guī)理解是k≥365/2時,P(365,k)≥0.5實際上k≤365,k個數(shù)據(jù)項中任意兩個都不相同的所有取值方式數(shù)為經(jīng)測算 P(365,23)=0.5073 P(365,100)=0.9999997哈希函數(shù)將生日悖論推廣為下述問題:已知一個在1到n之間均勻分布的整數(shù)型隨機(jī)變量,若該變量的k個取值中至少有兩個取值相同的概率大于0.5,則k至少多大?與上類似,

令P(n,k)>0.5,可得若取n=365,則

哈希函數(shù)生日悖論的本質(zhì)就是隨著元素的增多,出現(xiàn)重復(fù)元素的概率會以驚人速度增長,而并非我們認(rèn)為的線性增長。哈希函數(shù)的碰撞性,就是我們所提到的生日攻擊。隨著k值增長,哈希函數(shù)發(fā)生碰撞的概率是否會極速增大?哈希函數(shù)

哈希函數(shù)MD4是MD5雜湊算法的前身,由RonRivest于1990年10月作為RFC提出,1992年4月公布的MD4的改進(jìn)(RFC1320,1321)稱為MD5。MD5算法采用迭代型雜湊函數(shù)的一般結(jié)構(gòu)。算法的輸入為任意長的消息,分為512比特長的分組,輸出為128比特的消息摘要。MD5算法MD5算法MD5處理步驟對消息填充,使得其比特長在模512下為448。附加消息的長度用步驟①留出的64比特以little-endian方式來表示消息被填充前的長度。如果消息長度大于264,則以264為模數(shù)取模。對MD緩沖區(qū)初始化算法使用128比特長的緩沖區(qū)以存儲中間結(jié)果和最終雜湊值,緩沖區(qū)可表示為4個32比特長的寄存器(A,B,C,D)以分組為單位對消息進(jìn)行處理每一分組都經(jīng)一壓縮函數(shù)HMD5處理。HMD5是算法的核心。MD5算法MD5算法HMD5的4輪處理過程結(jié)構(gòu)一樣,但所用的邏輯函數(shù)不同,分別表示為F、G、H、I。輸入:當(dāng)前處理的消息分組Yq和緩沖區(qū)的當(dāng)前值輸出:第4輪的輸出與第1輪的輸入CVq相加MD5的安全性目前對MD5的攻擊已取得以下結(jié)果對單輪MD5使用差分密碼分析,可在合理的時間內(nèi)找出具有相同雜湊值的兩個消息??烧页鲆粋€消息分組和兩個相關(guān)的鏈接變量(即緩沖區(qū)變量ABCD),使得算法產(chǎn)生出相同的輸出。對單個512比特長的消息分組已成功地找出了碰撞,即可找出另一個消息分組,使得算法對兩個消息分組的128比特長的輸出相同。MD5算法SHA家族的五個算法:分別是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,后四者可并稱為SHA-2,而SHA-2是組合值,有不同的位數(shù),其中最受歡迎的是256位。SHA-1和SHA-2是該算法不同的兩個版本,它們的構(gòu)造和簽名的長度都有所不一樣,但可以把SHA-2理解為SHA-1的繼承者。SHA1和SHA2由于SHA與MD5都是由MD4演化而來,所以兩個算法極為相似??箵舾F搜索攻擊的強(qiáng)度高于MD5抗擊窮搜索攻擊的強(qiáng)度。由于SHA的設(shè)計準(zhǔn)則未被公開,所以它抗擊密碼分析攻擊的強(qiáng)度較難判斷,似乎高于MD5的強(qiáng)度。SHA的速度要比MD5的速度慢。兩個算法描述起來都較為簡單,實現(xiàn)起來也較為簡單,都不需要大的程序和代換表。MD5使用little-endian方式,SHA使用big-endian方式。SHA1和SHA2在密碼學(xué)中,消息認(rèn)證碼(Messageauthenticationcode)被簡稱為MAC。又稱消息鑒別碼,文件消息認(rèn)證碼,信息認(rèn)證碼。MAC是經(jīng)過特定算法后產(chǎn)生的一小段信息,檢查某段消息的完整性,以及作身份驗證。MAC算法與哈希函數(shù)最大區(qū)別在于,MAC加入了密鑰到運算中。MACMAC眾多MAC算法里面,HMAC是最流行的之一RFC2104公布HMAC,并在IPSec和其他網(wǎng)絡(luò)協(xié)議(如SSL)中廣泛應(yīng)用。RFC2104列舉了HMAC的以下設(shè)計目標(biāo):可不經(jīng)修改而使用現(xiàn)有的雜湊函數(shù)鑲嵌的雜湊函數(shù)可易于替換為更快或更安全的雜湊函數(shù)。保持鑲嵌的雜湊函數(shù)的最初性能,不因用于HMAC而使其性能降低以簡單方式使用和處理密鑰易于分析HMAC用于認(rèn)證時的密碼強(qiáng)度MAC算法的輸出可如下表示:MAC算法的運行過程可描述如下:K的左邊填充0以產(chǎn)生一個b比特長的K+(例如K的長為160比特,b=512,則需填充44個零字節(jié)0x00)。K+與ipad逐比特異或以產(chǎn)生b比特的分組Si。將M鏈接到Si后。將H作用于步驟3產(chǎn)生的數(shù)據(jù)流。K+與opad逐比特異或,以產(chǎn)生b比特長的分組S0。將步驟4得到的雜湊值鏈接在S0后。將H作用于步驟6產(chǎn)生的數(shù)據(jù)流并輸出最終結(jié)果。MAC理解哈希算法作用理解MAC與哈希的應(yīng)用關(guān)系想一下,在哪里見到過哈希值?總結(jié)密碼學(xué)基礎(chǔ)07

數(shù)字簽名與電子證書學(xué)習(xí)數(shù)字簽名及應(yīng)用教學(xué)目標(biāo)數(shù)字簽名的基本概念數(shù)字簽名標(biāo)準(zhǔn)x.509認(rèn)證SSL/TLS介紹目錄在收發(fā)雙方未建立起完全的信任關(guān)系且存在利害沖突的情況下,僅僅使用MAC就可能仍然不夠安全。數(shù)字簽名技術(shù)用于解決此類問題。數(shù)字簽名具有以下性質(zhì):能夠驗證簽字產(chǎn)生者的身份,以及產(chǎn)生簽字的日期和時間。能用于證實被簽消息的內(nèi)容。數(shù)字簽字可由第三方驗證,從而能夠解決通信雙方的爭議。數(shù)字簽名基本概念為實現(xiàn)上述3條性質(zhì),數(shù)字簽字應(yīng)滿足以下要求:簽字的產(chǎn)生必須使用發(fā)方獨有的一些信息以防偽造和否認(rèn)。簽字的產(chǎn)生應(yīng)較為容易。簽字的識別和驗證應(yīng)較為容易。對已知的數(shù)字簽字構(gòu)造一新的消息或?qū)σ阎南?gòu)造一假冒的數(shù)字簽字在計算上都是不可行的。數(shù)字簽名基本概念數(shù)字簽字標(biāo)準(zhǔn)DSS(DigitalSignatureStandard)是由美國NIST公布的聯(lián)邦信息處理標(biāo)準(zhǔn)FIPSPUB186,其中采用了上一章介紹的SHA和一種新的簽字技術(shù),稱為DSA(DigitalSignatureAlgorithm)。DSS最初于1991年公布,在考慮了公眾對其安全性的反饋意見后,于1993年公布了其修改版。數(shù)字簽名標(biāo)準(zhǔn)DSS與RSA比較RSA算法既能用于加密和簽名,又能用于密鑰交換。DSS使用的算法只能提供數(shù)字簽字功能數(shù)字簽名標(biāo)準(zhǔn)DSA的步驟數(shù)字簽名標(biāo)準(zhǔn)DSA的步驟,上圖中pgq為全局公開鑰x為用戶私鑰y為用戶公鑰k為用戶秘密選取的隨機(jī)數(shù)最終簽名為(r,s)r由一系列公鑰算出,s由消息原文算出。r可用于第三方驗證s用于完整性與真實性數(shù)字簽名標(biāo)準(zhǔn)X.509是密碼學(xué)里公鑰證書的格式標(biāo)準(zhǔn)

X.509證書己應(yīng)用在包括TLS/SSL在內(nèi)的眾多Intenet協(xié)議里X.509證書里含有公鑰、身份信息(比如網(wǎng)絡(luò)主機(jī)名,組織的名稱或個體名稱等)和簽名信息x.509證書X.509的格式x.509證書X.509有多種常用的擴(kuò)展名。但具有這個擴(kuò)展名的文件可能并不是證書,比如說可能只是保存了私鑰.pem–DER編碼的證書再進(jìn)行Base64編碼后存放在"-----BEGINCERTIFICATE-----"和"-----ENDCERTIFICATE-----"之中.cer,.crt,.der–通常是DER二進(jìn)制格式的,也可Base64編碼。.p7b,.p7c–PKCS#7是簽名或加密數(shù)據(jù)的格式標(biāo)準(zhǔn),不包含數(shù)據(jù).p12–PKCS#12格式,包含證書的同時可能還有帶密碼保護(hù)的私鑰.pfx–PFX,PKCS#12之前的格式(通常用PKCS#12格式,比如那些由IIS產(chǎn)生的PFX文件)x.509證書x.509證書申請過程組織機(jī)構(gòu)通過發(fā)起證書簽名請求(CSR)來得到一份簽名的證書。CSR包含有請求發(fā)起者的身份信息,用來對此請求進(jìn)行驗真的的公鑰以及所請求證書專有名稱。CA對這個專有名稱發(fā)布一份證書,并綁定一個公鑰。組織機(jī)構(gòu)可以把受信的根證書分發(fā)給所有的成員(現(xiàn)在操作系統(tǒng)、瀏覽器都已內(nèi)置了知名的CA根證書)x.509證書CA為用戶產(chǎn)生的證書應(yīng)有以下特性:其他任一用戶只要得到CA的公開鑰,就能由此得到CA為用戶簽署的公開鑰;除CA以外,任何其他人都不能以不被察覺的方式修改證書的內(nèi)容。x.509證書證書鏈?zhǔn)菑慕K端用戶證書后跟著一系列的CA證書,直到一個受信任的CA根證書證書鏈用于檢查目標(biāo)證書(證書鏈里的用戶證書)里的公鑰及其它數(shù)據(jù)是否屬于其主體。x.509證書交叉認(rèn)證讓PKI2的用戶證書也得到用戶User1信任CA1生成一包含CA2公鑰的證書cert2.1(User2)就有了兩條合法的證書鏈:cert2.2→cert2"cert2.2→cert2.1→cert1

x.509證書X.509證書廣泛應(yīng)用在SSL/TLS協(xié)議中,即我們常見的HTTPS站點SSL/TLS介紹(1).client_hello

客戶端發(fā)起請求,以明文傳輸請求信息,包含版本信息,加密套件候選列表,壓縮算法候選列表,隨機(jī)數(shù),擴(kuò)展字段等信息,相關(guān)信息如下:

支持的最高TSL協(xié)議版本version,從低到高依次SSLv2SSLv3TLSv1TLSv1.1TLSv1.2

客戶端支持的加密套件ciphersuites列表,每個加密套件對應(yīng)四個功能的組合:認(rèn)證算法Au(身份驗證)、密鑰交換算法KeyExchange、對稱加密算法

和信息摘要Mac?隨機(jī)數(shù)random_C,用于后續(xù)的密鑰的生成;SSL/TLS介紹

(2).server_hello+server_certificate+sever_hello_doneserver_hello,服務(wù)端返回協(xié)商的信息結(jié)果server_certificates,服務(wù)器端配置對應(yīng)的證書鏈,用于身份驗證與密鑰交換;server_hello_done,通知客戶端server_hello信息發(fā)送結(jié)束;SSL/TLS介紹(3).證書校驗

客戶端驗證證書的合法性,如果驗證通過才會進(jìn)行后續(xù)通信,否則根據(jù)錯誤情況不同做出提示和操作,合法性驗證包括如下:[證書鏈]的可信性trustedcertificatepath,方法如前文所述;

證書是否吊銷revocation,有兩類方式離線CRL與在線OCSP,不同的客戶端行為會不同;

有效期expirydate,證書是否在有效時間范圍;

域名domain,核查證書域名是否與當(dāng)前的訪問域名匹配;SSL/TLS介紹

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論