第3章 數(shù)據(jù)加密技術(shù)_第1頁
第3章 數(shù)據(jù)加密技術(shù)_第2頁
第3章 數(shù)據(jù)加密技術(shù)_第3頁
第3章 數(shù)據(jù)加密技術(shù)_第4頁
第3章 數(shù)據(jù)加密技術(shù)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)加密技術(shù)是為提高信息系統(tǒng)及數(shù)據(jù)的安全數(shù)據(jù)加密技術(shù)是為提高信息系統(tǒng)及數(shù)據(jù)的安全 性和保密性,防止秘密數(shù)據(jù)被外部破譯所采用的主性和保密性,防止秘密數(shù)據(jù)被外部破譯所采用的主 要技術(shù)手段之一,也是網(wǎng)絡(luò)安全的重要技術(shù)。要技術(shù)手段之一,也是網(wǎng)絡(luò)安全的重要技術(shù)。 按作用不同,數(shù)據(jù)加密技術(shù)主要分為數(shù)據(jù)傳輸、按作用不同,數(shù)據(jù)加密技術(shù)主要分為數(shù)據(jù)傳輸、 數(shù)據(jù)存儲以及數(shù)據(jù)完整性的鑒別、密鑰管理技術(shù)數(shù)據(jù)存儲以及數(shù)據(jù)完整性的鑒別、密鑰管理技術(shù)4種。種。 3.1.1 數(shù)據(jù)加密技術(shù)的種類數(shù)據(jù)加密技術(shù)的種類 1. 數(shù)據(jù)傳輸加密技術(shù)數(shù)據(jù)傳輸加密技術(shù) 其目的是對傳輸中的數(shù)據(jù)流加密,常用的方法其目的是對傳輸中的數(shù)據(jù)流加密,常用

2、的方法 有線路加密和端端加密兩種。有線路加密和端端加密兩種。 前者側(cè)重在線路上而不考慮信源與信宿,是對前者側(cè)重在線路上而不考慮信源與信宿,是對 保密信息通過各線路采用不同的加密密鑰提供安全保密信息通過各線路采用不同的加密密鑰提供安全 保護(hù);保護(hù); 后者則指信息由發(fā)送端自動加密,并進(jìn)入后者則指信息由發(fā)送端自動加密,并進(jìn)入 TCP/IP數(shù)據(jù)包封裝,然后作為不可閱讀和不可識別數(shù)據(jù)包封裝,然后作為不可閱讀和不可識別 的數(shù)據(jù)穿過互連網(wǎng),當(dāng)這些信息一旦到達(dá)目的地,的數(shù)據(jù)穿過互連網(wǎng),當(dāng)這些信息一旦到達(dá)目的地, 將被自動重組、解密,成為可讀數(shù)據(jù)。將被自動重組、解密,成為可讀數(shù)據(jù)。 2. 數(shù)據(jù)存儲加密技術(shù)數(shù)據(jù)存

3、儲加密技術(shù) 其目的是防止在存儲環(huán)節(jié)上的數(shù)據(jù)失密,可分其目的是防止在存儲環(huán)節(jié)上的數(shù)據(jù)失密,可分 為密文存儲和存取控制兩種。為密文存儲和存取控制兩種。 前者一般是通過加密算法轉(zhuǎn)換、附加密碼及加前者一般是通過加密算法轉(zhuǎn)換、附加密碼及加 密模塊等方法實現(xiàn);密模塊等方法實現(xiàn); 后者則是對用戶資格加以審查和限制,防止非后者則是對用戶資格加以審查和限制,防止非 法用戶存取數(shù)據(jù)或合法用戶越權(quán)存取數(shù)據(jù)。法用戶存取數(shù)據(jù)或合法用戶越權(quán)存取數(shù)據(jù)。 3. 數(shù)據(jù)完整性鑒別技術(shù)數(shù)據(jù)完整性鑒別技術(shù) 其目的是對參與信息傳送、存取、處理的人的其目的是對參與信息傳送、存取、處理的人的 身份和相關(guān)數(shù)據(jù)內(nèi)容進(jìn)行驗證,達(dá)到保密的要求,身

4、份和相關(guān)數(shù)據(jù)內(nèi)容進(jìn)行驗證,達(dá)到保密的要求, 一般包括口令、密鑰、身份、數(shù)據(jù)等項的鑒別,系一般包括口令、密鑰、身份、數(shù)據(jù)等項的鑒別,系 統(tǒng)通過對比驗證對象輸入的特征值是否符合預(yù)先設(shè)統(tǒng)通過對比驗證對象輸入的特征值是否符合預(yù)先設(shè) 定的參數(shù),實現(xiàn)對數(shù)據(jù)的安全保護(hù)。定的參數(shù),實現(xiàn)對數(shù)據(jù)的安全保護(hù)。 4. 密鑰管理技術(shù)密鑰管理技術(shù) 為了數(shù)據(jù)使用的方便,數(shù)據(jù)加密在許多場合集為了數(shù)據(jù)使用的方便,數(shù)據(jù)加密在許多場合集 中表現(xiàn)為密鑰的應(yīng)用,因此密鑰往往是保密與竊密中表現(xiàn)為密鑰的應(yīng)用,因此密鑰往往是保密與竊密 的主要對象。的主要對象。 密鑰的媒體有磁卡、磁帶、磁盤、半導(dǎo)體存儲密鑰的媒體有磁卡、磁帶、磁盤、半導(dǎo)體存儲

