SSL连接,相信大家都不会陌生,每天打开163邮箱登录的时候也会默认选上SSL安全登录,那么这个SSL到底是个什么呢?
SSL(Secure Sockets Layer) 安全套接层,和TCP协议中的三次握手有些类似。
如上图,是整个SSL会话的过程。
客户端浏览器连接到Web服务器,发出建立安全连接通道的请求。 服务器接受客户端请求,发送服务器证书做为响应。 客户端验证服务器证书的有效性,如果验证通过,则用服务器证书中包含的服务器公钥加密一个会话密钥,并将加密后的会话密钥和客户端用户证书一起发送给服务器。
服务器收到客户端发来的加密数据后,先验证客户端证书的有效性,如果验证通过,则用其专用的私有密钥解开加密数据,(会话密钥的解密)获得会话密钥。
然后服务器用客户端证书中包含的公钥加密该会话密钥,并将加密后的密钥发送给客户端浏览器。 客户端在收到服务器发来的加密数据(加密密钥)后,用其专用的私有密钥解开加密数据,把得到的会话密钥与原来发出去的会话密钥进行对比,如果两把密钥一致,说明服务器身份已经通过认证,双方将使用这把会话密钥建立安全连接通道。