第 8 章 网络安全

107
Computer Networks V4 cs.sjtu 22/6/10 ftp://ftp.cs.sjtu.edu.c n/ybzhang 第 8 第 第第第第 1 / 107 8 8 第第第第 第第第第 第第 第第第第第第第第第第第第第 第第第第第 第第第第第第第第第第第第第第第第第第 第第 第第第第第第第第第第第 第第 第第第 第 第第第第第第第第第 (): 第第第 第第第

Upload: kenneth-rice

Post on 03-Jan-2016

59 views

Category:

Documents


5 download

DESCRIPTION

第 8 章 网络安全. 加密:防止信息落入非授权用户之手 完整性控制:确认所收到的信息在传输过程中没有被篡改 认证:在对话前确认对方的身份 认可(签名):防止对方抵赖和伪造 安全的传输协议. 加密. 数据加密模型 替换密码 变位密码 对称密钥算法 公开密钥算法. 入侵者. 被动入侵者只是监听. 主动入侵者可能修改. 明文 P. 明文 P. E 加密算法. D 解密算法. 密文 C=E k (P). 加密密钥 k. 解密密钥 k. 密钥源. 另一安全通道. 传统的数据加密模型. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 1 / 10

7

第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手

完整性控制:确认所收到的信息在传输过程中没有被

篡改

认证:在对话前确认对方的身份

认可(签名):防止对方抵赖和伪造

安全的传输协议

Page 2: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 2 / 10

7

加密加密 数据加密模型

替换密码

变位密码

对称密钥算法

公开密钥算法

Page 3: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 3 / 10

7

传统的数据加密模型 传统的数据加密模型

Tnbm P725 Fig. 8-2 加密模型(对称密钥)

E加密算法

D解密算法

密钥源

明文 P 明文 P

密文 C=Ek(P) 解密密钥 k

另一安全通道

入侵者被动入侵者只是监听

主动入侵者可能修改

加密密钥 k

Page 4: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 4 / 10

7

传统的数据加密模型说明传统的数据加密模型说明 明文 P 用加密算法 E 和加密密钥 K 加密,得到密文 C=EK (P)

在传送过程中可能出现密文截取者 到了接收端,利用解密算法 D 和解密密钥 K ,解出明文为: DK(C)

= DK(EK(P)) = P

截取者又称为攻击者,或入侵者 在这里我们假定加密密钥和解密密钥都是一样的,但实际上它们可

以是不一样的(即使不一样,这两个密钥也必然有某种相关性) 密钥通常是由一个密钥源提供,当密钥需要向远地传送时,一定要

通过另一个安全信道 Kerckhoff 法则:算法是公开的,密钥是保密的

Page 5: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 5 / 10

7

加密加密 数据加密模型

替换密码

变位密码

对称密钥算法

公开密钥算法

Page 6: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 6 / 10

7

替换密码替换密码(( Substitution cipherSubstitution cipher )) 凯撒密码( Caesar cipher )

a-D 、 b-E 、 c-F 、 d-G 、 e-H … … s-V … … 、z-C

eg. 明文: access control

可变为: DFFHVV FRQWURO

密钥为:移 4 位 改进 1 :允许移位 k 位, k 为密钥,解密要尝试 25 种可能

Page 7: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 7 / 10

7

替换密码的再改进替换密码的再改进 用对照表

a b c d e f g h i j k l m n o p q r s t u v w x y z

Q W E R T Y U I O P A S D F G H J K L Z X C V B N M

第二行的 26 个字母次序即为密钥

解密要尝试 26 ! = 4 x 1026 种情况,假设 1s 测试一个密钥也需 1010 年

但解密方法可用 1 :分布式计算

2 :用字频法

3 :猜测字或短语

Page 8: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 8 / 10

7

加密加密 数据加密模型

替换密码

变位密码

对称密钥算法

公开密钥算法

Page 9: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 9 / 10

7

变位密码变位密码(( Transposition cipherTransposition cipher )) 每个码不变,但位置改变,最常用的是列变位

加密例: 密钥为 MEGABUCK

明文为:

pleasetransferonemilliondollarstomyswissbankaccountsixtwotwo

密文为:

AFLLSKSOSELAWAIATOOSSCTCLNMOMANTESILYNTWRNNTSOWDPAEDOBUOERIRICXB

M E G A B U C K

7 4 5 1 2 8 3 6

p l e a s e t r

a n s f e r o n

e m i l l i o n

d o l l a r s t

o m y s w i s s

b a n k a c c o

u n t s i x t w

o t w o a b c d

Tnbm P729 Fig. 8-3 变位密码

Page 10: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 10 / 1

07

加密加密 数据加密模型

替换密码

变位密码

对称密钥算法

公开密钥算法

Page 11: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 11 / 1

07

对称密钥算法 对称密钥算法

变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式

Page 12: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 12 / 1

07

变换盒:变换盒: PP 盒 盒 P 盒:实现变位

Tnbm P737 Fig. 8-6 乘积密码的基本元素

P 盒

0 1 2 3 4 5 6 7 3 6 0 7 1 2 4 5