5、 器等。密鑰的管理技術(shù)包括密鑰的產(chǎn)生、分配保存、器等。密鑰的管理技術(shù)包括密鑰的產(chǎn)生、分配保存、 更換與銷毀等各環(huán)節(jié)上的保密措施。更換與銷毀等各環(huán)節(jié)上的保密措施。 3.1.2 密碼技術(shù)主要應(yīng)用密碼技術(shù)主要應(yīng)用 計算機(jī)密碼學(xué)是解決網(wǎng)絡(luò)安全問題的技術(shù)基礎(chǔ),計算機(jī)密碼學(xué)是解決網(wǎng)絡(luò)安全問題的技術(shù)基礎(chǔ), 是一個專門的研究領(lǐng)域。密碼技術(shù)主要有以下幾個是一個專門的研究領(lǐng)域。密碼技術(shù)主要有以下幾個 方面的應(yīng)用。方面的應(yīng)用。 (1)加密是對信息進(jìn)行重新組合,使得只有)加密是對信息進(jìn)行重新組合,使得只有 收發(fā)雙方才能解碼還原信息。傳統(tǒng)的加密系統(tǒng)是以收發(fā)雙方才能解碼還原信息。傳統(tǒng)的加密系統(tǒng)是以 密鑰為基礎(chǔ)的。密鑰為基

6、礎(chǔ)的。 (2)加密,簡言之就是把明文變換成密文的)加密,簡言之就是把明文變換成密文的 過程。過程。 (3)解密,就是把密文還原成明文的過程。)解密,就是把密文還原成明文的過程。 (4)認(rèn)證,識別個人、網(wǎng)絡(luò)上的機(jī)器或機(jī)構(gòu)。)認(rèn)證,識別個人、網(wǎng)絡(luò)上的機(jī)器或機(jī)構(gòu)。 身份認(rèn)證是一致性驗證的一種,驗證是建立一致性身份認(rèn)證是一致性驗證的一種,驗證是建立一致性 證明的一種手段。身份認(rèn)證主要包括認(rèn)證依據(jù)、認(rèn)證明的一種手段。身份認(rèn)證主要包括認(rèn)證依據(jù)、認(rèn) 證系統(tǒng)和安全要求。證系統(tǒng)和安全要求。 (5)數(shù)字簽名,將發(fā)送文件與特定的密鑰捆)數(shù)字簽名,將發(fā)送文件與特定的密鑰捆 在一起。在一起。 大多數(shù)電子交易采用兩個密鑰

7、加密:密文和用大多數(shù)電子交易采用兩個密鑰加密:密文和用 來解碼的密鑰一起發(fā)送,而該密鑰本身又被加密,來解碼的密鑰一起發(fā)送,而該密鑰本身又被加密, 還需要另一個密鑰來解碼。這種組合加密被稱為數(shù)還需要另一個密鑰來解碼。這種組合加密被稱為數(shù) 字簽名,它可能成為未來電子商業(yè)中首選的安全技字簽名,它可能成為未來電子商業(yè)中首選的安全技 術(shù)。術(shù)。 (6)簽名識別,數(shù)字簽名的反過程,它證明)簽名識別,數(shù)字簽名的反過程,它證明 簽名有效。簽名有效。 上述技術(shù)利用了先進(jìn)的數(shù)學(xué)理論,具體內(nèi)容可上述技術(shù)利用了先進(jìn)的數(shù)學(xué)理論,具體內(nèi)容可 參閱有關(guān)參考書。參閱有關(guān)參考書。 對稱密鑰密碼體制屬于傳統(tǒng)密鑰密碼系統(tǒng)。如對稱密鑰

8、密碼體制屬于傳統(tǒng)密鑰密碼系統(tǒng)。如 果一個加密系統(tǒng)的加密密鑰和解密密鑰相同,或者果一個加密系統(tǒng)的加密密鑰和解密密鑰相同,或者 雖不相同,但可以由其中一個推導(dǎo)出另一個,則是雖不相同,但可以由其中一個推導(dǎo)出另一個,則是 對稱密鑰密碼體制(有時也稱為秘密密鑰密碼系對稱密鑰密碼體制(有時也稱為秘密密鑰密碼系 統(tǒng))。如圖統(tǒng))。如圖3-1所示。所示。 圖圖3-1 對稱密鑰密碼體制對稱密鑰密碼體制 對稱密鑰加密算法的代表是數(shù)據(jù)加密標(biāo)準(zhǔn)對稱密鑰加密算法的代表是數(shù)據(jù)加密標(biāo)準(zhǔn)DES (US Federal Data Encryption Standard),此),此 標(biāo)準(zhǔn)現(xiàn)在由美國國家安全局和國家標(biāo)準(zhǔn)與技術(shù)局來標(biāo)準(zhǔn)

9、現(xiàn)在由美國國家安全局和國家標(biāo)準(zhǔn)與技術(shù)局來 管理。另一個系統(tǒng)是國際數(shù)據(jù)加密算法(管理。另一個系統(tǒng)是國際數(shù)據(jù)加密算法(IDEA),), 它比它比DES的加密性好,而且需要的計算機(jī)功能也不的加密性好,而且需要的計算機(jī)功能也不 那么強(qiáng)。那么強(qiáng)。IDEA加密標(biāo)準(zhǔn)由加密標(biāo)準(zhǔn)由PGP(Pretty Good Privacy)系統(tǒng)使用。)系統(tǒng)使用。 3.2.1 DES加密算法加密算法 DES是一種數(shù)據(jù)分組的加密算法,它將數(shù)據(jù)分是一種數(shù)據(jù)分組的加密算法,它將數(shù)據(jù)分 成每組長度為成每組長度為64位的數(shù)據(jù)塊,使用的密鑰長度為位的數(shù)據(jù)塊,使用的密鑰長度為64 位,其中實際密鑰長度為位,其中實際密鑰長度為56位,另有位

