第四章加密與認(rèn)證技術(shù)_第1頁
第四章加密與認(rèn)證技術(shù)_第2頁
第四章加密與認(rèn)證技術(shù)_第3頁
第四章加密與認(rèn)證技術(shù)_第4頁
第四章加密與認(rèn)證技術(shù)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

加密與認(rèn)證技術(shù)第4章本章內(nèi)容4.1加密技術(shù)概述4.2信息加密方式4.3常用加密算法介紹4.4認(rèn)證技術(shù)4.5密碼破譯方法及預(yù)防破譯措施4.1加密技術(shù)概述

信息安全主要包括系統(tǒng)安全和數(shù)據(jù)安全兩個(gè)方面。

系統(tǒng)安全一般采用防火墻、防病毒及其他安全防范技術(shù)等措施,是屬于被動(dòng)型的安全措施。

數(shù)據(jù)安全則主要采用現(xiàn)代密碼技術(shù)對(duì)數(shù)據(jù)進(jìn)行主動(dòng)的安全保護(hù),如數(shù)據(jù)保密、數(shù)據(jù)完整性、身份認(rèn)證等技術(shù)。密碼學(xué)是研究數(shù)據(jù)的加密、解密及其變換的學(xué)科,涵蓋數(shù)學(xué)、計(jì)算機(jī)科學(xué)、電子與通信學(xué)科。密碼技術(shù)不僅服務(wù)于信息的加密和解密,還是身份認(rèn)證、訪問控制、數(shù)字簽名等多種安全機(jī)制的基礎(chǔ)。

密碼技術(shù)包括密碼算法設(shè)計(jì)、密碼分析、安全協(xié)議、身份認(rèn)證、消息確認(rèn)、數(shù)字簽名、密鑰管理、密鑰托管等技術(shù),是保護(hù)大型網(wǎng)絡(luò)傳輸信息安全的唯一實(shí)現(xiàn)手段,是保障信息安全的核心技術(shù)。它以很小的代價(jià),對(duì)信息提供一種強(qiáng)有力的安全保護(hù)。4.1.1加密技術(shù)一般原理加密技術(shù)的基本思想就是偽裝信息,使非法接入者無法解信息的真正含義。偽裝就是對(duì)信息進(jìn)行一組可逆的數(shù)學(xué)變換。我們稱偽裝前的原始信息為明文,經(jīng)偽裝的信息為密文,偽裝的過程為加密。用于對(duì)信息進(jìn)行加密的一組數(shù)學(xué)變換稱為加密算法。為了有效控制加密、解密算法的實(shí)現(xiàn),在這些算法的實(shí)現(xiàn)過程中,需要有某些只被通信雙方所掌握的專門的、關(guān)鍵的信息參與,這些信息就稱為密鑰。用作加密的稱加密密鑰,用作解密的稱作解密密鑰。1.基本概念借助加密手段,信息以密文的方式歸檔存儲(chǔ)在計(jì)算機(jī)中,或通過數(shù)據(jù)通信網(wǎng)進(jìn)行傳輸,因此即使發(fā)生非法截取數(shù)據(jù)或因系統(tǒng)故障和操作人員誤操作而造成數(shù)據(jù)泄漏,未授權(quán)者也不能理解數(shù)據(jù)的真正含義,從而達(dá)到了信息保密的目的。圖4-1保密通信系統(tǒng)模型2.保密通信系統(tǒng)模型防止消息被篡改、刪除、重放和偽造的一種有效方法是使發(fā)送的消息具有被驗(yàn)證的能力,使接收者或第三者能夠識(shí)別和確認(rèn)消息的真?zhèn)?,?shí)現(xiàn)這類功能的密碼系統(tǒng)稱為認(rèn)證系統(tǒng)(AuthenticationSystem)。消息的認(rèn)證性和消息的保密性不同,保密性是使截獲者在不知密鑰條件下不能解讀密文的內(nèi)容,而認(rèn)證性是使不知密鑰的人不能構(gòu)造出一個(gè)密報(bào),使意定的接收者脫密成一個(gè)可理解的消息(合法的消息)。

認(rèn)證系統(tǒng)的基本要求:

1)意定的接收者能夠檢驗(yàn)和證實(shí)消息的合法性和真實(shí)性。

2)消息的發(fā)送者對(duì)所發(fā)送的消息不能抵賴。

3)除了合法消息發(fā)送者外,其他人不能偽造合法的消息,而且在已知合法密文c和相應(yīng)消息m下,要確定加密密鑰或系統(tǒng)地偽裝合法密文在計(jì)算上是不可行的。4)必要時(shí)可由第三者做出仲裁。

3.認(rèn)證系統(tǒng)4.1.2密碼學(xué)與密碼體制

密碼學(xué)包括密碼設(shè)計(jì)與密碼分析兩個(gè)方面,密碼設(shè)計(jì)主要研究加密方法,密碼分析主要針對(duì)密碼破譯,即如何從密文推演出明文、密鑰或解密算法的學(xué)問。這兩種技術(shù)相互依存、相互支持、共同發(fā)展。

