摘 要 首先介紹電子郵件的傳輸過(guò)程,引出安全電子郵件的重要性,然后介紹電子郵件安全協(xié)議PGP,涉及到的IDEA、RSA、MD5加密算法以及其安全性分析。
關(guān)鍵詞 電子郵件;PGP;加密算法;安全性
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2014)08-0140-02
電子郵件的方便、快速、費(fèi)用低廉等優(yōu)點(diǎn),再加上它不但能傳送文字信息,還可以附上圖像、聲音等功能,這使得電子郵件越來(lái)越受人們的歡迎。
1 電子郵件的傳輸過(guò)程
電子郵件通過(guò)SMTP和POP協(xié)議來(lái)進(jìn)行發(fā)送和接受,但由于互聯(lián)網(wǎng)的開(kāi)放性,郵件內(nèi)容是以明文的形式在互聯(lián)網(wǎng)上進(jìn)行傳遞。這使得人們?cè)谑褂秒娮余]件時(shí)不得不考慮其安全因素,因此如何保證電子郵件的機(jī)密性、完整性、真實(shí)性和不可抵賴(lài)性等方面的問(wèn)題顯得尤為重要。
2 PGP介紹
為了使電子郵件在互聯(lián)網(wǎng)上能夠安全運(yùn)行,開(kāi)發(fā)出了一些安全電子郵件標(biāo)準(zhǔn):PGP和S/MIME。其中PGP被廣泛運(yùn)用。
PGP(Pretty Good Privacy)是美國(guó)人Phil Zimmermann研究出來(lái)的,它是由多種加密算法(IDEA、RSA、MD5、隨機(jī)數(shù)生成算法)組合而成,不但能夠?qū)崿F(xiàn)郵件的保密功能,還可以對(duì)郵件進(jìn)行數(shù)字簽名,使收信人能夠準(zhǔn)確判斷郵件在傳遞過(guò)程中是否被非法篡改。
3 PGP工作原理
3.1 IDEA算法
IDEA屬于對(duì)稱(chēng)加密算法,即加密密鑰和解密密鑰相同,具體的算法規(guī)則是,將輸入數(shù)據(jù)以每64為一塊,對(duì)每塊進(jìn)行分組,分為4組,每組16位,作為第一輪的輸入,進(jìn)行相乘、相加、異或等運(yùn)行后,形成4個(gè)子分組,將中間兩間進(jìn)行交換,作為下一輪的輸入,經(jīng)過(guò)8輪運(yùn)算后,同樣得到4個(gè)子分組,再將這4組重新連接到一起形成密文共64位。
3.2 RSA算法
RSA屬于非對(duì)稱(chēng)加密算法,也稱(chēng)公鑰算法,即加密密鑰和解密密鑰不同,并且加密密鑰可以完全公開(kāi),但由于沒(méi)有解密密鑰,即使非法者竊取到了密文和發(fā)送者的加密密鑰也無(wú)法查看內(nèi)容,解決了對(duì)稱(chēng)加密中對(duì)密鑰管理困難的問(wèn)題,RSA的安全性取決于對(duì)大數(shù)的因式分解,這是數(shù)學(xué)上的一個(gè)難題。
RSA算法描述:
1)隨意選擇兩個(gè)大的質(zhì)數(shù)p和q,p不等于q,q和p保密;
2)計(jì)算n=pq;
3)歐拉函數(shù),φ(n) = (p-1)(q-1),n公開(kāi),φ(n)保密;
4)選擇一個(gè)小于φ(n)的正整數(shù)e,滿(mǎn)足gcd(e,φ(n))=1,e是公開(kāi)的加密密鑰;
5)計(jì)算d,滿(mǎn)足de≡1(modφ(n)), d是保密的解密密鑰;
6)加密變換:對(duì)明文m∈Zn,密文為C=me mod n;
7)解密變換:對(duì)密文C∈Zn,明文為m=Cd mod n;
由于RSA涉及的運(yùn)算非常復(fù)雜,所以在運(yùn)算速度上很慢,因而RSA算法只適合于對(duì)少量數(shù)據(jù)進(jìn)行加密,如數(shù)字簽名,一般情況下,如果要對(duì)大量信息進(jìn)行加密,還是采用對(duì)稱(chēng)加密算法,因?yàn)閷?duì)稱(chēng)加密速度比公鑰加密速度快得多。
3.3 MD5算法
MD5屬于Hash函數(shù),可以將任意長(zhǎng)度的輸入壓縮到固定長(zhǎng)度的輸出,具有多對(duì)一的單向特性??梢杂糜跀?shù)字簽名、完整性檢測(cè)等方面。
4 PGP提供的業(yè)務(wù)
PGP提供的業(yè)務(wù)包括:認(rèn)證、加密、壓縮、與電子郵件兼容、基數(shù)-64變換。
4.1 認(rèn)證
認(rèn)證的步驟是:①發(fā)信人創(chuàng)建信息M;②發(fā)信人使用MD5算法產(chǎn)生128位的消息摘要H;③發(fā)信人用自己的私鑰,采用RSA算法對(duì)H進(jìn)行加密ER,M‖ER連接后進(jìn)行壓縮得到Z;④將Z通過(guò)互聯(lián)網(wǎng)發(fā)送出去;⑤接收者收到信息后首先進(jìn)行解壓Z-1,使用發(fā)信人的公開(kāi)密鑰采用RSA算法進(jìn)行解密得出H,用接收到的M計(jì)算消息摘要H,將得出的兩個(gè)H進(jìn)行比較,如果相同則接收,否則表示被篡改,拒絕。
4.2 加密
加密的步驟:發(fā)信人對(duì)信息M進(jìn)行壓縮,采用IDEA算法對(duì)其進(jìn)行加密,用接收者的公鑰對(duì)密鑰進(jìn)行加密,與M進(jìn)行連接后發(fā)出,接收者采用RSA算法進(jìn)行解密得到會(huì)話(huà)密鑰,將會(huì)話(huà)密鑰按IDEA算法進(jìn)行解密,并解壓縮,并到原文。
在加密過(guò)程中,由于信息相對(duì)內(nèi)容較多,因此對(duì)信息的加密采用的是對(duì)稱(chēng)加密算法IDEA來(lái)實(shí)現(xiàn),而密鑰采用的是安全強(qiáng)度為高的非對(duì)稱(chēng)加密算法RSA實(shí)現(xiàn),通過(guò)IDEA和RSA結(jié)合,不但提高了郵件傳輸?shù)陌踩?,而且在加解密時(shí)間上也縮短了。
4.3 壓縮
PGP采用ZIP算法壓縮信息,這不但節(jié)省了存儲(chǔ)空間,而且在傳輸過(guò)程中也節(jié)省了時(shí)間,另外,在對(duì)信息進(jìn)行加密之前壓縮,也相當(dāng)于進(jìn)行了一次變換,使其安全性增強(qiáng)。
4.4 與電子郵件兼容
由于電子郵件只允許使用ASCⅡ字符串,而PGP的輸出卻是8位串,為了與電子郵件進(jìn)行兼容,PGP采用基數(shù)-64變換實(shí)現(xiàn)將輸出的8位串轉(zhuǎn)換為可以打印的ASCII字符串。
4.5 PGP消息分段和重組
電子郵件中對(duì)消息內(nèi)容的長(zhǎng)度有限制的,當(dāng)大于所限制的長(zhǎng)度時(shí)要進(jìn)行分段,分段是在所有處理結(jié)束之后才進(jìn)行,所以會(huì)話(huà)密鑰和簽名在第一個(gè)段開(kāi)始位置出現(xiàn)。在接收端,PGP將重新組合成原來(lái)的信息。
5 PGP安全性分析
由于PGP是一種混合密碼體系,它的安全性在于IDEA、RSA、MD5算法的安全性分析。
5.1 IDEA的安全性
在PGP中采用IDEA的64位CFB模式,很多研究者對(duì)IDEA的弱點(diǎn)進(jìn)行了分析,但也沒(méi)有找到破譯的方法,由此可見(jiàn),IDEA算法也是比較安全的,它的攻擊方法只有“直接攻擊”或者是“密鑰窮舉”攻擊。endprint
5.2 RSA的安全性
RSA算法是非對(duì)稱(chēng)密碼體制,它的安全性基于大整數(shù)的素分解的難解性,經(jīng)過(guò)長(zhǎng)期的研究至今也未找到一個(gè)有效的解決方案,在數(shù)學(xué)上就是一個(gè)難題,因此,RSA公鑰密碼體制就建立在對(duì)大數(shù)的因式分解這個(gè)數(shù)學(xué)難題上。
假設(shè)密碼分析者能夠通過(guò)n分解因子得到p和q,那么他很容易就可以求出歐拉函數(shù)φ(n)和解密密鑰d,從而破譯RSA,因此,破譯RSA比對(duì)n進(jìn)行因式分解難度更大。
假設(shè)密碼分析者能夠不對(duì)n進(jìn)行因子分解就求出歐拉函數(shù)φ(n),那么他可以根據(jù)de≡1(modφ(n)),得到解密密鑰d,從而破譯RSA,因?yàn)閜+q=n-φ(n)+1,p-q=sqr(p+q)^2-4n,所以知道φ(n)和n就可以容易地求得p和q,從而成功地分解n,所以不對(duì)n進(jìn)行因子分解而直接計(jì)算φ(n)比對(duì)n進(jìn)行因子分解難度更大。
假如密碼分析者能夠即不對(duì)n進(jìn)行因子分解也不需要求φ(n)而是直接求得解密密鑰d,那么他就可以計(jì)算ed-1,其中ed-1是歐拉函數(shù)φ(n)的倍數(shù),因?yàn)槔忙眨╪)的倍數(shù)可以容易的分解出n的因子。所以,直接計(jì)算解密密鑰d比對(duì)n進(jìn)行因式分解更難。
雖然n越大其安全性越高,但由于涉及到復(fù)雜的數(shù)學(xué)運(yùn)算,會(huì)影響到運(yùn)行速度,那么我們實(shí)際運(yùn)用中,如果來(lái)決定n的大小使其既安全其速度又不能太慢,目前n的長(zhǎng)度為1024位至2048位比較合理。
研究人員建議,在運(yùn)用RSA算法時(shí),除了指定n的長(zhǎng)度外,還應(yīng)對(duì)p和q進(jìn)行限制:①p和q的大小應(yīng)該相差不多;②p-1和q-1都應(yīng)該包含大的素因子;③gcd(p-1,q-1)應(yīng)該很小。
5.3 MD5的安全性
MD5是在MD4的基礎(chǔ)上發(fā)展起來(lái)的,在PGP中被用來(lái)單向變換用戶(hù)口令和對(duì)信息簽名的單向散列算法。它的安全性體現(xiàn)在能將任意輸入長(zhǎng)度的消息轉(zhuǎn)化為固定長(zhǎng)度的輸出。目前對(duì)單向散列的直接攻擊包括普通直接攻擊和“生日攻擊”。
在密碼學(xué)中,有這么一句話(huà):永遠(yuǎn)不要低估密碼分析者的能力。這也將是密碼設(shè)計(jì)者與密碼分析者的較量,事實(shí)上絕對(duì)不可破譯的密碼體制在理論上是不存在的,因此,在實(shí)際應(yīng)用中,一個(gè)密碼體制在使用一段時(shí)間后,會(huì)換一些新的參數(shù),或者是更換一種新的密碼體制,當(dāng)然,密鑰也是要經(jīng)常換的。由此可見(jiàn),PGP軟件雖然給我們的電子郵件帶來(lái)了安全性保障,但它也不是永恒的,也許在不久的將來(lái),由于它的弱點(diǎn)被攻擊而被新的安全電子郵件產(chǎn)品所代替。
參考文獻(xiàn)
[1]劉冰.PGP系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)與應(yīng)用[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2008(4).
[2]吳志強(qiáng).基于PGP加密技術(shù)中小企事業(yè)安全電子郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南昌大學(xué).
[3]文遠(yuǎn).PGP安全電子郵件系統(tǒng)研究與實(shí)現(xiàn)[D].北京郵電大學(xué).
[4]陳魯生,沈世鎰.現(xiàn)代密碼學(xué)(第二版)[M].科學(xué)出版社,2008.
作者簡(jiǎn)介
鐘澤秀,講師,碩士,計(jì)算機(jī)應(yīng)用技術(shù)專(zhuān)業(yè)。endprint