10、,另有8位作為奇偶位作為奇偶 校驗。首先將明文數(shù)據(jù)進(jìn)行初始置換,得到校驗。首先將明文數(shù)據(jù)進(jìn)行初始置換,得到64位的位的 混亂明文組,再將其分成兩段,每段混亂明文組,再將其分成兩段,每段32位。然后進(jìn)位。然后進(jìn) 行乘積變換,在密鑰的控制下,做行乘積變換,在密鑰的控制下,做16次迭代,最后次迭代,最后 進(jìn)行逆初始變換而得到密文。進(jìn)行逆初始變換而得到密文。 對稱密碼體制也稱為私鑰加密法。這種方法已對稱密碼體制也稱為私鑰加密法。這種方法已 經(jīng)使用幾個世紀(jì)了,收發(fā)加密信息雙方使用同一個經(jīng)使用幾個世紀(jì)了,收發(fā)加密信息雙方使用同一個 私鑰對信息進(jìn)行加密和解密。私鑰對信息進(jìn)行加密和解密。 對稱密碼體制的優(yōu)點是

11、具有很高的保密強(qiáng)度,對稱密碼體制的優(yōu)點是具有很高的保密強(qiáng)度, 但它的密鑰必須按照安全途徑進(jìn)行傳遞,根據(jù)但它的密鑰必須按照安全途徑進(jìn)行傳遞,根據(jù)“一一 切秘密寓于密鑰當(dāng)中切秘密寓于密鑰當(dāng)中”的公理,密鑰管理成為影響的公理,密鑰管理成為影響 系統(tǒng)安全的關(guān)鍵性因素,難于滿足開放式計算機(jī)網(wǎng)系統(tǒng)安全的關(guān)鍵性因素,難于滿足開放式計算機(jī)網(wǎng) 絡(luò)的需求。絡(luò)的需求。 常見的對稱密鑰密碼系統(tǒng)有常見的對稱密鑰密碼系統(tǒng)有DES、FEAL、 IDEA、SKIPJACK等。等。 3.2.2 對稱密碼體制的不足對稱密碼體制的不足 (1)密鑰使用一段時間后就要更換,加密方)密鑰使用一段時間后就要更換,加密方 每次啟動新密碼時,

12、都要經(jīng)過某種秘密渠道把密鑰每次啟動新密碼時,都要經(jīng)過某種秘密渠道把密鑰 傳給解密方,而密鑰在傳遞過程中容易泄漏。傳給解密方,而密鑰在傳遞過程中容易泄漏。 (2)網(wǎng)絡(luò)通信時,如果網(wǎng)內(nèi)的所有用戶都使)網(wǎng)絡(luò)通信時,如果網(wǎng)內(nèi)的所有用戶都使 用同樣的密鑰,那就失去了保密的意義。但如果網(wǎng)用同樣的密鑰,那就失去了保密的意義。但如果網(wǎng) 內(nèi)任意兩個用戶通信時都使用互不相同的密鑰,內(nèi)任意兩個用戶通信時都使用互不相同的密鑰,N 個人就要使用個人就要使用N(N-1)/2個密鑰。因此,密鑰量太大,個密鑰。因此,密鑰量太大, 難以進(jìn)行管理。難以進(jìn)行管理。 (3)無法滿足互不相識的人進(jìn)行私人談話時)無法滿足互不相識的人進(jìn)行

13、私人談話時 的保密性要求。在的保密性要求。在Internet中,有時素不相識的兩中,有時素不相識的兩 方需要傳送加密信息。方需要傳送加密信息。 (4)難以解決數(shù)字簽名驗證的問題。)難以解決數(shù)字簽名驗證的問題。 可以將一個加密系統(tǒng)的加密密鑰和解密密鑰分可以將一個加密系統(tǒng)的加密密鑰和解密密鑰分 開,加密和解密分別由兩個密鑰來實現(xiàn),并使得由開,加密和解密分別由兩個密鑰來實現(xiàn),并使得由 加密密鑰推導(dǎo)出解密密鑰(或由解密密鑰推導(dǎo)出加加密密鑰推導(dǎo)出解密密鑰(或由解密密鑰推導(dǎo)出加 密密鑰)在計算上是不可行的。密密鑰)在計算上是不可行的。 采用公開密鑰密碼體制的每一個用戶都有一對采用公開密鑰密碼體制的每一個用

14、戶都有一對 選定的密鑰,其中加密密鑰不同于解密密鑰,加密選定的密鑰,其中加密密鑰不同于解密密鑰,加密 密鑰公之于眾,誰都可以用,解密密鑰只有解密人密鑰公之于眾,誰都可以用,解密密鑰只有解密人 自己知道,分別稱為自己知道,分別稱為“公開密鑰公開密鑰”和和“私密密鑰私密密鑰”。 公開密鑰密碼體制也稱為不對稱密鑰密碼體制。如公開密鑰密碼體制也稱為不對稱密鑰密碼體制。如 圖圖3-2所示。所示。 圖圖3-2 公開密鑰密碼體制公開密鑰密碼體制 公開密鑰密碼體制是現(xiàn)代密碼學(xué)的最重要的發(fā)公開密鑰密碼體制是現(xiàn)代密碼學(xué)的最重要的發(fā) 明和進(jìn)展。明和進(jìn)展。 保護(hù)敏感的信息一直是密碼學(xué)多年來的重點。保護(hù)敏感的信息一直是