方式:用电路改变输入线的输出排列,图中列出 8 根线的变位,如这 8 位从上到下指定为 01234567

则该 P 盒的输出为 3607124

5

(a) P 盒

Page 13: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 13 / 1

07

替换盒:替换盒: SS 盒 盒 S 盒:实现替换

Tnbm P737 Fig. 8-6 乘积密码的基本元素

S 盒

(b) S 盒

按图中的替换,如果 8 个八进制数 01

234567 一个接一个地输入,那么输出序列将变为 2450

6713 ,即 2 替换 0 ,4 替换 1 ,注意 n

个 bit 的输入需要 2n 条交换线

解码

3 ~

8

编码

8 ~

3

0 1 1 0 0 0

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

Page 14: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 14 / 1

07

对称密钥算法 对称密钥算法

变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式

Page 15: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 15 / 1

07

乘积密码 乘积密码 将一串盒子连接起来,组成乘积密码

P1

S1

S2

S3

S4

P2

S5

S6

S7

S8

P3

S9

S10

S11

S12

P4

乘积密码

Tnbm P737 Fig. 8-6 乘积密码的基本元素

(c) 乘积

Page 16: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 16 / 1

07

乘积密码的实现 乘积密码的实现 第一站对 12 根输入线作变换处理,从理论上讲,第二站可以为一个 S 盒,它把 12 个 bit 映射为另一个12 个 bit ,但是,这样一个 S 盒的中段内需要 212 = 4

096 根跨接线,将 12bit 的输入分为 4 个 3bit 组,各组独立地进行替换处理,尽管这种方法没有通用性,但它却非常有效,在乘积密码中配置足够多的站,可以使输出成为输入的非常复杂的函数

Page 17: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 17 / 1

07

对称密钥算法 对称密钥算法

变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式

Page 18: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 18 / 1

07

DESDES 数据加密数据加密 DES ( Data Encryption Standar

d )数据加密标准 加密算法固定,根据不同的密钥产生

不同的结果

明文按 64 bit块加密,生成 64 bit 的密文,此算法有一个 56 bit 的密钥作为参数(另加 8 bit 的奇偶位)

Page 19: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 19 / 1

07

DESDES 算法的基本流程算法的基本流程

初始变换 16 次迭代,这 16

站功能相同,但使用密钥的不同,

倒数第二站将左 3

2 bit与右 32 bit

互换 最后作初始变换的逆变换

64b 明文

初始变换

迭代 1

迭代 2

迭代 16

32b 交换

反向变向

56比特密钥

....

64b 密文(a) 概况

Li-1 f(Ri-1,Ki)

Li-1 Ri-1

32b 32bLi Ri

(b)16 次迭代中一次的详况

Tnbm P739 Fig. 8-7 数据加密标准

DES 算法的解密密钥与加密密钥相同,但解密步骤正好相反

Page 20: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 20 / 1

07

初始置换 初始置换

即第一站,将 64 bit 明文作与密钥无关的变换,得到一个乱序的明文

 

58 50 42 34 26 18 10 2

60 52 44 36 28 20 12 4

62 54 46 38 30 22 14 6

64 56 48 40 32 24 16 8

57 49 41 33 25 17 9 1

59 51 43 35 27 19 11 3

61 53 45 37 29 21 13 5

63 55 47 39 31 23 15 7

1 2 3 … … 63 64

明文输入 64bit

1 2 3 … … 63 64

置换后的 64bit

1 2 … … 32 1 2 … … 32

置换后的左 32bit 置换后的右 32bit

Page 21: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 21 / 1

07

1616 轮迭代的乘积变换 轮迭代的乘积变换 倒数第二站将左 32 bit与右32 bit互换,余下的 16 站功能相同,但使用密钥的不同函数,解密用的密钥与加密密钥相同,只是解密步骤正好相反

64b 明文

初始变换

迭代 1

迭代 2

迭代 16

32b 交换

反向变向

56 比 特 密 钥

....

64b 密文(a) 概况

Li-1 f(Ri-1,Ki)

Li-1 Ri-1

32b 32bLi Ri

(b)其中一站的详况

Tnbm P739 Fig. 8-7 数据加密标准

Page 22: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 22 / 1

07

逆初始置换 逆初始置换

即最后一站是16轮迭代后的64 bit 组进行变换,得到输出的密文组,是第一站变换的逆变换

 

40 8 48 16 56 24 64 32

39 7 47 15 55 23 63 31

38 6 46 14 54 22 62 30

37 5 45 13 53 21 61 29

36 4 44 12 52 20 60 28

35 3 43 11 51 19 59 27

34 2 42 10 50 18 58 26

33 1 41 9 49 17 57 25

1 2 3 … … 63 64

置换后的 64bit

1 2 3 … … 63 64

输出密文的 64bit

Page 23: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 23 / 1

07

其中函数 其中函数 f f 执行的步骤执行的步骤 11 、、 2 2

根据一个固定的变位和复制规则把 32比特的 Ri-1扩

展成 48比特的数 E

把 E与密钥 Ki异或,并分

成 8 组,每组 6比特,分别送入 8 个不同的 S 盒

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 13 14 15 16 17

