第3章 网络防御技术

82
1 第 3 第 第第第第第第 第第第第 : 第第第 2013 第 8 第 10

Upload: britanni-howell

Post on 01-Jan-2016

48 views

Category:

Documents


1 download

DESCRIPTION

第3章 网络防御技术. 指导教师 : 杨建国. 2013年8月10日. 第3章 网络防御技术. 3 .1 安全架构 3 .2 密码技术 3 .3 防火墙技术 3 .4 杀毒技术 3.5 入侵检测技术 3.6 身份认证技术 3.7 VPN技术 3.8 反侦查技术 3.9 蜜罐技术. 3 . 10 可信计算 3 . 11 访问控制机制 3 . 12 计算机取证 3 . 13 数据备份与恢复 3.14 服务器安全防御 3.15 内网安全管理 3.16 PKI网络安全协议 3.17 信息安全评估 3.18 网络安全方案设计. 3 . 2 密码技术. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第3章 网络防御技术

1

华东理工大学计算机科学与工程系

第 3 章网络防御技术

指导教师 : 杨建国

2013年 8月 10日

Page 2: 第3章 网络防御技术

2

华东理工大学计算机科学与工程系

3.1 安全架构3.2 密码技术3.3 防火墙技术3.4 杀毒技术3.5 入侵检测技术3.6 身份认证技术3.7 VPN技术3.8 反侦查技术3.9 蜜罐技术

第 3 章 网络防御技术 3.10 可信计算

3.11 访问控制机制3.12 计算机取证3.13 数据备份与恢复3.14 服务器安全防御3.15 内网安全管理3.16 PKI网络安全协议3.17 信息安全评估3.18 网络安全方案设计

Page 3: 第3章 网络防御技术

3

华东理工大学计算机科学与工程系

3.2 密码技术

Page 4: 第3章 网络防御技术

4

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 4

11.1 加密技术 11.1.1 加密技术概述 11.1.2 对称密码 11.1.3 非对称密码 11.1.4 密钥分发 11.1.5 单向哈希函数

Page 5: 第3章 网络防御技术

5

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 5

11.1.1 加密技术概述 密码技术是安全服务的基础性技术。 密码技术是实现加解密、数据完整性检验、口

令交换与校验等安全服务的基础。 采用密码技术可以隐蔽和保护需要保密的消息,

使未授权者不能读取消息。

Page 6: 第3章 网络防御技术

6

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 6

密码学发展 1949 年前:无体系——艺术 1949~1976 :发展缓慢,《保密通信的信息

理论 》 (Shannon) 1976~ 今:发展飞速,《密码学新方向 》—非

对称密码 (Diffie&Hellman)

Page 7: 第3章 网络防御技术

7

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 7

密码学的历史 古罗马: Caesar 密码

ABCDEFGHIGKLMNOPQRSTUVWXYZ

DEFGHIGKLMNOPQRSTUVWXYZABC

Caesar was a great soldier

密码本

密文

Fdhvdu zdv d juhdw vroglhu

明文密文

CAESAR 密码 : c=( m+ 3) Mod 26

Page 8: 第3章 网络防御技术

8

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 8

有趣的加密:巴比伦的文字

Page 9: 第3章 网络防御技术

9

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 9

密码学的历史( Cont. ) 美国南北战争

C A N Y

O U U N

D E R S

T A N D

输入方向输出方向

明文:

Can you understand

密文:

codtaueanurnynsd

Page 10: 第3章 网络防御技术

10

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 10

密码学的历史 (Cont.) 转轮密码机 ENIGMA ,由

Arthur Scherbius于 1919年发明, 4 轮 ENIGMA在1944 年装备德国海军。

Page 11: 第3章 网络防御技术

11

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 11

密码学的历史 (Cont.) 英国的 TYPEX 打字

密码机,是德国 3轮 ENIGMA 的改进型密码机。它在英国通信中使用广泛,且在破译密钥后帮助破解德国信号。

Page 12: 第3章 网络防御技术

12

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 12

密码学的历史 (Cont.) 图灵( Alan Mathison Turing )

Alan Mathison Turing,1912~ 1954. 英国数学家。 一生对智能与机器之间的关系进行着不懈探索。

1936 年, 24 岁的图灵提出 “图灵机”的设想。二战期间成功地破译了纳粹德国的密码,设计并制造了 COLOSSUS, 向现代计算机迈进了重要一步。