15、密碼學(xué)多年來的重點。 但是,這僅僅是當(dāng)今密碼學(xué)主題的一個方面,但是,這僅僅是當(dāng)今密碼學(xué)主題的一個方面, 對信息發(fā)送人身份的驗證,是密碼學(xué)主題的另一方對信息發(fā)送人身份的驗證,是密碼學(xué)主題的另一方 面。面。 公開密鑰密碼體制為這兩方面的問題都給出了公開密鑰密碼體制為這兩方面的問題都給出了 出色的答案,并正在繼續(xù)產(chǎn)生許多新的思想和方案。出色的答案,并正在繼續(xù)產(chǎn)生許多新的思想和方案。 公開密鑰加密方法的典型代表是公開密鑰加密方法的典型代表是RSA算法。算法。 3.3.1 RSA算法算法 1978年就出現(xiàn)了年就出現(xiàn)了RSA(Rivest Shamir Adleman)算法,它是第一個既能用于數(shù)據(jù)加密也)

16、算法,它是第一個既能用于數(shù)據(jù)加密也 能用于數(shù)字簽名的算法。算法的名字以發(fā)明者美國能用于數(shù)字簽名的算法。算法的名字以發(fā)明者美國 的三位科學(xué)家的名字命名:的三位科學(xué)家的名字命名:Ron Rivest,Adi Shamir和和Leonard Adleman。但。但RSA的安全性一的安全性一 直未能得到理論上的證明。直未能得到理論上的證明。 RSA的安全性依賴于大數(shù)分解。公鑰和私鑰都的安全性依賴于大數(shù)分解。公鑰和私鑰都 是兩個大素數(shù)(大于是兩個大素數(shù)(大于100個十進(jìn)制位)的函數(shù)。據(jù)個十進(jìn)制位)的函數(shù)。據(jù) 猜測,從一個密鑰和密文推斷出明文的難度等同于猜測,從一個密鑰和密文推斷出明文的難度等同于 分解兩

17、個大素數(shù)的積。分解兩個大素數(shù)的積。 簡言之,找兩個很大的質(zhì)數(shù),一個作為簡言之,找兩個很大的質(zhì)數(shù),一個作為“公鑰公鑰” 公開給世界,一個作為公開給世界,一個作為“私鑰私鑰”不告訴任何人。這不告訴任何人。這 兩個密鑰是互補(bǔ)的,即用公鑰加密的密文可以用私兩個密鑰是互補(bǔ)的,即用公鑰加密的密文可以用私 鑰解密,反過來也可以。鑰解密,反過來也可以。 假設(shè)甲要給乙發(fā)送信息,他們互相知道對方的假設(shè)甲要給乙發(fā)送信息,他們互相知道對方的 公鑰。甲就用乙的公鑰加密信息發(fā)出,乙收到后就公鑰。甲就用乙的公鑰加密信息發(fā)出,乙收到后就 可以用自己的私鑰解密出甲的原文。由于沒別人知可以用自己的私鑰解密出甲的原文。由于沒別人知

18、 道乙的私鑰,從而解決了信息保密問題。道乙的私鑰,從而解決了信息保密問題。 另一方面由于每個人都可以知道乙的公鑰,他另一方面由于每個人都可以知道乙的公鑰,他 們都能給乙發(fā)送信息。乙需要確認(rèn)的卻是甲發(fā)送的們都能給乙發(fā)送信息。乙需要確認(rèn)的卻是甲發(fā)送的 信息,于是產(chǎn)生了認(rèn)證的問題,這時候就要用到數(shù)信息,于是產(chǎn)生了認(rèn)證的問題,這時候就要用到數(shù) 字簽名。字簽名。 RSA公鑰體系的特點使它非常適合用來滿足上公鑰體系的特點使它非常適合用來滿足上 述兩個要求:保密性和認(rèn)證性。述兩個要求:保密性和認(rèn)證性。 PGP(Pretty Good Privacy)是一個工具軟)是一個工具軟 件,在件,在Internet上

19、向認(rèn)證中心注冊后就可以用它對上向認(rèn)證中心注冊后就可以用它對 文件進(jìn)行加解密或數(shù)字簽名,文件進(jìn)行加解密或數(shù)字簽名,PGP所采用的是所采用的是IDEA 和和RSA算法。算法。 除了基于數(shù)論的除了基于數(shù)論的RSA公開密鑰體制外,在短短公開密鑰體制外,在短短 的幾十年中相繼出現(xiàn)了幾十種公開密鑰密碼體制的的幾十年中相繼出現(xiàn)了幾十種公開密鑰密碼體制的 實現(xiàn)方案。實現(xiàn)方案。 常見的公開密鑰密碼系統(tǒng)有常見的公開密鑰密碼系統(tǒng)有RSA、DSA、SHA 等。等。 3.3.2 公開密鑰密碼體制的優(yōu)點公開密鑰密碼體制的優(yōu)點 (1)密鑰分配簡單。由于加密密鑰與解密密)密鑰分配簡單。由于加密密鑰與解密密 鑰不同,且不能由加

20、密密鑰推導(dǎo)出解密密鑰,因此,鑰不同,且不能由加密密鑰推導(dǎo)出解密密鑰,因此, 加密密鑰表可以像電話號碼本一樣,分發(fā)給各用戶,加密密鑰表可以像電話號碼本一樣,分發(fā)給各用戶, 而解密密鑰則由用戶自己掌握。而解密密鑰則由用戶自己掌握。 (2)密鑰的保存量少。網(wǎng)絡(luò)中的每一密碼通)密鑰的保存量少。網(wǎng)絡(luò)中的每一密碼通 信成員只需秘密保存自己的解密密鑰,信成員只需秘密保存自己的解密密鑰,N個通信成個通信成 員只需產(chǎn)生員只需產(chǎn)生N對密鑰,便于密鑰管理。對密鑰,便于密鑰管理。 (3)可以滿足互不相識的人之間進(jìn)行私人談)可以滿足互不相識的人之間進(jìn)行私人談 話時的保密性要求。話時的保密性要求。 (4)可以完成數(shù)字簽名

