第 8 讲 网络安全

52
第 8 第 第第第第 1 8 第第第第 基基基基 : 基基基基基基 ? 基基基 基基基基 基基基基基 基基基基基基基 基基基基基基 : 基基基 : 基基基基 基基 : 基基基基SSL, SET 基基基基基

description

基本概念 : 什么是安全性 ? 密码术 报文鉴别 信息安全性 密钥发放和确认 实用安全技术 : 应用层 : 安全邮件 传输层 : 电子商务, SSL, SET 防火墙技术. 第 8 讲 网络安全. 敌友之间 : Alice, Bob, Trudy. 三位网络安全领域里的“知名人士” Bob, Alice ( 恋人 !) 需要进行“私密”的通信 Trudy, 则是 “ 侵入者 ” 有可能对他人的通信进行截获、删改活动. Figure 7.1 goes here. 什么是网络安全 ?. - PowerPoint PPT Presentation

Transcript of 第 8 讲 网络安全

Page 1: 第 8 讲  网络安全

第 8 讲 网络安全 1

第 8 讲 网络安全基本概念 : 什么是安全性 ? 密码术 报文鉴别 信息安全性 密钥发放和确认实用安全技术 : 应用层 : 安全邮件 传输层 : 电子商务, SSL, SET 防火墙技术

Page 2: 第 8 讲  网络安全

第 8 讲 网络安全 2

敌友之间 : Alice, Bob, Trudy

三位网络安全领域里的“知名人士” Bob, Alice ( 恋人 !) 需要进行“私密”的通信 Trudy, 则是“侵入者”有可能对他人的通信进行截获、删改活

Figure 7.1 goes here

Page 3: 第 8 讲  网络安全

第 8 讲 网络安全 3

什么是网络安全 ?安全性 : 只有发送方 , 意欲中的接收方能够 “理

解” 报文内容 发送方加密报文 接收方解密报文

报文鉴别 : 收发双方需要证实对方的身份 报文完整性 : 收发双方需要保证报文不被篡改 (

在传输过程中 , 或传输完毕以后 ) ,不被探测

Page 4: 第 8 讲  网络安全

第 8 讲 网络安全 4

网络上的主动攻击和被动攻击

截获 -- 被动攻击 ( 主要的对应策略为加密传输 )

中断 -- 主动攻击 ( 主要的对应策略为信道冗余,防火墙的等 )

篡改 -- 主动攻击 ( 主要的对应策略为报文鉴别 )

伪造 -- 主动攻击 ( 主要的对应策略为报文鉴别 )

Page 5: 第 8 讲  网络安全

第 8 讲 网络安全 5

因特网的安全隐患举例分组泄漏( Packet sniffing) :

广播介质 间谍 NIC 可以读出所有传输的分组 即可以读出所有未加密的数据 (e.g. passwords) e.g.: C 在“嗅“ B 的分组

A

B

C

src:B dest:A payload

Page 6: 第 8 讲  网络安全

第 8 讲 网络安全 6

因特网安全隐患IP 欺骗( Spoofing) :

可以应用程序中产生“原始”的 IP 分组 , 将任意的值植入 IP 信源字段 接受方往往分辨不出信源地址的真假 e.g.: C 假装成 B

A

B

C

src:B dest:A payload

Page 7: 第 8 讲  网络安全

第 8 讲 网络安全 7

因特网安全隐患拒绝服务 (Denial of service ,DOS) :

发送“洪水”分组将接受方“淹死” 分布式 DOS (DDOS): 多个协调的信源向接受端发起攻击 e.g., C 和远程主机同步攻击 A

A

B

C

SYN

SYNSYNSYN

SYN

SYN

SYN

Page 8: 第 8 讲  网络安全

第 8 讲 网络安全 8

密码术的术语

对称密钥加密 : 收发双方密钥完全相同公共密钥加密 : 加密密钥是公开的 , 解密密钥是保密的 注:密码术是被动攻击主要防护策略

Figure 7.3 goes here

plaintext plaintext

ciphertext

KA

KB

Page 9: 第 8 讲  网络安全

第 8 讲 网络安全 9

常规密钥密码体制 -- 对称密钥加密术替代密码 : 使用一种符号来替代另一种

单字符密码 : 用一个字母来替换另一个

