2012-01-17 25 views
1

我看了一篇關於數字簽名的文章(link),並有如下問題。如何確保數字簽名安全模型中發件人的公鑰?

比方說,愛麗絲想要發送消息給鮑勃。她需要讓鮑勃知道這條消息來自她。於是她用她的私鑰將散列消息加密成證書。然後Bob在收到消息時可以用公鑰解密消息。如果消息的哈希代碼與從證書解密的哈希代碼相匹配,Bob可以知道它來自Alice。這裏我們假設Bob已經知道公鑰。如果公鑰傳輸已經受到攻擊?鮑勃可能會使用錯誤的公鑰來解密錯誤的消息,並且如果來自Alice,則會得到該消息。是否有任何協議或政策來避免對公鑰的攻擊?我們應該嗎?

+0

可能會更好[Security.SE](http://security.stackexchange.com/)。 – Gumbo 2012-01-17 09:04:56

+0

或[Crypto.SE](http://crypto.stackexchange.com/)。 – 2012-01-17 14:18:11

回答

2

是的,公鑰的真實性是應用密碼學的關鍵組成部分。我可以發出一個公開密鑰,上面寫着「我是你銀行的網站,相信我」,但你不應該真的相信它。已經開發了不同的方案來建立公鑰的認證。一種方法是PGP和GnuPG中的web of trust model,其他方法是PKIKerberos。這些方法之間的主要區別之一是你放置信任的地方。我只提供簡化說明,您必須閱讀有關它們以瞭解確切的詳細信息(您不會基於非常簡短的摘要爲您提供安全性,是嗎?)。

信任網有一些人,你信任,你(理想情況下)親自驗證他們的公鑰。你可以相信其他的公鑰,如果它們已經被多個承載你初始信任的人簽名的話。使用這些可信任的個人可以檢查越來越多的密鑰。

PKI(個人密鑰基礎設施),您信任的幾個證書頒發機構(CAS)和接受他們的公鑰。您相信他們在簽署公鑰前徹底檢查了密鑰持有者的身份。公鑰+ CA簽名(以及其他一些數據)的組合形成證書。 PKI用於SSL/TLS,它是安全網絡的基礎架構。您在網絡界面上閱讀郵件時,使用網上銀行等時使用它。如果使用CA is compromised,則由CA簽署的每個證書都將變得不安全。

的Kerberos是專爲計算機網絡和密鑰服務器是信任的單點。它爲客戶端和服務器提供相互身份驗證和唯一的對稱加密密鑰。密鑰服務器通過僅在密鑰服務器和客戶端之間共享的祕密來檢查客戶端的身份。例如,在Windows,AFS,網格計算中使用Kereberos。

0

你的回答給了我很多關於這個問題的見解。此外,我想在此處提供維基百科鏈接http://en.wikipedia.org/wiki/X.509#Security。因爲在文章中有一個解決方案解決我的問題「證書頒發機構的證書」

這是一個自簽名證書的示例,因爲發行人和主題相同。除了通過檢查證書之外,沒有辦法驗證這個證書;相反,這些頂級證書是通過Web瀏覽器手動存儲的。 Thawte是Microsoft和Netscape都認可的根證書頒發機構之一。此證書隨Web瀏覽器一起提供,默認情況下爲可信任證書。

以防萬一某些人有同樣的問題。