21、和數(shù)字鑒別。發(fā)信人)可以完成數(shù)字簽名和數(shù)字鑒別。發(fā)信人 使用只有自己知道的密鑰進(jìn)行簽名,收信人利用公使用只有自己知道的密鑰進(jìn)行簽名,收信人利用公 開密鑰進(jìn)行檢查,既方便又安全。開密鑰進(jìn)行檢查,既方便又安全。 實際上,一方面,對稱密碼體制算法比公鑰密實際上,一方面,對稱密碼體制算法比公鑰密 碼體制算法快;另一方面,公鑰密碼體制算法比對碼體制算法快;另一方面,公鑰密碼體制算法比對 稱密碼體制算法易傳遞,因而在安全協(xié)議中(例如稱密碼體制算法易傳遞,因而在安全協(xié)議中(例如 SSL和和S/MIME),兩種體制均得到了應(yīng)用。這樣,),兩種體制均得到了應(yīng)用。這樣, 既提供了保密又提高了通信速度。既提供了保密

22、又提高了通信速度。 應(yīng)用時,發(fā)送者先產(chǎn)生一個隨機(jī)數(shù)(即對稱密應(yīng)用時,發(fā)送者先產(chǎn)生一個隨機(jī)數(shù)(即對稱密 鑰,每次加密密鑰不同),并用它對信息進(jìn)行加密,鑰,每次加密密鑰不同),并用它對信息進(jìn)行加密, 然后用接收者的公共密鑰用然后用接收者的公共密鑰用RSA算法對該隨機(jī)數(shù)加算法對該隨機(jī)數(shù)加 密。接收者接收到信息后,先用自己的私人密鑰對密。接收者接收到信息后,先用自己的私人密鑰對 隨機(jī)數(shù)進(jìn)行解密,然后再用隨機(jī)數(shù)對信息進(jìn)行解密。隨機(jī)數(shù)進(jìn)行解密,然后再用隨機(jī)數(shù)對信息進(jìn)行解密。 這樣的鏈?zhǔn)郊用芫妥龅搅思扔羞@樣的鏈?zhǔn)郊用芫妥龅搅思扔蠷SA體系的保密性,體系的保密性, 又有又有DES或或IDEA算法的快捷性。如圖

23、算法的快捷性。如圖3-3所示。所示。 圖圖3-3 兩種密碼體制的混合應(yīng)用兩種密碼體制的混合應(yīng)用 當(dāng)然,大多數(shù)安全協(xié)議比上述過程復(fù)雜得多,當(dāng)然,大多數(shù)安全協(xié)議比上述過程復(fù)雜得多, SSL就是采用上述技術(shù)實現(xiàn)通信安全的安全協(xié)議之就是采用上述技術(shù)實現(xiàn)通信安全的安全協(xié)議之 一。一。 3.3.3 公開密鑰認(rèn)證公開密鑰認(rèn)證 因為任何人都可獲得公開密鑰,公開密鑰存在因為任何人都可獲得公開密鑰,公開密鑰存在 的問題是能否信任使用密鑰的密鑰持有者。這就是的問題是能否信任使用密鑰的密鑰持有者。這就是 公開密鑰認(rèn)證問題。公開密鑰認(rèn)證問題。 認(rèn)證是指用戶必須提供他是誰的證明,如他是認(rèn)證是指用戶必須提供他是誰的證明,如

24、他是 某個雇員、某個組織的代理、某個軟件過程(如股某個雇員、某個組織的代理、某個軟件過程(如股 票交易系統(tǒng)或票交易系統(tǒng)或Web訂貨系統(tǒng)的軟件過程)。訂貨系統(tǒng)的軟件過程)。 每個密鑰有它們自己的標(biāo)識(每個密鑰有它們自己的標(biāo)識(keyID),),keyID 是一個是一個8位十六進(jìn)制數(shù),兩個密鑰具有相同位十六進(jìn)制數(shù),兩個密鑰具有相同keyID的的 可能性是幾十億分之一。可能性是幾十億分之一。 公開密鑰證明也稱為數(shù)字公開密鑰證明也稱為數(shù)字ID、數(shù)字證書、數(shù)字、數(shù)字證書、數(shù)字 護(hù)照,有關(guān)公開密鑰證明的內(nèi)容在護(hù)照,有關(guān)公開密鑰證明的內(nèi)容在ITU制定的制定的X.509 標(biāo)準(zhǔn)中。在網(wǎng)絡(luò)上,該證明,即數(shù)字標(biāo)準(zhǔn)中