1952 年,图灵遭到警方拘捕,原因是同性恋。 1954年 6 月 8 日,服毒自杀,年仅 42 岁。

图灵去世 12 年后,美国计算机协会以他的名字命名了计算机领域的最高奖“图灵奖”。

Page 13: 第3章 网络防御技术

13

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 13

一个简单的加密算法 —异或

110

101

011

000

1

1

0

0

1

1

xx

xx

xx

xx

Page 14: 第3章 网络防御技术

14

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 14

一个简单的加密算法 —异或 异或

密文: 0 1 1 0 解密: 密钥: 0 1 0 1

明文: 0 0 1 1

已知明文、密文,怎样求得密钥?

C=P K

P=C K

异或运算(不带进位加法):明文 : 0 0 1 1

加密: 密钥 : 0 1 0 1 密文: 0 1 1 0

K=C P

Page 15: 第3章 网络防御技术

15

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 15

密码学的基本概念 密码学基本模型

发送

方 接收

方Encryption Decryption

加密: c= EK (m) 解密: m= DK (c)

不安全信道

密码分析

( Cryptanalysis )

plaintext

ciphertext plaintext

Key Key

Page 16: 第3章 网络防御技术

16

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 16

密码学的基本概念( Cont. ) 密码编码:通过信息编码使信息保密 密码分析:用分析方法解密信息 基本术语

明文 (plain text) ,密文 (cipher text) 加密 (encrypt, encryption), 解密 (decrypt,

decryption) 密码算法( Algorithm ) 密钥( Key )

Page 17: 第3章 网络防御技术

17

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 17

密码学的基本概念( Cont. ) 明文:待加密的消息。它可能是位序列、文本文

件、位图、数字化的语音序列或数字化的视频图象等等。对于计算机,明文指简单的二进制数据。

密文:被加密的消息。 加密:把信息隐藏起来,保证除了适当的人以外

的其它人不能阅读的实用方法。 解密:由密文恢复出原明文的过程。

Page 18: 第3章 网络防御技术

18

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 18

密码学的基本概念( Cont. ) 密码算法:是将明文变换 为密文,或将密文变换为明文的计算方法。分加密和解密算法。

加密算法:对明文进行加密 所采用的一组规则。 解密算法:对密文进行解密 所采用的一组规则。

c=E(m), m=D(c) , D(E(m))= m

Page 19: 第3章 网络防御技术

19

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 19

密码学的基本概念( Cont. ) 加密和解密算法的 操作通常都是在一组密钥控制下进行的:加密密钥、解密密钥。

密钥:是密码算法在加解密 时输入的一个参数,用于算法的 初始化。 c=EKe(m), m=DKd(c), DKd(EKe(m))= m

密钥空间:密码算法使用的 所有可能的密钥的集合。

Page 20: 第3章 网络防御技术

20

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 20

密码算法的分 类 根据算法和密钥是 否分开

古典密码:不分开 现代密码:分开

根据密钥特点 对称密码体制:加、解密密钥相同,或彼此容易相互确定 非对称密码体制:加、解密密钥不同,彼此很难互相确定

加、解密分离 根据加密方式

流密码:明文消息按字符逐位加密 分组密码:将明文消息分组,逐组进行加密

Page 21: 第3章 网络防御技术

21

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 21

古典密码和现代密码 古典密码

代替密码( Substitution Cipher ) 换位密码 (transposition Cipher) 代替密码与换位密码的 组合

古典密码(受限密码)的缺陷 密码体制的安全性在于保持算法本 身的保密性 受限算法的 缺陷

不适合大规模生产 不适合较大的或者人 员变动较大的 组织 用户无法了解算法的安全性

Page 22: 第3章 网络防御技术

22

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 22

古典密码和现代密码( Cont. ) 现代密码算法

把算法和密钥分 开 密码算法可以 公开,密钥保密 密码系统的安全性在于保持密钥的保密性

发送

方 接收方

m m加密E

解密D

c= Ek (m) m= Ek (c)

密码分析

密钥分配(秘密信道)kk

Page 23: 第3章 网络防御技术

23

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 23

对称密码算法和非对称密码算法 对称密钥密码算法, 又称传统密码算法、 秘密密钥

密码算法 加密和解密使用相同的密钥 Ke =Kd 常用算法: DES, IDEA, Blowfish, RC2 等