16 17 18 19 20 21

20 21 22 23 24 25

24 25 26 27 28 29

28 29 30 31 32 1

Page 24: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 24 / 1

07

每个 S 盒的 64 种可能的输入,将被映射为 4比特的输出

其中函数 其中函数 f f 执行的步骤执行的步骤 3 3

8 个 S 盒中某一个的 6 bit 输入映射为 4 bit 的输出的过程

行 列 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7

1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8

2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0

3 15 12 8 2 4 9 1 7 5 11 2 14 10 0 6 13

X5 X4 X3 X2 X1 X0

1 0 1 0 1 1

X5 X0

1 1

1 0 0 1

Page 25: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 25 / 1

07

8 个 S 盒,每个 S 盒有4 个输出,将通过一个32 输入的 P 盒,再进行置换运算

其中函数 其中函数 f f 执行的步骤执行的步骤 4 4

16 7 20 21

29 12 28 17

1 15 23 26

5 18 31 10

2 8 24 14

32 27 3 9

19 13 30 6

22 11 4 25

32 bit 作为 P 盒的输入

P 盒置换后的 32 bit 输出

置换后的 32 bit 输出将与左边的 32 bit

异或,作为下一轮迭代的右边数字段

Page 26: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 26 / 1

07

f f 函数的计算如下 函数的计算如下 Ri-1(32 位 )

扩展和变序成 48 位

XOR Ki

S 盒(变成 32 位)

P 盒

f(Ri-1, Ki)

Page 27: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 27 / 1

07

子密钥产生器子密钥产生器 KKii 的计算 的计算

子密钥产生器框图

置换选择 1

循环左移

置换选择 2

Page 28: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 28 / 1

07

子密钥产生器框图 子密钥产生器框图

Ci-1(28 bit) Di-1(28 bit)

循环左移 ti 位 循环左移 ti 位

置换选择 2

Ki

密 钥( 64 bit – 8 bit )

置换选择 1

Page 29: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 29 / 1

07

子密钥产生器子密钥产生器 KKii 的计算 的计算

子密钥产生器框图

置换选择 1

循环左移

置换选择 2

Page 30: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 30 / 1

07

置换选择置换选择 11 64 bit 中的 8 、 16 、 24 、 32 、 40 、 48 、

56 、 64 位为校验位,其余 56 位为有效位,用于子密钥的计算

密 钥( 64 bit – 8bit )

D0(28 bit)C0(28 bit)

28 bit 28 bit

57 49 41 33 25 17 9

1 58 50 42 34 26 18

10 2 59 51 43 35 27

19 11 3 60 52 44 36

63 55 47 39 31 23 15

7 62 54 46 38 30 22

14 6 61 53 45 37 29

21 13 5 28 20 12 4

Page 31: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 31 / 1

07

子密钥产生器子密钥产生器 KKii 的计算 的计算

子密钥产生器框图

置换选择 1

循环左移

置换选择 2

Page 32: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 32 / 1

07

循环左移 循环左移 在各次迭代时,寄存器 C 和 D 的循环左

移次数如下表:

第 i 次迭代 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

循环左移次数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

Page 33: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 33 / 1

07

子密钥产生器子密钥产生器 KKii 的计算 的计算

子密钥产生器框图

置换选择 1

循环左移

置换选择 2

Page 34: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 34 / 1

07

置换选择置换选择 22 Ci(28 bit) Di(28 bit)

Ki(48 bit)

置换选择2

14 17 11 24 1 5

3 28 15 6 21 10

23 19 12 4 26 8

16 7 27 20 13 2

41 52 31 37 47 55

30 40 51 45 33 48

44 49 39 56 34 53

46 42 50 36 29 32

Page 35: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 35 / 1

07

33 重重 DES DES (( Triple DESTriple DES ))

解决 DES 算法中密钥太短的问题,由 IBM 公司提出

具体方法:用两个 DES 密钥、三个 DES阶段来完成加密,首先,用 K1 对明文进行 DE

S 加密,然后用 K2 进行 DES 解密,最后再用 K1 进行 DES 加密,产生最终的密文

解密的方法正好相反

Page 36: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 36 / 1

07

33 重重 DESDES 图例图例

E EDP C

K1 K1K2

加密过程

ED D PC

K1K1 K2

解密过程

Tnbm P741 Fig. 8-8 DES 的三重加密和解密

Page 37: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 37 / 1

07

对称密钥算法 对称密钥算法

变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式

Page 38: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 38 / 1

07

AES—AES— 高级加密标准高级加密标准The Advanced Encryption StandardThe Advanced Encryption Standard

用来替代 DES 标准,从世界范围内征求方案 AES 要求:

对称块加密 设计是公开的 必须支持 128 , 192 和 256三种密钥长度 必须可以用软件和硬件实现 算法必须是公开的,对所有人一视同仁

Page 39: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 39 / 1

07

AESAES 现有的方案现有的方案 --Rijndael--Rijndael

块长 128 位,密钥长 128 , 192 或 256 位

块长和密钥长度的选择是独立的,通常有 128/128 和128/256

