中科大郑烇、杨坚《计算机网络》课程 第八章笔记

计算机网络第八章

第 8 章 网络安全

本章目标:

  • 网络安全原理:
    • 加密,不仅仅用于机密性
    • 认证
    • 报文完整性
    • 密钥分发
  • 安全实践:
    • 防火墙
    • 各个层次的安全性:应用层,传输层,网络层和链路层

      文章目录

      • 8.1 什么是网络安全?
        • 朋友和敌人: Alice, Bob, Trudy
        • 网络中的坏蛋
        • 谁有可能是Bob, Alice?
      • 8.2 加密原理
        • 加密语言
        • 对称密钥加密
        • 对称密钥加密学: DES
        • 块密码
        • AES: Advanced Encryption Standard
        • 密码块链
        • 公开密钥密码学
        • 公开密钥加密算法
        • RSA: 选择密钥
        • RSA: 加密,解密
        • RSA: 为什么
        • RSA 例子:
        • RSA: 数字签名 —— 先解密(私钥) 在加密(公钥) 确认身份
      • 8.3 认证
        • 认证:重新尝试
        • 目标: 避免重放攻击
        • 认证: ap5.0
        • ap5.0: 安全漏洞 —— 中间攻击
      • 8.4 报文完整性
        • ap5.0: 安全漏洞
        • 数字签名
        • 简单的对m的数字签名:
        • 报文摘要
        • Internet校验和: 弱的散列函数 (容易冲突)
        • 数字签名 = 对报文摘要进行数字签署
      • 8.5 密钥分发和证书
        • 散列函数算法
        • 可信赖中介
          • 对称密钥问题
          • 公共密钥问题 —— 可信赖的CA 证书
        • Key Distribution Center (KDC)
        • Certification Authorities
          • 证书包括:
      • 8.6 各个层次的安全性
        • SSL
        • SSL: 3阶段
        • IPsec: 网络层次的安全性
        • ESP 协议
      • 网络安全 (总结)

8.1 什么是网络安全?

机密性: 只有发送方和预订的接收方能否理解传输的报文内容

  • 发送方加密报文
  • 接收方解密报文

认证: 发送方和接收方需要确认对方的身份

报文完整性: 发送方、接受方需要确认报文在传输的过程中或者事后没有被改变

访问控制和服务的可用性: 服务可以接入 以及 对用户而言是可用的

朋友和敌人: Alice, Bob, Trudy

网络安全世界比较著名的模型

  • Bob, Alice (lovers!) 需要安全的通信
  • Trudy (intruder) 可以截获,删除和增加报文

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第1张图片

网络中的坏蛋

Q: “bad guy”可以干什么?

A: 很多!

  • 窃听: 截获报文
  • 插入:在连接上插入报文
  • 伪装: 可以在分组的源地址写上伪装的地址
  • 劫持: 将发送方或者接收方踢出,接管连接
  • 拒绝服务: 阻止服务被其他正常用户使用 (e.g.,通过 对资源的过载使用)

谁有可能是Bob, Alice?

  • … 现实世界中的Bobs和Alices!
  • 电子交易中的Web browser/server (e.g.,在线 购买)
  • 在线银行的client/server 
  • DNS servers
  • 路由信息的交换
  • 其它例子?

8.2 加密原理

加密语言

  • plaintext 纯文本
    ciphertext 密文

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第2张图片

  • 对称密钥密码学: 发送方和接收方的密钥相同

  • 公开密钥密码学: 发送方使用接收方的公钥进行加密,接收 方使用自己的私钥进行解密

对称密钥加密

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第3张图片

对称密钥密码: Bob和Alice共享一个对称式的密钥: K

  • e.g., 密钥在单码替换加密方法中是替换模式
  • Q: 但是Bob和Alice如何就这个密钥达成一致呢?

替换密码: 将一个事情换成另外一个事情

  • 中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第4张图片

Q: 破解这个密码的强度?

  • brute force (how hard?)
  • other?

对称密钥加密学: DES

DES: Data Encryption Standard

  • US 加密标准[NIST 1993]
  • 56-bit 对称密钥, 64-bit明文输入
  • DES有多安全?
    • DES挑战: 56-bit密钥加密的短语 (“Strong cryptography makes the world a safer place”) 被解密,用了4个月的时间
    • 可能有后门
  • 使DES更安全:
    • 使用3个key, 3重DES 运算
    • 密文分组成串技术

DES operation

初始替换
16 轮一样的函数应用 ,每一轮使用的不 同的48bit密钥
最终替换

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第5张图片

