梁雪梅
摘 要:網絡時代的到來使世界的距離縮短了,隨著信息的流通電子郵件成為當今社會不可缺少的一個網絡組成部分,并且隨之而來的安全問題也逐步的被人們重視。本文對現今社會電子郵件的安全問題作出歸納,并詳細介紹現如今流行的電子郵件加密軟件PGP的報文組成以及PGP的工作原理。
關鍵詞:數字簽名;郵件文摘;電子郵件;密匙;RSA簽名體制
1引言
上世紀末本世紀初,因特網在世界范圍內得到了迅猛的發展,網絡用戶每年都呈幾何級數增長。與此同時,網絡上的信息安全問題逐漸成為國際互聯望商業化的巨大障礙,越來越受到重視。網絡的安全問題,諸如網絡新聞、文件傳輸、萬維網(WWW)等,在缺乏保護的情況下,在網絡上存儲和傳輸的任何信息,都存在著被泄露和篡改的可能性。
電子郵件(E-mail)是因特網上最大的應用,也是廣泛的跨平臺、跨體系結構的分布式應用。隨著用戶的增多和使用范圍的逐漸擴大,保證郵件本身的安全以及電子郵件對系統安全性的影響越來越重要。
2 電子郵件存在的安全問題
E-mail在因特網上傳輸,從一個機器傳輸到另一個機器。在這種方式下,在其所經過網絡上的任一系統管理員或黑客都有可能截獲和更改該郵件,甚至偽造某人的E-mail。因此電子郵件本身的安全性是以郵件經過的網絡系統的安全性和管理人員的誠實、對信息的漠不關心為基礎的。
因特網電子郵件系統由郵件用戶代理(Mail User Agent,MUA)、收集報文的輸出隊列、郵件傳輸代理(Mail Transport Agent,MTA)以及接收郵件報文的郵箱組成。
MUA:即郵件客戶端程序,負責為用戶提供管理郵件的界面。這些管理功能包括接收信件、閱讀信件、寫和發送新信件等。常見的郵件用戶代理例如Microsoft Outlook,Foxmail。
MTA:負責電子郵件報文的轉發和投遞。常見的郵件傳輸代理有sendmail,smail,Qmail,Postfix等。
郵件發送者使用MUA將編輯好的郵件送入輸出隊列,本地MTA再將本地郵件隊列中的郵件發往因特網,其間可能經過若干中繼MTA,直到轉發到接收方的本地MTA,接收方本地的MTA將郵件最后存儲到接收方的郵箱中去。
不難看出,在整個電子郵件傳遞過程中都必須依靠因特網的支持,因此所呈現的安全問題主要包括以下幾類:
(1)開放性
基于因特網技術的最顯著優點是開放性,而且是完全連接的,千百萬個用戶中的任何一個都可以給特定用戶發送電子郵件。這種廣泛的開放性從安全性上看,反而成了易受攻擊的弱點。任何運行TCP/IP的機器都可以利用這些協議進入網絡。進而竊取、篡改電子郵件內容。
(2)自身的不完善
電子郵件通信協議的制定是建立在完全信任的基礎之上,即被信任的一方會嚴格按信任者期望的那樣行動,因此包括發送時使用的SMTP(簡單郵件傳輸協議)協議以及接收時使用的POP3(郵局協議)都是明文的通信協議。使用明文協議意味著發件人的賬號密碼甚至郵件的內容隨時有可能在任何一個傳遞的中間環節被盜取。
諸如此類的問題顯然并不符合用戶安全要求。在人們譴責虐習,呼吁安全的聲音中PGP (Pretty Good Privacy)誕生了。PGP是一個基于RSA公匙加密體系的郵件加密軟件。可以用它對你的郵件保密以防止非授權者閱讀,同時還能對郵件加上數字簽名從而使收信人可以確信郵件發送方身份。
3 PGP在電子郵件中的運用
3.1 PGP的報文組成
PGP其創始人是美國的齊默恩. 菲爾( Phil Zimmermann)。PGP的創造性在于把 RSA 公鑰體系的方便和傳統加密體系的高速結合起來,并且在數字簽名和密鑰認證管理機制上有巧妙的設計。
PGP報文由三個部分組成,即報文的IDEA密鑰部分、簽字部分以及報文本身。第一部份是密鑰部份,主要包括密鑰創建人的信息,如姓名、電子郵件等與一次性會話密鑰。第二部份是簽字部份,主要包括密鑰創建人的信息,如姓名、電子郵件等、創建時間、簽字首部內容、MD5散列函數的值。第三部份是報文部份,主要包括用戶所要發送的報文體、時間、報文名字、報文首部內容。其中報文部份與簽字部份采用IDEA 算法來加密壓縮,得到的壓縮密文信息再與密鑰部份拼接在一起轉換成BASE64編碼。所以用戶最終接收到信息就是BASE64編碼的信息內容。
3.2 PGP的運作過程
PGP的實際操作過程由五種服務組成:鑒別、機密性、電子郵件的兼容性、壓縮、分段和重裝。
過程說明如下:
第一步:鑒別
①發送者創建報文;
②發送者使用MD5生成報文的160bit散列代碼(郵件文摘);
③發送者使用自己的私有密鑰,采用RSA算法對散列代碼進行加密,串接在報文的前面;
④接收者使用發送者的公開密鑰,采用RSA解密和恢復散列代碼;
⑤接收者為報文生成新的散列代碼,并與被解密的散列代碼相比較。如果兩者匹配,則報文作為
已鑒別的報文而接收。
第二步: 機密性
在PGP中,每個常規密鑰只使用一次,即對每個報文生成新的128bit的隨機數。為了保護密鑰,使用接收者的公開密鑰對它進行加密。
①發送者生成報文和用作該報文會話密鑰的128bit隨機數;
②發送者采用CAST-128加密算法,使用會話密鑰對報文進行加密。也可使用IDEA或3DES;
③發送者采用RSA算法,使用接收者的公開密鑰對會話密鑰進行加密,并附加到報文前面;
④接收者采用RSA算法,使用自己的私有密鑰解密和恢復會話密鑰;
⑤接收者使用會話密鑰解密報文。
第三步:電子郵件的兼容性
當使用PGP時,至少傳輸報文的一部分需要加密,因此部分或全部的結果報文由任意8bit字節流組成。但由于很多的電子郵件系統只允許使用由ASCII正文組成的塊,所以PGP提供了radix-64(BASE 64格式)轉換方案,將原始二進制流轉化為可打印的ASCII字符。
第四步:壓縮
PGP在加密前進行預壓縮處理,PGP內核使用PKZIP算法壓縮加密前的明文。一方面對電子郵件而言,壓縮后再經過radix-64編碼有可能比明文更短,這就節省了網絡傳輸的時間和存儲空間;另一方面,明文經過壓縮,實際上相當于經過一次變換,對明文攻擊的抵御能力更強。
第五步:分段和重裝
電子郵件設施經常受限于最大報文長度(50000個)八位組的限制。分段是在所有其他的處理(包括radix-64轉換)完成后才進行的,因此,會話密鑰部分和簽名部分只在第一個報文段的開始位置出現一次。在接收端,PGP必須剝掉所在的電子郵件首部,并且重新裝配成原來的完整的分組。
4結束語
基于PGP的安全郵件加密是針對傳統電子郵件所存在的某些問題而提出的,所以與明文形式的電子郵件傳遞相比擁有自己獨特的優點。主要解決了傳統電子郵件易被竊取,保密性受損的弊端;第二,解決了傳統電子郵件易被篡改,破壞完整性的缺點;因此PGP在今后的網絡安全技木中將占據很重要的地位。