优点 加密速度快,便于硬件实现和大规模生产

缺点 密钥分配:必须通过保密的信道 密钥个数: n( n-1) /2 无法用来签名和抗抵赖(没有第三方公证时)

Page 24: 第3章 网络防御技术

24

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 24

对称密码和非对称密码( Cont. ) 非对称密码,又称公开密钥密码算法

加密和解密使用不同的密钥(公钥 Kp, 私钥 Ks),把公钥公开,私钥保密: c= EKp(m) , m=DKs (c)

常用算法: RSA, DSA, 背包算法, ElGamal , 椭圆曲线等

优点: 密钥分配:不必保持信道的保密性 密钥个数: n pair 可以用来签名和抗抵赖

缺点 加密速度慢,不便于硬件实现和大规模生产

Page 25: 第3章 网络防御技术

25

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 25

分组密码和流密码 分组密码( Block Cipher )

一次加密或解密操作作用于一个数据块 , 比如 64 位流密码( Stream Cipher )

一次加密或解密操作作用于一位或者一个字节

随机序列

随机序列

密钥序列发生器

Pi Ci Ci Pi

Key 密钥序列发生器

Page 26: 第3章 网络防御技术

26

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 26

密码分析 在未知密钥的前提下,从密文恢复出明文、或者推导出密钥

对密码进行分析的尝试称为攻击 攻击方法分类(根据已知信息量的多少)

唯密文攻击 已知明文攻击 选择明文攻击 自适应选择明文攻击 选择密文攻击 选择密钥攻击

Page 27: 第3章 网络防御技术

27

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 27

密码分析 (Cont.) Success in dealing with unkown ciphers is

measured by these four things in the order named, perseverance, careful methods of analysis, intuition, luck. Parker Hitt “军事密码破译指南”的开场白 毅力、审慎的分析方法、直觉、运气。

Page 28: 第3章 网络防御技术

28

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 28

密码分析 (Cont.) 密码算法的安全性

如果破译算法的代 价大于加密数据本 身的价值,或者在信息的生命期内无法破解,那么你的算法可能是安全的。

一个算法被称 为是计算 上安全的,如果一个算法用可得到的资源不能破解。

处理复 杂性:计算 量, CPU时间 数据复杂性:所需输入数据量存储复杂性:计算 所需的存储空间

Page 29: 第3章 网络防御技术

29

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 29

密码技术的主要用途 数据保密—数据加密 /解密

数据加密(存储和传输) 认证技术

实体身份认证 数据源发认证

信息完整性保护 数据在传输过程中 没有被插入、篡改、重发;

数字签名和抗抵赖( Non-repudiation ) 源发抗抵赖 交付抗抵赖

Page 30: 第3章 网络防御技术

30

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 30

11.1.2 对称密码 对称加密算法 又称传统密码算法、单钥加密算法、共享密钥加密算法。

在对称加密中,首先要在通信的对等双方之间协商建立一个秘密密钥,且对他人保密,通信双方采用这个共同密钥对消息进行加、解密。

由于双方的密钥是一样的,加密和解密的过程是对称的,因此,称作对称加密。

Page 31: 第3章 网络防御技术

31

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 31

对称加密系统的工作过程 加解密使用相同密钥,或能够互相导出的密钥 密钥必须使用秘密的信道分配

密文

加密密码算法

明文

明文

解密密码算法

密钥 密钥

密钥分配秘密信道

Page 32: 第3章 网络防御技术

32

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 32

对称密码的特点 速度较快,有时比非对称加密快 1000倍。但由

于密钥的对称性,收发双方必须共享密钥,密钥管理不方 便,也不安全,密钥总数随着用户数的增加迅速增加。

Page 33: 第3章 网络防御技术

33

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 33

对称密码的应用主要用于长明文的加密,如:

文件加密 网络加密 数据库加密

Page 34: 第3章 网络防御技术

34

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 34

广泛使用的对称加密系统算法 类型 密钥长度 说明

DES 对 称 分 组密码

56 位 目前最常用的加密算法 , 然而其安全性能较差

Triple-DES

对 称 分 组密码

168 位 (112位有效 )

对 DES 作了一些比较好的改进,而且它也能满足当前的安全需要

Blowfish

对 称 分 组密码

长 度 可 变 ( 可以 达 到 448位 )

