SSLVPN

SSL通信的工作原理

  SSL协议的主要用途是在两个通信应用程序之间提供私密性和可靠性,这个过程通过3个元素来完成:

  (1)握手协议:这个协议负责被子用于客户机和服务器之间会话的加密参数。当一个SSL客户机和服务器第一次开始通信时,它们在一个协议版本上达成一致,选择加密算法和认证方式,并使用公钥技术来生成共享密钥。

   (2)记录协议:这个协议用于交换应用数据。应用程序消息被分割成可管理的数据块,还可以压缩,并产生一个MAC(消息认证代码),然后结果被加密并传输。接受方接受数据并对它解密,校验MAC,解压并重新组合,把结果提供给应用程序协议。

  (3)警告协议:这个协议用于每时示在什么时候发生了错误或两个主机之间的会话在什么时候终止。

  SSL协议通信的握手步骤如下:

  第1步,SSL客户机连接至SSL服务器,并要求服务器验证它自身的身份;

  第2步,服务器通过发送它的数字证书证明其身份。这个交换还可以包括整个证书链,直到某个根证书颁发机构(CA)。通过检查有效日期并确认证书包含可信任CA的数字签名来验证证书的有效性。

  第3步,服务器发出一个请求,对客户端的证书进行验证,但是由于缺乏公钥体系结构,当今的大多数服务器不进行客户端认证。

  第4步,协商用于加密的消息加密算法和用于完整性检查的哈希函数,通常由客户端提供它支持的所有算法列表,然后由服务器选择最强大的加密算法。

  第5步,客户机和服务器通过以下步骤生成会话密钥:

  ·客户机生成一个随机数,并使用服务器的公钥(从服务器证书中获取)对它加密,以送到服务器上。

  ·服务器用更加随机的数据(客户机的密钥可用时则使用客户机密钥,否则以明文方式发送数据)响应。

  ·使用哈希函数从随机数据中生成密钥。
SSL协议的主要用途是在两个通信应用程序之间提供私密性和可靠性,这个过程通过3个元素来完成