wireshark分析ssl协议

1.什么是ssl

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通讯提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络链接进行加密。算法

服务器认证阶段:
1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话链接;
2)服务器根据客户的信息肯定是否须要生成新的主密钥,如须要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;
3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
4)服务器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
用户认证阶段:在此以前,服务器已经经过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
SSL协议提供的安全通道有如下三个特性:
机密性:SSL协议使用密钥加密通讯数据。
可靠性:服务器和客户都会被认证,客户的认证是可选的。
完整性:SSL协议会对传送的数据进行完整性检查。
从SSL 协议所提供的服务及其工做流程能够看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,因为运做电子商务的企业大可能是信誉较高的大公司,所以这问题尚未充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程当中的单一认证问题就愈来愈突出。虽然在SSL3.0中经过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,可是SSL协议仍存在一些问题,好比,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种状况下,Visa和 MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。

2.ssl连接

 初始化阶段。客户端建立随机数,发送ClientHello 将随机数连同本身支持的协议版本、加密算法和压缩算法发送给服务器。服务器回复ServerHello将本身生成的随机数连同选择的协议版本、加密算法和压缩算法给客户端。

上面的cipher suite给出了算法的选择,总有16种选择方式。浏览器

在下方服务器返回的信息中,咱们能够看到选择的算法是哪种。安全

服务器发送ServerHello的同时可能将包含本身公钥的证书发送给客户端(Certificate)服务器

下面就是发送证书的包。网络

以后验证证书,若是收到Certificate Request则发送包含本身公钥的证书,同时对此前全部握手消息进行散列运算,并使用加密算法进行加密发送给服务器ui

相关文章
相关标签/搜索