PGP的安全性

來源:互聯網
上載者:User
關鍵字 安全
安全程式的使用不能保證你的通信就是安全的。 就算你在房子前門安裝一個最安全的鎖,小偷仍然可以從開著的窗戶爬進來。 同樣,即使使用了PGP,你的電腦也仍可能很脆弱。 有許多有名的對PGP的攻擊;下面的部分就介紹這些攻擊。 然而,這些決不是一個完整的清單。 將來的攻擊很可能會攻破所有的公開金鑰加密技術。 這份清單只是讓你瞭解一下保護通信時需要做些什麼。 1.蠻力攻擊對PGP最直接的攻擊是蠻力攻擊使用的金鑰。 因為PGP 2.6.2使用的兩個加密演算法,所以要看看這兩個演算法的安全性。 對於公開金鑰加密技術,PGP使用RSA演算法;對於私密金鑰加密技術,它使用IDEA。 (1)蠻力攻擊RSA金鑰組于RSA金鑰,已知最好的蠻力攻擊是分解它們。 RSA金鑰產生時就使得它們難於分解。 而且,分解大的數仍然是一門很新的藝術。 最近,最大的一個被分解的RSA金鑰是RSA-129,它于1994年4月被分解。 RSA-129是在設計RSA演算法時于1977年創建的原始RSA提問。 它是一個129位的十進位RSA金鑰,相當於425位。 分解這個數動員了全世界範圍的力量,使用了1600台電腦,實際耗費時間超過8個月。 它處理了4600MIPS年的資料;1MIPS年是1MIPS的機器一年所能處理的資料量。 例如,一個Pentium 100大約是125MIPS(根據Intel)。 如果一個Pentium 100機器為解決一個問題一年時間不停地運行,它就貢獻了125MIPS年。 按照這種速度,一台機器要花37年才能破解RSA-129。 如果使用100台機器,只需要4個月就能破譯這個代碼,只是實際專案一半的時間。 當前,PGP 2.6.2 版使用從512到2048位的金鑰。 金鑰越大,分解越困難。 同時,增加金鑰長度也會增加使用金鑰的時間。 從日期來說,據認為一個512位的金鑰能夠給予1年的安全性;訪問100台Pentium 100機器要花至少一年才能破譯出512位的RSA金鑰。 如果這是真的,那麼一個1024位的金鑰,若使用今天最新的演算法,假設在技術上沒有提高的話,在以後10000年都是安全的。 如果技術上有所提高,需要的時間就會少些。 然而,看起來技術可能一直在進展。 (2)蠻力攻擊IDEA金鑰現在還沒聽說有人攻擊IDEA金鑰。 最好是嘗試2^128或3.4×10^38個金鑰。 由於完成這一測試的困難性,嘗試破譯PGP中用於加密IDEA金鑰的RSA金鑰更容易。 據估計破譯IDEA的困難如同分解3000位RSA金鑰的困難相當。 --------------------------------------------------------------------------------2. 私密金鑰和通過短語PGP私密金鑰環的安全性基於兩件事:對私密金鑰環資料的訪問和對用於加密每個私密金鑰的通過短語的瞭解。 使用私密金鑰要擁有這兩部分。 然而,這也引起了許多攻擊。 如果PGP用於多使用者系統中,就可能訪問私密金鑰環。 通過快取檔案,網路窺視或者許多其他的攻擊,可以利用監視網路或者讀取磁片得到私密金鑰環。 這樣就只剩下通過短語用來保護私密金鑰環中的資料了,這就意味著只要獲得通過短語就能攻破PGP的安全。 而且,在一個多使用者系統中,鍵盤和CPU之間的鏈路可能是不安全的。 如果有人能夠物理上訪問連接使用者鍵盤和主機的網路,監視擊鍵是很容易的。 例如,使用者可能從一群公共的客戶終端上登錄,這時就可以窺探連接網路得到通過短語。 另外,使用者還可能通過數據機拔叫,在這種情況下竊賊就可以監聽鍵盤擊鍵。 在任何一種情況下,在一個多使用者的機器上運行PGP都是不安全的。 當然,運行PGP最安全的方法是在一台沒有其他人使用而且不連網的個人機上運行;也就是說,一台膝上型或家用電腦。 使用者必須在安全環境的代價和安全通信的代價之間找到一種平衡。 使用PGP的推薦方法是:總是在安全環境下的安全機器上動用,這樣使用者就可以控制整個機器。 最好的安全性關鍵在於鍵盤和CPU之間的連接是安全的。 這既可以通過加密來完成,或者更好一點通過直接、無中斷的連接實現。 工作站、PC、Mac、膝上型機器都屬於安全的機器。 安全的環境更難於顯示,這裡沒有加以探討。 --------------------------------------------------------------------------------3. 對公開金鑰環的攻擊由於公開金鑰環(公有金鑰環)的重要性和對它的依賴性,PGP受到許多針對金鑰環的攻擊。 首先,只有當金鑰環改變時才被檢查。 當添加新的金鑰或簽名時,PGP驗證它們。 然而,它會標記金鑰環中已檢查過的簽名,這樣就不會再去驗證它們。 如果有人修改了金鑰環,並且設置了簽名中相應的位,就不會被檢查出來。 對PGP金鑰環的另一種攻擊集中于PGP使用的進程,它對金鑰有效性設置1位。 當到達一個金鑰的新簽名時,PGP就使用前面描述過的信任網路值計算該密鑰的有效位。 然後PGP在公有金鑰環中緩存這個有效位。 一個攻擊者可能會在金鑰環中修改這位,從而迫使得使用者相信一個無效金鑰是有效的。 例如,通過設置這個標誌,攻擊者能夠使得使用者相信一個金鑰屬於Alice,儘管沒有足夠的簽名證明這個金鑰的有效性。 也可能發生對PGP公開金鑰環的另一種攻擊,因為作為介紹人的金鑰信任也緩存在公有金鑰環中。 這個值定義金鑰的簽名有多少信任度,因此如果使用帶有無效參數的金鑰簽名就可能使PGP把無效金鑰作為有效金鑰接受。 如果一個金鑰被修改為完全受託的介紹人,那麼用這個金鑰簽名的任何金鑰都被信任為有效的。 因此,一個攻擊者如果用一個修改過的金鑰為另一個金鑰簽名,就會使得使用者相信它是有效的。 公開金鑰環最大的問題是所有這些位不僅在公開金鑰環中緩存,而且金鑰環中沒有任何保護。 讀過PGP原始程式碼而且能夠訪問公開金鑰環的任何人都可以使用一個二進位檔案編輯器修改任何一位,而金鑰環的擁有者卻無法注意到這個修改。 幸運的是,PGP提供一種方法重新檢查金鑰環中的金鑰。 通過聯合使 -kc 和 -km 選項,使用者可告訴PGP執行對整個金鑰環的金鑰維護。 前一個選項告訴PGP檢查金鑰和簽名。 PGP會查看整個金鑰環,重新檢查每一個簽名。 當檢查了所有簽名之後,PGP將執行一個維護性檢查(-km),重新計算所有金鑰的有效性。 不幸的是,沒有一種辦法能夠完全重新檢查金鑰中的所有信任位元組。 這是一個漏洞。 應當有一個命令告訴PGP忽略所有信任位元組,從終極金鑰,即私密金鑰環中的金鑰,向使用者詢問信任性。 或許PGP將來的版本會改正這個問題。 如果一個金鑰被改成是可信任的介紹人,你沒有辦法找到修改之處並改正它。 運行金鑰和維護檢查只能修復金鑰的有效性,但不是信任值。 只有對一個金鑰運行PGP -ke才能編輯信任參數,而這不能自動完成。 --------------------------------------------------------------------------------4.程式的安全性如果有人能夠訪問PGP程式的二進位檔案, 他就可以改變它,讓它做他想做的任何事。 如果這個介入者能夠從你的鼻子底下替換你的PGP二進位檔案,你對PGP的信任就建立在你對這個人的信任和你實際驗證這個程式的能力上。 例如,一個能夠進行這種訪問的攻擊者可能會改變PGP,使得它總是驗證簽名,甚至簽名是不正確。 PGP可能被修改,總是向NSA發送所有消息的純文字複製。 這些攻擊很難檢測,而且難於對付。 PGP需要成為受託代碼基礎的一部分;如果你不信任你的PGP二進位檔案,那就不要信任它的輸出。 相信PGP二進位檔案最好的辦法就是自己從原始程式碼建立它。 然而,這並不總是可能的。 其他辦法包括在它建立時監視它或者從一個受託的來源得到它。 查看二進位檔案的大小和日期很有説明。 使用其他受託的程式,像md5sum能有所説明。 但這只是把問題壓到了另一層。 如果你不信任PGP程式,就沒有太多做的了。 --------------------------------------------------------------------------------5.對PGP的其他攻擊對PGP可能還有其他攻擊, 但是這裡不做討論。 從來沒有證明過PGP使用的加密演算法是安全的。 PGP所使用的數學雖然被認為是安全的,但是有可能很容易攻破。 對RSA的分解攻擊可能得到改進、或者有人可能在IDEA中找到一個漏洞。 要想知道什麼安全、什麼不安全,對密碼技術所運用的數學知識瞭解得還不夠。 實際上,據知任何事都不是完全安全的,如果有足夠的計算能力,任何形式的密碼技術都可以攻破。 問題是破譯代碼所花費的時間和精力與被保護的資料價值相比是否值得。 注意破譯代碼所花費的力量將隨著時間不斷地減少,因為電腦的能力不斷增強,而價格不斷地下降。 到現在為止,密碼專家仍然超前于破譯者。 給力(0票)動心(0票)廢話(0票)專業(0票)標題党(0票)路過(0票) 原文:PGP的安全性 返回網路安全首頁
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.