25、。在網(wǎng)絡(luò)上,該證明,即數(shù)字ID的作用就像的作用就像 學(xué)生的校徽、公民的護(hù)照或司機(jī)的駕駛執(zhí)照。例如,學(xué)生的校徽、公民的護(hù)照或司機(jī)的駕駛執(zhí)照。例如, 某些服務(wù)器僅對通過了認(rèn)證的密鑰用戶提供訪問權(quán)。某些服務(wù)器僅對通過了認(rèn)證的密鑰用戶提供訪問權(quán)。 目前使用的目前使用的ITU X.509第第3版標(biāo)準(zhǔn)定義了兼容的版標(biāo)準(zhǔn)定義了兼容的 數(shù)字證書模塊,其主要模塊是密鑰持有者的名稱、數(shù)字證書模塊,其主要模塊是密鑰持有者的名稱、 密鑰持有者的公開密鑰信息和證書管理(密鑰持有者的公開密鑰信息和證書管理(CA)的數(shù))的數(shù) 字簽名(數(shù)字簽名保證證書不被修改,也不可冒名字簽名(數(shù)字簽名保證證書不被修改,也不可冒名 頂替)。

26、頂替)。X.509 V3數(shù)字證書還包括證書發(fā)行人的名數(shù)字證書還包括證書發(fā)行人的名 字,發(fā)行人的惟一識別碼,密鑰持有者的惟一識別字,發(fā)行人的惟一識別碼,密鑰持有者的惟一識別 碼,證書的序列號及有效期、證書的版本號和簽字碼,證書的序列號及有效期、證書的版本號和簽字 算法等。算法等。 3.4.1 隨機(jī)函數(shù)隨機(jī)函數(shù) 除了加密算法之外,另有一種函數(shù)可用以鑒別除了加密算法之外,另有一種函數(shù)可用以鑒別 數(shù)據(jù)在傳送的過程中是否遭到篡改或干擾,也就是數(shù)據(jù)在傳送的過程中是否遭到篡改或干擾,也就是 能確保數(shù)據(jù)的真實性及完整性,這種函數(shù)稱為隨機(jī)能確保數(shù)據(jù)的真實性及完整性,這種函數(shù)稱為隨機(jī) 函數(shù)(函數(shù)(Hash Fun

27、ction,有時也叫哈希函數(shù)),又,有時也叫哈希函數(shù)),又 稱為信息摘要(稱為信息摘要(Message Digest)。)。 如圖如圖3-4所示,隨機(jī)函數(shù)是將一個欲傳送的信息所示,隨機(jī)函數(shù)是將一個欲傳送的信息 轉(zhuǎn)換成一個固定長度的隨機(jī)數(shù)值,這個信息的長度轉(zhuǎn)換成一個固定長度的隨機(jī)數(shù)值,這個信息的長度 不定,但轉(zhuǎn)換所得的隨機(jī)數(shù)值長度是固定的(如:不定,但轉(zhuǎn)換所得的隨機(jī)數(shù)值長度是固定的(如: 128位),這個轉(zhuǎn)換的隨機(jī)值可視為此信息的代表值,位),這個轉(zhuǎn)換的隨機(jī)值可視為此信息的代表值, 信息的內(nèi)容不同,則其隨機(jī)值也會有所差異,所以信息的內(nèi)容不同,則其隨機(jī)值也會有所差異,所以 又稱為信息摘要。又稱為信

28、息摘要。 圖圖3-4 隨機(jī)函數(shù)隨機(jī)函數(shù) 用隨機(jī)函數(shù)來確認(rèn)數(shù)據(jù)完整性的運(yùn)作過程如圖用隨機(jī)函數(shù)來確認(rèn)數(shù)據(jù)完整性的運(yùn)作過程如圖 3-5所示。發(fā)送端在進(jìn)行傳輸之前,會事先計算其隨所示。發(fā)送端在進(jìn)行傳輸之前,會事先計算其隨 機(jī)值,將此隨機(jī)值與信息一起送出,接收端收到信機(jī)值,將此隨機(jī)值與信息一起送出,接收端收到信 息后,先運(yùn)用相同的隨機(jī)函數(shù)計算收到信息的隨機(jī)息后,先運(yùn)用相同的隨機(jī)函數(shù)計算收到信息的隨機(jī) 值,再與發(fā)送端送來的隨機(jī)值進(jìn)行比較,如有不同,值,再與發(fā)送端送來的隨機(jī)值進(jìn)行比較,如有不同, 便表示信息在傳送的過程中有變動,可能受到了干便表示信息在傳送的過程中有變動,可能受到了干 擾、破壞或篡改。擾、破

29、壞或篡改。 圖圖3-5用隨機(jī)函數(shù)來確認(rèn)數(shù)據(jù)的完整性用隨機(jī)函數(shù)來確認(rèn)數(shù)據(jù)的完整性 良好的隨機(jī)函數(shù)算法應(yīng)該具有極高的靈敏度,良好的隨機(jī)函數(shù)算法應(yīng)該具有極高的靈敏度, 能對送出信息的任何變動有所感應(yīng),也就是說所算能對送出信息的任何變動有所感應(yīng),也就是說所算 出來的隨機(jī)值也會隨之不同。要使所產(chǎn)生的隨機(jī)值出來的隨機(jī)值也會隨之不同。要使所產(chǎn)生的隨機(jī)值 相同的概率非常低,除了與隨機(jī)函數(shù)的算法有關(guān)外,相同的概率非常低,除了與隨機(jī)函數(shù)的算法有關(guān)外, 也與該隨機(jī)值的長度有直接的關(guān)系,位數(shù)越多,隨也與該隨機(jī)值的長度有直接的關(guān)系,位數(shù)越多,隨 機(jī)值重復(fù)的概率也就越小。機(jī)值重復(fù)的概率也就越小。 常見的隨機(jī)函數(shù)算法有常見