与 DES 相同,该算法也由多次的替换和变位组成,迭代的次数取决于密钥长度和块长, 128/128 是十次,最多是 14 次

与 DES 不同的是所有的操作都是施加在所有的字节上

Page 40: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 40 / 1

07

RijndaelRijndael 算法算法 设明文与密钥长度相同,迭代次数为 R ,将

明文和密钥看成 M 行 N 列的矩阵从原始密钥产生 R+1 个与原始密钥等长的子密钥

将第 0 个子密钥与明文作异或运算,得到第一次结果

按字节对中间结果用一个 S 盒进行替换按行进行左移操作,第 J 行左移 J 个字节按列与一个常量矩阵相乘生成一个新列将中间结果与第 K 个子密钥作异或运算生成下一个中间结果

循环K次

Page 41: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 41 / 1

07

对称密钥算法 对称密钥算法

变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式

Page 42: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 42 / 1

07

加密模式加密模式 11 电子代码本模式( Electronic Code Book Mode ):

有一个明文和密文的对照本,同一明文总是对应同一密文,如 DES ,入侵者可以通过猜测解密,也可以通过分块特性篡改信息。如:

A d a m s , L e s l i e C l e r k $ 1 0

B l a c k , R o b i n B o s s $ 5 0 0 , 0 0 0

C o l l i n s , K i m M a n a g e r $ 1 0 0 , 0 0 0

D a v i s , B o b b i e J a n i t o r $ 5

16 Byte 8 Byte 8 Byte

姓 名 职 位 津 贴

Tnbm P746 Fig. 8-11 用 16 个 DES块加密的明文

Page 43: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 43 / 1

07

加密模式加密模式 22

密码块连接模式( Cipher Block Chaining Mo

de ):每个明文块在加密以前先与前一个密文

块异或,第一块与一个随机选取的初始向量 IV

异或,这样同样的明文将不再映射到同样的密

文了,初始向量 IV (明文)随密文一起传输,

如 DES链就属于这种加密模式

Page 44: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 44 / 1

07

加密模式加密模式 33 密码反馈模式( Cipher Feedback Mode ): D

ES链的缺点在于解密前必须完整地收到 64

位的密文, CFM 用于按字节加密

C2 C3 C4 C5 C6 C7 C8 C9

64-BIT 移位寄存器Tnbm P748 Fig. 8-13

密码反馈模式

(a) 加密加密盒

选择最左面的字节

异或

密钥

P10 C10

C10

Page 45: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 45 / 1

07

加密模式加密模式 44

流加密模式( Stream Cipher Mode ):块加密中, 1 位传输错误将影响整个块,而流加密模式中, 1 位传输错误只影响 1 位

Tnbm P749 Fig. 8-14

流加密模式

(a) 加密

初始向量

加密盒密钥

异或明文 密文

密钥流

Page 46: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 46 / 1

07

加密模式加密模式 55 计数器模式( Counter Mode ):除了电子代码

本模式外,上述的其他模式都有一个共同的问题—不能随机访问密文,必须顺序访问才能解密,在 C

M 中,初始化向量加上计数器的值被加密,然后与明文块异或,结果为密文

初始向量

加密密钥

异或P0

C0

初始向量 +1

加密密钥

异或P1

C1

初始向量 +2

加密密钥

异或P2

C2

Tnbm P750

Fig. 8-15

计数加密模式

Page 47: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 47 / 1

07

加密加密 数据加密模型

替换密码

变位密码

对称密钥算法

公开密钥算法

Page 48: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 48 / 1

07

公开密钥算法公开密钥算法

公开密钥算法

RSA 算法

公钥管理

Page 49: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 49 / 1

07

公开密钥算法 公开密钥算法 密钥是成对产生的

加密密钥不能用来解密

DSK ( EPK ( P ) ) = P 但 DPK ( EPK ( P ) ) P

加密密钥和算法是公开的,解密密钥是保密的

从 PK( 加密密钥 )导出 SK( 解密密钥 )极其困难

Page 50: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 50 / 1

07

公开密钥算法模型公开密钥算法模型

公开密钥算法中 RSA 算法最有代表性 RSA 算法:基于数论

E加密算法

D解密算法

密钥对产生源

明文 P 明文 P密文 C=EPk(P)

解密密钥 SK

加密密钥 PK

发送者 接收者

Page 51: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 51 / 1

07

公开密钥算法公开密钥算法

公开密钥算法

RSA 算法

公钥管理

Page 52: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 52 / 1

07

密钥的选取 密钥的选取 选择两个大质数, p 和 q (典型地为 1024 bit ) 计算 n = p * q 和 z = ( p - 1 ) * ( q - 1 ) 选择一个与 z互质的数 d , (d, n) 为解密密钥 找出 e, 使 e * d ( mod z ) = 1 (e,n) 为加密密钥

公开密钥(加密密钥 )为( e 、 n )私有密钥(解密密钥 )为( d 、 n )加密密钥和解密密钥可互换 n 为可编码的最大数

Page 53: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 53 / 1

07

加密和解密算法 加密和解密算法 把明文看成一个 bit 串,并划分成每块

k 个 bit ,满足 2k < n , P =2k 对原始信息 P 加密:

