20. 因特网安全
20. 因特网安全
20.1 安全威胁
网络安全威胁是指对网络资源的机密性、完整性、可用性和非否认性造成的危害,主要分为被动攻击和主动攻击两类。
- 被动攻击
攻击者不修改数据,仅通过截获和分析信息获取利益,目标是 “获取信息”。- 手段:截获传输中的数据并分析。
- 分类:
- 析出消息内容:从截获的信息中提取有用数据(如未加密的明文);若信息加密,攻击者会尝试破解以获取内容。
- 通信量分析:通过分析消息模式(如通信主机标识、通信频率 / 长度),推测通信性质(如是否在传输敏感数据)。
- 特点:难以检测(不干扰数据传输),但可通过加密等技术预防。
- 主动攻击
攻击者直接修改、伪造数据或干扰系统运行,目标是 “破坏或篡改信息”。- 手段:篡改数据、伪造身份、阻止合法访问。
- 分类:
- 篡改消息:非法修改传输中的数据(如修改订单金额),破坏信息完整性。
- 伪装:冒充合法用户或实体(如伪造 IP 地址),破坏信息真实性。
- 拒绝服务(DoS/DDoS):通过大量请求耗尽系统资源(如带宽、服务器算力),阻止合法用户访问,破坏系统可用性。
- 特点:难以预防(攻击点多样),但易检测(数据或行为异常)。
20.2 安全服务
安全服务是网络安全系统提供的保护机制,用于抵御安全威胁,主要包括以下 9 类:
- 机密性
- 作用:保护信息不被未授权者获取(抵御被动攻击)。
- 实现:
- 通过加密技术防止消息内容被析出;
- 通过流量填充(生成伪造流量)干扰通信量分析。
- 应用:可保护整个消息流、单个消息或消息中的特定字段。
- 完整性
- 作用:确保信息未被非法篡改(抵御主动攻击中的篡改消息)。
- 分类:面向连接的完整性(持续验证)、无连接的完整性(单次验证)。
- 实现:通过报文鉴别码(MAC)或散列函数检测数据是否被修改,若发现篡改则报告并按需恢复。
- 身份认证(真实性)
- 作用:确认通信双方的真实身份(抵御伪装攻击)。
- 实现:通过交换认证信息(如口令、数字证书、生物特征)验证对等实体的合法性,确保通信对象可信。
- 访问控制
- 作用:限制对网络资源的访问,仅授权用户可操作(如文件、数据库、服务器)。
- 实现:基于身份、角色或权限的策略(如防火墙规则、操作系统权限设置)。
- 非否认性
- 作用:防止发送方或接收方抵赖已传输的信息(如交易记录、合同)。
- 实现:通过数字签名(发送方无法否认发送)和第三方仲裁(双方共同信任的机构验证)。
- 可用性
- 作用:保障系统持续正常提供服务(抵御拒绝服务攻击)。
- 实现:
- 严格的访问控制和防病毒措施;
- 资源分布与冗余(如集群服务器、多链路);
- 数据备份和快速恢复机制。
- 安全审计
- 作用:检查安全事件的跟踪记录(如登录日志、操作记录),追溯攻击源或违规行为。
- 实现:记录系统活动,定期分析日志以发现异常。
- 入侵检测
- 作用:检测试图破坏系统机密性、完整性或可用性的行为(如病毒、黑客攻击)。
- 实现:基于特征(已知攻击模式)或异常(偏离正常行为)的检测算法。
- 事故响应
- 作用:在安全事件发生后,按预案快速处理(如隔离攻击、恢复系统、追查责任),减少损失。
20.3 基本安全技术
为实现安全服务,需依赖多种核心技术,主要包括以下 7 类:
20.3.1 密码技术
密码技术是网络安全的基础,通过加密 / 解密保护信息机密性,分为编码学(加密)和密码分析学(破解)。
- 基本模型:
- 明文:加密前的原始信息;
- 密文:加密后的不可理解信息;
- 加密算法:将明文转换为密文的规则;
- 解密算法:将密文还原为明文的规则(加密算法的逆过程);
- 密钥:控制加密 / 解密过程的参数(算法公开,密钥保密)。
- 分类:
- 对称密码体制(如 DES、AES):加密和解密使用相同密钥,效率高但密钥分发困难(适合封闭网络);
- 非对称密码体制(如 RSA):加密用公钥,解密用私钥,密钥分发方便(公钥可公开),但算法开销大(适合密钥交换)。
20.3.2 报文鉴别技术
用于证实收到的报文来自可信源且未被篡改(抵御主动攻击)。
- 报文鉴别码(MAC):
- 发送方用密钥和算法对报文生成定长 MAC,附加在报文后;
- 接收方用相同密钥和算法重新计算 MAC,若与报文中的 MAC 匹配,则确认完整性和源真实性。
- 散列函数(Hash Function):
- 输入为变长报文,输出为定长散列码(报文摘要 MD),具有 “单向性”(无法从散列码反推报文)和 “抗碰撞性”(不同报文难生成相同散列码)。
- 常用算法:
- MD5:生成 128 位散列码,输入按 512 比特分组处理(已被攻破);
- SHA-1:生成 160 位散列码,输入最大长度 2⁶⁴比特(已被攻破);
- HMAC:结合散列函数和密钥,增强安全性(可替换底层散列函数)。
20.3.3 身份认证技术
确认被认证对象的真实性,基于 “唯一属性” 验证(如口令、生物特征)。
- 基于口令的认证:用户提交口令,系统与存储的口令比对(简单但易被窃取)。
- 双因素认证:结合两种不同属性(如口令 + 硬件令牌),安全性更高。
- 询问 - 响应机制:
- 示例:挑战握手鉴别协议(CHAP),通过三次握手周期性认证:
- 认证方发送随机 “挑战码”;
- 被认证方用密钥加密挑战码,返回 “响应”;
- 认证方解密响应,与原始挑战码比对,一致则认证通过。
- 示例:挑战握手鉴别协议(CHAP),通过三次握手周期性认证:
- Kerberos:基于第三方(密钥分发中心 KDC)的认证系统,适用于开放网络,通过票据授予服务(TGS)分发加密票据,实现身份验证。
- X.509:国际电信联盟定义的认证框架,基于公钥证书(包含用户公钥和认证机构签名),广泛用于 SSL/TLS 等协议。
20.3.4 数字签名技术
用于保证信息完整性、源真实性和非否认性,类似 “电子签名”。
- 生成过程:
- 发送方用散列函数(如 SHA-1)计算报文的摘要;
- 用自己的私钥对摘要加密,生成 “数字签名”;
- 将签名附加在报文后发送。
- 验证过程:
- 接收方用相同散列函数计算报文摘要;
- 用发送方的公钥解密签名,得到原始摘要;
- 比对两个摘要,一致则确认完整性和源真实性。
20.3.5 虚拟专用网(VPN)技术
依托公用网络(如因特网),通过加密、封装等技术构建 “虚拟专用链路”,提供类似专用网络的安全性。
- 核心技术:封装(隐藏原始地址)、加密(保护内容)、鉴别(验证节点)、访问控制。
- 分类:
- 远程访问 VPN(Access VPN):供远程用户(如员工)接入企业网;
- 内部网 VPN(Intranet VPN):连接企业分支机构,构建统一内部网;
- 外部网 VPN(Extranet VPN):连接企业与合作伙伴,共享部分资源。
20.3.6 防火墙技术
隔离可信网络(如企业内网)与不可信网络(如因特网),控制出入流量的访问控制设备。
- 本质:实施访问控制策略的系统(可为路由器、专用设备或软件)。
- 体系结构:
- 静态包过滤:基于 IP 地址、端口等静态字段过滤,简单但灵活性差;
- 动态包过滤:结合连接状态(如 TCP 三次握手)过滤,支持临时开放端口;
- 电路级网关:在传输层建立 “代理连接”,隐藏内网细节;
- 应用级网关:在应用层代理特定服务(如 HTTP、FTP),细粒度控制但效率低。
20.3.7 防病毒技术
抵御计算机病毒(具有传染性、破坏性的恶意程序)。
- 病毒特点:传染性、隐蔽性、潜伏性、破坏性、触发性(如特定时间激活)。
- 病毒结构:
- 引导模块:将病毒载入内存,激活其他模块;
- 传染模块:复制病毒到其他文件或系统;
- 破坏模块:实施破坏(如删除文件、格式化磁盘)。
- 防御手段:杀毒软件(特征码匹配、行为分析)、防火墙、定期备份。
20.4 IP 层安全
IP 层安全主要通过IPSec(IP Security) 协议族实现,提供鉴别、机密性和密钥管理,保护 IP 数据报传输。
IPSec 体系结构
- 核心组成:
- 安全协议:鉴别首部(AH)和封装安全有效载荷(ESP);
- 安全关联(SA):定义通信双方的安全策略(如算法、密钥);
- 密钥管理:交换和维护加密 / 鉴别密钥;
- 算法:加密(如 AES)、鉴别(如 HMAC-SHA)算法。
- 保护范围:主机与主机、安全网关之间、主机与安全网关之间的通信。
- 安全服务:访问控制、无连接完整性、数据源鉴别、抗重放攻击、机密性、有限流量机密性。
- 核心组成:
安全关联(SA)
- 定义:通信双方为保护流量达成的 “安全约定”,标识为
SA =(SPI,IPDA,协议)
:- SPI(安全参数索引):32 位值,区分相同目的地和协议的不同 SA(本地有效);
- IPDA(IP 目的地址):单播地址(目前仅支持单播);
- 协议:AH 或 ESP。
- 作用:接收方通过 SPI 确定对应的 SA,应用约定的安全策略。
- 定义:通信双方为保护流量达成的 “安全约定”,标识为
鉴别首部(AH)
功能:提供无连接完整性、数据源鉴别、抗重放攻击(可选),不提供机密性。
首部格式
(固定 32 字节 + 可变部分):
- 下一个首部(8 位):标识 AH 后的协议(如 TCP、UDP);
- 载荷长度(8 位):AH 首部长度(单位 32 位字 - 2);
- 保留(16 位):为 0;
- SPI(32 位):安全参数索引;
- 序列号(32 位):防止重放攻击(递增);
- 鉴别数据(可变):用密钥计算的散列值(验证完整性和源)。
工作模式:
- 传输模式:保护 IP 数据报的上层协议(如 TCP),适用于主机间端到端通信;
- 隧道模式:保护整个 IP 数据报(加新 IP 首部),适用于安全网关间通信(隐藏原始地址)。
封装安全有效载荷(ESP)
- 功能:提供机密性(必选)和鉴别(可选),支持访问控制、抗重放攻击。
- 格式:
- 首部:SPI(32 位)、序列号(32 位);
- 载荷:加密的上层数据;
- 尾部:填充(满足加密块对齐)、填充长度(8 位)、下一个首部(8 位);
- 鉴别数据(可选):验证完整性和源。
- 工作模式:
- 传输模式:加密 IP 数据报的上层数据(如 TCP),保留原始 IP 首部;
- 隧道模式:加密整个原始 IP 数据报,添加新 IP 首部(隐藏原始地址)。
20.5 传输层安全
传输层安全主要通过SSL(安全套接层) 协议实现,位于 TCP 之上、应用层之下,为应用层提供安全传输(如 HTTPS)。
- SSL 协议组成
- 记录协议:封装高层协议数据,提供压缩、加密和 MAC 保护;
- 握手协议:最复杂部分,用于双方认证身份、协商加密算法(如 AES)、MAC 算法(如 HMAC-SHA)和会话密钥;
- 修改密文协议:单个字节(值为 1),用于更新当前加密状态(将挂起的密钥 / 算法生效);
- 告警协议:传递告警信息(如 “警告” 或 “致命” 级别),如证书无效、算法不支持。
- TLS 与 SSL 的关系
- TLS(传输层安全)是 IETF 标准化的 SSL 版本,与 SSLv3 类似,但存在差异:
- 版本号不同(TLS 为 3.1,SSLv3 为 3.0);
- MAC 计算、密钥扩展函数、告警代码等细节不同。
- TLS(传输层安全)是 IETF 标准化的 SSL 版本,与 SSLv3 类似,但存在差异:
20.6 应用层安全
应用层安全针对特定应用协议(如 HTTP、电子邮件)提供增强保护,主要包括 S-HTTP 和 S/MIME。
20.6.1 安全超文本传输协议(S-HTTP)
- 定义:HTTP 的安全增强版本,为 Web 通信提供机密性、完整性和鉴别。
- 特点:
- 支持多种加密算法(如 RSA、AES)、散列函数(如 SHA-1)和数字签名;
- 保留 HTTP 的事务模型,消息格式为 “请求行 / 状态行 + 首部 + 实体”,首部可加密;
- 用 “Secure” 方法和 “Secure-HTTP/1.4” 标识,与 HTTP 共享 80 端口。
- 安全机制:
- 消息签名(防抵赖)、消息鉴别(防篡改)、消息加密(防泄露);
- 支持密钥管理(如公钥交换、对称密钥预分配)和抗重放攻击(询问 - 响应机制)。
20.6.2 电子邮件安全(S/MIME)
- 定义:对 MIME(多用途因特网邮件扩展)的安全扩展,保护电子邮件及其他 MIME 传输(如 HTTP)。
- 安全服务:报文完整性、机密性、非否认性。
- 内容类型:通过 MIME 首部标识安全实体,主要包括:
multipart/signed
:明文 + 签名部分;application/pkcs7-mime; smime-type=signed-data
:签名的 MIME 实体;application/pkcs7-mime; smime-type=enveloped-data
:加密的 MIME 实体。
- 签名过程:
- 准备 MIME 实体,用 SHA-1/MD5 计算散列值;
- 用发送方私钥加密散列值,生成签名;
- 打包签名者证书、算法标识和签名,Base64 编码后添加 S/MIME 首部。
- 验证过程:
- 对接收的实体 Base64 解码;
- 用发送方公钥解密签名,得到原始散列值;
- 重新计算实体散列值,比对一致则验证通过。
本章要点
- 安全威胁分为被动攻击(难检测、可预防)和主动攻击(难预防、易检测),被动攻击包括析出消息内容和通信量分析,主动攻击包括篡改消息、伪装和拒绝服务。
- 安全服务包括机密性、完整性、身份认证等 9 类,分别通过加密、鉴别、访问控制等技术实现。
- 基本安全技术核心包括:密码技术(对称 / 非对称加密)、报文鉴别(MAC / 散列函数)、身份认证(口令 / Kerberos/X.509)、数字签名(防抵赖)、VPN(虚拟专用链路)、防火墙(访问控制)、防病毒(抵御恶意程序)。
- IP 层安全通过 IPSec 实现,AH 提供鉴别,ESP 提供加密和鉴别,均支持传输和隧道模式,依赖安全关联(SA)定义安全策略。
- 传输层安全以 SSL/TLS 为核心,通过记录协议和握手协议提供加密和鉴别。
- 应用层安全包括 S-HTTP(Web 安全)和 S/MIME(电子邮件安全),分别增强 HTTP 和 MIME 的安全性。