30、的隨機(jī)函數(shù)算法有MD4、MD5、SHA。 3.4.2 如何認(rèn)證如何認(rèn)證 在數(shù)據(jù)傳輸中,加密可確保數(shù)據(jù)的私密性,隨在數(shù)據(jù)傳輸中,加密可確保數(shù)據(jù)的私密性,隨 機(jī)函數(shù)可確保數(shù)據(jù)的完整性,除此之外,還要求能機(jī)函數(shù)可確保數(shù)據(jù)的完整性,除此之外,還要求能 達(dá)到傳輸?shù)牟豢煞裾J(rèn)性。達(dá)到傳輸?shù)牟豢煞裾J(rèn)性。 達(dá)到不可否認(rèn)性的主要目的是要使傳輸完成后,達(dá)到不可否認(rèn)性的主要目的是要使傳輸完成后, 發(fā)送者無法否認(rèn)其曾發(fā)送該信息,也就是說可確認(rèn)發(fā)送者無法否認(rèn)其曾發(fā)送該信息,也就是說可確認(rèn) 發(fā)送者的身份。發(fā)送者的身份。 而要達(dá)到傳輸?shù)牟豢煞裾J(rèn)性,便要進(jìn)行認(rèn)證的而要達(dá)到傳輸?shù)牟豢煞裾J(rèn)性,便要進(jìn)行認(rèn)證的 工作,若不進(jìn)行認(rèn)證,可

31、能他發(fā)送了數(shù)據(jù),而后卻工作,若不進(jìn)行認(rèn)證,可能他發(fā)送了數(shù)據(jù),而后卻 否認(rèn)了,或者有人冒充某人名義發(fā)送數(shù)據(jù)而某人還否認(rèn)了,或者有人冒充某人名義發(fā)送數(shù)據(jù)而某人還 不知道,而這個冒充者也有可能就是接收者自己,不知道,而這個冒充者也有可能就是接收者自己, 為了避免造成諸如此類的糾紛或爭議,認(rèn)證的工作為了避免造成諸如此類的糾紛或爭議,認(rèn)證的工作 是非常重要的。是非常重要的。 以公開密鑰系統(tǒng)進(jìn)行加密也是可以用來進(jìn)行認(rèn)以公開密鑰系統(tǒng)進(jìn)行加密也是可以用來進(jìn)行認(rèn) 證的良好工具,只是密鑰的使用需要調(diào)整,圖證的良好工具,只是密鑰的使用需要調(diào)整,圖3-6對對 這項工作進(jìn)行了說明,假設(shè)數(shù)據(jù)是由這項工作進(jìn)行了說明,假設(shè)數(shù)

32、據(jù)是由A要發(fā)送給要發(fā)送給B的。的。 圖圖3-6 (a) 圖圖3-6 (b) 圖圖3-6 (c) 圖圖3-6 三種加解密處理方式三種加解密處理方式 在圖在圖3-6(a)所示的情況,是公開密鑰密碼系)所示的情況,是公開密鑰密碼系 統(tǒng)的運(yùn)作方式。這種作業(yè)方式可以確保數(shù)據(jù)的私密統(tǒng)的運(yùn)作方式。這種作業(yè)方式可以確保數(shù)據(jù)的私密 性,除了性,除了B可以用自己的私鑰進(jìn)行解密之外,其他可以用自己的私鑰進(jìn)行解密之外,其他 人無法從密文中得知數(shù)據(jù)的內(nèi)容,但因任何人都可人無法從密文中得知數(shù)據(jù)的內(nèi)容,但因任何人都可 取得取得B的公鑰進(jìn)行加密,因此,并無法確認(rèn)此數(shù)據(jù)的公鑰進(jìn)行加密,因此,并無法確認(rèn)此數(shù)據(jù) 是由何人加密傳送的

33、。是由何人加密傳送的。 在圖在圖3-6(b)所示的情況,)所示的情況,A以自己持有的私以自己持有的私 鑰對數(shù)據(jù)加密,再將信息傳送給鑰對數(shù)據(jù)加密,再將信息傳送給B,B收到密文后,收到密文后, 運(yùn)用運(yùn)用A的公鑰將之解密,因為這把加密的私鑰只有的公鑰將之解密,因為這把加密的私鑰只有A 擁有,因此,這個信息一定是由擁有,因此,這個信息一定是由A發(fā)送的,發(fā)送的,A無法否無法否 認(rèn),但這樣的作業(yè)卻無法達(dá)到數(shù)據(jù)傳輸?shù)乃矫苄?,認(rèn),但這樣的作業(yè)卻無法達(dá)到數(shù)據(jù)傳輸?shù)乃矫苄裕?因為,用以解密的公鑰是因為,用以解密的公鑰是A所公開的,任何人只要所公開的,任何人只要 取得取得A的公鑰,便可將該密文解密,這樣就無法保的公

34、鑰,便可將該密文解密,這樣就無法保 障數(shù)據(jù)傳輸?shù)乃矫苄?。障?shù)據(jù)傳輸?shù)乃矫苄浴?在圖在圖3-6(c)中,將上述兩種作業(yè)方式結(jié)合,)中,將上述兩種作業(yè)方式結(jié)合, 既可保障數(shù)據(jù)傳輸時的私密性,又可達(dá)到數(shù)據(jù)傳送既可保障數(shù)據(jù)傳輸時的私密性,又可達(dá)到數(shù)據(jù)傳送 的不可否認(rèn)性。首先,數(shù)據(jù)先以的不可否認(rèn)性。首先,數(shù)據(jù)先以B的公鑰進(jìn)行加密,的公鑰進(jìn)行加密, 所得的密文再以所得的密文再以A的私鑰做第二次加密,然后傳送的私鑰做第二次加密,然后傳送 出去,接收端收到信息之后,先后以出去,接收端收到信息之后,先后以A的公鑰及的公鑰及B的的 私鑰進(jìn)行解密,如此一來,只有私鑰進(jìn)行解密,如此一來,只有B能將密文解密,能將密文解