使用公开密钥为( e 、 n ),计算密文 C = Pe ( mod n )

对加密信息 C 解密:使用私有密钥为( d 、 n ),计算明文 P = Cd ( mod n )

Page 54: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 54 / 1

07

加密和解密算法举例 加密和解密算法举例 选择 p = 3 , q = 11 (实际中 p 、 q 为大质

数) ( Tnbm P754 )n = p * q = 33 , z = ( p - 1 ) * ( q - 1 ) = 20

因为 7与 20互质,所以选择 d = 7

7e ( mod 20 ) = 1 的数有 21 、 41 、 61 、 81 、 101……

可选 e = 3 对原始信息 P 加密:即计算密文 C = P3 ( mod 33 )使用的公开密钥为( 3 、 33 ) 对加密信息 C 解密: 即计算明文 P = C7 ( mod 33 )使用的私有密钥为( 7 、 33 )

Page 55: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 55 / 1

07

加密和解密算法举例 加密和解密算法举例 P = 2k < 33 , k = 5 即用 5bit 表示一个信息,有 32 种表示 分别用其中的 1 – 26 表示 26 个英文字母 A - Z

如明文为 SUZANNE 可表示为 19 21 26 01 14 14 05

明文 (P) 密文 (C) 解密后

符号 数值 P3 P3(mod 33) C7 C7(mod 33) 符号S 19 6859 28 13492928512 19 S

U 21 9261 21 1801088541 21 UZ 26 17576 20 1280000000 26 ZA 01 1 1 1 1 A

N 14 2744 5 78125 14 N

N 14 2744 5 78125 14 N

E 05 125 26 8031810176 5 E

发送者的计算 接收者的计算Tnbm P754 Fig. 8-17 RSA 算法举例

Page 56: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 56 / 1

07

公开密钥算法公开密钥算法

公开密钥算法

RSA 算法

公钥管理

Page 57: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 57 / 1

07

公钥管理公钥管理

公钥获取中的安全问题 证书 X.509

讨论两个互不相识的人如何通过公钥机制来通信,如何能得到对方的公钥

Page 58: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 58 / 1

07

公钥获取中的安全问题公钥获取中的安全问题

Alice Bob

读 Bob 的网页

返回 Bob 的公钥

用 Bob 的公钥加密通信

正常情况下的通信

有非法者的情况下的通信

Alice Bob

读 Bob 的网页

返回 Trudy 伪造的公钥

用 Trudy 的公钥加密通信 Trudy

用 Bob 的公钥加密通信

Tnbm P765 Fig. 8-23 Trudy 破坏公开密钥加密的一种方法

Page 59: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 59 / 1

07

公钥管理公钥管理

公钥获取中的安全问题 证书 X.509

讨论两个互不相识的人如何通过公钥机制来通信,如何能得到对方的公钥

Page 60: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 60 / 1

07

证书证书 设置一个机构 CA ( Certification Authority )证

明某些公钥是属于某个人或某个机构,这个证明称作为证书

证书用 SHA-1做摘要,该摘要用 CA 的私钥加密 证书的拥有者可将证书放在网上,供希望与他通信

的人下载 证书可解决伪造者的问题

如伪造者用自己的证书替换 Bob 的证书:由于证书中有持有者姓名, Alice马上就可发现有人伪造

如伪造者用自己的公钥替换 Bob 的证书中的公钥:由于证书是作过摘要,并用 CA 的私钥加密,通过摘要可检查出证书被修改

Page 61: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 61 / 1

07

公钥管理公钥管理

公钥获取中的安全问题 证书 X.509

讨论两个互不相识的人如何通过公钥机制来通信,如何能得到对方的公钥

Page 62: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 62 / 1

07

X.509X.509 X.509 是 ITU 制定的证书标准,它包括以下字段

字段 意义版本 X.509 的版本号系列号 这个编号加上 CA 的名字唯一确定这个证书签名算法 用来签署这个证书的算法发布者 CA 的 X.509 名字有效期 证书的有效期持有者姓名 持有者姓名公钥 持有者的公钥和所用算法的编号发布者 ID 唯一确定发布者的编号持有者 ID 唯一确定持有者的编号扩展 已定义的许多扩展签名 证书的签名(用 CA 的私钥签名)

Tnbm P768 Fig. 8-25 X509 的证书标准

Page 63: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 63 / 1

07

第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手

完整性控制:确认所收到的信息在传输过程中没有被篡改

认证:在对话前确认对方的身份

认可(签名):防止对方抵赖和伪造

安全的传输协议

Page 64: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 64 / 1

07

完整性控制完整性控制

完整性控制的一种方法是加密,但加解密需要时间

很多应用不需要加密报文,而只需要保证报文的完整性和正确性

报文摘要是一种解决方法

Page 65: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 65 / 1

07

报文摘要报文摘要(( Message DigestMessage Digest ))

报文摘要不需要对完整的信息进行加密 报文摘要 (MD) 是基于一个单向的 hash 函数,从明文中

取出任意长的部分,从中计算出一个定长的 bit 串 报文摘要的特性

给定明文 P ,很容易就能计算出 MD(P)

