当前位置: 首页 > news >正文

【软考备考】 安全协议: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:客户端生成一个预主密钥,并使用服务器证书中的公钥进行加密(RSA方式),发送给服务器。如果是DHE/ECDHE,则发送客户端的临时公钥参数。

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

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

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

  10. 服务器同样发送 ChangeCipherSpec 和 Finished 消息。

  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. 软考考点
  • 协议组成:AH和ESP的区别(是否加密)、IKE的作用。

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

  • 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. 对比记忆:将两者制成对比表格进行记忆,效果更佳。

http://www.dtcms.com/a/507328.html

相关文章:

  • 在 HarmonyOS 中平滑切换“点状粒子”与“图片粒子”(含可运行 ArkTS 示例)
  • 海门市规划建设局网站会考网页制作视频教程全集
  • 4-ARM-PEG-Pyrene(2)/Biotin(2),多功能化聚乙二醇修饰荧光标记生物分子的设计与应用探索
  • 做三折页宣传册 网站昆明网上房地产官网
  • redis-7.4.6部署安装
  • CSS学习笔记(五):CSS媒体查询入门指南
  • Redis多线程架构深度解析-从单线程到I/O Threading
  • 掌握 iOS 26 App 性能监控,多工具组合流程与实战指南
  • Spring定时任务中数据未持久化的深度排查指南:从autoCommit到事务管理的终极解法
  • BAT 大厂 java高频面试题汇总:JVM+Spring+ 分布式 +tomcat+MyBatis
  • 宸建设计网站想注册一个做网站的公司好
  • ThingsBoard开源物联网平台实践:从环境搭建到数据可视化
  • 第二章 线性表——课后习题解练【数据结构(c语言版 第2版)】
  • 成都网站建设开发公选择好的软件开发培训班
  • 待学习--中间件
  • Avalonia vs UniApp 全面对比分析
  • 策略模式优化多重判断
  • ios云打包证书申请不需要苹果电脑也是可以的
  • UniApp USB存储设备U盘操作、读写原生插件
  • 邢台 建网站中国机械设备制造网
  • app网站开发河 又最新新闻热点事件300字
  • ZooKeeper集群:分布式系统的核心守护者
  • 网鼎杯 2020 朱雀组
  • 开发避坑指南(63):解决SQL排序子句列名歧义异常:Column ‘xxx‘ is ambiguous
  • 【C + +】红黑树:全面剖析与深度学习
  • 数据结构(顺序表和链表)
  • C# 基础——装箱和拆箱
  • 分享网站友情链接营销
  • windows中用wsl使用cuda
  • 运维逆袭志·第3期 | 数据孤岛破局之战 :跨业务分析的难题攻坚