长的密钥长度提供了很好的安全性

RC4 对 称 流 密码

长 度 可 变 ( 通常从长计议 40到 128位 )

快速的流密码。主要用在 SSL中。使用不当 128 位密钥时安全性比较好

AES 对 称 分 组密码

长 度 可 变(128位、 192 或明或暗 256位 )

替代 DES 的新密码算法。虽然还没有广泛应用,但是它很可能提供很好的安全性

Page 35: 第3章 网络防御技术

35

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 35

不可不提的加密标准 DES( Data Encryption Standard ) AES( Advanced Encryption Standard )

Page 36: 第3章 网络防御技术

36

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 36

数据加密标准( DES ) 1973 年, NIST征集对数据加密的标准建议 DES由 IBM 提出, 1977 年被采纳为联邦标准

Page 37: 第3章 网络防御技术

37

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 37

DES 算法原理 DES 是一种对称密钥算法,密钥 长度为 56bits (加上奇偶校验,通常写成 64bits)

是一种分组加密算法,明文 64bits为一个分组 基本思想:

混乱( Confusion ) 和扩散( Diffusion ) 使用标准的算术和 逻辑运算

Page 38: 第3章 网络防御技术

38

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 38

DES 的安全性和速度 DES作为加密标准提出后,其安全性就备受争议

常用的攻击方法:穷搜索、差分分析、线性分析

Page 39: 第3章 网络防御技术

39

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 39

DES 的安全性和速度( cont. ) DES 的最大缺陷:密钥长度较短

1976 年,耗资 2000万美元的计算机,可以在一 天中找到密钥。

1993 年,设计 100万美元的计算机, 3.5小时用穷举法找到密钥。

Page 40: 第3章 网络防御技术

40

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 40

DES 的变形( cont. ) 1999 年, NIST 发布了 3DES 。 3DES 可以选择两个密钥或三个密钥,密钥长度为

112比特或 168 位 两个密钥的 3DES 加解密过程: k=k1k2

具有较强的抗攻击能力。它是一种较受欢迎的 DES替代方案。

DES DES-1 DES DES-1 DES DES-1m mc c

k1 k2 k1 k1 k2 k1

Page 41: 第3章 网络防御技术

41

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 41

软硬件实现的速度硬件实现:商业 DES芯片

VLSI 公司 VM009 1993 年制造 200M Bytes/s软件实现:

80486 , CPU 66Hz, 每秒加密 43000个 DES 分组, 336K Bytes/s

HP 9000/887,CPU 125 Hz, 每秒加密 196,000个分组, 1.53M Bytes/s

Page 42: 第3章 网络防御技术

42

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 42

高级加密标准( AES ) 1997年 1 月, NIST宣布征集一个新的对称密钥分组密码算法 作为取代 DES 的新的加密标准——高级加密标准( AES )

1997年 9 月,开始正式公开征集 AES 算法, 规定 AES 要详细说明一个非保密的、公开的对称密钥加密算法 算法 必须支持(至少) 128bit 的分组长度, 128、 192和 256bit 的密钥长度

强度至少应该相当于 3DES ,但应该比 3DES更有效 算法 如果被选中,则须可免费获取

Page 43: 第3章 网络防御技术

43

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 43

AES( cont. ) 1998年 8 月, NIST公布了 15个 AES候选算法

——由遍布世界的密码团体提交 第一轮——公众评论—— 1999年 4 月截止

MARS、 RC6 、 Rijndael、 Serpent、 Twofish入围前 5

第二轮——深入评论期—— 2000年 5 月截止 2000年 10月, NIST宣布选中建议 Rijndael作为

AES Rijndael 由比利时密码学家 Daemen和 Rijmen共同设计得出

Page 44: 第3章 网络防御技术

44

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 44

AES( cont. ) Rijndael 原型是 Squre 算法,它的设计 策略是宽轨迹策略

——针对差分分析和线性分析提出 Rijndael 是一个迭代分组算法,分 组长度和密钥长度均可变 为满足 AES 要求,限定分组长度 128bit ,密钥长度 128bit、

192bit、 256bit ,相应轮数为 10, 12, 14 多重加密方式随着 AES 的出现已经不再必要——简化安全协议和系统设计

AES 的广泛使用将促进同样强度的新杂凑函数的出现——某些情况下分组加密算法与 杂凑函数密切相关——分组密码加密算法 经常被用来作为单向杂凑函数,已经成为一种应用标准

