第2章信息安全機制5_第1頁
第2章信息安全機制5_第2頁
第2章信息安全機制5_第3頁
第2章信息安全機制5_第4頁
第2章信息安全機制5_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章

信息安全機制第一頁,共七十四頁。本章學(xué)習(xí)目標

通過本章學(xué)習(xí),讀者應(yīng)該掌握以下內(nèi)容:對稱加密機制及典型算法非對稱加密機制及算法數(shù)字簽名的原理

數(shù)據(jù)完整性驗證的原理及典型算法

PGP的使用第二頁,共七十四頁。一個密碼體制被定義為一對數(shù)據(jù)變換。2.1加密機制2.1.1密碼學(xué)基礎(chǔ)知識明文明文密文加密變換解密變換第三頁,共七十四頁。加密變換將明文和一個稱為加密密鑰的獨立數(shù)據(jù)值作為輸入,輸出密文;解密變換將密文和一個稱為解密密鑰的數(shù)據(jù)值作為輸入。加密解密M:明文C:密文KE:加密密鑰KD:解密密鑰MCKEKDCM加密解密第四頁,共七十四頁。密碼算法——用于加密和解密的數(shù)學(xué)函數(shù)。受限制的算法——密碼的安全性依賴于密碼算法的保密,其保密性依賴于算法的安全性,不易控制?;诿荑€的算法——密碼體制的加密及解密算法公開,而密鑰(即算法中的若干個可變參數(shù))保密,其安全性依賴于密鑰的安全性。第五頁,共七十四頁。2.1.2對稱加密算法加密:Ek(M)=C

解密:Dk(C)=M序列密碼算法(streamcipher)分組密碼算法(blockcipher)

對稱密碼算法有很多種:

DES、TripleDES、IDEA、RC2、RC4、RC5、RC6、GOST、FEAL、LOKI第六頁,共七十四頁。加密過程加密過程主要是重復(fù)使用混亂和擴散兩種技術(shù)?;靵y——是改變信息塊,使輸出位和輸入位無明顯的統(tǒng)計關(guān)系。擴散——是將明文位和密鑰的效應(yīng)傳播到密文的其它位。第七頁,共七十四頁。DES是對稱密鑰加密的算法,DES算法大致可以分成四個部分:(1)初始變換(2)迭代過程(3)逆置換和(4)子密鑰生成2.1.3DES算法第八頁,共七十四頁。DES算法描述(1)初始變換:首先把明文分成若干個64位的分組,然后通過一個初始變換(IP)將一個明文分組分成左半部分(L0)和右半部分(R0),各為32bit。(2)迭代過程:對Li、Ri然后進行16輪完全相同的運算(稱為函數(shù)f),在運算過程中數(shù)據(jù)與密鑰相結(jié)合。(3)逆置換和:經(jīng)過16輪運算,左、右兩部分合在一起經(jīng)過一個末轉(zhuǎn)換(初始轉(zhuǎn)換的逆置換IP-1),輸出一個64bit的密文分組。

第九頁,共七十四頁。圖6.5

DES加密原理示意圖返回本節(jié)第十頁,共七十四頁。密鑰位移位,從密鑰的56位中選出48位。①通過一個擴展置換將數(shù)據(jù)的左半部分擴展成48位,

②并通過一個異或操作與48位密鑰結(jié)合,③通過8個S盒(substitutionbox)將這48位替代成新的32位,

④再依照P-盒置換一次。

然后通過另一個異或運算,將復(fù)雜函數(shù)f的輸出與左半部分結(jié)合成為新的右半部分。