明文 : abcdefghijklmnopqrstuvwxyz

密文 : mnbvcxzasdfghjklpoiuytrewq

Plaintext: bob. i love you. aliceciphertext: nkn. s gktc wky. mgsbc

E.g.:

Q: 这样的简单密码的解码难度如何 ?:•brute force (how hard?)•other?

Page 10: 第 8 讲  网络安全

第 8 讲 网络安全 10

解码难度分析

惟秘文攻击:入侵者只有密文,不知道内容的背景。统计分析对分析加密方案有用。

已知明文攻击:入侵者已知某些明文和密文 选择明文攻击:入侵者选择明文信息并且得到

相应的秘文

Page 11: 第 8 讲  网络安全

第 8 讲 网络安全 11

常规密钥密码体制 -- 对称密钥密码术 : DESDES: Data Encryption Standard 美国加密标准 [NIST 1993] 56-bit 对称密钥 , 64 bit 明文输入 DES 安全性如何 ?

DES 挑战赛 : 对使用 56-bit 密钥的短语 (“Strong cryptography makes the world a safer place”) 进行的解码 (brute force) 花费了 4 个月

尚未找到 “后门” 解码方法让DES 更安全

对每个数据块顺序使用三层 DES(3-DES) 使用块状密码链 (use cipher-block chaining)

Page 12: 第 8 讲  网络安全

第 8 讲 网络安全 12

对称密钥密码术 : DES

初始置换 16轮相同的运算 ,

每次使用不同的48 bits 密钥最终置换

DES 运算

Page 13: 第 8 讲  网络安全

第 8 讲 网络安全 13

公开密钥密码术对称 密码密码术 要求收发双方约定共享的密钥

Q: 如何进行密钥的约定 ( 特别是在从未“谋面”的情况下 )?

公开密钥密码术 完全不同于对称密钥的

加密方法 [Diffie-Hellman76, RSA78]

收发双方不共享密钥 加密的密钥匙 公开的 (

公诸于世 ) 解码密钥是保密的 (

只有接收方知道 )

Page 14: 第 8 讲  网络安全

第 8 讲 网络安全 14

公共密钥密码术

Figure 7.7 goes here

Page 15: 第 8 讲  网络安全

第 8 讲 网络安全 15

公共密钥加密算法

需要加密 d ( ) 和解密 e ( )

d (e (m)) = m BB

B Bm m

为 d ( ) 和 e ( )选取公开密钥和秘密密钥

m mBB

两个相关的要求 :

1

2

RSA: Rivest, Shamir, Adelson 算法

Page 16: 第 8 讲  网络安全

第 8 讲 网络安全 16

RSA: 选择密钥1. 选取两个大质数 p, q. (e.g., 每个 1024 bit)

2. 计算 n = pq, z = (p-1)(q-1)

3. 选择一个 e (e<n) 并且与 z 没有公约数 . (e, z 互质 ).

4. 找到一个数 d 并且 ed-1 可以为 z 整除 . ( 换言之 : ed mod z = 1 ).

5. 则公钥 数对为 (n,e). 密钥 数对为 (n,d).

Page 17: 第 8 讲  网络安全

第 8 讲 网络安全 17

RSA: 加密 , 解密0. 假设 (n,e) 和 (n,d) 如前述方法计算

1. 则加密过程为 , 设加密的位流为 m, 则可计算出c = m mod

n

e (i.e., 也就是 m 为 n 除后所得余数 )e

2. 若对接收到的位流 c 进行解密 , 则可计算出m = c mod

n

dd

m = (m mod n)

e mod n

dMagichappens!

(i.e., 也就是 c 为 n 除后所得余数 )

Page 18: 第 8 讲  网络安全

第 8 讲 网络安全 18

RSA 举例 :

Bob 选择 p=5, q=7. Then n=35, z=24.e=5 (e, z 互质 ).d=29 ( 且 ed-1 可为 z 整除 ) 字母 m me c = m mod ne

l 12 1524832 17

c m = c mod nd

17 481968572106750915091411825223072000 12

cd 字母l

加密 :

解密 :

Page 19: 第 8 讲  网络安全

第 8 讲 网络安全 19

RSA: 原理 : m = (m mod n)

e mod n

d

(m mod n)

e mod n = m mod n

d ed

数论结果 : 如果 p,q 互质 , n = pq, 那么

