网络安全协议总复习 Part3

虚拟专用网技术 VPN#

Virtual Private Network 虚拟专用网络

虚拟专用网络可以实现不同网络的组件和资源之间的相互连接. 虚拟专用网络能够利用 Internet 或其它公共互联网络的基础设施为用户创建隧道, 并提供与物理专用网络一样的安全和功能保障.

在虚拟专网中, 任意两个节点之间的连接并没有传统专网所需的端到端的物理链路, 而是利用某种公众网的资源动态组成的.

是通过隧道技术在公共数据网络上虚拟出一条点到点的专线技术.

透明性: 对上层协议和终端用户透明 (无感知).

隧道技术(Tunneling): 隧道协议将其他协议的数据帧或包重新封装在新的包头中发送. 新的包头提供了路由信息, 从而使封装的原始数据能够通过互联网络传递.

按隧道协议技术分类:

  • 基于第二层 (数据链路层) 隧道技术的 VPN
  • IPSec VPN
  • GRE VPN
  • MPLS VPN
  • SSL VPN

按应用类型分类:

  • 远程访问型
  • LAN 间互连

基于服务器的认证方式 RADIUS, 用于 AAA (Authentication Authorization Accounting) 认证, 基于客户/服务器方式.

这里 AAA 是认证授权记账, 隔壁计算机安全又是另外一套, 不知道发什么癫.

隧道技术:

  • 第二层隧道协议, 数据链路层, 包括 L2F, PPTP, L2TP, 都是远程访问 VPN 的协议
  • 第三层隧道协议, 网络层, 支持多种 VPN 类型, 偏向 LAN 间互联
  • 第四层隧道协议, 传输层, SSL VPN, 只要支持 web 访问即可, 无需客户端, 穿越防火墙和 NAT

IPSec VPN#

IPSec 不是一个单独的协议, 而是一套协议包, 包括三个基本协议:

  • AH 协议提供信息源验证, 完整性保证, 防重放攻击;
  • ESP 协议提供信息源验证, 机密性和完整性保证, 防重放;
  • IKE 提供密钥协商与管理 (IKEv1, IKEv2), 用于实现动态协商 SA, 密钥管理, 支持预共享密钥/公钥认证

主要用于 LAN 间 VPN, 隧道模式

MPLS VPN#

MPLS, Multi Protocol Label Switching: 多协议标记交换

MPLS 吸收了 ATM 网络的交换思想, 集成了 IP 路由技术的灵活性和第 2 层交换的简捷性, 将第二层的基础设施和第三层的路由进行有机结合, 路由功能在网络边缘, MPLS 核心网络采用 MPLS 交换. 为无连接的 IP 网络提供了面向连接的交换服务, 通过标签交换实现快速转发.

该技术通过标签交换路径 (LSP) 实现数据转发, 核心组件包括标签交换路由器 (LSR) 和标签分发协议 (LDP).

利用标记通道为用户提供有安全的, 有服务质量保证的虚拟专网服务.

利用 MPLS 构建 VPN 时, 只需对不同的企业集团分配不同的标记通道, 企业网使用的内部地址也仍可以原封不动使用 (即企业网网关可以不用 NAT), 可直接沿用原来的地址空间.
利用标记堆叠来实现 VPN, 在一个 IP 分组上叠加两个 MPLS 标记头标进行转发, 外标记用于转发, 内标记用于 VPN 接入 (FEC 标识+VPN 标识).

SSL VPN#

SSL VPN 基于 SSL/TLS 协议, 利用其证书认证, 加密和完整性机制, 实现轻量级, 安全的远程接入, 为应用层通信建立端到端安全通道.

SSL VPN 涉及三类实体, 分别为网关, 访问实例和策略组.

SSL VPN 网关可以创建多个访问实例, 在每个访问实例中可创建多个策略组以关联不同的访问资源. SSL VPN 网关将特定策略组授权给用户后, 该用户即可访问特定资源.

接入方式: Web, TCP, IP

应用层安全协议#

电子邮件安全协议#

PGP (Pretty Good Privacy), Email 安全加密系统, 侧重于为个人电子邮件提供安全保护, 采用信任网模型, 用户通过相互签署公钥建立信任关系.

