第10章密碼技術(shù)應(yīng)用_第1頁
第10章密碼技術(shù)應(yīng)用_第2頁
第10章密碼技術(shù)應(yīng)用_第3頁
第10章密碼技術(shù)應(yīng)用_第4頁
第10章密碼技術(shù)應(yīng)用_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章密碼學(xué)概述 第2章古典密碼技術(shù) 第3章分組密碼第4章公鑰密碼體制第5章散列函數(shù)與消息鑒別第6章數(shù)字簽名技術(shù)第7章密鑰管理技術(shù)第8章身份鑒別技術(shù)第9章序列密碼第10章密碼技術(shù)應(yīng)用附錄課程主要內(nèi)容第10章密碼技術(shù)應(yīng)用本章主要內(nèi)容網(wǎng)絡(luò)通信的數(shù)據(jù)加密方式

PGP技術(shù)及應(yīng)用

Kerberos身份鑒別系統(tǒng)安全電子交易SET

公鑰基礎(chǔ)設(shè)施PKI

PKI的定義

PKI提供的服務(wù)和應(yīng)用

PKI的構(gòu)成、PKI標(biāo)準(zhǔn)PKI的信任模型

PKI的運(yùn)行模型PKI產(chǎn)品簡介第10章密碼技術(shù)應(yīng)用10.1網(wǎng)絡(luò)通信的數(shù)據(jù)加密方式

在網(wǎng)絡(luò)通信中,數(shù)據(jù)加密方式主要有鏈路加密和端對端加密兩種方式。10.1.1鏈路加密鏈路加密是指每個易受攻擊的鏈路(兩個相鄰節(jié)點(diǎn)之間的通信線路)兩端都使用加密設(shè)備進(jìn)行加密,圖10.1是這種加密方式的原理示意圖。第10章密碼技術(shù)應(yīng)用10.1.2端-端加密所謂端-端加密是指在信源端系統(tǒng)內(nèi)對數(shù)據(jù)進(jìn)行加密,而對應(yīng)的解密僅僅發(fā)生在信宿端系統(tǒng)內(nèi)。也就是說,端-端加密是對兩個端用戶之間的信息提供無縫的加密保護(hù),而信息對其傳送中間的各個節(jié)點(diǎn)來說都是保密的。端-端加密原理如圖10.2所示。第10章密碼技術(shù)應(yīng)用鏈路加密和端-端加密各有其優(yōu)缺點(diǎn)。為提高安全性,可將兩種加密方式結(jié)合起來使用。如圖10.3所示第10章密碼技術(shù)應(yīng)用10.2PGP技術(shù)及應(yīng)用10.2.1概述電子郵件是現(xiàn)代信息社會里最常用的一種網(wǎng)絡(luò)通信應(yīng)用,PGP(PrettyGoodPrivacy)作為廣泛使用的保障電子郵件安全的技術(shù)之一,可為電子郵件系統(tǒng)和文件存儲應(yīng)用過程提供機(jī)密性和鑒別服務(wù)。PGP最初是由美國的菲利普·齊默爾曼(PhilipZimmermann)針對電子郵件在Internet上通信的安全問題,在1991年提出并設(shè)計(jì)的一種混合密碼系統(tǒng),廣泛用于加密重要電子郵件和文件,或者為重要電子郵件和文件進(jìn)行數(shù)字簽名。PGP既是一個電子郵件加密的標(biāo)準(zhǔn),同時也有相應(yīng)的電子郵件加密軟件,并能夠很好地嵌入電子郵件客戶端軟件,PGP的發(fā)展非常迅速,已得到廣泛的應(yīng)用。第10章密碼技術(shù)應(yīng)用10.2.2運(yùn)行方式和服務(wù)

PGP主要提供五種服務(wù):鑒別、機(jī)密性、壓縮、電子郵件的兼容性、分段。表10.1是這五種服務(wù)的總結(jié)。其中CAST-128是加拿大的CarlisleAdams和StaffordTavare設(shè)計(jì)的分組密碼。該算法具有傳統(tǒng)Feistel網(wǎng)絡(luò)結(jié)構(gòu),采用16輪迭代,明文分組長度為64位,密鑰長以8位為增量,從40位到128位可變。第10章密碼技術(shù)應(yīng)用1.鑒別服務(wù)圖10.4表示PGP中通過數(shù)字簽名提供鑒別服務(wù)的過程,分為五步:(1)發(fā)送方A產(chǎn)生消息M;(2)用散列算法SHA-1產(chǎn)生160位長的消息摘要H(M);(3)發(fā)送方A用自己的私鑰SKa按RSA算法對H(M)進(jìn)行加密運(yùn)算,并將加密運(yùn)算結(jié)果EPSKa[H(M)]與M連接在一起,經(jīng)ZIP算法壓縮后發(fā)送;(4)接收方B對得到的消息進(jìn)行解壓縮,然后用發(fā)送方A的公鑰PKa對消息的摘要部分EPSKa[H(M)]進(jìn)行解密運(yùn)算得到H(M);(5)接收方B對收到的M重新計(jì)算消息摘要,并與(4)中得到的H(M)比較,如果一致,則認(rèn)為M是真實(shí)的。第10章密碼技術(shù)應(yīng)用2.機(jī)密性服務(wù)PGP可利用加密算法提供機(jī)密性服務(wù),如圖10.5所示。(1)發(fā)方產(chǎn)生消息M及一次性會話密鑰Ks。(2)用密鑰Ks,按CAST-128(或者IDEA、3DES)對ZIP壓縮后的消息M進(jìn)行加密。(3)用接收方的公鑰PKb按RSA算法加密一次性會話密鑰Ks,并將結(jié)果和上一步的加密結(jié)果連接起來一起發(fā)往接收方。(4)接收方用自己的私鑰SKb按RSA算法解密得到一次性會話密鑰Ks。(5)接收方用(4)得到一次性會話密鑰Ks解密,并解壓縮得到消息M。第10章密碼技術(shù)應(yīng)用3.機(jī)密性與鑒別服務(wù)對同一消息M同時提供機(jī)密性和鑒別性服務(wù),可使用圖10.6的方式。發(fā)送方首先用自己的私鑰SKa對消息的摘要進(jìn)行數(shù)字簽名,將明文消息和簽名連接在一起,并使用ZIP算法對其進(jìn)行壓縮,然后再使用一次性會話密鑰Ks按CAST-128(或IDEA或3DES)對壓縮結(jié)果進(jìn)行加密,同時用接收方的公鑰PKb按RSA算法對會話密鑰Ks進(jìn)行加密,最后將兩個加密結(jié)果一同發(fā)往接收方。第10章密碼技術(shù)應(yīng)用4.壓縮壓縮是指無失真、可完全恢復(fù)的數(shù)據(jù)壓縮處理,它的目的是為了節(jié)省通信時間和存儲空間,圖10.4-10.6中Z表示ZIP壓縮算法,Z-1表示ZIP的解壓算法。對消息壓縮后再進(jìn)行加密可加強(qiáng)其加密的安全性,PGP壓縮運(yùn)算的位置設(shè)計(jì)在消息的數(shù)字簽名之后、加密之前。5.電子郵件的兼容性PGP在如圖10.4-10.6所示的三種服務(wù)中,傳輸?shù)南⒍及斜患用艿牟糠?,加密后的這些部分由任意的8位二進(jìn)制流組成。然而許多電子郵件系統(tǒng)只允許使用ASCII文本,為此PGP提供了Base64編碼轉(zhuǎn)換,將8位二進(jìn)制流轉(zhuǎn)換為可打印的ASCII字符串。PGP處理過程的Base64編碼轉(zhuǎn)換的一個顯著特點(diǎn)是將輸入消息流轉(zhuǎn)換為Base64格式具有“盲目性”,即不管輸入變換的消息內(nèi)容是不是ASCII文件,都將變換為Base64格式。作為一種配置選擇,PGP還可以只將消息的數(shù)字簽名部分轉(zhuǎn)換為Base64格式,從而使得接收方不使用PGP就可以閱讀消息,當(dāng)然,對數(shù)字簽名的驗(yàn)證仍然需要使用PGP。第10章密碼技術(shù)應(yīng)用5.電子郵件的兼容性(續(xù))PGP中消息的發(fā)送方和接收方對消息的處理過程如圖10.7。第10章密碼技術(shù)應(yīng)用5.電子郵件的兼容性(續(xù))發(fā)送方首先對消息的散列值進(jìn)行數(shù)字簽名(如果需要的話),然后再對明文消息及其簽名使用壓縮函數(shù)進(jìn)行壓縮(如果要求機(jī)密性,則用一次性會話密鑰Ks加密壓縮結(jié)果)。再經(jīng)Base64編碼變換成為Base64格式。接收方首先將接收到的結(jié)果進(jìn)行Base64解碼,得到原本的8位位串,然后,如果消息是密文,則用接收方的私鑰SKb恢復(fù)一次性會話密鑰Ks,再由一次性會話密鑰Ks恢復(fù)加密的消息,并對之解壓縮得到明文消息。解密后的消息存放有三種方式:(1)以解密的形式存儲,不附數(shù)字簽名。(2)以解密的形式存儲,附有數(shù)字簽名(當(dāng)傳遞需要時,也可提供對消息完整性的保護(hù))。(3)為機(jī)密性保護(hù)需要,以加密形式存儲。6.分段與重組電子郵件通常都對能夠傳輸?shù)淖畲蟮南㈤L度有所限制,在發(fā)送方,如果消息長度大于最大長度,PGP會將消息自動分為若干消息子段并分別發(fā)送。而在接收方,PGP會首先去掉電子郵件的首部,再將各消息子段拼接在一起,重新裝配成原來的消息,然后執(zhí)行后續(xù)的操作。