块密码

  • 一个循环:一个 输入bit影响8个 输出bit
  • 多重循环: 每个输入比特影响所有的输出bit
  • 块密码:DES, 3DES, AES

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第6张图片

AES: Advanced Encryption Standard

  • 新的对称密钥NIST标准(Nov. 2001) 用于替换 DES
  • 数据128bit成组加密
  • 128, 192, or 256 bit keys
  • 穷尽法解密如果使用1秒钟破解 DES, 需要花 149万亿年破解AES

密码块链

  • 密码块:如果输入 块重复,将会得到 相同的密文块
  • 密码块链: 异或第i轮 输入 m(i), 与前一轮的密文, c(i-1) —— 与之前所有的 输入和原文 都有关系
    • c(0) 明文传输到接收端
    • what happens in “HTTP/1.1” scenario from above?

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第7张图片

公开密钥密码学

对称密钥密码学

  • 需要发送方和接收方对共享式对称密钥达成一 致
  • Q: 但是他们如何第一次达成一致 (特别是他们永远不可能见面的情况下 )?

公开密钥密码学

  • 完全不同的方法 [Diffie-Hellman76, RSA78]
  • 发送方和接收方无需共享密钥
  • 一个实体的公钥公诸于众
  • 私钥只有他自己知道

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第8张图片

公开密钥加密算法

要求:

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第9张图片

RSA: 选择密钥

RSA: Rivest, Shamir, Adelson algorithm

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第10张图片

RSA: 加密,解密

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第11张图片

RSA: 为什么

image-20211003155357026

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第12张图片

RSA 例子:

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第13张图片

RSA: 数字签名 —— 先解密(私钥) 在加密(公钥) 确认身份

下面的特性将在后面非常有用

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第14张图片

结果一致!

解密的几种类型

  • 加密算法已知,求密钥
  • 加密算法和密钥均不知道
  • 唯密文攻击
  • 已知明文攻击
    • 已经知道部分密文和明文的对应关系
  • 选择明文攻击
    • 攻击者能够选择一段明文,并得到密文

8.3 认证

  • 目标: Bob需要Alice证明她的身份
  • Protocol ap1.0: Alice说“I am Alice”

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第15张图片

在网络上Bob看不到 Alice, 因此Trudy可以简单地声称她是 Alice

认证:重新尝试

  • Protocol ap2.0: Alice 说 “I am Alice” ,在她发送的IP数据包 中包括了她的IP地址
    • Trudy可以生成一 个分组,包括伪造 的Alice的地址

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第16张图片

  • Protocol ap3.0: Alice 说 “I am Alice” ,而且传送她的密码来证明.
    • 重放攻击playback attack: Trudy记录 Alice 的 分组,事后向Bob重放

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第17张图片

  • Protocol ap3.1: Alice 说 “I am Alice” ,而且传送她的加密之后的密码来证明

    中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第18张图片

目标: 避免重放攻击

  • Nonce: 一生只用一次的整数 ® —— 一次性随机数(nonce):一个生命周期内只用1次的数R.
  • ap4.0: 为了证明Alice的活跃性, Bob发送给Alice一个nonce, R. Alice 必须返回加密之后的R,使用双方约定好的key

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第19张图片

这个协议的缺点是需要共享秘钥!

认证: ap5.0

ap4.0 需要双方共享一个对称式的密钥

  • 是否可以通过公开密钥技术进行认证呢?

ap5.0: 使用nonce,公开密钥加密技术

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第20张图片

ap5.0: 安全漏洞 —— 中间攻击

中间攻击: Trudy 在 Alice (to Bob)和 Bob之间 (to Alice)

Trudy 用自己的私钥加密 R
传给Bob 公钥

Trudy 截获 Alice 的信息 和 公钥,用Alice 的 公钥 解密 她的 私钥

Bob 与 Alice 之间的信息全被 Trudy 截获

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第21张图片

1、怎样可靠地拿到一个实体的公钥 —— 公开密钥
2、拿到公钥之后怎样验证对方的身份 —— 利用对称密钥

8.4 报文完整性

ap5.0: 安全漏洞

中间攻击: Trudy 在 Alice (to Bob)和 Bob之间 (to Alice)

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第22张图片

  • 难以检测:
    • Bob收到了Alice发送的所有报文, 反之亦然. (e.g., so Bob, Alice一个星期以后相见,回忆起以前的会话)
    • 问题时Trudy也接收到了所有的报文!

数字签名

数字签名类比于手写签名

  • 发送方 (Bob) 数字签署了文件, 前提是他(她)是文件 的拥有者/创建者.
  • 可验证性,不可伪造性,不可抵赖性
    • 谁签署:接收方 (Alice)可以向他人证明 是 Bob, 而不是其他 人签署了这个文件 (包括Alice)
    • 签署了什么:这份文件,而不是其它文件

