成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號

PGP加密的優(yōu)越性
2005-12-18   

我們知道PGP(Pretty Good Privacy)是目前最流行的一種加密軟件,它是一個基于RSA公鑰加密體系的郵件加密軟件。我們可以用它對郵件保密以防止非授權(quán)者閱讀,它還能對用戶的郵件加上數(shù)字簽名,從而使收信人可以確信發(fā)信人的身份。它讓用戶可以安全地和從未見過的人們通信,事先并不需要任何保密措施的來傳遞密鑰,因?yàn)樗捎昧朔菍ΨQ的“公鑰”和“私鑰”加密體系。

但PGP不是一種完全的非對稱加密體系,它是個混合加密算法,它是由一個對稱加密算法(IDEA)、一個非對稱加密算法(RSA)、一個單向散列算法(MD5)以及一個隨機(jī)數(shù)產(chǎn)生器(從用戶擊鍵頻率產(chǎn)生偽隨機(jī)數(shù)序列的種子)組成的,每種算法都是PGP不可分割的組成部分,PGP至所以得到流行,得到大家的認(rèn)可,最主要的一半是它集中的幾種加密算法的優(yōu)點(diǎn),使它們彼此得到互補(bǔ)。

我們知道采用“公鑰”和“私鑰”加密體系最大的安全性問題就是公開的“公鑰”可能被人篡改,影響文件的解密,雖然PGP也采用這一加密體系,并且所有“公鑰”和“私鑰”都可以由用戶自己產(chǎn)生,不需要專門的認(rèn)證機(jī)構(gòu),但它卻有一個比較完善的密鑰管理體制,所以它的另一半優(yōu)點(diǎn)就體現(xiàn)在PGP獨(dú)特的密鑰管理體制上。

下面我們就從PGP加密機(jī)制和密鑰管理的角度來分析PGP加密的優(yōu)越性。

在現(xiàn)代社會里,電子郵件和網(wǎng)絡(luò)上的文件傳輸已經(jīng)成為生活的一部分。郵件的安全問題也就突出了,大家都知道在互聯(lián)網(wǎng)上傳輸?shù)臄?shù)據(jù)是不加密的。如果用戶不保護(hù)自己的信息,第三者就會輕易獲得用戶的隱私。還有一個問題就是信息認(rèn)證,如何讓收信人確信郵件沒有被第三者篡改,就需要使用數(shù)字簽名技術(shù)。

RSA公鑰體系的特點(diǎn)使它非常適合用來滿足上述兩個要求:保密性(privacy)和公證性(authentication)。PGP的創(chuàng)始人是美國的Phil Zimmermann,他的創(chuàng)造性在于他把RSA公鑰體系的方便和傳統(tǒng)加密體系的高度結(jié)合起來,并且在數(shù)字簽名和密鑰認(rèn)證管理機(jī)制上有巧妙的設(shè)計(jì)。

RSA(Rivest-Shamir-Adleman)算法是基于大數(shù)不可能被質(zhì)因數(shù)分解假設(shè)的公鑰體系。簡單地說就是找兩個很大的質(zhì)數(shù)。一個對外公開,一個不告訴任何人。公開的一個稱為“公鑰”,另一個叫“私鑰”(Prblic key & Secret key or Private key)。這兩個密鑰是互補(bǔ)的,也就是說用公鑰加密的密文只可以用私鑰解密,反過來也一樣。
 

假設(shè)甲要寄信給乙,他們互相知道對方的公鑰。甲就用乙的公鑰加密郵件寄出,乙收到后就可以用自己的私鑰解密出甲的原文。由于別人不知道乙的私鑰,所以即使是甲本人也無法解密那封信,這就解決了信件保密的問題。另一方面,由于每個人都知道乙的公鑰,他們都可以給乙發(fā)信,那么乙怎么確信來信是不是甲的,這就是數(shù)字簽名的必要性,用數(shù)字簽名來確認(rèn)發(fā)信的身份。

