安全套接字层协议SSL

一、安全套接字层协议SSL简介

      安全套接字层协议是用于服务器之上的一个加密系统,它可以确保在客户端和服务端之间传输的数据是安全和加密的。要是服务器和客户端使用SSL进行安全通信,服务器必须有:

      1、密钥对(Key pair),包含一个公钥和一个私钥,密钥对用来对信息进行加密和解密,以确保数据传输的安全。

      2、证书(Certificate),用来进行身份验证或者确认。证书可以是自签证书(为自己私有的Web网络创建的证书),也可以是颁发证书(认证中心或者证书签署者提供的证书)。

二、安全套接子层协议SSL原理

       在客户端和服务器之间传输数据通过使用对称算法(如DES或RC4)进行加密的。公钥加密是一种使用一对不对称密钥进行加密和解密的技术。每对密钥由一个公钥和一个私钥组成。当公钥被广泛分发时,它就变得公开了。私钥从不分发;它始终是保密的。公用密钥算法(通常为 RSA)是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥。有了服务器的SSL数字证书,客户端也可以验证服务器的身份。

       SSL的工作原理其实就是服务器端和客户端的握手协商,在协商之后就可以使用SSL进行数据的交换:

       1、客户端发送客户端的信息,包括客户端支持的SSL 的版本、客户端支持的密码对和客户端支持的数据压缩方法,消息中还有一个28位的随机数。
       2、服务器回复一个Hello消息,该消息包括使用的密码方法(密码对)和由服务器选择的数据压缩方法,以及会话标识和另一个随机数。
       3、服务器发送它的SSL证书,如果需要对客户端进行验证(SSL 3.0版本开始支持客户端验证),客户端也需要发送数字证书请求消息。
       4、服务器发送完成消息,等等客户端响应。
       5、当客户端接收到服务器端的完成消息之后,客户端会检查服务器端SSL数字证书的有效性。如果服务器端需要验证客户端的身份,客户端就会发送其数字证书 给服务器端,如果客户端没有对应的数字证书,就会弹出一个警告的窗口,如果服务器端强制客户端的身份认证的话,客户端没有相应的证书的时候,服务器就会结 束该会话。
       6、客户端发送"客户端密钥交换"消息,此消息包含 pre-master secret (一个用在对称加密密钥生成中的 46 字节的随机数字),和 消息认证代码 ( MAC )密钥(用服务器的公用密钥加密的)。服务器端对客户端发送的消息进行验证,没有通过的话,那么服务器将结束此次会话。
       7、客户端发出"更改密码规范" 消息。
       8、服务器以自己的"更改密码规范"和"已完成"消息响应。
       9、握手结束,服务器端和客户端可以进行加密通信。

三、安全套接字层协议SSL的优缺点

  • 优点

      1、已认证,所有消息来源得到保证。

      2、可靠,消息传送使用消息完整性检查,确保传送的数据的质量。

      3、机密,消息经过加密,在握手后定义密钥,确保了第三方无法读取消息的内容。

  • 缺点

      使用SSL需要通信双方进行额外的工作,需要对信息进行加密和解密,需要增加系统的开销,从而使得使用SSL比不使用SSL的通信慢。

参考资料:

http://www.wosign.com/Basic/howsslwork.htm

http://support.microsoft.com/kb/245152/zh-cn

http://www.hudong.com/wiki/%E5%AE%89%E5%85%A8%E5%A5%97%E6%8E%A5%E5%AD%97%E5%B1%82(SSL)#1

http://publib.boulder.ibm.com/tividd/td/ITLM/SC32-1431-01/zh_CN/HTML/tlminmst43.htm

posted @ 2010-08-27 01:05  Asharp  阅读(4502)  评论(1编辑  收藏  举报