简单的对m的数字签名:

  • Bob使用他自己的私钥对m进行了签署 ,创建数字签名 KB (m)

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第23张图片

报文摘要

对长报文进行公开密钥加密 算法的实施需要耗费大量的时间

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第24张图片

  • Goal: 固定长度,容易计算的 “fingerprint”

    • 对m使用散列函数H,获得 固定长度的 报文摘要 H(m).
  • 散列函数的特性:

    • 多对1
    • 结果固定长度
    • 给定一个报文摘要x, 反向计算出原报文在计算上是不可行的x = H(m)
  • 假设Alice收到报文m, 以及数字签名KB (m)

  • Alice 使用Bob的公钥KB 对KB (m)进行验证, 判断 KB (KB (m) ) = m是否成立.

  • 如 KB (KB (m) ) = m成立, 那么签署这个文件的人一定拥有 Bob的私钥. + + - - -

Alice 可以验证: —— 只有Bob有自己的私钥

  • Bob 签署了m.
  • 不是其他人签署了m.
  • Bob签署了m 而不是m’.

不可抵赖性:

  • Alice可以拿着m,以及数字签名KB (m)到法庭上, 来证明是Bob签署了这个文件 m.

Internet校验和: 弱的散列函数 (容易冲突)

Internet 校验和拥有一些散列函数的特性:

  • 产生报文m的固定长度的摘要 (16-bit sum)
  • 多对1的

但是给定一个散列值,很容易计算出另外一个报文具有同样的散列值:

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第25张图片

数字签名 = 对报文摘要进行数字签署

Bob 发送数字签名的报文:

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第26张图片

Alice校验签名和报文完整性:

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第27张图片

8.5 密钥分发和证书

散列函数算法

  • MD5散列函数(RFC 1321)被广泛地应用
    • 4个步骤计算出128-bit的报文摘要
    • 给定一个任意的128-bit串x, 很难构造出一个报文m 具有相同的摘要x.
  • SHA-1也被使用.
    • US标准 [NIST, FIPS PUB 180-1]
    • 160-bit报文摘要

可信赖中介

对称密钥问题

  • 相互通信的实体如何分享对
    称式的密钥?

解决办法: —— 可信赖中介

  • trusted key distribution center (KDC) 在实体之间扮演可信赖中介的角色

公共密钥问题 —— 可信赖的CA 证书

  • 当Alice获得Bob的公钥 (from web site, e-mail, diskette), 她如何知道就 是Bob的public key, 而不 是Trudy的?

解决办法:

  • 可信赖的certification authority (CA)

Key Distribution Center (KDC)

  • Alice, Bob 需要分享对称式密钥。
  • KDC: 服务器和每一个注册用户都分享一个对称式的密钥 (many users)
  • Alice, Bob在和KDC通信的时候,知道他们自己的对称式 密钥 KA-KDC、KB-KDC.

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第28张图片

共享R1,使用R1作为对称式的会话密钥

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第29张图片

Certification Authorities

  • Certification authority (CA): 将每一个注册实体E和他的公钥捆绑.

  • E (person, router) 到CA那里注册他的公钥.

    • E 提供给CA,自己身份的证据 “proof of identity”
    • CA创建一个证书,捆绑了 实体信息和他的公钥.
    • Certificate包括了E的公钥,而且是被CA签署的(被CA用自己的私钥加了密的) – CA说 “this is E’s public key”

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第30张图片

当Alice需要拿到Bob公钥

  • 获得Bob的证书certificate (从Bob或者其他地方).
  • 对Bob的证书,使用CA的公钥来验证

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第31张图片

证书包括:

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第32张图片

8.6 各个层次的安全性

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第33张图片

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第34张图片

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第35张图片

SSL

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第36张图片

SSL: 3阶段

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第37张图片

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第38张图片

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第39张图片

IPsec: 网络层次的安全性

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第40张图片

ESP 协议

中科大郑烇、杨坚《计算机网络》课程 第八章笔记_第41张图片

8.6 访问控制:防火墙

8.7 攻击和对策

网络安全 (总结)

  • 基本原理
    • 加密 (对称和公开)
    • 报文完整性
    • 端节点的认证(鉴别)
  • 在多种安全场景中使用
    • 安全电子邮件
    • 安全传输层 (SSL)
    • IP sec
    • 802.11
  • 运行中的安全性: firewalls and IDS

你可能感兴趣的:(中科大郑烇,杨坚《计算机网络》课程,学习笔记,计算机网络)