Upload
kenneth-rice
View
61
Download
5
Embed Size (px)
DESCRIPTION
第 8 章 网络安全. 加密:防止信息落入非授权用户之手 完整性控制:确认所收到的信息在传输过程中没有被篡改 认证:在对话前确认对方的身份 认可(签名):防止对方抵赖和伪造 安全的传输协议. 加密. 数据加密模型 替换密码 变位密码 对称密钥算法 公开密钥算法. 入侵者. 被动入侵者只是监听. 主动入侵者可能修改. 明文 P. 明文 P. E 加密算法. D 解密算法. 密文 C=E k (P). 加密密钥 k. 解密密钥 k. 密钥源. 另一安全通道. 传统的数据加密模型. - PowerPoint PPT Presentation
Citation preview
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 1 / 10
7
第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手
完整性控制:确认所收到的信息在传输过程中没有被
篡改
认证:在对话前确认对方的身份
认可(签名):防止对方抵赖和伪造
安全的传输协议
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 2 / 10
7
加密加密 数据加密模型
替换密码
变位密码
对称密钥算法
公开密钥算法
《 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
《 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 法则:算法是公开的,密钥是保密的
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 5 / 10
7
加密加密 数据加密模型
替换密码
变位密码
对称密钥算法
公开密钥算法
《 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 种可能
《 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 :猜测字或短语
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 8 / 10
7
加密加密 数据加密模型
替换密码
变位密码
对称密钥算法
公开密钥算法
《 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 变位密码
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 10 / 1
07
加密加密 数据加密模型
替换密码
变位密码
对称密钥算法
公开密钥算法
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 11 / 1
07
对称密钥算法 对称密钥算法
变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式
《 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 盒
《 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
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 14 / 1
07
对称密钥算法 对称密钥算法
变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式
《 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) 乘积
《 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 组,各组独立地进行替换处理,尽管这种方法没有通用性,但它却非常有效,在乘积密码中配置足够多的站,可以使输出成为输入的非常复杂的函数
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 17 / 1
07
对称密钥算法 对称密钥算法
变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式
《 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 的奇偶位)
《 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 算法的解密密钥与加密密钥相同,但解密步骤正好相反
《 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
《 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 数据加密标准
《 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
《 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
《 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
《 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
异或,作为下一轮迭代的右边数字段
《 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)
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 27 / 1
07
子密钥产生器子密钥产生器 KKii 的计算 的计算
子密钥产生器框图
置换选择 1
循环左移
置换选择 2
《 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
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 29 / 1
07
子密钥产生器子密钥产生器 KKii 的计算 的计算
子密钥产生器框图
置换选择 1
循环左移
置换选择 2
《 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
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 31 / 1
07
子密钥产生器子密钥产生器 KKii 的计算 的计算
子密钥产生器框图
置换选择 1
循环左移
置换选择 2
《 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
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 33 / 1
07
子密钥产生器子密钥产生器 KKii 的计算 的计算
子密钥产生器框图
置换选择 1
循环左移
置换选择 2
《 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
《 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 加密,产生最终的密文
解密的方法正好相反
《 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 的三重加密和解密
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 37 / 1
07
对称密钥算法 对称密钥算法
变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式
《 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三种密钥长度 必须可以用软件和硬件实现 算法必须是公开的,对所有人一视同仁
《 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 不同的是所有的操作都是施加在所有的字节上
《 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次
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 41 / 1
07
对称密钥算法 对称密钥算法
变换盒 P 盒和替换盒 S 盒 乘积密码 DES 数据加密 AES— 高级加密标准 加密模式
《 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块加密的明文
《 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链就属于这种加密模式
《 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
《 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) 加密
初始向量
加密盒密钥
异或明文 密文
密钥流
《 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
计数加密模式
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 47 / 1
07
加密加密 数据加密模型
替换密码
变位密码
对称密钥算法
公开密钥算法
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 48 / 1
07
公开密钥算法公开密钥算法
公开密钥算法
RSA 算法
公钥管理
《 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( 解密密钥 )极其困难
《 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
发送者 接收者
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 51 / 1
07
公开密钥算法公开密钥算法
公开密钥算法
RSA 算法
公钥管理
《 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 为可编码的最大数
《 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 )
《 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 )
《 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 算法举例
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 56 / 1
07
公开密钥算法公开密钥算法
公开密钥算法
RSA 算法
公钥管理
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 57 / 1
07
公钥管理公钥管理
公钥获取中的安全问题 证书 X.509
讨论两个互不相识的人如何通过公钥机制来通信,如何能得到对方的公钥
《 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 破坏公开密钥加密的一种方法
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 59 / 1
07
公钥管理公钥管理
公钥获取中的安全问题 证书 X.509
讨论两个互不相识的人如何通过公钥机制来通信,如何能得到对方的公钥
《 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 的私钥加密,通过摘要可检查出证书被修改
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 61 / 1
07
公钥管理公钥管理
公钥获取中的安全问题 证书 X.509
讨论两个互不相识的人如何通过公钥机制来通信,如何能得到对方的公钥
《 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 的证书标准
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 63 / 1
07
第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手
完整性控制:确认所收到的信息在传输过程中没有被篡改
认证:在对话前确认对方的身份
认可(签名):防止对方抵赖和伪造
安全的传输协议
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 64 / 1
07
完整性控制完整性控制
完整性控制的一种方法是加密,但加解密需要时间
很多应用不需要加密报文,而只需要保证报文的完整性和正确性
报文摘要是一种解决方法
《 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 ,都将产生不同的输出
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 66 / 1
07
第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手
完整性控制:确认所收到的信息在传输过程中没有被篡改
认证:在对话前确认对方的身份
认可(签名):防止对方抵赖和伪造
安全的传输协议
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 67 / 1
07
认证协议认证协议 验证通信对方是约定的可信任者而
不是入侵者 两种认证方法
challenge-response 协议 密钥分发中心 KDC 的认证
《 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
《 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 得到了双向认证
《 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
《 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
《 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
《 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 的共享密钥
《 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 ,即为他俩的公钥
《 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
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 76 / 1
07
第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手
完整性控制:确认所收到的信息在传输过程中没有被篡改
认证:在对话前确认对方的身份
认可(签名):防止对方抵赖和伪造
安全的传输协议
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 77 / 1
07
数字签名 数字签名 认可问题通常用数字签名来解决 数字签名的目的
接收方能够验证发送方所宣称的身份 发送方以后不能否认报文是他发的 接收方不能伪造该报文
数字签名的实现 对称加密 非对称加密
《 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
《 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))
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 80 / 1
07
报文摘要报文摘要(续)(续)
利用报文摘要进行签名 用对称密钥 用非对称密钥
签名后的摘要随明文一起发送 最常用的报文摘要是 MD5 和 SHA-1
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 81 / 1
07
第第 88 章 网络安全章 网络安全 加密:防止信息落入非授权用户之手
完整性控制:确认所收到的信息在传输过程中没有被篡改
认证:在对话前确认对方的身份
认可(签名):防止对方抵赖和伪造
安全的传输协议
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 82 / 1
07
安全传输安全传输
IPSec
防火墙
VPN
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 83 / 1
07
IPSecIPSec
提供了在公网上实现安全传输的能力 基本功能:
数据加密:加密 IP包或 IP包携带的数据 源站鉴别:确定 IP包是否由特定的 IP 地址发出
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 84 / 1
07
IPSecIPSec
鉴别首部协议( AH头)
封装安全载荷协议( ESP
头)
安全联盟和安全联盟数据库
《 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 (或其他)头 数据
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 86 / 1
07
AHAH 头的内容头的内容
下一个首部 安全参数索引: SA 标识,提供认证服务
序号:该 SA发出的数据包的序号,从0 开始编号。用于防重发攻击
鉴别数据:整个数据包的报文摘要
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 87 / 1
07
IPSecIPSec
鉴别首部协议( AH头)
封装安全载荷协议( ESP
头)
安全联盟和安全联盟数据库
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 88 / 1
07
ESPESP 协议协议
除了提供源主机认证和完整性以外,还提供加密功能
过程 创建一个 SA ,使源和目共享一个认证密
钥和加解密密钥 插入 ESP头
《 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尾
加密
鉴别部分
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 90 / 1
07
ESPESP 头头
安全参数索引
序列号
初始化向量: ESP采用“加密算法块链( CBC )”
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 91 / 1
07
ESPESP 尾尾
ESP采用“加密算法块链( CBC )”,数据长度必须是加密块的整倍数。如果不是的话,必须填充成整倍数
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 92 / 1
07
IPSecIPSec
鉴别首部协议( AH头)
封装安全载荷协议( ESP
头)
安全联盟和安全联盟数据库
《 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 关联的参数
《 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
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 95 / 1
07
通信安全通信安全
IPSec
防火墙
VPN
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 96 / 1
07
防火墙 防火墙 FirewallFirewall
防火墙的作用 基于协议层的防火墙分类 网络层防火墙 应用层防火墙
内部网
外部网
《 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 地址,对外屏蔽内部网络结构
可采用加密技术对信息进行加密处理
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 98 / 1
07
防火墙 防火墙
防火墙的作用 基于协议层的防火墙分类 网络层防火墙 应用层防火墙
内部网
外部网
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 99 / 1
07
基于协议层的防火墙分类 基于协议层的防火墙分类 包过滤器:网络层 应用网关:应用层
在实际应用中,通常防火墙的安装位置
外部网络内部网络包过滤器 包过滤器
应用网关
防火墙
外部网络企业内网路由器防火墙
企业外网
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 100 /
107
防火墙 防火墙
防火墙的作用 基于协议层的防火墙分类 网络层防火墙 应用层防火墙
内部网
外部网
《 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 + + +
《 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
内部网 外部网防火墙
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 103 /
107
防火墙 防火墙
防火墙的作用 基于协议层的防火墙分类 网络层防火墙 应用层防火墙
内部网
外部网
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 104 /
107
应用层防火墙 应用层防火墙 采用代理网关,外部网委托代理执行相应的操作
内部网 外部网代理
代理
应用层防火墙额外功能: 代理可控制一些服务的子功能,如 FTP ,可设置服务器只提供 get 不提供 put
流量、计费等功能 检查传输信息本身,如 mail
对不同的应用,应建立不同的应用网关,开销较大,所以通常仅开放几个常用的应用
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 105 /
107
通信安全通信安全
IPSec
防火墙
VPN
《 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
防火墙
《 Computer Networks V4 》 cs.sjtu 23/4/20
ftp://ftp.cs.sjtu.edu.cn/ybzhang第 8 章 网络安全 107 /
107
第第 88 章 习题章 习题
Tnbm P829
#14 、 #31