x mod n = x mod ny y mod (p-1)(q-1)

= m mod n

ed mod (p-1)(q-1)

= m mod n1

= m

( 使用上述数论结果 )

( 由于我们 选择 ed 可为 (p-1)(q-1) 所除且余数为 1 )

Page 20: 第 8 讲  网络安全

第 8 讲 网络安全 20

报文鉴别目的 : Bob 要求 Alice “ 证明”其身份

Protocol ap1.0: Alice 说: “ I am Alice”

为什么会失败 ??

Page 21: 第 8 讲  网络安全

第 8 讲 网络安全 21

认证 : 再试一次Protocol ap2.0: Alice 说 “ I am Alice” 并

发送其 IP 地址进行证明

为什么会失败 ??

Page 22: 第 8 讲  网络安全

第 8 讲 网络安全 22

认证 : 又试一次Protocol ap3.0: Alice 说“ I am Alice” 并发送口令证明 .

为什么会失败 ?

Page 23: 第 8 讲  网络安全

第 8 讲 网络安全 23

认证 : 再试Protocol ap3.1: Alice 说 “ I am Alice” 并发送

其加密的口令进行证明 .

为什么会失败 ?

I am Aliceencrypt(password)

Page 24: 第 8 讲  网络安全

第 8 讲 网络安全 24

认证 : 再试目的 : 避免回放攻击

失败 , 缺点 ?

Figure 7.11 goes here

杜撰字 (nonce): number (R) 的结果只用一次

ap4.0: 为证明 Alice 是否处于“激活”状态 , Bob 给 Alice发送 nonce, R. Alice

必须回送 R, 同时使用共享密钥对 R 进行加密

Page 25: 第 8 讲  网络安全

第 8 讲 网络安全 25

Figure 7.12 goes here

认证 : ap5.0ap4.0 要求共享对称密钥

问题 : Bob, Alice 如何才能在共享秘钥上达成一致我们能否使用公开密钥机进行身份验证 ?

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

Page 26: 第 8 讲  网络安全

第 8 讲 网络安全 26

Figure 7.14 goes here

ap5.0: 安全漏洞中间人攻击 : Trudy 对 Alice 假扮 Bob而对

Bob 假扮 Alice

结论:需要 “资质认证的” 公钥

Page 27: 第 8 讲  网络安全

第 8 讲 网络安全 27

数字签名

模拟手签的加密技术 . 发送方 (Bob) 对文件进

行数字签名 , 确定他是文件的拥有者和创建者 .

可供鉴定 , 不可否认证据 : 接受方 (Alice) 可以确认这是 Bob 发送的文件 .

对报文进行简单的数字签名 : Bob 使用其私钥 dB 对

m 加密 , 创建了签过名的报文 , dB(m).

Bob 将原始报文 m 和数字签名 dB(m) 发给 Alice.

Page 28: 第 8 讲  网络安全

第 8 讲 网络安全 28

数字签名 (续 )

假设 Alice 收到了原始报文m, 和数字签名 dB(m)

Alice核对m 报文的签名过程是使用 Bob 的公钥 eB 对数字签名档 dB(m) 进行解密,然后确认是否eB(dB(m) ) = m.

如果 eB(dB(m) ) = m, 那么无论是谁签署了原始报文 m ,必定使用了 Bob 的私钥。

Alice 即可确认 : Bob 签署了原始报文

m. 不会是他人签署的 m. Bob签署的就是 m 而不是 m’.

不可否认 : Alice 可以将原始报文

m, 和数字签名 dB(m) 提交法庭作为 Bob签署了报文m 的证据 .

Page 29: 第 8 讲  网络安全

第 8 讲 网络安全 29

报文摘要 对长报文进行公钥加密计算成本非常昂贵

目的 : 固定长度 , 产生容易计算的数字签名 , “指纹”

应用散列函数 H() 可以对报文m进行处理 , 得到固定长度的报文摘要 , H(m).

理想散列函数的特点 : 多对一 (Many-to-1) 产生固定长度的报文摘要 (指纹 )

假设有一个报文摘要 x, 但是如果想通过计算得到报文 m 的摘要并使 x = H(m) 是不可能的

使用计算方法想找出两个报文m 和 m’ 并使得 H(m) = H(m’)也是不可能的

