网络与系统安全笔记------网络安全协议
-
-
- TCP/IP脆弱性
-
- 网络安全协议
-
- IPSec
-
- IPv4
- IPv6
- 功能
- 体系结构
- 安全关联(SA)
- 安全策略(SP)
- AH协议
- ESP协议
- 相比之下
- IKE协议
- 工作模式
-
- SSL
-
- VPN(虚拟专用网络)
-
TCP/IP脆弱性
- 没有验证通信双方真实性的能力,缺乏有效的认证机制
- 没有能力保护网上数据的隐私性,缺乏保密机制
- 自身设计的某些细节和实现中的一些安全漏洞,容易引发各种安全攻击
相应攻击
DNS欺骗
设计缺陷:
- 在DNS报文中只使用一个标识号(16位)来进行有效性鉴别,来匹配查询包文和应答报文。
- 在处理时,只是单纯的相信首先到达的数据包,丢弃后到达的。
- DNS欺骗攻击可能存在于客户端和DNS服务器间,也可能存在于各DNS服务器之间。
- DNS客户端向首选DNS服务器发送对于www.hit.edu.cn的递归解析请求。
- 攻击者监听到请求,并根据请求ID向请求者发送虚假应答包,通知与www.hit.edu.cn对应的IP地址为1.2.3.4。
- 本地DNS服务器返回正确应答,但由于在时间上晚于监听者的应答,结果被丢弃。
- 攻击完成,客户端对www.hit.edu.cn的访问被重定向到1.2.3.4。
网络安全协议
基于密码学的通信协议,通过信息的安全交换来实现某种安全目的所共同约定的逻辑操作规则。安全协议的研究目标都与安全性有关,实现机密性、完整性、不可否认性、可用性等。
所需的组件:加密与解密,消息摘要,消息验证码,数字签名,密钥管理。
网络安全协议:语法、语义、时序
- 语法:数据和控制信息的结构和格式;
- 语义:控制信息的含义;
- 时序:指双方相互应答的次序。
网络接口层
链路级安全:PPP应用是远程网络连接。PPTP可以实现认证和加密
二层隧道协议(L2TP):通常被应用在虚拟专用网的实现中。
网络层
网络层安全协议在网络层对数据进行加密和认证的协议,可用来在Internet上建立安全的IP通道和虚拟专用网。主要是IPSec协议。
传输层
传输层安全协议在传输层上提供实现保密、认证和完整性。
TLS/SSL协议
应用层
应用层安全协议为不同网络应用提供认证、机密性、完整性等方面的安全保护。
SSH、SHTTP、SET、Kerberos、PGP等安全协议。
IPSec
IPv4
IPv4的地址位数为32位,对应存在缺陷:
- 缺乏对通信双方身份真实性的认证能力
- 缺乏对传输数据的完整性和机密性保护的机制
- 由于IP地址可软件配置以及基于源IP地址的认证机制,IP层存在业务流被监听和捕获、IP地址欺骗、信息泄露和数据项篡改等攻击
- IP地址的匮乏问题
IPv6
将地址扩展到128位,解决了地址匮乏的问题,并且将认证和加密作为必要的特征,IPSec成为其必要的组成部分。
功能
- IPSec提供了数据机密性、完整性、认证和抗重放攻击等安全服务。
- IPSec在网络层提供安全服务。
具体功能上:
- 保证数据来源可靠。
- 保证数据完整性。
- 保证数据机密性。
- 作为隧道协议实现VPN通信
体系结构
- ESP:是插入IP数据包内的一个协议头,具有为IP数据包提供机密性、数据完整性、数据源认证和抗重传攻击等功能。
- AH:是插入IP数据包内的一个协议头,具有为IP数据包提供数据完整性、数据源认证和抗重传攻击等功能。
- 加密算法:描述将各种不同加密算法用于ESP;
- 鉴别算法(认证算法):描述将各种不同鉴别算法用于AH以及ESP鉴别选项;
- 密钥管理:描述密钥管理模式;
- DOI: 包含了其他文档需要的为了彼此间相互联系的一些值。这些值包括经过检验的加密和认证算法的标识以及操作参数。
安全关联(SA)
用于通信对等方之间对某些通信要素的约定,比如:
- IPSec协议(AH或者ESP)
- 协议的操作模式:传输、隧道
- 密码算法
- 密钥
- 用于保护数据流的密钥的生存期
其通过像IKE这样的密钥管理协议在通信对等方之间协商而生成。当一个SA协商完成后,两个对等方都在其安全关联数据库(SAD)中存储该SA参数,SA具有一定的生存期,当过期时,要么中止该SA,要么用新的SA替换,终止的SA将从SAD中删除。
安全策略(SP)
指定用于到达或源自特定主机/网络的数据流的策略。即规定对一个包是否或如何进行安全处理。
三种选择: discard, bypass IPSec, apply IPSec
SPD:安全策略数据库,存储策略并提供查询支持。
通过使用一个或多个选择符来确定每个条目,在每个条目中定义了要保护什么样的通信、怎样保护它以及和谁共享这种保护。
AH协议
认证头协议为IP数据包提供如下三种服务:
- 数据完整性:哈希函数(如MD5)产生的校验值来保证
- 数据源认证:计算验证码时加入一个共享密钥来实现
- 防重放攻击:AH报头中的序列号用于防止重放攻击
报文结构如下:
- Next Header: 下一个报头的类型
- Payload Length:AH的长度(32位字为单位)
- SPI:用来标识SA
- Sequence Number:用来避免重放攻击
- Authentication Data:可变长度的域
ESP协议
封装安全负载协议为IP数据包提供如下安全服务:
相比之下
- ESP协议功能更为强大,提供AH不具备的机密性服务
- ESP协议提供有限的流量保密
- 都提供鉴别服务时,ESP协议只鉴别ESP头之后的信息,覆盖范围较AH窄;
- AH还要对外部IP包头各部分进行鉴别。
IKE协议
互联网密钥交换协议,应用层协议,基于UDP,使用端口500。
作用:在IPSec通信双方之间,建立起共享安全参数及验证过的密钥(建立SA)。
其代表IPSec对SA进行协商,并对SADB数据库进行填充。
安全协议和密钥管理协议之间关系
- 大多数密钥协商机制都使用状态机制。
- 协商的结果形成安全场景(Context),一般由密钥协商协议协商出安全场景,并给出一个惟一的标识符。
- 安全协议通过标识符使用场景对数据进行保护。
- 安全协议与密钥协商协议分离,任何一方的修改,都不会影响另一方。安全场景是两者之间的接口。
流程
- 协商如何保护后续的协商传输,并建立一个主密钥,形成一个ISAKMP(Internet安全关联和密钥管理协议)SA(安全关联)。
- 协商建立IPSec SA,用于实际的安全协议(AH或ESP),保护实际通信内容。
工作模式
传输模式
传输模式主要用于对上层协议的保护,即将其保护推广到IP数据报的负载。(主机到主机间的VPN通信)
仅适用于主机实现
隧道模式
用于对整个IP数据报的保护,它是将一个数据报用一个新的数据报包装,即给原数据报加一个新的报头。用于安全网关与安全网关间,或者远程主机到安全网关之间建立安全信道。
适用于路由器、安全网关实现
SSL
安全套接字层,工作于可靠的传输层协议和应用层协议之间。主要用于支持HTTP服务,也可支持任何应用层协议,Telnet、FTP等。
1999年更新为TLS(Transport Layer Security,传输层安全)协议。
SSL提供一个安全的“握手”来初始化一个TCP/IP连接,完成客户端和服务器之间关于安全等级、密码算法、通信密钥的协商,以及执行对连接端身份的认证工作之后,SSL连接上所传送的应用层协议数据都会被加密,从而保证通信的机密性。
主要考虑的安全保护:
- SSL服务器认证
- SSL客户端认证
- SSL连接中通信数据的机密性、完整性、数据源认证
通信步骤
- 建立TCP“连接”
- SSL握手,建立SSL“会话”(Session)
- 通过“会话”安全传送数据包
- 释放连接,“会话”过期
体系结构
SSL连接: SSL连接是点对点的关系;每一个连接与一个会话相联系,在任一对通信实体(即客户机和服务器之间的应用程序如HTTP)之间可能有多个安全连接。
SSL会话: SSL会话是客户和服务器之间的关联;会话通过握手协议来创建;会话定义了一组可供多个连接共享的密码安全参数,可以用来避免为每个连接进行昂贵的新安全参数的协商
记录协议
用于对高层协议进行封装:
- 分片:每个上层报文被分成≤16KB的数据块
- 压缩:为可选应用
- 增加MAC码:需用到共享密钥
- 加密:使用对称加密算法对报文和MAC码进行加密
- 增加SSL首部
修改密文规约协议
- 由单个报文构成,该报文由值为1的单个字节组成
- 这个报文的惟一目的就是改变使用的"安全参数"
告警协议
将SSL有关的警告传送给对方实体,告警协议由两个字节组成
- 第一个字节的值用来表明警告的严重级别: warning(警告)或fatal(致命)
- 第二个字节表示特定告警的代码
握手协议
服务器和客户能相互鉴别对方的身份、协商加密和MAC算法以及用来保护在SSL记录中应用协议数据的会话密钥。
- 建立安全能力,包括协议版本、会话ID、密码算法、压缩方法和初始随机数等。
- 服务器鉴别和密钥交换。
- 客户鉴别和密钥交换。
- 结束,这个阶段完成安全连接的建立。
VPN(虚拟专用网络)
利用公共网络基础设施,通过“隧道”技术等手段达到类似私有专网的数据安全传输,具有虚拟的特点。
成本低,易拓展,完全的主动控制权
工作原理
隧道技术(Tunnelling)
对数据进行封装,在公共网络上建立一条数据通道(隧道),让数据包通过这条隧道传输。实质上是一种封装,是将一种协议封装在另一种协议中传输,从而实现内部网络协议对公用网络的透明性。
- 负责隧道的建立、保持和拆除
- 对数据进行封装,传输,解封。
- 提供数据完整性和机密性等安全服务
三种格式与对应协议
- 用户数据包格式—乘客协议
- 封装格式—隧道协议
- 公用网传输格式—传输协议
隧道可在网络的任一层实现,隧道由隧道协议形成。
隧道协议
- 二层隧道协议(链路层)
-
- 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
- 三层隧道协议(网络层)
-
- IPSec,Internet Protocol Security,Internet协议安全
-
- GRE,Generic Routing Encapsulation,通用路由选择封装,RFC2784
- 高层隧道协议
-
- SSL,Security Socket Layer,安全套接字层
主要类型
- IPSec VPN
- SSL VPN
- PPTP VPN
- L2TP VPN
- MPLS VPN
IPSec VPN功能
保护IP层数据
- 数据机密性保护
- 数据完整性保护
- 数据源身份认证
- 抗重放攻击保护
SSL VPN功能
保护应用(应用服务器)