Page 45: 第3章 网络防御技术

45

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 45

IDEA IDEA( International Data Encryption Algorithm )是旅居瑞士的中国青年学者来学 嘉和著名密钥专家 J.Massey于 1990 年提出,又于 1992 年改进后形成的,国际上普遍认为它是继 DES 之后又一成功的分组密码,已经实际应用于E-Mail 加密系统 PGP 和许多其它加密系统中。

IDEA 是分组密码,明文和密文分组长度均为 64 位,与 DES不同的是,其密钥长度为 128 位。 IDEA 与其它分 组密码一样,在设计上既采用了混淆又采用了扩散,混合运用了三个不同的代数群,获得了良好的非线性,增强了密码的安全性。

IDEA 算法是对 合算法,加解密 共用同一算法。无论用 软件还是用硬件都很容易实现,而且加解密速度很快。

Page 46: 第3章 网络防御技术

46

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 46

IDEA IDEA 能抵抗差分攻击和线性攻击。由于它的密

钥长度为 128 位,穷举攻击需要试探个密钥,若用每秒 100万次加密的速度进行试探,大约需要年。在目前的计算 条件下,普遍认为 IDEA是安全的。

不过, IDEA 是为了方便 16位 CPU 实现而设计的,对于 32位 CPU 的实现不太方便,这对32位 CPU占主导地位的今天而言,无疑是一大憾事。

Page 47: 第3章 网络防御技术

47

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 47

11.1.3 非对称密码 对称密码的缺陷 非对称密码概述 非对称密码的思想 非对称密码算法的工 作过程 非对称密码算法的用 途

Page 48: 第3章 网络防御技术

48

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 48

对称密码的缺陷 对称加密很适合有计算机 网络以前的信息传送,在那时通信者之间的关系相对很少,用到的密钥也就很少。

而在网络应用中,一台计算机要和大 量的计算机通信,对称加密法就有问题了。

对称加密要求通信双方用的密钥先通过其他秘密渠道商定。如果网络上有 n个用户,则需要 C(n, 2) = n(n-1)/2 个密钥,如果n=1000, C(1000,2)≈500 000 个,管理和 更改这么多的密钥工作量太大了。

Page 49: 第3章 网络防御技术

49

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 49

非对称密码概述 非对称密码体制又称为公钥体制, 1976 年由 Diffie和 Hellman 提出

引入了一个与传统密码体制不同的概念:密钥成对出现,一个加密密钥、一个解密密钥,并且无法从一个密钥推解出另一个。

特点:加、解密密钥不同,加、解密算法 也不同,加密密钥公开

安全性基于由公开密钥推出秘密钥的困难性以及由密文推算出明文的 困难性之上的

目前公钥体制的安全基础主要是数学中的 难解问题

Page 50: 第3章 网络防御技术

50

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 50

非对称密码的思想 20 世纪 70 年代, Diffe和 Hellman 在“密钥学

新动向”这篇文章中,提出了公钥加密思想:如果A 有一个加密密钥 k,它和解密密钥 k’ 不同,如果把 k公开不会影响 k’ 的安全,那么可以公开 k。

如果 B要给A 发送机密消息,他可以 先查找 A 的公开密钥 k,用 k 把消息 m 加密,得到密文 C 。 A在接收到密文 C 之后,用自己保存的解密密钥 k’ 对它进行解密,可以得到消息m。

因为加密密钥 k 和解密密钥 k’ 是不一样的,所以公开密钥加密法也叫做非对称加密法。

Page 51: 第3章 网络防御技术

51

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 51

非对称密码算法的加密原理 每个通信实体拥有一对密钥:(公钥,私钥)。公钥公开,

用于加密和验证签名;私钥保密,用作解密和签名。 A 向 B发送消息时,用 B的公钥加密 B收到密文后,用自己的私钥解密

PlainText加密算法

解密算法

A B

cipher PlainText

B的私钥B的公钥

Page 52: 第3章 网络防御技术

52

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 52

非对称密码算法的加密原理任何人向 B发送信息都可以使用同一个密钥 (B

的公钥 )加密,使用起来很方便没有其他人可以得到 B 的私钥,所以只有 B可

以解密——确保了数据的秘密性但不能保证数据的真实性

Page 53: 第3章 网络防御技术