Page 30: 第 8 讲  网络安全

第 8 讲 网络安全 30

数字签名 = 签过的报文摘要Bob 发送数字签名报文 : Alice 对数字签名报文的签名

和报文完整性进行核对

Page 31: 第 8 讲  网络安全

第 8 讲 网络安全 31

哈希函数算法 因特网校验和可以看成

性能很差的报文摘要 . 要找到两个相同的校验和十分容易 .

MD5散列函数得到了广泛的使用 . 通过 4 个步骤计算 128 位

报文摘要 . 任意的 128 位串 x, 如果

要构造一个报文m 使得其MD5 散列结果等于 x 至少是十分困难的 .

SHA-1 也有应用 . US 标准 160-bit 报文摘要

Page 32: 第 8 讲  网络安全

第 8 讲 网络安全 32

具有公信力的中介( Trusted Intermediaries )问题 :

如何解决两个实体通过网络实现对称密钥的共享 ?

解决办法 : 具有公信力的密钥分发中心( key distribution center (KDC) )来作为诸多实体间的中介

问题 :当 Alice 获取 Bob 的

公钥时 ( 可以从网站、 e-mail, 甚至软盘 ), 如何能够使她相信这就是 Bob 的公钥 , 而不是 Trudy的 ?

解决办法 : 具有公信力的认证机构( certification authority (CA))

Page 33: 第 8 讲  网络安全

第 8 讲 网络安全 33

( Key Distribution Center , KDC) 工作原理

Alice,Bob 需要共享对称密钥 .

KDC: 为每个注册的用户提供不同的密钥服务 .

Alice, Bob 在 KDC注册后,获取了自己的对称密钥 , KA-KDC KB-

KDC . Alice 与 KDC联系 , 取得了会话密钥 R1, and KB-

KDC(A,R1) Alice 给 Bob 发送

KB-KDC(A,R1), Bob 取出 R1 Alice, Bob 现在共享 R1.

Page 34: 第 8 讲  网络安全

第 8 讲 网络安全 34

认证机构( Certification Authorities) 工作原理 认证机构 (CA) 为特定的实体管理公开密钥 .

实体 ( 个人 , 路由器 , etc.) 可以在 CA 注册公开密钥 . 实体提供 “身份证明” 给 CA.

CA 创建信任状将实体与公开密钥进行绑定 .

由 CA 对信任状进行数字签名 .

当 Alice 需要 Bob 的公开密钥时 :

获取 Bob 信任状 ( 从 Bob 或其他什么地方 ).

把 CA提供的公开密钥对 Bob的信任状进行认证和解码 ,从而得到 Bob 的公开密钥

Page 35: 第 8 讲  网络安全

第 8 讲 网络安全 35

Secure e-mail( 保密邮件 )

• 产生一个随机的对称密钥 , KS.• 使用 KS 对报文进行加密• 同时使用 Bob 的公钥对 KS 进行加密 .• 同时将 KS(m) 和 eB(KS) 两项内容发给 Bob.

• Alice 要发送保密邮件报文 , m, 给 Bob.

Page 36: 第 8 讲  网络安全

第 8 讲 网络安全 36

Secure e-mail ( 保密邮件 ) (续)• 如果 Alice 需要提供发送方身份认证和报文完整性 .

• Alice 对报文进行数字签名 .• 并同时发送两个报文 ( 明文和数字签名 ).

Page 37: 第 8 讲  网络安全

第 8 讲 网络安全 37

Secure e-mail ( 保密邮件 ) (续)• 如果 Alice 要提供保密、发送方认证和报文完整性 .

注意 : Alice 即使用了她自己的私钥,也使用了 Bob 的公钥,还有一个对称密钥

Page 38: 第 8 讲  网络安全

第 8 讲 网络安全 38

Pretty good privacy (PGP)

因特网 e-mail 的加密机制 ,一项既成事实的标准( a de-facto standard) .

使用了前述的对称密钥加密术 , 公开密钥加密术 , 哈希函数 , 和数字签名技术

提供了保密、发送方认证和报文完整性

Inventor, Phil Zimmerman, was target of 3-year federal investigation.

---BEGIN PGP SIGNED MESSAGE---Hash: SHA1

Bob:My husband is out of town tonight.Passionately yours, Alice