每一輪的運算過程:第十一頁,共七十四頁。三重DES如上所言,DES一個致命的缺陷就是密鑰長度短。對于當前的計算能力,56位的密鑰長度已經(jīng)抗不住窮舉攻擊,而DES又不支持變長密鑰。但算法可以一次使用多個密鑰,從而等同于更長的密鑰。三重DES算法表示為:C=EK3(DK2(EK1(M)))通常取K3=K1,則上式變?yōu)椋篊=EK1(DK2(EK1(M)))第十二頁,共七十四頁。DES的加密強度1995年,一百萬美元制造出的機器平均3.5小時(最多不超過7小時),能破譯56位密鑰的DES算法。1997年1月28日美國RSA公司懸賞1萬美元破譯56位DES密碼,1997年3月13日,Internet數(shù)萬志愿者協(xié)助科羅拉多州1程序員,96天破譯。研究還發(fā)現(xiàn),機器的價格和破譯速度之比是成線性的。第十三頁,共七十四頁。第十四頁,共七十四頁。摩爾定律:大約每經(jīng)18個月計算機的計算能力就會翻一番。這意味著每5年價格就會下降到原來的百分之十,所以在1995年所需要的一百萬美元到了2000年就只用花十萬美元。2002年11月8日的新聞?wù)f到,破解109位密碼,1萬臺PC要花費549天。那么,單臺PC破解109位密碼的能力也就需要549萬天,約合15041年多一點。第十五頁,共七十四頁?,F(xiàn)在的技術(shù)先進多了,普通PC的運算能力也比文中提到的100萬美元的機器強。使用普通PC現(xiàn)在窮舉56位DES大約需要2.5小時(每秒運算30,000次DES算法)。使用快速DES算法可以把破解速度再提高100倍。

第十六頁,共七十四頁。應(yīng)該如何決定密鑰的長度呢?密鑰的長度應(yīng)該是越大越好!如果你的軟硬件允許,就應(yīng)該使用128位的密鑰。加密成本低,速度快.個人的電腦都能夠承受128位密鑰的對稱加密算法的加/解密運算,無論是速度還是成本上,56位和128位位密鑰的加密差別不大。第十七頁,共七十四頁。2.1.4RC5算法RC5是RonRevist發(fā)明的。RC5是具有參數(shù)變量的分組密碼算法,其中可變的參量為:分組的大小、密鑰的大小和加密的輪次。該算法主要使用了三種運算:異或、加、循環(huán)。研究表明:對15輪的RC5,差分攻擊需要268個明文,而這里最多只可能有264個明文,所以對15輪以上的RC5的攻擊是失敗的。Rivest推薦至少使用12輪。第十八頁,共七十四頁。2.1.5非對稱加密體制公開密鑰體制把信息的加密密鑰和解密密鑰分離,通信的每一方都擁有這樣的一對密鑰。加密密鑰可以像電話號碼一樣對外公開,由發(fā)送方用來加密要發(fā)送的原始數(shù)據(jù);解密密鑰則由接收方秘密保密,作為解密時的私用密鑰。第十九頁,共七十四頁。2.1.5非對稱加密體制公開密鑰加密算法的核心是一種特殊的數(shù)學(xué)函數(shù)――單向陷門函數(shù)(trap-dooronewayfunction)。該函數(shù)從一個方向求值是容易的,但其逆變換卻是極其困難的,因此利用公開的加密密鑰只能作正向變換,而逆變換只有依賴于私用的解密密鑰這一“陷門”才能實現(xiàn)。第二十頁,共七十四頁。2.1.5非對稱加密體制優(yōu)點:無需對密鑰通信進行保密,所需傳輸?shù)闹挥泄_密鑰。這種密鑰體制還可以用于數(shù)字簽名,即信息的接收者能夠驗證發(fā)送者的身份,而發(fā)送者在發(fā)送已簽名的信息后不能否認。被認為是一種比較理想的的計算密碼的方法。第二十一頁,共七十四頁。2.1.5非對稱加密體制缺陷:加密和解密的運算時間比較長,這在一定程度上限制了它的應(yīng)用范圍。公認比較安全的是RSA算法及其變種Rabin算法。算法表示為:Ek1(M)=CDk2(C)=MDk2(Ek1(M))=M(k1和k2為一對密鑰中的私有密鑰和公開密鑰)第二十二頁,共七十四頁。2.1.6RSA算法RSA算法的思路如下:為了產(chǎn)生兩個密鑰,先取兩個大素數(shù),p和q。為了獲得最大程度的安全性,兩數(shù)的長度一樣。計算乘積