PGP的數(shù)字簽名是利用一個叫“郵件文摘”的功能,“郵件文摘”(message digest),簡單地講就是對一封郵件用某種算法算出一個最能體現(xiàn)這封郵件特征的數(shù)來,一旦郵件有任何改變這個數(shù)都會發(fā)生變化,那么這個數(shù)加上用戶的名字(實(shí)際上在用戶的密鑰里)和日期等等,就可以作為一個簽名了,確切地說PGP是用一個128位的二進(jìn)制數(shù)進(jìn)行為"郵件文摘"的,用來產(chǎn)生它的算法就是MD5(Message Digest 5。MD5的提出者是Ron Rirest,PGP中使用的代碼是由Colin Plumb 編寫的MD5,MD5是一種單向散列算法,它不像校驗(yàn)碼,是一份替代的郵件并且與原件具有同樣的MD5特征值。

PGP給郵件加密和簽名的過程是這樣的:首先甲用自己的私鑰將上述的128位值加密,附加在郵件后,再用乙的公鑰將整個郵件加密(要注意這里的次序,如果先加密再簽名的話,別人可以將簽名去掉后簽上自己的簽名,從而篡改了簽名)。這樣這份密文被乙收到以后,乙用自己的私鑰將郵件解密,得到甲的原文和簽名,乙的PGP也從原文計(jì)算出一個128位的特征值來和用甲的公鑰解密簽名所得到的數(shù)進(jìn)行比較,如果符合就說明這份郵件確實(shí)是甲寄來的。這樣兩個安全性要求都得到了滿足。

PGP還可以只簽名而不加密,這適用于公開發(fā)表聲明時,聲明人為了證實(shí)自己的身份(在網(wǎng)絡(luò)上只能如此了),可以用自己的私簽名,這樣就可以讓收件人能確認(rèn)發(fā)信人的身份,也可以防止發(fā)信人抵賴自己的聲明。這一點(diǎn)在商業(yè)領(lǐng)域有很大的應(yīng)用前途,它可以防止發(fā)信人抵賴和信件被途中篡改。

為什么說PGP用的是RSA和傳統(tǒng)加密的雜合算法呢?因?yàn)镽SA算法計(jì)算量很大而且在速度上也不適合加密大量數(shù)據(jù),所以PGP實(shí)際上用來加密的不是RSA本身,而是采用了一種叫IDEA的傳統(tǒng)加密算法,又稱為“對稱加密法”。

傳統(tǒng)加密方法就是用一個密鑰加密明文,然后用同樣的密鑰解密。這種方法的代表是DES(US Federal Data Encryption Standard),也就是乘法加密,這的主要缺點(diǎn)就是密碼長度較短,且的傳遞渠道解決不了安全性問題,不適合網(wǎng)絡(luò)環(huán)境郵件加密需要。
 

IDEA是一個有專利的算法,專利持有者是ETH和一個瑞士公司:Ascom-Tech AG。IDEA的加(解)密速度比RSA快得多,所以實(shí)際上PGP是以一個隨機(jī)生成的密鑰(每次加密不一樣),用IDEA算法對明文加密,然后用RSA算法對該密鑰加密。這樣收件人同樣是用RSA解出這個隨機(jī)密鑰,再用IDEA解密郵件本身。這樣的鏈?zhǔn)郊用芫妥龅搅思扔蠷SA體系的保密性,又有IDEA算法的快捷性。PGP的創(chuàng)意有一半就在這一點(diǎn)上了,為什么RSA體系70年代就提出來,一直沒有推廣應(yīng)用呢?速度太慢!那PGP創(chuàng)意的另一半在哪兒呢?就是下面我要談的密鑰管理。