给定 MD(P) ,不可能推算出 P

给定 P ,不可能发现一个 P’ 并使得 MD(P) = MD(P’)

当输入改变时,甚至改变一个 bit ,都将产生不同的输出

Page 66: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 66 / 1

07

第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手

完整性控制:确认所收到的信息在传输过程中没有被篡改

认证:在对话前确认对方的身份

认可(签名):防止对方抵赖和伪造

安全的传输协议

Page 67: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 67 / 1

07

认证协议认证协议 验证通信对方是约定的可信任者而

不是入侵者 两种认证方法

challenge-response 协议 密钥分发中心 KDC 的认证

Page 68: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 68 / 1

07

基于共享密钥的双向认证基于共享密钥的双向认证 通信双方 A 和 B事先已通过安全通道交换了一个共享

密钥 KAB,此时认证可用 challenge-response 协议

Tnbm P787 Fig. 8-32 使用 challenge-response 协议双向认证的方法

Alice

Bo

b

A

RB

KAB(RB)

RA

KAB(RA)

1

2

3

4

5

Page 69: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 69 / 1

07

双向认证过程说明双向认证过程说明事先 A 和 B已通过安全通道交换了一个共享密钥 KAB

1. Alice 向 Bob发送自己的标识 A , Bob 收到,但无法断定此标识 A 是 Alice发的还是 Trudy发的

2. 于是, Bob 将已选定的大随机数 R ,用私有密钥加密成 RB后发送

3. Alice 收到 RB,由于事先 Alice已与 Bob 交换了一个共享密钥KAB,于是, Alice 用 KAB对 RB加密后发还给 Bob , Bob 在收到 KAB(RB)后才确认对方是 Alice ,因为 Trudy 是没有 KAB的

4. 但此时 Alice尚不能断定和自己通信的是否就是 Bob ,于是 Alice 也将已选定的大随机数 R 用私有密钥加密成 RA后发送

5. Bob 也用 KAB对 RA加密后发还给 Alice , Alice 在收到 KAB(RA)后也确认对方是 Bob ,至此,通信双方 Alice 和 Bob 得到了双向认证

Page 70: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 70 / 1

07

简化的双向认证过程简化的双向认证过程 challenge-response 协议的双向认证过程

可作如下简化

Tnbm P787 Fig. 8-33 双向认证过程的简化

其实此双向认证协议还是存在漏洞的 P788

Alice

Bo

b

A, RA

RB, KAB(RA)

KAB(RB)

1

2

3

Page 71: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 71 / 1

07

创建一个共享密钥创建一个共享密钥——Diffie-HellmanDiffie-Hellman 密钥交换密钥交换

在一个不保密的、不受信任的通信信道上(比如 I

nternet ),在密钥交换双方之间,建立起一个安全的共享秘密的会话机制(用于交换共享密钥)

Diffie-Hellman 交换过程中涉及到的所有参与者,首先都必须隶属于同一个组,这个组定义了一个大素数 n (并且 (n-1)/2 也是素数),以及底数 g

Page 72: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 72 / 1

07

Diffie-HellmanDiffie-Hellman 密钥交换协议密钥交换协议 由发起者 Alice选择大素数 n 和底数 g ,并选择私钥 x Bob选择私钥 y

Tnbm P791 Fig. 8-37 Diffie-Hellman 密钥交换协议密钥交换协议

Alice

Bo

b

n, g, gx mod n

gy mod n

1

2

Alice 计算(gy mod n)x mod n

=gxy mod n = w

Bob 计算(gx mod n)y mod n

=gxy mod n = w

Page 73: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 73 / 1

07

Diffie-HellmanDiffie-Hellman 密钥交换过程密钥交换过程在定义了大素数 n 和底数 g后, Alice 和 Bob 需要通信:

Alice 和 Bob 都必须选择一个大数作为私钥(例如长度为 512 bit ),假设: Alice选择了 x , Bob选择了 y ,并分别进行乘幂和求模运算, Alice 计算得 A = gx mod n , Bob 计算得 B = gy mod n

Alice 和 Bob 相互交换, Alice 将 A给 Bob , Bob 将 B给 Alice

Alice 和 Bob 分别再次执行乘幂和求模运算,由于 Bx mod n = Ay mod n = gxy mod n = w, 所以双方的计算结果相同,这个结

果值 w 就是 Alice 和 Bob 的共享密钥

Page 74: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 74 / 1

07

Diffie-HellmanDiffie-Hellman 算法举例算法举例 Alice选定大素数 n = 47 , g = 3 和自己的密钥 x = 8;并计算: gx = 38, 38 mod 47 = 28;然后将 (47, 3, 28)发送给 Bob;

Bob选定自己的密钥 y = 10 ,并收到 Alice发来的 (47, 3, 28) ,知道 Alice选用的大素数 n = 47 , g = 3 , gx mod n = 28

Bob 计算 (gx mod n)y = 2810, 2810 mod 47 =4 ,即为他俩的公钥,然后 Bob 计算 gy = 310 ,并把 310 mod 47 = 17发给 Alice