n=p*q隨機選取加密密鑰e,使e和(p-1)*(q-1)互素。計算解密密鑰d,d滿足ed≡1mod(p-1)(q-1),即d≡e-1mod(p-1)(q-1)(或e×dmodz=1

)。則e和n為公開密鑰,d是私人密鑰。注:1、兩個大數(shù)p和q應(yīng)立即丟棄,不讓人知道。2、一般選擇公開密鑰e比私人密鑰d小。最常選用的e值有三個3,17,65537。第二十三頁,共七十四頁。2.1.6RSA算法加密消息時,首先將消息分成比n小的數(shù)據(jù)分組(采用二進制數(shù),選到小于n的2的最大次冪),設(shè)mi表示消息分組,ci表示加密后的密文,它與mi具有相同的長度。加密過程:ci=mie(modn)解密過程:mi=cid(modn)第二十四頁,共七十四頁。2.1.6RSA算法舉例1:取兩個質(zhì)數(shù)p=11,q=13,p和q的乘積為n=p×q=143,z=(p-1)×(q-1)=120;隨機選e=7(與z=120互質(zhì)的數(shù))則公開密鑰=(n,e)=(143,7)選取d,使得(e×d)modZ=1因為e×d=7×103=721滿足e×dmodz=1;(即721mod120=1成立)p所以對于這個e值,可以算出其逆:d=103。則秘密密鑰=(n,d)=(143,103)。第二十五頁,共七十四頁。舉例1:取兩個質(zhì)數(shù)p=11,q=13,p和q的乘積為n=p×q=143,z=(p-1)×(q-1)=120;

隨機選e=7(與z=120互質(zhì)的數(shù))則公開密鑰=(n,e)=(143,7)。選取d,使得(e×d)modZ=1因為e×d=7×103=721滿足e×dmodz=1;(即721mod120=1成立)所以對于這個e值,可以算出其逆:d=103。則秘密密鑰=(n,d)=(143,103)。第二十六頁,共七十四頁。公開密鑰=(n,e)=(143,7)加密過程:ci=mie(modn)

=mi7(mod143)

秘密密鑰=(n,d)=(143,103)解密過程:mi=cid(modn)=ci103(mod143)

第二十七頁,共七十四頁。RSA的速度和安全性硬件實現(xiàn):RSA比DES慢1000倍軟件實現(xiàn):RSA比DES慢100倍RSA-129(429位二進制,110位十進制)已由包括五大洲43個國家600多人參加,用1600臺電腦同時產(chǎn)生820條指令數(shù)據(jù),通過Internet網(wǎng),耗時8個月,于1994年4月2日利用二次篩法分解出為64位和65位的兩個因子,原來估計要用4億年。(所給密文的譯文為“這些魔文是容易受驚的魚鷹”。這是有史以來最大規(guī)模的數(shù)學(xué)運算。)第二十八頁,共七十四頁。RSA的速度和安全性RSA-640(193位十進制)由德國信息技術(shù)安全局的一個小組于2005年11月,用80個OpetronCPU算了5個月,他們將因此而獲得20000美元的獎金。31074182404900437213507500358885679300373460228427275457201619488232064405180815671723286782437916272838033415471073108501919548529007337724822783525742386454014691736602477652346609RSA2048(617位十進制)的分解獎金高達20萬美元。第二十九頁,共七十四頁。第三十頁,共七十四頁。2.1.7密鑰與密碼破譯方法1、密鑰的窮盡搜索破譯密文最簡單的方法,就是嘗試所有可能的鑰匙組合。

2、密碼分析在不知道鑰匙的情況下,利用數(shù)學(xué)方法破譯密文或找到秘密鑰匙的方法,稱為密碼分析。密碼分析有兩個基本目標:利用密文發(fā)現(xiàn)明文,利用密文發(fā)現(xiàn)鑰匙。

3、其它密碼破譯方法(欺騙\偷窺\垃圾分析)第三十一頁,共七十四頁。2.2數(shù)據(jù)完整性機制密碼學(xué)除了為數(shù)據(jù)提供保密方法以外,還可以用于其他的作用:鑒別(Authentication):消息的接收者可以確定消息的來源,攻擊者不可能偽裝成他人。抗抵賴(Nonrepudiation):發(fā)送者事后不能否認自己已發(fā)送的消息。完整性(Integrity):消息的接收者能夠驗證消息在傳送過程中是否被修改;攻擊者不可能用假消息來代替合法的消息。

第三十二頁,共七十四頁。2.2.1數(shù)據(jù)完整性驗證消息的發(fā)送者用要發(fā)送的消息和一定的算法生成一個附件,并將附件與消息一起發(fā)送出去;消息的接收者收到消息和附件后,用同樣的算法與接收到的消息生成一個新的附件;把新的附件與接收到的附件相比較。

