http://damocles.ycool.com/post.2758718.htmlSSL的过程Damocles 发表于 2007-11-22 12:41:151.浏览器首先发送给服务器它的SSL的版本号和加密偏好(也就是指他们之间将要使用的symmetric
key algorithm)
2.服务器给浏览器发送它的SSL版本号,加密偏好和证书。证书中包括了服务器的RSA公钥,且是由某CA认证的。CA认证指的是这个证书需要由CA的私 钥进行签名。 (证书产生的过程是服务器把自己的公钥发送给CA,CA加上自己的私钥签名,保证它的完整性,生成证书) 3.浏览器有一个受信CA的列表,列表中有这些CA的公钥。当它收到证书的时候,它需要检测这个CA是否在列表当中。如果不在列表中,浏览器会警告用户通 信的不安全。如果在的话,浏览器就使用这个证书得到服务器的公钥。 (浏览器用有信誉CA的公钥解密证书中的服务器公钥,如果这个CA不可信,可能是由某些不安全机构自设的CA,进行欺骗用) 4.浏览器生成了一个对称的session key,然后用服务器的公钥对它进行加密,然后把加密的session key发送给服务器。 (非对称加解密的方式比较耗时,不能把整个数据由这种方式加解密,而只采用它对对称密钥本身就行加解密,以后就使用对称的密钥进行加解密的工作,保证了密 钥传递的安全性) 5.浏览器发送一个信息给服务器说未来我们之间的通信用这个session key进行加密。然后发送一个信息说浏览器端握手过程已经结束。 6.服务器给发送一个信息给浏览器说未来我们用这个session key进行加密。然后发送一个信息说服务器端的握手过程已经结束。 7.SSL session开始,服务器和浏览器之间用session key进行加密解密和验证数据完整性。 参考《计算机网络-----自顶向下方法》 相关日志:
收藏: QQ
书签 del.icio.us
订阅: Google 抓虾
|