Alice 收到 Bob发来的 17 ,知道 Bob 的 gy mod n = 17 ,经计算 (gy mod n)8 = (17)8 mod 47 = 4 ,即为他俩的公钥

Page 75: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 75 / 1

07

用密钥分发中心用密钥分发中心 KDCKDC 的认证的认证 每个用户与 KDC 有一个共享密钥

KDC ( Key Distribution Center )

Alice

KD

C

Bo

b

A, KA(B,KS)

KB(A,KS)

Alice选择一个 session key : KS

Alice告诉 KDC 要与 Bob 用 KS 加密通信,这条消息用 Alice与 K

DC共享的密钥 KA 加密 KDC 对其解密,重构一条包含 Alice 的标识 A 以及 session ke

y KS 的报文发给 Bob ,这条消息用 Bob与 KDC 的共享密钥 KB

加密 Bob 收到这条消息,得知 Alice 要与它用 session key KS 通信

Tnbm P793 Fig. 8-39

Page 76: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 76 / 1

07

第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手

完整性控制:确认所收到的信息在传输过程中没有被篡改

认证:在对话前确认对方的身份

认可(签名):防止对方抵赖和伪造

安全的传输协议

Page 77: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 77 / 1

07

数字签名 数字签名 认可问题通常用数字签名来解决 数字签名的目的

接收方能够验证发送方所宣称的身份 发送方以后不能否认报文是他发的 接收方不能伪造该报文

数字签名的实现 对称加密 非对称加密

Page 78: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 78 / 1

07

采用对称密钥的数字签名 采用对称密钥的数字签名

一个公认的信任机构 BB ,负责给每个人分配密码 传输时,也必须通过该信任机构,如 A发一消息给 B ,

A 必须先用自己的密钥加密后发给信任机构 BB ,信任机构 BB 解密,然后 BB 用 B 的密钥加密后发给 B

A,KA(B,RA,t,P)

KB(A,RA,t,P,KBB(A,t,P))

Alice

BB

Bo

b

明文信息

时间戳

随机数R

A

Bo

b

的名字

Alice

的密

Tnbm P757 Fig. 8-18

Page 79: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 79 / 1

07

采用公开密钥的数字签名 采用公开密钥的数字签名 对称密钥加密的问题:需要有公认的信任机构,但有

时难以找到这样的机构 公开密钥加密不需要有公认的信任机构

Tnbm P758 Fig. 8-19 公开密钥的数字签名

PAlice的私钥

DA

Bob的公钥

EB

PAlice

的公钥EA

Bob的私钥

DB

Alice 的计算机 Bob 的计算机通信线路

DA(P) DA(P)EB(DA(P))

Page 80: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 80 / 1

07

报文摘要报文摘要(续)(续)

利用报文摘要进行签名 用对称密钥 用非对称密钥

签名后的摘要随明文一起发送 最常用的报文摘要是 MD5 和 SHA-1

Page 81: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 81 / 1

07

第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手

完整性控制:确认所收到的信息在传输过程中没有被篡改

认证:在对话前确认对方的身份

认可(签名):防止对方抵赖和伪造

安全的传输协议

Page 82: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 82 / 1

07

安全传输安全传输

IPSec

防火墙

VPN

Page 83: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 83 / 1

07

IPSecIPSec

提供了在公网上实现安全传输的能力 基本功能:

数据加密:加密 IP包或 IP包携带的数据 源站鉴别:确定 IP包是否由特定的 IP 地址发出

Page 84: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 84 / 1

07

IPSecIPSec

鉴别首部协议( AH头)

封装安全载荷协议( ESP

头)

安全联盟和安全联盟数据库

Page 85: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 85 / 1

07

鉴别首部协议(鉴别首部协议( AHAH 头)头) 提供源认证和数据完整性服务,但不提供

加密服务 过程

创建一个 SA ,使源和目共享一个认证密钥 在 IP包中插入 AH头

IP头 AH头 TCP (或其他)头 数据

Page 86: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 86 / 1

07

AHAH 头的内容头的内容

下一个首部 安全参数索引: SA 标识,提供认证服务

序号:该 SA发出的数据包的序号,从0 开始编号。用于防重发攻击

鉴别数据:整个数据包的报文摘要

Page 87: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 87 / 1

07

IPSecIPSec

鉴别首部协议( AH头)

封装安全载荷协议( ESP

头)

安全联盟和安全联盟数据库

Page 88: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 88 / 1

07

ESPESP 协议协议

除了提供源主机认证和完整性以外,还提供加密功能

过程 创建一个 SA ,使源和目共享一个认证密

钥和加解密密钥 插入 ESP头

Page 89: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 89 / 1

07

ESPESP 头的使用头的使用

原始的 IP包

传输模式

隧道模式

IP头 TCP头 数据

IP头 ESP头 IP头 TCP头 数据 报文摘要ESP尾

IP头 ESP头 TCP头 数据 报文摘要ESP尾

加密

鉴别部分

Page 90: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 90 / 1

07

ESPESP 头头

安全参数索引

序列号

初始化向量: ESP采用“加密算法块链( CBC )”

Page 91: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 91 / 1

07

ESPESP 尾尾