加密算法的三個(gè)發(fā)展階段:古典密碼對(duì)稱密鑰密碼(單鑰密碼體制)公開密鑰密碼(雙鑰密碼體制)。

這些算法按密鑰管理的方式可以分為對(duì)稱算法與非對(duì)稱算法兩大類,即我們通常所說的對(duì)稱密鑰密碼體制和非對(duì)稱密鑰密碼體制。1.對(duì)稱密鑰密碼體制

傳統(tǒng)密碼體制所用的加密密鑰和解密密鑰相同,或?qū)嵸|(zhì)上等同(即從一個(gè)可以推出另外一個(gè)),我們稱其為對(duì)稱密鑰、私鑰或單鑰密碼體制。對(duì)稱密鑰密碼體制不僅可用于數(shù)據(jù)加密,也可用于消息的認(rèn)證。對(duì)稱算法又可分為序列密碼和分組密碼兩大類。序列密碼每次加密一位或一字節(jié)的明文,也稱為流密碼。序列密碼是手工和機(jī)械密碼時(shí)代的主流方式。分組密碼將明文分成固定長度的組,用同一密鑰和算法對(duì)每一塊加密,輸出也是固定長度的密文。最典型的就是1977年美國國家標(biāo)準(zhǔn)局頒布DES算法。圖4-2對(duì)稱密鑰密碼體制的通信模型

單鑰密碼體制的優(yōu)點(diǎn)是:安全性高且加、解密速度快其缺點(diǎn)是:進(jìn)行保密通信之前,雙方必須通過安全信道傳送所用的密鑰。這對(duì)于相距較遠(yuǎn)的用戶可能要付出較大的代價(jià),甚至難以實(shí)現(xiàn)。例如,在擁有眾多用戶的網(wǎng)絡(luò)環(huán)境中使n個(gè)用戶之間相互進(jìn)行保密通信,若使用同一個(gè)對(duì)稱密鑰,一旦密鑰被破解,整個(gè)系統(tǒng)就會(huì)崩潰;使用不同的對(duì)稱密鑰,則密鑰的個(gè)數(shù)幾乎與通信人數(shù)成正比[需要n*(n-1)個(gè)密鑰]。由此可見,若采用對(duì)稱密鑰,大系統(tǒng)的密鑰管理幾乎不可能實(shí)現(xiàn)。2.非對(duì)稱密鑰密碼體制若加密密鑰和解密密鑰不相同,從其中一個(gè)難以推出另一個(gè),則稱為非對(duì)稱密鑰或雙鑰密碼體制。采用雙鑰密碼體制的主要特點(diǎn)是將加密和解密功能分開,因而可以實(shí)現(xiàn)多個(gè)用戶加密的消息只能由一個(gè)用戶解讀,或只能由一個(gè)用戶加密消息而使多個(gè)用戶可以解讀。在使用雙鑰體制時(shí),每個(gè)用戶都有一對(duì)預(yù)先選定的密鑰:一個(gè)是可以公開的,以kl表示,另一個(gè)則是秘密的,以k2表示,公開的密鑰k1可以像電話號(hào)碼一樣進(jìn)行注冊(cè)公布,因此雙鑰體制又稱作公鑰體制(PublicKeySystem)。最有名的雙鑰密碼體制是1977年由Rivest、Shamir和Adleman等三人提出的RSA密碼算法。圖4-3雙鑰密碼體制的通信模型

雙鑰密碼體制既可用于實(shí)現(xiàn)公共通信網(wǎng)的保密通信,也可用于認(rèn)證系統(tǒng)中對(duì)消息進(jìn)行數(shù)字簽名。為了同時(shí)實(shí)現(xiàn)保密性和對(duì)消息進(jìn)行確認(rèn),在明文消息空間和密文消息空間等價(jià),且加密、解密運(yùn)算次序可換,即Ekl(Dk2(m))=Dk2(Ek1(m))=m。圖4-4雙鑰保密和認(rèn)證體制

3.混合加密體制

實(shí)際網(wǎng)絡(luò)多采用雙鑰和單鑰密碼相結(jié)合的混合加密體制,即加解密時(shí)采用單鑰密碼,密鑰傳送則采用雙鑰密碼。這樣既解決了密鑰管理的困難,又解決了加、解密速度的問題。4.1.3密碼學(xué)的作用

密碼學(xué)主要的應(yīng)用形式有數(shù)字簽名、身份認(rèn)證、消息認(rèn)證(也稱數(shù)字指紋)、數(shù)字水印等幾種,這幾種應(yīng)用的關(guān)鍵是密鑰的傳送,網(wǎng)絡(luò)中一般采用混合加密體制來實(shí)現(xiàn)。密碼學(xué)的應(yīng)用主要體現(xiàn)了以下幾個(gè)方面的功能。(1)維持機(jī)密性(2)用于鑒別(3)保證完整性(4)用于抗抵賴4.2信息加密方式網(wǎng)絡(luò)數(shù)據(jù)加密常見的方式有鏈路加密、節(jié)點(diǎn)加密和端到端加密三種。

