




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第六章實用安全系統(tǒng)目錄6.1PGP6.2S/MIME6.3SecureShell6.4SFTP6.1PGP
PGP是美國菲利普·齊默曼(PhilipR.Zimmermann)提出來的。他創(chuàng)造性地把RSA公鑰體系的方便和傳統(tǒng)加密體系的高速度結(jié)合起來,并且在數(shù)字簽名和密鑰認(rèn)證管理機(jī)制上進(jìn)行巧妙的設(shè)計,從而使PGP成為流行的公鑰加密軟件包。PGP是一個基于RSA公鑰加密體系的郵件加密軟件,可以用于郵件保密,防止非授權(quán)者閱讀,還能對郵件加上數(shù)字簽名,從而使收信人可以確信郵件是誰發(fā)來的。它讓用戶可以安全地和用戶從未見過的人通信,事先并不需要任何保密的渠道來傳遞密鑰。6.1.1PGP原理PGP加密由一系列散列、數(shù)據(jù)壓縮、對稱密鑰加密,以及公鑰加密的算法組合而成。每個步驟支持幾種算法,可以選擇其中一種使用?;旧习?個密碼單元:單鑰密碼IDEA、雙鑰密碼RSA、單向散列算法MD5、一個隨機(jī)數(shù)生成算法。這些密碼單元在本書第2章中都有相關(guān)介紹。
需要注意的是,隨機(jī)數(shù)生成是指PGP提供兩個偽隨機(jī)數(shù)發(fā)生器(PRNG):一個是ANSIX9.17發(fā)生器,采用IDEA算法,以CFB(密碼反饋模式)生成;另一個是從用戶擊鍵的時間和序列中計算熵值,從而引入隨機(jī)性。PGP在安全上的業(yè)務(wù)有:認(rèn)證、加密、壓縮、Base-64變換、分段和重組。
1.認(rèn)證PGP可以只簽名而不加密。這適用于公開發(fā)表聲明、聲明人為了證實自己的身份,可以用自己的私鑰簽名,這樣就可以讓收件人確認(rèn)發(fā)信人的身份,也可以防止發(fā)信人抵賴自己的聲明。PGP認(rèn)證流程如圖6.1所示。
圖6.1PGP認(rèn)證流程
送信人編制消息M準(zhǔn)備發(fā)出,用MD5算法產(chǎn)生一個128位的散列值H,并且用送信人的RSA密鑰對H簽字,然后將M和H合成壓縮發(fā)送出去,接收端對收到的數(shù)據(jù)進(jìn)行解壓,并用發(fā)送人公鑰解出H,用接收的M計算散列值得H',與H值進(jìn)行比較簽字。2.加密
加密過程如圖6.2所示,密鑰管理模塊根據(jù)用戶輸入的收信人標(biāo)識信息,找到收件人的公鑰。隨機(jī)數(shù)生成器產(chǎn)生僅使用一次的128位會話密鑰,IDEA算法利用這個會話密鑰對經(jīng)壓縮后的明文信件進(jìn)行加密,生成密文信件。同時,RSA算法模塊利用收件人的公鑰對會話密鑰再加密。最后,PGP把RSA加密后的會話密鑰與IDEA加密后的密文信件合并在一起,形成一個新的文件并輸出在磁盤中。由于PGP在調(diào)用IDEA算法模塊加密文件之前,已對文件做了壓縮處理,因此,輸出的文件的容量不會增大。圖6.2加密過程
由于PGP每次加密都使用一個隨機(jī)的128位會話密鑰,因此同一個文件兩次加密后的結(jié)果是截然不同的。圖6.2中的randseed.bin文件就是用來構(gòu)造這個隨機(jī)會話密鑰的。由于每次使用不同的會話密鑰,因此,進(jìn)一步增加了PGP加密的可靠性,也防止了竊取者獲悉雙方是否在傳送同一內(nèi)容的文件的可能性。
如圖6.3所示是PGP接收加密郵件之后的解密過程。
首先,PGP把接收到的密文分成兩部分:第一部分是經(jīng)RSA算法加密的會話密鑰,另一部分是經(jīng)IDEA算法和會話密鑰加密的原文件內(nèi)容。接著,PGP接收來自用戶的口令??诹罱?jīng)過SHA-1報文分解函數(shù)產(chǎn)生一個128位的IDEA解密密鑰。PGP的密鑰管理模塊取出密鑰環(huán)文件中經(jīng)加密的RSA解密密鑰,用IDEA解密鑰匙和IDEA解密算法恢復(fù)出明文的RSA秘密密鑰。最后,PGP用RSA秘密密鑰和RSA解密模塊恢復(fù)出明文的會話密鑰,再用會話密鑰和IDEA解密算法一起解密加密的原文件內(nèi)容。此外,PGP需要恢復(fù)被壓縮的文件。圖6.3解密過程3.壓縮
壓縮可以節(jié)省通信時間和存儲空間,而且在加密前進(jìn)行壓縮可以降低明文的冗余度,增強(qiáng)機(jī)密效果。PGP中采用ZIP算法進(jìn)行壓縮。4.Base64編碼變換Base64編碼變換是為了提高電子郵件的兼容性而設(shè)置的。因為許多電子郵件系統(tǒng)只允許使用ASCII文本串,所以PGP提供了將8位組串轉(zhuǎn)換為ASCII字符的功能。轉(zhuǎn)換方法是將每3個8位組串的二元數(shù)據(jù)映射為4個ACSII字符。雖然轉(zhuǎn)換后消息長度有所擴(kuò)展,但壓縮的效果足以彌補(bǔ)擴(kuò)展帶來的影響。實例表明,總體壓縮和擴(kuò)展抵消后大約仍有1/3的壓縮。
同時它還具有以下特點:不限于某一特定的字符集編碼;字符集有65個可以打印的字符,每個字符表示6位輸入,一個字符作為填充;字符集中不含控制字符,故可通行于E-mail系統(tǒng);不要使用“_”符號,此符號在RFC832中有特定意義,應(yīng)避免使用。5.分段和重組E-mail對消息長度都有限制。當(dāng)消息大于長度限度時,PGP將對其自動分段。分段是在所有處理之后進(jìn)行的,故會話密鑰和簽字只在第一段開始部分出現(xiàn)。在接收端,PGP將各段自動重組為原來的消息。
PGP的開發(fā)是密碼學(xué)應(yīng)用的一個重要的里程碑,它是第一個將公鑰密碼服務(wù)于大眾的工具。PGP主要針對電子郵件加密,從計算角度來看,PGP是足夠安全的,但是不恰當(dāng)?shù)男湃渭僭O(shè)往往是PGP的隱患,最終導(dǎo)致秘密的泄露。理解PGP的信任模型,正當(dāng)使用軟件,是獲得PGP安全性的重要前提。6.1.2PGP信任模型信任模型是指建立在信任關(guān)系和驗證證書時尋找和遍歷信任路徑的模型。信任模型分為三種:1、直接信任(DirectTrust):
指兩個實體之間曾經(jīng)有過直接的交易,它們之間建立了一種直接信任關(guān)系,信任值來源于根據(jù)雙方的交易情況得出的直接經(jīng)驗。2、等級信任(HierarchicalTrust):
又稱推薦信任,指兩個實體之間沒有進(jìn)行直接的交易,而是根據(jù)其他實體的推薦建立的一種信任關(guān)系,它們之間的信任值是根據(jù)其他實體的評估得出的結(jié)果。在PGP中,等級信任分為4個等級:絕對信任(用戶本人)、完全信任、一般信任以及不信任。3、網(wǎng)絡(luò)信任(AWebofTrust):
網(wǎng)絡(luò)信任模型是PGP所用到的信任模型,它包含了其他兩種模型,另外增加了第三方監(jiān)督者的概念。
在PGP中,存在兩種密鑰環(huán):私鑰環(huán)和公鑰環(huán)。其中,公鑰環(huán)為PGP信任模型提供了實現(xiàn)方式,形成了信任網(wǎng)(WebofTrust)結(jié)構(gòu)。在信任網(wǎng)中,沒有大家都信任的中心權(quán)威機(jī)構(gòu),而是用戶以各自為中心,相互認(rèn)證公鑰,相互簽名公鑰證書。這些簽名使得用戶的公鑰彼此相連,形成自然的網(wǎng)狀結(jié)構(gòu),就是信任網(wǎng)[4]。為了更好地理解信任網(wǎng),我們假設(shè)Alice和Bob是兩個同事,他們彼此熟悉,通過某種方式,Alice獲得了Bob的公鑰,并且確認(rèn)Bob的公鑰是真實的,因此,Alice就在Bob的公鑰證書上簽名。此時,Alice認(rèn)為Bob的公鑰是有效的,并可以利用Bob的公鑰將加密后的信息傳給Bob,加密后的信息只有Bob能夠解讀。這種信任關(guān)系用實線箭頭表示,如圖6.4所示。相互信任的用戶之間分別為對方的公鑰簽名,使他們之間建立了某種聯(lián)系,這種聯(lián)系就是信任網(wǎng)的基礎(chǔ)結(jié)構(gòu)。圖6.4信任網(wǎng)的基礎(chǔ)結(jié)構(gòu)
假設(shè)David和Bob并不認(rèn)識,David想與Bob進(jìn)行安全通信,必須要解決的問題是:David如何獲得Bob的有效公鑰?在PGP中是這樣解決的:假設(shè)David知道Alice,并有Alice的有效公鑰。David相信Alice不會欺騙她,就將Alice設(shè)為可信介紹人,并從Alice那里得到Bob的公鑰(或者由Bob傳給David)。因為Bob的公鑰證書中有Alice的簽名,所以David可以相信Bob的公鑰是有效的。圖6.4中用虛線箭頭來表示David對Alice的信任。
如果David在Bob傳給他的公鑰中找不到一個可信的介紹人,則不能相信Bob的公鑰,Bob的公鑰將被認(rèn)為是無效的。因此,為了使他們之間能夠相互信任,Bob必須找到David的一個可信介紹人為其證書簽名。其中,PGP證書由以下三部分組成:①用戶ID:由用戶名及其郵箱地址組成。②公鑰:由公鑰ID(全局唯一)、公鑰數(shù)據(jù)和創(chuàng)建時間組成。③若干簽名:由一些對前兩項關(guān)系認(rèn)同的中間人的簽名組成。PGP為公鑰附加信任和開發(fā)信任信息提供了一種方便的方法來使用信任。公鑰環(huán)的每個實體都是一個公鑰證書。與每個實體相聯(lián)系的是密鑰合法性字段,用來指示PGP信任“這是這個用戶合法的公鑰”的程度。信任程度越高,這個用戶ID與這個密鑰的綁定越緊密。這個字段由PGP計算。與每個實體相聯(lián)系的還有用戶收集的多個簽名。反過來,每個簽名都帶有簽名信任字段,用來指示該P(yáng)GP用戶信任簽名者對這個公鑰證書的程度。PGP公鑰環(huán)結(jié)構(gòu)如圖6.5所示。圖6.5PGP公鑰環(huán)結(jié)構(gòu)圖6.5說明如下:TimeStamp:公鑰生成的時間。KeyID:用戶公鑰標(biāo)識,它由公鑰的最低64位組成(KUimod264),這個長度足以使密鑰ID的重復(fù)概率非常小。PublicKey:公鑰值。UserID:用戶標(biāo)識。二元組(KeyID、UserID)唯一確定一個公鑰項。Signature:用戶收集的對該P(yáng)GP公鑰進(jìn)行的一個或多個簽名。OwnerTrust、SignatureTrust、KeyLegitimacy:與用戶公鑰相關(guān)的三個信任指示字段。每個信任指示字段用一個TrustFlag字節(jié)表示,分別為OWNER-TRUSTField、SIGTRUSTField、KEYLEGITField,并加上1位警示位。這三個指示字段共同決定一種PGP信任關(guān)系。OwnerTrust字段表明PGP用戶對“公鑰主人對其他公鑰簽名”的信任程度。信任程度越高,該公鑰主人簽名的密鑰越可信。這個信任程度是由用戶給出的。SignatureTrust字段表明PGP用戶信任簽名者對這個公開密鑰證明的程度。信任程度越高,該公鑰越可信。
而KeyLegitimacy字段用來指示PGP信任“這是這個用戶合法的公鑰”的程度。信任程度越高,這個用戶ID(UserID)與這個密鑰的綁定越緊密。這個字段值由PGP計算出來。假定正在處理用戶YOU的公鑰環(huán),上述三個指示字段的值按如下方式確定:
(1)OwnerTrust字段:當(dāng)YOU向公鑰環(huán)中插入一個新公鑰時,如果公鑰主人是YOU,則OwnerTrust字段對應(yīng)的OWNER-TRUSTField的值為終極信任(UltimateTrust)。否則,PGP詢問用戶,讓用戶給出信任級別:未知(Unknown)、不可信任(Untrusted)、通常可信(UsuallyTrusted)和總是可信(AlwaysTrusted)等。
(2)SignatureTrust字段:當(dāng)新公鑰有一個或多個簽名時,以后的多個簽名需要逐個加入。當(dāng)插入一個簽名時,PGP將查找公鑰環(huán),看該簽名人是否是已知公鑰的主人。如果是,則該簽名對應(yīng)的SIGTRUSTField的值為該已知公鑰主人對應(yīng)的OWNER-TRUSTField的值。否則,為UnknownUser,表示PGP不認(rèn)識簽名人。因此可以把SignatureTrust字段看成是來自于其他OwnerTrust字段的副本。
(3)KeyLegitimacy字段:KEYLEGITField的值基于該條目中SignatureTrust字段來計算。如果至少一個Signature對應(yīng)的SIGTRUSTField的值為UltimateTrust,則KEYLEGITField的值設(shè)為CompleteTrust。否則,PGP計算SIGTRUSTField的值的加權(quán)和。
假設(shè)對于AlwaysTrusted值的簽名賦以權(quán)值1/x,對于UsuallyTrusted值的簽名賦以權(quán)值1/y,當(dāng)密鑰用戶ID綁定的權(quán)重總和達(dá)到1時,綁定被認(rèn)為是值得信任的,則KEYLEGITField的值被設(shè)置為CompleteTrust。因此,在沒有UltimateTrust的情況下,需要至少有x個SignatureTrust字段為AlwaysTrusted,或者至少有y個SignatureTrust字段為UsuallyTrusted,或者是上述兩種情況的某種組合。PGP信任模型圖如圖6.6所示。圖6.6PGP信任模型圖
保證公鑰的真實有效,是正確應(yīng)用PGP的基礎(chǔ)。證書為保證公鑰的真實性提供了一種有效的機(jī)制,而在PGP中缺乏有效的證書管理體系,證書的管理完全由用戶自己完成。錯誤的信任假設(shè)和管理的不當(dāng),會影響到PGP的安全性。PGP推薦用兩種方式來保證證書的有效性:一是直接從所有者那里獲得磁盤拷貝,二是通過中間人獲取。磁盤拷貝的方式不適用于地理范圍較大的場合,對中間人沒有任何信任等級認(rèn)定,很容易造成安全隱患。在公鑰系統(tǒng)中,證書吊銷是使公鑰無效的有效方式。
在PGP中提供了兩種吊銷證書的方式:中間人吊銷和擁有者自行吊銷,二者具有同等的效力,均被認(rèn)為使相關(guān)的密鑰對無效。但證書吊銷問題的真正難點不在于吊銷本身,而在于將吊銷信息通知每個潛在的使用者。用戶使用被吊銷的證書是一件很危險的事情,很有可能造成泄密,
因此在每次使用證書前都應(yīng)該確信該證書沒有被吊銷。PGP中雖然提供了吊銷證書的功能,但沒有提供任何將吊銷信息通知其他用戶的方式,這是PGP的一個致命弱點。
通過PGP的介紹,可以看出PGP在信息加密之前都會進(jìn)行數(shù)據(jù)壓縮,這樣可以大大減少數(shù)據(jù)的冗余度和加/解密所花費(fèi)的時間。PGP不是去推廣一個全局的PKI,而是讓用戶自己建立自己的信任網(wǎng),即在PGP系統(tǒng)中,信任是雙方直接的關(guān)系,或者是通過第三方、第四方的間接關(guān)系,但任意兩方之間是對等的,整個信任關(guān)系構(gòu)成網(wǎng)狀結(jié)構(gòu)。這樣的結(jié)構(gòu)既有利于系統(tǒng)的擴(kuò)展,又有利于其他系統(tǒng)安全模式的兼容并存。
但這種信任模型中,沒有建立完備的信任體系,不存在完全意義上的信任權(quán)威,缺乏有效的信任表達(dá)方式,所以它只適合小規(guī)模的用戶群體。當(dāng)用戶數(shù)量逐漸增多時,管理將變得非常困難,用戶也會發(fā)現(xiàn)其不易使用的一面。6.1.3PGP安全分析PGP也有其固有的缺點,從保密強(qiáng)度來看,PGP的安全薄弱環(huán)節(jié)是對加密算法IDEA的加密密鑰的保護(hù),對其采用郵件接收方的公鑰加密、私鑰解密的方法。所以,整個郵件內(nèi)容的保密完全依賴于郵件接收方私鑰的安全,而非發(fā)送方所能控制。一旦其他人得到此加密密鑰,就可以得到郵件明文。另外,已經(jīng)有人發(fā)現(xiàn)一種欺詐手段,即截獲郵件后,對郵件重新包裝并發(fā)給收件人,收件人得到的是一堆亂碼,當(dāng)收件人攜帶原件回信詢問時,就可以破譯加密的電子郵件。應(yīng)對的方法是避免在回信詢問時包含完整的原郵件。6.2S/MIME
目前,主流的電子郵件加密技術(shù)除了PGP外,還有S/MIME,兩者都沿用IETF的標(biāo)準(zhǔn),但彼此不兼容。下面詳細(xì)介紹S/MIME。6.2.1MIME簡介
早期的Internet電子郵件有兩個核心協(xié)議:由RFC821定義的簡單郵件傳輸協(xié)議(SMTP)和由RFC822定義的郵件格式文件。SMTP是一種TCP協(xié)議支持的提供可靠且有效電子郵件傳輸?shù)膽?yīng)用層協(xié)議。SMTP是建立在TCP協(xié)議上的一種郵件服務(wù),主要用于傳輸系統(tǒng)之間的郵件信息并提供來信有關(guān)的通知,并且獨(dú)立于特定的傳輸子系統(tǒng),只需要可靠有序的數(shù)據(jù)流信道支持。SMTP的重要特性之一是,其能跨越網(wǎng)絡(luò)傳輸郵件,即“SMTP郵件中繼”。SMTP規(guī)定了在Internet節(jié)點間的傳送或接力傳送電子郵件的協(xié)議,TCP端口25就是為此保留的。SMTP簡單而且高效,從1982年RFC821發(fā)布至今,不曾有任何改動。RFC822定義了一種十分簡單的郵件格式,這種格式的郵件只能包含純文本信息,而且只能是ASCII字符,這顯然影響了電子郵件的用途。
RFC822明確地把郵件分為兩部分:第一部分為郵件頭,其作用是標(biāo)識郵件;第二部分是郵件體。郵件頭中包含若干數(shù)據(jù)字段,可以在需要附加信息時使用。郵件頭字段應(yīng)出現(xiàn)在郵件體之前,兩部分之間使用一個空行分隔。
郵件頭最常用的字段是:From、To、Subject和Date。From標(biāo)識發(fā)信人的電子郵箱地址,To標(biāo)識收信人的電子郵箱地址,Subject標(biāo)識郵件的主題,Date用來給郵件加上時間戳。如圖6.7所示為一封RFC822兼容郵件的格式。圖6.7RFC822兼容郵件的格式
由于SMTP和RFC822模式都只能傳輸ASCII文本信息,因此在運(yùn)用時存在一定的局限性,MIME(MultipurposeInternetMailExtensions,多用途互聯(lián)網(wǎng)郵件擴(kuò)展)就是針對這一點對RFC822進(jìn)行擴(kuò)充,并且約定二進(jìn)制數(shù)據(jù)進(jìn)行編碼的協(xié)議。
表6.1可以看出關(guān)于RFC822郵件和MIME郵件的對比。
RFC822郵件MIME郵件可以攜帶的內(nèi)容純文本信息HTML、圖像、聲音、文件可采用的字符US-ASCII多種字符集其他應(yīng)用場合無可應(yīng)用于HTTP協(xié)議表6.1RFC822郵件和MIME郵件的對比MIME協(xié)議定義了5個新的可以包含在RFC822報文首部的字段,分別是:MIME-Version、Content-Type、Content-Transfer-Encoding、Content-ID和Content-Description。MIME-Version(MIME版本):其值必須為1.0,表明該消息符合RFC2045和RFC2046。Content-Type(內(nèi)容類型):描述正文中包含的數(shù)據(jù)類型,使得接收方代理可以選擇合適的代理或機(jī)制來表示數(shù)據(jù)或正確處理數(shù)據(jù)。Content-Transfer-Encoding(內(nèi)容轉(zhuǎn)換編碼):描述將消息正文轉(zhuǎn)換為可以傳輸?shù)念愋娃D(zhuǎn)換方式。Content-ID(內(nèi)容ID):在多重上下文中唯一地標(biāo)識MIME實體。Content-Description(內(nèi)容描述):正文對象的文本描述,在該對象不可讀時使用(如音頻數(shù)據(jù))。圖6.8顯示了新的字段同標(biāo)準(zhǔn)郵件中RFC822字段是如何結(jié)合在一起的。
圖6.8新的字段同標(biāo)準(zhǔn)郵件中RFC822字段結(jié)合在一起
同時,MIME中有大量關(guān)于內(nèi)容類型定義的說明,體現(xiàn)了在多媒體環(huán)境下需要提供多種信息表示方法的需求,表6.2列出了RFC2046中說明的內(nèi)容類型,主要有7種不同類型和15種子類型。一般來說,用內(nèi)容類型來描述數(shù)據(jù)的通用類型,用子類型描述該數(shù)據(jù)類型的特殊格式。類
型子
類
型描
述TextPlain無格式文本,為ASCII碼或ISO8859碼Enriched提供豐富的文檔信息MultipartMixed各部分相互獨(dú)立但一起傳送。接收方看到的形式與郵件消息中的形式相同Parallel除了在傳送時各部分無序外,其余與Mixed相同Alternative不同部分是同一消息的不同表現(xiàn)形式,按增序排列,接收方系統(tǒng)將按照最佳方式顯示Digest與Mixed相似,但每部分默認(rèn)的類型/子類型為Message/rfc822Messagerfc822封裝消息的正文與RFC822一致Partial允許按接收方透明的方式對大郵件分段Extended-body包含指向存在于某個其他地方對象的指針I(yè)magejpegJFIF編碼的JPEG圖像gif圖像為GIF格式VideompegMPEG格式的視頻AudioBasic單通道8bitISDN編碼的音頻,采樣率為8kHzApplicationPostScriptAdobePostScriptOctet-stream一般8bit組成的二進(jìn)制數(shù)據(jù)表6.2RFC2046中說明的內(nèi)容類型
對于報文主體的Text(正文)類型,除了需要對指定字符集的支持外,不需要專門的軟件來獲得正文的含義。主要的子類型是Plain(純文本),就是簡單的由ASCII字符或ISO8859字符組成的字符串。Enriched子類型允許更大的格式靈活性。
Multipart類型指示報文主體包含多個獨(dú)立的部分。content-type首部字段包含稱為boundary(邊界)的參數(shù),定義了在報文的不同部分之間的分隔符,這個邊界不應(yīng)該出現(xiàn)在報文的任何一個部分內(nèi)。每個邊界開始于一個新行,由兩個字符后跟著一個分隔符組成,用于指示最后一個部分結(jié)束的最后一個邊界還有兩個連字符作為后綴。在報文主體的每個部分,可以存在可選的普通的MIME首部。
Message類型提供了MIME的一個重要功能。Message/rfc822子類型指示報文主體是完整的報文,包括首部和主體。盡管使用了這種子類型名,但包裝的報文可以不僅僅是簡單的RFC822報文,而是任何MIME報文。
Application類型指的是其他類型的數(shù)據(jù),典型的是郵件應(yīng)用程序不理解的二進(jìn)制數(shù)據(jù)或信息。S/MIME(SecureMultipurposeInternetMailExtension,安全的多用途互聯(lián)網(wǎng)郵件擴(kuò)展)是基于RSA數(shù)據(jù)安全技術(shù)的MIMEInternet電子郵件格式的安全擴(kuò)展,是一種用于發(fā)送和接收安全MIME數(shù)據(jù)的協(xié)議。
在MIME協(xié)議的基礎(chǔ)上,S/MIME增加了以下兩類安全特性:
①通過數(shù)字簽名,可以驗證數(shù)據(jù)來源的真實性、檢查數(shù)據(jù)的完整性,并且簽名具有不可抵賴的特點。
②通過加密,可以保證數(shù)據(jù)的保密性。S/MIME也支持以上兩種安全特性的復(fù)合。6.2.2S/MIME基本概念S/MIME是通過在RFC1847中定義的多部件媒體類型在MIME中打包安全服務(wù)的一種技術(shù),可以提供驗證、信息完整性、數(shù)字簽名和加密服務(wù)。S/MIME是在PEM(PrivacyEnhancedMail,保密增強(qiáng)郵件)的基礎(chǔ)上建立起來的,它選擇RSA實驗室開發(fā)的PKCS(Public-keyCryptographyStandard,公共密鑰加密標(biāo)準(zhǔn))作為它的數(shù)據(jù)加密和簽名的基礎(chǔ),它使用PKCS#7數(shù)據(jù)格式作為數(shù)據(jù)報文,并使用X.509v3的數(shù)字證書。MIME允許對其content-type進(jìn)行擴(kuò)充,而S/MIME在其基礎(chǔ)上增加了三種新的MIME子類型[5]:multipart/signed、application/x-pkcs7-signature、application/x-pkcs7-mime。前兩種類型的組合支持簽名郵件,后一種類型支持加密郵件。如果將簽名郵件再進(jìn)行一次加密,封裝成后一種類型,就生成了簽名加密郵件,理論上這種封裝是沒有限制的。因此,僅依靠這種對MIME類型的簡單擴(kuò)充,便可以實現(xiàn)復(fù)雜的安全應(yīng)用。MIME協(xié)議的良好擴(kuò)展性使得新特性的引入對原有結(jié)構(gòu)的影響很小,事實上,雖然不支持S/MIME的系統(tǒng)不能處理安全電子郵件,但是MIME協(xié)議要求它的實現(xiàn)能夠預(yù)見到可能出現(xiàn)的新的MIME類型,并且在處理時應(yīng)盡量靈活。因此,當(dāng)使用舊的郵件系統(tǒng)處理S/MIME郵件時,如簽名電子郵件,雖然無法驗證簽名,但是被簽名的內(nèi)容還是可以閱讀的。
圖6.9是加密和簽名的S/MIME電子郵件的格式示意圖。當(dāng)MIME類型為application/x-pkcs7-mime;mime-type=enveloped-data時,表示加密郵件;當(dāng)MIME類型為multipart/signed時,表示簽名郵件。
需要說明的是,上述安全電子郵件的格式并不是S/MIME給出的唯一格式,實際上S/MIME定義了一種加密郵件的格式,以及多種簽名和加密簽名郵件的格式。例如簽名郵件的另一種格式是使用參數(shù)為smime-type=signed-data的application/x-pkcs7-mime類型,不過更普遍的情況使用multipart/signed類型。兩者的區(qū)別是,在使用非S/MIME系統(tǒng)處理郵件時,前一種完全無法識別,后一種至少可以識別出被簽名的內(nèi)容,盡管系統(tǒng)不知道加在后面的簽名是什么東西。這就是S/MIME系統(tǒng)喜歡采用這兩種格式的原因。圖6.9加密和簽名的S/MIME電子郵件的格式S/MIME提供了以下的功能:
加密數(shù)據(jù):這一功能允許用對稱密碼加密一個MIME消息中的任何內(nèi)容類型,從而支持保密性服務(wù),然后用一個或多個接收者的公鑰加密對稱密鑰,接著將加密的數(shù)據(jù)和加密后的對稱密鑰以及任何必要的接收者標(biāo)識符和算法標(biāo)識符一起附加在數(shù)據(jù)結(jié)構(gòu)的后面。
簽名數(shù)據(jù):這一功能提供完整性服務(wù)。發(fā)送者對選定的內(nèi)容計算消息摘要,然后用簽名者的私鑰加密,初始的內(nèi)容以及它的相應(yīng)簽名用Base64編碼。
透明簽名的數(shù)據(jù):和簽名數(shù)據(jù)一樣形成內(nèi)容的數(shù)字簽名。但是這種情況只有數(shù)字簽名部分使用Base64進(jìn)行編碼,因此沒有S/MIME功能的接收者也可以看到報文的內(nèi)容,盡管他不能驗證簽名。
簽名且加密的數(shù)據(jù):這一功能允許簽名已加密的數(shù)據(jù)或者加密已簽名的數(shù)據(jù)來提供保密性和完整性服務(wù)。
6.2.3S/MIME功能S/MIME中使用表6.3中列出的術(shù)語(來源于RFC2119)來說明需求級別。功
能要
求創(chuàng)建用于數(shù)字簽名的數(shù)字摘要必須支持SHA-1,接收方應(yīng)該支持MD5,以便以后兼容加密數(shù)字摘要形成數(shù)字簽名發(fā)送代理和接收代理必須支持DSS發(fā)送代理應(yīng)該支持RSA加密接收代理應(yīng)該支持驗證密鑰大小在512~1024位之間的RSA簽名為傳送消息加密會話密鑰發(fā)送代理和接收代理必須支持Diffie-Hellman發(fā)送代理應(yīng)該支持密鑰大小在512~1024位之間的加密接收代理應(yīng)該支持RSA解密用一次性會話密鑰加密消息發(fā)送代理應(yīng)該支持3DES和RC2/40加密接收代理必須支持用3DES解密,應(yīng)該支持RC2/40解密表6.3S/MIME中的需求級別MUST:在規(guī)格說明書中表示一定要滿足的需求。實現(xiàn)時,必須包括其修飾的特性或與規(guī)格說明中的功能一致。SHOULD:如果在特定條件下有合理的理由,則可以忽略其修飾的特性或功能,但推薦其實現(xiàn)包含其特性或功能。S/MIME組合三種公鑰算法。DSS(DigitalSignatureStandard)是其推薦的數(shù)字簽名算法。Diffie-Hellman是其推薦的密鑰交換算法,實際上,在S/MIME中使用的是其能加密/解密的變體ElGamal。RSA既可以用作簽名,也可以加密回話密鑰。規(guī)格說明推薦使用160位的SHA-1算法作為數(shù)字簽名的Hash函數(shù),但要求接收方能支持128位的MD5算法。S/MIME規(guī)格說明包括如何決定采用何種加密算法。從本質(zhì)上說,一個發(fā)送方代理需要進(jìn)行如下兩個抉擇:發(fā)送方代理必須確定接收方代理是否能夠解密該加密算法。如果接收方代理只能接收弱加密的內(nèi)容,那么發(fā)送方代理必須確定弱加密方式是否可以接受。
為達(dá)到上述要求,發(fā)送方代理可以在它發(fā)送消息之前先宣布它的解密能力,由接收方代理將該消息存儲,留給將來使用。
發(fā)送方代理必須按照如下順序遵守如下規(guī)則:
如果發(fā)送方代理有一個接收方解密性能表,則它應(yīng)該選擇表中的第一個(即優(yōu)先級最高的)性能。
如果發(fā)送方代理沒有接收方的解密性能表,但曾經(jīng)接收到一個或多個來自于接收方的消息,則應(yīng)該使用與最近接收到的消息一樣的加密算法,對將要發(fā)送給接收方的消息進(jìn)行加密。
如果發(fā)送方代理沒有接收方的任何解密性能方面的知識,并且想冒險一試(接收方可能無法解密消息),則應(yīng)該選擇3DES。
如果發(fā)送方代理沒有接收方的任何解密性能方面的知識,并且不想冒險,則發(fā)送方代理必須使用RC2/40。
如果消息需要發(fā)給多個接收方,并且它們沒有一個可以接受的、共同的加密算法,則發(fā)送方代理需要發(fā)送兩條消息。此時,該消息的安全性將由于安全性低的一份拷貝而易受到攻擊。S/MIME使用符合X.509版本3標(biāo)準(zhǔn)的公開密鑰證書。S/MIME使用的密鑰管理方法是嚴(yán)格的X.509證明層次和PGP的信任網(wǎng)絡(luò)的混合。S/MIME的管理者必須為用戶配置可信任的密鑰表和廢除證書的列表。證書是由認(rèn)證機(jī)構(gòu)簽名的。
6.2.4S/MIME證書的處理S/MIME用戶可以完成如下密鑰管理功能:
①密鑰的生成:與管理有關(guān)的使用程序的用戶必須能夠生成單獨(dú)的Diffie-Hellman和DSS密鑰對,并且應(yīng)該能夠生成RSA密鑰對。每個密鑰對必須從一個好的不確定的隨機(jī)輸入源生成并且采用安全的方式進(jìn)行保護(hù)。用戶代理應(yīng)該生成768~1024位之間的密鑰對,并且一定不能生成小于512位的密鑰對。
②注冊:用戶的公開密鑰和認(rèn)證一起注冊獲得X.509公開密鑰證書。
③證書的存儲和查詢:用戶需要訪問證書的本地列表來驗證進(jìn)入的簽名和輸出的報文加密,這張表可以讓用戶進(jìn)行維護(hù)。X.509是一個重要的標(biāo)準(zhǔn),基于公開密鑰加密和數(shù)字簽名,這個標(biāo)準(zhǔn)沒有專門指定使用的加密算法,但推薦使用RSA。其核心部分是與每個用戶聯(lián)系的公開密鑰證書,實際上X.509證書是一種有發(fā)布者數(shù)字簽名的用于綁定某種公開密鑰和其持有者身份的數(shù)據(jù)結(jié)構(gòu)。證書、數(shù)字證書、電子證書等都是X.509證書的同義詞,有時也稱為公鑰證書,是一種權(quán)威性的電子文檔,由具有權(quán)威性、可信任性及公正性的第三方機(jī)構(gòu)(CA)頒發(fā)。
目前,可以使用三種可選的增強(qiáng)的安全服務(wù)來擴(kuò)展當(dāng)前的S/MIMEv3安全以及證書處理服務(wù)。
1.簽名收據(jù)
簽名收據(jù)是一種可選的服務(wù),它考慮的是消息發(fā)送的證明。收據(jù)為發(fā)送者提供了一種向第三方出示證明的手段:接收者不僅收到了消息,而且驗證了初始消息的數(shù)字簽名。最后,接收者對整個消息以及相應(yīng)的簽名進(jìn)行簽名作為接收的證明。該服務(wù)僅僅用于簽名的數(shù)據(jù)。6.2.5S/MIME增強(qiáng)的安全服務(wù)2.安全標(biāo)簽
安全標(biāo)簽可以通過兩種方式來使用。第一種方式,也可能是最容易識別的方式,就是描述數(shù)據(jù)的敏感級。這可以使用一個分級的標(biāo)簽列表(機(jī)密、秘密,限制等)。第二種方式是使用標(biāo)簽來控制授權(quán)和訪問,描述哪類接收者可以訪問數(shù)據(jù)。
3.安全郵件列表
當(dāng)S/MIME協(xié)議提供它的服務(wù)時,發(fā)送代理必須為每個接收者創(chuàng)建特定于接收者的數(shù)據(jù)結(jié)構(gòu)。隨著某個特定消息的接收者的數(shù)目的增加,這一處理可能會削弱發(fā)送消息的性能。這樣,郵件列表代理可以接收一個單獨(dú)的消息并針對每個接收者完成特定于接收者的加密。
通過這兩節(jié)的學(xué)習(xí),可以大致了解PGP和S/MIME這兩種保護(hù)電子郵件的協(xié)議,它們也是目前電子郵件加密的兩大主流技術(shù),都沿用IETF的標(biāo)準(zhǔn),但兩者不兼容。PGP采用分布式的認(rèn)證模式,使用比較方便,適合于公眾領(lǐng)域和內(nèi)部網(wǎng)絡(luò)用戶之間的安全信息交流;而S/MIME則采用基于CA的集中式認(rèn)證模式,更適合于電子商務(wù)、政府機(jī)關(guān)、公司企業(yè)之間等對身份認(rèn)證要求比較高的領(lǐng)域。PGP保留了用戶的個人電子郵件安全服務(wù)的選擇。國際電子郵件標(biāo)準(zhǔn)管理組織(IMC)希望形成安全郵件的統(tǒng)一標(biāo)準(zhǔn),但I(xiàn)MC的成員意見并不一致,因此IMC只好同時發(fā)展這兩種標(biāo)準(zhǔn),直到大家有了統(tǒng)一的迫切要求時,再考慮統(tǒng)一標(biāo)準(zhǔn)。6.2.6PGP和S/MIME的比較
但從實際應(yīng)用情況來看,S/MIME幾乎是電子郵件廠商的首選協(xié)議,許多產(chǎn)品支持S/MIME,它能讓用戶很容易地發(fā)送和接收安全電子郵件。支持S/MIME的產(chǎn)品包括Microsoft的OutlookExpress、NetscapeCommunicator中的Messager郵件程序,Lotus開發(fā)的LotusDomino同樣支持S/MIME,它還能存儲數(shù)字證書,Notes客戶端可以發(fā)送和接收加密或簽過名的郵件等。因此S/MIME協(xié)議可能作為商業(yè)和組織使用的工業(yè)標(biāo)準(zhǔn)而出現(xiàn)。
相對來說,支持PGP的電子郵件廠商少一些。但PGP被廣大的個人用戶所支持和信賴,尤其是它的網(wǎng)狀信任模型,具有很大的靈活性和適應(yīng)性,大大簡化了部署操作,因此對許多用戶來說仍然具有很大的吸引力。6.3SecureShell
為了克服傳統(tǒng)的Telnet、FTP、Rlogin等遠(yuǎn)程服務(wù)存在的各種嚴(yán)重安全缺陷,SSH(SecureShell,安全外殼)協(xié)議1995年由TatuYlonen正式提出。2006年,RFC4250~RFC4254一系列文檔的推出標(biāo)志著SSH成為標(biāo)準(zhǔn)化的網(wǎng)絡(luò)安全協(xié)議。SSH是一種應(yīng)用層的安全通信協(xié)議。它通過建立一個加密的、安全的底層通道完成對雙方交互數(shù)據(jù)的保護(hù),通過其認(rèn)證協(xié)議提供的若干種認(rèn)證方式,增加防止非授權(quán)用戶登錄的能力,并通過連接協(xié)議為各種應(yīng)用層協(xié)議提供安全性保護(hù),使得SSH加密的口令及數(shù)據(jù)可以在不安全的網(wǎng)絡(luò)中透明地提供強(qiáng)認(rèn)證和安全通信。相對于Telnet而言,SSH提供的安全性服務(wù)主要包括以下幾個方面:
①密文傳輸:在SSH連接建立初期,雙方會通過協(xié)商的方式得出雙方通信的加密算法和會話密鑰,此后雙方
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國貼劑行業(yè)發(fā)展現(xiàn)狀及前景規(guī)劃研究報告
- 2025-2030年中國稀土冶煉分離市場運(yùn)行動態(tài)及發(fā)展前景分析報告
- 2025甘肅省安全員考試題庫附答案
- 南京醫(yī)科大學(xué)《課程論文寫作與學(xué)術(shù)規(guī)范》2023-2024學(xué)年第二學(xué)期期末試卷
- 黔西南民族職業(yè)技術(shù)學(xué)院《外國建筑史》2023-2024學(xué)年第二學(xué)期期末試卷
- 青海交通職業(yè)技術(shù)學(xué)院《傳感檢測技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津商業(yè)大學(xué)《學(xué)術(shù)論文選題與寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北大學(xué)《財務(wù)會計一》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025上海市建筑安全員考試題庫及答案
- 西藏大學(xué)《軟件交互設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 原材料取樣檢測安全操作規(guī)程
- 創(chuàng)新思維與方法(第2版)PPT全套完整教學(xué)課件
- (5.3.2)-2.2雜草的分類農(nóng)田雜草及防除學(xué)
- 人教部編道德與法治五年級下冊單元計劃
- 天津武清區(qū)事業(yè)單位考試真題2022
- 鐵路營業(yè)線施工安全管理培訓(xùn)課件
- 旅行社運(yùn)營實務(wù)電子課件 1.2 了解旅行社核心業(yè)務(wù)部門
- 部編版五年級語文下冊課文四字詞總結(jié)
- 綜合交通運(yùn)輸體系認(rèn)知
- GM/T 0115-2021信息系統(tǒng)密碼應(yīng)用測評要求
- YY 0670-2008無創(chuàng)自動測量血壓計
評論
0/150
提交評論