35、密, 而而A也無法否認(rèn)數(shù)據(jù)是由他發(fā)送的。也無法否認(rèn)數(shù)據(jù)是由他發(fā)送的。 這樣的機(jī)制看起來很完美,但畢竟運(yùn)用公開密這樣的機(jī)制看起來很完美,但畢竟運(yùn)用公開密 鑰密碼系統(tǒng)進(jìn)行加解密工作,其計算是非常復(fù)雜的,鑰密碼系統(tǒng)進(jìn)行加解密工作,其計算是非常復(fù)雜的, 對傳輸工作而言是一個很重的負(fù)擔(dān),因此,又有了對傳輸工作而言是一個很重的負(fù)擔(dān),因此,又有了 數(shù)字簽名,來進(jìn)行認(rèn)證的工作。數(shù)字簽名,來進(jìn)行認(rèn)證的工作。 3.4.3 數(shù)字簽名數(shù)字簽名 日常生活中,通常會以蓋章或簽名的方式來表日常生活中,通常會以蓋章或簽名的方式來表 示自己對文件的負(fù)責(zé),而在電子數(shù)據(jù)的傳輸中,一示自己對文件的負(fù)責(zé),而在電子數(shù)據(jù)的傳輸中,一 種類

36、似簽名的功能可用以表示自己身份的機(jī)制,就種類似簽名的功能可用以表示自己身份的機(jī)制,就 是所謂的是所謂的“數(shù)字簽名數(shù)字簽名”(Digital Signature),它),它 可用以對數(shù)據(jù)發(fā)送者的身份進(jìn)行識別??捎靡詫?shù)據(jù)發(fā)送者的身份進(jìn)行識別。 圖圖3-7數(shù)字簽名數(shù)字簽名 數(shù)字簽名是將隨機(jī)函數(shù)與公開密鑰系統(tǒng)一起配數(shù)字簽名是將隨機(jī)函數(shù)與公開密鑰系統(tǒng)一起配 合使用來實現(xiàn)的,如圖合使用來實現(xiàn)的,如圖3-7所示。所示。 首先,運(yùn)用隨機(jī)函數(shù)計算出信息的隨機(jī)值,發(fā)首先,運(yùn)用隨機(jī)函數(shù)計算出信息的隨機(jī)值,發(fā) 送端送端A再以自己的私鑰對該隨機(jī)值進(jìn)行加密,然后再以自己的私鑰對該隨機(jī)值進(jìn)行加密,然后 發(fā)送出去,此處加密

37、后的隨機(jī)值密文便是數(shù)字簽名。發(fā)送出去,此處加密后的隨機(jī)值密文便是數(shù)字簽名。 因為它以發(fā)送端因為它以發(fā)送端A的私鑰進(jìn)行加密,而這個私鑰只的私鑰進(jìn)行加密,而這個私鑰只 有發(fā)送端有發(fā)送端A擁有,因此,該數(shù)字簽名可用以表示發(fā)擁有,因此,該數(shù)字簽名可用以表示發(fā) 送端送端A的身份。由于僅對固定長度的隨機(jī)值進(jìn)行加的身份。由于僅對固定長度的隨機(jī)值進(jìn)行加 密,其運(yùn)算就輕松多了。密,其運(yùn)算就輕松多了。 接收端接收端B收到信息后,先將該數(shù)字簽名以發(fā)送收到信息后,先將該數(shù)字簽名以發(fā)送 端端A的公鑰解密,以得到發(fā)送端的公鑰解密,以得到發(fā)送端A計算出來的隨機(jī)值,計算出來的隨機(jī)值, 然后對收到的信息再次計算隨機(jī)值,將兩個隨

38、機(jī)值然后對收到的信息再次計算隨機(jī)值,將兩個隨機(jī)值 進(jìn)行對比,看看兩者是否相等,以確保其信息的完進(jìn)行對比,看看兩者是否相等,以確保其信息的完 整性(沒有被篡改)和不可否認(rèn)性。整性(沒有被篡改)和不可否認(rèn)性。 值得注意的是,上述操作中,信息仍然是以明值得注意的是,上述操作中,信息仍然是以明 文傳送的,若要進(jìn)一步讓信息也能確保其私密性,文傳送的,若要進(jìn)一步讓信息也能確保其私密性, 只要再運(yùn)用加密法對信息加密即可。只要再運(yùn)用加密法對信息加密即可。 換句話說,數(shù)字簽名主要是用于保證信息沒有換句話說,數(shù)字簽名主要是用于保證信息沒有 被篡改和不可否認(rèn),并不保證數(shù)據(jù)的私密性。被篡改和不可否認(rèn),并不保證數(shù)據(jù)的私

39、密性。 3.4.4 數(shù)字證書數(shù)字證書 雖然運(yùn)用公開密鑰系統(tǒng)及數(shù)字簽名似乎可以達(dá)雖然運(yùn)用公開密鑰系統(tǒng)及數(shù)字簽名似乎可以達(dá) 到相當(dāng)理想的身份認(rèn)證工作,但密鑰究竟要在何處到相當(dāng)理想的身份認(rèn)證工作,但密鑰究竟要在何處 取得?又要如何證明該公鑰的所有者?若密鑰所有取得?又要如何證明該公鑰的所有者?若密鑰所有 者否認(rèn),就會造成認(rèn)證工作無法認(rèn)定的現(xiàn)象,因此,者否認(rèn),就會造成認(rèn)證工作無法認(rèn)定的現(xiàn)象,因此, 要有一個公正的認(rèn)證機(jī)構(gòu)(要有一個公正的認(rèn)證機(jī)構(gòu)(Certification Authority, CA)來做認(rèn)證的工作。)來做認(rèn)證的工作。 CA主要負(fù)責(zé)管理使用者的公鑰并簽署數(shù)字證書主要負(fù)責(zé)管理使用者的公鑰并簽署數(shù)字證書 (Digital Certificate

溫馨提示

  • 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

提交評論