2013-04-03 160 views
3

我一直在閱讀有關驗證的內容,包括帶內和帶外。我知道可以簽署他/她自己的GPG密鑰,然後其他人可以使用他們的指紋驗證簽名者。使用GPG進行驗證

我也看了貼在GPG密鑰簽名的問題:https://stackoverflow.com/questions/34234/how-does-gpg-key-signing-work-and-how-is-it-done

是不是這種類型的身份驗證容易受到中間人攻擊?如何在不使用數字簽名的情況下完全驗證身份? PS:我已經看過以下認證方式:GPG簽名郵件(電子郵件),短信(帶外),使用共享祕密密碼,應用社會主義百萬富翁協議和基於零知識的不可否認認證。

上面列出的哪一個最適合防止中間人攻擊並提供很好的身份驗證?

回答

1

防止中間人攻擊是你的大腦:-)在簽署密鑰時,GPG會問你是否真的檢查了密鑰擁有者的身份,就像GPG howtos(e.g. this one)警告你一樣小心你在這裏做什麼:

你應該只簽署一個密鑰爲真實的,當你絕對確定該密鑰真的是真實的!所以如果你是積極的,你自己就得到了鑰匙(就像在一個重要的簽名派對上),或者你通過其他方式獲得了鑰匙,並使用指紋機制對其進行了檢查(例如通過電話)。您不應該根據任何假設簽署密鑰。

簽署密鑰時,您有責任驗證密鑰所有者的身份。與CACert(其具有defined procedure how to verify ones identity)相反,沒有一般策略如何進行該驗證。然後,另一方面,GPG會讓您信任您介紹新密鑰。

這意味着:

  • 你應該讓自己熟悉如何驗證的關鍵實際上屬於密鑰ID的人說。 CACert的指導方針(個人會議,檢查官方文件,交換指紋)對個人不熟悉的人有好處,因爲您可以親自交換指紋(或通過電話驗證指紋,如果您認識到你的朋友)也應該足夠了
  • 你應該只設置屬於你確信他們理解簽名含義的人的密鑰的信任屬性,並如上所述進行仔細檢查。