4.2.1鏈路加密鏈路加密方式中,所有消息在被傳輸之前進(jìn)行加密,不但對(duì)數(shù)據(jù)報(bào)文正文加密,而且把路由信息、校驗(yàn)和等控制信息也進(jìn)行加密。在每一個(gè)節(jié)點(diǎn)接收到數(shù)據(jù)報(bào)文后,必須進(jìn)行解密以獲得路由信息和校驗(yàn)和,進(jìn)行路由選擇、差錯(cuò)檢測,然后使用下一個(gè)鏈路的密鑰對(duì)報(bào)文進(jìn)行加密,再進(jìn)行傳輸。在每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)中,消息以明文形式存在4.2.2節(jié)點(diǎn)加密

節(jié)點(diǎn)加密是指在信息傳輸路過的節(jié)點(diǎn)處進(jìn)行解密和加密。盡管節(jié)點(diǎn)加密能給網(wǎng)絡(luò)數(shù)據(jù)提供較高的安全性,但它在操作方式上與鏈路加密是類似的:兩者均在通信鏈路上為傳輸?shù)南⑻峁┌踩?,都在中間節(jié)點(diǎn)先對(duì)消息進(jìn)行解密,然后進(jìn)行加密。因?yàn)橐獙?duì)所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,所以加密過程對(duì)用戶是透明的。然而,與鏈路加密不同的是,節(jié)點(diǎn)加密不允許消息在網(wǎng)絡(luò)節(jié)點(diǎn)以明文形式存在,它先把收到的消息進(jìn)行解密,然后采用另一個(gè)不同的密鑰進(jìn)行加密,這一過程是在節(jié)點(diǎn)上的一個(gè)安全模塊中進(jìn)行。

節(jié)點(diǎn)加密要求報(bào)頭和路由信息以明文形式傳輸。不能有效防止攻擊者分析通信業(yè)務(wù)。節(jié)點(diǎn)加密與鏈路加密有共同的缺點(diǎn):需要網(wǎng)絡(luò)提供者修改交換節(jié)點(diǎn),增加安全模塊或保護(hù)裝置。

4.2.3端到端加密

端到端加密允許數(shù)據(jù)在從源點(diǎn)到終點(diǎn)的傳輸過程中始終以密文形式存在。采用端到端加密,消息在被傳輸時(shí)到達(dá)終點(diǎn)之前不進(jìn)行解密,因?yàn)橄⒃谡麄€(gè)傳輸過程中均受到保護(hù),所以即使有節(jié)點(diǎn)被損壞也不會(huì)使消息泄露。

端到端加密系統(tǒng)通常不允許對(duì)消息的目的地址進(jìn)行加密,這是因?yàn)槊恳粋€(gè)消息所經(jīng)過的節(jié)點(diǎn)都要用此地址來確定如何傳輸消息。由于這種加密方法不能掩蓋被傳輸消息的源點(diǎn)與終點(diǎn),因此它對(duì)于防止攻擊者分析通信業(yè)務(wù)是脆弱的。

4.3.1加密系統(tǒng)的組成盡管密碼學(xué)的數(shù)學(xué)理論相當(dāng)高深,但加密的概念卻十分簡單。加密就是把數(shù)據(jù)和信息(稱為明文)轉(zhuǎn)換為不可辨識(shí)形式(稱為密文)的過程,使不應(yīng)了解該數(shù)據(jù)和信息的人無法識(shí)別。任何加密系統(tǒng),不論形式多么復(fù)雜,至少包括以下4個(gè)組成部分:待加密的報(bào)文,也稱明文。加密后的報(bào)文,也稱密文。加密、解密裝置或稱算法。用于加密和解密的密鑰,它可以是數(shù)字,詞匯或者語句。4.3常用加密算法(也稱古典密碼算法)

