计算机网络自顶向下方法--计算机网络中的安全.2
8.6 使TCP连接安全: SSL
安全套接字层(Secure Socket Layer, SSL),提供套接字接口,技术上位于应用层,但是是一个提供TCP的运输层协议。
8.6.1 宏观描述
1.握手
B与A握手分为3个阶段。
- 创建TCP连接。
- A发送包括A公钥的证书,验证A是真实的A。
- 发送给A一个加密的主密钥(MS)。
2.密钥导出
- MS需要生成4个会话密钥。
- Ea,A到B的会话加密密钥。
- Eb,B到A的会话加密密钥。
- Ma,A到B的会话MAC密钥。
- Mb,B到A的会话MAC密钥。
- 如果对称密钥用CBC(密码块链接),则两个初始向量IV也从MS导出。
3.数据传输
- SSL将数据流分为记录,MAC是数据、MAC密钥、当前序号的散列。
- 每发送一个SSL记录,序号+1。阻止一个会话中重放或者重排分组。
4.SSL记录
- 发送SSL记录,在类型中指出该记录用于终止SSL会话。
- 如果直接终止底层TCP连接,可能被截断攻击。
8.6.2 更完整的描述
1)客户发送它支持的密码算法的列表,连同一个客户的不重数。
2)从该列表中,服务器选择一种对称算法、一种公钥算法和一种MAC算法。它把它的选择以及证书和一个服务器不重数返回给客户。
3)客户验证该证书,提取服务器的公钥,生成一个前主密钥(Pre-Master Secret, PMS),用服务器的公钥加密该PMS,并将加密的PMS发送给服务器。
4)使用相同的密钥导出函数,客户和服务器独立地从PMS和不重数中计算出主密钥(MS)。然后该MS被切片以生成两个密码和两个MAC密钥。此外,当选择的对称密码应用于CBC,则两个初始化向量(IV)也从该MS获得,这两个IV分别用于该连接的两端。自此以后,客户和服务器之间发送的所有报文均被加密和鉴别。
5)客户发送所有握手报文的一个MAC。
6)服务器发送所有握手报文的一个MAC。
在第一步中,客户通常提供一个算法列表,其中有些算法强,有些算法弱。因为这些加密算法和密钥还没有被协商好,所以算法的这张列表以明文形式发送。而入侵者能够从列表中删除较强的算法,迫使客户选择一种较弱的算法。为了防止这种篡改攻击,在步骤5中客户发送一个级联它已发送和接收的所有握手报文的MAC。服务器能够比较这个MAC与它已接收和发送的握手报文的MAC,如果有不一致,服务器能够终止该连接。类似地,服务器发送一个它已经看到的握手报文的MAC,允许客户检查不一致性。
在SSL中,不重数用于防御“连接重放”,而序号用于防御在一个进行中的会话中重放个别分组。
8.7 网络层安全性:IPsec和虚拟专用网
- IP安全(IP Security)协议被称为IPsec,为网络层提供安IPsec可以创建运行在公共网络之上的虚拟专用网(virtual private network, VPN)。
- IPsec提供机密性、源鉴别、数据完整性、重放攻击防护。
8.7.1 IPsec和虚拟专用网
8.7.2 AH协议和ESP协议
- 鉴别首部协议(Authentication Header, AH)和封装安全性载荷(Encapsulation Security Payload, ESP)。
- AH提供源鉴、数据完整性服务。ESP多提供机密性服务,所以ESP运用广泛。
8.7.3 安全关联
在从源实体向目的地实体发送IPsec数据报之前,源和目的实体之间会创建一个网络层的单向逻辑连接,被称为安全关联SA.它主要保存了一些信息:32比特标识符称为安全索引参数SPI,初始接口和目的接口的IP地址,加密类型及机密密钥,完整性检查的类型及鉴别密钥.因为SA是单向的,所以两个相连的主机间具有两个SA.
8.7.4 IPSec数据报
被加密指的的机密性机密,ESPMAC则用于完整性鉴别.
执行过程如下:
- 在原始数据报后添加ESP尾部,填充是因为块密码要求加密报文必须是块大小的整数倍.
- 使用对称密钥加密以上数据
- 生成ESP首部,包含了SPI,和序号,以防止重放攻击,SIP则指明术语那个SA.
- 将以上部分进行MAC加密,以获得完整性加密.添加一个ESPMAC
- 最后,添加新IP首部,指明目的地主机
8.7.5 IKE:IPsec中的密钥管理
- 因特网密钥交换(Internet Key Exchange, IKE)协议,自动在两个IPsec实体间交换证书,协商算法、密钥、SPI,之后在SAD中键入SA信息。类似SSL握手。
8.8 使无线LAN安全
8.8.1 有线等效保密
有线等效保密(Wired Qeuivalent Privacy, WEP)协议为在主机和无线接入点之间提供鉴别和数据的加密。鉴别以下列方式进行:
- 无线主机通过接入点请求鉴别。
- 接入点以一个128字节的不重数响应该鉴别请求。
- 无线主机用它与这个接入点共享的密钥加密这个不重数值。
- 加入点解密主机加密的不重数值。
8.8.2 IEEE 802.11i
802.11i是具有更强安全性机制的802.11的新型、改进版本。802.11i运行分为4个阶段:
- 发现。在发现阶段,AP通告它的存在以及它能够向无线客户节点提供的鉴别和加密的形式。客户则请求它希望的特定鉴别和加密形式。
- 相互鉴别和主密钥(MK)生成。鉴别发生在无线客户和鉴别服务器之间。在这个阶段,接入点基本是其中继的作用,在客户和鉴别服务器之间转发报文。可扩展鉴别协议(Extensible Authentication Protocol, EAP)定义了客户和鉴别服务器之间交互时的请求/响应模式中使用的端到端报文格式。
- 成对主密钥(Pairwise Master Key, PMK)生成。MK是一个仅为客户和鉴别服务器所知的共享密钥,它们都使用MK来生成一个次密钥,即成对主密钥(PMK)。鉴别服务器则向AP发送该PMK。客户和AP现在具有一个共享的密钥,并彼此相互鉴别。
- 临时密钥(Tamporal Key, TK)生成。使用PMK,无线客户和AP现在能够生成附加的、将用于通信的密钥。其中的关键是临时密钥,TK将被用于执行经无线链路向任意远程主机发送数据的链路级的加密。
8.9 运行安全性:防火墙和入侵检测系统
防火墙是一个硬件和软件的结合体,它将一个机构的内部网络与整个因特网隔离开,允许一些数据分组通过而组织另一些分组通过。防火墙具有3个目标:
-
从外部到内部和从内部到外部的所有流量都通过防火墙。
-
仅被授权的流量允许通过。
-
防火墙自身免于渗透。
8.9.1 防火墙
防火墙能够分为3类:传统分组过滤器、状态过滤器和应用程序网关。
1.传统分组过滤器
独立地检查每个数据报,然后基于管理员特定的规则决定该数据报应当允许通过还是应当丢弃。过滤决定通常基于下列因素:
- IP源或目的地址。
- 在IP数据报中的协议类型字段:TCP、UDP、ICMP、OSPF等。
- TCP或UCP的源和目的端口。
- TCP标志比特:SYN、ACK等。
- ICMP报文类型。
- 数据报离开和进入网络的不同规则。
- 对不同路由器接口的不同规则。
2.状态过滤器
跟踪TCP连接,通过FIN分组或者一段时间没有活动判断连接关闭,拒绝属于关闭连接的分组。
3.应用程序网关
可以处理应用层数据,如用户身份等。起到中继代理的作用。
8.9.2 入侵检测系统
- 不仅可以检查分组首部,还能够对不同应用程序进行深度分组检查。
- 入侵检测系统(Intrusion Detection System, IDS)能够对潜在的恶意流量告警。
- 入侵防止系统(Intrusion Prevention System, IPS)可以消除可疑流量。
- 基于特征(signature-based)的IDS维护攻击特征库,匹配攻击。但是无法判断新的攻击,也有可能产生虚假警告。
- 基于异常(anomaly-based)的IDS观察流量,生成流量概况,寻找统计上不寻常的分组,如ping分组比例不寻常等。如何区分和统计流量难。
- 大多数IDS都是基于特征的,有些包含基于异常的特性。
参考
https://blog.csdn.net/qq_40369829/article/details/78920620
https://blog.csdn.net/qq_38192377/article/details/91590436