第三十三頁,共七十四頁。2.2.2單向散列函數(shù)單向散列函數(shù)(one-wayhashfunction),也叫壓縮函數(shù)、收縮函數(shù),是現(xiàn)代密碼學(xué)的中心。散列函數(shù)是把可變長度的輸入串(叫做預(yù)映射)轉(zhuǎn)換成固定長度的輸出串(叫做散列值)的一種函數(shù)。利用單向散列函數(shù)生成消息指紋可有兩種情況:不帶密鑰的單向散列函數(shù),這種情況下,任何人都能驗證消息的散列值;帶密鑰的散列函數(shù),散列值是預(yù)映射和密鑰的函數(shù),這樣只有擁有密鑰的人才能驗證散列值。單向散列函數(shù)的算法實現(xiàn)有很多種,如Snefru算法、N-Hash算法、MD2算法、MD4算法、MD5算法,SHA-1算法等等。第三十四頁,共七十四頁。填充消息使用其長度恰好為一個比512的倍數(shù)僅小64bit的數(shù)。

填充前消息+“1”+所需位數(shù)的“0”+64bit填充前消息的長度值

這樣填充后,可使消息的長度恰好為512的整數(shù)倍,且保證不同消息在填充后不相同。2.2.3消息摘要算法MD5

算法描述:MD5以512bit的分組來處理輸入文本,每一分組又劃分為16個32bit的子分組。算法的輸出由4個32bit分組組成,將它們級聯(lián)形成一個128bit的散列值。第三十五頁,共七十四頁。進入算法主循環(huán)循環(huán)次數(shù)=消息中512bit分組的數(shù)目。將鏈接變量A、B、C、D分別復(fù)制給a、b、c、d,每次循環(huán)進行四輪運算,每輪16次操作,分別針對一個512bit消息分組中的16個32bit子分組。每次操作過程如下:對a、b、c、d中任意三個作一次非線性函數(shù)運算所得結(jié)果+第四個變量+消息的一個子分組+常數(shù)所得結(jié)果向左環(huán)移一個不定數(shù)+a、b、c、d中任意一個

a、b、c、d中任意一個A、B、C、D(分別)+a、b、c、d,再對下一個子分組繼續(xù)運行算法第三十六頁,共七十四頁。2.3數(shù)字簽名機制數(shù)字簽名(DigitalSignature)是解決網(wǎng)絡(luò)通信中特有的安全問題的有效方法。特別是針對通信雙方發(fā)生爭執(zhí)時可能產(chǎn)生的如下安全問題:冒充否認偽造公證第三十七頁,共七十四頁。2.3數(shù)字簽名機制數(shù)字簽名機制需要實現(xiàn)以下幾個目的:l

可信:消息的接收者通過簽名可以確信消息確實來自于聲明的發(fā)送者。l

不可偽造:簽名應(yīng)是獨一無二的,其它人無法假冒和偽造。l

不可重用:簽名是消息的一部分,不能被挪用到其它的文件上。l

不可抵賴:簽名者事后不能否認自己簽過的文件。第三十八頁,共七十四頁。2.3.1數(shù)字簽名的基本原理

數(shù)字簽名實際上是附加在數(shù)據(jù)單元上的一些數(shù)據(jù)或是對數(shù)據(jù)單元所作的密碼變換,這種數(shù)據(jù)或變換能使數(shù)據(jù)單元的接收者確認數(shù)據(jù)單元的來源和數(shù)據(jù)的完整性,并保護數(shù)據(jù),防止被人(如接收者)偽造。簽名機制的本質(zhì)特征是該簽名只有通過簽名者的私有信息才能產(chǎn)生,也就是說,一個簽名者的簽名只能唯一地由他自己產(chǎn)生。當收發(fā)雙方發(fā)生爭議時,第三方(仲裁機構(gòu))就能夠根據(jù)消息上的數(shù)字簽名來裁定這條消息是否確實由發(fā)送方發(fā)出,從而實現(xiàn)抗抵賴服務(wù)。另外,數(shù)字簽名應(yīng)是所發(fā)送數(shù)據(jù)的函數(shù),即簽名與消息相關(guān),從而防止數(shù)字簽名的偽造和重用。第三十九頁,共七十四頁。2.3.2數(shù)字簽名的實現(xiàn)方法實現(xiàn)數(shù)字簽名有很多方法,目前數(shù)字簽名采用較多的是公鑰加密技術(shù),如基于RSADataSecurity公司的PKCS(PublicKeyCryptographyStandards)、DSA(DigitalSignatureAlgorithm)、x.509、PGP(PrettyGoodPrivacy)。1994年美國標準與技術(shù)協(xié)會公布了數(shù)字簽名標準(DSS)而使公鑰加密技術(shù)廣泛應(yīng)用。同時應(yīng)用散列算法(Hash)也是實現(xiàn)數(shù)字簽名的一種方法第四十頁,共七十四頁。2.3.2數(shù)字簽名的實現(xiàn)方法