4.3.2四種傳統(tǒng)加密方法(4種)(1)代碼加密發(fā)送秘密消息的最簡單做法,就是使用通信雙方預(yù)先設(shè)定的一組代碼。代碼可以是日常詞匯、專有名詞或特殊用語,但都有一個(gè)預(yù)先指定的確切含義。它簡單有效,得到廣泛的應(yīng)用。代碼簡單好用,但只能傳送一組預(yù)先約定的信息。當(dāng)然,可以將所有的語意單元(如每個(gè)單詞)編排成代碼簿,加密任何語句只要查代碼簿即可。不重復(fù)使用的代碼是很安全的。代碼經(jīng)過多次反復(fù)使用,竊密者會(huì)逐漸明白它們的意義,代碼就逐漸失去了原有的安全性。舉例密文:黃姨白姐安全到家了。明文:黃金和白銀已經(jīng)走私出境了。(2)替換加密由于英文字母中各字母出現(xiàn)的頻度早已有人進(jìn)行過統(tǒng)計(jì),所以根據(jù)字母頻度表可以很容易對(duì)這種替換密碼進(jìn)行破譯。舉例將字母a,b,c,…,x,y,z的自然順序保持不變,但使之與D,E,F(xiàn),…,A,B,C分別對(duì)應(yīng)(即相差3個(gè)字符)若明文為student,則對(duì)應(yīng)的密文為VWXGHQW(此時(shí)密鑰為3)。(3)變位加密代碼加密和替換加密保持著明文的字符順序,只是將原字符替換并隱藏起來。變位加密不隱藏原明文的字符,但卻將字符重新排序,即把明文中的字母重新排列,字母本身不變,但位置變了。常見的變位加密方法有列變位法和矩陣變位法。簡單的變位加密:首先選擇一個(gè)用數(shù)字表示的密鑰,寫成一行,然后把明文逐行寫在數(shù)字下。按密鑰中數(shù)字指示的順序,逐列將原文抄寫下來,就是加密后的密文。列變位法:將明文字符分割成為五個(gè)一列的分組并按一組后面跟著另一組的形式排好,最后不全的組可以用不常使用的字符填滿。矩陣變位法:把明文中的字母按給定的順序安排在一個(gè)矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。1)簡單的變位加密密鑰:416825739明文:來人已出現(xiàn)住在平安123456789密文:出來住平人現(xiàn)在已安2)列變位法(這里的密鑰是數(shù)字5)明文:WHATYOUCANLEARNFROMTHISBOOK分組排列為:W H A T YO U C A NL E A R NF R O M TH I S B OO K X X X密文:WOLFHOHUERIKACAOSXTARMBXYNNTOX。變位加密舉例3)矩陣變位法

這種加密是把明文中的字母按給定的順序安排在一個(gè)矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。如將明文ENGINEERING按行排在3*4矩陣中,如下所示:1234ENGINEERING給定一個(gè)置換:現(xiàn)在根據(jù)給定的置換,按第2、第4、第1、第3列的次序重新排列,就得:2413NIEGERNENIG所以,密文為:NIEGERNENIG。其解密過程正好反過來,先將密文根據(jù)3*4矩陣,按行、按列,及列的順序?qū)懗鼍仃嚕辉俑鶕?jù)給定置換f產(chǎn)生新的矩陣;最后恢復(fù)明文ENGINEERING。(4)一次性密碼簿加密密碼簿的每一頁上都是一些代碼表,可以用一頁上的代碼來加密一些詞,用后撕掉或燒毀;再用另一頁上的代碼加密另一些詞,直到全部的明文都被加密。破譯密文的惟一辦法,就是獲得一份相同的密碼簿。舉例加密過程:(明文與密碼按位異或計(jì)算)明文:101101011011密碼:011010101001密文:110111110010解密過程:(密文與密碼按位異或計(jì)算)密文:110111110010密碼:011010101001明文:1011010110114.3.3單鑰加密算法

保密性完全依賴于密鑰的保密,且加密密鑰和解密密鑰完全相同或等價(jià),又稱為對(duì)稱密鑰加密算法,其加密模式主要有序列密碼(也稱流密碼)和分組密碼兩種方式。

流密碼是將明文劃分成字符(如單個(gè)字母),或其編碼的基本單元(如0、1數(shù)字),字符分別與密鑰流作用進(jìn)行加密,解密時(shí)以同步產(chǎn)生的同樣的密鑰流解密。流密碼的強(qiáng)度完全依賴于密鑰流序列的隨機(jī)性和不可預(yù)測性,其核心問題是密鑰流生成器的設(shè)計(jì),流密碼主要應(yīng)用于政府和軍事等國家要害部門。

分組密碼是將明文消息編碼表示后的數(shù)字序列x1,x2,…,xi,…,劃分為長為m的組x=(xo,xl,…,xm-1),各組(長為m的矢量),分別在密鑰k=(ko,k1,…,kL-1)控制下變換成等長的輸出數(shù)字序列y=(yo,y1,…,yn-1)(長為n的矢量),其加密函數(shù)E:Vn×K→Vn,Vn是n維矢量空間,K為密鑰空間。

實(shí)質(zhì)上是字長為m的數(shù)字序列的代替密碼。

1.DES算法為了建立適用于計(jì)算機(jī)系統(tǒng)的商用密碼,美國國家標(biāo)準(zhǔn)局(NBS)于1973年5月和1974年8月兩次發(fā)布通告,向社會(huì)征求密碼算法,IBM公司提出的算法lucifer中選。并于1976年11月被美國政府采用,lucifer隨后被美國國家標(biāo)準(zhǔn)局和美國國家標(biāo)準(zhǔn)協(xié)會(huì)(AmericanNationalStandardInstitute,ANSI)承認(rèn)。1977年1月以數(shù)據(jù)加密標(biāo)準(zhǔn)DES(DataEncryptionStandard)的名稱正式向社會(huì)公布。DES是一種分組密碼,是專為二進(jìn)制編碼數(shù)據(jù)設(shè)計(jì)的。DES算法大致可以分成四個(gè)部分:初始變換乘積變換(迭代運(yùn)算)逆初始變換子密鑰生成

