实用指南:【软考备考】 安全协议:SSL/TLS, IPSec 详解

第一部分:SSL/TLS 协议详解

SSL和TLS是同一个协议的不同版本。SSL由网景公司开发,TLS是IETF标准化的后续版本。我们现在使用的实际上都是TLS,但习惯上仍常称之为SSL。

1. 基本定位与特点
  • 定位应用层安全协议,工作在传输层(TCP)之上,应用层(HTTP, FTP, SMTP等)之下。

  • 设计目标:为两个应用(如Web浏览器和服务器)之间献出端到端的加密、身份验证和数据完整性服务。

  • 典型应用

    • HTTPS= HTTP + SSL/TLS (最经典的例子,端口443)

    • SMTPS, FTPS, 等等。

2. 协议组成

TLS协议主要由两层组成:

  1. TLS记录协议

    • 位置:底层。

    • 功能:负责对上层资料进行分块、压缩(已禁用)、计算消息认证码、加密,然后通过传输层发送。接收方则执行解密、验证、解压缩和重组。

    • 提供机密性(通过加密)和完整性(通过MAC)。

  2. TLS握手协议

    • 位置:在记录协议之上。

    • 功能:在数据传输开始前,双方进行身份验证、协商加密算法、交换密钥。这是整个协议最复杂和核心的部分。

    • 提供身份认证安全参数协商

3. 工作流程(以RSA密钥交换为例)

一次完整的TLS握手过程如下图所示,它经过一系列“握手”消息来建立安全连接:

详细步骤解读:

  1. ClientHello:客户端向服务器发起连接,发送帮助的TLS版本、支持的密码套件列表(如 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)和一个客户端随机数

  2. ServerHello:服务器回应,确定要使用的TLS版本、密码套件,并生成一个服务器随机数

  3. Certificate:服务器将自己的数字证书发送给客户端,证书中包含服务器的公钥和身份信息,由CA(证书颁发机构)签名。

  4. ServerKeyExchange:如果选择的密码套件需要(如DHE/ECDHE),服务器会发送自己的临时公钥参数。

  5. CertificateRequest:可选步骤,如果服务器需要验证客户端身份(如网银系统)。

  6. ServerHelloDone:服务器表示Hello阶段结束。

  7. 客户端验证与响应

    • 否匹配等)。就是客户端验证服务器证书的有效性(是否可信、是否在有效期内、域名

    • ClientKeyExchange:客户端生成一个预主密钥DHE/ECDHE,则发送客户端的临时公钥参数。就是,并使用服务器证书中的公钥进行加密(RSA方式),发送给服务器。如果

    • 此时,客户端和服务器都拥有了两个随机数(Client Random, Server Random)和预主密钥(或通过DH算法交换出的共享密钥),它们采用相同的算法生成最终的主密钥会话密钥

  8. ChangeCipherSpec:客户端通知服务器,“之后的通信将利用协商好的密钥和算法进行加密”。

  9. Finished:客户端发送一条加密的握手完成消息,包括之前所有握手消息的摘要,供服务器验证。

  10. 服务器同样发送ChangeCipherSpecFinished 消息。

  11. 安全通道建立:至此,握手完成,双方开始使用对称加密密钥进行安全的应用程序数据传输。

4. 软考考点
  • 端口号:HTTPS默认使用443。

  • 协议层次:属于传输层与应用层之间的安全协议。

  • 握手过程:能详细描述每一步的作用(独特是随机数、证书、密钥交换的目的)。

  • 密码套件:理解其命名规则,如 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 表示:

    • TLS:协议

    • ECDHE:密钥交换算法

    • RSA:身份认证算法

    • AES_128_GCM:对称加密算法和模式

    • SHA256:用于生成MAC的哈希算法

  • 与IPSec的区别(见下文总结)。


第二部分:IPSec 协议详解

1. 基本定位与特点
  • 定位网络层安全协议,工作在网络层(IP层)。

  • 设计目标:为IP数据包给出端到端站点到站点的安全服务。它对上层应用是透明的,应用程序无需任何修改即可获得安全保护。

  • 典型应用

    • VPN:最典型的应用,构建安全的远程访问或站点间连接。

    • 安全地连接分支机构。

    • 为IPv6提供原生安全协助。

2. 协议组成

IPSec不是一个单一的协议,而是一个协议套件,主要由三部分组成:

  1. 认证头

    • 功能:为IP数据包提供无连接完整性数据源认证防重放攻击保护。

    • 特点不提供加密,所以数据是明文的。协议号为51。

    • 数据结构:包含在IP头和传输层头之间。

  2. 封装安全载荷

    • 功能:提供机密性数据源认证无连接完整性防重放攻击保护。

    • 特点:功能比AH更全面,是IPSec中最常用的协议。协议号为50。

    • 数据结构:将原始的IP数据包(传输层模式)或整个IP包(隧道模式)进行加密和封装。

  3. Internet密钥交换

    • 功能:用于双方动态地建立安全关联、协商加密算法、哈希算法、密钥交换以及相互进行身份验证。

    • 组成:由 ISAKMP 框架、Oakley密钥确定模式和SKEME验证方式组合而成。

    • 工作阶段

      • 第一阶段:建立一条安全的、经过认证的管理通道(ISAKMP SA)。许可运用主模式积极模式

      • 第二阶段:在第一阶段建立的SA保护下,协商用于实际数据传输的IPSec SA。通常使用快速模式

3. 工作模式
  1. 传输模式

    • 保护对象:主要保护传输层载荷(如TCP、UDP数据)。

    • 数据封装:IP头 + (AH/ESP头) + 传输层头 + 信息。

    • 应用场景端到端的通信,例如两台主机之间的安全通信。

  2. 隧道模式

    • 保护对象:保护整个原始IP数据包

    • 数据封装:新的IP头 + (AH/ESP头) + 原始IP头 + 传输层头 + 数据。

    • 应用场景站点到站点的VPN,或主机到网关的远程访问VPN。数据在公网上传输时,原始的源和目的IP地址被隐藏。

4. 软考考点
  • 协议组成否加密)、IKE的作用。就是:AH和ESP的区别(

  • 工作模式:传输模式与隧道模式的区别、封装方式、应用场景。

  • SA:安全关联的概念,它是IPSec的基础,是单向的,包含目标IP、SPI、安全协议等。

  • 典型应用:VPN。

  • 与SSL/TLS的区别(见下文总结)。


第三部分:SSL/TLS 与 IPSec 核心对比总结

特性SSL/TLSIPSec
协议层次应用层与传输层之间网络层
透明性对应用程序不透明,应用需要主动调用(如使用HTTPS)对上层应用程序透明,应用无需感知
保护范围保护特定应用流量保护所有IP数据包
部署方式通常在端系统(客户端、服务器)上实现可在端系统或安全网关(路由器、防火墙)上建立
主要应用Web安全(HTTPS)、安全邮件、特定应用安全VPN、站点间安全、IPv6安全
网络地址不隐藏原始IP地址隧道模式下可以隐藏原始IP地址
配置复杂度对于Web应用就是相对简单,特别相对复杂,涉及操作系统或网络设备配置

应试技巧

  1. 区分场景:题目问“保护Web访问”或“特定应用”,优先考虑SSL/TLS;问“构建两个公司网络的安全隧道”或“保护所有流量”,优先考虑IPSec。

  2. 理解层次:牢记SSL/TLS在TCP之上,IPSec在IP层。这决定了它们的部署位置和保护范围。

  3. 掌握流程:TLS握手和IPSec的IKE两个阶段是高频考点,务必理解其目的和关键步骤(如随机数、证书、SA协商)。

  4. 对比记忆:将两者制成对比表格进行记忆,效果更佳。

---

延伸阅读

本文涉及的技术,这些课程讲得更深入:

  1. 趣谈网络协议
    ‍ 刘超 | 轻松掌握网络协议核心原理

☁️ 云服务推荐

posted on 2026-02-06 14:06  ljbguanli  阅读(23)  评论(0)    收藏  举报