1、使用對稱加密和仲裁者實現(xiàn)數(shù)字簽名第四十一頁,共七十四頁。是否可以實現(xiàn)數(shù)字簽名的目的呢?第三方是A、B雙方都信賴的;A與第三方之間使用的簽名不可為他人偽造;A與B之間,A的簽名不可為B偽造;A與B之間,A的簽名不可抵賴。第四十二頁,共七十四頁。2、使用公開密鑰體制進行數(shù)字簽名公開密鑰體制的發(fā)明,使數(shù)字簽名變得更簡單,它不再需要第三方去簽名和驗證。簽名的實現(xiàn)過程如下:l

A用他的私人密鑰加密消息,從而對文件簽名;l

A將簽名的消息發(fā)送給B;l

B用A的公開密鑰解消息,從而驗證簽名第四十三頁,共七十四頁。是否可以實現(xiàn)數(shù)字簽名的目的呢?A的簽名他人不可偽造;B可確定消息來源,即可信;A不可抵賴;A的簽名不可重用。第四十四頁,共七十四頁。3、使用公開密鑰體制與單向散列函數(shù)進行數(shù)字簽名第四十五頁,共七十四頁。采用公開密鑰的數(shù)字簽名假設(shè)A(公開密鑰為EA,秘密密鑰為DA)要發(fā)送一個電子文件P給B(公開密鑰為EB,秘密密鑰為DB)。A、B雙方只需經(jīng)過下面三個步驟即可A用其私鑰加密文件P,這便是簽字過程A將加密的文件送到BB用A的公鑰解開A送來的文件其中密鑰之間應(yīng)滿足DA(EA(P))=P和DB(EB(P))=PEA(DA(P))=P和EB(DB(P))=P第四十六頁,共七十四頁。采用公開密鑰的數(shù)字簽名簽字是可以被確認的,因為B是用A的公鑰解開加密文件的,這說明原文件只能被A的私鑰加密而只有A才知道自己的私鑰。簽字是無法被偽造的,因為只有A知道自己的私鑰。因此只有A能用自己的私鑰加密一個文件。簽字是無法重復(fù)使用的,簽字在這里就是一個加密過程,自己無法重復(fù)使用。文件被簽字以后是無法被篡改的,因為加密后的文件被改動后是無法被A的公鑰解開的。簽字具有無可否認性,因為除A以外無人能用A的私鑰加密一個文件。第四十七頁,共七十四頁。數(shù)字簽名標準DSA(DigitalSignatureAlgorithm)被美國國家標準技術(shù)研究所(NIST)作為DSS。DSS最早發(fā)表于1991年,并根據(jù)公眾對該體制安全性擔(dān)心的反應(yīng)在1993年進行了修改。1996年又進行了更進一步的小修改。第四十八頁,共七十四頁。DSA算法算法中應(yīng)用了下述參數(shù):p:L位長的素數(shù)。L是64的倍數(shù),范圍是512到1024;q:p-1的160bits的素因子;g:g=h(p-1)/qmodp,h滿足h<p-1,h(p-1)/qmodp>1;x:秘密密鑰,正整數(shù),x<q;y:y=gxmodp,(p,q,g,y)為公鑰;k為隨機數(shù),0<k<q;H(x):單向Hash函數(shù)。第四十九頁,共七十四頁。DSA算法簽名過程如下:產(chǎn)生隨機數(shù)k,k<q;計算r=(gkmodp)modqs=(k-1(H(m)+xr))modq簽名結(jié)果是(m,r,s)。驗證時計算w=s-1modqu1=(H(m)w)modqu2=(rw)modqv=((gu1×yu2)modp)modq若v=r,則認為簽名有效。第五十頁,共七十四頁。DSA算法示例選擇p=124540019,q=17389;q是p-1的一個因子,p-1/q=7162.A選擇一個隨機數(shù)k=110217528;g=k7162modp=10083255;選擇x=124

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論