什么是SSL

简介:

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

分析:

SSL(Secure Sockets Layer 安全套接层),为Netscape所研发,用以保障在Internet上数据传输的安全,利用数据加密(Encryption)技术,可确保数据在网络上的传输过程中不会被截取及窃听。一般通用的规格为40 bit的安全标准,美国则已推出128 bit的更高安全标准。只要3.0版本以上的I.E.或Netscape浏览器即可支持SSL。
当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
SSL协议位于传输层协议与应用层协议之间,为数据通讯提供安全支持。

SSL协议可分为两层:

  • SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
  • SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

提供服务:

  • 认证用户和服务器,确保数据发送到正确的客户机和服务器;
  • 加密数据以防止数据中途被窃取;
  • 维护数据的完整性,确保数据在传输过程中不被改变。

工作流程:

服务器认证客户阶段:

  • 客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;
  • 服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;
  • 客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
  • 服务器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

客户认证服务器阶段:

  • 在此之前,服务器已经通过了客户认证,这一阶段主要完成客户对服务器的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而让服务器提供认证

SSL协议提供的安全通道有以下三个特性:

  • 机密性: SSL协议使用密钥加密通信数据
  • 可靠性: 服务器和客户都会被认证,客户认证服务器是可选的。
  • 完整性: SSL协议会对传送的数据进行完整性检查。

SSL的体系结构

SSL的体系结构中包含两个协议子层,其中底层是SSL记录协议层(SSL Record Protocol Layer);高层是SSL握手协议层 (SSL HandShake Protocol Layer)

SSL记录协议层的作用: 是为高层协议提供基本的安全服务。SSL记录协议针对HTTP协议进行了特别的设计,使得超文本的传输协议HTTP能够在SSL运行。记录封装各种高层协议,具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。

SSL握手协议层包括SSL握手协议(SSL HandShake Protocol)SSL密码参数修改协议(SSL Change Cipher Spec Protocol)应用数据协议(Application Data Protocol)SSL告警协议(SSL Alert Protocol)。握手层的这些协议是对SSL管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥等。

SSL握手协议的作用: 协调客户和服务器的状态,使双方能够达到状态的同步。

SSL记录协议工作过程

发送方的工作过程为:

  1. 从上层接受要发送的数据(包括各种消息和数据);
  2. 对信息进行分段,分成若干纪录;
  3. 使用指定的压缩算法进行数据压缩(可选);
  4. 使用指定的MAC算法生成MAC;
  5. 使用指定的加密算法进行数据加密;
  6. 添加SSL记录协议的头,发送数据。

接收方的工作过程为:

  1. 接收数据,从SSL记录协议的头中获取相关信息;
  2. 使用指定的解密算法解密数据;
  3. 使用指定的MAC算法校验MAC;
  4. 使用压缩算法对数据解压缩(在需要进行);
  5. 将记录进行数据重组;
  6. 将数据发送给高层。

你可能感兴趣的:(网络)