ftp://ftpcssjtueducn/net330第8章网络安全1
文件类型:PDF/Adobe Acrobat 文件大小:字节
文件类型:PDF/Adobe Acrobat 文件大小:字节
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全1 / 107
第第88章章网络安全网络安全
加密:防止信息落入非法用户之手
认证:在对话前确认对方的身份
认可(签名):如何防止客户抵赖
完整性控制:如何确认你收到的信息
在传输过程中没有被篡改
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全2 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全3 / 107
密码系统密码系统
传统的数据加密
替换密码
变位密码
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全4 / 107
传统的数据加密模型传统的数据加密模型
E
加密算法
D
解密算法
密钥源
明文P明文P
密文C=Ek(P)
解密密钥K
另一安全通道
入侵者
被动入侵者
只能监听
主动入侵者
可以修改
Tnbm P725 Fig. 8-2 加密模型(对称密钥)
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全5 / 107
传统的数据加密模型说明传统的数据加密模型说明
明文P用加密算法E和加密密钥K加密,得到密文C=EK(P)
在传送过程中可能出现密文截取者
到了接收端,利用解密算法D和解密密钥K,解出明文为
DK(C) = DK(EK(P)) = P
截取者又称为攻击者,或入侵者
在这里我们假定加密密钥和解密密钥都是一样的,但实际上
它们可以是不一样的(即使不一样,这两个密钥也必然有某
种相关性)
密钥通常是由一个密钥源提供,当密钥需要向远地传送时,
一定要通过另一个安全信道
Kerckhoff法则:算法是公开的,密钥是保密的
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全6 / 107
密码系统密码系统
传统的数据加密
替换密码
变位密码
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全7 / 107
替换密码替换密码
凯撒密码
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 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全8 / 107
替换密码的再改进替换密码的再改进
用对照表
abcdefghijklmnopqrstuvwxyz
QWERTYUIOPASDFGHJKLZXCVBNM
第二行的26个字母次序即为密钥
解密要尝试26!种情况.假设1 s试一种情况则需1013年
但解密方法可用1:分布式计算
2:用字频法
3:猜测字或短语
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全9 / 107
密码系统密码系统
传统的数据加密
替换密码
变位密码
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全10 / 107
每个码不变,但位置改变,最常用的是列变
位加密例:密钥为MEGABUCK
明文为:
pleasetransferonemillion
dollarstomyswissbankac
countsixtwotwo
密文为:
AFLLSKSOSELAWAIAT
OOSSCTCLNMOMANTE
SILYNTWRNNTSOWDPA
EDOBUOERIRICXB
MEGABUCK
74512836
pleasetr
ansferon
emillion
dollarst
omyswiss
bankacco
untsixtw
otwoabcd
Tnbm P729 Fig. 8-3 变位密码
变位密码变位密码
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全11 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全12 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全13 / 107
变换盒:变换盒:PP盒盒
P盒:实现变位
P盒
0
1
2
3
4
5
6
7
3
6
0
7
1
2
4
5
方式:用电路改变输入线的
输出排列,图中列出8根线
的变位,如这8位从上到下
指定为01234567
则该P盒的输出为36071245(a) P盒
Tnbm P737 Fig. 8-6 乘积密码的基本元素
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全14 / 107
替换盒:替换盒:SS盒盒
S盒:实现替换按图中的替换,
如果8个八进制
数01234567一
个接一个地输
入,那么输出序
列将变为
24506713,即2
替换0,4替换
1,注意n个比
特的输入需要2n
条交换线
S盒
解码
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
(b) S盒
Tnbm P737 Fig. 8-6 乘积密码的基本元素
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全15 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全16 / 107
乘积密码乘积密码
将一串盒子连接起来,组成乘积密码
P1
S1
S2
S3
S4
P2
S5
S6
S7
S8
P3
S9
S10
S11
S12
P4
乘积密码
(c) 乘积
Tnbm P737 Fig. 8-6 乘积密码的基本元素
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全17 / 107
乘积密码的实现乘积密码的实现
第一站对12根输入线作变换处理,从理论上讲,第二
站可以为一个S盒,它把12比特数映射为另一个12比
特数,但是,这样一个S盒的中段内需要212= 4096
根跨接线,将12比特的输入分为4个3比特组,各组独
立地进行替换处理,尽管这种方法没有通用性,但它
却非常有效,在乘积密码中配置足够多的站,可以使
输出成为输入的非常复杂的函数
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全18 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全19 / 107
DESDES数据加密数据加密
DES(Data Encryption
Standard)数据加密标准
加密算法固定,根据不同的密钥产生
不同的结果
明文按64比特块加密,生成64 bit的密文,此算法有
一个56 bit的密钥作为参数(另加8 bit的奇偶位)
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全20 / 107
585042342618102
605244362820124
625446383022146
645648403224168
57494133251791
595143352719113
615345372921135
635547393123157
1 2 3 ……63 64
明文输入64bit
1 2 3 ……63 64
置换后的64bit
1 2 ……321 2 ……32
置换后的左32bit置换后的右32bit
初始置换初始置换
即第一站,
将64 bit明文
作与密钥无
关的变换,
得到一个乱
序的明文
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全21 / 107
1616轮迭代的乘积变换轮迭代的乘积变换
Li-1 ⊕f(Ri-1,Ki)
Li-1 Ri-1
32b 32b
Li Ri
(b)其中一站的详况
64b明文
初始变换
迭代1
迭代2
迭代16
32b交换
反向变向
56
比
特
密
钥
....
64b密文
(a) 概况
倒数第二站将
左32 bit与右
32 bit互换,
余下的16站功
能相同,但使
用密钥的不同
函数,解密用
的密钥与加密
密钥相同,只
是解密步骤正
好相反
Tnbm P739 Fig. 8-7 数据加密标准
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全22 / 107
408481656246432
397471555236331
386461454226230
375451353216129
364441252206028
353431151195927
342421050185826
33141949175725
1 2 3 ……63 64
置换后的64bit
1 2 3 ……63 64
输出密文的64bit
逆初始置换逆初始置换
即最后一站是
16轮迭代后的
64 bit组进行变
换,得到输出
的密文组,是
第一站变换的
逆变换
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全23 / 107
其中函数其中函数f f 执行的步骤执行的步骤11,,2 2
根据一个固定的变位和
复制规则把32比特的Ri-1
扩展成48比特的数E
把E与密钥Ki异或,并分
成8组,每组6比特,分
别送入8个不同的S盒
3212345
456789
8910111213
121314151617
161718192021
202122232425
242526272829
28293031321
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全24 / 107
其中函数其中函数f f 执行的步骤执行的步骤3 3
每个S盒的64种可能的输入,将被映射为4比
特的输出
8个S盒中某一个的6 bit输入映射为4 bit的输出的过程
X5X4X3X2X1X0
101011
行列01234678910
106
12
9
2
6
12
11
3
10
15
5
8
1
11
7
11
13
2
1
2
14
13
4
1
4
8
2
13
7
14
8
4
15
1
12
14
0
4
15
0
1
2
3
51112131415
15125907
2119538
6731050
914100613
X5X0
11
1001
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全25 / 107
其中函数其中函数f f 执行的步骤执行的步骤4 4
32 bit作为P盒的输入
8个S盒,每个S盒有4
个输出,将通过一个
32输入的P盒,再进行
置换运算
1672021
29122817
1152326
5183110
282414
322739
1913306
2211425
P盒置换后的32 bit输出
置换后的32 bit输出将与左边的32 bit
异或,作为下一轮迭代的右边数字段
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全26 / 107
f f 函数的计算如下函数的计算如下
Ri-1(32位)
扩展和变序成48位
XORKi
S盒(变成32位)
P盒
f(Ri-1, Ki)
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全27 / 107
子密钥产生器子密钥产生器KKii的计算的计算
子密钥产生器框图
置换选择1
循环左移
置换选择2
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全28 / 107
子密钥产生器框图子密钥产生器框图
Ci-1(28 bit)Di-1(28 bit)
循环左移ti位循环左移ti位
置换选择2
Ki
密钥(64 bit -8 bit)
置换选择1
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全29 / 107
子密钥产生器子密钥产生器KKii的计算的计算
子密钥产生器框图
置换选择1
循环左移
置换选择2
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全30 / 107
置换选择置换选择11
64 bit中的8,16,24,32,40,48,56,
64位为校验位,其余56位为有效位,用于子
密钥的计算
密钥(64 bit -8bit)
28 bit28 bit
5749413325179
158
2
11
5042342618
105951433527
19360524436
D0(28 bit)C0(28 bit)
63554739312315
762
6
13
5446383022
146153453729
2152820124
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全31 / 107
子密钥产生器子密钥产生器KKii的计算的计算
子密钥产生器框图
置换选择1
循环左移
置换选择2
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全32 / 107
循环左移循环左移
在各次迭代时,寄存器C和D的循环左
移次数如下表:
第i次迭代123457891011
2212222211循环左移次数
61213141516
222221
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全33 / 107
子密钥产生器子密钥产生器KKii的计算的计算
子密钥产生器框图
置换选择1
循环左移
置换选择2
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全34 / 107
置换选择置换选择22
Ci(28 bit)Di(28 bit)
Ki(48 bit)
置
换
选
择
2
1417112415
3281562110
2319124268
1672720132
415231374755
304051453348
444939563453
464250362932
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全35 / 107
33重重DES DES
解决DES算法中密钥太短的问题,由IBM公司
提出
具体方法:用两个DES密钥,三个DES阶段
来完成加密,首先,用K1对明文进行DES加
密,然后用K2进行DES解密,最后再用K1进
行DES加密,产生最终的密文
解密的方法正好相反
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全36 / 107
33重重DESDES
EEDPC
K1K1K2
加密
EDDPC
K1K1K2
解密
Tnbm P741 Fig. 8-8 DES的三重加密和解密
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全37 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全38 / 107
AESAES——高高级加密标准级加密标准
用来替代DES标准,从全世界范围内征求方案
AES要求:
对称块加密
设计是公开的
必须支持128,192和256三种密钥长度
必须可以用软件和硬件实现
算法必须是公开的,对所有人一视同仁
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全39 / 107
AESAES现有的方案现有的方案----RijndaelRijndael
块长128位,密钥长128,192或256位
块长和密钥长度的选择是独立的,通常有128/128和
128/256
与DES相同,该算法也由多次的替换和变位组成,迭
代的次数取决于密钥长度和块长,128/128是十次,
最多是14次
与DES不同的是所有的操作都是施加在所有的字节上
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全40 / 107
RijndaelRijndael算法算法
设明文与密钥长度相同,迭代次数为R,将明
文和密钥看成M行N列的矩阵
从原始密钥产生R+1个与原始密钥等长的子密钥
将第0个子密钥与明文作异或运算,得到第一次结果
按字节对中间结果用一个S盒进行替换
按行进行左移操作,第J行左移J个字节
按列与一个常量矩阵相乘生成一个新列
将中间结果与第K个子密钥作异或运算生成下
一个中间结果
循
环
K
次
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全41 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全42 / 107
加密模式加密模式11
电子代码本模式(Electronic Code Book
Mode):有一个明文和密文的对照本,同一明文
总是对应同一密文,如DES,入侵者可以通过猜测
解密,也可以通过分块特性篡改信息.如:
Adams,Leslie
e
n
m
i
i
i
b
b
K
b
o
o
R
,
B
s
,
n
,
k
i
s
c
l
i
a
l
v
l
o
a
B
C
D
16 Byte
Clerk$10
Boss$500,000
Manager$100,000
Janitor$5
8 Byte8 Byte
姓名职位津贴
Tnbm P746 Fig. 8-11 用16个DES块加密的明文
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全43 / 107
加密模式加密模式22
密码块连接模式(Cipher Block Chaining
Mode):每个明文块在加密以前先与前一个
密文块异或,第一块与一个随机选取的初始
向量异或,这样同样的明文将不再映射到同
样的密文了,如DES链就属于这种加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全44 / 107
加密模式加密模式33
密码反馈模式(Cipher Feedback
Mode):DES链的缺点在于解密前必须完整
地收到64位的密文,CFM用于按字节加密
C2C3C4C5C6C7C8C9Tnbm P748 Fig. 8-13
密码反馈模式
(a) 加密
加密盒
选择最左面的字节
异或
密钥
P10C10
C10
64-BIT移位寄存器
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全45 / 107
加密模式加密模式44
流加密模式(Stream Cipher Mode):块加
密中,1位传输错误将影响整个块,而流加密
模式中,1位传输错误只影响1位
Tnbm P749 Fig. 8-14
流加密模式
(a) 加密
初始向量
加密盒密钥
异或明文密文
密钥流
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全46 / 107
加密模式加密模式55
计数器模式(Counter Mode):除了电子代码本
模式外,上述的其他模式都有一个共同的问题—不
能随机访问密文,必须顺序访问才能解密,在CM
中,初始化向量加上计数器的值被加密,然后与明
文块异或,结果为密文
初始向量
加密密钥
异或P0
C0
初始向量+1
加密密钥
异或P1
C1
初始向量+2
加密密钥
异或P2
C2
Tnbm P750
Fig. 8-15
计数加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全47 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全48 / 107
公开密钥算法公开密钥算法
密钥是成对产生的
加密密钥不能用来解密
DSK( EPK( P ) ) = P 但DPK( EPK( P ) ) ≠P
加密密钥和算法是公开的,解密密钥是保密的
从PK(加密密钥)导出SK(解密密钥)极其困难
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全49 / 107
公开密钥算法模型公开密钥算法模型
E
加密算法
D
解密算法
密钥对
产生源
明文P明文P密文C=EPk(P)
解密密钥
SK
加密密钥PK
发送者接收者
公开密钥算法中RSA算法最有代表性
RSA算法:基于数论
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全50 / 107
密钥的选取密钥的选取
选择两个大质数,p和q(典型地应大于10100)
计算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 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全51 / 107
加密和解密算法加密和解密算法
把明文看成一个bit串,并划分成每块k
个bit,满足2k1023202.120.10.225SMTP
allow212.5.32.6>1023202.120.10.3119NNTP
allow++++ACK回答响应
blockhackers address+++
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全83 / 107
网络层防火墙网络层防火墙(续)(续)
特殊情况的漏洞
IP地址欺骗
net1
net2
router外部网
盗用内
部IP地址
IP碎片处理:没有包含原报文头的信息的碎片被
拒收,因TCP头部中的端口号不在碎片中,但这
是可能招致攻击的隐患
其他安全漏洞
内部网外部网
PSTN
防火墙
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全84 / 107
防火墙防火墙
内部网外部网
防火墙的作用
基于协议层的防火墙分类
网络层防火墙
应用层防火墙
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全85 / 107
应用层防火墙应用层防火墙
采用代理网关,外部网委托代理执行相应的操作
内部网外部网
代理
代理
应用层防火墙额外功能:
代理可控制一些服务的子功能,如FTP,可设置
服务器只提供get不提供put
流量,计费等功能
检查传输信息本身,如mail
对不同的应用,应建立不同的应用网关,开销较
大,所以通常仅开放几个常用的应用
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全86 / 107
通信安全通信安全
IPSec
防火墙
VPN
无线安全
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全87 / 107
VPNVPN
在公共网络中建立专用的数据通信网的技
术,以取代原来的专线
VPN可建在ATM或帧中继上,但目前一般指
的是建立在Internet上,通过防火墙和隧道技
术保证安全
Internet
防火墙
Tnbm P779 Fig. 8-30 VPN
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全88 / 107
通信安全通信安全
IPSec
防火墙
VPN
无线安全
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全89 / 107
无线安全无线安全
802.11的安全:定义了一个数据
链路层的安全协议WEP(Wired
Equivalent Privacy)
蓝牙的安全:
WAP:
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全90 / 107
本章将讨论:本章将讨论:
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
通信安全
认证协议
E-mail的安全
Web安全
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全91 / 107
认证协议认证协议
如何验证通信的对方是约定者而不
是入侵者
两种认证方法
基于公钥:用PKI的机制
基于对称密钥
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全92 / 107
基于共享密钥的认证基于共享密钥的认证
通信双方事先已约定一个密钥,这种情况
下的认证可用challenge-response协议
Alice
Bob
A
RB
KAB(RB)
RA
KAB(RA)
Tnbm P787 Fig. 8-32 使用challenge-response协议认证的两种方法
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全93 / 107
创建一个共享密钥创建一个共享密钥——
DiffieDiffie--HellmanHellman密钥交换密钥交换
在一个不保密的,不受信任的通信信道上
(比如Internet),在交换的双方之间,建
立起一个安全的共享秘密的会话
Diffie-Hellman交换过程中涉及到的所有参
与者首先都必须隶属于一个组,这个组定义
了要使用哪个质数p,以及底数g
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全94 / 107
DiffieDiffie--HellmanHellman密钥交换过程密钥交换过程
在每一端(如Alice和Bob进行通信)的第一过程
中,需要选择一个大的随机的私人数字(例如512
bit),并在组内进行乘幂运算,产生一个公共值,
例如:Alice选择了a,并计算A = gamod p;Bob
选择了b,并计算B = gbmod p
他们开始交换自己的公共密钥,Alice将A给Bob,
而Bob将B给Alice,他们分别再次执行乘幂运算,
由于Bamod p = Abmod p = gabmod p = w, 所以
双方的计算结果相同,这个结果值w就是Alice和
Bob的公钥
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全95 / 107
DiffieDiffie--HellmanHellman交换过程举例交换过程举例
Alice选定大素数n = 47,g = 3和自己的密钥x = 8;并计算:
gx= 38,38mod 47 = 28;最后将(47, 3, 28)发送给Bob;
Bob选定自己的密钥y = 10,并收到Alice发来的(47, 3,
28),知道Alice选用的大素数n = 47,g = 3,gxmod n = 28
Bob计算(gxmod n)y= 2810,2810 mod 47 =4,即为他俩的
公钥,然后Bob计算gy= 310,并把310mod 47 = 17发给Alice
Alice收到Bob发来的17,知道Bob的gymod n = 17,经计算
(gymod n)8= (17)8mod 47 = 4,即为他俩的公钥
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全96 / 107
用密钥分发中心用密钥分发中心KDCKDC的认证的认证
每个用户与KDC有一个共享密钥
Alice
KDC
Bob
A, KA(B,KS)
KB(A,KS)
Alice选择一个session key:KS
Alice告诉KDC要与Bob用KS加密通信,这条消息用Alice与KDC
共享的密钥KA加密
KDC对其解密,重构一条包含Alice的标识A 以及session key
KS的报文发给Bob,这条消息用Bob与KDC的共享密钥KB加密
Bob收到这条消息,得知Alice要与它用session keyKS通信
Tnbm P793 Fig. 8-39
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全97 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全98 / 107
EE--mailmail的安全的安全
PGP:Internet上的一个免费软件包,提
供加密,认证,数字签名和压缩
PEM:Internet的标准,定义在RFC1421
和RFC1424中,使用者较少
S/MIME:定义在RFC2632和RFC2643中
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全99 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全100 /
107
WEBWEB安全安全——安安全命名全命名
MAN-IN-MIDDLE攻击:当Alice要访问Bob
的网页时,他的请求被Trudy截取,并伪造网
页返回给Alice
DNS欺骗:修改域名服务器中的域名-地址对
照表,该修改可以通过伪造DNS应答报文来
实现,当Alice要访问Bob的网页时,域名服
务器将返回一个伪造的地址
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全101 /
107
WEBWEB安全安全——安安全命名全命名
安全DNS:每个DNS域都有一个公钥/私钥对,所有
有DNS服务器发出的信息均用私钥签名,接收者可用
公钥认证
自认证域名:在URL中域名和文件名之间插入一个加
密的服务器名的散列值,当用户使用该URL时,浏览
器会向对应的网站请求公钥,收到公钥后,浏览器运
行相应的HASH算法,如结果相同,浏览器认为该站
点是真正要访问的站点,则发送该URL
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全102 /
107
WEBWEB安全安全——安安全连接全连接
安全连接通常使用安全套接字协议SSL,
它位于应用层与传输层之间
SSL在两个套接字之间建立一条安全通
道,包括:
SSL包括两个子协议:建立安全通道和使
用安全通道
客户/服务器之间参数协商
客户/服务器之间互相认证
加密通信
数据完整性保护
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全103 /
107
WEBWEB安全安全——安安全连接全连接
Alice
Bob
SSL的版本,支持哪些压缩和加密算法,RA
SSL的版本,选择,RB
X.509证书链
Server done
EB(Premaster key)
改变加密器
结束
改变加密器
结束
Tnbm P815 Fig. 8-51 连接建立过程
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全104 /
107
WEBWEB安全安全——安安全连接全连接
Alice给Bob发送自己的SSL版本,支持哪些加密和压缩
算法以及一个时间值RA
Bob在Alice支持的算法中做出选择,将此选择和一个时
间值RB
Bob给Alice发送公钥的认证链
Bob发送Server done表示结束
Alice选择一个384位的Premaster key,并发送给
Bob,从Premaster key,RA和RB可计算Session key
Alice通知Bob改变加密器
Alice通知Bob发送结束
Bob给Alice发送应答
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全105 /
107
WEBWEB安全安全——安安全连接全连接
应用层发来的信息
按16 KB 一段分段
压缩
数据MAC
加密
加密头部
SSL传送过程
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全106 /
107
WEBWEB安全安全——移动代码的安全移动代码的安全
Java applet的安全:由于用解释方法执行,可
限制某些系统调用的执行
Active X:是一段二进制代码,无法逐条检
查,只能选择执行或不执行,MS的方法是用数
字签名,如果是认可的代码则执行,否则不执
行
Java Script:无通用的解决方法
病毒:无解决方法
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全107 /
107
第第88章章习题习题
Tnbm P829
#14(七#8)
#31(七#9)
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全1 / 107
第第88章章网络安全网络安全
加密:防止信息落入非法用户之手
认证:在对话前确认对方的身份
认可(签名):如何防止客户抵赖
完整性控制:如何确认你收到的信息
在传输过程中没有被篡改
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全2 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全3 / 107
密码系统密码系统
传统的数据加密
替换密码
变位密码
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全4 / 107
传统的数据加密模型传统的数据加密模型
E
加密算法
D
解密算法
密钥源
明文P明文P
密文C=Ek(P)
解密密钥K
另一安全通道
入侵者
被动入侵者
只能监听
主动入侵者
可以修改
Tnbm P725 Fig. 8-2 加密模型(对称密钥)
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全5 / 107
传统的数据加密模型说明传统的数据加密模型说明
明文P用加密算法E和加密密钥K加密,得到密文C=EK(P)
在传送过程中可能出现密文截取者
到了接收端,利用解密算法D和解密密钥K,解出明文为
DK(C) = DK(EK(P)) = P
截取者又称为攻击者,或入侵者
在这里我们假定加密密钥和解密密钥都是一样的,但实际上
它们可以是不一样的(即使不一样,这两个密钥也必然有某
种相关性)
密钥通常是由一个密钥源提供,当密钥需要向远地传送时,
一定要通过另一个安全信道
Kerckhoff法则:算法是公开的,密钥是保密的
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全6 / 107
密码系统密码系统
传统的数据加密
替换密码
变位密码
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全7 / 107
替换密码替换密码
凯撒密码
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 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全8 / 107
替换密码的再改进替换密码的再改进
用对照表
abcdefghijklmnopqrstuvwxyz
QWERTYUIOPASDFGHJKLZXCVBNM
第二行的26个字母次序即为密钥
解密要尝试26!种情况.假设1 s试一种情况则需1013年
但解密方法可用1:分布式计算
2:用字频法
3:猜测字或短语
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全9 / 107
密码系统密码系统
传统的数据加密
替换密码
变位密码
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全10 / 107
每个码不变,但位置改变,最常用的是列变
位加密例:密钥为MEGABUCK
明文为:
pleasetransferonemillion
dollarstomyswissbankac
countsixtwotwo
密文为:
AFLLSKSOSELAWAIAT
OOSSCTCLNMOMANTE
SILYNTWRNNTSOWDPA
EDOBUOERIRICXB
MEGABUCK
74512836
pleasetr
ansferon
emillion
dollarst
omyswiss
bankacco
untsixtw
otwoabcd
Tnbm P729 Fig. 8-3 变位密码
变位密码变位密码
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全11 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全12 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全13 / 107
变换盒:变换盒:PP盒盒
P盒:实现变位
P盒
0
1
2
3
4
5
6
7
3
6
0
7
1
2
4
5
方式:用电路改变输入线的
输出排列,图中列出8根线
的变位,如这8位从上到下
指定为01234567
则该P盒的输出为36071245(a) P盒
Tnbm P737 Fig. 8-6 乘积密码的基本元素
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全14 / 107
替换盒:替换盒:SS盒盒
S盒:实现替换按图中的替换,
如果8个八进制
数01234567一
个接一个地输
入,那么输出序
列将变为
24506713,即2
替换0,4替换
1,注意n个比
特的输入需要2n
条交换线
S盒
解码
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
(b) S盒
Tnbm P737 Fig. 8-6 乘积密码的基本元素
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全15 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全16 / 107
乘积密码乘积密码
将一串盒子连接起来,组成乘积密码
P1
S1
S2
S3
S4
P2
S5
S6
S7
S8
P3
S9
S10
S11
S12
P4
乘积密码
(c) 乘积
Tnbm P737 Fig. 8-6 乘积密码的基本元素
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全17 / 107
乘积密码的实现乘积密码的实现
第一站对12根输入线作变换处理,从理论上讲,第二
站可以为一个S盒,它把12比特数映射为另一个12比
特数,但是,这样一个S盒的中段内需要212= 4096
根跨接线,将12比特的输入分为4个3比特组,各组独
立地进行替换处理,尽管这种方法没有通用性,但它
却非常有效,在乘积密码中配置足够多的站,可以使
输出成为输入的非常复杂的函数
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全18 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全19 / 107
DESDES数据加密数据加密
DES(Data Encryption
Standard)数据加密标准
加密算法固定,根据不同的密钥产生
不同的结果
明文按64比特块加密,生成64 bit的密文,此算法有
一个56 bit的密钥作为参数(另加8 bit的奇偶位)
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全20 / 107
585042342618102
605244362820124
625446383022146
645648403224168
57494133251791
595143352719113
615345372921135
635547393123157
1 2 3 ……63 64
明文输入64bit
1 2 3 ……63 64
置换后的64bit
1 2 ……321 2 ……32
置换后的左32bit置换后的右32bit
初始置换初始置换
即第一站,
将64 bit明文
作与密钥无
关的变换,
得到一个乱
序的明文
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全21 / 107
1616轮迭代的乘积变换轮迭代的乘积变换
Li-1 ⊕f(Ri-1,Ki)
Li-1 Ri-1
32b 32b
Li Ri
(b)其中一站的详况
64b明文
初始变换
迭代1
迭代2
迭代16
32b交换
反向变向
56
比
特
密
钥
....
64b密文
(a) 概况
倒数第二站将
左32 bit与右
32 bit互换,
余下的16站功
能相同,但使
用密钥的不同
函数,解密用
的密钥与加密
密钥相同,只
是解密步骤正
好相反
Tnbm P739 Fig. 8-7 数据加密标准
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全22 / 107
408481656246432
397471555236331
386461454226230
375451353216129
364441252206028
353431151195927
342421050185826
33141949175725
1 2 3 ……63 64
置换后的64bit
1 2 3 ……63 64
输出密文的64bit
逆初始置换逆初始置换
即最后一站是
16轮迭代后的
64 bit组进行变
换,得到输出
的密文组,是
第一站变换的
逆变换
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全23 / 107
其中函数其中函数f f 执行的步骤执行的步骤11,,2 2
根据一个固定的变位和
复制规则把32比特的Ri-1
扩展成48比特的数E
把E与密钥Ki异或,并分
成8组,每组6比特,分
别送入8个不同的S盒
3212345
456789
8910111213
121314151617
161718192021
202122232425
242526272829
28293031321
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全24 / 107
其中函数其中函数f f 执行的步骤执行的步骤3 3
每个S盒的64种可能的输入,将被映射为4比
特的输出
8个S盒中某一个的6 bit输入映射为4 bit的输出的过程
X5X4X3X2X1X0
101011
行列01234678910
106
12
9
2
6
12
11
3
10
15
5
8
1
11
7
11
13
2
1
2
14
13
4
1
4
8
2
13
7
14
8
4
15
1
12
14
0
4
15
0
1
2
3
51112131415
15125907
2119538
6731050
914100613
X5X0
11
1001
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全25 / 107
其中函数其中函数f f 执行的步骤执行的步骤4 4
32 bit作为P盒的输入
8个S盒,每个S盒有4
个输出,将通过一个
32输入的P盒,再进行
置换运算
1672021
29122817
1152326
5183110
282414
322739
1913306
2211425
P盒置换后的32 bit输出
置换后的32 bit输出将与左边的32 bit
异或,作为下一轮迭代的右边数字段
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全26 / 107
f f 函数的计算如下函数的计算如下
Ri-1(32位)
扩展和变序成48位
XORKi
S盒(变成32位)
P盒
f(Ri-1, Ki)
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全27 / 107
子密钥产生器子密钥产生器KKii的计算的计算
子密钥产生器框图
置换选择1
循环左移
置换选择2
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全28 / 107
子密钥产生器框图子密钥产生器框图
Ci-1(28 bit)Di-1(28 bit)
循环左移ti位循环左移ti位
置换选择2
Ki
密钥(64 bit -8 bit)
置换选择1
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全29 / 107
子密钥产生器子密钥产生器KKii的计算的计算
子密钥产生器框图
置换选择1
循环左移
置换选择2
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全30 / 107
置换选择置换选择11
64 bit中的8,16,24,32,40,48,56,
64位为校验位,其余56位为有效位,用于子
密钥的计算
密钥(64 bit -8bit)
28 bit28 bit
5749413325179
158
2
11
5042342618
105951433527
19360524436
D0(28 bit)C0(28 bit)
63554739312315
762
6
13
5446383022
146153453729
2152820124
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全31 / 107
子密钥产生器子密钥产生器KKii的计算的计算
子密钥产生器框图
置换选择1
循环左移
置换选择2
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全32 / 107
循环左移循环左移
在各次迭代时,寄存器C和D的循环左
移次数如下表:
第i次迭代123457891011
2212222211循环左移次数
61213141516
222221
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全33 / 107
子密钥产生器子密钥产生器KKii的计算的计算
子密钥产生器框图
置换选择1
循环左移
置换选择2
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全34 / 107
置换选择置换选择22
Ci(28 bit)Di(28 bit)
Ki(48 bit)
置
换
选
择
2
1417112415
3281562110
2319124268
1672720132
415231374755
304051453348
444939563453
464250362932
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全35 / 107
33重重DES DES
解决DES算法中密钥太短的问题,由IBM公司
提出
具体方法:用两个DES密钥,三个DES阶段
来完成加密,首先,用K1对明文进行DES加
密,然后用K2进行DES解密,最后再用K1进
行DES加密,产生最终的密文
解密的方法正好相反
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全36 / 107
33重重DESDES
EEDPC
K1K1K2
加密
EDDPC
K1K1K2
解密
Tnbm P741 Fig. 8-8 DES的三重加密和解密
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全37 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全38 / 107
AESAES——高高级加密标准级加密标准
用来替代DES标准,从全世界范围内征求方案
AES要求:
对称块加密
设计是公开的
必须支持128,192和256三种密钥长度
必须可以用软件和硬件实现
算法必须是公开的,对所有人一视同仁
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全39 / 107
AESAES现有的方案现有的方案----RijndaelRijndael
块长128位,密钥长128,192或256位
块长和密钥长度的选择是独立的,通常有128/128和
128/256
与DES相同,该算法也由多次的替换和变位组成,迭
代的次数取决于密钥长度和块长,128/128是十次,
最多是14次
与DES不同的是所有的操作都是施加在所有的字节上
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全40 / 107
RijndaelRijndael算法算法
设明文与密钥长度相同,迭代次数为R,将明
文和密钥看成M行N列的矩阵
从原始密钥产生R+1个与原始密钥等长的子密钥
将第0个子密钥与明文作异或运算,得到第一次结果
按字节对中间结果用一个S盒进行替换
按行进行左移操作,第J行左移J个字节
按列与一个常量矩阵相乘生成一个新列
将中间结果与第K个子密钥作异或运算生成下
一个中间结果
循
环
K
次
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全41 / 107
对称密钥算法对称密钥算法
变换盒P盒和替换盒S盒
乘积密码
DES数据加密
AES—高级加密标准
加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全42 / 107
加密模式加密模式11
电子代码本模式(Electronic Code Book
Mode):有一个明文和密文的对照本,同一明文
总是对应同一密文,如DES,入侵者可以通过猜测
解密,也可以通过分块特性篡改信息.如:
Adams,Leslie
e
n
m
i
i
i
b
b
K
b
o
o
R
,
B
s
,
n
,
k
i
s
c
l
i
a
l
v
l
o
a
B
C
D
16 Byte
Clerk$10
Boss$500,000
Manager$100,000
Janitor$5
8 Byte8 Byte
姓名职位津贴
Tnbm P746 Fig. 8-11 用16个DES块加密的明文
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全43 / 107
加密模式加密模式22
密码块连接模式(Cipher Block Chaining
Mode):每个明文块在加密以前先与前一个
密文块异或,第一块与一个随机选取的初始
向量异或,这样同样的明文将不再映射到同
样的密文了,如DES链就属于这种加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全44 / 107
加密模式加密模式33
密码反馈模式(Cipher Feedback
Mode):DES链的缺点在于解密前必须完整
地收到64位的密文,CFM用于按字节加密
C2C3C4C5C6C7C8C9Tnbm P748 Fig. 8-13
密码反馈模式
(a) 加密
加密盒
选择最左面的字节
异或
密钥
P10C10
C10
64-BIT移位寄存器
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全45 / 107
加密模式加密模式44
流加密模式(Stream Cipher Mode):块加
密中,1位传输错误将影响整个块,而流加密
模式中,1位传输错误只影响1位
Tnbm P749 Fig. 8-14
流加密模式
(a) 加密
初始向量
加密盒密钥
异或明文密文
密钥流
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全46 / 107
加密模式加密模式55
计数器模式(Counter Mode):除了电子代码本
模式外,上述的其他模式都有一个共同的问题—不
能随机访问密文,必须顺序访问才能解密,在CM
中,初始化向量加上计数器的值被加密,然后与明
文块异或,结果为密文
初始向量
加密密钥
异或P0
C0
初始向量+1
加密密钥
异或P1
C1
初始向量+2
加密密钥
异或P2
C2
Tnbm P750
Fig. 8-15
计数加密模式
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全47 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全48 / 107
公开密钥算法公开密钥算法
密钥是成对产生的
加密密钥不能用来解密
DSK( EPK( P ) ) = P 但DPK( EPK( P ) ) ≠P
加密密钥和算法是公开的,解密密钥是保密的
从PK(加密密钥)导出SK(解密密钥)极其困难
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全49 / 107
公开密钥算法模型公开密钥算法模型
E
加密算法
D
解密算法
密钥对
产生源
明文P明文P密文C=EPk(P)
解密密钥
SK
加密密钥PK
发送者接收者
公开密钥算法中RSA算法最有代表性
RSA算法:基于数论
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全50 / 107
密钥的选取密钥的选取
选择两个大质数,p和q(典型地应大于10100)
计算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 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全51 / 107
加密和解密算法加密和解密算法
把明文看成一个bit串,并划分成每块k
个bit,满足2k1023202.120.10.225SMTP
allow212.5.32.6>1023202.120.10.3119NNTP
allow++++ACK回答响应
blockhackers address+++
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全83 / 107
网络层防火墙网络层防火墙(续)(续)
特殊情况的漏洞
IP地址欺骗
net1
net2
router外部网
盗用内
部IP地址
IP碎片处理:没有包含原报文头的信息的碎片被
拒收,因TCP头部中的端口号不在碎片中,但这
是可能招致攻击的隐患
其他安全漏洞
内部网外部网
PSTN
防火墙
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全84 / 107
防火墙防火墙
内部网外部网
防火墙的作用
基于协议层的防火墙分类
网络层防火墙
应用层防火墙
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全85 / 107
应用层防火墙应用层防火墙
采用代理网关,外部网委托代理执行相应的操作
内部网外部网
代理
代理
应用层防火墙额外功能:
代理可控制一些服务的子功能,如FTP,可设置
服务器只提供get不提供put
流量,计费等功能
检查传输信息本身,如mail
对不同的应用,应建立不同的应用网关,开销较
大,所以通常仅开放几个常用的应用
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全86 / 107
通信安全通信安全
IPSec
防火墙
VPN
无线安全
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全87 / 107
VPNVPN
在公共网络中建立专用的数据通信网的技
术,以取代原来的专线
VPN可建在ATM或帧中继上,但目前一般指
的是建立在Internet上,通过防火墙和隧道技
术保证安全
Internet
防火墙
Tnbm P779 Fig. 8-30 VPN
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全88 / 107
通信安全通信安全
IPSec
防火墙
VPN
无线安全
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全89 / 107
无线安全无线安全
802.11的安全:定义了一个数据
链路层的安全协议WEP(Wired
Equivalent Privacy)
蓝牙的安全:
WAP:
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全90 / 107
本章将讨论:本章将讨论:
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
通信安全
认证协议
E-mail的安全
Web安全
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全91 / 107
认证协议认证协议
如何验证通信的对方是约定者而不
是入侵者
两种认证方法
基于公钥:用PKI的机制
基于对称密钥
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全92 / 107
基于共享密钥的认证基于共享密钥的认证
通信双方事先已约定一个密钥,这种情况
下的认证可用challenge-response协议
Alice
Bob
A
RB
KAB(RB)
RA
KAB(RA)
Tnbm P787 Fig. 8-32 使用challenge-response协议认证的两种方法
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全93 / 107
创建一个共享密钥创建一个共享密钥——
DiffieDiffie--HellmanHellman密钥交换密钥交换
在一个不保密的,不受信任的通信信道上
(比如Internet),在交换的双方之间,建
立起一个安全的共享秘密的会话
Diffie-Hellman交换过程中涉及到的所有参
与者首先都必须隶属于一个组,这个组定义
了要使用哪个质数p,以及底数g
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全94 / 107
DiffieDiffie--HellmanHellman密钥交换过程密钥交换过程
在每一端(如Alice和Bob进行通信)的第一过程
中,需要选择一个大的随机的私人数字(例如512
bit),并在组内进行乘幂运算,产生一个公共值,
例如:Alice选择了a,并计算A = gamod p;Bob
选择了b,并计算B = gbmod p
他们开始交换自己的公共密钥,Alice将A给Bob,
而Bob将B给Alice,他们分别再次执行乘幂运算,
由于Bamod p = Abmod p = gabmod p = w, 所以
双方的计算结果相同,这个结果值w就是Alice和
Bob的公钥
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全95 / 107
DiffieDiffie--HellmanHellman交换过程举例交换过程举例
Alice选定大素数n = 47,g = 3和自己的密钥x = 8;并计算:
gx= 38,38mod 47 = 28;最后将(47, 3, 28)发送给Bob;
Bob选定自己的密钥y = 10,并收到Alice发来的(47, 3,
28),知道Alice选用的大素数n = 47,g = 3,gxmod n = 28
Bob计算(gxmod n)y= 2810,2810 mod 47 =4,即为他俩的
公钥,然后Bob计算gy= 310,并把310mod 47 = 17发给Alice
Alice收到Bob发来的17,知道Bob的gymod n = 17,经计算
(gymod n)8= (17)8mod 47 = 4,即为他俩的公钥
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全96 / 107
用密钥分发中心用密钥分发中心KDCKDC的认证的认证
每个用户与KDC有一个共享密钥
Alice
KDC
Bob
A, KA(B,KS)
KB(A,KS)
Alice选择一个session key:KS
Alice告诉KDC要与Bob用KS加密通信,这条消息用Alice与KDC
共享的密钥KA加密
KDC对其解密,重构一条包含Alice的标识A 以及session key
KS的报文发给Bob,这条消息用Bob与KDC的共享密钥KB加密
Bob收到这条消息,得知Alice要与它用session keyKS通信
Tnbm P793 Fig. 8-39
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全97 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全98 / 107
EE--mailmail的安全的安全
PGP:Internet上的一个免费软件包,提
供加密,认证,数字签名和压缩
PEM:Internet的标准,定义在RFC1421
和RFC1424中,使用者较少
S/MIME:定义在RFC2632和RFC2643中
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330第8章网络安全99 / 107
本章将讨论:本章将讨论:
通信安全
认证协议
E-mail的安全
Web安全
密码系统
对称密钥算法
公钥算法
数字签名
公钥管理
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全100 /
107
WEBWEB安全安全——安安全命名全命名
MAN-IN-MIDDLE攻击:当Alice要访问Bob
的网页时,他的请求被Trudy截取,并伪造网
页返回给Alice
DNS欺骗:修改域名服务器中的域名-地址对
照表,该修改可以通过伪造DNS应答报文来
实现,当Alice要访问Bob的网页时,域名服
务器将返回一个伪造的地址
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全101 /
107
WEBWEB安全安全——安安全命名全命名
安全DNS:每个DNS域都有一个公钥/私钥对,所有
有DNS服务器发出的信息均用私钥签名,接收者可用
公钥认证
自认证域名:在URL中域名和文件名之间插入一个加
密的服务器名的散列值,当用户使用该URL时,浏览
器会向对应的网站请求公钥,收到公钥后,浏览器运
行相应的HASH算法,如结果相同,浏览器认为该站
点是真正要访问的站点,则发送该URL
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全102 /
107
WEBWEB安全安全——安安全连接全连接
安全连接通常使用安全套接字协议SSL,
它位于应用层与传输层之间
SSL在两个套接字之间建立一条安全通
道,包括:
SSL包括两个子协议:建立安全通道和使
用安全通道
客户/服务器之间参数协商
客户/服务器之间互相认证
加密通信
数据完整性保护
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全103 /
107
WEBWEB安全安全——安安全连接全连接
Alice
Bob
SSL的版本,支持哪些压缩和加密算法,RA
SSL的版本,选择,RB
X.509证书链
Server done
EB(Premaster key)
改变加密器
结束
改变加密器
结束
Tnbm P815 Fig. 8-51 连接建立过程
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全104 /
107
WEBWEB安全安全——安安全连接全连接
Alice给Bob发送自己的SSL版本,支持哪些加密和压缩
算法以及一个时间值RA
Bob在Alice支持的算法中做出选择,将此选择和一个时
间值RB
Bob给Alice发送公钥的认证链
Bob发送Server done表示结束
Alice选择一个384位的Premaster key,并发送给
Bob,从Premaster key,RA和RB可计算Session key
Alice通知Bob改变加密器
Alice通知Bob发送结束
Bob给Alice发送应答
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全105 /
107
WEBWEB安全安全——安安全连接全连接
应用层发来的信息
按16 KB 一段分段
压缩
数据MAC
加密
加密头部
SSL传送过程
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全106 /
107
WEBWEB安全安全——移动代码的安全移动代码的安全
Java applet的安全:由于用解释方法执行,可
限制某些系统调用的执行
Active X:是一段二进制代码,无法逐条检
查,只能选择执行或不执行,MS的方法是用数
字签名,如果是认可的代码则执行,否则不执
行
Java Script:无通用的解决方法
病毒:无解决方法
《Computer Networks V4》cs.sjtu 2004-5-16
ftp://ftp.cs.sjtu.edu.cn/net330
第8章网络安全107 /
107
第第88章章习题习题
Tnbm P829
#14(七#8)
#31(七#9)
·上一篇:第29卷第14期
·下一篇:网络安全