提供的业务: 加密, 认证, 压缩 (压缩前签名, 压缩后加密), 兼容性, 数据分段

签名优先的合理性:

  • 便于存储验证: 保存未压缩的原始报文及签名即可, 无需额外保存压缩版本 (否则需保留压缩副本或重新计算压缩结果)
  • 避免压缩不确定性: 相同压缩算法可能因实现差异产生略微不同的输出, 若对压缩后报文签名可能导致验证失败

压缩后加密的优势:

  • 节省空间, 减少加密时间: ZIP 压缩平均减少 50%体积, 抵消 Base64 编码的 33%膨胀
  • 提升安全: 压缩降低原文冗余度, 削弱明文统计特征, 增加密码分析难度

Base64: 三个 8 位字节转为 4 个 6 位字节, 先查对应的基-64 表, 再对应到 ASCII 表, 首位置 0. 若编码的数据不是 3 字节的整数倍, 转换时不够 6 位的后面加 0 补成 6 位, 如果数据长度对 3 余 1, 编码结果加 2 个=, 余 2, 加 1 个=

密码标识符 Key ID: 一个用户有多个公钥/私钥对时, 接收者如何知道发送者是用了哪个公钥来加密会话密钥? 将一个标识符 (KeyID) 与一个公钥关联, 对一个用户来说做到一一对应即可.

定义 KeyID 包括 64 个有效位, (KUa mod 2642^{64})

密钥环: 存储和管理加密密钥的结构/组件. Keyring 字面意思就是钥匙串, 起个这个鬼名字还以为是什么集合论里的东西.

PGP 虽然采用公钥密码体系, 但不是证书, 需要保证公钥确实是所指定用户的合法公钥, 保护公钥免受攻击是 PGP 的一个问题.

  • 直接索取, 其他方式确认
  • 从可信任证书机构获得 B 的公钥
  • 采用信任关系保护 (从可信第三方) 公钥: 完全信任, 部分信任, 不信任

SMTP 不能传输可执行文件和其他二进制码 (如 jpg 图片), 只能传输 7 位 ASCII 字符的问题, 因此出现了 S/MIME.

MIME 的头标定义了:

  • 版本
  • 内容类型
  • 内容传输编码
  • 内容 ID
  • 内容描述

在功能上, S/MIME 与 PGP 相似, 通过使用签名, 加密或签名/加密的组合来保证 MIME 通信的安全, 但强化了证书的规范.

远程登陆安全协议 SSH#

Secure SHell

  • SSH 传输层协议
  • SSH 认证协议
  • SSH 连接协议

Web 安全协议 HTTPS#

http over SSL, 由 http 和 SSL 结合来实现浏览器和服务器之间的安全通信.

https 的功能被嵌入到所有当前的主流浏览器当中, 但依赖于服务器端是否支持 https 通信.

https 的周知端口为 443, http 为 80.

客户端同时扮演 http 的客户端和 TLS 的客户端, 首先是 TLS 握手过程, 然后是 http 请求, 执行标准的 http 过程.

DNSSEC 协议和系统#

DNSSEC (DNS Security Extensions) 通过为 DNS 中的数据添加数字签名信息, 使得客户端在得到应答消息后可以通过检查此签名信息来判断应答数据是否权威和真实, 从而为 DNS 数据提供数据来源验证和数据完整性检验, 可以防止针对 DNS 的相关攻击.

  • 为 DNS 数据提供来源验证
  • 为数据提供完整性性验证
  • 为查询提供否定存在验证 (即为否定应答消息提供验证, 确认授权服务器上不存在所查询的资源记录)

SET 协议#

安全电子交易协议 SET (Secure Electronic Transaction) 提供了消费者, 商家和银行之间的认证, 确保了网上交易数据的保密性, 数据的完整性以及交易的不可抵赖性. 特别是能保证不将消费者银行卡号暴露给商家, 不将消费者的购物信息暴露给银行等优点, 因此它成为目前公认的信用卡/借记卡网上交易安全标准.

WLAN Security#

802.11 身份认证:

  • 开放式系统 公开 SSID 传统缺省设置, 不进行认证
  • 封闭式系统 不公开 SSID