圖4-956位DES加密算法的框圖

DES算法是一種對(duì)二元數(shù)據(jù)進(jìn)行加密的分組密碼,數(shù)據(jù)分組長度為64bit(8byte),密文分組長度也是64bit,沒有數(shù)據(jù)擴(kuò)展。密鑰長度為64bit,其中有效密鑰長度56bit,其余8bit為奇偶校驗(yàn)。DES的整個(gè)體制是公開的,系統(tǒng)的安全性主要依賴密鑰的保密。

DES算法加密流程輸入64位的明文。初始變換IP,換位操位。16輪乘積變換(迭代運(yùn)算),在每輪處理中,64位的密鑰(去掉8個(gè)奇偶校驗(yàn)位,實(shí)際上是56位)經(jīng)過了變換、左移若干位、再變換,得出一個(gè)惟一的、48位的輪次子密鑰,每個(gè)子密鑰控制一輪對(duì)數(shù)據(jù)加密運(yùn)算的乘積變換。逆初始變換IP-1,這是第(2)步的逆變換。輸出64位密文。初始變換IP表的意思是:明文中的第58位移到第1位,明文中的第50位移到第2位,……,以此類推。在初始換位表IP的作用下,得到一個(gè)亂序狀態(tài)的64位明文,其中前面32位是L0,后面32位是R0,即: L0=m58m50m42m34…m16m8 R0=m57m49m41m33…m5m7初始變換是換位操作。換位時(shí)不用密鑰,僅對(duì)64位明文m進(jìn)行換位操作。用IP表示:

逆初始變換

IP-1的作用是:將通過IP初始變換后已處于亂序狀態(tài)的64位數(shù)據(jù),變換到原來的正常位置。例如,明文m中的第60位數(shù)據(jù)m60在初始變換后處于第9位,而通過逆初始變換,又將第9位換回到第60位;第1位數(shù)據(jù)m1經(jīng)過初始變換后,處于第40位,在逆初始變換IP-1作用下,又將第40位換回到第1位。逆初始變換用IP-1表示,它和IP互逆。IP-1滿足:IP*IP-1=IP-1*IP=I逆初始變換IP-1表:乘積變換(迭代)過程

DES算法的核心部分是迭代運(yùn)算。DES加密時(shí)把明文以64位為單位分成塊。64位的明文數(shù)據(jù)經(jīng)初始變換后進(jìn)入加密迭代運(yùn)算:每輪開始時(shí)將輸入的64位數(shù)據(jù)分成左、右長度相等的兩半,右半部分原封不動(dòng)地作為本輪輸出數(shù)據(jù)的左半部分,即下一輪迭代輸入數(shù)據(jù)的左半部分;同時(shí)對(duì)右半部分進(jìn)行一系列的變換:先用輪函數(shù)f作用于右半部分,然后將所得結(jié)果(32位數(shù)據(jù))與輸入數(shù)據(jù)的左半部分進(jìn)行逐位異或,最后將所得數(shù)據(jù)作為本輪輸出的64位數(shù)據(jù)的右半部分。這種加密迭代運(yùn)算要重復(fù)16次。如圖所示。2.其他對(duì)稱密鑰加密算法p57IDEA(國際數(shù)據(jù)加密算法,密鑰長度為128位)SAFERK-64、GOST、RC-4、RC-5、Blowfish、CAST-128等4.3.4雙鑰加密算法

雙鑰密碼體制的加密密鑰和解密密鑰不相同,它們的值不等,屬性也不同,一個(gè)是可公開的公鑰,另一個(gè)則是需要保密的私鑰。雙鑰密碼體制的特點(diǎn)是加密能力和解密能力是分開的,即加密與解密的密鑰不同,或從一個(gè)難以推出另一個(gè)。它可以實(shí)現(xiàn)多個(gè)用戶用公鑰加密的消息只能由一個(gè)用戶用私鑰解讀,或反過來,由一個(gè)用戶用私鑰加密的消息可被多個(gè)用戶用公鑰解讀。其中前一種方式可用于在公共網(wǎng)絡(luò)中實(shí)現(xiàn)保密通信;后一種方式可用于在認(rèn)證系統(tǒng)中對(duì)消息進(jìn)行數(shù)字簽名。

雙鑰加密算法的主要特點(diǎn)如下:1)用加密密鑰PK對(duì)明文m加密后得到密文,再用解密密鑰SK對(duì)密文解密,即可恢復(fù)出明文m,即DSK(EPK(m))=m2)加密密鑰不能用來解密,即:DPK(EPK(m))≠m;DSK(ESK(m))≠m3)用SK加密的信息只能用PK解密;用PK加密的信息只能用SK解密。4)從已知的PK不可能推導(dǎo)出SK。5)加密和解密的運(yùn)算可對(duì)調(diào),即:EPK(DSK(m))=m雙鑰密碼體制大大簡化了復(fù)雜的密鑰分配管理問題,但公鑰算法要比私鑰算法慢得多(約1000倍)。