第10章密碼技術(shù)應(yīng)用10.2.3密鑰和密鑰環(huán)密鑰是PGP中的重要概念。如表10.2所示:PGP所用的密鑰有四類:分組加密算法所用的一次性會話密鑰、基于口令短語的密鑰、公鑰加密算法所用的公鑰和私鑰。PGP必須滿足以下三個要求:(1)能夠產(chǎn)生不可預(yù)測的會話密鑰。(2)允許多個用戶擁有多個公-私鑰對,這將使得用戶和他的密鑰對不存在一一對應(yīng)的關(guān)系,因此必須對密鑰進(jìn)行標(biāo)識。(3)PGP的每一個實(shí)體必須維護(hù)自己的公-私鑰對文件,以及保存有全部潛在通信方公鑰的公鑰列表文件。

第10章密碼技術(shù)應(yīng)用1.PGP的會話密鑰用戶每次執(zhí)行PGP,都將會產(chǎn)生一個不同的會話密鑰。這樣不管用戶將相同消息加密給相同的接收方多少次,都難以看到兩個完全相同的輸出。會話密鑰的生成方法基于ANSIX9.17標(biāo)準(zhǔn)所描述的偽隨機(jī)數(shù)生成算法,下面以IDEA會話密鑰生成為例介紹該偽隨機(jī)數(shù)生成器的基本原理。如圖10.8所示,DTi:第i個生成階段開始的日期/時間值

Vi:第i個生成階段開始的種子值Ri:第i個生成階段產(chǎn)生的偽隨機(jī)數(shù)ki:第i個生成階段的IDEA密鑰第10章密碼技術(shù)應(yīng)用2.密鑰標(biāo)識符PGP中允許接收方擁有多個公-私鑰對,而且事實(shí)上通常用戶也的確擁有多個公-私鑰對,那么接收方怎么知道會話密鑰是用他的哪個公鑰加密的呢?有兩種可以解決此問題的辦法:一種辦法是發(fā)送方將所用接收方的公鑰與報文一起發(fā)送,接收方確認(rèn)是自己的公鑰后,再進(jìn)一步處理。這種方法的缺點(diǎn)是對資源的浪費(fèi)太多,因?yàn)镽SA的公鑰長度可達(dá)數(shù)百位十進(jìn)制數(shù)。另一種辦法是對每一個用戶的每一個公鑰都指定一個唯一的標(biāo)識符,稱為密鑰ID,發(fā)送方使用接收方的哪一個公鑰就將這個公鑰的ID發(fā)給接收方,只需要傳輸很短的密鑰ID。

PGP采用的解決方法是用每個公鑰最后的64位表示該密鑰的ID,即公鑰PKa的密鑰ID為PKamod264。由于264以足夠大,因而密鑰ID重合的概率極小。PGP在數(shù)字簽名時也需要對密鑰加上標(biāo)識符。報文的數(shù)字簽名部分包含了需要使用的公鑰的64位密鑰ID。當(dāng)報文被收到時,接收者驗(yàn)證該密鑰ID是它所知道的發(fā)送者的公鑰,然后用來驗(yàn)證其數(shù)字簽名。第10章密碼技術(shù)應(yīng)用3.PGP的消息格式如圖10.9所示,PGP中發(fā)送方A發(fā)往接收方B的消息由三部分組成:消息部分、消息的數(shù)字簽名(可選)以及會話密鑰部分(可選)。其中EPPKb表示用接收方B的公鑰加密,EPSKa表示用發(fā)送方A的私鑰加密運(yùn)算(即發(fā)送方A的簽名),ECKs表示用一次性會話密鑰Ks的加密,ZIP表示ZIP壓縮運(yùn)算,R64為Base64編碼。發(fā)送消息前,對整個消息做Base64編碼。第10章密碼技術(shù)應(yīng)用4.密鑰環(huán)PGP為每個用戶都建立了兩個表型的數(shù)據(jù)結(jié)構(gòu),一個用于存儲用戶自己的密鑰對,另一個用于存儲該用戶知道的其他各用戶的公鑰。這兩個表型的數(shù)據(jù)結(jié)構(gòu)分別稱為私鑰環(huán)和公鑰環(huán),如表10.3、10.4所示。在私鑰環(huán)中,每行表示該用戶的一個密鑰對,其中公鑰ID和用戶ID可作為該行的標(biāo)識符,方便索引。公鑰環(huán)存儲的是該用戶所知道的其他用戶的公鑰,公鑰ID和用戶ID可作為該行的標(biāo)識符,方便索引。第10章密碼技術(shù)應(yīng)用4.密鑰環(huán)密鑰環(huán)在報文傳輸過程中的使用方法如圖10.10所示,其中PRNG表示偽隨機(jī)數(shù)發(fā)生器。假設(shè)用戶A使用PGP,選擇消息既要被簽名也要被加密的模式,將消息M安全發(fā)送給用戶B,需要執(zhí)行的過程如下:(l)對消息簽名:PGP從A得私鑰環(huán)中取出A的被加密私鑰。然后輸入通行短語恢復(fù)用戶A的私鑰。再利用解密得到的A的私鑰SKa產(chǎn)生消息簽名。(2)對消息加密:PGP產(chǎn)生一個會話密鑰Ks,對消息及簽名進(jìn)行加密,然后從公鑰環(huán)中取出B的公鑰PKb,加密會話密鑰,以形成會話密鑰部分。第10章密碼技術(shù)應(yīng)用4.密鑰環(huán)接收方B的消息接收過程如圖10.11,分為以下兩步:(1)解密消息:PGP從會話密鑰部分取出B的公鑰ID,根據(jù)公鑰ID從用戶B的私鑰環(huán)中取出相應(yīng)的被加密的私鑰,然后提示用戶B輸入通行短語以恢復(fù)私鑰SKb,再使用用戶B的私鑰恢復(fù)出會話密鑰Ks,并進(jìn)而解密消息。(2)鑒別消息:PGP從簽名部分取出A的公鑰ID,根據(jù)公鑰ID從A的公鑰環(huán)中取出公鑰PKa,恢復(fù)出消息摘要,然后對收到的消息重新計(jì)算消息摘要,并與恢復(fù)出的消息摘要進(jìn)行比較,只有相同才確認(rèn)消息鑒別。第10章密碼技術(shù)應(yīng)用10.2.4公鑰管理和信任關(guān)系如何保護(hù)公鑰不被他人假冒和篡改是最為困難的問題,也是公鑰密碼體制一個必須要解決的問題,PGP由于可用于各種環(huán)境,所以未建立嚴(yán)格的公鑰管理方案,而是提供了一種解決公鑰管理問題的結(jié)構(gòu)。1.公鑰管理方案任何用戶要使用PGP和其他用戶進(jìn)行安全通信,必須建立一個公鑰環(huán),以存放其它用戶的公鑰,并要確保其中的公鑰是用戶的合法密鑰,要減小用戶公鑰環(huán)中包含虛假公鑰的可能性,必須采取有效措施,實(shí)際的措施有:

(1)用物理手段,直接從用戶那里取得公鑰。(2)通過電話驗(yàn)證用戶的公鑰。(3)通過可信第三方T(假設(shè)用戶已可靠擁有T的公鑰)。(4)通過可信的數(shù)字證書管理機(jī)構(gòu)CA(CertificateAuthority)獲取用戶的公鑰。在后兩種措施中,用戶A為獲取B的公鑰,必須首先獲取可信賴的第三方或證書管理機(jī)構(gòu)的公鑰,并相信該公鑰的有效性。所以最終還取決于證書管理機(jī)構(gòu)A對第三方或證書管理機(jī)構(gòu)的信任程度。

