9.2.6 SSL

2025-06-23 13:19:09 更新

(一)SSL(Secure Sockets Layer)协议

(1)定义:由Netscape开发的传输层(应用层和TCP层之间)安全协议,用于构建C/S之间的安全通道。

(2)原理:将应用层信息加密或签名处理后经TCP/IP网络送至对方,收方验证无误后解密还原信息。

(3)目的:在两个应用层间相互通信时,使被传送信息具有保密性及可靠性。

(二)协议构成


协议

用途

分层协议

说明

1

SSL握手协议(SSL Handshake Protocol)

在C/S收发数据前,提供相互认证服务,并相互协商双方通信加密算法及加密密钥

作用:协调客户和服务器状态,使双方能够达到状态同步

握手协议(Handshake Protocol)

身份鉴别和安全参数协商

密码规格变更协议(Change Cipher Spec)

通知安全参数变更

报警协议

(Alert protocol)

关闭通知和错误报警

2

SSL记录协议(SSL Record Protocol)

传输层上方

将各种较高层协议(如HTTP或SSL握手协议)封装后传送

记录层协议(Record Protocol)

传输数据分段、压缩及解压缩、加密及解密、完整性校验等

(三)安全通信服务


安全通信服务

说明

安全服务

举例

1

保密性通信

握手协议产生秘钥后,开始加解密数据(对称)

保密性

DES、AES

2

点对点身份认证

非对称式密码算法

可认证性

RSA、DSS

3

可靠性通信

信息传送时含完整性检查,使用有密钥保护的MAC(含安全杂凑函数)

完整性

SHA、MD5

(四)协议数据处理过程

(1)SSL将数据(data)分割成可管理区块长度

(2)选择是否要将己分割数据压缩

(3)加上消息认证码(MAC):确保消息的完整性和身份验证

(4)将数据加密,生成即将发送的消息。

(5)接收端消息解密、验证、解压缩,重组后传送至较高层(如应用层)

(五)消息认证码(MAC,Message Authentication Code)

认证码产生方式

  1. 报文加密
  2. 消息认证码(MAC)
  3. 基于hash函数的消息认证码(HMAC)

(六)SSL对比IPSec建立阶段

(1)第一阶段:Handshake phase(握手阶段):类似IPSec IKE的作用

  1. 协商加密算法
  2. 认证服务器
  3. 建立用于加密和MAC(Message Authentication Code)用的密钥

(2)第二阶段:Secure data transfer phase(安全的数据传输阶段):类似IPSec ESP的作用

在已经建立的SSL连接里安全传输数据。

(七)SSL/TLS握手

wireshark抓包完整的TLS1.2的握手过程

前三个报文为TCP三次握手,SYN、SYN/ACK、ACK,用于为TLS建立连接,这是所有基于TCP的上层协议所必需经历的阶段。

接下来是SSL/TLS握手过程(部分加密,部分不加密),依次为:

(1)版本、算法以及其他参数协商:Client Hello,Server Hello

(2)认证:Server Certificate,Client Certificate Request、Client Certificate、Certificate Verify【双证时出现】

(3)对称加密密钥种子参数交换:Server Key Exchange【DH交换时出现】,Client Key Exchange

(4)改变加密方式从非对称加密到对称加密:Client Change Cipher Spec,Server Change Cipher Spec

(5)完整性保证:Client Encrypted Handshake Message,Server Encrypted Handshake Message

(6)真正数据传输:Client Application Data、Server Application Data