资源描述:
《SSL是如何工作的》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、密钥密码系统介绍这篇文章向大家阐述了Netscape公司是如何使用RSA的公用密钥密码系统来实现因特网安全的。Netscape的安全套接层的实现就利用了这篇文章中所讨论的技术。RSA的公用密钥密码系统广泛地应用于计算机工业的认证和加密方面。Netscape得到RSA数据安全公司的许可可以使用公用密钥密码系统以及其它产品,尤其是认证方面的产品。公用密钥加密技术使用不对称的密钥来加密和解密,每对密钥包含一个公钥和一个私钥,公钥是公开,而且广泛分布的,而私钥从来不公开,只有自己知道。用公钥加密的数据只有私钥才能解密,相反的,用私钥加密的数据只有公
2、钥才能解密,正是这种不对称性才使得公用密钥密码系统那么有用。使用公用密钥密码系统进行认证认证是一个验证身份的过程,目的是使一个实体能够确信对方是他所声称的实体。下面的例子包括Alice和Bob,并且向我们演示了如何使用公用密钥密码系统来轻易的验证身份。下面的{something}key表示something已经用密钥key加密或解密。假设Alice要认证Bob,Bob有一个密钥对,即一个公钥和一个私钥,Bob透露给Alice他的公钥(至于他是怎么做的将在以后讨论)。然后Alice产生一段随机的消息,然后把它发给Bob。A-一>Brandom
3、一messageBob用自己的私钥来加密这段消息,然后把加密后的消息返回给AliceoB-->A{random一message}bobs--private--keyAlice接到了这段消息,然后用Bob以前发过来的公钥来解密。她把解密后的消息和原始的消息做比较,如果匹配的话,她就知道自己正在和Bob通信。一个入侵者应该不知道Bob的私钥,因此就不能正确的加密那段Alice要检查的随机消息。但是,等一下,还有除非你确切的知道你在加密什么,否则用你的私钥加密一些东西,然后发给别人永远不是一件好事。这是因为加密后的数据可能会背叛你(记住,只有你能
4、加密,因为只有你才有密钥)。所以,我们不加密Alice发送的原始消息,取而代之的是,由Bob构造一个消息摘要,然后加密它。消息摘要是从随机消息中以某种方式提取出来的,并且具有以下特点:摘要很难逆转,任何假冒Bob的人不能从摘要得到原始消息假冒者无法找到具有相同摘要的不同消息通过使用摘要,Bob能够保护自己。他首先计算出Alice发给他的随机消息的摘要并加密,然后把加密后的摘要返回给Alice,Alice可以计算岀相同的摘要,通过解密Bob的消息然后对比一下就可以认证Bob的身份。近一点刚才描述的技术称为数字签名。Bob为Alice产生的消息
5、签名,这样做其实和加密Alice产生的随机消息一样危险。因此我们的认证协议需要一次以上的变形。部分(或者全部)的数据需要由Bob产生。A-->Bhello,areyoubob?B一一>AAlice,ThisIsbob{digest[Alice,ThisIsBob]}bobs-private-key当Bob使用这个协议的时候,他知道自己发给Alice的是什么消息,并且不介意签名。他首先发送没有加密的消息"Alice,ThisIsBob。”然后发送加密的摘要。Alice能够轻易的判断Bob是Bob,并且Bob没有签任何他不愿意签的东西。分发公钥
6、Bob如何以一种可信赖的方式分发他的公钥呢?我们假设认证协议是这个样子的:A—>BhelloB-->AHi,rmBob,bobs-public-keyA一一>BproveitB-->AAlice,ThisIsbob{digest[Alice,ThisIsBob]}bobs-private-key如果使用这个协议的话,任何人都可以是Bob。你需要的只是一个公钥和私钥,你跟Alice慌称你是Bob,接着你用自己的公钥代替Bob的公钥,然后你通过用你的私钥加密的东西来证明,这样Alice就不能分辨出你不是Bob。为了解决这个问题,标准化组织发明了
7、一个叫做证书的东西,一个证书包括下面的一些内容:证书发行者的名字证书发送给的团体主题的公钥一些时间戳证书是由证书发行者的私钥签名的,每个人都知道证书发行者的公钥(即证书发行者有一个证书,等等)。证书是一种把公钥绑定到名字的标准方式。通过使用证书这种技术,每个人都可以通过检查Bob的证书来判断Bob是不是伪造的。假设Bob严格的控制着他的私钥,并且的确是Bob得到了他的证书,那么一切都好。下面是补偿协议:A-->BhelloB-->AHi,rmBob,bobs-certificateA-->BproveitB-->AAlice,ThisIsb
8、ob{digest[Alice,ThisIsBob]}bobs-private-key当Alice收到Bob的第一条消息,她可以检查证书,核实签名(如上,使用摘要和公钥加密),然