第10章密碼技術(shù)應(yīng)用2.PGP中的信任關(guān)系PGP設(shè)定對公鑰的信任有兩種情況:(1)直接來自所信任的人的公鑰。(2)有可信任者(并可靠擁有他的公鑰)簽名的公鑰,但公鑰的擁有者也許并不認(rèn)識。PGP建立信任關(guān)系的方法是用戶在建立公鑰環(huán)時,以一個公鑰證書作為公鑰環(huán)中的一行。其中用三個字段來表示對該公鑰證書的信任程度,它們都包含在稱為信任標(biāo)志字節(jié)的結(jié)構(gòu)中,其取值與具體含義如表10.5。第10章密碼技術(shù)應(yīng)用2.PGP中的信任關(guān)系假定用戶A已有一個公鑰環(huán),PGP對公鑰環(huán)的信任處理過程如下:(1)當(dāng)A在公鑰環(huán)中插入一新的公鑰時,PGP必須為擁有者可信字段指定一個標(biāo)志。(2)當(dāng)新的公鑰插入公鑰環(huán)時,可以在該公鑰上附加一個或多個簽名,以后還可以為這個公鑰增加更多的簽名。(3)密鑰信任字段的取值是由它的各簽名信任字段的取值計(jì)算的。圖10.12是一個信任關(guān)系與密鑰合法性之間關(guān)系的示例。圖中圓節(jié)點(diǎn)表示密鑰,圓節(jié)點(diǎn)旁邊的字母表示密鑰的擁有者。第10章密碼技術(shù)應(yīng)用圖10.12PGP信任關(guān)系示例的說明圖中,實(shí)線圓圈節(jié)點(diǎn)表示其用戶的公鑰被用戶USERT認(rèn)為是合法的,而虛線圓圈節(jié)點(diǎn)則不是。該圖可說明以下幾個問題:(1)除節(jié)點(diǎn)L外,所有被USERT信任的用戶(包括完全信任和部分信任)的公鑰都被USERT簽署。(2)兩個被部分信任的簽名可用于證明其它密鑰,例如A和B被USERT部分信任,則PGP認(rèn)為A和B同時簽署的公鑰H是合法的。(3)由一個完全信任的或兩個部分信任的簽名者簽署的公鑰被認(rèn)為是合法的,但這一公鑰的擁有者可能不被信任簽署其它公鑰。(4)圖中S是一個孤立節(jié)點(diǎn),具有兩個未知的簽名者。用戶必須通過數(shù)字簽名來聲明密鑰的合法性,或者告知密鑰的簽名者是完全可信任的。PGP才能認(rèn)為這個公鑰是合法的。最后要指出的是,同一公鑰可能有多個用戶ID,這是因?yàn)橛脩艨赡苄薷倪^自己的用戶名(即ID)或者在多個用戶名下申請了同一公鑰的簽名。3.公鑰的吊銷用戶如果懷疑與公鑰對應(yīng)的私鑰已經(jīng)泄漏,或者只是為了避免同一公鑰-私鑰對的使用時間過長,就可吊銷自己目前正在使用的公鑰。

第10章密碼技術(shù)應(yīng)用10.2.5基于PGP的電子郵件通信安全PGP可以和OutlookExpress等電子郵件工具集成應(yīng)用,非常方便地實(shí)現(xiàn)對信息的加密、簽名、解密和驗(yàn)證簽名的操作。如使用支持PGP外掛程序的電子郵件,我們可以使用PGPmail工具欄來實(shí)現(xiàn)上述功能。如圖10.13所示當(dāng)使用支持PGP/MIME的電子郵件軟件系統(tǒng)實(shí)現(xiàn)電子郵件自動加密或解密時,要求通信雙方都使用PGP以及支持PGP/MIME標(biāo)準(zhǔn)的軟件,并在PGP設(shè)置對話框的mail欄中選中使用PGP/MIME功能、默認(rèn)加密新消息、默認(rèn)對新消息簽名、自動解密/驗(yàn)證這幾個選項(xiàng)(如圖10.14所示)。第10章密碼技術(shù)應(yīng)用1.加密和簽名電子郵件在通信雙方已產(chǎn)生密鑰對并且已交換各自的公開密鑰后,就可以對電子郵件信息及文件附件進(jìn)行加密了。如果用一個支持外掛程序的電子郵件軟件,可通過選擇其工具條上響應(yīng)的工具來對信息進(jìn)行加密和簽名。如果與使用支持PGP/MIME標(biāo)準(zhǔn)的電子郵件軟件的用戶通信,在發(fā)送電子郵件時,按照上面的設(shè)置,可以實(shí)現(xiàn)自動對信息和文件附件進(jìn)行加密和簽名。如果使用的電子郵件軟件不支持外掛程序,可以拷貝郵件內(nèi)容到剪切板,并執(zhí)行適當(dāng)?shù)墓δ埽ㄈ鐖D10.15所示)。如果想包括任何文件附件,可在將其加到電子郵件中之前,從Windows的資源管理器中對其進(jìn)行加密和簽名(如圖10.16所示)。第10章密碼技術(shù)應(yīng)用PGP對消息加密和簽名的具體操作。以O(shè)utlookExpress為例,假設(shè)按圖10.14中的設(shè)置,發(fā)送郵件之前會自動使用PGP完成加密和簽名工作。如果沒有選中前四項(xiàng),就需要人工手動進(jìn)行:和平常一樣使用OutlookExpress編輯新的郵件。完成內(nèi)容編輯之后,使用PGP功能菜單當(dāng)中的對當(dāng)前窗口加密、簽名或者加密/簽名功能,來選擇進(jìn)行加密或簽名工作。然后PGP會讓用戶指定接收方應(yīng)該使用的公鑰-私鑰對,如圖10.17所示。如果當(dāng)前列表中沒有接收方的公鑰,或者用戶想更新接收方的公鑰,可以選擇向密鑰管理服務(wù)器更新公鑰。如果用戶選擇了簽名功能,會出現(xiàn)通行短語的對話框(如圖10.18),要求用戶選擇自己使用的私鑰,并輸入通行短語,以解密私鑰,進(jìn)行簽名。點(diǎn)擊OK,PGP自動完成簽名和加密功能。最后點(diǎn)擊“發(fā)送”,像平常一樣將PGP處理后的郵件發(fā)送出去。第10章密碼技術(shù)應(yīng)用2.解密和驗(yàn)證簽名當(dāng)收到使用PGP加密或簽名后的郵件,用戶必須同樣使用PGP才能解密并驗(yàn)證其數(shù)字簽名如果用一個支持外掛程序的電子郵件軟件,可以通過選擇其工具條上的適當(dāng)項(xiàng)目來解密和驗(yàn)證簽名。假如電子郵件軟件支持PGP/MIME標(biāo)準(zhǔn),則讀電子郵件時,可以通過點(diǎn)擊郵件中附帶的解密圖標(biāo)來解密和驗(yàn)證簽名。如果使用的電子郵件軟件不支持外掛程序,也可拷貝郵件內(nèi)容到剪切板,并從那里執(zhí)行適當(dāng)?shù)墓δ?。仍然以O(shè)utlookExpress為例,介紹使用PGP對消息解密和驗(yàn)證簽名的具體操作。假設(shè)PGP設(shè)置中沒有設(shè)置自動解密/驗(yàn)證功能。打開電子郵件內(nèi)容,密碼文本塊將出現(xiàn)在電子郵件信息內(nèi)容窗口中,如圖10.19所示。第10章密碼技術(shù)應(yīng)用2.解密和驗(yàn)證簽名在電子郵件軟件包的工具條上點(diǎn)擊“解密”圖標(biāo),出現(xiàn)要求PGP輸入通行短語的對話框,如圖10.20所示。輸入通行短語并點(diǎn)擊OK,信息將被解密。同時在郵件內(nèi)容信息之前,會有簽名驗(yàn)證信息,包括簽名狀態(tài)、簽名者(密鑰ID)、簽名時間、驗(yàn)證時間等內(nèi)容,可以很清楚的驗(yàn)證簽名是否有效,如圖10.21所示。用戶可以通過復(fù)制,保存解密狀態(tài)的電子郵件,或存儲它原來的加密版本,使它仍然保持機(jī)密性。

