版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本PPT是機(jī)械工業(yè)出版社出版的教材《網(wǎng)絡(luò)攻防原理與技術(shù)(第3版)》配套教學(xué)PPT(部分內(nèi)容的深度和廣度比教材有所擴(kuò)展),作者:吳禮發(fā),洪征,李華波本PPT可能會直接或間接采用了網(wǎng)上資源或公開學(xué)術(shù)報(bào)告中的部分PPT頁面、圖片、文字,引用時(shí)我們力求在該P(yáng)PT的備注欄或標(biāo)題欄中注明出處,如果有疏漏之處,敬請諒解。同時(shí)對被引用資源或報(bào)告的作者表示誠摯的謝意!本PPT可免費(fèi)使用、修改,使用時(shí)請保留此頁。聲明第二章密碼學(xué)基礎(chǔ)知識內(nèi)容提要密碼學(xué)概述1對稱密碼體制234公開密碼體制散列函數(shù)5密鑰管理6密碼分析密碼案例1942年6月,在關(guān)系到日美太平洋戰(zhàn)爭轉(zhuǎn)折點(diǎn)的中途島海戰(zhàn)中,日軍出現(xiàn)了兩起嚴(yán)重泄密事件:一是在戰(zhàn)役發(fā)起前夕,日海軍第二聯(lián)合特別陸戰(zhàn)隊(duì)的一個副官,用低等級密碼發(fā)電說:六月五日以后,本部隊(duì)的郵件請寄到中途島。二是日軍軍港的一個后勤部門,用簡易密碼與擔(dān)任進(jìn)攻中途島任務(wù)的部隊(duì)聯(lián)系淡水供應(yīng)問題。結(jié)果,以上兩電均被設(shè)在珍珠港的美國海軍破譯,從而掌握了日軍進(jìn)攻中途島的日期和兵力,致使日軍在戰(zhàn)役中遭到慘敗。密碼技術(shù)密碼技術(shù)通過對信息的變換或編碼,將機(jī)密的敏感信息變換成攻擊者難以讀懂的亂碼型信息,以此達(dá)到兩個目的:使攻擊者無法從截獲的信息中得到任何有意義信息;使攻擊者無法偽造任何信息。密碼技術(shù)不僅可以解決網(wǎng)絡(luò)信息的保密性,而且可用于解決信息的完整性、可用性及不可否認(rèn)性,是網(wǎng)絡(luò)安全技術(shù)的核心和基石,是攻防都需了解的技術(shù)。概念:密碼系統(tǒng)密碼系統(tǒng)(Cryptosystem),也稱為密碼體制,用數(shù)學(xué)符號描述為:S={M,C,K,E,D}M是明文空間,表示全體明文集合。明文是指加密前的原始信息,即需要隱藏的信息;C是密文空間,表示全體密文的集合。密文是指明文被加密后的信息,一般是毫無識別意義的字符序列;K是密鑰或密鑰空間。密鑰是指控制加密算法和解密算法得以實(shí)現(xiàn)的關(guān)鍵信息,可分為加密密鑰和解密密鑰,兩者可相同也可不同;密碼算法是指明文和密文之間的變換法則,其形式一般是計(jì)算某些量值或某個反復(fù)出現(xiàn)的數(shù)學(xué)問題的求解公式,或者相應(yīng)的程序。E是加密算法,D是解密算法。解密算法是加密算法的逆運(yùn)算,且其對應(yīng)關(guān)系是唯一的。典型密碼系統(tǒng)組成發(fā)送者加密器c=E(k1,m)解密器m=D(k2,
c)接收者密鑰產(chǎn)生器非法侵入者密碼分析員(竊聽者)密鑰信道m(xù)ccmm’=h(c)k1k2主動攻擊被動攻擊密鑰信道概念:密碼學(xué)密碼學(xué)(cryptology):是一門關(guān)于發(fā)現(xiàn)、認(rèn)識、掌握和利用密碼內(nèi)在規(guī)律的科學(xué),由密碼編碼學(xué)(cryptography)和密碼分析學(xué)(cryptanalysis)組成。密碼編碼學(xué)對信息進(jìn)行編碼實(shí)現(xiàn)信息隱藏的一門學(xué)科。主要依賴于數(shù)學(xué)知識。主要方法有:換位、代換、加亂密碼系統(tǒng)的安全策略密碼系統(tǒng)可以采用的兩種安全策略:基于算法保密和基于密碼保護(hù)。基于算法保密的策略有沒有什么不足之處??算法的開發(fā)非常復(fù)雜。一旦算法泄密,重新開發(fā)需要一定的時(shí)間;不便于標(biāo)準(zhǔn)化:由于每個用戶單位必須有自己的加密算法,不可能采用統(tǒng)一的硬件和軟件產(chǎn)品;不便于質(zhì)量控制:用戶自己開發(fā)算法,需要好的密碼專家,否則對安全性難于保障。密碼系統(tǒng)的設(shè)計(jì)要求設(shè)計(jì)要求:系統(tǒng)即使達(dá)不到理論上不可破譯,也應(yīng)該是實(shí)際上不可破譯的(也就是說,從截獲的密文或某些已知的明文和密文對,要決定密鑰或任意明文在計(jì)算上是不可行的);加密算法和解密算法適用于所有密鑰空間的元素;系統(tǒng)便于實(shí)現(xiàn)和使用方便;系統(tǒng)的保密性不依賴于對加密體制或算法的保密,而依賴于密鑰(著名的Kerckhoff原則,現(xiàn)代密碼學(xué)的一個基本原則)。密碼體制分類密碼體制從原理上分為兩類:單鑰密碼體制(One-keySystem)或?qū)ΨQ密碼體制(SymmetricCryptosystem)雙鑰密碼體制(Two-KeySystem)或公開密碼體制(PublicKeyCryptosystem)公開與對稱結(jié)合:鏈?zhǔn)郊用埽〝?shù)字信封)兩種密碼體制的綜合應(yīng)用密碼學(xué)發(fā)展簡史(1/4)一般來說,密碼學(xué)的發(fā)展劃分為三個階段:第一階段為從古代到1949年。這一時(shí)期可以看作是科學(xué)密碼學(xué)的前夜時(shí)期,這階段的密碼技術(shù)可以說是一種藝術(shù),而不是一種科學(xué),密碼學(xué)專家常常是憑知覺和信念來進(jìn)行密碼設(shè)計(jì)和分析,而不是推理和證明。密碼學(xué)發(fā)展簡史(2/4)一般來說,密碼學(xué)的發(fā)展劃分為三個階段:第二階段為從1949年到1975年。1949年Shannon發(fā)表的“保密系統(tǒng)的信息理論”為私鑰密碼系統(tǒng)建立了理論基礎(chǔ),從此密碼學(xué)成為一門科學(xué),但密碼學(xué)直到今天仍具有藝術(shù)性,是具有藝術(shù)性的一門科學(xué)。這段時(shí)期密碼學(xué)理論的研究工作進(jìn)展不大,公開的密碼學(xué)文獻(xiàn)很少。密碼學(xué)發(fā)展簡史(3/4)一般來說,密碼學(xué)的發(fā)展劃分為三個階段:第三階段為從1976年至今。1976年diffie和hellman發(fā)表的文章“密碼學(xué)的新動向”一文導(dǎo)致了密碼學(xué)上的一場革命。他們首先證明了在發(fā)送端和接受端無密鑰傳輸?shù)谋C芡ㄓ嵤强赡艿?,從而開創(chuàng)了公鑰密碼學(xué)的新紀(jì)元。密碼學(xué)發(fā)展簡史(4/4)在密碼學(xué)發(fā)展史上有兩個重要因素:戰(zhàn)爭的刺激和科學(xué)技術(shù)的發(fā)展推動了密碼學(xué)的發(fā)展。信息技術(shù)的發(fā)展和廣泛應(yīng)用為密碼學(xué)開辟了廣闊的天地。內(nèi)容提要密碼學(xué)概述1對稱密碼體制234公開密碼體制散列函數(shù)5密鑰管理6密碼分析對稱密碼體制:概述對稱密碼體制(symmetriccryptosystem)的加密密鑰和解密密鑰相同,也叫單鑰密碼體制或者秘密密碼體制。發(fā)送者加密器c=E(k
,m)解密器m=D(k,
c)接收者密鑰產(chǎn)生器密鑰信道m(xù)cmkk密鑰信道對稱密碼體制:概述對稱密碼體制對明文加密有兩種方式:序列密碼(或流密碼,StreamCipher)分組密碼(BlockCipher)序列密碼(1/2)主要原理:以明文的比特為加密單位,用某一個偽隨機(jī)序列作為加密密鑰,與明文進(jìn)行異或運(yùn)算,獲得密文序列;在接收端,用相同的隨機(jī)序列與密文進(jìn)行異或運(yùn)算便可恢復(fù)明文序列。=10111101…---------------=00110010…
10001111…
00110010…=
10111101…密鑰序列產(chǎn)生算法密鑰序列種子密鑰密鑰序列產(chǎn)生算法密鑰序列種子密鑰序列密碼(2/2)序列密碼算法的安全強(qiáng)度完全取決于偽隨機(jī)序列的好壞,因此關(guān)鍵問題是:偽隨機(jī)序列發(fā)生器的設(shè)計(jì)。優(yōu)點(diǎn):錯誤擴(kuò)散?。ㄒ粋€碼元出錯不影響其它碼元);速度快、實(shí)時(shí)性好;安全程度高。缺點(diǎn):密鑰需要同步分組密碼(1/3)主要原理:在密鑰的控制下一次變換一個明文分組;將明文序列以固定長度進(jìn)行分組,每一組明文用相同的密鑰和加密函數(shù)進(jìn)行運(yùn)算。加密算法解密算法密鑰K=(k0,k1,…,kL-1)密鑰K=(k0,k1,…,kL-1)明文X=(x0,x1,…,xm-1)明文X=(x0,x1,…,xm-1)密文Y=(y0,y1,…,ym-1)工作模式電碼本模式(ElectronicCodebookMode,ECB)密碼分組鏈接模式(CipherBlockChaining,CBC)密碼反饋模式(CipherFeedback,CFB)計(jì)數(shù)器模式(Counter,CTR)輸出反饋模式
(OutputFeedback,OFB)實(shí)際應(yīng)用時(shí),分組密碼名稱中常帶上工作模式,如DES-CBC分組密碼(2/3)分組密碼(3/3)優(yōu)缺點(diǎn):容易檢測出對信息的篡改,且不需要密鑰同步,具有很強(qiáng)的適應(yīng)性;(與序列密碼相比)分組密碼在設(shè)計(jì)上的自由度小。最典型分組密碼是DES數(shù)據(jù)加密標(biāo)準(zhǔn),它是單鑰密碼體制的最成功的例子。一、DESDES密碼體制DES是IBM公司于1970年研制的DES(DataEncryptionStandard)算法。該算法于1977年1月15日被美國國家標(biāo)準(zhǔn)局NBS頒布為商用數(shù)據(jù)加密標(biāo)準(zhǔn),每5年被評估1次。DES加密過程64bit明文數(shù)據(jù)初始置換IP乘積變換(16次迭代)逆初始置換IP-164bit密文數(shù)據(jù)64bit密鑰子密鑰生成輸入輸出初始置換初始置換對輸入的比特位置進(jìn)行調(diào)整。通過初始置換表實(shí)現(xiàn)初始置換的功能舉例來看,輸入為8位01110010初始置換表為:則輸出為:10001101輸入位12345678輸出位35612487DES加密過程64bit明文數(shù)據(jù)初始置換IP乘積變換(16次迭代)逆初始置換IP-164bit密文數(shù)據(jù)64bit密鑰子密鑰生成輸入輸出通過64bit密鑰產(chǎn)生16個不同的子密鑰,每個子密鑰為48bit,在每一輪中使用。子密鑰產(chǎn)生有專門的算法,圖4.1416次迭代通過初始置換得到X0,X0被分為左右兩部分,即X0
=L0R0
16次迭代:i=1,2,…,16
Xi-1=Li-1Ri-1,Li=Ri-1,Ri=Li-1
F(Ri-1,Ki)Li-1Ri-1F+LiRiKi每次迭代只對右邊的32bit進(jìn)行一系列的加密變換:擴(kuò)展運(yùn)算E、密鑰加密運(yùn)算、選擇壓縮運(yùn)算S、置換運(yùn)算T及左右異和運(yùn)算。F(Ri-1,Ki)=P(S(E(Ri-1)Ki))每次迭代的最后,把左邊的32bit與右邊變換得到的32bit逐位模2加,作為下一輪迭代時(shí)右邊的段將變換前的右邊的段直接送到左邊的寄存器中作為下一輪迭代時(shí)左邊的段S是一組八個變換S1,S2,S3,…,S8,稱為S盒,每個盒以6位輸入,4位輸出,S盒構(gòu)成了DES安全的核心。DES解密解密方法:把子密鑰的順序顛倒過來,即把K1~K16換為K16~K1,再輸入密文,采用與加密同樣的算法,就可還原明文DES的安全性DES系統(tǒng)的保密性主要取決于什么?密鑰的安全性。窮舉法破解有人認(rèn)為S盒可能含有某種“陷門”,美國國家安全機(jī)關(guān)可以解密。如何將密鑰安全、可靠地分配給通信雙方,在網(wǎng)絡(luò)通信條件下就更為復(fù)雜,包括密鑰產(chǎn)生、分配、存儲、銷毀等多方面的問題,統(tǒng)稱為密鑰管理。密鑰管理是影響DES等單鑰密碼體制安全的關(guān)鍵因素。因?yàn)榧词姑艽a算法再好,若密鑰管理處理不當(dāng),也很難保證系統(tǒng)的安全性。DES的56位密鑰可能太小1998年7月,EFE宣布攻破了DES算法,他們使用的是不到25萬美元的特殊的“DES破譯機(jī)”,這種攻擊只需要不到3天的時(shí)間。以現(xiàn)有網(wǎng)絡(luò)計(jì)算能力,破解非常容易DES的迭代次數(shù)可能太少(16次恰巧能抵抗差分分析)DES的安全性DES破解器1998年,電子前哨基金會(EFF)制造了一臺DES破解器,它使用多個DeepCrack芯片搭成而成,造價(jià)約$250,000,包括1,856個自定義的芯片,在56個小時(shí)內(nèi)利用窮盡搜索的方法破譯了56位密鑰長度的DES2024/12/3134二、3DES3DES在DES算法的基礎(chǔ)上,于1985年提出了TripleDES(3DES)加密算法,在1999年被加入到DES系統(tǒng)當(dāng)中。原理:3個密鑰或2個密鑰執(zhí)行3次常規(guī)的DES加密。c=E(k3,D(k2,E(k1,m)))m=D(k1,E(k2,D(c,k3)))優(yōu)點(diǎn):3DES的密鑰長度是192位,其中去除校驗(yàn)位的有效密鑰長度為168位,足夠抵抗窮舉攻擊。缺點(diǎn):算法較慢,相當(dāng)于執(zhí)行3遍DES。3DES三、AESAES1997年4月15日美國國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)發(fā)起征集AES(AdvancedEncryptionStandards)算法的活動,并專門成立了AES工作組基本要求:AES應(yīng)該像DES和TDES那樣是一個塊加密方法,并且至少像TDES一樣安全,但是其軟件實(shí)現(xiàn)應(yīng)該比TDES更加有效NIST指定AES必須:公開算法;分組大小為128比特的分組密碼,支持密鑰長度為128、192和256比特;通用性對AES候選方案的評審標(biāo)準(zhǔn)有3條:(1)全面的安全性,這是最為重要的指標(biāo)。(2)性能,特別是軟件實(shí)現(xiàn)的處理性能。(3)算法的知識產(chǎn)權(quán)等特征。
AES1998年確定第一輪15個候選者1999年確定第二輪五個候選者
MARSRC6RijndaelSerpentTwofishAES經(jīng)過多輪評估、測試,NIST于2000年10月2日正式宣布選中比利時(shí)密碼學(xué)家JoanDaemen和VincentRijmen提出的密碼算法RijndaelNIST于2001年11月26日發(fā)布于FIPSPUB197,并在2002年5月26日成為有效的標(biāo)準(zhǔn)AESRijndael匯聚了安全、效率、易用、靈活等優(yōu)點(diǎn),使它能成為AES最合適選擇不屬于Feistel結(jié)構(gòu)加密、解密相似但不完全對稱支持128/192/256(/32=Nb)數(shù)據(jù)塊大小支持128/192/256(/32=Nk)密鑰長度有較好的數(shù)學(xué)理論作為基礎(chǔ)結(jié)構(gòu)簡單、速度快AESAES算法與Rijndael算法常常將DES算法稱為Rijndael算法嚴(yán)格地講,Rijndael算法和AES算法并不完全一樣,因?yàn)镽ijndael算法是數(shù)據(jù)塊長度和加密密鑰長度都可變的迭代分組加密算法,其數(shù)據(jù)塊和密鑰的長度可以是128位、192位和256位。盡管如此,在實(shí)際應(yīng)用中二者常常被認(rèn)為是等同的AESRijndael算法采用替換/轉(zhuǎn)換網(wǎng)絡(luò),每一輪包含三層非線性層:字節(jié)替換,由16個S-盒并置而成,主要作用是字節(jié)內(nèi)部混淆;線性混合層:通過列混合變換和行移位變換確保多輪密碼變換之后密碼的整體混亂和高度擴(kuò)散;輪密鑰加層:簡單地將輪(子)密鑰矩陣按位異或到中間狀態(tài)矩陣上S-盒選取的是有限域GF(28)中的乘法逆運(yùn)算AES算法描述預(yù)處理:先對要加密的數(shù)據(jù)塊進(jìn)行預(yù)處理,使其成為一個長方形的字陣列,每個字含4個字節(jié),占一列,每列4行存放該列對應(yīng)的4個字節(jié),每個字節(jié)含8bit信息。Nb表示分組中字的個數(shù)(也就是列的個數(shù)),Nk表示密鑰中字的個數(shù)AES算法描述預(yù)處理:先對要加密的數(shù)據(jù)塊進(jìn)行預(yù)處理,使其成為一個長方形的字陣列,每個字含4個字節(jié),占一列,每列4行存放該列對應(yīng)的4個字節(jié),每個字節(jié)含8bit信息。Nb表示分組中字的個數(shù)(也就是列的個數(shù)),Nk表示密鑰中字的個數(shù)AES算法描述預(yù)處理多輪迭代:明文分組進(jìn)入多輪迭代變換,迭代的輪數(shù)Nr由Nb和Nk共同決定,可查表AES加解密過程AES最后一輪不做列混合運(yùn)算安全性:Rijndael算法進(jìn)行8輪以上即可對抗線性密碼分析、差分密碼分析,亦可抵抗專門針對Square算法提出的Square攻擊。當(dāng)密鑰長度分別為128比特、192比特和256比特時(shí),對應(yīng)的運(yùn)算量分別為2127、2191和2255靈活性:Rijndael的密鑰長度可根據(jù)不同的加密級別進(jìn)行選擇。Rijndael的循環(huán)次數(shù)允許在一定范圍內(nèi)根據(jù)安全要求進(jìn)行修正AES四、IDEAIDEA國際數(shù)據(jù)加密算法(IDEA,InternationalDataEncryptionalgorithm)中國學(xué)者來學(xué)嘉博士與著名密碼學(xué)家JamesMassey于1990年提出的一種分組密碼算法1992年進(jìn)行了改進(jìn):抗差分攻擊密鑰為128bit,窮舉攻擊要試探2128個密鑰,若用每秒100萬次加密的速度進(jìn)行試探,大約需要1013年。分組密碼算法比較算法密鑰長度分組長度循環(huán)次數(shù)DES566416三重DES112/1686448IDEA128648AES128/192/256128/192/25610/12/14五、流密碼RC4RC4(RivestCipher4)是一種流密碼算法,由RonRivest在1987年設(shè)計(jì)出的密鑰長度可變的加密算法簇。起初該算法是商業(yè)機(jī)密,直到1994年,才公諸于眾RC4基本概念RC4算法過程RC4算法過程RC4算法過程RC4安全性分析當(dāng)密鑰長度超過128位時(shí),以當(dāng)前的技術(shù)而言,RC4是很安全的,RC4也是唯一對2011年TLS1.0BEAST攻擊免疫的常見密碼。近年來RC4爆出多個漏洞,安全性有所下降。例如,2015年比利時(shí)魯汶大學(xué)的研究人員MathyVanhoef與FrankPiessens,公布了針對RC4加密算法的新型攻擊方法,可在75小時(shí)內(nèi)取得cookie的內(nèi)容。因此,2015年IETF發(fā)布了RFC7465,禁止在TLS中使用RC4,NIST也禁止在美國政府的信息系統(tǒng)中使用RC4。著名的分布式代碼管理網(wǎng)站Github從2015年1月5日起也停止對RC4的支持RC4單鑰密碼體制的優(yōu)缺點(diǎn)單鑰密碼技術(shù)可以用來做什么?加密和認(rèn)證單鑰密碼體制具有加解密算法簡便高效,加解密速度快、安全性很高的優(yōu)點(diǎn),應(yīng)用非常廣泛;存在一些問題,而且靠自身無法解決:密鑰分配困難;需要密鑰量大(n個用戶之間互相進(jìn)行保密通信,需要n(n-1)/2個密鑰)內(nèi)容提要密碼學(xué)概述1對稱密碼體制234公開密碼體制散列函數(shù)5密鑰管理6密碼分析公開密碼體制1976年,Diffie、Hellmann在論文“Newdirectionsincryptography”提出了雙鑰密碼體制(奠定了公鑰密碼系統(tǒng)的基礎(chǔ)),每個用戶都有一對密鑰:一個是公鑰(PK),可以像電話號碼一樣進(jìn)行注冊公布;另一個是私鑰(SK),由用戶自己秘密保存;兩個密鑰之間存在某種算法聯(lián)系,但由一個密鑰無法或很難推導(dǎo)出另一個密鑰。又稱為公鑰密碼體制或非對稱密碼體制(asymmetriccryptosystem)。發(fā)送者加密器c=E(m,k1)解密器m=D(c,k2)接收者密鑰產(chǎn)生器密鑰信道m(xù)cmk1k2密鑰信道公開密碼體制:特點(diǎn)整個系統(tǒng)的安全性在于:從對方的公鑰PK和密文中要推出明文或私鑰SK在計(jì)算上是不可行的公開密碼體制的主要特點(diǎn)是將加密和解密能力分開,可以實(shí)現(xiàn):多個用戶加密的消息只能由一個用戶解讀:保密通信;只由一個用戶加密消息而使多個用戶可以解讀:數(shù)字簽名認(rèn)證。公開密碼體制:實(shí)現(xiàn)技術(shù)根據(jù)其所依據(jù)的數(shù)學(xué)難題可分為3類:大整數(shù)分解問題類:RSA密碼體制(最著名的雙鑰密碼體制)橢圓曲線類離散對數(shù)問題類一、RSARSA密碼體制RSA公鑰體制是1978年由麻省理工學(xué)院3位年青數(shù)學(xué)家:Rivest,Shamir,Adleman提出的基于數(shù)論的雙鑰密碼體制。(開始被稱作“MIT體制”)RSA體制基于“大數(shù)分解和素?cái)?shù)檢測”這一著名數(shù)論難題:將兩個大素?cái)?shù)相乘十分容易,但將該乘積分解為兩個大素?cái)?shù)因子卻極端困難;素?cái)?shù)檢測就是判定一個給定的正整數(shù)是否為素?cái)?shù)。69整數(shù)的因子分解問題(1/3)整數(shù)的因子分解問題:將兩個素?cái)?shù)11927和20903相乘,可以很容易地得出249310081。但是將它們的積249310081分解因子得出上述兩個素?cái)?shù)卻要困難得多。即使最大型的計(jì)算機(jī)將一個大的乘積數(shù)分解還原為組成此數(shù)的兩個素?cái)?shù)也要很長時(shí)間。從一個公鑰和密文中恢復(fù)出明文的難度等價(jià)于分解兩個大素?cái)?shù)之積。整數(shù)的因子分解問題(2/3)Rivest,Shamir,Adleman提出,分解一個130位的兩個素?cái)?shù)的乘積數(shù)需要幾百萬年的時(shí)間,為了證明這一點(diǎn),他們找到1個129位數(shù),并向世界挑戰(zhàn)找出它的兩個因子。RSA129:11431862575788886766923577997614661201021829672124236256256184293570693524573389783059712356395870558989075147599290026879543541整數(shù)的因子分解問題(3/3)世界各地600多個研究人員和愛好者通過Internet協(xié)調(diào)各自計(jì)算機(jī)的工作向這個129位數(shù)發(fā)動了進(jìn)攻。花費(fèi)了近一年的時(shí)間,終于分解出了這個數(shù)的兩個素?cái)?shù),其中一個長64位,另一個長65位,這兩個素?cái)?shù)分別為:349052951084765094914784961990389813341776463849338784399082057732769132993266709549961988190834461413177642967992942539539798288533
說明兩個問題:(1)整數(shù)的因子分解問題是一個計(jì)算開銷非常大的問題;(2)Internet協(xié)同計(jì)算能力的強(qiáng)大。RSA密鑰產(chǎn)生過程產(chǎn)生過程如下:生成兩個大素?cái)?shù)p
和q;計(jì)算這兩個素?cái)?shù)的乘積n=p*q;計(jì)算小于n并且與n互質(zhì)的整數(shù)的個數(shù),即歐拉函數(shù)φ(n)=(p-1)*(q-1);隨機(jī)選擇一個加密密鑰e,使e滿足1<e<φ(n),并且e和φ(n)互質(zhì);利用歐幾里德擴(kuò)展算法計(jì)算e的逆元d,以滿足:
e*d
≡1modφ(n)公鑰PK={e,n};對應(yīng)的私鑰SK=3vd5dtd歐拉函數(shù)在數(shù)論中,對正整數(shù)n,歐拉函數(shù)是小于或等于n的數(shù)中與n互質(zhì)的數(shù)的數(shù)目。此函數(shù)以其首名研究者歐拉命名,它又稱為Euler’stotientfunction、φ函數(shù)、歐拉商數(shù)等,例如:φ(1)=1,唯一和1互質(zhì)的數(shù)就是1本身;φ(8)=4,因?yàn)?,3,5,7均和8互質(zhì)。RSA密鑰產(chǎn)生過程產(chǎn)生過程如下:生成兩個大素?cái)?shù)p
和q;計(jì)算這兩個素?cái)?shù)的乘積n=p*q;計(jì)算小于n并且與n互質(zhì)的整數(shù)的個數(shù),即歐拉函數(shù)φ(n)=(p-1)*(q-1);隨機(jī)選擇一個加密密鑰e,使e滿足1<e<φ(n),并且e和φ(n)互質(zhì);利用歐幾里德擴(kuò)展算法計(jì)算e的逆元d,以滿足:
e*d≡1modφ(n)公鑰PK={e,n};對應(yīng)的私鑰SK=hnpnbn5歐幾里德擴(kuò)展算法歐幾里德算法又稱輾轉(zhuǎn)相除法,用于計(jì)算兩個整數(shù)a,b的最大公約數(shù)。其計(jì)算原理依賴于下面的定理:gcd(a,b)=gcd(b,amodb)RSA密鑰產(chǎn)生過程產(chǎn)生過程如下:生成兩個大素?cái)?shù)p
和q;計(jì)算這兩個素?cái)?shù)的乘積n=p*q;計(jì)算小于n并且與n互質(zhì)的整數(shù)的個數(shù),即歐拉函數(shù)φ(n)=(p-1)*(q-1);隨機(jī)選擇一個加密密鑰e,使e滿足1<e<φ(n),并且e和φ(n)互質(zhì);利用歐幾里德擴(kuò)展算法計(jì)算e的逆元d,以滿足:
e*d≡1modφ(n)公鑰PK={e,n};對應(yīng)的私鑰SK=fxhhbvtRSA密鑰產(chǎn)生的實(shí)例選擇素?cái)?shù):p=17,q=11計(jì)算n=p*q=17*11=187計(jì)算φ(n)=(p–1)*(q-1)=16*10=160選擇
e:gcd(e,160)=1;選擇e=7確定d:d*e=1mod160andd<160;d=23因?yàn)?3*7=161=1*160+1公鑰PK={7,187}私鑰SK={23}RSA的加解密操作為了對消息內(nèi)容M進(jìn)行加密,發(fā)送者:獲得接收者的公鑰PK={e,n}計(jì)算:C=Memodn為了解密密文C,接收者:使用自己的私鑰SK=hvztvhx計(jì)算:M=Cd
modnRSA加解密操作實(shí)例假定:接收方公鑰PK={7,187}接收方私鑰SK={23}
給定消息M=88加密:C=887mod187=11解密:M=1123mod187=88應(yīng)用一:加密通信用戶將自己的公鑰登記在一個公開密鑰庫或?qū)崟r(shí)公開,私鑰則被嚴(yán)格保密。信源為了向信宿發(fā)送信息,去公開密鑰庫查找對方的公開密鑰,或臨時(shí)向?qū)Ψ剿魅」€,將要發(fā)送的信息用這個公鑰加密后在公開信道上發(fā)送給對方。對方收到信息(密文)后,則用自己的私鑰解密密文,從而讀取信息。優(yōu)點(diǎn):省去了從秘密信道傳遞密鑰的過程RSA的應(yīng)用應(yīng)用二:數(shù)字簽名RSA的應(yīng)用利用RSA實(shí)現(xiàn)普通的數(shù)字簽名DSKAPKA用公開密鑰核實(shí)簽名
用秘密密鑰進(jìn)行簽名M發(fā)送者A接收者BD(SKA,M)ME除了A之外,沒有其他人知道A的私鑰;能用A的公鑰解密的內(nèi)容,必定是利用A的私鑰所加密的。因此,可以推斷信息內(nèi)容來源于A。PKA={e,n},SKA=nlxffthA對M的簽名:
SA=D(SKA,M)=Mdmodn驗(yàn)證簽名:
E(PKA,SA)=(Md)emodn=M這種簽名有什么問題嗎?效率低,通常是對消息的特征碼(如散列碼)進(jìn)行簽名RSA公鑰體制的優(yōu)缺點(diǎn)優(yōu)點(diǎn):保密強(qiáng)度高密鑰分配及管理簡便可以用于數(shù)字簽名實(shí)現(xiàn)身份認(rèn)證缺點(diǎn):運(yùn)算復(fù)雜,速度慢:硬件實(shí)現(xiàn)時(shí),RSA比DES要慢大約1000倍,軟件實(shí)現(xiàn)時(shí),RSA比DES要慢大約100倍。很多實(shí)際系統(tǒng)中,只用RSA來交換DES的密鑰,而用DES來加密主體信息。RSA公鑰體制的安全性依賴于未被證明的“整數(shù)的因子分解問題”假若數(shù)學(xué)理論進(jìn)一步發(fā)展,發(fā)現(xiàn)“整數(shù)的因子分解問題”是一個可以快速解決的問題?以RSA為代表的公鑰體制的加密操作是公開的,任何人都可以選擇明文,并利用公開的公鑰來攻擊RSA公鑰體制。明文空間必須足夠大才能夠防止窮盡搜索明文空間攻擊;如果用公鑰體制加密會話密鑰,會話密鑰必須足夠的長。二、Diffie-Hellman密鑰交換算法Diffie-Hellman密鑰交換算法(簡稱為“DH算法”或“DH交換”)由WhitfieldDiffie和MartinHellman于1976提出,是最早的密鑰交換算法之一,它使得通信的雙方能在非安全的信道中安全的交換密鑰,用于加密后續(xù)的通信消息。該算法被廣泛應(yīng)用于安全領(lǐng)域,如
TSL和IPsec協(xié)議DHDiffie-Hellman算法的有效性依賴于計(jì)算離散對數(shù)的難度DH算法過程DH示例:假定素?cái)?shù)q=97,取97的一個原根a=5。A和B分別選擇私有密鑰XA=36和XB=58,各自計(jì)算得到公鑰分別為:YA=50,YB=44,秘密密鑰K=75DH優(yōu)點(diǎn)僅當(dāng)需要時(shí)才生成密鑰,減小了將密鑰存儲很長一段時(shí)間而致使遭受攻擊的機(jī)會除對全局參數(shù)的約定外,密鑰交換不需要事先存在的基礎(chǔ)設(shè)施DH缺點(diǎn)沒有提供雙方身份的任何信息,因此易受中間人攻擊。這一缺陷可以通過數(shù)字簽名和公鑰證書來解決容易遭受阻塞性攻擊。由于算法是計(jì)算密集性的,如果攻擊者請求大量的密鑰,被攻擊者將花費(fèi)大量計(jì)算資源來求解無用的冪系數(shù)而不是在做真正的工作DH非對稱密碼比傳統(tǒng)對稱密碼更安全?不是!任何加密方法安全性依賴于密鑰的長度和破譯密文所需要的計(jì)算量討論非對稱密碼是一種通用的方法,傳統(tǒng)對稱密碼已經(jīng)過時(shí)?不是!非對稱密碼的計(jì)算量大,目前不能取代傳統(tǒng)密碼“非對稱密碼學(xué)僅限于用在密鑰管理和簽名此類應(yīng)用上,這幾乎是被廣泛接受的事實(shí)”討論傳統(tǒng)對稱密碼中與密鑰分配中心KDC的握手是一件麻煩的事情,非對稱密碼的密鑰管理非常簡單?不!只是有所簡化,但也需要某種形式的協(xié)議,該協(xié)議一般包含一個中心代理,處理并不比傳統(tǒng)密碼中的那些工程更簡單討論內(nèi)容提要密碼學(xué)概述1對稱密碼體制234公開密碼體制散列函數(shù)5密鑰管理6密碼分析為什么要學(xué)習(xí)散列函數(shù)?問題登錄時(shí)的口令是怎樣傳輸?shù)模繂栴}Linux的口令是怎樣存儲的?問題殺毒軟件是怎樣檢測病毒的?樣本散列值樣本散列值樣本散列值基本樣本散列值的檢測基本樣本散列值的檢測我們該怎樣檢查從第三方下載的軟件是否與官網(wǎng)一致?問題Windows操作系統(tǒng)以及一些安全軟件是如何防止系統(tǒng)中的重要文件、升級包被攻擊者替換、篡改?該怎樣確保通信內(nèi)容沒有被篡改?問題問題安全消息消息安全消息消息秘密信息秘密信息安全相關(guān)變換安全相關(guān)變換發(fā)送方接收方可信第三方(如仲裁者、秘密信息的分配者)信息通道攻擊者網(wǎng)絡(luò)通信安全模型散列函數(shù)(hashfunction)是現(xiàn)代密碼學(xué)的重要組成部分h=H(M):h稱為散列值、散列碼、報(bào)文摘要(MessageDigest)或消息摘要,對于特定的散列函數(shù)H,h的長度是固定的散列函數(shù)散列函數(shù)密碼學(xué)上的散列函數(shù)(安全的散列函數(shù))與數(shù)據(jù)結(jié)構(gòu)中的散列函數(shù)兩個重要特性唯一性:兩個不同的輸入產(chǎn)生不同的輸出,如果輸入不同但輸出相同,則產(chǎn)生了“碰撞(collision)”雪崩效應(yīng)(avalancheeffect):消息中的一個微小變化,甚至只是改變一個比特位,都可能會在輸出中產(chǎn)生一個明顯的變化散列函數(shù)散列函數(shù)H的安全性需求散列函數(shù)另一種安全屬性的表述散列函數(shù)
散列函數(shù)各種數(shù)據(jù)完整性應(yīng)用中的散列函數(shù)安全性需求密碼學(xué)Hash函數(shù)應(yīng)用消息認(rèn)證確保消息沒有被修改、插入、刪除或重放確保消息發(fā)送方聲稱的身份真實(shí)有效文件完整性校驗(yàn):判斷文件是否被修改數(shù)字簽名保護(hù)消息完整性,驗(yàn)證消息發(fā)送方身份單向口令文件入侵檢測和病毒檢測報(bào)文摘要(MessageDigest,MD)算法是由Rivest從20世紀(jì)80年代末所開發(fā)的系列散列算法的總稱,歷稱MD2、MD3、MD4和最新的MD5MDMD5MD5是對MD4的改進(jìn)輸入:任意長的報(bào)文;輸出:128位的報(bào)文摘要過程:對輸入按512位進(jìn)行分組,并以分組為單位進(jìn)行處理:填充報(bào)文初始化緩沖區(qū)執(zhí)行算法主循環(huán)(核心是壓縮函數(shù))輸出MD5的輸入為512位分組,輸出是4個32位字的級聯(lián)(128位散列值),過程如下:首先,消息被拆成若干個512位的分組,其中最后512位分組是“消息尾+填充字節(jié)(100…0)+64位消息長度”,以確保對于不同長度的消息,該分組不相同。而4個32位寄存器字初始化為A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210,它們將始終參與運(yùn)算并形成最終的散列結(jié)果MD5關(guān)于A,B,C,D初始化值MD5小端模式大端模式MD5的輸入為512位分組,輸出是4個32位字的級聯(lián)(128位散列值),過程如下:接著,各個512位消息分組以16個32位字的形式進(jìn)入算法的主循環(huán),512位消息分組的個數(shù)決定了循環(huán)的次數(shù)。主循環(huán)有4輪,每輪分別用到的非線性函數(shù)如下:MD5MD5的輸入為512位分組,輸出是4個32位字的級聯(lián)(128位散列值),過程如下:這4輪變換是對進(jìn)入主循環(huán)的512位消息分組的16個32位字分別進(jìn)行如下操作:將A、B、C、D的副本a、b、c、d中的3個經(jīng)F、G、H、I運(yùn)算后的結(jié)果與第4個相加,再加上32位字和一個32位字的加法常數(shù),并將所得之值循環(huán)左移若干位,最后將所得結(jié)果加上a、b、c、d之一,并回送至ABCD,完成一次循環(huán)MD5MD5MD5的輸入為512位分組,輸出是4個32位字的級聯(lián)(128位散列值),過程如下:當(dāng)所有512位分組都運(yùn)算完畢后,ABCD的級聯(lián)將被輸出為MD5散列的結(jié)果MD52004年國際密碼學(xué)會議(Crypto’2004)上,王小云教授做了破譯MD5、HAVAL-128、MD4和RIPEMD算法的報(bào)告,提出了密碼哈希函數(shù)的碰撞攻擊理論,即模差分比特分析法。王教授的相關(guān)研究成果提高了破解包括MD5、SHA-1在內(nèi)的5個國際通用的哈希函數(shù)算法的概率,給出了系列消息認(rèn)證碼MD5-MAC等的子密鑰恢復(fù)攻擊和HMAC-MD5的區(qū)分攻擊方法。MD5SHA(SecureHashAlgorithm)算法是使用最廣泛的Hash函數(shù),由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)和美國國家安全局(NSA)設(shè)計(jì),包括5個算法,分別是SHA-1、SHA-224、SHA-256、SHA-384和SHA-512,后四個算法有時(shí)并稱為SHA-2。SHA-1在許多安全協(xié)議中廣為使用,如TLS和SSL、PGP、SSH、S/MIME和IPsec等SHASHA算法建立在MD4算法之上,其基本框架與MD4類似。SHA-1算法產(chǎn)生160bit的散列值,因此它有5個參與運(yùn)算的32位寄存器字,消息分組和填充方式與MD5相同,主循環(huán)也同樣是4輪,但每輪進(jìn)行20次操作,非線性運(yùn)算、移位和加法運(yùn)算也與MD5類似,但非線性函數(shù)、加法常數(shù)和循環(huán)左移操作的設(shè)計(jì)有一些區(qū)別。SHASHA算法建立在MD4算法之上,其基本框架與MD4類似。SHA-2與SHA-1類似,都使用了同樣的迭代結(jié)構(gòu)和同樣的模算法運(yùn)算與二元邏輯操作。SHASHA-1的安全性2005年2月,王小云等人發(fā)表了對SHA-1的攻擊,只需少于269的計(jì)算復(fù)雜度,就能找到一組碰撞,而此前的利用生日攻擊法找到碰撞需要280的計(jì)算復(fù)雜度2019年10月,密碼學(xué)家Ga?tanLeurent和ThomasPeyrin宣布已經(jīng)對SHA-1成功計(jì)算出第一個選擇前綴沖突,并選擇安全電子郵件PGP/GnuPG的信任網(wǎng)絡(luò)來演示SHA-1的前綴沖突攻擊SHASHA-1的安全性2019年10月,密碼學(xué)家Ga?tanLeurent和ThomasPeyrin宣布已經(jīng)對SHA-1成功計(jì)算出第一個選擇前綴沖突,并選擇安全電子郵件PGP/GnuPG的信任網(wǎng)絡(luò)來演示SHA-1的前綴沖突攻擊SHASHA-1沖突SHA-1沖突SHA-1沖突SHA-1沖突SHA-1的安全性NIST在2007年公開征集新一代NIST的Hash函數(shù)標(biāo)準(zhǔn),稱為SHA-3,并于2012年10月公布了設(shè)計(jì)算法的優(yōu)勝者,未來將逐漸取代SHA-2。SHA-3的設(shè)計(jì)者使用一種稱為海綿結(jié)構(gòu)的迭代結(jié)構(gòu)方案SM3是我國政府采用的一種密碼散列函數(shù)標(biāo)準(zhǔn),由國家密碼管理局于2010年12月17日發(fā)布,相關(guān)標(biāo)準(zhǔn)為“GM/T0004-2012《SM3密碼雜湊算法》”,其安全性及效率與SHA-256相當(dāng)SHA有人說“所有的散列函數(shù)都存在產(chǎn)生碰撞的問題,很不安全”,你認(rèn)同這一觀點(diǎn)嗎?為什么?散列函數(shù)安全性討論已經(jīng)被認(rèn)為不安全的散列算法MD5、HAVAL-128、MD4、RIPEMD、SHA-1一些標(biāo)準(zhǔn)已禁用不安全的散列算法,但還有很多應(yīng)用在用,對網(wǎng)絡(luò)安全會有什么影響嗎?散列函數(shù)安全性討論用對上述MD5值進(jìn)行破解,有時(shí)很快就能出結(jié)果,是該網(wǎng)站找到了MD5算法的漏洞,還是采用了別的什么辦法?散列函數(shù)安全性討論內(nèi)容提要密碼學(xué)概述1對稱密碼體制234公開密碼體制散列函數(shù)5密鑰管理6密碼分析密鑰管理基于密鑰保護(hù)的安全策略:保護(hù)密鑰密鑰管理包括密鑰的產(chǎn)生、存儲、分發(fā)、組織、使用、停用、更換、銷毀等一系列問題,涉及每個密鑰的從產(chǎn)生到銷毀的整個生命周期。如何安全可靠、迅速高效地分配和管理密鑰是密碼學(xué)領(lǐng)域的重要研究課題。不同性質(zhì)密鑰的管理問題對稱加密:通信雙方必須共享一個密鑰,這個密鑰還要防止被他人獲得;公開加密:通信各方必須發(fā)布其公開密鑰,并防止其私鑰被其他人獲得。
密鑰還需經(jīng)常更換,以便攻擊者知道密鑰的情況下使得泄漏的數(shù)據(jù)量最小2024/12/31146密鑰分配的幾種方法
人工方法:A選定密鑰,通過物理方法安全傳遞給B??尚湃蔚谌紺選定密鑰,通過物理方法安全傳遞給A和B。人工方法不適用于大量連接的現(xiàn)代通信密鑰分配的幾種方法
通信方法:如果A和B先前或者最近使用過一個密鑰,則一方可以將新密鑰用舊密鑰加密后發(fā)送給另一方。如果A和B到第三方C(密鑰分配中心,KDC)有加密連接,C可以通過該加密連接將密鑰傳送給A和B。若第三方C發(fā)布A和B的公鑰,A和B可用彼此的公鑰來加密通信——認(rèn)證中心CA,常用于公開密鑰的分配。(一)對稱密鑰管理使用Needham-Schroeder雙向鑒別協(xié)議分發(fā)對稱密鑰雙向鑒別和密鑰分配:能夠正確鑒別出通信對方的身份,同時(shí)可以交換會話密鑰,用于保證信息的安全傳輸對稱密鑰分發(fā)N-S協(xié)議密鑰分發(fā)過程
2024/12/31151前三步完成會話密鑰的分配后兩步又實(shí)現(xiàn)一次雙向鑒別對稱密鑰分發(fā)
集中式密鑰分配方案N-S協(xié)議存在的問題:1)通信量大,需要較好的鑒別功能以鑒別KDC和通信方;2)主密鑰多,單個KDC易形成瓶頸,無法支持大型網(wǎng)絡(luò)。解決方案:1)多個KDC之間存在層次關(guān)系;2)某個KDC既不會形成瓶頸,也不會單點(diǎn)失效。2024/12/31152對稱密鑰分發(fā)分散式密鑰分配方法使用KDC進(jìn)行密鑰分配要求KDC是可信任的并且應(yīng)該保護(hù)它免于被破壞。解決方案:1)把單個KDC分散成幾個KDC會降低這種風(fēng)險(xiǎn);2)更進(jìn)一步把KDC分散到所有通信方,即通信方同時(shí)也是KDC,自己保存同其他所有通信方的主密鑰。2024/12/31153分散式對稱密鑰分發(fā)方案n個通信方的網(wǎng)絡(luò)要保存[n(n一1)/2]個主密鑰。對于小型網(wǎng)絡(luò)或大型網(wǎng)絡(luò)的局部范圍,該方案可行。產(chǎn)生/保存的密鑰數(shù)加密報(bào)文的數(shù)量密碼分析(n一1)個主密鑰MKM很少分析很困難,可以長時(shí)間使用任意多個會話密鑰KS
很多只使用有限時(shí)間,所以不易被攻破,即使被攻破對系統(tǒng)危害也不大
2024/12/31154對稱密鑰分發(fā)使用公開加密算法分配對稱密鑰
算法類型用途安全特點(diǎn)所用技術(shù)公開加密算法加密要發(fā)送的消息本身若明文長,則速度慢加密對稱密鑰安全分發(fā)對稱密鑰數(shù)字信封(鏈?zhǔn)郊用?對稱加密算法加密要發(fā)送的消息本身只要密鑰安全消息也安全,加密速度快對稱密鑰分發(fā)使用公開加密算法分配對稱密鑰:假定通信雙方A和B已通過某種方法得到對方公鑰2024/12/31156Ks每次不同,破譯一次Ks不影響其他次數(shù)據(jù)傳遞的安全
Diffie-Hellman協(xié)議也是利用公開加密算法分配對稱密鑰Diffie-Hellman密鑰交換算法(簡稱為“DH算法”或“DH交換”)由WhitfieldDiffie和MartinHellman于1976提出,是最早的密鑰交換算法之一,它使得通信的雙方能在非安全的信道中安全的交換密鑰,用于加密后續(xù)的通信消息。該算法被廣泛應(yīng)用于安全領(lǐng)域,如
TSL和IPsec協(xié)議DHDiffie-Hellman算法的有效性依賴于計(jì)算離散對數(shù)的難度DH算法過程DH示例:假定素?cái)?shù)q=97,取97的一個原根a=5。A和B分別選擇私有密鑰XA=36和XB=58,各自計(jì)算得到公鑰分別為:YA=50,YB=44,秘密密鑰K=75DH優(yōu)點(diǎn)僅當(dāng)需要時(shí)才生成密鑰,減小了將密鑰存儲很長一段時(shí)間而致使遭受攻擊的機(jī)會除對全局參數(shù)的約定外,密鑰交換不需要事先存在的基礎(chǔ)設(shè)施DH缺點(diǎn)沒有提供雙方身份的任何信息,因此易受中間人攻擊。這一缺陷可以通過數(shù)字簽名和公鑰證書來解決容易遭受阻塞性攻擊。由于算法是計(jì)算密集性的,如果攻擊者請求大量的密鑰,被攻擊者將花費(fèi)大量計(jì)算資源來求解無用的冪系數(shù)而不是在做真正的工作DH(二)公開密鑰管理公開密鑰的管理公開密碼體制的密鑰管理:將產(chǎn)生的公開密鑰安全地發(fā)送給相關(guān)通信參與方的技術(shù)和方法問題:如果公鑰的完整性和真實(shí)性受到危害,則基于公鑰的各種應(yīng)用的安全性將受到危害。在公鑰管理的過程中采取了將公鑰和公鑰所有人信息綁定的方法,這種綁定產(chǎn)生的就是用戶數(shù)字證書(DigitalCertificate,DC)1、數(shù)字證書數(shù)字證書是一種由一個可信任的權(quán)威機(jī)構(gòu)(CA)簽署的信息集合。在不同的應(yīng)用中有不同的證書,如公鑰證書(PublicKeyCertificate,PKC)、PGP證書、SET證書等。數(shù)字證書公鑰證書公鑰證書主要用于確保公鑰及其與用戶綁定關(guān)系的安全,一般包含持證主體身份信息、主體的公鑰信息、CA信息以及附加信息,再加上用CA私鑰對上述信息的數(shù)字簽名。目前應(yīng)用最廣泛的證書格式是國際電信聯(lián)盟(InternationalTelecommunicationUnion,ITU)制定的X.509標(biāo)準(zhǔn)中定義的格式數(shù)字證書X.509最初是在1988年的7月3日發(fā)布的,版本是X.509v1,當(dāng)時(shí)是作為ITUX.500目錄服務(wù)標(biāo)準(zhǔn)的一部分。在此之后,ITU分別于1993年和1995年進(jìn)行過兩個修改,分別形成了X.509版本2(X.509v2)和版本3(X.509v3),其中v2證書并未得到廣泛使用X.509證書X.509數(shù)字證書360瀏覽器中的數(shù)字證書證書保存格式證書保存格式aDERencodedcertificateopenedinaHEXeditorthesamecertencodedasBase64alsoopenedinaHEXeditor證書保存格式FinallyhereisthesamecertificateinASN.1humanreadableform(thisisn’tthewholecert)數(shù)字證書數(shù)字證書數(shù)字證書數(shù)字證書數(shù)字證書數(shù)字證書關(guān)于證書指紋指紋并不是證書本身的一個字段,而是瀏覽器額外計(jì)算出來顯示的,IE/360瀏覽器默認(rèn)用sha1計(jì)算指紋(160位),而google的chrome默認(rèn)計(jì)算了sha1和sha256指紋1、瀏覽器顯示的指紋就是證書簽名嗎?2、YES,那為什么長度都是160位?3、NO,那它跟證書簽名有什么關(guān)系?是證書簽名值的一部分還是完全獨(dú)立的?關(guān)于證書指紋/2013/04/16/understanding-x-509-digital-certificate-thumbprints/攤銷證書列表(CRL)2、PKI有了證書以后,將涉及證書的申請、發(fā)布、查詢、撤銷等一系列管理任務(wù),因此需要一套完整的軟硬件系統(tǒng)、協(xié)議、管理機(jī)制來完成這些任務(wù),由此產(chǎn)生了公鑰基礎(chǔ)設(shè)施(PKI)PKIPKI系統(tǒng)組成PKI認(rèn)證體系2024/12/31186在PKI中,CA是所有注冊用戶所依賴的權(quán)威機(jī)構(gòu),它嚴(yán)格遵循證書策略機(jī)制所制定的PKI策略來進(jìn)行證書的全生命周期的管理,包括簽發(fā)證書,管理和撤銷證書。CA是信任的起點(diǎn),只有信任某個CA,才信任該CA給用戶簽發(fā)的數(shù)字證書。為確保證書的真實(shí)性和完整性,CA需要在給用戶簽發(fā)證書時(shí)加上自己的簽名CA對于大范圍的應(yīng)用,特別是在互聯(lián)網(wǎng)環(huán)境下,由于用戶眾多,建立一個管理全世界所有用戶的全球性PKI是不現(xiàn)實(shí)的,因此往往需要很多個CA才能滿足應(yīng)用需要,這就涉及到CA間的信任問題,即CA信任模型CA對于具有明顯層次結(jié)構(gòu)的行業(yè)或組織,如政府(國家省市縣)、全國性的公司(如銀行、中石油、中石化、稅務(wù)、工商等)等,可以將組織中的最高層次的機(jī)構(gòu)作為信任的起點(diǎn)。等級層次高的CA為下層的CA頒發(fā)數(shù)字證書,其中最高層的CA被稱為根CA(RootCA),面向終端用戶的一般是最下層的CA,這就是“樹模型(treemodel)”或“層次模型(hierarchymodel)”CA樹模型CA樹模型信任樹(treeoftrust)信任錨(trustanchor)要驗(yàn)證一份證書(C1)的真?zhèn)危打?yàn)證CA對該證書信息的簽名是否有效),需要用簽發(fā)該證書(C1)的CA的公鑰進(jìn)行驗(yàn)證,而CA的公鑰保存在對這份證書進(jìn)行簽名的CA證書(C2)內(nèi),故需要下載該CA證書(C2),但使用該證書驗(yàn)證又需先驗(yàn)證該證書本身的真?zhèn)?,故又要用簽發(fā)該證書的證書(C3)來驗(yàn)證,這樣一來就構(gòu)成一條證書鏈的關(guān)系(C1-C2-C3……),這條證書鏈在哪里終結(jié)呢?CA樹模型根證書是一份特殊的證書,它的簽發(fā)者是它本身(根CA),安裝了根證書就表明你對該根證書以及用它所簽發(fā)的證書都表示信任,不需要再通過其他證書來驗(yàn)證,證書的驗(yàn)證追溯至根證書即結(jié)束。CA信任模型如果一個組織本身就采用層次結(jié)構(gòu),則上述層次結(jié)構(gòu)的CA組織方式就非常有效。但是,對于內(nèi)部不采用層次結(jié)構(gòu)的組織以及組織之間,則很難使用層次結(jié)構(gòu)的CA組織方式。解決這個問題的一般方式是權(quán)威證書列表,即將多個CA證書機(jī)構(gòu)內(nèi)受信任的、含有公鑰信息的證書安裝到驗(yàn)證證書的應(yīng)用中。一個被廣泛使用的典型應(yīng)用就是Web瀏覽器。權(quán)威證書列表:Web模型權(quán)威證書列表:Web模型★
Web模型依賴于流行的瀏覽器瀏覽器CA的公鑰(如Verisign)
CA的私鑰Web服務(wù)器的數(shù)字證書瀏覽器廠商起到信任錨的作用,預(yù)裝公鑰的CA就是它所認(rèn)證的CA——有隱含根的嚴(yán)格層次結(jié)構(gòu)。預(yù)裝
簽發(fā)
信任的傳遞瀏覽器用戶得到Web服務(wù)器的公鑰大多數(shù)Web瀏覽器中包含有50個以上的受信任的CA證書,并且用戶可以向?yàn)g覽器中增加受信任的CA證書,也可以從中刪除不受信任的證書。當(dāng)接收到一個證書時(shí),只要瀏覽器能在待驗(yàn)證證書與其受信任的CA證書之間建立起一個信任鏈,瀏覽器就可以驗(yàn)證證書。權(quán)威證書列表:Web模型360瀏覽器預(yù)置的CA數(shù)字證書權(quán)威證書列表:Web模型(a)根CA證書(b)中間CA證書從本質(zhì)上講,上述Web瀏覽器信任模型是一種隱含根(將權(quán)威證書列表中的證書作為受信任的根CA)的嚴(yán)格層次模型,通常稱為“Web模型(WebModel)”。權(quán)威證書列表:Web模型Web模型有什么問題呢?信任“不稱職的”CA帶來的安全問題信任“壞的”CA帶來的安全問題撤銷一個受信任的CA根證書的困難性權(quán)威證書列表:Web模型當(dāng)前,CA的信任體系沒有唯一的信任根(信任錨點(diǎn),TrustAnchor),預(yù)裝到瀏覽器或操作系統(tǒng)中的可信根CA證書有一百多個,他們又通過成千上萬個二級或三級CA簽發(fā)最終的Web服務(wù)器證書。這種信任模型最大的安全問題是,任何一個CA都可以為任何一個網(wǎng)站(域名)簽發(fā)公鑰證書,而不需要該網(wǎng)站的授權(quán)討論:Web信任模型的安全問題討論:Web信任模型的安全問題如果CA出了問題,如私鑰泄露了該怎么辦?2011年8月,荷蘭CA安全證書提供商DigiNotar的服務(wù)器被發(fā)現(xiàn)遭黑客入侵。黑客為包括G在內(nèi)的20多個領(lǐng)域的531個網(wǎng)站發(fā)行了偽造的CA證書,經(jīng)分析DigiNotar的8臺證書服務(wù)器均遭入侵。2011年7月19被發(fā)現(xiàn)入侵,但外界直到8月份才知道。出了這種事,后果是什么?用戶如何應(yīng)對?討論:Web信任模型的安全問題如果根CA不可信,會有什么后果?如果互聯(lián)網(wǎng)接入服務(wù)提供商(ISP)能作為CA簽發(fā)證書,它能做什么?交叉認(rèn)證(crosscertification)是指通過某種方法將以前無關(guān)的CA連接在一起,建立起信任關(guān)系,彼此可以進(jìn)行安全認(rèn)證。它通過信任傳遞機(jī)制來完成兩者信任關(guān)系的建立,是第三方信息關(guān)系的拓展,即一個CA的用戶信任所有與自己CA有交叉認(rèn)證的其他CA的用戶。CA交叉信任模型三種實(shí)現(xiàn)方式各PKI的CA之間互相簽發(fā)證書,從而在局部PKI之間建立起了信任關(guān)系由用戶控制交叉認(rèn)證,即由用戶自己決定信任哪個CA或拒絕哪個CA由橋接CA控制交叉認(rèn)證。橋接CA(BridgeCA)是一個第三方CA,由它來溝通各個根CA之間的連接和信任關(guān)系。CA交叉信任模型CA交叉信任模型一般將上述交叉認(rèn)證建立的CA信任模型稱為“森林模型”CA交叉信任模型假設(shè)Alice有CA1公鑰,Bob有CA2公鑰,交叉認(rèn)證后,Alice的信任能擴(kuò)展到CA2的主體群(包括Bob),反之亦然。CA交叉信任模型雙向交叉認(rèn)證有什么問題?只適用于CA數(shù)量較少的情況,但當(dāng)CA數(shù)量較大時(shí),大量CA兩兩進(jìn)行交叉認(rèn)證就會形成復(fù)雜的網(wǎng)狀結(jié)構(gòu),且證書策略經(jīng)過多次映射之后會使證書用途大大受限CCS2020論文:PKIs是目前網(wǎng)絡(luò)安全建設(shè)的基礎(chǔ)和核心,其中CAs是PKI的核心。CAs能夠?yàn)榉?wù)器,應(yīng)用或者用戶簽發(fā)證書,證書可以被用來證明所有者的身份。論文對證書交叉簽名的使用和安全性進(jìn)行了系統(tǒng)性研究,分析了WebPKI系統(tǒng)中交叉驗(yàn)證現(xiàn)狀,展示了交叉驗(yàn)證的優(yōu)點(diǎn)和風(fēng)險(xiǎn)交叉認(rèn)證問題交叉認(rèn)證問題交叉認(rèn)證的四種類型交叉認(rèn)證問題交叉簽名在帶來好處的同時(shí),也承擔(dān)著一定的風(fēng)險(xiǎn):一方面,交叉簽名沒有被系統(tǒng)的跟蹤,這給HTTPS安全審計(jì)帶來了挑戰(zhàn);另一方面,中間證書的撤銷機(jī)制一般由CA完成,因此被交叉驗(yàn)證的中間證書的撤銷也可能存在問題。交叉認(rèn)證問題基于區(qū)塊鏈實(shí)現(xiàn)的分布式信任模型CA機(jī)構(gòu)以聯(lián)盟鏈的方式,通過共識完成CA證書的驗(yàn)證工作。經(jīng)過共識的證書將記錄到區(qū)塊鏈當(dāng)中,這些證書就被區(qū)塊鏈中所有CA認(rèn)為是可信的證書。CA分布式信任模型CA分布式信任模型以用戶為中心的信任模型(usercentrictrustmodel)每個用戶自己決定信任其他哪些用戶,還可以信任介紹人介紹的對象,從而形成一種信任網(wǎng)(Weboftrust)。但是,這種信任關(guān)系的傳遞不一定是必須的(A信任B,B信任C,并不代表A也要完全信任C。在信任傳遞過程中,信任的程度可能是遞減的)。PGP采用的就是這種信任模型用戶為中心的信任模型RA(RegistrationAuthority)是專門負(fù)責(zé)受理用戶申請證書的機(jī)構(gòu),它是用戶和CA之間的接口RA和CA可以合一(小型PKI),最好分離支持在線受理和離線受理RA為方便證書的查詢和使用,CA采用“證書目錄”的方式集中存儲和管理證書,通過建立目錄服務(wù)器證書庫的方式為用戶提供證書服務(wù)。大多數(shù)PKI中的證書目錄遵循的標(biāo)準(zhǔn)是X.500,在互聯(lián)網(wǎng)環(huán)境下更多采用了簡化版的X.500:輕量級目錄存取協(xié)議LDAP。證書發(fā)布系統(tǒng)PKI策略是指一個組織建立和定義的公鑰管理方面的指導(dǎo)方針、處理方法和原則。在PKI中有兩種類型的策略:一是證書策略,用于管理證書的使用;另一個是證書實(shí)踐指南(CertificatePracticeStatement,CPS)PKI策略證書簽發(fā)和撤銷流程簽發(fā)流程:申請用戶向RA申請注冊經(jīng)RA批準(zhǔn)后由CA產(chǎn)生密鑰,并簽發(fā)證書將密鑰進(jìn)行備份將證書存入證書目錄。CA將頒發(fā)的證書信息存入證書目錄,以便用戶下載或查詢CA將證書副本送給RA,RA進(jìn)行登記RA將證書副本送給用戶證書簽發(fā)什么情況下需要撤銷證書?過了有效期證書公鑰對應(yīng)的私鑰被泄露或證書的持有企業(yè)倒閉,或證書的持有人嚴(yán)重違反證書的規(guī)定等情況證書持有人還可申請臨時(shí)停用證書,稱為“證書凍結(jié)”證書撤銷撤銷流程:申請、批準(zhǔn)、撤銷兩種發(fā)布證書撤銷消息的方式一是CA定期公布證書撤銷列表(CRL),時(shí)間間隔由CA的證書策略決定(實(shí)時(shí)性和效率)二是用戶在線查詢:IETFPKIX制定的在線證書狀態(tài)查詢協(xié)議(OnlineCertificateStatusProtocol,OCSP)支持用戶在線查詢,實(shí)時(shí)獲得證書的狀態(tài)(有效、撤銷、凍結(jié))證書撤銷CA的證書也需要撤銷,描述CA等證書機(jī)構(gòu)的撤銷證書的列表稱為機(jī)構(gòu)撤銷列表(AuthorityRevocationList,ARL)證書撤銷證書使用查詢首先獲取證書,以及一些額外輔助驗(yàn)證的證書(如CA的證書,用于驗(yàn)證發(fā)送者證書的有效性)然后,驗(yàn)證證書證書使用驗(yàn)證證書過程用CA根證書中的CA的公鑰驗(yàn)證證書上的CA簽名(這個簽名是用CA的私鑰生成的)是否正確檢查證書的有效期項(xiàng)是否處在有效期內(nèi)驗(yàn)證證書內(nèi)容的真實(shí)性和完整性驗(yàn)證證書是否已被撤銷或凍結(jié)(OCSP在線查詢方式或CRL發(fā)布方式)驗(yàn)證證書的使用方式是否與證書策略和使用限制相一致。證書使用從使用過程來看,CA用于簽發(fā)證書的私鑰的保密性非常重要,如果一旦泄露,所有由該CA簽發(fā)的證書將不能再使用。因?yàn)楂@得該CA私鑰的任何人都可以簽發(fā)證書,導(dǎo)致用戶無法區(qū)分是真正CA簽發(fā)的,還是獲得泄露出來的CA私鑰的人簽發(fā)的。2011年8月,荷蘭CA供應(yīng)商DigiNotar的8臺證書服務(wù)器被黑客入侵事件
證書使用擴(kuò)展:常見證書錯誤擴(kuò)展:常見證書錯誤擴(kuò)展:常見證書錯誤擴(kuò)展:常見證書錯誤擴(kuò)展:常見證書錯誤擴(kuò)展:常見證書錯誤擴(kuò)展:常見證書錯誤IETF成立了PKI工作組,制定了PKIX系列標(biāo)準(zhǔn)(Public
Key
Infrastructure
on
X.509,PKIX)。PKIX定義了X.509證書在Internet上的使用規(guī)范,包括證書的產(chǎn)生、發(fā)布、獲取、撤銷,各種產(chǎn)生和發(fā)布密鑰的機(jī)制,以及怎樣實(shí)現(xiàn)這些標(biāo)準(zhǔn)的框架結(jié)構(gòu)等PKIX標(biāo)準(zhǔn)PKIX標(biāo)準(zhǔn)PKIX標(biāo)準(zhǔn)PKIX內(nèi)容提要密碼學(xué)概述1對稱密碼體制234公開密碼體制散列函數(shù)5密鑰管理6密碼分析密碼分析學(xué)(cryptanalysis)密碼分析學(xué),俗稱:密碼破譯截收者在不知道解密密鑰和通信者所采用的加密算法的細(xì)節(jié)條件下,對密文進(jìn)行分析,試圖獲取機(jī)密信息、研究分析解密規(guī)律的科學(xué)。密碼分析除了依靠數(shù)學(xué)、工程背景、語言學(xué)等知識外,還要依靠經(jīng)驗(yàn)、統(tǒng)計(jì)、測試、眼力、直覺判斷能力等因素,有時(shí)還要靠運(yùn)氣。主要分析途徑窮舉破譯法(ExhaustiveAttackorBrute-forceMethod)分析破譯法窮舉破譯法解密思路:m=D(k2,c)方法一(
k2):對截收的密文依次用各種可解的密鑰試譯,直接得到有意義的明文方法二(m):在不變密鑰下,對所有可能的明文加密直到得到與截收的密文一致為止只要有足夠多的計(jì)算時(shí)間和存儲容量,原則上窮舉法破譯總是可以成功的。因此,密碼設(shè)計(jì)應(yīng)使窮舉不可行。分析破譯法確定性分析法(數(shù)字分析法):利用一個或幾個已知量(如已知密文或明文密文對)用數(shù)學(xué)關(guān)系式表示出所求未知量(如密鑰等)的方法統(tǒng)計(jì)分析法:利用明文的已知統(tǒng)計(jì)規(guī)律進(jìn)行破譯的方法。對截收的密文進(jìn)行統(tǒng)計(jì)分析,總結(jié)出密文的統(tǒng)計(jì)規(guī)律,并與明文的統(tǒng)計(jì)規(guī)律進(jìn)行對照比較,從而提取出明文和密文之間的對應(yīng)或變換信息。
四種攻擊唯密文攻擊(CiphertextOnlyAttacks)已知明文攻擊(KnownPlaintextAttacks)選擇明文攻擊(ChosenPlaintextAttacks)選擇密文攻擊(ChosenCiphertextAttack)2024/12/31241密碼攻擊唯密文攻擊(CiphertextOnlyAttacks)在僅知已加密文字的情況下進(jìn)行窮舉攻擊,可取得原始明文中的全部信息、部分信息或解密密鑰。此時(shí)攻擊的條件就是:已知算法,不知道密鑰,要對密文進(jìn)行強(qiáng)行破解。此方案適用于何種密碼體制?同時(shí)適用于對稱密碼體制和非對稱密碼體制2024/12/31242密碼攻擊已知明文攻擊(KnownPlaintextAttacks)前提條件:已知密文,已知明文,已知算法,求密鑰。2024/12/31243密碼攻擊選擇明文攻擊(ChosenPlaintextAttacks)攻擊者不但可以獲取明文―密文對(如事先任意選擇一定數(shù)量的明文,讓被攻擊的加密算法加密,并得到相應(yīng)的密文),而且可以對這些明文-密文對進(jìn)行選擇,從而選擇那些擁有更多特征的明文-密文對,以有利于對密碼的分析通過這一過程獲得關(guān)于加密算法的一些信息,以利于在將來更有效的破解由同樣加密算法(以及相關(guān)密鑰)加密的信息。在最壞情況下,攻擊者可以直接獲得解密用的鑰匙。適用于什么樣的密碼機(jī)制?2024/12/31244密碼攻擊選擇密文攻擊(ChosenCiphertextAttack)指密碼分析者可以選擇一些密文,并得到相應(yīng)的明文。任務(wù)目標(biāo)是推出密鑰。多用于攻擊公鑰密碼體制,也可用于對稱密碼體制2024/12/31245分析破譯法
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年玩具沙發(fā)項(xiàng)目可行性研究報(bào)告
- 2024年添縫燙膠項(xiàng)目可行性研究報(bào)告
- 2025版車輛抵押貸款監(jiān)管機(jī)構(gòu)合作合同3篇
- 技術(shù)開發(fā)委托開發(fā)合同
- 外貿(mào)產(chǎn)品區(qū)域代理合同模板中英文
- 電子廠生產(chǎn)實(shí)習(xí)總結(jié)
- 2025至2030年中國突變絲行業(yè)投資前景及策略咨詢研究報(bào)告
- 北京衛(wèi)生職業(yè)學(xué)院《水工程實(shí)驗(yàn)技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 委托加工協(xié)議模板合同
- 菜市場租賃合同
- 一次顯著的性能優(yōu)化
- 《中國近現(xiàn)代史綱要(2023版)》課后習(xí)題答案合集匯編
- 保潔人員院感培訓(xùn)完整版課件
- 基于PLC的燃油鍋爐控制系統(tǒng)設(shè)計(jì)
- DB13T 2974-2019 信息系統(tǒng)集成服務(wù)資費(fèi)評估指南
- 春節(jié)期間施工現(xiàn)場安全方案
- 黑龍江省建筑工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)DB23-2017
- 自貢鴻鶴化工股份有限公司20萬噸離子膜燒堿等量搬遷升級改造項(xiàng)目
- 醫(yī)院關(guān)于成立安全生產(chǎn)領(lǐng)導(dǎo)小組的通知
- 【施工方案】空調(diào)百葉施工方案
- ppt模板熱烈歡迎領(lǐng)導(dǎo)蒞臨指導(dǎo)模板課件(15頁P(yáng)PT)
評論
0/150
提交評論