53

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 53

非对称密码算法的 签名原理

A 向 B 发送消息时,用 A 的私钥对消息进行加密(签名)

B收到密文后,用 A 的公钥解密(验证) 保证了数据的真实性和完整性

PlainText加密算法

解密算法

cipher PlainText

A BA的私钥 A的公

Page 54: 第3章 网络防御技术

54

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 54

非对称密码算法的 表示 对称密钥密码

密钥:会话密钥( Ks ) 加密函数: C= EKs[M]

对密文 C ,解密函数: M= DKs[C]

公开密钥 密钥: (KUa, KRa)、 (KUb, KRb), 加密: C= EKUb[M] 解密: M= DKRb[C]

签名: C= EKRa[M] 验证: M= DKUa[C]

Page 55: 第3章 网络防御技术

55

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 55

数字签名和加密同时使用

X加密

(签名) 加密 解密 解密(验证) XY Z Y

Z= EKUb [Y] = EKUb [ EKRa (X) ]

X= DKUa[Y] = DKUa [ DKRb (Z) ]

A B

产生密钥对

产生密钥对KRa KUa

KRb

KUb

Page 56: 第3章 网络防御技术

56

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 56

对公开密钥密码算法的要 求 1.参与双方容易产生密钥对 (KUb, KRb)、

(KUb, KRb) 2.已知 KUb, A 对消息M的加密操作是容易的:

C=EKUb(M) 3.已知 KRb, B能从密文 C中获取明文M,且

解密操作是容易的 : M=DKRb(C)=DKRb(EKUb(M)) 4.已知 KUb ,求 KRb 是计算 上不可行的; 5.已知 KUb和 C, 欲恢复M是计算 上不可行的

Page 57: 第3章 网络防御技术

57

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 57

非对称密码算法的 应用 三种用途:

加密 /解密: 数字签名:发送方用自己的私钥签署报文,接收方用对方的公

钥验证对方的签名。 密钥交换:双方协商会话密钥

算法 加密 / 解密 数字签名 密钥交换RSA Y Y Y

Diffie-Hellman N N Y

Page 58: 第3章 网络防御技术

58

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 58

对非对称密码算法的 误解 非对称密钥算法 比对称密钥密码算法 更安全?

任何一种算法 都依赖于密钥长度、破译密码的工作量,从抗分析角度,没有一方更优越

非对称密钥算法使对称密钥成 为过时了的技术? 非对称密钥算法的计算速 度比较慢,一般用于密钥管理和数字 签名,而对称密钥密码算法计算速 度快,二者各有优势,分别适用于不同的场景,将长期共同存在。

Page 59: 第3章 网络防御技术

59

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 59

不可不提的非对称密码 Diffie-Hellman 密钥交换 RSA 体制 ElGamal 体制椭圆曲线密码体制

Page 60: 第3章 网络防御技术

60

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 60

Diffie-Hellman 密钥交换 Diffie和 Hellman 提出了 Diffie-Hellman 密钥

交换协议。该协议的安全性基于有限域上求解离散对数的困难性。

Page 61: 第3章 网络防御技术

61

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 61

Diffie-Hellman 密钥交换 假设 A 和 B希望交换一个密钥, A 选择一个作为私有密钥的大随机数 x<n ,计算 X=gx mod n ,并发送给B; B也选择一个大的 随机数 y ,并计算 Y=gy mod n ,发送给A ; A 计算 KA =Yx mod n = gxy mod n; B计算 KB =Xy mod n = gxy mod n; A 和 B生成的密钥是一样的,这样就相当于双方已经交

换了一个相同的秘密密钥。

Page 62: 第3章 网络防御技术

62

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 62

Diffie-Hellman 密钥交换 由于大的 随机数 x 和 y 是保密的,网络上的窃听者只能获取 n, g , X 和 Y ,因而只能通过离散对数来确定密钥,但这个在计算 上是很困难的,对于大的 素数,计算出离散对数几乎是不可能的。

该协议可以用于密钥分发,但不能用于加解密信息。 密钥只有在需要的时候才会进行计算, 这样,密钥不需

要保存,在这之前不会有泄密的危险。 缺点在于在交换密钥时没有包含通信双方的身份,不能抵抗中间人攻击。

Page 63: 第3章 网络防御技术

63

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 63

RSA 体制 RSA ——Rivest , Shamir, Adleman于 1977 年