第10章密碼技術(shù)應(yīng)用10.3Kerberos身份鑒別系統(tǒng)10.3.1Kerberos系統(tǒng)概述Kerberos身份鑒別系統(tǒng)最初是美國麻省理工學(xué)院(MIT)為雅典娜工程(ProjectAthena)項(xiàng)目而開發(fā)的,其模型基于Needham-Schroeder的可信第三方協(xié)議,是目前應(yīng)用廣泛,也相對較為成熟的一種身份鑒別機(jī)制。Kerberos第5版彌補(bǔ)了第4版中存在的安全漏洞,不僅完善了Kerberos第4版所采用的基于DES的加密算法,而且還允許用戶根據(jù)實(shí)際需要選擇其他加密算法,其安全性得到進(jìn)一步提高,并在1994年成為Internet的提議標(biāo)準(zhǔn)(RFC1510)。Kerberos采用對稱密鑰加密技術(shù)來提供可信任的第三方鑒別服務(wù)。這種鑒別存在一個密鑰分發(fā)問題,即通信雙方如何知道他們的共享密鑰。Kerberos采用如下機(jī)制來解決這個問題:它建立一個公正的第三方密鑰分發(fā)中心(KDC,KeyDistributionCenter),KDC負(fù)責(zé)給通信雙方生成共享密鑰,并通過票據(jù)(Ticket)給通信雙方分發(fā)共享密鑰。第10章密碼技術(shù)應(yīng)用10.3.2Kerberos鑒別模型Kerberos鑒別系統(tǒng)有三個參與方:客戶機(jī)、應(yīng)用服務(wù)器、密鑰分發(fā)中心KDC,如圖10.22所示??蛻魴C(jī)可以是用戶,也可以是處理事務(wù)所需的獨(dú)立的軟件程序。KDC是通信雙方即客戶機(jī)和應(yīng)用服務(wù)器都信任的公正的第三方。KDC由鑒別服務(wù)器(AS)和票據(jù)授予服務(wù)器(TGS)組成。KDC的鑒別服務(wù)器AS有一個擁有一個存儲了它與所有客戶共享的秘密密鑰的數(shù)據(jù)庫,對于個人用戶來說,秘密密鑰是一般其口令的散列值。由于KDC知道每個客戶的秘密密鑰,故而能夠產(chǎn)生消息向一個實(shí)體證實(shí)另一個實(shí)體的身份。KDC還能產(chǎn)生會話密鑰供客戶機(jī)和服務(wù)器使用,會話密鑰用來加密雙方間的通信消息,通信完畢后,立即銷毀會話密鑰。第10章密碼技術(shù)應(yīng)用第10章密碼技術(shù)應(yīng)用10.3.3Kerberos協(xié)議鑒別過程Kerberos鑒別過程中常用的一些符號的說明。

C:客戶機(jī);AS:鑒別服務(wù)器;TGS:票據(jù)分發(fā)服務(wù)器;S:應(yīng)用服務(wù)器;IDtgs:TGS的身份標(biāo)識;IDc:客戶機(jī)的身份標(biāo)識;IDs:應(yīng)用服務(wù)器的身份標(biāo)識;ADC:客戶機(jī)的網(wǎng)絡(luò)地址;Tickettgs:客戶用來訪問TGS的票據(jù);Tickets:客戶用來訪問應(yīng)用服務(wù)器S的票據(jù);Ktgs:TGS和AS的共享密鑰;Kc:客戶機(jī)和AS的共享密鑰;Ks:應(yīng)用服務(wù)器與AS的共享密鑰;Kc,tgs:客戶機(jī)和TGS的共享密鑰;Kc,s:客戶機(jī)和應(yīng)用服務(wù)器的共享密鑰;Authenticatorc:客戶機(jī)C的鑒別碼,客戶機(jī)C用Authenticatorc來證明它是票據(jù)的合法持有者;Lifetime:表示票據(jù)的有效時間,包括開始時間和截至?xí)r間;T:時間標(biāo)記,表示鑒別碼產(chǎn)生的時間;addr:客戶端網(wǎng)絡(luò)地址TS:時間同步允許標(biāo)志,TS=1表示允許AS驗(yàn)證客戶的的時鐘是否與AS的時鐘同步;第10章密碼技術(shù)應(yīng)用10.3.3Kerberos協(xié)議鑒別過程Kerberos使用兩種憑證:票據(jù)(Ticket)和鑒別碼(Authenticator)。票據(jù)由AS和TGS分發(fā),票據(jù)用于秘密地向服務(wù)器發(fā)送持有票據(jù)的用戶的身份鑒別信息。票據(jù)單獨(dú)使用并不能證明任何人的身份。票據(jù)包含有:要訪問的服務(wù)器的身份標(biāo)識、客戶機(jī)的身份標(biāo)識、客戶機(jī)網(wǎng)絡(luò)地址、票據(jù)有效的起止時間和一個隨機(jī)的會話密鑰。票據(jù)格式如下:TC,S={IDS,IDC,ADC,Lifetime,KC,S}Ks鑒別碼由客戶機(jī)生成,客戶機(jī)每次需要使用服務(wù)器上的服務(wù)時,都要產(chǎn)生一個鑒別碼。鑒別碼可以用來證明客戶機(jī)的身份。它只能使用一次而且有效期很短。鑒別碼包含:客戶機(jī)身份標(biāo)識、客戶機(jī)的網(wǎng)絡(luò)地址和時間標(biāo)記。這些信息由票據(jù)內(nèi)包含的會話密鑰KC,S加密。鑒別碼格式如下:

Authenticatorc=

{IDC,ADC,T}Kc,s使用鑒別碼可達(dá)到兩個目的:

(1)鑒別碼包含由票據(jù)內(nèi)的會話密鑰加密的明文。這可證明鑒別碼的發(fā)送者也知道會話密鑰。

(2)鑒別碼包含時間標(biāo)記,可防止重放攻擊。

第10章密碼技術(shù)應(yīng)用10.3.3Kerberos協(xié)議鑒別過程Kerberos鑒別包括域內(nèi)鑒別和跨域鑒別1.Kerberos域內(nèi)鑒別過程域內(nèi)鑒別包括三個階段,即鑒別服務(wù)交換,票據(jù)許可服務(wù)交換和客戶機(jī)/服務(wù)器鑒別交換。如圖10.22所示,共分六個步驟來完成。①C→AS:IDc||IDtgs||TS1②AS→C:EKc[Kc,tgs||IDtgs||Lifetime1||Tickettgs]Tickettgs=EKtgs[Kc,tgs||IDc||ADc||IDtgs||Lifetime1]③C→TGS:IDs||Tickettgs||AuthenticatorcAuthenticatorc=EKc,tgs[IDc||ADC||T1]④TGS→C:EKc,tgs[Kc,s||IDs||Lifetime2||Tickets]Tickets=EKs[Kc,s||IDc||ADC||IDs||Lifetime2]

⑤C→S:Tickets||Authenticatorc⑥S→C:EKc,s[T2+1](進(jìn)行雙向鑒別)Authenticatorc=EKc,s[IDc||ADc||T2]第10章密碼技術(shù)應(yīng)用2.跨域鑒別上面介紹的Kerberos協(xié)議的鑒別過程都是在一個域中實(shí)現(xiàn)的。鑒別協(xié)議提供了一種支持不同域間鑒別的機(jī)制。支持跨域鑒別的Kerberos鑒別系統(tǒng)需要滿足以下條件:(1)每個互操作域中的Kerberos鑒別服務(wù)器要與另一個域中的Kerberos鑒別服務(wù)器共享一個密鑰。(2)兩個Kerberos鑒別服務(wù)器都必須相互注冊。這個方案需要不同域中的Kerberos鑒別服務(wù)器相互信任。當(dāng)這些需求都滿足時,Kerberos跨域鑒別如圖10.23所示。這個機(jī)制可表述如下:一個用戶要得到另一域內(nèi)一個應(yīng)用服務(wù)器的服務(wù),就需要獲得那個應(yīng)用服務(wù)器的許可票據(jù)。用戶的客戶程序遵循通常的過程來獲得對本地的TGS的訪問,然后向本地的TGS請求一張?jiān)L問遠(yuǎn)程的TGS(在另一域的TGS)的許可票據(jù)。接著客戶向遠(yuǎn)程TGS申請一張?jiān)L問位于該遠(yuǎn)程TGS域范圍內(nèi)特定應(yīng)用服務(wù)器的許可票據(jù)。第10章密碼技術(shù)應(yīng)用第10章密碼技術(shù)應(yīng)用2.跨域鑒別圖10.23中的符號意義及其細(xì)節(jié)描述如下:①請求本地TGS票據(jù)C→AS:IDc||IDtgs||TS②分發(fā)本地TGS票據(jù)AS→C:EKc[Kc,tgs||IDtgs||Lifetime1||Tickettgs]③請求遠(yuǎn)程TGS票據(jù)C→TGS:IDtgsrem||Tickttgs||AuthenticatorC其中IDtgsrem表示域B中的TGS的身份標(biāo)識。④分發(fā)遠(yuǎn)程TGS票據(jù)

TGS→C:EKc,tgs[Kc,tgsrem||IDtgsrem||Lifetime2||Tickettgsrem]其中Kc,tgsrem表示C和域B中TGS的會話密鑰;Tickettgsrem表示訪問域B中TGS的票據(jù)。⑤請求遠(yuǎn)程應(yīng)用服務(wù)器票據(jù)