ESP采用“加密算法块链( CBC )”,数据长度必须是加密块的整倍数。如果不是的话,必须填充成整倍数

Page 92: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 92 / 1

07

IPSecIPSec

鉴别首部协议( AH头)

封装安全载荷协议( ESP

头)

安全联盟和安全联盟数据库

Page 93: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 93 / 1

07

安全联盟安全联盟 SASA 与与安全联盟数据库安全联盟数据库 IPSec 的鉴别和保密都是基于安全联盟

虽然 IPSec 是工作在 IP层,但它却是面向连接的,一个连接被称为一个安全联盟 SA

SA 是单向的,如要进行双向通信,必须要两个 SA

每个 SA 由三个参数唯一标识:安全参数索引、 IP目的地址、安全协议标识符(指出是 AH 关联还是 ESP 关联)

安全联盟数据库:定义了与每个 SA 关联的参数

Page 94: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 94 / 1

07

安全联盟数据库的相关参数安全联盟数据库的相关参数 序号计数器:生成 AH 或 ESP头中的序号 序号计数器溢出:指出序号溢出时的行为 防重发窗口:一个滑动窗口,到达的分组序号必须在窗口中

AH 信息:认证算法、密钥、密钥生存期及其他相关参数

ESP 信息:加密和认证算法、密钥、密钥生存期及其他相关参数

安全联盟的生存期 IPSec 协议的工作方式:隧道方式还是传输方式 路径MTU

Page 95: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 95 / 1

07

通信安全通信安全

IPSec

防火墙

VPN

Page 96: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 96 / 1

07

防火墙 防火墙 FirewallFirewall

防火墙的作用 基于协议层的防火墙分类 网络层防火墙 应用层防火墙

内部网

外部网

Page 97: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 97 / 1

07

防火墙的作用防火墙的作用 保障内部网络的安全,不受攻击 监视、记录进出内部网的信息,包括流量统计,设置访问控制表等

可以设置 NAT ( Network Address Translate )网络地址转换器,用于节约 IP 地址,使大量用户使用少量 I

P 地址,让用户仅在出子网时使用正式的 IP 地址,否则使用内部的 IP 地址,对外屏蔽内部网络结构

可采用加密技术对信息进行加密处理

Page 98: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 98 / 1

07

防火墙 防火墙

防火墙的作用 基于协议层的防火墙分类 网络层防火墙 应用层防火墙

内部网

外部网

Page 99: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 99 / 1

07

基于协议层的防火墙分类 基于协议层的防火墙分类 包过滤器:网络层 应用网关:应用层

在实际应用中,通常防火墙的安装位置

外部网络内部网络包过滤器 包过滤器

应用网关

防火墙

外部网络企业内网路由器防火墙

企业外网

Page 100: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 100 /

107

防火墙 防火墙

防火墙的作用 基于协议层的防火墙分类 网络层防火墙 应用层防火墙

内部网

外部网

Page 101: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 101 /

107

网络层防火墙网络层防火墙 检查的项目 源 IP 地址 目的 IP 地址 TCP/IP 协议及其源、目的端口号 (port number) 访问控制表( + 表示无限制)

action src port des port flag comments

allow + >1023 202.120.10.1 23 telnet

allow + >1023 202.120.10.2 25 SMTP

allow 212.5.32.6 >1023 202.120.10.3 119 NNTP

allow + + + + ACK 回答响应block hackers address + + +

Page 102: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 102 /

107

网络层防火墙网络层防火墙(续)(续) 可能存在的漏洞

IP 地址欺骗:冒充被授权或被信任的主机

IP 分段和重组: IP包的最大长度为 65535Byte ,传输过程中允许分段,如重组后的长度超过 65535 ,则 TCP/IP 的协议栈将崩溃

其他安全漏洞

net1

net2

router 外部网盗用内部IP 地址

PSTN

内部网 外部网防火墙

Page 103: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 103 /

107

防火墙 防火墙

防火墙的作用 基于协议层的防火墙分类 网络层防火墙 应用层防火墙

内部网

外部网

Page 104: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 104 /

107

应用层防火墙 应用层防火墙 采用代理网关,外部网委托代理执行相应的操作

内部网 外部网代理

代理

应用层防火墙额外功能: 代理可控制一些服务的子功能,如 FTP ,可设置服务器只提供 get 不提供 put

流量、计费等功能 检查传输信息本身,如 mail

对不同的应用,应建立不同的应用网关,开销较大,所以通常仅开放几个常用的应用

Page 105: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 105 /

107

通信安全通信安全

IPSec

防火墙

VPN

Page 106: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 106 /

107

VPNVPN 在公共网络中建立专用的数据通信网的技术,

以取代原来的专线 VPN 可建在 ATM 或帧中继上,但目前一般指

的是建立在 Internet 上,通过防火墙和隧道技术保证安全

Internet

防火墙Tnbm P779 Fig. 8-30 VPN

Internet

防火墙

Page 107: 第 8 章  网络安全

《 Computer Networks V4 》 cs.sjtu 23/4/20

ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 107 /

107

第第 88 章 习题章 习题

Tnbm P829

#14 、 #31