Presentation on theme: "3.1 信息加密技術(shù)概述 3.2 密碼技術(shù) 3.3 密鑰管理 3.4 網(wǎng)絡(luò)加密技術(shù) 習(xí)題與思考題 參考文獻(xiàn) 實訓(xùn)指南"— Presentation transcript:
1
3.1 信息加密技術(shù)概述 3.2 密碼技術(shù) 3.3 密鑰管理 3.4 網(wǎng)絡(luò)加密技術(shù) 習(xí)題與思考題 參考文獻(xiàn) 實訓(xùn)指南
2
教學(xué)目的和要求▼ 通過本章的學(xué)習(xí),使學(xué)生掌握基本的信息加密技術(shù),并會實際應(yīng)用。要求了解信息加密技術(shù)的概念;掌握密碼學(xué)一些簡單技術(shù);了解DES、RSA密碼體制;了解密鑰的管理;了解基本的網(wǎng)絡(luò)加密技術(shù)。
3
關(guān)鍵詞匯▼ 密碼學(xué)(Cryptology) 明文(plaintext,通常記作P;也記作M,message)
4
前言 計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,大大改變了人們的生活面貌,促進(jìn)了社會的發(fā)展??墒腔ヂ?lián)網(wǎng)是一個面向大眾的開放系統(tǒng),對于信息的保密和系統(tǒng)的安全性考慮得并不完備,由此引起的網(wǎng)絡(luò)安全問題日益嚴(yán)重。如何保護(hù)計算機信息的的內(nèi)容,也即信息內(nèi)容的保密問題顯得越來越重要。 加密技術(shù)是網(wǎng)絡(luò)信息安全主動的、開放型的防范手段,對于敏感數(shù)據(jù)應(yīng)采用加密處理,并且在數(shù)據(jù)傳輸時采用加密傳輸。本章就將著重介紹信息加密技術(shù)的一般方法,內(nèi)容包括:密碼技術(shù)基礎(chǔ)知識;密鑰管理在數(shù)據(jù)保密中的重要性;網(wǎng)絡(luò)加密的方式等。
5
3.1 信息加密技術(shù)概述 信息加密技術(shù)是利用數(shù)學(xué)或物理手段,對電子信息在傳輸過程中和存儲體內(nèi)進(jìn)行保護(hù),以防止泄漏的技術(shù)。保密通信、計算機密鑰、防復(fù)制軟盤等都屬于信息加密技術(shù)。通信過程中的加密主要是采用密碼,在數(shù)字通信中可利用計算機加密法,改變負(fù)載信息的數(shù)碼結(jié)構(gòu)。計算機信息保護(hù)則以軟件加密為主。目前世界上最流行的幾種加密體制和加密算法有:AES算法和RSA算法等。為防止破密,加密軟件還常采用硬件加密和加密軟盤。一些軟件商品常帶有一種小的硬卡,這就是硬件加密措施。在軟盤上用激光穿孔,使軟件的存儲區(qū)有不為人所知的局部存壞,就可以防止非法復(fù)制。這樣的加密軟盤可以為不掌握加密技術(shù)的人員使用,以保護(hù)軟件。由于計算機軟件的非法復(fù)制,解密及盜版問題日益嚴(yán)重,甚至引發(fā)國際爭端,因此對信息加密技術(shù)和加密手段的研究與開發(fā),受到各國計算機界的重視,發(fā)展日新月異。
6
信息加密技術(shù)是應(yīng)用最早、也是一般用戶接觸最多的安全技術(shù)領(lǐng)域,從最初的保密通信發(fā)展到目前的網(wǎng)絡(luò)信息加密,一直伴隨著信息技術(shù)的發(fā)展而發(fā)展并始終受到重視。在基于信息論和近代數(shù)學(xué)的現(xiàn)代密碼學(xué)成立之后,加密技術(shù)已經(jīng)不再依賴于對加密算法本身的保密,而是通過在統(tǒng)計學(xué)意義上提高破解的成本來提供高的安全性。近年來通過與其他領(lǐng)域的交叉,產(chǎn)生了量子密碼、基于DNA的密碼和數(shù)字隱寫等分支領(lǐng)域,其安全性能和潛在的應(yīng)用領(lǐng)域均有很大的突破。相信加密技術(shù)仍將在信息安全領(lǐng)域內(nèi)扮演十分重要的角色。 現(xiàn)代的電腦加密技術(shù)就是適應(yīng)了網(wǎng)絡(luò)安全的需要而應(yīng)運產(chǎn)生的,它為我們進(jìn)行一般的電子商務(wù)活動提供了安全保障,如在網(wǎng)絡(luò)中進(jìn)行文件傳輸、電子郵件往來和進(jìn)行合同文本的簽署等。其實加密技術(shù)也不是什么新生事物,只不過應(yīng)用在當(dāng)今電子商務(wù)、電腦網(wǎng)絡(luò)中還是近幾年的歷史。下面我們就詳細(xì)介紹一下加密技術(shù)的方方面面,希望能為那些對加密技術(shù)還一知半解的朋友提供一個詳細(xì)了解的機會!
7
3.2 密碼技術(shù) 一提到密碼學(xué),可能絕大多數(shù)的讀者腦海里會浮現(xiàn)諸如007、布律蒂斯、川島芳子等歷史上著名的間諜人物,會想到暗殺、突襲等軍事活動。是的,對于我們而言,密碼始終處于一種未知的黑暗之中,常常與軍事、外交、情報等工作聯(lián)系在一起,讓人在感到神秘之余,又有幾分畏懼。 但是,在如今這個電子化、數(shù)字化幾乎已經(jīng)波及社會生活的所有方面的時代,密碼已經(jīng)成為公民正常生活、學(xué)習(xí)不可缺少的部分。銀行賬號、 密碼、網(wǎng)絡(luò)游戲賬號、電子購物等,哪樣都離不開密碼。此外,許多傳統(tǒng)上基于紙面的,常常需要簽名蓋章的重要憑證,諸如紙幣、存單、支票、股票、合同、租約、法律文書、身份證件、學(xué)歷證書等等,也已陸續(xù)轉(zhuǎn)化或增加為數(shù)字電子媒體的形式。 那么,密碼學(xué)是怎樣逐漸揭去神秘的面紗,走進(jìn)公眾的日常生活當(dāng)中的呢?主要的推動因素是社會公眾對于個人信息秘密性與真實性的需求。密碼學(xué)提供的只是技術(shù)保障作用。它不僅具有信息加密功能,而且具有數(shù)字簽名、身份驗證、秘密分存、系統(tǒng)安全等功能,可以充分保證信息的機密性、完整性和準(zhǔn)確性,防止信息被篡改、偽造或假冒。
8
密碼學(xué)基礎(chǔ)知識 密碼學(xué)基本概念 密碼學(xué)(Cryptology)是結(jié)合數(shù)學(xué)、計算機科學(xué)、電子與通信等諸多學(xué)科于一的交叉學(xué)科,是研究信息系統(tǒng)安全保密的一門科學(xué),包括密碼編碼學(xué)(Cryptography)和密碼分析學(xué)(Cryptanalytics)兩個分支。密碼編碼學(xué)主要研究對信息進(jìn)行編碼,實現(xiàn)對信息的隱蔽;而密碼分析學(xué)則相反,主要研究加密消息的破譯或消息的偽造。這兩者天生就相互對立,但是正是這種對立促使密碼學(xué)不斷的發(fā)展。
9
明文 密文 密鑰 加密算法 解密算法 圖3.1 加密、解密全過程 一個完整的密碼系統(tǒng)至少由明文、密文、密碼方案和密鑰四個部分組成。
10
密碼體制的分類 密碼體制的分類方法有很多,最常見的是分成以下兩種: 對稱密碼體制(symmetric system):就是加密密鑰和解密密鑰相同,或者雖然不相同,但由其中的任意一個可以很容易的推出另一個。又稱傳統(tǒng)密碼體制、秘密密鑰體制或單鑰密鑰體制。如本書后面將介紹的DES就是采用對稱密碼體制的典型例子。 非對稱密碼體制(asymmetric system):加密密鑰和解密密鑰不相同,并且從一個很難推出另一個。又稱公開密鑰體制。公開密鑰體制用一個密鑰進(jìn)行加密,而用另一個進(jìn)行解密。其中的加密密鑰可以公開,又稱公開密鑰(public key),簡稱公鑰;解密密鑰必須保密,又稱私人密鑰(private key),簡稱私鑰。如本書后面將介紹的RSA就是采用非對稱密碼體制的典型。
11
3.2.2 傳統(tǒng)密碼技術(shù) 隱寫術(shù)(steganography)
12
隱寫術(shù)分為兩種,技術(shù)隱寫術(shù)和語義隱寫術(shù)。
13
替代(substitution) 替代密碼就是將明文字母表中的每個字符替換為密文字母表中的字符。這里對應(yīng)密文字母可能是一個,也可能是多個。接收者對密文進(jìn)行逆向替換即可得到明文。代替密碼有四種表現(xiàn)形式: (1)單表代替 (2)多名碼代替 (3)多音碼代替 (4)多表代替
14
(1)單表代替 就是明文的一個字符用相應(yīng)的一個密文字符代替,也叫循環(huán)移位密碼。
15
由愷撒密碼我們可以推導(dǎo)出單表代替密碼的映射關(guān)系可以表示為如下函數(shù):
16
如英文26個字母的映射表如下: 例如在愷撒密碼中,k=3 對于明文P=caesar,有 F(c)=(2+3) mod 26=5=F F(a)=(0+3) mod 26=3=D F(e)=(4+3) mod 26=7=H F(s)=(18+3) mod 26=21=V F(a)=(0+3) mod 26=3=D F(r)=(17+3) mod 26=20=U 因此密文C=FDHVDU
17
除了愷撒密碼,在其他的單表替代法中,有的字母表被打亂。比如,在字母表中首先排列出密鑰中出現(xiàn)的字母,然后在密鑰后面填上剩余的字母。如密鑰是cipher,那么新的字母表映射如下:
18
在單表代替下字母的頻度、重復(fù)字母模式、字母結(jié)合方式等統(tǒng)計特性除了字母名稱改變以外,都未發(fā)生變化,依靠這些不變的統(tǒng)計特性就能破譯。
19
(2)多名碼代替 就是將明文字母表中的字符映射為密文字母表中的多個字符。多名碼簡單代替早在1401年就由DuchyMantua公司使用。在英文中,元音字母出現(xiàn)頻率最高,降低對應(yīng)密文字母出現(xiàn)頻率的一種方法就是使用多名碼。
20
如下面的一個映射: 若明文P=bee 則密文C可以是ILL或ILM或ILN或IMM或IMN或INN
21
(3)多音碼代替 就是將多個明文字符代替為一個密文字符。最古老的這種多字母加密始見于1563年由波他的《密寫評價》(De furtiois literarum notis)一書。
22
如下面的一個映射: 若明文P=behg 則密文C=JMNN
23
(4)多表代替 即由多個簡單代替組成,也就是使用了兩個或兩個以上的代替表。比如使用有5個簡單代替表的代替密碼,明文的第一個字母用第一個代替表,第二個字母用第二個表,第三個字母用第三個表,以此類推,循環(huán)使用這五張代替表。
24
著名的維吉尼亞(vigenere)密碼就是多表代替密碼,它以字母表移位為基礎(chǔ)把26個英文字母進(jìn)行循環(huán)移位,排列在一起,形成26×26的方陣,如表3.1所示。
25
實際使用時,選擇一個詞組作為密鑰。加密過程就是以明文字母選擇列,密鑰字母選擇行,兩者的交點就是加密生成的密文字母。 如:選取K=sub,P= vigenere
26
易位(transposition) 易位密碼,也稱換位密碼、排列組合密碼,它最大的特點是不需對明文字母作任何變換,只需對明文字母的順序按密鑰的規(guī)律相應(yīng)的排列組合后輸出,然后形成密文。明文出現(xiàn)的字母也在密文中出現(xiàn),只是位置不同,并不隱藏它們。 此種加密方法保密的程度較高,但其最大的缺點是密文呈現(xiàn)字母自然出現(xiàn)頻率,破譯者只要稍加統(tǒng)計即可識別屬此類加密方法,然后采取先假定密鈅長度的方法,對密文進(jìn)行排列組合,借助計算機的高速運算能力及常用字母的組合規(guī)律,也可以進(jìn)行不同程度破譯。
27
(1)列易位算法 首先選取一個不含重復(fù)字母的單詞為密鑰,寫出密鑰在字母表中的排列順序,明文從第一列開始按列生成密文。
28
其解密過程是將密文C=“合換易碼排密位位也列碼或密稱組”按密鑰長度為列寫出:
29
(2)矩陣換位法 把明文中的字母按給定的順序排列在一矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。
30
給定一個置換 現(xiàn)在根據(jù)給定的置換,按第3列、第1列、第4列、第2列的次序排列如下: 得到密文C=“密易碼位稱,換也碼位。密”
31
在這個加密方案中,密鑰就是矩陣的行數(shù)m和列數(shù)n,即m×n=3×4,以及給定的置換矩陣
32
其解密過程是將密文C=“密易碼位稱,換也碼位。密”根據(jù)3×4矩陣,按行、按列的順序排列如下:
33
DES數(shù)據(jù)加密標(biāo)準(zhǔn) 數(shù)據(jù)加密標(biāo)準(zhǔn)DES(Date Encryption Standard)是迄今為止世界上最為廣泛使用和流行的一種分組密碼算法。它由IBM公司研制,于1977年被美國標(biāo)準(zhǔn)局NBS(National Bureau Of Standards,現(xiàn)在的美國標(biāo)準(zhǔn)技術(shù)協(xié)會,NIST)作為非機密數(shù)據(jù)的正式數(shù)據(jù)加密標(biāo)準(zhǔn)。DES是一種世界公認(rèn)的較好的加密算法。自它問世20多年來,成為密碼界研究的重點,經(jīng)受住了許多科學(xué)家的研究和破譯,在民用密碼領(lǐng)域得到了廣泛的應(yīng)用,為全球貿(mào)易、金融等非官方部門提供了可靠的通信安全保障。 進(jìn)入20世紀(jì)90年代以來,由于DES密鑰長度不夠,不斷受到諸如差分分析、線性逼近分析等各種攻擊威脅,使其安全性受到動搖。1994年最近一次對DES的評估認(rèn)為它已沒有安全感。于是,美國決定從1998年12月以后將不再使用DES,而使用稱之為AES(Advanced Encryption Standard)的新加密標(biāo)準(zhǔn)。盡管如此,DES對于推動密碼理論的發(fā)展和應(yīng)用畢竟起了重大作用,對于掌握分組密碼的基本理論、設(shè)計思想和實際應(yīng)用仍然有著重要的參考價值。
34
Ⅰ 分組密碼概述 分組密碼(Block cipher),也稱塊密碼,它是將明文消息經(jīng)編碼表示后的數(shù)字(通常是0和1)序列:m0,m1,…,mi,…,劃分為若干固定長度為l的組(或塊)m=(m0,m1,…,ml-1),各組分別在密鑰k=(k0,k1,…,kt-1)(密鑰長為t)的控制下轉(zhuǎn)換成等長度的密文分別輸出c=(c0,c1,…,cn-1)(長為n)。其本質(zhì)仍是一個從明文空間M到密文分組C的映射,該映射由密鑰確定。分組密碼簡化圖示如圖3.2: 其中,明文長度為l,密文長度為n。通常的分組密碼算法取l=n,表明加密和解密的結(jié)構(gòu)一樣,便于簡單的實現(xiàn)。若l>n,則稱為帶數(shù)據(jù)壓縮的分組密碼,易增加密文解密的難度;若l<n,則稱為帶數(shù)據(jù)擴(kuò)展的分組密碼,必然要增加密文存儲和傳輸?shù)拇鷥r。
35
一般情況下,對分組密碼算法有如下的要求:
36
Ⅱ DES算法詳述 DES是一種分組密碼,它主要采用替換和移位的方法加密。它用56位密鑰對64位二進(jìn)制數(shù)據(jù)塊進(jìn)行加密,每次加密可對64位的輸入數(shù)據(jù)進(jìn)行16輪編碼,經(jīng)一系列替換和移位后,輸入的64位原始數(shù)據(jù)轉(zhuǎn)換成完全不同的64位輸出數(shù)據(jù)。DES是一個對稱密碼體制,加密與解密使用同一密鑰與同一算法,它所有的保密性均依賴于密鑰。 DES算法大致可以分成四個部分: 初始置換 迭代過程 逆置換 子密鑰生成
37
整個算法的主流程圖如圖3.3 64位數(shù)據(jù)區(qū)組輸入L0,R0 初始換位 (IP) 32位 L0 R0 K1 f L1=R0
38
1、初始置換IP 把輸入的64位數(shù)據(jù)塊按位重新組合,并把輸出分為L0、R0兩部分,每部分各長32位,按表3.2的置換規(guī)則進(jìn)行換位。
39
2、迭代過程 每個迭代過程實際上包括四個獨立的操作。首先是右半部分由32位擴(kuò)展為48位。然后與密鑰的某一形式相結(jié)合,其結(jié)果被替換為另一結(jié)果,同時其位數(shù)又壓縮到了32位。這32位數(shù)據(jù)經(jīng)過置換再與左半部分相加,結(jié)果產(chǎn)生新的右半部分。 圖3.4為DES一次迭代的運算過程(圖中的虛線框表示f函數(shù),圖中右面一半為子密鑰的產(chǎn)生過程)。
40
DES算法的安全性關(guān)鍵在于非線性函數(shù)f的性質(zhì)。DES算法中,函數(shù)f以長度為32位的比特串作為輸入,產(chǎn)生的中間結(jié)果為48位,并在最終產(chǎn)生長度為32位的比特串作為輸出。把圖3-4中所示的函數(shù)f單獨用圖3.5表示出來。
41
(1)擴(kuò)展置換 從圖3-5中,可以看到函數(shù)f的執(zhí)行過程如下:
42
把輸出位和輸入位對應(yīng)關(guān)系列成一個表格(表3
43
(2)與子密鑰異或 (3)S盒代替 函數(shù)f將擴(kuò)展置換得到48位輸出與子密鑰Ki進(jìn)行異或(按位模2加)。
44
具體替代方式我們可以描述如下: 將S盒的6位輸入定義為 a1 a2 a3 a4 a5 a6 。將 a1 a6 組成一個2位二進(jìn)制數(shù),對應(yīng)著表中的行號;將 a2 a3 a4 a5 組成一個4位二進(jìn)制數(shù),對應(yīng)著表中的列號;交叉點的數(shù)據(jù)就是該S盒的輸出。 例如:第5個S盒的輸出為110011,第1位和第6位的組合為11(轉(zhuǎn)換為十進(jìn)制值等于3),第2位至第5位的組合為1001(轉(zhuǎn)換為十進(jìn)制值等于9)。那么,它對應(yīng)的就是第5個S盒的第3行、第9列(行、列的記數(shù)均從0開始)。查表可知對應(yīng)的數(shù)值為15(轉(zhuǎn)換為二進(jìn)制值等于1111),于是1111代替了110011,成為S盒的4位輸出。
45
表3.4 給出了全部的8個S盒。 S盒是函數(shù)f的核心所在,同時也是DES算法的關(guān)鍵步驟。除S盒外,DES的其它運算都是線性的,易于分析,而S盒是非線性的,它決定了DES算法的安全性。 48位的比特串(分為8個6位分組)在經(jīng)過8個S盒進(jìn)行代替運算后,得到8個4位的分組,它們重新合在一起形成一個32位的比特串。這個比特串將進(jìn)行下一步運算:P盒置換。
46
(4)P盒置換 P盒置換是將S盒輸出的32位的比特串根據(jù)固定的置換P(也成為P盒)置換到相應(yīng)的位置,它也稱為直接置換(straight permutation)。 表3.5給出了置換P。 表3.5 的含義可以描述如下:在32位的比特串中,第16位置換到第1位,第7位置換到第2位,第4位置換到第31位,…,第25位置換到32位。 P盒置換運算后得到的輸出即為函數(shù)(Ri-1,Ki)的最終結(jié)果。
47
3、逆置換IP-1 經(jīng)過16次迭代運算后。得到L16、R16,將此作為輸入,進(jìn)行逆置換,即得到密文輸出。逆置換正好是初始置的逆運算,例如,第1位經(jīng)過初始置換后,處于第40位,而通過逆置換,又將第40位換回到第1位,其逆置換規(guī)則如表3.6所示:
48
4、密鑰的產(chǎn)生 在DES算法中,每一輪迭代運算都使用一個子密鑰,子密鑰產(chǎn)生的流程圖如圖3.7所示。K是長度為64位的比特串,其中56位是密鑰,8位是奇偶校驗碼,分布在8、16、24、32、40、48、56、64比特位置上,目的是用來檢錯,可在8位組中檢查單個錯誤。實際上,在密鑰編排的計算中只用56位,不包括這8位。
49
子密鑰的產(chǎn)生過程分為: 置換選擇1(pc-1) 循環(huán)左移 置換選擇2(pc-2) 分別產(chǎn)生16個子密鑰
50
(1)置換選擇1(pc-1) 對56位密鑰輸入按表3.7進(jìn)行重新編排。
51
(2)循環(huán)左移計算 對16輪的計算模型描述如下:
52
(3)選擇置換2(pc-2) 其作用是刪除每次移位后C中第9、18、22、25位和D中第7、9、15、26比特位,其余比特按表3.9置換后送出48位比特,作為第i次迭代的子密鑰ki使用。 以上介紹了DES算法的加密過程。DES算法的解密過程是一樣的,區(qū)別僅僅在于第一次迭代時用子密鑰K15,第二次K14、......,最后一次用K0,算法本身并沒有任何變化,不再詳述。
53
Ⅲ DES安全性分析 DES算法具有極高安全性,到目前為止,除了用窮舉搜索法對DES算法進(jìn)行攻擊外,還沒有發(fā)現(xiàn)更有效的辦法。DES算法僅使用最大為64位的標(biāo)準(zhǔn)算術(shù)和邏輯運算,優(yōu)點是運算速度快,密鑰生產(chǎn)容易,適合于在當(dāng)前大多數(shù)計算機上用軟件方法實現(xiàn),同時也適合于在專用芯片上實現(xiàn)。比如現(xiàn)在熱賣的愛國者移動存儲加密王,就是采用DES實時運算法則的硬件加密芯片。 但是DES的密鑰太短(56位),影響了它的保密強度。DES的前身,IBM的Lucifer密碼體制具有128比特的密鑰長度。DES的最初提案也有64比特的密鑰長度,但后來被減少到56比特。IBM聲稱,這個減少的原因是必須在密鑰中包含8位奇偶校驗位,這就意味著64比特的存儲只能包含一個56比特的密鑰。 對于56比特的密鑰長度來說,一共有256種可能的密鑰,也就是大約7.2×1016種密鑰。從表面上看,窮舉式攻擊似乎不現(xiàn)實。如果假定平均有一半的密鑰空間需要搜索,則一臺每微秒完成一次DES加密的機器將要花費1000年的時間才能破譯這個密碼。 然而,每微秒一次加密的假設(shè)過分保守。早在1977年,Diffie和Hellman就設(shè)想有一種技術(shù)可以制造出具有100萬個加密設(shè)備的并行機,其中的每一個設(shè)備都可以在一微秒之內(nèi)完成一次加密,這樣平均搜索時間就減少到10小時。
54
一個對DES的弱點更引人注目的演示是RSA實驗室所發(fā)起的一個破解密鑰的比賽。比賽提供1萬美元的獎金,要求在給定了密文和部分明文的情況下找到DES密鑰,其中明文開始的三個分組包含了24個字符的短語“the unknown messagr is:”。RSA在1997年1月29日發(fā)布競賽。一個獨立顧問Rocke Verser響應(yīng)了這個比賽,他編了一個窮舉式程序并通過internet做了發(fā)布。這個項目受到很多密碼愛好者的響應(yīng),最后發(fā)展到7萬個系統(tǒng)。每個計算機自愿者加入后,項目組就為這臺計算機分配一部分DES密鑰空間供它檢驗。項目從1977年2月18日開始,96天后找到了正確的密鑰,這時大約已經(jīng)搜索了四分之一的可能密鑰。這個比賽顯示了分布式個人計算機在對付艱難的密碼分析問題時的威力。也證實了DES的強度是有限的。 此外,由于DES算法完全公開,其安全性完全依賴于對密鑰的保護(hù),必須有可靠的信道來分發(fā)密鑰。如采用信使遞送密鑰等。因此,它不適合在網(wǎng)絡(luò)環(huán)境下單獨使用。 雖然研制替代DES的新的密碼算法被提上議程,但確定一種新的加密法是否真的安全是極為困難的,何況DES的密碼學(xué)缺點只是密鑰長度相對比較短,所以人們并沒有放棄使用DES,而是想出了一個解決其長度方法,即采用三重DES。這種方法用兩個密鑰對明文進(jìn)行三次加密。假設(shè)兩個密鑰是K1和K2,第一步用密鑰K1進(jìn)行DES加密,第二步用K2對步驟1結(jié)果進(jìn)行DES加密,第三步用步驟2的結(jié)果使用密鑰K1進(jìn)行DES加密。
55
RSA密碼體制 上一節(jié)討論的DES密碼體制是對稱密鑰密碼體制。使用對稱密鑰密碼體制進(jìn)行秘密通信時,任意不同兩個用戶之間都應(yīng)該使用互不相同的密鑰。這樣,如果一個網(wǎng)絡(luò)中有n個用戶需要彼此通信,那么將共需要n(n-1)/2個密鑰(其中,每人需要保管n-1個密鑰),假設(shè)n=1000,則,如此巨大的密鑰量,在密鑰管理、分配、更換等都將是十分繁重的工作。另外,在網(wǎng)絡(luò)大力普及的今天,互不相識的兩個人要進(jìn)行通信,如電子商務(wù)活動需要對身份驗證,電子簽名,不僅要解決保密問題,還必須解決認(rèn)證問題,對于這些新要求,對稱密碼算法是比較難實現(xiàn)的。 1976年,Diffe和Hellman在一篇名叫“New direction in cryptography”(密碼學(xué)的新方向)的論文中提出了雙鑰密碼的新型密碼體制,把加密密鑰和解密密鑰分割開來,而無法由一個推出另一個,使得不僅可以公開密碼算法,而且加密密鑰也可以公開,開創(chuàng)了公開密鑰密碼體制,為密碼學(xué)研究提出了新的方向。
56
Ⅰ 公鑰密碼體制 公開密鑰密碼編碼學(xué)的發(fā)展是整個密碼編碼學(xué)歷史上最大的而且也是唯一真正的革命。從最初一直到現(xiàn)代,幾乎所有密碼編碼系統(tǒng)都建立在基本的替代和置換工具的基礎(chǔ)上。即使是最有名的DES,雖然代表了重要的進(jìn)展,也仍然依賴于替代和置換這樣的基本工具。 公開密鑰密碼編碼學(xué)則與以前的所有方法截然不同。一方面公開密鑰算法基于數(shù)學(xué)函數(shù)而不是替代和置換;更重要的是,公開密鑰密碼編碼學(xué)是非對稱的,它用到兩個不同的密鑰,而對稱的常規(guī)加密則只使用一個密鑰。使用兩個密鑰對于保密通信、密鑰分配和鑒別等領(lǐng)域都有著深遠(yuǎn)的影響。例如。對于網(wǎng)上的大量用戶,可以將加密密鑰用電話簿的方式印出。如果某用戶想與另一用戶進(jìn)行保密通信,只需從公鑰簿上查出對方的加密密鑰,用它對所傳送的信息加密發(fā)出即可。對方收到信息后,用僅為自己所知的解密密鑰將信息脫密,了解報文的內(nèi)容。由此可看出,RSA算法解決了大量網(wǎng)絡(luò)用戶密鑰管理的難題。
57
圖3.8給出了一般公鑰密碼體制原理示意圖。 其中,E(eB,m)表示使用用戶B的公開密鑰eB對明文m進(jìn)行加密,D(dB,c)表示用戶B使用自己保存的秘密密鑰dB對密文c進(jìn)行解密。 公開密鑰密碼的加密變換E(eB,m)與解密變換D(dB,c)應(yīng)滿足下列要求: (1)D(dB,c)是E(eB,m)的逆變換,即對于任意明文m,均有D(dB,c)=D(dB,E(eB,m))=m; (2)在已知加密密鑰eB時,E(eB,m)的計算不難;在已知解密密鑰dB時,D(dB,c)的計算也不難; (3)如果不知道dB,那么即使知道eB、具體的加密與解密算法過程以及密文c,確定明文m的計算也是不可行的。 我們可以這樣來想,例如你有個信箱(物理信箱),開著一個縫隙(公鑰),大家都能往里塞東西,但是一旦塞進(jìn)去,那可不是大家都能取到的,只有擁有信箱鑰匙(私鑰)才能得到。公鑰就這樣,不要擔(dān)心它多難理解。
58
Ⅱ RAS算法詳述 RSA算法是由麻省理工學(xué)院的Ron Rivest,Adi Shamir和Len Adleman于1977年研制并于1978年首次發(fā)表的一種算法,DES是用數(shù)論構(gòu)造的,也是迄今為止理論上最為成熟完善的公鑰密碼體制。 數(shù)學(xué)上的單向陷門函數(shù)的特點是一個方向求值很容易,但其逆向計算卻很困難。許多形式為Y=f(x)的函數(shù),對于給定的自變量x值,很容易計算出函數(shù)Y的值;而由給定的Y值,在很多情況下依照函數(shù)關(guān)系f(x)計算x值十分困難。例如,兩個大素數(shù)p和q相乘得到乘積n比較容易計算,但從它們的乘積n分解為兩個大素數(shù)p和q則十分困難。如果n為足夠大,當(dāng)前的算法不可能在有效的時間內(nèi)實現(xiàn)。 RSA算法正是基于這種理論,為公用網(wǎng)絡(luò)上信息的加密和鑒別提供了一種基本的方法。它通常是先生成一對RSA密鑰,其中之一是保密密鑰,由用戶保存;另一個為公開密鑰,可對外公開,甚至可在網(wǎng)絡(luò)服務(wù)器中注冊。
59
RSA的演算方法是: (1)用戶選擇2個足夠大的保密質(zhì)數(shù)q、p(一般為100位以上十進(jìn)數(shù))。 (2)令n=pq,n是公開的,從n分解出q和p是極其困難的。 n的歐拉函數(shù):Φ(n)=(p-1)(q-1),Φ(n)小于等于n,并與n互質(zhì)。 (3)選擇一個相對大的整數(shù)e作為加密指數(shù),使e與Φ(n)互質(zhì)。 (4)解恒等方程:de≡1 mod Φ(n),求出解密指數(shù)d。 (5)設(shè)m、C分別為要加密的明文和被加密的密文(m、C小于n),則加密運算為:C=E(m)=me mod n,解密運算為:M=D(C)=Cd mod n。 通過以上算法,每個用戶都擁有一組密鑰(e、d、n),其中(e、n)為公開密鑰(public key),可以公開在手冊上,e為加密指數(shù);(d、n)為私人密鑰(private key),是用戶保密的私鑰;p、q消毀。
60
舉例如下: (1)選兩個質(zhì)數(shù):p=47,q=71(為了計算方便,只選取十位數(shù),實際加密時應(yīng)該選取100位以上十進(jìn)數(shù)的質(zhì)數(shù)) (2)計算:n=pq=47×71=3337,Φ(n)=(47-1)×(71-1)=3220 (3)e必須與Φ(n)互質(zhì),選e=79 (4)計算:ed=1 mod Φ(n)=1 mod (3220),得出d=1019,這是因為1019×79=3220×25+1。 然后將e=79、n=3337公布,d=1019保密,p、q消毀即可。 如有一明文m= 加密過程如下: 先將m分割成多塊:m1=688,m2=232,m3=687,m4=966,m5=668,m6=3 將第1塊m1加密后得密文C1=m1e(mod3337)=688×79(mod3337)=1570 依次對各區(qū)塊加密后得密文C= 解密過程如下: 對C1解密得m1 M1=C1d(mod3337)= (mod3337)=688 依次解密得原文M。
61
Ⅲ RSA安全性分析 RSA的安全性依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因為沒有證明破解RSA就一定需要作大數(shù)分解。假設(shè)存在一種無須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前,RSA的一些變種算法已被證明等價于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法。 隨著計算機計算能力的不斷提高,原來被認(rèn)為是不可能分解的大數(shù)已被成功分解。例如,1977年,RSA的三個發(fā)明者在《科學(xué)美國人》Martin Gardner的數(shù)學(xué)游戲?qū)谏嫌×艘粋€密碼并對該刊的讀者提出了破譯該密碼的挑戰(zhàn)。他們懸賞100美元給可以提供明文的人,他們估計要得到正確的結(jié)果至少需要4億億年。可是,1994年4月,一個通過internet進(jìn)行合作的小組僅僅在工作了8個月之后就領(lǐng)到了這筆獎金。這項挑戰(zhàn)使用了一個129個數(shù)字或者大約428比特大小(長度為n)的公開密鑰。 對較大密鑰的攻擊威脅的另一方面還來自因子分解算法的不斷完善。分解算法過去都采用二次篩法,如對RSA-129的分解。而事實上,一個新算法,廣義數(shù)域篩GNFS(Generalized Number Field Sieve)的分解速度更快,該算法在分解RSA-130時所作的計算僅比RSA-129多10%。將來或許還有更好的分解算法。因此在使用RSA算法時對其密鑰的選取要大。估計在未來一段比較長的時期,密鑰長度介于1024比特至2048比特之間的RSA會是安全的。
62
單向散列函數(shù)HASH 前面我們介紹的加密技術(shù),如DES、RSA算法,都是抗擊消息受到被動攻擊(被竊聽、信息量分析等)的一種技術(shù),即對于接收到的消息,我們不清楚它是否泄露、是否完整,只關(guān)心密碼算法及密鑰的強度,以保證在信息有效期內(nèi)即使被攻擊也安全。那么,有沒有這樣一種技術(shù),即不僅可以驗證消息的真實性,還能驗證信息的完整性呢?答案是肯定的,單向散列函數(shù)就可以滿足我們的這種抗擊主動攻擊需求。 HASH函數(shù),又稱雜湊函數(shù),是在信息安全領(lǐng)域有廣泛和重要應(yīng)用的密碼算法,它是一個從明文到密文的不可逆函數(shù),也就是說,只能加密不能還原。單向散列函數(shù)H作用于任意長度的信息M,返回一固定長度的散列值(也稱摘要信息)h=H(M)。
63
好的單向散列函數(shù)必須具有以下特性: 1、計算的單向性:給定M和H,求h=H(M)容易,但反過來給定h和H,求M=H-1(h)在計算上是不可行的。 2、弱碰撞自由:給定M,要尋找另一信息M′,滿足H(M′)=H(M)在計算上不可行。 3、強碰撞自由:要尋找不同的信息M和M′,滿足H(M′)=H(M)在計算上不可行。 HASH通常應(yīng)用于只需要加密、不需要解密的特殊場合:如驗證數(shù)據(jù)的完整性、口令表的加密、數(shù)字簽名、身份認(rèn)證等。當(dāng)我們使用HASH函數(shù)構(gòu)造數(shù)據(jù)的“指紋”時(用散列函數(shù)對數(shù)據(jù)生成散列值并保存),一旦數(shù)據(jù)改變(被主動攻擊),即使只更動一個字母,對應(yīng)的壓縮信息也會變?yōu)榻厝徊煌摹爸讣y”,這就保證了經(jīng)過處理信息的唯一性。例如在口令加密的場合,系統(tǒng)中保存的是口令的散列值,當(dāng)用戶輸入口令以進(jìn)入系統(tǒng)時,系統(tǒng)重新計算用戶輸入口令的散列值并與保存的數(shù)值比較。只有兩者相同,才授權(quán)用戶進(jìn)入系統(tǒng)。這就避免了以明文形式保存口令,使系統(tǒng)的安全性大大加強。
64
Ⅰ 消息摘要算法MD5 MD5的全稱是“Message-Digest Algorithm 5(信息-摘要算法)”,它是由MD2、MD3、MD4發(fā)展而來的一種單向函數(shù)算法(也就是HASH算法),由國際著名的公鑰加密算法標(biāo)準(zhǔn)RSA的第一設(shè)計者R.Rivest在1991年開發(fā)出來的技術(shù)上更為趨近成熟的一種算法。MD5的最大作用在于,讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被“壓縮”成一種保密的格式(就是把一個任意長度的字節(jié)串變換成一定長的大整數(shù)),關(guān)鍵之處在于——這種“壓縮”是不可逆的。不管是md2、md4還是md5,它們都需要獲得一個隨機長度的信息并產(chǎn)生一個128位的信息摘要。 MD5的典型應(yīng)用是對一段信息(message)產(chǎn)生信息摘要(message-digest),以防止被篡改。這是因為MD5可以為任何文件(不管其大小、格式、數(shù)量)產(chǎn)生一個獨一無二的“數(shù)字指紋”,如果任何人對文件做了任何改動,其MD5值也就是對應(yīng)的“數(shù)字指紋”都會發(fā)生變化。 我們常常在某些軟件下載站點的某軟件信息中看到其MD5值,它的作用就在于我們可以在下載該軟件后,對下載回來的文件用專門的軟件(如Windows MD5 Check等)做一次MD5校驗,以確保我們獲得的文件與該站點提供的文件為同一文件。如果再有一個第三方的認(rèn)證機構(gòu),用MD5還可以防止文件作者的“抵賴”,這就是所謂的數(shù)字簽名應(yīng)用。利用MD5算法來進(jìn)行文件校驗的方案被大量應(yīng)用到軟件下載站、論壇數(shù)據(jù)庫、系統(tǒng)文件安全等方面。
65
MD5還廣泛用于加密和解密技術(shù)上。比如用戶的密碼是以MD5(或其它類似的算法)經(jīng)加密后存儲在文件系統(tǒng)中。當(dāng)用戶登錄的時候,系統(tǒng)把用戶輸入的密碼計算成MD5值,然后再去和保存在文件系統(tǒng)中的MD5值進(jìn)行比較,進(jìn)而確定輸入的密碼是否正確。通過這樣的步驟,系統(tǒng)在并不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統(tǒng)的合法性。這不但可以避免用戶的密碼被具有系統(tǒng)管理員權(quán)限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。 天下沒有不透風(fēng)的墻,任何一種算法都會有其漏洞,即使是目前大行其道的MD5,當(dāng)對漏洞的研究發(fā)展到其能夠被有效利用時,則標(biāo)志著該算法滅亡的時候到了。在2004年8月美國加州圣巴巴拉召開的國際密碼學(xué)會議(Crypto’2004)上,來自中國山東大學(xué)王小云教授的一篇關(guān)于“破譯MD5、HAVAL-128、MD4以及RIPEMD-128算法”的報告引起了轟動,報告中提到的新破譯方法幾乎標(biāo)志著世界通信密碼標(biāo)準(zhǔn)——MD5堡壘的轟然倒塌。但盡管MD5被淘汰已經(jīng)成為必然,不過鑒于它開源以及免費的特性,而且目前還沒有真正有效的快速破解方法,因此它還將繼續(xù)在歷史舞臺活躍一段時間。
66
Ⅱ 報文鑒別碼MAC MAC(message authentication code),也稱為密碼檢驗和,消息認(rèn)證碼,是指滿足某種安全性質(zhì)的帶密鑰的HASH函數(shù)。因此,它的安全性質(zhì)與普通的單向散列函數(shù)是有明顯區(qū)別的。盡管兩者具有相同的散列函數(shù)結(jié)構(gòu),但引入MAC后,只有擁有密鑰的才能鑒別給定的散列函數(shù)。這就能保證有時候不想對原文件進(jìn)行加密(如發(fā)布通知、公告等),只要求能夠確保傳送文件不被修改,或修改了也能識別。如果使用的不是MAC而是普通的單向散列函數(shù),那么任何人都可以修改文件以至造成產(chǎn)生新的散列函數(shù)而不可辯識的后果。 構(gòu)造報文鑒別碼是用一個密鑰生成的一個小的數(shù)據(jù)塊追加在報文的后面。這種技術(shù)是假定通信雙方(例如用戶A和用戶B)共享一個密鑰K。當(dāng)用戶A向用戶B發(fā)送報文M時,就根據(jù)此密鑰和報文計算出報文鑒別碼MAC=f(K,M),這里f就是加密算法的某一函數(shù)。此報文的鑒別碼一起傳送到用戶B。用戶B用收到的報文(不包括報文鑒別碼),使用同樣的密鑰K,再計算一次報文鑒別碼,并與收到的報文鑒別碼相比較。如一致,則鑒別此報文是真的;反之,報文就不是用戶A所發(fā),或者即使是A所發(fā),也被篡改過。這樣就可以最大限度的保證通信安全。 值得注意的是,生成報文鑒別碼的過程與加密過程十分相似。但區(qū)別是,鑒別算法不進(jìn)行反向的計算。也就是說,對MAC不進(jìn)行類似加密過程的反向計算。由于鑒別函數(shù)的這一特點,鑒別是較難被攻破的。
67
密碼技術(shù)的未來 盡管雙鑰密碼體制比單鑰密碼體制更為可靠,但由于計算過于復(fù)雜,雙鑰密碼體制在進(jìn)行大信息量通信時,加密速率僅為單鑰體制的1/100,甚至是1/1000。正是由于不同體制的加密算法各有所長,所以在今后相當(dāng)長的一段時期內(nèi),各類加密體制將會共同發(fā)展。而在由IBM等公司于1996年聯(lián)合推出的用于電子商務(wù)的協(xié)議標(biāo)準(zhǔn)SET(Secure Electronic ransaction)中和1992年由多國聯(lián)合開發(fā)的PGP技術(shù)中,均采用了包含單鑰密碼、雙鑰密碼、單向雜湊算法和隨機數(shù)生成算法在內(nèi)的混合密碼系統(tǒng)的動向來看,這似乎從一個側(cè)面展示了今后密碼技術(shù)應(yīng)用的未來。 在單鑰密碼領(lǐng)域,一次一密被認(rèn)為是最為可靠的機制,但是由于流密碼體制中的密鑰流生成器在算法上未能突破有限循環(huán),故一直未被廣泛應(yīng)用。如果找到一個在算法上接近無限循環(huán)的密鑰流生成器,該體制將會有一個質(zhì)的飛躍。近年來,混沌學(xué)理論的研究給在這一方向產(chǎn)生突破帶來了曙光。此外,充滿生氣的量子密碼被認(rèn)為是一個潛在的發(fā)展方向,因為它是基于光學(xué)和量子力學(xué)理論的。該理論對于在光纖通信中加強信息安全、對付擁有量子計算能力的破譯無疑是一種理想的解決方法。 保密與竊密就像矛與盾一樣形影相隨,它們之間的斗爭已經(jīng)持續(xù)了幾千年,任何一種新的密碼技術(shù)的出現(xiàn),必然會有相應(yīng)的解密方法。當(dāng)然,或許隨著科技的進(jìn)一步發(fā)展,通過在密碼算法設(shè)計的新思路、信息保護(hù)的新思路等方面的突破,未來的加密技術(shù)將成為這場斗爭的終結(jié)者。
68
3.3 密鑰管理 密鑰管理技術(shù)主要處理密鑰從產(chǎn)生到最終銷毀整個過程中的有關(guān)問題,包括密鑰的產(chǎn)生、存儲、裝入、分配、保護(hù)、丟失、銷毀等內(nèi)容,它的主要任務(wù)是保證在公用數(shù)據(jù)網(wǎng)上安全地傳遞密鑰而不被竊取。 密鑰是密碼系統(tǒng)中的可變部分?,F(xiàn)代密碼體制要求加密算法是可以公開評估的,這個密碼系統(tǒng)的安全性并不取決于對密碼算法的保密或者是對加密設(shè)備等的保護(hù),盡管這樣有利于提高整個密碼系統(tǒng)的安全程度,但這種提高只是相對而言的)。這時,決定這個密碼體制安全性的因素將是密鑰的保密性;密碼算法可以公開,密碼設(shè)備可以丟失,但它們都不危及密碼體制的安全性;但一旦密鑰丟失,攻擊者將會有可能竊取信息。在考慮密碼系統(tǒng)的設(shè)計時,需要解決的核心問題是密鑰管理問題,而不是密碼算法問題。
69
3.3.1 密鑰管理基礎(chǔ)知識 Ⅰ 密鑰管理的要求 密鑰管理是一門綜合性技術(shù),它除了技術(shù)性的因素之外,還與人的因素,例如密鑰的行政管理制度以及人員的素質(zhì)密切相關(guān)。管理不好,密鑰同樣可能被無意識地泄露,并不是有了密鑰就高枕無憂,任何保密也只是相對的,是有時效的。 為此,對密鑰管理系統(tǒng)一般有以下具體要求: (1)密鑰難以被非法竊??; (2)在一定條件下即使竊取了密鑰也沒用; (3)密鑰的分配和更換過程在用戶看來是透明的,用戶不一定要親自掌握密鑰。 從管理角度來說,密鑰管理的基本要求是: (1)脫離密碼設(shè)備的密鑰數(shù)據(jù)應(yīng)絕對保密; (2)密碼設(shè)備內(nèi)部的密鑰數(shù)據(jù)絕對不外泄,一旦發(fā)現(xiàn)有攻擊跡象,應(yīng)立即銷毀密鑰數(shù)據(jù); (3)密鑰使命完成,應(yīng)徹底銷毀、更換。
70
Ⅱ 密鑰管理的組織結(jié)構(gòu) 適應(yīng)于對密鑰管理系統(tǒng)的要求,現(xiàn)有的計算機網(wǎng)絡(luò)系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的密鑰管理的設(shè)計大都采用了層次化的密鑰結(jié)構(gòu)。
71
最底層的密鑰Kn也稱為工作密鑰,或稱數(shù)據(jù)加密密鑰,它直接用于對明文數(shù)據(jù)的加、解密;所有上層密鑰可稱為密鑰加密密鑰,它們用于保護(hù)數(shù)據(jù)加密密鑰或者其他低層的密鑰加密密鑰;最高層的密鑰K1也叫做主密鑰,一般來說,主密鑰是整個密鑰管理系統(tǒng)的核心,應(yīng)采用最保險的方式來進(jìn)行保護(hù)。 平時,數(shù)據(jù)加密密鑰(工作密鑰)并不存在,在進(jìn)行數(shù)據(jù)的加、解密時,數(shù)據(jù)加密密鑰將在上層密鑰的保護(hù)下動態(tài)地產(chǎn)生;數(shù)據(jù)加密密鑰在使用完畢后,將立即清除,不再以明的形式出現(xiàn)在密碼系統(tǒng)中。 通常,我們可以以相對的概念來理解層次化的密鑰結(jié)構(gòu);某一層密鑰Ki相對于更高層的密鑰Ki-1是工作密鑰,而相對于低一層的密鑰Ki+1是密鑰加密密鑰。 層次化的密鑰結(jié)構(gòu)意味著以密鑰來保護(hù)密鑰,這樣,大量的數(shù)據(jù)可以通過少量動態(tài)產(chǎn)生的數(shù)據(jù)加密密鑰(工作密鑰)進(jìn)行保護(hù),而數(shù)據(jù)加密密鑰又可以由更少量的、相對不變(使用期較長)的密鑰加密密鑰來保護(hù),依此類推,最后,第二層的密鑰加密密鑰可以由主密鑰進(jìn)行保護(hù),從而保證了除了主密鑰可以以明文的形式存儲在有嚴(yán)密物理保護(hù)的主機密碼器件中,其它密碼則以加密后的密文形式存儲,這樣,使密鑰的安全性大大提高,也為密鑰管理自動化帶來了方便。
72
Ⅱ 密鑰的種類 密鑰分為數(shù)據(jù)加密密鑰(作用于明文數(shù)據(jù)對象)和密鑰加密密鑰(作用于數(shù)據(jù)加密密鑰及其它密鑰加密密鑰對象)。從具體的功能角度來看,在一般的密碼系統(tǒng)中有以下幾種密鑰: (1)基本密鑰(base key) (2)會話密鑰(session key) (3)密鑰加密密鑰(key encrypting key) (4)主機主密鑰(host master key)
73
(1)基本密鑰(base key) 基本密鑰也稱為初始密鑰(primary key),是由用戶選定或由系統(tǒng)分配給用戶的、可在較長時間內(nèi)(相對于會話密鑰)由一對用戶(例如密鑰分配中心與某一用戶之間,或兩個用戶之間)所專用的秘密密鑰。在某種程度上,基本密鑰還起到了標(biāo)識用戶的作用?;久荑€也可以稱為用戶密鑰(user key)。 (2)會話密鑰(session key) 會話密鑰是在一次通信或數(shù)據(jù)交換中,用戶之間所使用的密鑰。會話密鑰可由通信用戶之間進(jìn)行協(xié)商得到。它一般是動態(tài)地、僅在需要進(jìn)行會話數(shù)據(jù)加密時產(chǎn)生,并在使用完畢后立即進(jìn)行清除掉的(當(dāng)然也可以由用戶雙方進(jìn)行預(yù)先約定)。 會話密鑰可以使我們不必太頻繁地更改基本密鑰,而通過密鑰分配或密鑰協(xié)商的方法得到某次數(shù)據(jù)通信所使用的數(shù)據(jù)加密密鑰,這樣我們可以做到一報一密,從而大大提高通信的安全性,并方便密鑰的管理。 (3)密鑰加密密鑰(key encrypting key) 密鑰加密密鑰一般是用來對傳送的會話密鑰或文件秘密密鑰進(jìn)行加密時所采用的密鑰,也可以稱為二級密鑰。密鑰加密密鑰所保護(hù)的對象是實際用來保護(hù)通信或文件數(shù)據(jù)的會話密鑰或文件加密密鑰。在通信網(wǎng)中,一般在每個節(jié)點都分配有一個這類密鑰,同時,為了安全,各節(jié)點的密鑰加密密鑰應(yīng)互不相同。節(jié)點之間進(jìn)行密鑰協(xié)商時,應(yīng)使用各節(jié)點的密鑰加密密鑰進(jìn)行。 (4)主機主密鑰(host master key) 主機主密鑰對應(yīng)于層次化密鑰結(jié)構(gòu)中的最高層次,它是對密鑰加密密鑰進(jìn)行加密的密鑰。因此,主機主密鑰應(yīng)受到嚴(yán)格的保護(hù)。
74
密鑰生成 密鑰生成是密鑰管理的基本要件,對于一個密碼體制,如何產(chǎn)生好的密鑰是很關(guān)鍵的,密鑰選擇不當(dāng),即使算法再強,其安全性也是不敢恭維的。例如,以DES作為說明,如果我們只使用英文字母(包括大小寫)與數(shù)字作為密鑰,則可能的密鑰(即密鑰空間的大?。┲挥?.2×1014個。它僅僅是原來DES可能的密鑰空間的三百多分之一,這樣對于窮舉攻擊是很有利的。 那么,什么樣的密鑰才叫做安全?怎樣產(chǎn)生安全的密鑰?下面將逐一為你描述。
75
Ⅰ 安全密鑰產(chǎn)生的幾個特性 密鑰產(chǎn)生方式可由人工生成,也可由機器自動生成,不管怎樣,產(chǎn)生的密鑰必須滿足偽隨機特性的統(tǒng)計檢驗。一般我們把滿足下面幾個條件的密鑰稱為比較安全的密鑰: 真正隨機等概,如采取扔色子、擲硬幣等取法; 避免弱密碼的應(yīng)用(主要是單鑰系統(tǒng)); 雙鑰系統(tǒng)應(yīng)選擇數(shù)學(xué)關(guān)系巧、難的方法產(chǎn)生密鑰; 選用長度適中、安全易記且難猜中的密鑰; 適當(dāng)采用雜湊技術(shù),能將長密鑰變換成偽隨機數(shù)串(64bit)。
76
Ⅱ 密鑰長短安全性 密碼系統(tǒng)的安全性主要依賴于密鑰,而不僅僅依賴于算法的強壯度。選擇密鑰長度既不能太長也不能太短。原因很簡單,一旦選擇過長,必須為密鑰變長付出所需計算時間的代價。如果選擇太短,又?jǐn)巢贿^窮舉搜索等攻擊。表3.10給出了不同對象空間的密鑰數(shù)和對應(yīng)的窮舉搜索時間(假設(shè)每秒測試一百萬次)。 按照現(xiàn)在計算機發(fā)展的速度和計算能力分析,每2~3年左右,窮舉搜索能力也將要翻一番。因此在通行字之類密碼中,特別是口令密碼,應(yīng)盡量避免遭受字典式攻擊(dictionary attack),如本人名、首字母、帳戶名、數(shù)據(jù)庫縮寫名等作口令極易受攻擊。
77
Ⅲ 密鑰產(chǎn)生方式 主機主密鑰。屬控制其它加密密鑰的密鑰,對應(yīng)于層次化密鑰結(jié)構(gòu)中的最高層次,一般它的密鑰量很小,但作為整個密碼系統(tǒng)的核心,應(yīng)保證完全隨機性、不可重復(fù)性和不可預(yù)測性。故宜用擲硬幣、噪聲產(chǎn)生器等方法產(chǎn)生。 密鑰加密密鑰。可由機器自動產(chǎn)生或由操作員選定。一般可用安全算法、偽隨機數(shù)產(chǎn)生器、電子學(xué)噪聲源等產(chǎn)生。典型的有在主機主密鑰控制下,由X9.17安全算法(美國國家標(biāo)準(zhǔn)協(xié)會ANSI采用)生成。 會話密鑰、工作密鑰。在密鑰加密密鑰的控制下,通過某種安全算法動態(tài)產(chǎn)生。例如用初始密鑰控制非線性移位寄存器,或用密鑰加密密鑰控制DES算法產(chǎn)生。
78
密鑰分配 要使常規(guī)加密有效進(jìn)行,信息交互的雙方必須共享同一個密鑰,并且這個密鑰還要防止被其他人獲得。另外我們還希望密鑰經(jīng)常更換,以便在攻擊者知道密鑰的情況下使得泄露的數(shù)據(jù)量有個限制。因此,任何一個密碼編碼系統(tǒng)的強度都依賴于密鑰分配技術(shù)。 密鑰分配技術(shù)是在不讓其他人看到密鑰的情況下將一個密鑰傳遞給希望交換數(shù)據(jù)的雙方的方法。下面我們簡單介紹些關(guān)于密鑰分配的基本知識。
79
Ⅰ 密鑰分配基本方法 例如有兩個用戶A和B,想獲得共享密鑰的方法有以下幾種: 1、密鑰由A選取并通過物理手段發(fā)送給B。
80
一種典型的分配方案如圖3.10所示:
81
假設(shè)用戶A希望與用戶B建立一個邏輯連接,并且需要一次性的會話密鑰來保護(hù)經(jīng)過這個連接傳輸?shù)臄?shù)據(jù)。A和B都與密鑰分配中心KDC(key distribution center)有一個共享的主密鑰KA和KB。密鑰分配步驟如下: 1、A向KDC發(fā)出請求,要求得到一個用來保護(hù)他與B之間邏輯連接的會話密鑰。這個報文包括A和B的標(biāo)識以及一個對于這次交互而言的唯一的標(biāo)識符N1,N1為一次性隨機數(shù),也叫作現(xiàn)時,它可以是一個時間戳、一個計數(shù)器或者一個隨機數(shù),對它的最低要求是它在每個請求中是不同的。另外,為了防止冒充,應(yīng)使敵手對N1難以預(yù)測,因此用隨機數(shù)最為合適。 2、KDC用一個經(jīng)過KA加密的報文作為響應(yīng)。因而,A是唯一可以成功收到這個報文的實體,而且A知道這個報文來自KDC。這個報文包含給A的兩項內(nèi)容: 用于會話的一次性密鑰KS。 原來的請求報文,包括一次性隨機數(shù)N1,以便使A將收到的應(yīng)答與發(fā)出的請求相比較,看是否匹配。 因而,A可以證實它原來的請求在KDC收到之前沒有被篡改,并且這不是一個以前請求的重放。 另外,這個報文還包括給B的兩項內(nèi)容: 用于會話的一次性密鑰Ks。 A的標(biāo)識符(例如他的網(wǎng)絡(luò)地址)IDa。 這兩項內(nèi)容是用KB進(jìn)行加密的,它們被發(fā)送到B來建立連接并證實A的身份。
82
3、A把會話密鑰存儲起來以便用于后續(xù)的會話,并將KDC發(fā)送給B的信息即EKB[KS||IDA]轉(zhuǎn)發(fā)給B。因為這個信息是用Kb加密的,它對竊聽有了防護(hù)。B現(xiàn)在知道了會話密鑰(Ks),知道了通信的另一方是A(從IDa得知),并且知道了信息是從KDC發(fā)出的(因為它是用Ekb加密的)。 這時一個會話密鑰就安全地傳送給了A和B,他們就可以開始受到保護(hù)的信息交互了。然而還有兩個步驟是必要的: 4、B使用為加密新造的會話密鑰發(fā)送一個一次性隨機數(shù)N2給A。 5、A也使用KS響應(yīng)一個f(N2),其中f是一個對N2進(jìn)行某種變換的函數(shù)(例如加1)。 這些步驟使得B確信它原來所收到(步驟3)的報文不是一個重放。 注意實際的密鑰分配過程只涉及步驟1到3,而步驟4和5結(jié)合3完成的是鑒別功能。
83
Ⅱ 公開密鑰分發(fā) 公開密鑰分發(fā),顧名思義,就是公鑰系統(tǒng)中的加密公開密鑰是公開的,它通過各種公開的手段和方式,或由公開權(quán)威機構(gòu)實現(xiàn)公開密鑰分發(fā)和傳送。 公開密鑰分發(fā)有下列幾種形式: 1、公開宣布 2、公布可以得到的目錄 3、公開密鑰機構(gòu)分發(fā) 4、公開密鑰證書分發(fā)
84
1、公開宣布 依據(jù)被廣泛接受的公開密鑰算法(如RSA),參與者可將其公開密鑰發(fā)送給他人,或通過廣播式在整個通信社區(qū)公布公開密鑰。比如郵件加密的PGP用戶可在消息后面附上公開密鑰信息,并將其送到公開論壇USENET新聞組上公布。 這個方法很方便,但是易受假冒用戶攻擊,必須對偽造密鑰進(jìn)行鑒別。
85
2、公布可以得到的目錄 由一個可信實體或組織負(fù)責(zé)一個公開密鑰的公開目錄的維護(hù)和分發(fā)。可信機構(gòu)與參與者之間建立一條{用戶名·公開密鑰}條目。參與者可通過正常或可信渠道到目錄權(quán)威機構(gòu)登記公開密鑰。允許參與者隨時更改一個已有的密鑰(如公鑰使用太長,或公鑰已泄密),目錄權(quán)威機構(gòu)可周期性地公布整個目錄,或?qū)δ夸涍M(jìn)行刷新,參與者也可以電子方式訪問這個目錄。為安全起見,參與者與權(quán)威機構(gòu)的通信安全受鑒別保護(hù)。 這個方法的安全性顯然強于公開宣布,但是也易受冒充權(quán)威機構(gòu)偽造公開密鑰的攻擊。
86
3、公開密鑰機構(gòu)分發(fā) 由專門機構(gòu)授權(quán),用來負(fù)責(zé)管理公開密鑰的公開目錄分發(fā)的一個中心權(quán)威機構(gòu)可信實體或組織,并負(fù)責(zé)維護(hù)一個所有參與者登記在冊的公開密鑰信息的公開動態(tài)目錄,使公開密鑰的分發(fā)達(dá)到更高的安全強度。當(dāng)然,每個參與者都有一種可信渠道知曉權(quán)威機構(gòu)的公開密鑰,而其對應(yīng)的私鑰只能由機構(gòu)本身秘密擁有。這種公開密鑰分發(fā)方案主要用于A和B雙方在進(jìn)行通信時,需要了解對方的公開密鑰信息。一方向公開密鑰機構(gòu)要求分發(fā)另一方的公開密鑰,用雙方的公開密鑰進(jìn)行信息加密傳送給對方。這時為安全起見,主要通過時戳等技術(shù)加以保護(hù)和判別。公開密鑰機構(gòu)分發(fā)方式同樣存在真實性和鑒別問題。
87
4、公開密鑰證書分發(fā) 公開密鑰證書方法是由Kohnfelder[KOHN78]首先提出的,目的是用戶使用證書交換公開密鑰,無需與權(quán)威機構(gòu)聯(lián)系,也能達(dá)到類似直接從權(quán)威目錄機構(gòu)獲取公開密鑰方法的安全性?;咀鞣ㄊ牵鹤C書由可信證書中心生成,內(nèi)容包含用戶公開密鑰、對應(yīng)的私有密鑰及相關(guān)信息。參與者通過將相應(yīng)證書傳送給另一個參與者而達(dá)到傳送公鑰信息的目的。其他參與者可以驗證此證書是否由權(quán)威機構(gòu)簽發(fā)。該方案的特點是: (1)每個參與者都可解析證書,以獲悉證書持有者名和公鑰信息; (2)每個參與者均可驗證一個證書是否由權(quán)威機構(gòu)簽發(fā)的真實性; (3)只有權(quán)威機構(gòu)能夠簽發(fā)和更新合法的證書; (4)每個參與者都能驗證證書的適時性。 其中(1)~(3)在Kohnfelder[KOHN78]中提到,(4)在Denning[DENN83]中提到。
88
Ⅲ 秘密密鑰分發(fā) 公開密鑰分發(fā)一方面易受搭線攻擊,另一方面加解密速度偏慢,因此,比較合理的做法是將公開密鑰加密當(dāng)作一個分配常規(guī)加密所用的秘密密鑰的工具。
89
1、簡單的秘密密鑰分配 一個極端簡單的方案如圖3.13所示: 如果A希望和B通信,就使用如下步驟:
90
但是這個協(xié)議容易受到主動攻擊。如果一個敵對方E控制了中間的通信信道,那么E就可以用下列方式破壞通信而不被發(fā)覺:
91
2、具有保密和鑒別能力的秘密密鑰分配 圖3.14提供了對于被動和主動兩種攻擊的防護(hù)。
92
密鑰托管 任何東西都具有兩面性,加密技術(shù)也不例外:一方面可為用戶提供正常保密保護(hù);另一方面也為竊密分子提供犯罪掩護(hù),給監(jiān)管帶來了困難。那么如何控制加密技術(shù)的使用,使得一方面政府機構(gòu)在需要時,可通過適當(dāng)?shù)某绦颍绶ㄔ鹤C書,解密用戶的信息;另一方面,當(dāng)用戶的密鑰丟失或損壞,也可通過該技術(shù)恢復(fù)自己的密鑰呢? 這就要用到密鑰托管技術(shù),下面我們簡單介紹些關(guān)于它的基本知識。
93
Ⅰ 密鑰托管基本含義 1993年4月16日,美國政府為了滿足其電信安全、公眾安全和國家安全,提出了托管加密標(biāo)準(zhǔn)EES(escorowed encryption standard),又稱Clipper建議,解決了加密技術(shù)兩面性的需求:不僅提供強加密功能,也為政府機構(gòu)提供了實施法律授權(quán)下的監(jiān)聽功能。EES標(biāo)準(zhǔn)于1994年2月正式被美國政府公布采用。 所謂密鑰托管技術(shù),指為用戶提供更好的安全通信方式,同時允許授權(quán)者(包括用戶、企業(yè)專門人員、政府保密部門等)為了國家等安全利益,監(jiān)聽某些通信和解密有關(guān)密文。所以,密鑰托管也叫“密鑰恢復(fù)”,或者延伸為“受信任的第三方”、“數(shù)據(jù)恢復(fù)”、“特殊獲取”等含義。 密鑰托管技術(shù)的核心是一個稱為Clipper的防竄擾芯片,它是由美國國家安全局(NSA)主持開發(fā)的軟件實現(xiàn)密碼部件。內(nèi)部利用skipjack的私鑰密碼算法,芯片的單元密碼(UK)由兩個稱之為Escrow的機構(gòu)聯(lián)合提供。 美國政府的EES標(biāo)準(zhǔn)公布之后,在社會上引起了很大的爭議,但出于商業(yè)利益的動機,不少公司紛紛推出自己的密鑰托管系統(tǒng),常用的有幾十種不同功能的密鑰托管技術(shù)。
94
Ⅱ 密鑰托管系統(tǒng)的組成 密鑰托管加密體制主要由三部分組成:用戶安全分量、密鑰托管分量和數(shù)據(jù)恢復(fù)分量。三者緊密聯(lián)系,相互制約。圖3.15給出了密鑰托管加密系統(tǒng)示意圖。
95
1、用戶安全分量(User Security Component,簡稱USC)
96
(2)數(shù)據(jù)恢復(fù)密鑰。作用是保證采用托管加密后,所有加密數(shù)據(jù)均能與數(shù)據(jù)恢復(fù)密鑰相連,以備必要時數(shù)據(jù)恢復(fù)使用。數(shù)據(jù)恢復(fù)密鑰種類可分為:A、數(shù)據(jù)加密密鑰(如會話密鑰、網(wǎng)絡(luò)密鑰、文件密鑰等,密鑰由KEC中心分發(fā))。B、用戶密鑰,用于建立數(shù)據(jù)加密密鑰,可由KEC分發(fā)。C、主密鑰,可由多個USC共享,直接與KEC相關(guān)。D、產(chǎn)品密鑰,屬于USC專有。所有數(shù)據(jù)恢復(fù)密鑰的托管時機可在產(chǎn)品制作或初始化階段,以及用戶注冊期間進(jìn)行。 (3)數(shù)據(jù)恢復(fù)業(yè)務(wù)。包括向DRC披露信息、授權(quán)指導(dǎo)業(yè)務(wù),如建立身份證明和獲取接入已加密數(shù)據(jù)的合法授權(quán)證明。提供業(yè)務(wù)選擇方式有:A、披露數(shù)據(jù)恢復(fù)密鑰;B、披露派生密鑰;C、解密密鑰;D、實現(xiàn)門限解密等內(nèi)容。這些業(yè)務(wù)可用人工后自動地將數(shù)據(jù)傳入或傳出后DRC。 (4)托管密鑰保護(hù)。用來防止密鑰泄露或丟失,集成各種技術(shù)保護(hù)、操作保護(hù)和法律保護(hù)等。 3、數(shù)據(jù)恢復(fù)分量(Date Recovery Component,簡稱DRC) DRC主要由專用算法、協(xié)議和必要的設(shè)備組成,能夠從密文和KEC所提供的,包含于DRC的信息中恢復(fù)出明文。DRC的功能主要由:適時解密,能實時解密截獲信息;后處理,可解密以前截獲和記錄的通信;透明性,非各方知識參與也可解密;獨立性,一旦獲得密鑰,利用自己的資源就能解密。但是,只有在執(zhí)行規(guī)定的合法數(shù)據(jù)恢復(fù)時才能使用DRC。
97
3.4 網(wǎng)絡(luò)加密技術(shù) 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)安全也就成為當(dāng)今網(wǎng)絡(luò)社會的焦點中的焦點,幾乎沒有人不在談?wù)摼W(wǎng)絡(luò)上的安全問題。病毒、黑客程序、郵件炸彈、遠(yuǎn)程偵聽等這一切都無不讓人膽戰(zhàn)心驚,病毒、黑客的猖獗使身處今日網(wǎng)絡(luò)社會的人們感覺到談網(wǎng)色變,無所適從。 那么,怎樣解決這一切一切的安全問題呢?或許加密是我們唯一的選擇。
98
網(wǎng)絡(luò)加密的重要性 網(wǎng)絡(luò)是由各網(wǎng)絡(luò)節(jié)點、它們之間的連接以及其上的網(wǎng)絡(luò)應(yīng)用服務(wù)等組成的,任何一個環(huán)節(jié)的疏漏都可能威脅到網(wǎng)絡(luò)的安全。如目前應(yīng)用得最廣泛的TCP/IP協(xié)議,其IP層協(xié)議就有許多安全缺陷:IP地址可以利用軟件進(jìn)行設(shè)置,這就造成了地址假冒和地址欺騙兩類安全隱患;IP協(xié)議支持源路由方式,即源點可以指定信息包傳送到目的節(jié)點的中間路由,這就提供了源路由攻擊的條件。 當(dāng)我們在互聯(lián)網(wǎng)上進(jìn)行文件傳輸、電子郵件商務(wù)往來時,黑客就利用網(wǎng)絡(luò)的漏洞和缺陷對我們的活動進(jìn)行有目的的攻擊。有的出于政治原因,為了獲取國家機密、軍事情報等;有的為了取得商業(yè)競爭的勝利,盜竊甚至破壞他人的客戶資料,獲取對方產(chǎn)品開發(fā)信息、公司銷售策略等;更多的還是出于金錢利益的誘惑,盜取他人網(wǎng)銀賬號密碼、網(wǎng)絡(luò)游戲虛擬裝備等。無論什么目的,都會我們帶來巨大的損失。因此為了能在安全的基礎(chǔ)上大開通向世界之門,我們只好選擇了網(wǎng)絡(luò)加密技術(shù)。 網(wǎng)絡(luò)加密技術(shù)的目的就是保護(hù)網(wǎng)內(nèi)的數(shù)據(jù)、文件、口令和控制信息,保護(hù)網(wǎng)上傳輸?shù)臄?shù)據(jù),防止有用或私有化信息在網(wǎng)絡(luò)上被攔截和竊取,或者即使被攻擊者獲得也是不可讀的。在某種意義上來說,加密也成為當(dāng)今網(wǎng)絡(luò)社會進(jìn)行文件或郵件安全傳輸?shù)臅r代象征。
99
網(wǎng)絡(luò)加密的形式 密碼技術(shù)是網(wǎng)絡(luò)安全最有效的技術(shù)之一。一個加密網(wǎng)絡(luò),不但可以防止非授權(quán)用戶的搭線竊聽和入網(wǎng),而且也是對付惡意軟件的有效方法之一。 一般的數(shù)據(jù)加密可以在通信的三個層次來實現(xiàn): Ⅰ 鏈路加密 Ⅱ 節(jié)點加密 Ⅲ 端到端加密
100
Ⅰ 鏈路加密 這是一種面向物理層的數(shù)據(jù)加密方式。對于在兩個網(wǎng)絡(luò)節(jié)點間的某一次通信鏈路,鏈路加密能為網(wǎng)上傳輸?shù)臄?shù)據(jù)提供安全保證。對于鏈路加密(又稱在線加密),所有消息在被傳輸之前進(jìn)行加密,在每一個節(jié)點對接收到的消息進(jìn)行解密,然后先使用下一個鏈路的密鑰對消息進(jìn)行加密,再進(jìn)行傳輸。在到達(dá)目的地之前,一條消息可能要經(jīng)過許多通信鏈路的傳輸。 由于在每一個中間傳輸節(jié)點消息均被解密后重新進(jìn)行加密,因此,包括路由信息在內(nèi)的鏈路上的所有數(shù)據(jù)均以密文形式出現(xiàn)。這樣,鏈路加密就掩蓋了被傳輸消息的源點與終點。由于填充技術(shù)的使用以及填充字符在不需要傳輸數(shù)據(jù)的情況下就可以進(jìn)行加密,這使得消息的頻率和長度特性得以掩蓋,從而可以防止對通信業(yè)務(wù)進(jìn)行分析。 盡管鏈路加密在計算機網(wǎng)絡(luò)環(huán)境中使用得相當(dāng)普遍,但它并非沒有問題。鏈路加密通常用在點對點的同步或異步線路上,它要求先對在鏈路兩端的加密設(shè)備進(jìn)行同步,然后使用一種鏈模式對鏈路上傳輸?shù)臄?shù)據(jù)進(jìn)行加密。這就給網(wǎng)絡(luò)的性能和可管理性帶來了副作用。
101
在線路/信號經(jīng)常不通的海外或衛(wèi)星網(wǎng)絡(luò)中,鏈路上的加密設(shè)備需要頻繁地進(jìn)行同步,帶來的后果是數(shù)據(jù)丟失或重傳。另一方面,即使僅一小部分?jǐn)?shù)據(jù)需要進(jìn)行加密,也會使得所有傳輸數(shù)據(jù)被加密。
102
Ⅱ 節(jié)點加密 節(jié)點加密在操作方式上與鏈路加密是類似的:兩者均在通信鏈路上為傳輸?shù)南⑻峁┌踩?;都在中間節(jié)點先對消息進(jìn)行解密,然后進(jìn)行加密。因為要對所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,所以加密過程對用戶是透明的。 然而,與鏈路加密不同,節(jié)點加密不允許消息在網(wǎng)絡(luò)節(jié)點以明文形式存在,它先把收到的消息進(jìn)行解密,然后采用另一個不同的密鑰進(jìn)行加密,這一過程是在節(jié)點上的一個安全模塊中進(jìn)行。因此節(jié)點加密能給網(wǎng)絡(luò)數(shù)據(jù)提供較高的安全性。 節(jié)點加密要求報頭和路由信息以明文形式傳輸,以便中間節(jié)點能得到如何處理消息的信息。因此這種方法對于防止攻擊者分析通信業(yè)務(wù)是脆弱的。
103
Ⅲ 端到端加密 端到端加密(又稱脫線加密或包加密),屬高層加密方式。源端在發(fā)送源消息之前將消息加密成密文,并以密文消息的形式經(jīng)通信網(wǎng)傳送到目的端。各端點采用相同的密碼算法和密鑰,對傳遞通路上的各個中間節(jié)點,其數(shù)據(jù)是保密的。也就是說,加密方式不依賴于中間節(jié)點,中間節(jié)點沒有義務(wù)對其他層的協(xié)議信息進(jìn)行解密,只有收端用戶正確解密才能恢復(fù)明文。 采用端到端加密,數(shù)據(jù)在從源點到終點的傳輸過程中始終以密文形式存在,在整個傳輸過程中均受到保護(hù),所以即使有節(jié)點被損壞也不會使消息泄露。端到端加密系統(tǒng)的價格便宜些,并且與鏈路加密和節(jié)點加密相比更可靠,更容易設(shè)計、實現(xiàn)和維護(hù)。端到端加密還避免了其它加密系統(tǒng)所固有的同步問題,因為每個報文包均是獨立被加密的,所以一個報文包所發(fā)生的傳輸錯誤不會影響后續(xù)的報文包。此外,從用戶對安全需求的直覺上講,端到端加密更自然些。單個用戶可能會選用這種加密方法,以便不影響網(wǎng)絡(luò)上的其他用戶,此方法只需要源和目的節(jié)點是保密的即可。 端到端加密系統(tǒng)通常不允許對消息的目的地址進(jìn)行加密,這是因為每一個消息所經(jīng)過的節(jié)點都要用此地址來確定如何傳輸消息。由于這種加密方法不能掩蓋被傳輸消息的源點與終點,因此它對于防止攻擊者分析通信業(yè)務(wù)是脆弱的。
104
要取得更大的安全程度,我們既需要鏈路加密也需要端到端加密,如圖3.16所示:
105
表3.11總結(jié)了鏈路加密與端端加密策略的關(guān)鍵特性。
106
知識歸納 信息加密技術(shù)是一門既古老又年輕的科學(xué)。當(dāng)代社會是信息化社會,如果說信息得不到應(yīng)有的保密,那么政府、公司和個人的開發(fā)活動都將陷入混亂,整個社會將變得不可收拾。因此,信息的安全與保密問題成了人人都關(guān)心的問題。 現(xiàn)代密碼學(xué)涉及數(shù)學(xué)(如數(shù)論、近世代數(shù)、復(fù)雜性理論、組合算法、概率算法及代數(shù)幾何等)、物理學(xué)(如量子力學(xué)、現(xiàn)代光學(xué)、混沌動力學(xué)等)、信息論、計算機科學(xué)等學(xué)科,內(nèi)容十分豐富。本章只簡單介紹了密碼學(xué)的基礎(chǔ)知識,目的是通過我的介紹,給真正對密碼技術(shù)感興趣的讀者一個引路而已。
107
習(xí)題與思考題 3.1 比較單鑰密碼體制與雙鑰,試述它們的本質(zhì)區(qū)別,以及各自的優(yōu)缺點。
108
實訓(xùn)指南 實訓(xùn)一 制作密碼卡片 實訓(xùn)二 密碼推斷 實訓(xùn)三 DES加、解密 實訓(xùn)四 RSA保密通信
109
實訓(xùn)一 制作密碼卡片 實訓(xùn)目的 通過制作簡單的6×6密碼卡片,使學(xué)生深刻理解易位密碼這種傳統(tǒng)技術(shù)。 實訓(xùn)環(huán)境
110
實訓(xùn)二 密碼推斷 實訓(xùn)目的 通過練習(xí),使學(xué)生深刻理解傳統(tǒng)密碼技術(shù),并能根據(jù)自己的需要選擇合適的算法 實訓(xùn)環(huán)境 課堂練習(xí)即可,準(zhǔn)備空白紙張若干
111
實訓(xùn)三 DES加、解密 實訓(xùn)目的 通過對DES密碼算法的練習(xí),理解DES工作的原理 實訓(xùn)環(huán)境 課堂練習(xí)即可,準(zhǔn)備空白紙張若干 實訓(xùn)內(nèi)容
112
實訓(xùn)四 RSA保密通信 實訓(xùn)目的 通過對RSA密碼算法的練習(xí),理解RSA工作的原理 實訓(xùn)環(huán)境 課堂練習(xí)即可,準(zhǔn)備空白紙張若干 實訓(xùn)內(nèi)容
113
參考文獻(xiàn) 《密碼學(xué)與計算機網(wǎng)絡(luò)安全》 卿斯?jié)h 清華大學(xué)出版社 《對稱密碼學(xué)》 胡予濮等 機械工業(yè)出版社 |
|