---BEGIN PGP SIGNATURE---Version: PGP 5.0Charset: noconvyhHJRHhGJGhgg/

12EpJ+lo8gE4vB3mqJhFEvZP9t6n7G6m5Gw2

---END PGP SIGNATURE---

具备 PGP 签署的报文 :

Page 39: 第 8 讲  网络安全

第 8 讲 网络安全 39

安全插口层 (Secure sockets layer,SSL)

PGP 为特定的网络应用项目提供安全性保证 .

SSL 则工作在传输层 . 为任何使用 TCP 传输服务的应用程序或协议提供安全保障 .

SSL: 可以用在 WWW 浏览器 , 服务器之间为电子商务服务 (shttp/https).

SSL 安全服务包括 : 服务器认证 数据加密 客户端认证 ( 可选 )

服务器认证 : SSL 使得浏览器可以使用来自 CA 的公钥 .

浏览器可以请求由 CA 发布的服务器信用状 .

浏览器通过 CA 的公钥来获取信用状上服务器的公钥 .

查看你的浏览器,有关 CA的内容

Page 40: 第 8 讲  网络安全

第 8 讲 网络安全 40

安全插口层 (Secure sockets layer,SSL)(续 )

加密的 SSL 会话 : 浏览器产生对称的会话密钥 , 再使用服务器的公钥加密后 , 将会话密钥发给服务器 .

服务器使用它保存的私钥将会话密钥进行解密 .

浏览器 , 服务器由此将下一步的报文交流的加密密钥取得一致 .

所有送入 TCP插口的数据 (无论是客户端还是服务器 ) 全部使用对称密钥进行加密 .

SSL: 成为 IETF 的传输层安全性 (TLS) 的基石 .

SSL 可以用在非Web 应用程序 , e.g., IMAP.

客户端认证可以通过客户端信用状 ( client certificates) 解决 .

Page 41: 第 8 讲  网络安全

第 8 讲 网络安全 41

SSL 在电子商务应用中的局限性

SSL比较简单而且发展较早 , 应用广泛 SSL 为付帐卡交易提供了一个通用平台 SSL 不是专门为支付卡交易设计的 SSL缺少电子商务协议中要求的许多功能

Page 42: 第 8 讲  网络安全

第 8 讲 网络安全 42

SSL 在电子商务应用中的局限性

再次考虑 Bob 通过 SSL从 Alice 公司购物的过程 Bob从 Alice 接收到的签名证书可以证明确实在与 Alice Co. 进行交易

一般证书不能够表明 Alice Co. 是否被授权接受支付卡交易以及公司是否是可靠 ( 可能产生欺骗 )

客户端身份认证也有类似问题。即使启用 SSL客户端身份认证,也不能够将 Bob 和特定授权的支付卡联系在一起 ( 可能产生信用卡盗用 )

Page 43: 第 8 讲  网络安全

第 8 讲 网络安全 43

安全电子事务 ( Secure electronic transactions ,SET) 协议 为在因特网上使用信用卡业务专门设计 .

在交易的三方间提供安全服务 :客户 商家 商家的结算银行三方都必须具备证书 .

SET 定义了各类证书的法律含义 .划清各方的责任界限

客户的卡号直接送到商家的结算银行,而商家看不到客户的卡号(明文) . 防止了商家的滥用或

泄露客户的卡号 . 三个软件 / 部件 :

浏览器钱包 商家服务器 收单银行的支付网关

(Acquirer gateway)

Page 44: 第 8 讲  网络安全

第 8 讲 网络安全 44

SET 交易过程

假设 Bob想通过因特网和 SET从 Alice Co购物1. Bob向 Alice表明他需要进行信用卡购物2. Alice向 Bob 发送发货清单和惟一的交易

标识符3. Alice向 Bob 发送商业证书和商家公

钥。 Alice还要发她的银行证书和银行的公钥。两个证书都用 CA 的私钥加密

4. Bob用 CA 的公钥对两个证书解密。 Bob现在有了 Alice Co. 和银行的公钥

Page 45: 第 8 讲  网络安全

第 8 讲 网络安全 45

SET 交易过程 (续 )

5. Bob 产生两个信息包:订单信息 (0I) 和购买指令 (PI) , 发送给 Alice Co. OI 是给 Alice Co. 的,其中包含交易标识符和使