提出的第一个比较完善的非对称密码体制 安全性基于大合数因子分解的困难性 基本事实:寻找大素数是容易的,但对两个大素数

的乘积进行因式分解是困难的(在计算 上不可行的)

与对称密码体制 相比, RSA 的缺点是加解密速度太慢,因而很少用于数据加密,多用于数字签名、密钥管理和 认证等应用中

Page 64: 第3章 网络防御技术

64

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 64

RSA 算法的安全性 攻击方法

蛮力攻击:对所有密钥都进行尝试 数学攻击:等效于对两个素数乘积 (n) 的因子分解

大数的因 子分解是数论中的一个难题

Page 65: 第3章 网络防御技术

65

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 65

RSA 算法的性能 速度

软件实现比 DES 慢 100倍 硬件实现比 DES慢 1000倍

512 位 768 位 1024 位

加密 0.03 0.05 0.08

解密 0.16 0.48 0.93

签名 0.16 0.52 0.97

验证 0.02 0.07 0.08

Page 66: 第3章 网络防御技术

66

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 66

ElGamal 体制 1985 年, ElGamal 设计出 该密码体制 安全性基于有限域上求解离散对数的困难性即可用于数据加密,亦可用于数字签名 美国数字签名标准( DSS )的基础

Page 67: 第3章 网络防御技术

67

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 67

椭圆曲线密码体制( ECC ) 1985 年, Koblitz 和Miller 分别将椭圆曲线

用于非对称密码体制的设计 二人并未发明使用椭圆曲线的密码算法, 但用有限域上的椭圆曲线实现了已经存在的非对称密码算法

ECC 实现同等安全性所需使用的密钥长度比ElGamal、 RSA 等密码体制短很多,软件实现规模小,硬件实现电路省电。

Page 68: 第3章 网络防御技术

68

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 68

非对称密码算法的用 途 需要注意的是,非对称密码算法不 但可以用来保护

数据的保密性,而且可以用来保护数据的真实性和完整性。

例如,如果 A 想要保护消息 M的真实性和完整性,他可以给M计算数字 签名 S。当消息 M的接收者B 接收到消息M和数字签名 S后,他可以对这个消息的真实性和完整性进行验证,这样能确保消息M是 A 发送给他的,并且在传送的过程中 没有遭到破坏。

Page 69: 第3章 网络防御技术

69

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 69

11.1.4 密钥分发根据密钥方法的信息交换方式,密钥的分发可以

分成三类: 人工密钥分发 基于中心的密钥分发 基于认证的密钥分发

Page 70: 第3章 网络防御技术

70

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 70

人工密钥分发 人工密钥分发 以脱机的发送方法建立成对的或者

是一对多的密码学密钥。人工密钥分发 比较笨,也很难扩展: 一般不能提供密钥的验证,除非相应的脱机发 送方式

同时包含认证服务 ——脱机发 送的方式本身的安全性对于人工密钥分发

的安全起到了决定性的作用

Page 71: 第3章 网络防御技术

71

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 71

人工密钥分发 (2) 但在很多情况下,人工密钥分发 也是非常必要的,

或者至少要用人工的方 式给每个用户发送一次密钥。之后的密钥用这个密钥加密后,再进行传送

—— 用人工方 式发送的第一个密钥叫做密钥加密密钥( Key Encryption, KEK )

至于被加密的密钥用什么方式传送就无关紧要了 —— 人工密钥分发非 常适用于多播环境,因为在这种环境中一个组密钥可以提供给多个用户使用。

Page 72: 第3章 网络防御技术

72

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 72

基于中心的密钥分发 基于中心的密钥分发利用可信任的第三方( TTP ),

进行密钥分发。可信任的第三方可以在其中扮演两种角色: 密钥分发中心( Key Distribution Center, KDC ); 密钥转换中心( Key Translation Center, KTC )。

一般来说,用户只知道自己的秘密密钥和 KDC 的公开密钥。他从密钥分发中心获取他将要进行通信的对方的密钥。

Page 73: 第3章 网络防御技术

73

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 73

基于中心的密钥分发 (2) 大多数的密钥分发方法都是适合于特定的应用

和情景 如:依赖于时间戳的密钥分发方案比较适合本地认

证环境,因为在这种环境中,所以的用户都可以访问大家 都信任的时钟服务器。

