是的,公钥的真实性是应用密码学的关键组成部分。我可以发出一个公开密钥,上面写着“我是你银行的网站,相信我”,但你不应该真的相信它。已经开发了不同的方案来建立公钥的认证。一种方法是PGP和GnuPG中的web of trust model,其他方法是PKI和Kerberos。这些方法之间的主要区别之一是你放置信任的地方。我只提供简化说明,您必须阅读有关它们以了解确切的详细信息(您不会基于非常简短的摘要为您提供安全性,是吗?)。
在信任网有一些人,你信任,你(理想情况下)亲自验证他们的公钥。你可以相信其他的公钥,如果它们已经被多个承载你初始信任的人签名的话。使用这些可信任的个人可以检查越来越多的密钥。
在PKI(个人密钥基础设施),您信任的几个证书颁发机构(CAS)和接受他们的公钥。您相信他们在签署公钥前彻底检查了密钥持有者的身份。公钥+ CA签名(以及其他一些数据)的组合形成证书。 PKI用于SSL/TLS,它是安全网络的基础架构。您在网络界面上阅读邮件时,使用网上银行等时使用它。如果使用CA is compromised,则由CA签署的每个证书都将变得不安全。
在的Kerberos是专为计算机网络和密钥服务器是信任的单点。它为客户端和服务器提供相互身份验证和唯一的对称加密密钥。密钥服务器通过仅在密钥服务器和客户端之间共享的秘密来检查客户端的身份。例如,在Windows,AFS,网格计算中使用Kereberos。
可能会更好[Security.SE](http://security.stackexchange.com/)。 – Gumbo 2012-01-17 09:04:56
或[Crypto.SE](http://crypto.stackexchange.com/)。 – 2012-01-17 14:18:11