在对称密钥系统中用户A和B的密钥是相同的并且是秘密的。
在公钥系统 中使用一对密钥:一个密钥为用户A和B及所有人所知,另一个密钥则只有用户自己知道(而对方不知道)。
公钥认证:
在公钥体制中,如果每个用户都有其他用户的公钥,就可以实现两者之间的安全通信,这使公钥体制无需部署KDC(密钥分发中心)基础设施。然而,用户不可能拥有其他所有用户的公钥,并且公钥体制在分发用户公钥方面还存在着严重的问题。例如,用户A可以用下列方法来欺骗用户B。用户A可以向用户B发送一份伪造的是用户C发送的报文,并附上自己的公钥,谎称该公钥是用户C的。如果用户B信以为真,与用户C通信时用该公钥加密,通信内容就会被用户A破解。(发送方用加密密钥PK对明文X加密后,在接受方可以用解密密钥SK进行解密,即可恢复出明文。)为了解决上述问题,需要有一个值得信赖的证书权威机构,称为证书认证机构(CA)。
为了证实用户B的身份,CA先生成一个把用户B身份与其公钥KB绑在一起的证书。这个证书包含该公钥和公钥所有者全局唯一的身份标识信息(如人名,公司名或IP地址等)。然后CA用自己的私钥对这个证书进行加密(及数字签名)。用户可以从可信的地方(如代表政府的报纸或者网站)获得认证中心的CA的公钥,并用这个公钥验证某个证书的真伪。一旦证书被验证是真实的,就可以相信证书中的公钥确实属于证书中声称的用户。