1.RSA算法

RSA體制是由R.L.Rivest、A.Shamir和L.Adleman設(shè)計(jì)的用數(shù)論構(gòu)造雙鑰的方法,它既可用于加密,也可用于數(shù)字簽名。RSA得到了世界上的最廣泛應(yīng)用,ISO在1992年頒布的國際標(biāo)準(zhǔn)X.509中,將RSA算法正式納入國際標(biāo)準(zhǔn)。1999年,美國參議院已經(jīng)通過了立法,規(guī)定電子數(shù)字簽名與手寫簽名的文件、郵件在美國具有同等的法律效力。在Internet中廣泛使用的電子郵件和文件加密軟件PGP(PrettyGoodPrivacy)也將RSA作為傳送會(huì)話密鑰和數(shù)字簽名的標(biāo)準(zhǔn)算法。

RSA算法的安全性建立在數(shù)論中“大數(shù)分解和素?cái)?shù)檢測”的理論基礎(chǔ)上。

RSA算法的演算過程密鑰配制過程假設(shè)m為需要加密傳送的報(bào)文,密鑰配制過程就是設(shè)計(jì)出公開密鑰PK與秘密密鑰SK。任選兩個(gè)不同的大素?cái)?shù)p與q(注意:p,q必須保密),使得n=p×q>m;設(shè)z=(p-1)(q-1),則可找出任意一個(gè)與z互素的正整數(shù)e,即e與(p-1)(q-1)互素;利用輾轉(zhuǎn)相除法,可計(jì)算其逆d,使之滿足:e×dmod(p-1)(q-1)=1,其中mod是整數(shù)求余運(yùn)算。公開密鑰為:PK=(n,e),用于加密,可以公開出去(在網(wǎng)絡(luò)、電話簿等公開媒體上公布);其中沒有包含任何有關(guān)n的因子p和q的信息。秘密密鑰為:SK=(n,d),用于解密,必須保密;顯然d中隱含有因子p和q的信息。故n和e可公開,而p,q,d是保密的。加密設(shè)m為要傳送的明文,利用公開密鑰(n,e)加密,c為加密后的密文。則加密公式為:c=m^emodn,(0≤c<n)。解密利用秘密密鑰(n,d)解密。則解密公式為:m=c^dmodn,(0≤m<n)。RSA公開密鑰密碼系統(tǒng)舉例

取兩個(gè)質(zhì)數(shù)p=11,q=13,p和q的乘積為n=p×q=143,算出另一個(gè)數(shù)z=(p-1)×(q-1)=120;再選取一個(gè)與z=120互質(zhì)的數(shù),例如e=7,則公開密鑰=(n,e)=(143,7)。對(duì)于這個(gè)e值,可以算出其逆:d=103。因?yàn)閑×d=7×103=721,滿足e×dmodz=1;即721mod120=1成立。則秘密密鑰=(n,d)=(143,103)。設(shè)張小姐需要發(fā)送機(jī)密信息(明文)m=85給李先生,她已經(jīng)從公開媒體得到了李先生的公開密鑰(n,e)=(143,7),于是她算出加密值:c=m^emodn=857mod143=123并發(fā)送給李先生。李先生在收到密文c=123后,利用只有他自己知道的秘密密鑰計(jì)算:m=c^dmodn=123^103mod143=85,所以,李先生可以得到張小姐發(fā)給他的真正的信息m=85,實(shí)現(xiàn)了解密。2.其他非對(duì)稱的密鑰加密算法P60ELGamal算法、LUC密碼、Rabin密碼、DSA密碼等。4.4認(rèn)證技術(shù)認(rèn)證的目的有三個(gè):一是消息完整性認(rèn)證,即驗(yàn)證信息在傳送或存儲(chǔ)過程中是否被篡改;二是身份認(rèn)證,即驗(yàn)證消息的收發(fā)者是否持有正確的身份認(rèn)證符,如口令或密鑰等;三是消息的序號(hào)和操作時(shí)間(時(shí)間性)等的認(rèn)證,其目的是防止消息重放或延遲等攻擊。認(rèn)證技術(shù)是防止不法分子對(duì)信息系統(tǒng)進(jìn)行主動(dòng)攻擊的一種重要技術(shù)。4.4.1認(rèn)證技術(shù)的分層模型認(rèn)證技術(shù)一般可以分為三個(gè)層次:安全管理協(xié)議、認(rèn)證體制和密碼體制。安全管理協(xié)議的主要任務(wù)是在安全體制的支持下,建立、強(qiáng)化和實(shí)施整個(gè)網(wǎng)絡(luò)系統(tǒng)的安全策略;認(rèn)證體制在安全管理協(xié)議的控制和密碼體制的支持下,完成各種認(rèn)證功能;密碼體制是認(rèn)證技術(shù)的基礎(chǔ),它為認(rèn)證體制提供數(shù)學(xué)方法支持。典型的安全管理協(xié)議有公用管理信息協(xié)議CMIP、簡單網(wǎng)絡(luò)管理協(xié)議SNMP和分布式安全管理協(xié)議DSA。典型的認(rèn)證體制有Kerberos體制、X.509體制和LightKryptonight體制。一個(gè)安全的認(rèn)證體制至少應(yīng)該滿足以下要求:1)接收者能夠檢驗(yàn)和證實(shí)消息的合法性、真實(shí)性和完整性。2)消息的發(fā)送者對(duì)所發(fā)的消息不能抵賴,有時(shí)也要求消息的接收者不能否認(rèn)收到的消息。3)除了合法的消息發(fā)送者外,其他人不能偽造發(fā)送消息。認(rèn)證體制中通常存在一個(gè)可信中心或可信第三方(如認(rèn)證機(jī)構(gòu)CA,即證書授權(quán)中心),用于仲裁、頒發(fā)證書或管理某些機(jī)密信息。通過數(shù)字證書實(shí)現(xiàn)公鑰的分配和身份的認(rèn)證。數(shù)字證書是標(biāo)志通信各方身份的數(shù)據(jù),是一種安全分發(fā)公鑰的方式。CA負(fù)責(zé)密鑰的發(fā)放、注銷及驗(yàn)證,所以CA也稱密鑰管理中心。CA為每個(gè)申請(qǐng)公開密鑰的用戶發(fā)放一個(gè)證書,證明該用戶擁有證書中列出的公鑰。CA的數(shù)字簽名保證不能偽造和篡改該證書,因此,數(shù)字證書既能分配公鑰,又實(shí)現(xiàn)了身份認(rèn)證。4.4.2數(shù)字簽名技術(shù)