C→TGSrem:IDsrem||Tickettgsrem||Authenticatorc其中IDsrem表示域B中的應(yīng)用服務(wù)器的身份標(biāo)識;TGSrem表示域B中的票據(jù)分發(fā)服務(wù)器。⑥分發(fā)遠(yuǎn)程應(yīng)用服務(wù)器票據(jù)

TGSrem→C:EKc,tgsrem[Kc,srem||IDsrem||Lifetime3||Ticketsrem]其中的Kc,srem表示客戶C和域B中的應(yīng)用服務(wù)器的會話密鑰;IDsrem表示域B中的應(yīng)用服務(wù)器的身份標(biāo)識。⑦請求遠(yuǎn)程服務(wù)C→Srem:Ticketsrem||Authenticatorc第10章密碼技術(shù)應(yīng)用10.3.4Kerberos的局限性Kerberos協(xié)議由于其安全性高,使用簡單方便,是目前使用較多的身份鑒別系統(tǒng)。但是其自身也存在一些安全缺陷:1.不能抵抗口令猜測攻擊用戶秘密密鑰KC和用戶的口令有關(guān),用戶不重視口令的選擇,入侵者可以通過收集票據(jù)并對此解密,如果票據(jù)足夠多,口令的恢復(fù)是可能的。2.不能抵抗重放攻擊雖然時間戳是專門用于防止重放攻擊的,但是票據(jù)的生存期較長,容易被重放攻擊;對鑒別碼而言,也有機(jī)會實(shí)施重放攻擊。3.時間同步問題在網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)良好的時鐘同步,是一個很難的課題。4.密鑰的存儲問題Kerberos鑒別中心要求保存大量的共享秘密密鑰5.鑒別域之間的信任問題鑒別域之間相互信任和協(xié)調(diào)不方便,系統(tǒng)的可擴(kuò)充性不強(qiáng)。第10章密碼技術(shù)應(yīng)用10.4安全電子交易SET10.4.1概述安全電子交易SET(SecureElectronicTransaction)是1996年由MasterCard與Visa兩大國際信用卡公司聯(lián)合制訂的安全電子交易規(guī)范,是專門為電子商務(wù)交易而開發(fā)的安全協(xié)議。SET協(xié)議結(jié)合了對稱加密算法的快速、低成本和公鑰密碼算法的可靠性,有效的保證了在開放網(wǎng)絡(luò)上傳輸?shù)膫€人信息、交易信息的安全,而且它還解決了SSL協(xié)議所不能解決的交易雙方的身份鑒別問題。SET本身不是支付系統(tǒng),它只是一組安全協(xié)議和規(guī)范,使用戶可以用安全的方式在開放的網(wǎng)絡(luò)上使用現(xiàn)有信用卡支付的基礎(chǔ)設(shè)施。SET協(xié)議在安全性方面主要解決五個問題:(1)保證信息在互聯(lián)網(wǎng)上安全傳輸,防止數(shù)據(jù)被黑客或內(nèi)部人員竊??;(2)保證電子支付參與者信息的相互隔離,客戶的資料加密或打包后通過商家到達(dá)銀行,但是商家不能看到客戶的賬戶和密碼信息;(3)解決多方認(rèn)證問題,不僅要對消費(fèi)者的信用卡認(rèn)證,而且要對在線商店的信譽(yù)程度認(rèn)證,同時還有消費(fèi)者、在線商店與銀行間的認(rèn)證,保證網(wǎng)上支付的安全。(4)保證網(wǎng)上交易的實(shí)時性,使所有的支付過程都是在線的;(5)仿效電子數(shù)據(jù)交換(EDI,ElectronicDataInterchange)的形式,提供一個開放式的標(biāo)準(zhǔn)!規(guī)范協(xié)議和消息格式,促使不同廠家開發(fā)的軟件具有兼容性和互操作功能,并且可運(yùn)行在不同的硬件和操作系統(tǒng)平臺上。第10章密碼技術(shù)應(yīng)用10.4.1概述(續(xù))SET協(xié)議可保證電子交易信息的機(jī)密性、數(shù)據(jù)完整性、相關(guān)實(shí)體身份的可鑒別性和不可否認(rèn)性(或稱抗抵賴性),具有下面一些特點(diǎn):(1)信息的機(jī)密性:SET使用DES等對稱加密技術(shù)提供機(jī)密性保護(hù),保證信用卡用戶的帳號和支付信息是安全的。同時采用雙重簽名技術(shù)將信用卡信息直接從客戶方通過商家發(fā)送到商家的開戶行,而不容許商家訪問客戶的賬戶信息。(2)數(shù)據(jù)的完整性:SET使用基于SHA散列值的RSA數(shù)字簽名提供了信息完整性。特定的報文還要使用SHA的HMAC來實(shí)現(xiàn)完整性保護(hù)。保證支付信息在傳輸時不被修改。(3)身份鑒別:SET協(xié)議使用數(shù)字證書來鑒別交易涉及各方的身份,為在線交易提供一個完整的可信賴環(huán)境。(4)不可否認(rèn)性:SET交易中數(shù)字證書的發(fā)布過程也包含了商家和客戶在交易中存在的信息??蛻粲肧ET發(fā)出一個商品的訂單,以后客戶不能否認(rèn)發(fā)出過這個訂單,商家不能否認(rèn)收到過這個訂單。(5)跨平臺的操作性:SET協(xié)議使用規(guī)范的協(xié)議和信息格式來保證電子交易操作可以在不同的軟硬件平臺上正常進(jìn)行。第10章密碼技術(shù)應(yīng)用10.4.2SET系統(tǒng)的商務(wù)模型圖10.24給出了SET系統(tǒng)的商務(wù)模型示意。在SET交易過程中,包括有以下六個參與實(shí)體:(1)持卡人(Cardholder)(2)商家(Merchant)(3)發(fā)卡行(Issuer)(4)收單行(Acquirer)(5)支付網(wǎng)關(guān)(PaymentGateway)(6)證書管理機(jī)構(gòu)CA(CertificateAuthority)第10章密碼技術(shù)應(yīng)用10.4.3基于SET的交易過程基于SET的完整交易過程分為以下步驟:持卡人注冊獲取證書、商家注冊獲取證書、購買請求、付款授權(quán)、扣款獲取。整個交易過程信息在持卡人、商家、支付網(wǎng)關(guān)、認(rèn)證中心和銀行系統(tǒng)之間流動,如圖10.25所示。第10章密碼技術(shù)應(yīng)用10.4.3基于SET的交易過程(續(xù))(1)持卡人注冊申請證書持卡人在參加網(wǎng)上電子交易之前首先要向證書管理機(jī)構(gòu)CA申請證書。證書中包含該持卡人的帳號,公鑰信息,有效期等信用卡信息。(2)商家注冊申請證書商家在接收持卡人SET指令或通過網(wǎng)關(guān)處理SET交易時,同樣需要請求證書,其申請流程和持卡人申請流程類似。一般采取離線方式。(3)購買請求如圖10.26所描述了購買請求的流程。①持卡人發(fā)送初始購買請求②商家響應(yīng)請求并發(fā)送證書③持卡人接收響應(yīng)并發(fā)送請求④商家處理請求消息⑤持卡人接收購買響應(yīng)第10章密碼技術(shù)應(yīng)用10.4.3基于SET的交易過程(續(xù))(4)扣款授權(quán)商家在向持卡人提供所購商品或服務(wù)以前,首先向支付網(wǎng)關(guān)發(fā)出扣款授權(quán)指令,如圖10.27所示。①商家請求授權(quán):商家處理持卡人訂單時,將產(chǎn)生授權(quán)請求消息,將加密后的授權(quán)請求消息以及持卡人購買請求中經(jīng)加密的付款指令信息一起發(fā)送給支付網(wǎng)關(guān)。②支付網(wǎng)關(guān)處理授權(quán)請求:支付網(wǎng)關(guān)接收到授權(quán)請求后執(zhí)行如下處理:a)解密請求信息,檢驗(yàn)商家簽名證書;校驗(yàn)經(jīng)私鑰簽名的請求信息。b)解開付款指令信息,校驗(yàn)持卡人簽名證書;核查數(shù)字簽名。c)確認(rèn)消息后,將請求發(fā)送給銀行。收到銀行的授權(quán)響應(yīng)消息后,產(chǎn)生一份包含支付網(wǎng)關(guān)簽名書的響應(yīng)消息;兩次加密后發(fā)送給商家。③商家處理響應(yīng)商家接收到授權(quán)響應(yīng)后,按確認(rèn)的訂單內(nèi)容向持卡人提供相應(yīng)數(shù)量的商品或服務(wù),至此商家完成一項(xiàng)訂單處理。第10章密碼技術(shù)應(yīng)用10.4.3基于SET的交易過程(續(xù))(5)獲取扣款一個購物過程完成以后,商家為了得到貨款就要向支付網(wǎng)關(guān)發(fā)出扣款請求??劭钸^程如圖10.28所示。①商家請求支付:處理完一個訂單后,商家請求支付。在請求授權(quán)消息和請求付款消息間存在一個時間差。首先,商家軟件產(chǎn)生一個包括定購數(shù)量和事務(wù)處理標(biāo)識符的扣款請求;接著對扣款請求依次產(chǎn)生消息摘要、數(shù)字簽名和數(shù)字信封,并將加密后的信息發(fā)送給支付網(wǎng)關(guān);②網(wǎng)關(guān)處理扣款請求:接收到扣款請求后,支付網(wǎng)關(guān)依次解開加密信息;通過現(xiàn)有的信用卡處理系統(tǒng)實(shí)現(xiàn)扣款后,支付網(wǎng)關(guān)產(chǎn)生加密響應(yīng)消息,然后發(fā)送給商家;③商家接收響應(yīng):商家接收到扣款響應(yīng)后,通過一系列的解密后將響應(yīng)消息存儲起來,這些響應(yīng)消息將用于商家和收單行間的轉(zhuǎn)賬和對賬處理。實(shí)際上:持卡人和商家在整個證書有效期內(nèi)只需進(jìn)行一次證書申請過程,因此銷售過程通常只包括:購買請求、付款授權(quán)和獲取扣款三個步驟。第10章密碼技術(shù)應(yīng)用10.4.4SET的雙重?cái)?shù)字簽名機(jī)制基于SET安全協(xié)議的電子支付系統(tǒng)可以實(shí)現(xiàn)交易的機(jī)密性、認(rèn)證性、數(shù)據(jù)完整性和不可否認(rèn)性等功能。它通過以下機(jī)制確保電子支付的安全性:(1)使用數(shù)字證書驗(yàn)證交易各方身份的真實(shí)性和合法性;(2)使用數(shù)字簽名技術(shù)確保數(shù)據(jù)的完整性和不可否認(rèn)性;SET通過雙重?cái)?shù)字簽名實(shí)現(xiàn)了對所獲信息的分離,即它提供給商家的只是訂購信息OI(OrderInformation);提供給收款銀行的只是支付信息PI(PayingInformation)。這種安全機(jī)制充分保證了消費(fèi)者的賬戶信息和訂購信息的安全性。圖10.29描述了在SET中雙重簽名產(chǎn)生過程。

