第八章 网络安全基础

基本属性:

  • 机密性
    • 只有发送方和预定接收方能理解报文内容
    • 发送前加密
  • 消息完整性:发送篡改一定会被检测到
  • 可访问和可用性:允许授权用户或实体使用
  • 身份认证:对数据来源进行确认

安全威胁

映射:

  • 攻击前探路找出运行了什么服务
  • 利用 ping 确定主机地址
  • 利用端口扫描工具,如 Nmap ,依次尝试与每个端口建立 TCP 连接
    嗅探:
  • 通常发生于以太网和无线网
  • 利用混杂模式的网络接口,接收广播帧,读到未加密数据
    IP 欺骗:设置分组的源 IP 地址为任意值

数据加密

密码学是信息安全的核心基础

  • 密码编码学
  • 密码分析学
    明文->加密->密文->解密->密文
    密码体制 5 要素:
  • M:明文空间,可能出现的明文的有限集
  • C:密文空间
  • K:密钥空间
  • E:加密算法
  • D:解密算法
    必须满足:
  • Dk(Ek(x))= x
  • 破译者有效时间内不能破解 K 或明文 x

传统加密

替代密码

经典应用位凯撒密码
如将 q = 26 的字母表右移 k 位
例题与公式见 P273

换位密码

打乱明文字符的位置和次序

  • 将明文 P 按密钥 K 的长度 n 进行分组
  • 如果不是整数倍,则按约定填充
  • K 一般为无重复字母的单词
  • 根据 K 中字母在字母表的顺序,更改每个组的输出顺序

对称密钥加密

加密密钥和解密密钥相同,分为:

  • 流密码(序列密码):伪随机数发生器产生密码流,对明文消息流加密
  • 分组密码(块密码):将明文消息分成若干固定长度的消息组,每组单独加密/解密
    计算机网络常用的对称密钥加密为分组加密,常见的有:

DES

使用 56 位的密钥,明文为 64位分组序列,共进行16 轮的加密,每轮加密都会进行复杂的替代和置换操作,并且每轮加密都会使用一个由 56位密钥导出的48 位子密钥,最终输出与明文等长的 64位密文

三重DES

避免由于密码位数太短, DES 被穷举攻击
使用 2 个密钥执行 3 次 DES 算法:

  • 加密过程:加密-解密-加密
  • 解密过程:解密-加密-解密

AES加密算法

密钥和分组长度可变
使用置换,替代,多轮加密,轮数随密钥和分组长度增加而增加
加密过程:字节替代,行位移,列混淆,轮密钥加
解密过程为上述逆过程

IDEA加密算法

广泛应用于安全电子邮件
64 位分组长度,密钥 128 位
速度快,抵抗密码分析

非对称/公开密钥加密

避免密码分发时被偷取,设置公开密钥密码

  • A有公钥 K+与私钥 K-
  • 当 B 给 A 发送:
    • B 使用 A 的公钥与众所周知的加密算法加密给 A 的报文 m,即 K+(m)
    • A 接收到后使用私钥解密,即 K-(K+(m)),得到 m
  • 当 A 给 B 发送:
    • A 使用私钥加密,即 K-(m)
    • B 用公钥解密,即 K+(K-(m))= m
      使用最广泛的时 RSA 算法,通常与DES 或 AES结合使用,即使用 DES 密钥作为公钥

消息完整性

也称为消息认证,用于证明报文来自声称的发送方,预防篡改,预防抵赖(包括否认发送与否认接收)

检测方法

需要用到密码散列函数H(m),对报文散列化

  • 单向性:无法通过散列值h逆推出报文
  • 抗弱碰撞性:对于报文 x,计算上不可能找到 y,使 H(x) = H(y)
  • 抗强对抗性:任意两个不同的报文 x,y,其散列值不同

典型散列函数

MD5

可以得到 128 位散列值
存在相同散列值的报文,且已被破解

SHA-1

生成 160 位散列值,常用于创建数字签名

报文认证

报文摘要:h = H(m),可以作为报文 m 的数字指纹
报文认证:利用数字指纹,验证:

  • 消息源:验证来源真实
  • 消息:消息未被篡改

简单报文认证

发送方将报文摘要和报文组成扩展报文(m,H(m))
接收方从扩展报文提取出报文 m,进行H(m),将结果与 h 做比较,若相等则认证成功
缺陷: 由于散列函数是公开的,攻击者可以截获报文后,转为发送自己利用散列函数生成摘要,并组成的扩展报文,同样能完成报文认证,即无法实现对消息来源认证

报文认证码MAC