數(shù)字簽名就是信息發(fā)送者使用公開密鑰算法技術(shù),產(chǎn)生別人無法偽造的一段數(shù)字串。發(fā)送者用自己的私有密鑰加密數(shù)據(jù)傳給接收者,接收者用發(fā)送者的公鑰解開數(shù)據(jù)后,就可以確定消息來自于誰,同時(shí)也是對(duì)發(fā)送者發(fā)送信息的真實(shí)性的一個(gè)證明。發(fā)送者對(duì)所發(fā)信息不能抵賴。數(shù)字簽名必須保證:1)可驗(yàn)證。簽字是可以被確認(rèn)的。2)防抵賴。發(fā)送者事后不承認(rèn)發(fā)送報(bào)文并簽名。3)防假冒。攻擊者冒充發(fā)送者向收方發(fā)送文件。4)防篡改。收方對(duì)收到的文件進(jìn)行篡改。5)防偽造。收方偽造對(duì)報(bào)文的簽名。一個(gè)數(shù)字簽名方案由安全參數(shù)、消息空間、簽名、密鑰生成算法、簽名算法、驗(yàn)證算法等成分構(gòu)成。數(shù)字簽名算法可分為普通數(shù)字簽名算法、不可否認(rèn)數(shù)字簽名算法、Fail-Stop數(shù)字簽名算法、盲數(shù)字簽名算法和群數(shù)字簽名算法等。普通數(shù)字簽名算法包括RSA數(shù)字簽名算法、ElGamal數(shù)字簽名算法、Fiat-Shamir數(shù)字簽名算法、Guillou-Quisquarter數(shù)字簽名算法等。

4.4.3身份認(rèn)證技術(shù)

身份認(rèn)證,又稱身份鑒別,是指被認(rèn)證方在沒有泄露自己身份信息的前提下,能夠以電子的方式來證明自己的身份,其本質(zhì)就是被認(rèn)證方擁有一些秘密信息,除被認(rèn)證方自己外,任何第三方(某些需認(rèn)證權(quán)威的方案中認(rèn)證權(quán)威除外)無法偽造,被認(rèn)證方能夠使認(rèn)證方相信他確實(shí)擁有那些秘密,則他的身份就得到了認(rèn)證。

身份認(rèn)證的目的是驗(yàn)證信息收發(fā)方是否持有合法的身份認(rèn)證符(口令、密鑰和實(shí)物證件等)。從認(rèn)證機(jī)制上講,身份認(rèn)證技術(shù)可分為兩類:一類是專門進(jìn)行身份認(rèn)證的直接身份認(rèn)證技術(shù);另一類是在消息簽名和加密認(rèn)證過程中,通過檢驗(yàn)收發(fā)方是否持有合法的密鑰進(jìn)行的認(rèn)證,稱為間接身份認(rèn)證技術(shù)。1.身份認(rèn)證方式通行字方式是使用最廣泛的即“用戶名+口令”持證方式是一種實(shí)物認(rèn)證方式。智能卡是目前身份認(rèn)證的一種更有效、更安全的方法。2.身份認(rèn)證協(xié)議