消費(fèi)者分別取得PI的報文摘要和OI的報文摘要,然后將其連接起來,再計(jì)算出已連接起來的報文摘要。最后消費(fèi)者對最后的報文摘要用私鑰進(jìn)行簽名就得到了雙重簽名,其操作過程如下(其中DS表示雙重?cái)?shù)字簽名):DS=EKRc[h(h(PI)||h(OI))]第10章密碼技術(shù)應(yīng)用10.4.4SET的雙重?cái)?shù)字簽名機(jī)制SET的購買請求及驗(yàn)證如圖10.30所示。假設(shè)商家獲得了DS、OI、PIMD和客戶的公鑰KUc,就可以計(jì)算下面兩個數(shù)值:h(PIMD||h(OI))和EKUc[DS]如果銀行獲得了DS、PI、OIMD和客戶的公鑰,就可以計(jì)算下面的數(shù)值:h(h(PI)||OIMD)和DKUc[DS]通過以上過程:1)商家收到訂購信息OI,并且可驗(yàn)證該簽名,但不能獲得客戶的支付信息。2)銀行收到支付信息PI,并且可驗(yàn)證該簽名,但不能獲得客戶的訂購信息。3)客戶將訂購信息OI和支付信息PI連接起來,并且能夠證明這個連接關(guān)系。

這將使得商家、銀行或者客戶要偽造或抵賴消費(fèi)信息都變得不可行。

第10章密碼技術(shù)應(yīng)用10.4.5SET的支付流程我們從一完整的購物處理流程來看SET是如何工作的,如圖10.31所示。(1)客戶瀏覽商品明細(xì)清單。(2)客戶選擇要購買的商品。(3)客戶填寫訂單。(4)客戶選擇付款方式。

此時SET開始介入。(5)客戶發(fā)送給商家一個完整的訂單信息OI及支付信息PI,并發(fā)出客戶的數(shù)字證書和數(shù)字簽名。(6)商家接受訂單后,向客戶的金融機(jī)構(gòu)請求支付認(rèn)可。(7)商家發(fā)送訂單確認(rèn)消息給客戶,即商家數(shù)字證書及數(shù)字簽名驗(yàn)證結(jié)果。(8)商家給客戶裝運(yùn)貨物,或完成訂購的服務(wù)。(9)商家向客戶的金融機(jī)構(gòu)請求支付。整個交易過程的前三個步驟不涉及SET協(xié)議,從第(4)步一直到第(9)步,SET協(xié)議起作用。在處理過程中,通信協(xié)議、請求消息的格式、數(shù)據(jù)類型的定義等,SET協(xié)議都有明確的規(guī)定。在操作的每一步,客戶、商家、網(wǎng)關(guān)都通過CA來驗(yàn)證通信主體的身份,以確保通信的對方不是冒名頂替。

