国产精品香蕉在线观看网,亚洲欧美精品综合在线观看,亚洲不卡av一区二区无码不卡,亚洲日本精品国产第一区二区

移動安全 安全管理 應(yīng)用案例 網(wǎng)絡(luò)威脅 系統(tǒng)安全 應(yīng)用安全 數(shù)據(jù)安全 云安全
當(dāng)前位置: 主頁 > 信息安全 > 移動安全 >

PGP的安全性

時間:2011-05-01 17:17來源: 點擊:
安全程序的使用不能保證你的通信就是安全的。就算你在房子前門安裝一個最安全的鎖,小偷仍然可以從開著的窗戶爬進來。同樣,即使使用了PGP,你的計算機也仍可能很脆弱。
TagsPGP(16)  

  安全程序的使用不能保證你的通信就是安全的。就算你在房子前門安裝一個最安全的鎖,小偷仍然可以從開著的窗戶爬進來。同樣,即使使用了PGP,你的計算機也仍可能很脆弱。

  有許多有名的對PGP的攻擊;下面的部分就介紹這些攻擊。然而,這些決不是一個完整的清單。將來的攻擊很可能會攻破所有的公鑰加密技術(shù)。這份清單只是讓你了解一下保護通信時需要做些什么。

  1.蠻力攻擊

  對PGP最直接的攻擊是蠻力攻擊使用的密鑰。因為PGP 2.6.2使用的兩個加密算法,所以要看看這兩個算法的安全性。對于公鑰加密技術(shù),PGP使用RSA算法;對于私鑰加密技術(shù),它使用IDEA。

  (1)蠻力攻擊RSA密鑰

  對于RSA密鑰,已知最好的蠻力攻擊是分解它們。RSA密鑰產(chǎn)生時就使得它們難于分解。而且,分解大的數(shù)仍然是一門很新的藝術(shù)。

  最近,最大的一個被分解的RSA密鑰是RSA-129,它于1994年4月被分解。RSA-129是在設(shè)計RSA算法時于1977年創(chuàng)建的原始RSA提問。它是一個129位的十進制RSA密鑰,相當(dāng)于425位。分解這個數(shù)動員了全世界范圍的力量,使用了1600臺計算機,實際耗費時間超過8個月。

  它處理了4600MIPS年的數(shù)據(jù);1MIPS年是1MIPS的機器一年所能處理的數(shù)據(jù)量。例如,一個Pentium 100大約是125MIPS(根據(jù))。如果一個Pentium 100機器為解決一個問題一年時間不停地運行,它就貢獻了125MIPS年。按照這種速度,一臺機器要花37年才能破解RSA-129。如果使用100臺機器,只需要4個月就能破譯這個代碼,只是實際項目一半的時間。

  當(dāng)前,PGP 2.6.2 版使用從512到2048位的密鑰。密鑰越大,分解越困難。同時,增加密鑰長度也會增加使用密鑰的時間。從日期來說,據(jù)認為一個512位的密鑰能夠給予1年的安全性;訪問100臺Pentium 100機器要花至少一年才能破譯出512位的RSA密鑰。如果這是真的,那么一個1024位的密鑰,若使用今天最新的算法,假設(shè)在技術(shù)上沒有提高的話,在以后10000年都是安全的。如果技術(shù)上有所提高,需要的時間就會少些。然而,看起來技術(shù)可能一直在進展。

  (2)蠻力攻擊IDEA密鑰

  現(xiàn)在還沒聽說有人攻擊IDEA密鑰。最好是嘗試2^128或3.4×10^38個密鑰。由于完成這一測試的困難性,嘗試破譯PGP中用于加密IDEA密鑰的RSA密鑰更容易。據(jù)估計破譯IDEA的困難如同分解3000位RSA密鑰的困難相當(dāng)。

  --------------------------------------------------------------------------------

  2.私鑰和通過短語

  PGP私鑰環(huán)的安全性基于兩件事:對私鑰環(huán)數(shù)據(jù)的訪問和對用于加密每個私鑰的通過短語的了解。使用私鑰要擁有這兩部分。然而,這也引起了許多攻擊。

  如果PGP用于多用戶系統(tǒng)中,就可能訪問私鑰環(huán)。通過緩存文件,網(wǎng)絡(luò)窺視或者許多其他的攻擊,可以利用監(jiān)視網(wǎng)絡(luò)或者讀取得到私鑰環(huán)。這樣就只剩下通過短語用來保護私鑰環(huán)中的數(shù)據(jù)了,這就意味著只要獲得通過短語就能攻破PGP的安全。

  而且,在一個多用戶系統(tǒng)中,鍵盤和CPU之間的鏈路可能是不安全的。如果有人能夠物理上訪問連接用戶鍵盤和主機的網(wǎng)絡(luò),監(jiān)視擊鍵是很容易的。例如,用戶可能從一群公共的客戶終端上登錄,這時就可以窺探連接網(wǎng)絡(luò)得到通過短語。另外,用戶還可能通過調(diào)制解調(diào)器拔叫,在這種情況下竊賊就可以監(jiān)聽鍵盤擊鍵。在任何一種情況下,在一個多用戶的機器

  上運行PGP都是不安全的。

  當(dāng)然,運行PGP最安全的方法是在一臺沒有其他人使用而且不連網(wǎng)的個人機上運行;也就是說,一臺膝上型或家庭計算機。用戶必須在安全環(huán)境的代價和安全通信的代價之間找到一種平衡。使用PGP的推薦方法是:總是在安全環(huán)境下的安全機器上動用,這樣用戶就可以控制整個機器。

  最好的安全性關(guān)鍵在于鍵盤和CPU之間的連接是安全的。這既可以通過加密來完成,或者更好一點通過直接、無中斷的連接實現(xiàn)。工作站、PC、、膝上型機器都屬于安全的機器。

  安全的環(huán)境更難于顯示,這里沒有加以探討。

  --------------------------------------------------------------------------------

  3.對公鑰環(huán)的攻擊

  由于公鑰環(huán)(公有密鑰環(huán))的重要性和對它的依賴性,PGP受到許多針對密鑰環(huán)的攻擊。首先,只有當(dāng)密鑰環(huán)改變時才被檢查。當(dāng)添加新的密鑰或簽名時,PGP驗證它們。然而,它會標(biāo)記密鑰環(huán)中已檢查過的簽名,這樣就不會再去驗證它們。如果有人修改了密鑰環(huán),并且設(shè)置了簽名中相應(yīng)的位,就不會被檢查出來。

  對PGP密鑰環(huán)的另一種攻擊集中于PGP使用的進程,它對密鑰有效性設(shè)置1位。當(dāng)?shù)竭_一個密鑰的新簽名時,PGP就使用前面描述過的信任網(wǎng)絡(luò)值計算該密鑰的有效位。然后PGP在公有密鑰環(huán)中緩存這個有效位。一個攻擊者可能會在密鑰環(huán)中修改這位,從而迫使得用戶相信一個無效密鑰是有效的。例如,通過設(shè)置這個標(biāo)志,攻擊者能夠使得用戶相信一個密鑰屬于Alice,盡管沒有足夠的簽名證明這個密鑰的有效性。

  也可能發(fā)生對PGP公鑰環(huán)的另一種攻擊,因為作為介紹人的密鑰信任也緩存在公有密鑰環(huán)中。這個值定義密鑰的簽名有多少信任度,因此如果使用帶有無效參數(shù)的密鑰簽名就可能使PGP把無效密鑰作為有效密鑰接受。如果一個密鑰被修改為完全受托的介紹人,那么用這個密鑰簽名的任何密鑰都被信任為有效的。因此,一個攻擊者如果用一個修改過的密鑰為另一個密鑰簽名,就會使得用戶相信它是有效的。

  公鑰環(huán)最大的問題是所有這些位不僅在公鑰環(huán)中緩存,而且密鑰環(huán)中沒有任何保護。

  讀過PGP源代碼而且能夠訪問公鑰環(huán)的任何人都可以使用一個二進制文件編輯器修改任何一位,而密鑰環(huán)的所有者卻無法注意到這個修改。幸運的是,PGP提供一種方法重新檢查密鑰環(huán)中的密鑰。通過聯(lián)合使 -kc 和 -km 選項,用戶可告訴PGP執(zhí)行對整個密鑰環(huán)的密鑰維護。

  前一個選項告訴PGP檢查密鑰和簽名。PGP會查看整個密鑰環(huán),重新檢查每一個簽名。當(dāng)檢查了所有簽名之后,PGP將執(zhí)行一個維護性檢查(-km),重新計算所有密鑰的有效性。

  不幸的是,沒有一種辦法能夠完全重新檢查密鑰中的所有信任字節(jié)。這是一個漏洞。應(yīng)當(dāng)有一個命令告訴PGP忽略所有信任字節(jié),從終極密鑰,即私鑰環(huán)中的密鑰,向用戶詢問信任性。

  或許PGP將來的版本會改正這個問題。如果一個密鑰被改成是可信任的介紹人,你沒有辦法找到修改之處并改正它。運行密鑰和維護檢查只能恢復(fù)密鑰的有效性,但不是信任值。只有對一個密鑰運行PGP -ke才能編輯信任參數(shù),而這不能自動完成。

  --------------------------------------------------------------------------------

  4.程序的安全性

  如果有人能夠訪問PGP程序的二進制文件,他就可以改變它,讓它做他想做的任何事。

  如果這個介入者能夠從你的鼻子底下替換你的PGP二進制文件,你對PGP的信任就建立在你對這個人的信任和你實際驗證這個程序的能力上。例如,一個能夠進行這種訪問的攻擊者可能會改變PGP,使得它總是驗證簽名,甚至簽名是無效的。PGP可能被修改,總是向NSA發(fā)送所有消息的純文本復(fù)制。這些攻擊很難檢測,而且難于對付。PGP需要成為受托代碼基礎(chǔ)的一部分;如果你不信任你的PGP二進制文件,那就不要信任它的輸出。

  相信PGP二進制文件最好的辦法就是自己從源代碼建立它。然而,這并不總是可能的。

  其他辦法包括在它建立時監(jiān)視它或者從一個受托的來源得到它。查看二進制文件的大小和日期很有幫助。使用其他受托的程序,像md5sum能有所幫助。但這只是把問題壓到了另一層。如果你不信任PGP程序,就沒有太多做的了。

  --------------------------------------------------------------------------------

  5.對PGP的其他攻擊

  對PGP可能還有其他攻擊,但是這里不做討論。從來沒有證明過PGP使用的加密算法是安全的。PGP所使用的數(shù)學(xué)雖然被認為是安全的,但是有可能很容易攻破。對RSA的分解攻擊可能得到改進、或者有人可能在IDEA中找到一個漏洞。

  要想知道什么安全、什么不安全,對密碼技術(shù)所運用的數(shù)學(xué)知識了解得還不夠。實際上,據(jù)知任何事都不是完全安全的,如果有足夠的計算能力,任何形式的密碼技術(shù)都可以攻破。

  問題是破譯代碼所花費的時間和精力與被保護的數(shù)據(jù)價值相比是否值得。注意破譯代碼所花費的力量將隨著時間不斷地減少,因為計算機的能力不斷增強,而價格不斷地下降。到現(xiàn)在為止,密碼專家仍然超前于破譯者。

------分隔線----------------------------

推薦內(nèi)容