詢問-應(yīng)答式協(xié)議基本工作過程:認(rèn)證者提出問題,由被認(rèn)證者回答,然后驗(yàn)證身份真?zhèn)巍?.4.4消息認(rèn)證技術(shù)

消息認(rèn)證是指通過對(duì)消息或消息相關(guān)信息進(jìn)行加密或簽名變換進(jìn)行的認(rèn)證,目的是為防止傳輸和存儲(chǔ)的消息被有意或無意地篡改,包括消息內(nèi)容認(rèn)證(即消息完整性認(rèn)證)、消息的源和宿認(rèn)證(即身份認(rèn)證)及消息的序號(hào)和操作時(shí)間認(rèn)證等。

消息認(rèn)證所用的摘要算法與一般的對(duì)稱或非對(duì)稱加密算法不同,它并不用于防止信息被竊取,而是用于證明原文的完整性和準(zhǔn)確性。也就是說,消息認(rèn)證主要用于防止信息被篡改。

1.消息內(nèi)容認(rèn)證

消息內(nèi)容認(rèn)證常用的方法是:消息發(fā)送者在消息中加入一個(gè)鑒別碼(MAC、MDC等)并經(jīng)加密后發(fā)送給接收者(有時(shí)只需加密鑒別碼即可)。接收者利用約定的算法對(duì)解密后的消息進(jìn)行鑒別運(yùn)算,將得到的鑒別碼與收到的鑒別碼進(jìn)行比較,若二者相等,則接收,否則拒絕接收。

2.源和宿的認(rèn)證一種是通信雙方事先約定發(fā)送消息的數(shù)據(jù)加密密鑰,接收者只需證實(shí)發(fā)送來的消息是否能用該密鑰還原成明文就能鑒別發(fā)送者。另一種是通信雙方實(shí)現(xiàn)約定各自發(fā)送消息所使用的通行字,發(fā)送消息中含有此通行字并進(jìn)行加密,接收者只需判別消息中解密的通行字是否等于約定的通行字就能鑒定發(fā)送者。

3.消息序號(hào)和操作時(shí)間的認(rèn)證

消息的序號(hào)和時(shí)間性的認(rèn)證主要是阻止消息的重放攻擊。常用的方法有消息的流水作業(yè)、鏈接認(rèn)證符隨機(jī)數(shù)認(rèn)證法和時(shí)間戳等。

典型算法P64-651)MD5。信息摘要算法,由RSADataSecurity公司的Rivest于1992年提出,能對(duì)任何長度的輸入消息進(jìn)行處理,產(chǎn)生128bit長的“消息摘要”輸出。

2)SHA算法。它能為任意長度的輸入產(chǎn)生160bit的雜湊值。4.4.5數(shù)字水印技術(shù)

數(shù)字水印就是將特定的標(biāo)記隱藏在數(shù)字產(chǎn)品中,用以證明原創(chuàng)者對(duì)產(chǎn)品的所有權(quán),并作為起訴侵權(quán)者的證據(jù)。

1996年,在英國召開了首屆國際信息隱藏會(huì)議,提出了數(shù)字水印技術(shù),用來對(duì)付數(shù)字產(chǎn)品的非法復(fù)制、傳播和篡改,保護(hù)產(chǎn)權(quán)。在多媒體信息中隱蔽地嵌入可辨別的標(biāo)記,實(shí)現(xiàn)版權(quán)聲明與跟蹤。數(shù)字水印還可以廣泛應(yīng)用于其他信息的隱藏,如在一個(gè)正常的文件中嵌入文本、圖像、音頻等信息。

當(dāng)然,數(shù)字水印技術(shù)必須不影響原系統(tǒng),還要善于偽裝,使人不易察覺。隱藏信息的分布范圍要廣,能抵抗數(shù)據(jù)壓縮、過濾等變換及人為攻擊??傊瑪?shù)字水印應(yīng)“透明”、“健壯”和“安全”。正如不同的計(jì)算機(jī)系統(tǒng)使用不同長度的口令一樣,不同的加密系統(tǒng)也使用不同長度的密鑰。一般地說,在其他條件相同的情況下,密鑰越長,破譯密碼越困難,加密系統(tǒng)就越可靠。常見系統(tǒng)的口令及其對(duì)應(yīng)的密鑰長度系統(tǒng)口令長度密鑰長度銀行自動(dòng)取款機(jī)密碼4位數(shù)字約14個(gè)二進(jìn)制位UNIX系統(tǒng)用戶帳號(hào)8個(gè)字符約56個(gè)二進(jìn)制位4.5密碼破譯方法及預(yù)防破譯措施4.5.1密碼破譯方法1.密鑰的窮盡搜索

破譯密文最簡單的方法,就是嘗試所有可能的密鑰組合。在這里,假設(shè)破譯者有識(shí)別正確解密結(jié)果的能力。雖然大多數(shù)的密鑰嘗試都是失敗的,但最終總會(huì)有一個(gè)密鑰讓破譯者得到原文,這個(gè)過程稱為密鑰的窮盡搜索。密

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論