第10章密碼技術(shù)應(yīng)用10.5公鑰基礎(chǔ)設(shè)施PKI公鑰基礎(chǔ)設(shè)施(PKI,PublicKeyInfrastructure)是網(wǎng)絡(luò)安全建設(shè)的基礎(chǔ)與重要工作,是電子商務(wù)、政務(wù)系統(tǒng)安全實(shí)施的有力保障,下面介紹PKI應(yīng)用中的一些問題:PKI的定義和服務(wù)、認(rèn)證策略、證書管理協(xié)議等。10.5.1PKI的定義公鑰基礎(chǔ)設(shè)施PKI是一個基于公開密鑰理論與技術(shù)實(shí)施和提供安全服務(wù)的具有普適性的安全基礎(chǔ)設(shè)施的總稱,一般可認(rèn)為PKI是生成、管理、存儲、分發(fā)和撤銷基于公開密碼的公鑰證書所需要的硬件、軟件、人員、策略和規(guī)程的總和。一個完整的PKI應(yīng)該至少包括以下11個部分:(1)證書機(jī)構(gòu)(CA,CertificateAuthority)又稱證書管理中心,負(fù)責(zé)具體的證書頒發(fā)和管理,屬于可信任的第三方范疇,其作用類似頒發(fā)身份證的機(jī)構(gòu)。證書機(jī)構(gòu)CA作為PKI管埋實(shí)體和服務(wù)的提供者,必須經(jīng)由相關(guān)的政策來保證CA是可信的,并且通過公正的第三方測試從技術(shù)上保障CA是安全的。(2)注冊機(jī)構(gòu)(RA,RegistrationAuthority)即證書注冊審批機(jī)構(gòu)。負(fù)責(zé)證書申請者的信息錄入、審核以及證書發(fā)放等工作;同時,對發(fā)放的證書完成相應(yīng)的管理功能。RA系統(tǒng)是整個CA中心得以正常運(yùn)營不可缺少的一部分。第10章密碼技術(shù)應(yīng)用10.5.1PKI的定義(3)證書庫為使用戶容易找到所需的公鑰證書,必須有一個健壯的、規(guī)??蓴U(kuò)充的在線分布式數(shù)據(jù)庫存放CA創(chuàng)建的所有用戶公鑰證書。證書庫可由WEB、FTP、X.500目錄等來實(shí)現(xiàn)。(4)證書撤消列表在PKI環(huán)境中公鑰證書是有有效期的。PKI中引入證書撤消表CRL,該表列出當(dāng)前己經(jīng)作廢的公鑰證書。用戶在使用某用戶的公鑰證書時必須先查CRL,以便確認(rèn)公鑰的可用性。(5)密鑰備份和恢復(fù)在很多環(huán)境下(特別是在企業(yè)環(huán)境下),由于丟失密鑰造成被保護(hù)數(shù)據(jù)的丟失是完全不可接受的。一個解決方案就是為多個接收者加密所有數(shù)據(jù),但對于高度敏感數(shù)據(jù),這個方法是不可行的。一個更可行和通用的可接受的方法是備份并能恢復(fù)私鑰。(6)自動密鑰更新通過用戶用手工操作的方式定期更新證書在某些應(yīng)用環(huán)境中是不現(xiàn)實(shí)的。一種有效解決方法是由PKI本身自動完成密鑰或證書的更新,完全無需用戶的干預(yù)。無論用戶的證書用于何種目的,都會檢查有效期,當(dāng)失效日期到來時,啟動更新過程。第10章密碼技術(shù)應(yīng)用10.5.1PKI的定義(7)密鑰歸檔密鑰更新(無論是人工還是自動)的概念,意味著經(jīng)過一段時間,每個用戶都會有多個失效的舊公鑰證書和至少一個有效公鑰證書。這一系列證書和相應(yīng)的私鑰組成用戶的密鑰歷史檔案。PKI必須保存所有密鑰,以便正確的備份和恢復(fù)密鑰,查找出正確的密鑰來實(shí)現(xiàn)解密數(shù)據(jù)。(8)交叉認(rèn)證建立一個單一的全球性PKI是事實(shí)不可實(shí)現(xiàn)的。不同的環(huán)境的用戶間安全通信就需要有一種“交叉認(rèn)證”機(jī)制,即在不同CA間建立信任關(guān)系。(9)支持抗抵賴服務(wù)PKI本身無法提供真正的抗抵賴服務(wù),但是PKI必須提供所需要的證據(jù)、支持決策,提供數(shù)據(jù)源鑒別和可信的時間戳等信息。(10)時間戳支持抗抵賴服務(wù)的一個關(guān)鍵條件就是在PKI中使用時間戳。PKI中必須存在用戶可信任的權(quán)威時間源。(11)客戶端軟件在客戶/服務(wù)器運(yùn)行模式下,除非客戶端發(fā)出請求服務(wù)。否則服務(wù)器通常不會響應(yīng)客戶端??蛻舳塑浖?dú)立于所有應(yīng)用程序之外,完成PKI服務(wù)的客戶端功能。第10章密碼技術(shù)應(yīng)用10.5.2PKI提供的服務(wù)和應(yīng)用PKI主要提供了以下三種主要安全服務(wù)。(1)鑒別(認(rèn)證)服務(wù)PKI提供的鑒別認(rèn)證服務(wù)采用了數(shù)字簽名技術(shù),簽名產(chǎn)生于以下三個方面數(shù)據(jù)的綁定值之上:①被鑒別的一些數(shù)據(jù);②用戶希望發(fā)送到遠(yuǎn)程設(shè)備的請求;③遠(yuǎn)程設(shè)備生成的隨機(jī)質(zhì)詢信息。第①項(xiàng)支持PKI的數(shù)據(jù)源鑒別服務(wù),后兩項(xiàng)支持PKI的實(shí)體鑒別服務(wù)。(2)完整性服務(wù)PKI提供的完整性服務(wù)可以采用兩種技術(shù)之一。第一種技術(shù)是數(shù)字簽名,第二種技術(shù)就是消息鑒別碼MAC。(3)機(jī)密性服務(wù)PKI提供的機(jī)密性服務(wù)采用了類似于完整性服務(wù)的機(jī)制,例如要在實(shí)體A和實(shí)體B間的通信提供機(jī)密性服務(wù):①實(shí)體A隨機(jī)生成一個對稱密鑰;②用對稱密鑰加密數(shù)據(jù);③將加密后的數(shù)據(jù)、實(shí)體A的公鑰以及實(shí)體B的公鑰加密后的對稱密鑰發(fā)送給實(shí)體B。第10章密碼技術(shù)應(yīng)用10.5.2PKI提供的服務(wù)和應(yīng)用PKI提供的上述安全服務(wù)恰好能滿足電子商務(wù)、電子政務(wù)、網(wǎng)上銀行、網(wǎng)上證券等金融業(yè)交易的安全需求。具體應(yīng)用如下:(1)電子商務(wù)應(yīng)用電子商務(wù)的參與方一般包括買方、賣方、銀行和作為中介的電子交易市場。買方通過自己的瀏覽器上網(wǎng),登錄到電子交易市場的Web服務(wù)器并尋找賣方。當(dāng)買方登錄服務(wù)器時,互相之間需要驗(yàn)證對方的證書以確認(rèn)其身份,這被稱為雙向認(rèn)證。在雙方身份被互相確認(rèn)以后,建立起安全通道,并進(jìn)行討價還價,之后向商場提交訂單。訂單里有兩種信息:一部分是訂貨信息,包括商品名稱和價格;另一部分是提交銀行的支付信息,包括金額和支付賬號。買方對這兩種信息進(jìn)行"雙重?cái)?shù)字簽名",分別用商場和銀行的證書公鑰加密上述信息。當(dāng)商場收到這些交易信息后,留下訂貨單信息,而將支付信息轉(zhuǎn)發(fā)給銀行。商場只能用自己專有的私鑰解開訂貨單信息并驗(yàn)證簽名。同理,銀行只能用自己的私鑰解開加密的支付信息、驗(yàn)證簽名并進(jìn)行劃賬。銀行在完成劃賬以后,通知起中介作用的電子交易市場、物流中心和買方,并進(jìn)行商品配送。整個交易過程都是在PKI所提供的安全服務(wù)之下進(jìn)行,實(shí)現(xiàn)了安全、可靠、保密和不可否認(rèn)性。第10章密碼技術(shù)應(yīng)用10.5.2PKI提供的服務(wù)和應(yīng)用(2)電子政務(wù)應(yīng)用電子政務(wù)包含的主要內(nèi)容有:網(wǎng)上信息發(fā)布、辦公自動化、網(wǎng)上辦公、信息資源共享等。按應(yīng)用模式也可分為政府-公眾模式(G2C,GovernmenttoCitizen)、政府-商務(wù)模式(G2B,GovernmenttoBusiness)以及政府-政府模式(G2G,GovernmenttoGovernment),PKI在其中的應(yīng)用主要是解決身份認(rèn)證、數(shù)據(jù)完整性、數(shù)據(jù)機(jī)密性和抗抵賴性等問題。例如,一個機(jī)密文件發(fā)給誰,或者哪一級公務(wù)員有權(quán)查閱某個機(jī)密文件等,這些都需要進(jìn)行身份認(rèn)證。與身份認(rèn)證相關(guān)的還有訪問控制,即權(quán)限控制。認(rèn)證通過數(shù)字證書進(jìn)行,而訪問控制通過屬性證書或訪問控制列表(ACL)完成。有些文件在網(wǎng)絡(luò)傳輸中要加密以保證數(shù)據(jù)的機(jī)密性;有些文件在網(wǎng)上傳輸時要求不能被丟失和篡改;特別是一些機(jī)密文件的收發(fā)必須要有數(shù)字簽名等。只有PKI提供的安全服務(wù)才能滿足電子政務(wù)中的這些安全需求。(3)網(wǎng)上銀行應(yīng)用

網(wǎng)上銀行是指銀行借助于互聯(lián)網(wǎng)技術(shù)向客戶提供信息服務(wù)和金融交易服務(wù)。銀行通過互聯(lián)網(wǎng)向客戶提供信息查詢、對賬、網(wǎng)上支付、資金劃轉(zhuǎn)、信貸業(yè)務(wù)、投資理財(cái)?shù)冉鹑诜?wù)。網(wǎng)上銀行的應(yīng)用模式有B2C(BusinessToCustomer)個人業(yè)務(wù)和B2B(BusinessToBusiness)對公業(yè)務(wù)兩種。第10章密碼技術(shù)應(yīng)用10.5.2PKI提供的服務(wù)和應(yīng)用(3)網(wǎng)上銀行應(yīng)用(續(xù))

網(wǎng)上銀行的交易方式是點(diǎn)對點(diǎn)的,即客戶對銀行??蛻魹g覽器端裝有客戶證書,銀行服務(wù)器端裝有服務(wù)器證書。當(dāng)客戶上網(wǎng)訪問銀行服務(wù)器時,銀行端首先要驗(yàn)證客戶端證書,檢查客戶的真實(shí)身份,確認(rèn)是否為銀行的真實(shí)客戶;同時服務(wù)器還要到CA的目錄服務(wù)器,通過LDAP協(xié)議查詢該客戶證書的有效期和是否進(jìn)入“黑名單”;認(rèn)證通過后,客戶端還要驗(yàn)證銀行服務(wù)器端的證書。雙向認(rèn)證通過以后,建立起安全通道,客戶端提交交易信息,經(jīng)過客戶的數(shù)字簽名并加密后傳送到銀行服務(wù)器,由銀行后臺信息系統(tǒng)進(jìn)行劃賬,并將結(jié)果進(jìn)行數(shù)字簽名返回給客戶端。這樣就做到了支付信息的機(jī)密和完整以及交易雙方的不可否認(rèn)性。(4)網(wǎng)上證券應(yīng)用網(wǎng)上證券廣義地講是證券業(yè)的電子商務(wù),它包括網(wǎng)上證券信息服務(wù)、網(wǎng)上股票交易和網(wǎng)上銀證轉(zhuǎn)賬等。一般來說,在網(wǎng)上證券應(yīng)用中,股民為客戶端,裝有個人證書;券商服務(wù)器端裝有Web證書。在線交易時,券商服務(wù)器只需要認(rèn)證股民證書,驗(yàn)證是否為合法股民,是單向認(rèn)證過程,認(rèn)證通過后,建立起安全通道。股民在網(wǎng)上的交易提交同樣要進(jìn)行數(shù)字簽名,網(wǎng)上信息要加密傳輸;券商服務(wù)器收到交易請求并解密,進(jìn)行資金劃賬并做數(shù)字簽名,將結(jié)果返回給客戶端。第10章密碼技術(shù)應(yīng)用10.5.3PKI的構(gòu)成PKI在實(shí)際應(yīng)用上是一套軟硬件系統(tǒng)和安全策略的集合,一個典型的PKI系統(tǒng)如圖10.32所示,其中包括PKI策略、軟硬件系統(tǒng)、證書機(jī)構(gòu)CA、注冊機(jī)構(gòu)RA、證書管理系統(tǒng)和PKI應(yīng)用等。PKI安全策略;證書機(jī)構(gòu)CA;注冊機(jī)構(gòu)RA;證書發(fā)布系統(tǒng);