一個成熟的加密體系必然要有一個成熟的密鑰管理機(jī)制配套。公鑰體制的提出就是為了解決傳統(tǒng)加密體系的密鑰分配過程保密的缺點(diǎn)。比如網(wǎng)絡(luò)黑客們常用的手段之一就是"監(jiān)聽",如果密鑰是通過網(wǎng)絡(luò)傳送就太危險(xiǎn)了。對PGP來說公鑰本來就要公開,就沒有防監(jiān)聽的問題。但公鑰的發(fā)布中仍然存在安全性問題,例如公鑰被篡改(public key tampering),這可能是公鑰密碼體系中最大漏洞 。用戶必須確信用戶的公鑰屬于需要收信的那個人。

為了把這個問題說清楚,先舉個例子進(jìn)行說明,然后再說如何正確使用PGP堵住這個漏洞。

以用戶A和用戶B通信為例,現(xiàn)假設(shè)用戶A想給用戶B發(fā)信,首先用戶A就必需獲取用戶B的公鑰,用戶A從BBS上下載或其它途徑得到了B的公鑰,并用它加密了信件發(fā)給了B。不幸的是,用戶A和B都不知道,另一個用戶C潛入BBS或網(wǎng)絡(luò)中,偵聽或截取到用戶B的公鑰,然后在自己的PGP系統(tǒng)中用用戶B的名字生成密鑰對中的公鑰替換了用戶B的公鑰,并放在BBS上或直接以用戶B的身份把更換后的用戶B的“公鑰”發(fā)給用戶A。那用戶A用來發(fā)信的公鑰是已經(jīng)是更改過的,實(shí)際上是用戶C偽裝用戶B生成的另一個公鑰。這樣誰都不會起疑心,但這樣一來用戶B收到用戶A的來信后就不能用自己的私鑰解密了,更可惡的是,用戶C還可偽造用戶B的簽名給用戶A或其他人發(fā)信,因?yàn)橛脩鬉手中的公鑰是偽造 ,用戶A會以為真是用戶B的來信。

防止這種情況出現(xiàn)的最好辦法是避免讓任何其他人有機(jī)會篡改公鑰,但能做到這一點(diǎn)的是非常困難的,一種方法是直接從用戶B手中得到他的公鑰,然而當(dāng)他在遠(yuǎn)在他鄉(xiāng)或在時間上根本不可達(dá)到時,這是不可辦到的。

但PGP發(fā)展了一種公鑰介紹機(jī)制來解決這個問題,其思路是這樣的:如果用戶A和用戶B有一個共同的朋友D,而D知道他手中的B的公鑰是正確的。這樣D就成為用戶A和B之間的公證人,用戶B為了防止別人篡改自己的公鑰,就把經(jīng)過D簽名的自己的公鑰上載到BBS上讓用戶去拿,用戶A想要取得用戶B的公鑰就必需先獲取D的公鑰來解密BBS或網(wǎng)上經(jīng)過D簽名的B的公鑰,這樣就等于加了雙重保險(xiǎn),一般沒有可能去篡改它而不被用戶發(fā)現(xiàn),即使是BBS的管理員。這就是從公共渠道傳遞公鑰的安全手段。
 

說到這里也許有人會問想到,只通過一個簽名公證力度是不是小了點(diǎn),聰明的PGP當(dāng)然會想到這一點(diǎn),就是把不同簽名自己的公鑰收集在一起,發(fā)送到公共場合,這樣可以希望大部分人至少認(rèn)識其中一個,從而間接認(rèn)證了用戶的公鑰。同樣用戶簽了朋友的公鑰后應(yīng)該寄回給他,這樣就可以讓他通過該用戶被該用戶的其他朋友所認(rèn)證。有點(diǎn)意思吧,和現(xiàn)實(shí)社會中人們的交往一樣。PGP會自動根據(jù)用戶拿到的公鑰中有哪些是朋友介紹來的,把它們分為不同的信任級別,供用戶參考決定對它們的信任程度。也可指定某人有幾層轉(zhuǎn)介公鑰的能力,這種能力是隨著認(rèn)證的傳遞而遞減的。