在广域网环境中常有要求完全同步时钟的需求,但是实现起来困难较多。

Page 74: 第3章 网络防御技术

74

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 74

基于认证的密钥分发 基于认证的密钥分发也可以用来进行建立成对

的密钥。基于认证的密钥分发技术又分成两类: 用非对称密钥加密系统,对本地产生的加密密钥进

行加密,来保护加密密钥在发送到密钥管理中 心的过程——密钥传送;

加密密钥由本地和远端密钥管理实体一起 合作产生加密密钥——密钥交换,或密钥协商。

Page 75: 第3章 网络防御技术

75

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 75

11.1.5 单向哈希函数 一个函数 是单向函数,如果:

对于所有的 , 很容易计算 ; 而对于给定的 ,不可能计算出一个 ,使 得 。

这里的“不可能计算 ”可以理解 为,用当前最快速的计算机,需要非 常长,比如几百万年的时间才能计算出来。

:X Yf Xx ( )f x

Yy Xx( )y f x

Page 76: 第3章 网络防御技术

76

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 76

单向哈希函数 (2) Whitfield Diffie曾在《应用密码学》中举了一

个很生动的比喻,单向函数就像是把盘子打碎,打碎它很容易,但是要把盘子重新拼起来确实难上加难。

简而言之,单向函数是一种易于正向计算, 但很难反向计算的函数。

需要注意的是,单向函数的存在至今仍然是一个没有经过证明的假设,也就是说,到目前为止没有一个函数被证明为单向函数。

Page 77: 第3章 网络防御技术

77

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 77

单向哈希函数 (2) 什么是哈希函数呢?

哈希函数 H把一个值 x (值 x 属于一个有很多个值的集合(或者是无穷多个值)),影射到另外一个值y,y属于一个有固定数量个值(少于前面集合)的集合。

哈希函数不是可逆函数——不同的输入值可能产生相同的输出,也就是碰撞,或称为冲突。

如果一个哈希函数具有单向函数的性质——也就是: 给定一个值 x ,很容易计算 H(x) 但是,给定一个值 y ,很难找到一个值 x ,使得

H(x)=y ,这个哈希函数叫做单向哈希函数。

Page 78: 第3章 网络防御技术

78

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 78

单向哈希函数 (3)如果一个哈希函数除了具有单向函数的性质以外,从计算的可能性来 说,很难找到两个不同的输入值 x1,x2∈X ,使得 H(x1)= H(x2) ,那么这个函数叫做无碰撞的单向哈希函数。

无碰撞是很重要的——可以防止攻击者伪造消息摘要等信息。

Page 79: 第3章 网络防御技术

79

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 79

单向哈希函数 (4)从密码学角度而言,适用的哈希函数的基本要求如下:(1)输入可以是任意长度的;(2)输出是可以固定长的;(3) 对于任意的值 x , H(x)很容易计算 ;(4) H(x) 是单向的;

(5) H(x) 是无冲突的;

Page 80: 第3章 网络防御技术

80

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 80

单向哈希函数 (5) Merkle 提出了安全哈希函数的一般结构。它是

一种迭代结构,将输入报文分为 L个大小为 b位的分组,若第 L个分组不足 b位则填充至 b位,然后再附加上一个表示输入总长度的分组。

由于输入中包含长度,所以攻击者必须找出具有相同哈希值且长度相等的两条报文,或者找出两条长度不等但加入报文长度后哈希值相同的报文,从而增加了攻击的难度。

Page 81: 第3章 网络防御技术

81

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 81

单向哈希函数 (6) 哈希函数的一般结构可归纳如下:

1

1

1

( , )

( )i i i

L

CV IV n

CV f CV M

H M CV

位初始值1 i L

n位

IV=CV1

f f f

M1

b位

M2

b位

ML

b位

n位

CV2

n位 n位… CVL+1

n位

CVL

Page 82: 第3章 网络防御技术

82

华东理工大学计算机科学与工程系

23/4/20 网络入侵与防范讲义 82

单向哈希函数 (7) 哈希函数 MD2,MD4和MD5产生 128 位的

哈希值 RIPEMD也是一个单向哈希函数。 SHA-1产生 160 位的哈希值。 RIPEMD-160是 RIPEMD 的增强版,它产生

的是 160 位的哈希值。 MD5和 SHA-1 是目前应用最广泛的单向哈希

函数。