发送方和接收方共享一个认证密钥s
与上方的不同为所有散列函数计算变为:H(m+s)
缺陷: 只要拥有认证密钥就能生成可以认证成功的扩展报文,即无法保证消息在接收方没被篡改

数字签名

解决上述两个方法的缺陷
引入非对称加密

简单数字签名

发送方利用私钥 K-加密报文 m,生气签名报文 K-(m),发送扩展报文(m,K-(m))给接收方
接收方使用发送方的公钥 K+解密,检验 K+(K-(m)) = m,如果成立,则 m 一定是发送方加密的

签名报文摘要

由于加密算法对整个报文加密计算量大,扩展报文数据量大,浪费接收方流量
发送方对报文摘要 H(m)使用私钥加密,K-(H(m))
其他与上文一样

身份认证

通过鉴别协议建立互相信任的各方的标识,仅当鉴别完成后,才继续工作

  • 接收方在收到消息前发送一个一次性随机数
  • 随机数被发送方以对称或非对称加密
  • 接收方解密后确认值为自己发送的随机数

密钥分发中心与证书认证机构

对称密钥效率高,速度快
因此需要建立一个大家都信任的密钥分发中心 KDC

  • 每一方都和 KDC 之间都保持一个长期的共享密钥
  • 双方借助 KDC 在通信双方之间创建一个临时的会话密钥,即对称密钥
    分发方式一:
  • A 将会话密钥通过共享密钥加密后给 KDC
  • KDC 解密后利用 B 的共享密钥加密发送给 B
  • B 接收到后解密获取会话密钥,这样 A 和 B 的对称加密建立成功
    方式二:
  • A向 KDC 发送与 B 通信的请求
  • KDC 随机选一个会话密钥,分别用 A 和 B 的共享密钥加密后,发给 A 和 B
  • A 和 B 接受并解密后,对称加密通信建立成功

证书认证机构

用于证实你拥有的公钥是你要通信的实体的公钥
将公钥与特定实体绑定,并生成证书,通常由认证中心 CA 完成
A 想要 B 的公钥时,先获取 B 的公钥证书,然后通过 CA 的公钥解密证书以获得 B 的公钥

防火墙与入侵检测系统

隔离内部网络和公共互联网,筛选可以通过的分组
必须保证所有进出内部网络的流量都经过防火墙
分类:

  • 无状态分组过滤器:
    • 往往部署在内部网络和网络边缘路由器
    • 筛选基于:
      • IP 地址
      • 端口号
      • ICMP 报文类型
      • TCP 报文段的 SYN 和 ACK 标志位
    • 使用访问控制列表 ACL 实现防火墙规则
  • 有状态分组过滤器:
    • 避免放行所有满足条件分组
    • 使用连接表跟踪每个 TCP 连接,根据建立 SYN 和拆除 FIN,确定状态和是否放行
  • 应用网关:
    • 前两种都无法鉴别用户身份
    • 会进行身份鉴别,只有授权用户才能与目的主机建立连接

入侵检测系统IDS

当观察到潜在的恶意流量,能产生警告
深入查到分组携带的实际数据
非军事区 DMZ : 低安全度区域,不仅进行深度分组检查,同时要将每个过往分组与大量特征进行比较

网络安全协议

安全电子邮件

应用层安全协议
PGP 标准,对邮件的内容进行数字证书,保证不被篡改和不被否认
加密阶段:

  • 对报文 m 进行 SHA-1 散列函数散列,得到 H(m)
  • A 的私钥配合 RSA 算法进行数字签名,得到 K-(H(m))
  • 压缩 m 和数字签名,并使用对称密钥 Ks 进行 3DES
  • 将对称密钥使用 K-与 RSA 加密
  • 对加密的密钥和压缩包进行 Base64编码
    解密阶段:反过程

安全套接字层SSL

传输层安全协议,面向 TCP
Web 页面可能隐藏恶意程序,并且 HTTP 报文是明文形式传输,很容易遭受攻击
为了解决 Web 应用安全问题,在 应用层与传输层之间构建一个安全层,最经典的就是:

  • 安全套接字层 SSL
  • 传输层安全 TLS
    TLS 是 SSL 的变体,区别不大
    SSL 提供的安全服务:
  • 机密性
  • 完整性
  • 身份认证
    HTTP 协议使用了 SSL 后称为安全 HTTP 或 HTTPS

IPSec

网络层安全协议
创建运行在公共网络只上的虚拟专用网 VPN
核心协议是 AH 协议和 ESP 协议
两种模式

  • 传输模式
  • 隧道模式
    两两组合有四种组合
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信