也許還有人會問:如何安全地得到D或其他簽名朋友的公鑰呢。確實(shí)有可能用戶A拿到的D或其他簽名的朋友的公鑰也假的,但這就求這個用戶C必須對你們?nèi)松踔梁芏嗳硕己苁煜ぃ@樣的可能性不大,而且必需經(jīng)過長時間的策劃。當(dāng)然,PGP對這種可能也預(yù)防的建議,那就是由一個大家普遍信任的機(jī)構(gòu)擔(dān)當(dāng)這個角色,他被稱為認(rèn)證權(quán)威機(jī)構(gòu),每個由他簽過字的公鑰都被認(rèn)為真的,這樣大家只要有他的公鑰就行了,認(rèn)證這個人的公鑰是方便的,因他廣泛提供這個服務(wù),假冒他的公鑰是極困難的,因?yàn)樗墓€流傳廣泛。這樣的"權(quán)威機(jī)構(gòu)"適合由非個人控制組織或政府機(jī)構(gòu)充當(dāng),現(xiàn)在已經(jīng)有等級認(rèn)證制度的機(jī)構(gòu)存在,如廣東省電子商務(wù)電子認(rèn)證中心(www.cnca.net)就是一個權(quán)威的認(rèn)證機(jī)構(gòu)。

對于那些非常分散的用戶,PGP更贊成使用私人方式的密鑰轉(zhuǎn)介方式,因這樣有的非官方途徑更能反映出人們自然的社會交往,而且人們也能自由地選擇信任的朋友來公證,總之和不認(rèn)識的人們之間的交往一樣,每個公鑰至少有一個"用戶名"(User ID),請盡量用自己的全名,最好再加上本人的E-mail地址,以免混淆,這就是PGP推薦使用的電話密鑰認(rèn)證。

PGP的每個密鑰有它們自己的標(biāo)識(keyID),keyID是一個8位十六進(jìn)制數(shù),兩個密鑰具有同keyID的可能性只有十億分之一,而且PGP還提供了一種更可靠的標(biāo)識密鑰的方法:“密鑰指紋”(keys fingrprint),每個密鑰對應(yīng)一串?dāng)?shù)字(16個2位十六進(jìn)制數(shù)),這個指紋重復(fù)的可能就更微乎其微了。而且任何人無法指定生成一個具有某個指紋的密鑰,密鑰是隨機(jī)生成的,從指紋也無法反推出密鑰來。用戶拿到某人密鑰后就可以他在電話上核對這個指紋,從而認(rèn)證他的公鑰。


熱詞搜索:

上一篇:什么是注入式攻擊(1)
下一篇:什么是PGP?

分享到: 收藏
主站蜘蛛池模板: 《x教程》韩剧免费观看| 现代短诗繁星| 孕检时间表和项目| 天天快乐高清在线观看视频 | 阿兵| 邓为个人资料简介及家世| 韩世雅演的电影有哪些| 日本午夜电影| 控制点电影| 电影继父| 年轻的丈夫 电影| 安多卫视直播在线观看| 混凝土结构设计规范gb50010-2020 | 谭耀文演的电影| 勇士之门 电影| 做菜的视频家常菜大全| 原野电影| 人民的名义电视剧免费版| 刘洋演员| 中长发图片2024最新款女| alurajenson主演的电影| 电影青春期| 美女网站在线观看| 阳巧玥| 我爱你再见演员表| 我在等你泰剧剧情介绍| 昵称大全2024最新版| 法尔| 喜欢小红帽的原因怎么写| 赤月| 电影《瞬间》| 一闪一闪亮晶晶的简谱钢琴| 七龙珠2| 免费在线观看勇士| 和平饭店电视剧42集免费观看| 霹雳火 电影| 柯佳青| 二丫的美好生活[年代]| 花有重开日电影| 天国恩仇| 范瑞君|