用的卡的种类。但并不包括 Bob 的卡号。 PI 是给 Alice 的银行的,包含交易标识符、卡号和 Bob 的购物价值。

OI和 PI 的加密是不同的;OI 是用 Alice 的公钥加密,而 PI 是用 Alice银行的公钥加密 ( 确切地说, OI和 PI 是用客户—商商家的会话密钥和客户 - 银行的会话密钥加密 )

Page 46: 第 8 讲  网络安全

第 8 讲 网络安全 46

SET 交易过程 (续 )

6. Alice 为支付卡支付请求生成授权请求,其中包含交易标识符

7. Alice 将用银行的公钥加密的报文发送给银行 (实际上使用会话密钥 ) 。这个报文包括授权请求、来自Bob的 PI包和 Alice Co. 的证书

8. Alice 的银行接收到报文并且拆解。银行检查其完整性。它也确定在授权请求中的交易标识符和 Bob的 PI包中的相同

9. Alice 的银行通过传统的银行卡通道向 Bob 的支付卡银行发送支付授权请求

Page 47: 第 8 讲  网络安全

第 8 讲 网络安全 47

SET 交易过程 (续 )

10. 一旦 Bob 的银行授权了这笔支付, Alice 的银行向 Alice 发送响应,这个响应包含交易标识符。

11. 如果这笔交易通过了, Alice向 Bob 发送她的响应报文。这个报文是一个收据,通知 Bob支付被接受了 , 商品将要交付。

Page 48: 第 8 讲  网络安全

第 8 讲 网络安全 48

防火墙

两种类型的防火墙 : 分组过滤器 应用网关

为防止“拒绝服务”类攻击 : SYN flooding: 攻击者启动许多虚假的 TCP连接,占据了主机上的TCP缓存资源,从而阻止了主机有效的服务 .

为防止非法修改内部数据 . e.g., 攻击者使用其他网页来替换网站原有的主页

为防止入侵者获取主机上的机密数据 .

将某个组织的内部网络与外部因特网隔离,允许某些分组通过,而阻止另外一部分 .

firewall

Page 49: 第 8 讲  网络安全

第 8 讲 网络安全 49

分组过滤 内部网络通过路由器连

接到因特网 . 路由器厂商提供了分组

过滤的选项,其依据是 : 源 IP 地址 宿 IP 地址 TCP/UDP 源和宿端口

号 ICMP 报文类型 TCP SYN 和 ACK 位

例 1: block incoming and outgoing datagrams with IP protocol field = 17 and with either source or dest port = 23. 所有进出的 UDP 数据流和

telnet 连接都被禁止掉了 . 例 2: Block inbound

TCP segments with ACK=0. 防止外部的客户端直接与内部的客户端进行 TCP连接,允许内部的客户端与外部的进行连接 .

Page 50: 第 8 讲  网络安全

第 8 讲 网络安全 50

应用网关

根据应用数据和 IP/TCP/UDP 的字段过滤分组 .

例如 : 允许选择内部用户使用 telnet访问外部 .

host-to-gatewaytelnet session

gateway-to-remote host telnet session

applicationgateway

router and filter

1. 要求所有的 telnet 用户通过网关进行 telnet 连接 .2. 对通过认证的用户 , 网关为其建立通往目的主机的 telnet 连接 . 网关在两个连接之间中转数据

3. 路由器将阻止所有未经中转的 telnet连接 .

Page 51: 第 8 讲  网络安全

第 8 讲 网络安全 51

防火墙和网关的局限性

IP 欺骗 : 路由器不能辨别数据是否真的来自其自称的信源

如果多种应用需要特别处理,则每一种都需要各自的应用网关 .

客户端软件必须能够同应用网关交互 . e.g., 在浏览器中设置代

理服务器的地址

过滤器经常采用对 UDP的 all or nothing 策略 .

折衷方案 : 与外部网络通信应用的程度 ,设置安全等级

许多高度机密的站点仍然遭受到攻击 .

Page 52: 第 8 讲  网络安全

第 8 讲 网络安全 52

网络安全 (小结 )

基本技术… ... 加密术 ( 对称和公开的 ) 认证 报文完整性…. 使用在许多安全性的场合 保密邮件 安全传输层 (SSL) 安全电子事务协议 防火墙