信息安全|网络安全协议 笔记

信息安全|网络安全协议 笔记

概述

TCP/IP脆弱性:

没有能力保护网上数据的机密性,缺乏保密机制

没有验证通信双方身份真实性的能力,缺乏有效身份认证机制

自身设计的某些细节和实现的一些安全漏洞,容易引发各种安全攻击

针对TCP/IP的攻击:

窃取

认证攻击

欺骗

网络安全协议:

基于密码学通信协议,将密码技术应用于通信协议

通过信息的安全交换来实现某种安全目的

SSL/TLS

安全套接字层,传输层安全

工作于运输层,SSL独立于各种协议

由协商过程与通信过程组成

sequenceDiagram

Client->>Server: ClientHello(记录协议承载)

Server->>Client: ServerHello + Certificate(记录协议)

Server->>Client: ChangeCipherSpec(切换协议)

Server->>Client: Finished(加密记录)

Client->>Server: ChangeCipherSpec(切换协议)

Client->>Server: Finished(加密记录)

Client->>Server: HTTP Request(应用数据记录)

Server->>Client: HTTP Response(应用数据记录)

Server->>Client: Alert(close_notify)(告警协议)

Client->>Server: Alert(close_notify)

协商过程

三次握手建立TCP连接

TLS握手,建立TLS会话

通过会话安全传送数据包

释放连接

TLS握手协议

协商安全算法

协商相关密钥

双方相互认证身份

Client Hello

客户端发送一个“Client Hello”消息到服务器。

消息内容包括客户端支持的SSL/TLS版本号列表、产生的随机数、会话ID、密码算法列表和压缩方法列表。

Server Hello

服务器响应客户端的“Hello”消息,并发送一个“Server Hello”消息。

消息内容包括从客户端列表中选出的SSL/TLS版本号、产生的随机数、会话ID以及从客户端列表中选出的密码算法和压缩算法。

Certificate(可选)

服务器发送包含自己证书的证书链。

这个步骤是可选的,但通常情况下,服务器会发送其公钥证书以供客户端验证。

Server Key Exchange(可选)

如果服务器证书中没有包含足够的密钥交换信息,服务器将发送一个“Server Key Exchange”消息。

这个消息包含了用于计算预主密钥的相关信息。

Client Key Exchange

客户端发送一个“Client Key Exchange”消息。

这个消息包含了用于计算预主密钥的相关随机数及相应的签名等信息。

Change Cipher Spec

客户端发送一个“Change Cipher Spec”消息,通知服务器它将使用选定的密码算法和参数处理接下来的通信。

Finish

客户端发送一个“finish”消息,表示握手过程的结束。

这个消息用于验证协商获得的密钥是否正确。

Server Hello Done

服务器发送一个“Server Hello Done”消息,表示服务器的初始握手阶段完成。

Server Finished

服务器发送一个“finished”消息,表示服务器的握手过程结束。

这个消息用于确认协商获得的密钥是否正确。

Encrypted Application Data

握手成功后,双方开始传输加密的应用数据。

SSL记录协议

面相连接的可靠传输协议

保密、完整、抗重放

数据分块

将应用数据分割为 ≤ 16KB 的片段(避免 IP 分片)。

加密与完整性保护

TLS 1.2:先计算 HMAC-SHA256,再用 AES-CBC 加密。

TLS 1.3:直接使用 AEAD 模式(如 AES-GCM),同时加密和认证。

防重放攻击

包含序列号(隐式递增),接收方验证序号连续性。

TLS 修改密文规约协议

(Change Cipher Spec Protocol)

作用:握手阶段的切换信号,通知对端后续消息将使用新协商的密钥加密。

TLS 告警协议(Alert Protocol)

作用:传递错误状态或连接关闭通知,可能导致连接终止

IPsec

IP协议缺乏身份认证机制、完整性保护机制和机密性保护机制

网络层,身份认证、机密性、完整性、抗重放

IKE协议

密钥协商协议

在通信双方间建立起共享安全参数及验证过的密钥

安全关联SA

单向的安全通道参数集合(包括密钥、加密算法、生存周期等)。

双向通信:需要两个 SA(入站 SA + 出站 SA)

AH

认证头协议

对通信实体进行身份认证

完整性保护

防止重放攻击

使用模式

传输模式

IP报头+AH报文+IP报文

隧道模式

新IP报头+AH报头+IP报头+IP报文

ESP协议

封装安全载荷协议

机密、完整、身份认证、抗重放

不验证IP头

IP头+ESP头+负荷+ESP尾+ESP认证

传输模式

IP头+ESP头+IP报文+ESP尾+ESP认证

隧道模式

新IP报头+IP头+ESP头+IP报文+ESP尾+ESP认证

IPSec的两种工作模式

隧道模式

数据封装在一个IP包中隐藏原始IP信息

用一个新的数据报封装,用于与安全网关建立联系

子网内部可以使用私有IP地址

子网拓扑结构保护

子网所有用户透明享受安全网关的保护

网关处理负荷大,形成通信瓶颈

内部安全问题不可控

传输模式

只处理IP有效载荷,不添加新的IP协议报头

用于主机到主机的通信

VPN

VPN概述

端到端数据通路需要经过拨入段-外部段-内部段

拨入段以明文传递到ISP,很容易在拨入段监听

外部段经过多个路由器,容易泄露

端到端数据通路上随处可能发生数据泄露

拨入段链路

ISP接入设备

因特网上

内部网上

Visual Private Network

利用公共网络基础设施,通过隧道技术等达到类似私有专网数据安全传输

具有虚拟的特点

优点

成本低

企业不必租用长途专线建设专网,不必大量的网络维护人员和设备投资

易扩展

网络路由设备配置简单,无需增加太多的设备,省时省钱

完全的主动控制权

VPN上的设施和服务完全掌握在企业手中

基本原理

VPN将分布在不同物理地点的网络或终端通过公用网络连接起来,最终实现在两台直接与公网连接的设备之间建立一条专用安全通道

采用隧道技术(Tunnelling) ,对数据进行封装,在公共网络上建立一条数据通道(隧道),让数据包通过这条隧道传输

隧道,实质上是一种封装,将一种协议封装在另一种协议中传输,从而实现内

部网络协议对公用网络的透明性

隧道技术在VPN中的作用:

负责隧道的建立、保持和拆除

对数据进行封装,传输,解封

提供数据完整性和机密性等安全服务

隧道有隧道协议形成

可以在网络任意一层实现

VPN协议

二层隧道协议

• PPTP,Ponit-to-Point Tunneling Protocol,点对点隧道协议,RFC2637

• L2F,Layer 2 Forwarding,第2层转发协议,RFC2341

• L2TP,Layer 2 Tunneling Protocol,第2层隧道协议,RFC2661

• MPLS,Multiprotocol Label Switching,多协议标记交换,RFC3031

• 三层隧道协议

• IP-in-IP

• IPSec,Internet Protocol Security,Internet协议安全

• GRE,Generic Routing Encapsulation,通用路由选择封装,RFC2784

• 高层隧道协议

• SSL,Security Socket Layer,安全套接字层

三种数据格式

用户数据包格式

封装格式

公用网传输格式

这三种格式分别对应三种协议:

乘客协议

隧道协议

传输协议

主要类型

IPSec VPN

SSL VPN

PPTP VPN

L2TP VPN

MPLS VPN

VPN是企业网在因特网上的延伸

相关阅读