PKI的應(yīng)用非常廣泛,包括在Web服務(wù)器和瀏覽器之間的通信、電子郵件、電子數(shù)據(jù)交換(EDI)、信用卡交易和虛擬專用網(wǎng)(VPN)等。第10章密碼技術(shù)應(yīng)用10.5.3PKI的構(gòu)成(續(xù))一個典型的CA系統(tǒng)包括安全服務(wù)器、注冊機(jī)構(gòu)RA、CA服務(wù)器、LDAP目錄服務(wù)器和數(shù)據(jù)庫服務(wù)器等。如圖10.33所示。安全服務(wù)器:面向普通用戶,用于提供證書申請、瀏覽、證書撤消列表以及證書下載等安全服務(wù)。安全服務(wù)器與用戶的通信采取安全信道方式。CA服務(wù)器:整個證書機(jī)構(gòu)的核心,負(fù)責(zé)證書的簽發(fā)。CA首先產(chǎn)生自身的私鑰和公鑰,然后生成數(shù)字證書,并且將數(shù)字證書傳輸給安全服務(wù)器。注冊機(jī)構(gòu)RA:登記中心服務(wù)器面向登記中心操作員,在CA體系結(jié)構(gòu)中起承上啟下的作用,一方面向CA轉(zhuǎn)發(fā)安全服務(wù)器傳輸過來的證書申請請求,另一方面向LDAP服務(wù)器和安全服務(wù)器轉(zhuǎn)發(fā)CA頒發(fā)的數(shù)字證書和證書撤消列表。LDAP服務(wù)器:提供目錄瀏覽服務(wù),負(fù)責(zé)將注冊機(jī)構(gòu)服務(wù)器傳輸過來的用戶信息以及數(shù)字證書加入到服務(wù)器上。數(shù)據(jù)庫服務(wù)器:證書機(jī)構(gòu)中的核心部分,用于證書機(jī)構(gòu)中數(shù)據(jù)(如密鑰和用戶信息等)、日志和統(tǒng)計(jì)信息的存儲和管理。第10章密碼技術(shù)應(yīng)用10.5.4PKI標(biāo)準(zhǔn)伴隨著PKI技術(shù)的不斷完善與發(fā)展,應(yīng)用的日益普及,為了更好地為社會提供優(yōu)質(zhì)服務(wù),PKI標(biāo)準(zhǔn)化就成了一種必然的趨勢。涉及PKI的標(biāo)準(zhǔn)可分為兩個部分:一類是與PKI定義相關(guān)的,而另一類是與PKI的應(yīng)用相關(guān)的。1.與PKI定義相關(guān)的標(biāo)準(zhǔn)在PKI技術(shù)框架中,許多方面都有嚴(yán)格的定義,如用戶的注冊流程、數(shù)字證書的格式、CRL的格式、證書的申請格式以及數(shù)字簽名格式等。國際電信聯(lián)盟ITUX.509協(xié)議,是PKI技術(shù)體系中應(yīng)用最廣泛、也是最為基礎(chǔ)的一個國際標(biāo)準(zhǔn)。它的主要目的在于定義一個規(guī)范的數(shù)字證書的格式,以便為基于X.500協(xié)議的目錄服務(wù)提供一種強(qiáng)認(rèn)證手段。PKCS(Public-keyCryptographyStandards)是由美國RSA數(shù)據(jù)安全公司及其合作伙伴制定的一組公鑰密碼學(xué)標(biāo)準(zhǔn),到1999年底,PKCS已經(jīng)公布了十五個標(biāo)準(zhǔn)(在此沒有列舉,見課本相關(guān)表述)。2.與PKI應(yīng)用相關(guān)的標(biāo)準(zhǔn)國際上相繼已發(fā)布了多個與PKI的應(yīng)用領(lǐng)域相關(guān)的標(biāo)準(zhǔn),如安全的套接層協(xié)議SSL、運(yùn)輸層安全協(xié)議TLS、安全的多用途互聯(lián)網(wǎng)郵件擴(kuò)展協(xié)議S/MIME和IP安全協(xié)議IPSec等。第10章密碼技術(shù)應(yīng)用10.5.5PKI的信任模型選擇信任模型(TrustModel)是構(gòu)筑和運(yùn)作PKI所必需的一個環(huán)節(jié)。信任模型主要闡述了以下幾個問題:1.一個PKI用戶能夠信任的證書是怎樣被確定的?2.這種信任是怎樣被建立的?3.在一定的環(huán)境下,這種信任如何被控制?在詳細(xì)介紹PKI的信任模型之前,先介紹幾個相關(guān)的概念。信任:在ITU-T推薦標(biāo)準(zhǔn)X.509規(guī)范中,對“信任”的定義是:如果實(shí)體A認(rèn)為實(shí)體B會嚴(yán)格地像它期望的那樣行動,則實(shí)體A信任實(shí)體B。信任域:信任域指的是一個組織內(nèi)的個體在一組公共安全策略控制下所能信任的個體集合。信任模型:信任模型是指建立信任關(guān)系和驗(yàn)證證書時尋找和遍歷信任路徑的模型。信任錨:在信任模型中,當(dāng)可以確定一個實(shí)體身份或者有一個足夠可信的身份簽發(fā)者證明該實(shí)體的身份時,才能作出信任該實(shí)體身份的決定。這個可信的身份簽發(fā)者稱為信任錨。簡單的說,信任錨就是PKI信任模型中的信任起點(diǎn)。第10章密碼技術(shù)應(yīng)用10.5.5PKI的信任模型1.單CA信任模型這是最基本的信任模型,也是在企業(yè)環(huán)境中比較實(shí)用的一種模型。如圖10.34所示,在這種模型中,整個PKI體系只有一個CA,它為PKI中的所有終端實(shí)體簽發(fā)和管理證書。PKI中的所有終端實(shí)體都信任這個CA。單CA信任模型的主要優(yōu)點(diǎn)是:容易實(shí)現(xiàn),易于管理,只需要建立一個根CA,所有的終端實(shí)體都能實(shí)現(xiàn)相互認(rèn)證。這種信任模型的局限性也十分明顯:不易擴(kuò)展到支持大量的或者不同的群體用戶。終端實(shí)體的群體越大,支持所有必要的應(yīng)用就越困難。2.CA的嚴(yán)格層次結(jié)構(gòu)信任模型CA的嚴(yán)格層次結(jié)構(gòu)信任模型如圖10.35所示,作為信任的根或信任錨CA,所有實(shí)體都信任它。它只為子CA頒發(fā)證書。子CA是所在實(shí)體集合的根。單CA信任模型是嚴(yán)格層次結(jié)構(gòu)的一種特例。第10章密碼技術(shù)應(yīng)用10.5.5PKI的信任模型3.CA的分布式信任模型分布式信任模型也叫網(wǎng)狀信任模型,在這種模型中,CA間存在著交叉認(rèn)證。如果任何兩個CA間都存在著交叉認(rèn)證,則這種模型就成為嚴(yán)格網(wǎng)狀信任模型。分布式信任模型把信任分散到若干個CA上。如圖10.36所示。每個實(shí)體都將自己的發(fā)證CA作為信任的起點(diǎn),各CA之間通過頒發(fā)交叉證書進(jìn)行交叉認(rèn)證,從而擴(kuò)展信任關(guān)系,最終形成一種網(wǎng)狀結(jié)構(gòu)。在該模型中,每個CA直接對其所屬用戶實(shí)體頒發(fā)證書。CA之間沒有上下屬關(guān)系,而是通過交叉證書聯(lián)系在一起。因此,如果沒有命名空間的限制,那么任何CA都可以對其他的CA發(fā)證。當(dāng)一個組織想要整合各個獨(dú)立開發(fā)的PKI體系時,采用這種模

溫馨提示

  • 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

提交評論