Chapter 10 网络安全

Post on 14-Mar-2016

86 views 1 download

description

Chapter 10 网络安全. 10.1 概述 10.2 密码学基础知识 10.3 数字签名与认证 1 0.4 网络安全协议 10.5 网络攻击和防范. 10.1 概述. 1. 常见的不安全因素 物理因素:物理设备的不安全,电磁波泄漏等 系统因素:系统软、硬件漏洞,病毒感染,入侵 网络因素:网络协议漏洞,会话劫持、数据篡改,网络拥塞,拒绝服务 管理因素:管理员安全意识淡漠,误操作. 2. 网络的潜在威胁. 非授权访问( unauthorized access): 非授权用户的入侵。 - PowerPoint PPT Presentation

Transcript of Chapter 10 网络安全

1

Chapter 10 网络安全 10.1 概述 10.2 密码学基础知识 10.3 数字签名与认证 10.4 网络安全协议 10.5 网络攻击和防范

2

10.1 概述 1. 常见的不安全因素

物理因素:物理设备的不安全,电磁波泄漏等 系统因素:系统软、硬件漏洞,病毒感染,入侵 网络因素:网络协议漏洞,会话劫持、数据篡改,网络拥塞,拒绝服务 管理因素:管理员安全意识淡漠,误操作

3

2. 网络的潜在威胁 非 授 权 访 问 ( unauthorized

access):非授权用户的入侵。 信 息 泄 露 ( disclosure of

information):造成将有价值的和高度机密的信息暴露给无权访问该信息的人。 拒绝服务( denial of service):使得系统难以或不可能继续执行任务。

4

3. 网络安全服务 鉴别( Authentication) : 提供某个实体的身份保证 机密性( Confidentiality) : 保护信息不被泄露 完整性( Integrity) : 保护信息以防止非法篡改 不可否认性( No-repudiation) : 防止参与通信的一方事后否认

5

4. 安全性、功能性和易用性 真正“安全”的机器是没有联网并且深埋在地下的机器。

安全性

功能性 易用性

6

10.2 密码学基础知识 1. 基本概念

明文( plaintext) :作为加密输入的原始信息 密文( ciphertext): 明文加密后的结果 加密( encryption):是一组含有参数的变换,将明文变为密文的过程 加密算法:对明文进行加密时采用的规则 解密( decryption):由密文恢复出明文的过程 解密算法:对密文进行解密时采用的规则 密钥 (key): 参与变换的参数,分别有加密密钥和解密密钥

加密 解密

加密密钥空间

密码分析

密文C=E(M,K) M=D(C,K)明文

M

K

M’

K秘密通道

解密密钥空间

非法入侵

C’ C

7

2. 柯克霍夫斯原则(Kerchoffs) 密码系统中的算法即使为密码分析员所知,也应该无助于用来推导出明文或者密钥

8

3. 密码算法分类 按发展进程或体制分

古典密码 : 基于字符替换的密码,现在已很少使用了,但是它代表了密码的起源 对称密钥体制( Symmetric System ) : 加密密钥和解密密钥相同,这些算法也叫作单钥密码体制( one-key system) 非对称密钥体制 (Asymmetric System) :加密密钥和解密密钥不同,也叫公钥密码体制( public key system) 或双钥密码体制( two-key system )

按加密模式分 序列密码( stream cipher) : 序列密码按位或字节加密,也可以称为流密码,序列密码是手工和机械密码时代的主流。 分组密码 (block cipher) : 分组密码将明文分成固定长度的块,用同一密钥和算法对每一块加密,输出也是固定长度的密文。

9

4. 经典密码 置换密码

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

hello->mjqqt 转置密码

密钥: MEGABUCK ,按到字母表中起始字母的距离对列进行编号

10

5. 对称加密算法 数据加密标准 (DES:Data

Encryption Standard) 高级加密标准 (AES: Advanced

Encryption Standard) 国际数据加密算法 (IDEA:

International Data Encryption Algorithm)

11

4.DES 算法 背景

1949年, E. C. Shannon 在“秘密系统的通信理论”中指出通信和信息加密的一般特征,以及将信息论用到密码学的基本方法 1974年, IBM的 Tuchman和Meyers 发明 Luciffer 加密算法,该算法是 DES 算法的前身 1975年,美国国家标准局NBS 公布 IBM提供的密码算法,并且以标准建议的形式征求意见 1977年 7 月 15日, NBS 正式颁布DES

DES 是一种对二元数据进行加密的算法,数据分组长度为64 位,密文分组长度也是 64 位,使用的密钥为 64 位,有效密钥长度为 56 位,有 8 位用于奇偶校验,解密时的过程和加密时相似,但密钥的顺序正好相反, DES 的整个体制是公开的,系统的安全性完全靠密钥的保密。

12

乘积密码( product ciper)

乘积密码的基本元素 (a)P盒( P-box) (b) S盒( S-box ) (c) 乘积

P 盒:转置操作 S 盒:置换操作DES 算法由一系列的 P 盒和 S 盒组成,是一种分组乘积密码算法

13

通过初始转置 IP ,将输入的 64 位明文次序打乱 对结果数据和密钥进行相同的迭代操作

16次 左右 32 位交换 通过逆初始转置 IP-1得到 64 位的密文输出

DES 算法过程

14

迭代操作细节( 1 ) 结果数据被分成左半部分和右半部分,每部分 32 位,以 Li-

1和 Ri-1 表示,那么经过一次跌代后,结果为: Li = Ri-1 Ri = Li-1 xor f(Ri-1, Ki)

15

迭代操作细节( 2 ) f(Ri-1, Ki)

根据固定的转置和复制规则,将 32位 Ri-1扩展得到 48位 E(Ri-1)

E(Ri-1) xor Ki = B1B2…B8 每个 6 位的 Bj作为 S 盒 Sj的输入,输出为 4 位 Sj(Bj)

然后通过一个P 盒,得到 P(S1(B1)…S8(B8)) ,即函数 f(Ri-1, Ki) 的输出

16

迭代操作细节( 3 ) Ki迭代过程

密钥 K 为 64 位,其中有 8 位用于奇偶校验,分别位于每个字节的最后一位 去掉密钥 K 的奇偶校验位,得到 56 位的有效密钥,并且执行转置操作 每次跌代前,密钥被分为两个 28 位单元,每个单元向左循环移位,移位的位数取决于当前的跌代号 最后执行另一个 56 位转置即可导出 Ki

17

DES 算法的破解 DES 使用了近 25年时间,它具有很强的抗密码分析能力,但它的有效密钥长度只有 56比特, 56-bit 密钥有 256 =

72,057,584,037,927,936 ≈ 7.2亿亿之多,随着计算机运算能力的增加, 56比特有效长度的密码系统显得不安全了 1997年, RSA 公司发起破译

RC4、 RC5、MD2、MD5 ,以及DES 的活动,破译DES奖励 10000美金

由 Roche Verse牵头的工程小组动用了 70000多台通过因特网连接起来的 计算机系统,花费了 96天找到了密钥。 1998年 7 月,电子前沿基金会花费 25万美圆制造的一台机器在不到 3 天的时间里攻破了 DES 。

美国已决定在 1998年 12月以后不再使用 DES 1999年在超级计算机上只要 22小时 !

18

三重DES 使用三(或两)个不同的密钥对数据分组进行三次(或两次)加密,三重DES 的强度大约和 168-bit( 三个不同密钥 ) /112-bit(两个不同密钥 ) 的密钥强度相当,三重DES 有四种模型:

DES-EEE3 使用三个不同密钥顺序进行三次加密变换 DES-EDE3 使用三个不同密钥依次进行加密 -解密 -加密变换 DES-EEE2 其中密钥 K1=K3 顺序进行三次加密变换 DES-EDE2 其中密钥 K1=K3 依次进行加密 -解密 -加密变换

E E EP CK1

K2

K3 E D EP C

K1

K2

K3

19

5. 公钥密码体制 对称密钥体制问题:

密钥管理量大,两两分别用一对密钥,当用户量增大时,密钥空间急剧增大。 对称算法无法实现抗否认需求

非对称密钥体制 /公钥密码体制的基本原则 加密能力与解密能力是分开的 密钥分发简单 需要保存的密钥量大大减少 可满足不相识的人之间保密通信 可以实现数字签名—抗否认 加密速度慢,常用于数字签名或加密对称密钥

20

两种密码系统的比较发送 接收

密钥空间

密文C=E(M,K) M=D(C,K)明文

M

KK秘密通道

发送 接收

公钥空间

密文C=E(M,K1) M=D(C,K2)明文

M

K1 K2

私钥空间

传统密码系统

公钥密码系统

21

公钥密码体制基本思想 公钥密码体制又称为双钥密码体制或者非对称密钥体制是 1976年由 Diffie和Hellman在其“密码学新方向”一文中提出的。 公钥密码体制是基于单向陷门函数的概念。单向函数是一些易于计算但难于求逆的函数,而单向陷门函数就是在已知一些额外信息的情况下易于求逆的单向函数,这些额外信息就是所谓的陷门。

22

单向陷门函数 (1) 给定 x , 计算 y=f(x) 是容易的 (2) 给定 y ,计算 x ,使 y=f(x) 是困难的 (3)存在 δ ,已知 δ 时,对给定的任何y , 若相应的 x 存在,则计算 x 使

y=f(x) 是容易的

23

RSA 密码体制基本原理 RSA是MIT的 Rivest, Shamir 和 Adlemar开发的第一个公钥密码体制。 A. 密钥的生成

选择 p ,q , p ,q 为互异素数,计算 n=p*q, φ(n)=(p-1)(q-1), 选择整数 e 与φ(n)互素,即gcd(φ(n),e)=1,1<e<φ (n),计算 d,使 d=e-1(modφ (n))), 公钥 Pk={e,n};私钥 Sk={d,n}

B. 加密 ( 用 e,n) , 明文是以分组方式加密的,每一个分组的比特数应小于 n 的二进制表示,即每一个分组的长度应小于 log2n 明文 M<n , 密文 C=Me(mod n).

C. 解密 ( 用 d,n) 密文 C , 明文 M=Cd (mod n)

24

例: p = 5 , q = 7, n =pq=35, φ(n)=4x6=24选 e= 11 ,则 d = 11,m = 2

C = me mod n = 211 mod 35 = 18M = Cd mod n = 1811 mod 35 = 2

例: p = 53, q = 61, n = pq = 3233 ,φ(n)= 52x60 = 3120令 e = 71 ,则 d = 791令m = RE NA IS SA NC即m = 1704 1300 0818 1800 1302170471 mod 3233 = 3106,…,C = 3106 0100 0931 2691 1984

RSA 算法实例

25

RSA 的安全分析 选取的素数 p,q要足够大,使得给定了它们的乘积n ,在不知道 p,q情况下分解 n在计算上是不可行的。 1999年,一个 292台计算机组成的网络花了 5.2个月时间分解了一个 155 位的十进制数( 512比特)。基于短期安全性考虑,要求n 的长度至少应为 1024比特,而长期安全性则需n 至少为 2048比特。

26

其它公钥密码算法 ElGamal 密码

1985年 ElGamal 设计的密码算法,该算法是基于有限域上离散对数问题求解的困难性。 椭圆曲线密码

1985年N. Koblitz和 V. Miller 分别独立提出了椭圆曲线密码体制 (ECC) ,其依据就是定义在椭圆曲线点群上的离散对数问题的难解性。

27

10.3 数字签名与认证 数字签名,实现消息的不可否认性

接收方可以验证发送方所宣称的身份 发送方以后不能否认发送该消息的内容 接收方不可能自己编造这样的消息

认证 保证消息的完整性,发送方发送的消息如果被恶意篡改,接收方能够知道 恶意用户无法向网络中发送伪造消息需要注意的是这里的认证是指认证的算法,而不是认证协议,在认证协议中使用了这些认证算法

28

1. 数字签名 公钥密码体制的一个重要应用就是数字签名,数字签名就是利用私钥生成签名,而用公钥验证签名。

由于无法识别数字签名与其拷贝之间的差异,所以,在数字签名前应加上时间戳。 数字签名标准( DSS )

DSA (数字签名算法,是 ElGamal 公钥算法的一种变体)

Bob 的私钥 DB

Alice 的公钥 EA

Alice 的私钥 DA

Bob 的公钥 EB

M M

Alice 的主机 Bob 的主机传输线

DA(M) EB(DA(M)) DA(M)

29

2. 单向散列函数 单向散列函数( hash ,杂凑函数)可以从一段很长的消息中计算出一个固定长度的比特串,该比特串通常称为消息摘要( MD:Message Digest) 单向散列函数有以下特性:

给定 M ,易于计算出 消息摘要MD(M ) 只给出 MD(M ),几乎无法找出 M 无法生成两条具有同样相同摘要的消息

常用单向散列函数 MD5 :消息任意长度,消息摘要 128比特 SHA-1 :消息任意长度,消息摘要 160比特

30

单向散列函数举例 MD5:Message Digest 5 计算过程:消息填充为 512比特长度的整数倍

变换变换

变换

512比特 512比特 512比特。。。初始向量(摘要)

IV

31

认证算法 MD5、 SHA-1 等单向散列函数无法用于消息认证,因为任何人都可以根据消息计算消息摘要 HMAC :带密钥的单向散列函数

通信双方共享一个密钥 计算结果为消息认证码( MAC:Message

Authentication Code ),可用于消息认证 可以使用任何单向散列函数

32

HMAC 计算过程K+ ipad

XOR

Si Y0 YL-1…b bits b bits

单向散列函数初始化向量 ( 摘要 )

n bits

n bits

填充到b bits

单向散列函数初始化向量 ( 摘要 )

n bits

n bits

opad

K+

XOR

S0

HMACK(M)

b: 单向散列函数操作块长度L: 消息M 的块数K+: 密钥 K 填充到 b bitsipad: 重复 00110110到 b bitsopad:重复 01011010到 b bits

33

使用单向散列函数的 RSA 签名单向散列函数单向散列函数 Alice 的私钥 DA

M

Alice 的主机 Bob 的主机传输线

MD(M) <M, DA(MD(M))>

Alice 的公钥 EA

比较DA(MD(M))

M

不需要对增条消息进行加密 ,只是对消息的摘要进行加密

34

10.4 网络安全协议 链路层:链路隧道协议 PPTP/L2TP

PPTP: Point to Point Tunneling Protocol L2TP: Layer2 Tunneling Protocol

网络层: IPsec 系列协议 IPsec: IP security

传输层: SSL/TLS 协议 SSL: Secure Socket Layer TLS: Transport Layer Security

应用层: SHTTP、 S/MIME SHTTP: Secure HTTP S/MIME: Secure MlME

HTTPS与 SHTTP 是不同的 :HTTPS是HTTP over TLS, 它依赖于 TLS 来提供安全的传输服务 , HTTP 本身没有变化,而 SHTTP 则是一个应用层安全协议 ,在HTTP 的基础增加了安全性

35

Application

Transport

Network

Datalink

Physical

Application

Transport

Network

Datalink

Physical

SSH/S/MIME

TLS/SSL

IPSec

PPTP/L2TP

PHYSICAL NETWORKEncryptingNIC

EncryptingNIC

网络安全协议层次

IPsec

36

IPsec IPsec 系列协议主要在 RFC 4301~RFC

4309 中描述 IPsec 组成

安全服务协议 认证头标 AH(Authentication Header) 封装安全净荷 ESP(Encapsulating Security

Palyload) 密钥协商和管理

Internet 安全关联和密钥管理协议 ISAKMP(Internet Security Association and Key Management Protocol)

SA: 安全关联

37

安全关联 SA(Security Assocation) 一组用来加密特定数据流的算法和参数 ( 例如密钥 ) ,为了实现两个主机之间的安全通信,对于每个方向上数据流都有一个 SA SA保含了执行 AH和 ESP 的安全服务所需要的算法、密钥等信息,每个分组根据安全参数索引 SPI(Security Parameters

Index) 和目的 IP 地址来查找相应的 SA ISAKMP 定义建立、协商、修改和删除 SA的过程和分组格式,它建议使用

IKE(Internet Key Exchange) 协议来实现通信主机之间的密钥交换

38

AH 协议 保证消息完整性,抗重播攻击,但不提供机密性保护

IP头标 AH头标 TCP/UDP头标 净荷(用户数据)

认证范围(IP头标中可变域除外)

下一个头标(8) 净荷长度(8) 保留(16)SPI[安全参数索引(32比特)]

序列号

认证数据[长度可变(32比特的整数倍)]

(传输模式)

安全参数索引 SPI( Security Parameters Index ):此 32比特域被用来指定此分组的 SA 。将目的 IP 地址和 SPI 组合即确定该分组所对应的 SA序列号:单调增加的计数器,每个分组都有不同的序列号,包括重传分组,抗重播攻击认证数据:整个分组执行 HMAC运算后的消息认证码,所使用的散列算法和密钥由 SA指定

39

SPI[安全参数索引(32比特)]

序列号(32比特)

认证范围

加密范围

IP头标 ESP头标 TCP/UDP头标 净荷(用户数据) ESP尾标 ESP

(认证数据)

净荷数据(变长)

填充(0~255字节)

认证数据(变长)

~~填充长度(8比特) 下一个头标(8比特)

ESP净荷

ESP 协议 除了保证消息完整性,抗重播攻击,还保证消息的机密性,机密性可以采用 3DES 等对称加密算法来实现

与 AH 不同,认证范围不包括 IP头标!

40

IPsec 工作模式 传输模式: IPsec头标直接插在 IP头标后面,保护某个 IP净荷的上层协议 隧道模式 :在两个安全网关之间保护整个 IP 分组

IPv4分组

原IP头标

<原IPv4分组>

TCP头标 数据

传输模式

原IP头标 AH头标①加上AH头标后的IPv4分组

②加上ESP后的IPv4分组

TCP头标 数据

认证范围(IP头标中可变域除外)

原IP头标 ESP头标 TCP头标 数据

加密范围认证范围

ESP尾标 ESP认证数据ESP净荷

隧道模式

新IP头标 AH头标①加上AH头标后的IPv4分组

②加上ESP后的IPv4分组认证范围(新IP头标中可变域除外)

新IP头标 ESP头标加密范围认证范围

ESP净荷

原IP头标 TCP头标 数据

原IP头标 TCP头标 数据 ESP尾标 ESP认证数据

41

A B

主机 主机

数据 A B

InternetIP分组的头标(源地址A目的地址B)

A B 数据

IP分组

加密后的数据

(1)传输模式

A

主机

数据 A B

A B 数据

IP分组

LAN系统①

网关x

(SPD)

B

主机

数据 A B

A B 数据

LAN系统②

网关Y

(SPD)

X Y

X Y

A B数据

数据BA

隧道加密后的数据原IP分组头标网关间用的新IP头标

(2)隧道模式

Internet

42

10.5 网络攻击和防范 网络攻击

端口扫描技术 (Port Scanning) 拒绝服务攻击 DoS(Deny of Service)

TCP SYN Flood 防范技术

防火墙 (Firewall)

43

端口扫描原理: TCP connect扫描攻击者 目标机开放端口 攻击者 目标机关闭端口

目标机下一端口 目标机下一端口

SYNSYN/ACKACK

SYN

SYN

SYN

RST/ACK

RST/ACK

防范 通过日志文件分析异常连接 禁止外部发起到网络内部的连接

44

端口扫描原理: TCP SYN扫描攻击者 目标机开放端口 攻击者 目标机关闭端口

目标机下一端口 目标机下一端口

SYNSYN/ACKRST

SYN

SYN

SYN

RST/ACK

防范 禁止外部发起到网络内部的连接

45

端口扫描原理: TCP FIN扫描攻击者 目标机开放端口 攻击者 目标机关闭端口

目标机下一端口 目标机下一端口

FI N

FI N

FI N

FI N

延时等待

RST/ACKFI N

防范 无论端口开放与否,对于无效的 FIN都响应 RST

46

拒绝服务攻击 DoS DoS 定义

过量使用资源而致使其他合法用户无法访问 DoS 类型

发送少量的分组使一个系统或网络瘫痪,修复需要人工干预,一般针对系统或者协议漏洞 发送大量的分组使一个系统或网络无法响应正常的请求,恢复系统可能不需要人工干预

特点 简单有效,难以防范

47

原理: TCP连接的三次握手和半开连接

DoS实例: TCP SYN Flood

客户端 服务器端 客户端 服务器端正常过程 半开连接

SYN

SYN/ACK

ACK

SYN

SYN/ACK

SYN/ACK

SYN Timeout

48

攻击者:发送大量伪造的用于 TCP连接请求的 SYN数据段,源 IP 地址常常是伪造的 目标机:存在大量的半开连接,耗尽系统资源而无法处理正常连接建立请求

TCP SYN Flood 攻击过程

49

TCP SYN Flood 防御 缩短 SYN Timeout 时间 ,例如设置为 20秒以下 限制在给定的时间内 TCP半开连接的数量 SYN Proxy

原理:客户只有在和服务器前端的防火墙完成三步握手连接建立以后,才能与服务器建立连接1 )防火墙拦截客户端发往服务器的 SYN 数据段,并且回应 SYN/ACK2 )如果收到客户端发送的 ACK ,则构造 SYN 发往服务器,建立真正的 TCP连接 本质上是由防火墙来承担 SYN Flood 攻击

SYN Cookie 原理:客户只有在完成三步握手连接建立以后,在服务器端才分配资源1 )收到 SYN 后,服务器端把对客户端的 IP 和端口号、服务器的 IP 和端口号等信息进行散列运算得到的 cookie 作为 SYN/ACK 的序列号,并且不分配任何资源2 )如果收到来自客户端的 ACK ,则采用和步骤 1 相同的方法计算 cookie ,以验

证 ACK 中的序列号是否正确,如果正确,则建立 TCP连接 服务器需要计算 cookie ,消耗资源目前对于 TCP SYN Flood 攻击还没有行之有效的解决方案,只能缓解,不能从根本上消除

50

DMZ

Firewall

Internet

Intranet

Attacks

防范技术 防火墙是最常用的抵挡各种网络攻击的防范技术

DMZ :停火区,一般放置Internet上主机能够访问的 web服务器、 FTP 服务器等Intranet :受保护的内部网络,禁止 Internet上的主机直接访问

51

防火墙定义 防火墙是在两个网络(内部和外部)之间强制实行访问控制策略的一个系统或者一组系统 防火墙由多个部件组成,并具有以下特性:

所有的从内部到外部或者从外部到内部的通信都必须经过它 只有内部访问策略授权的通信才允许通过 系统本身具有高可靠性

52

防火墙功能 过滤不安全的服务和禁止非法访问 控制对特殊站点的访问,可以允许受保护网络的一部分主机被外部访问,而其它部分则禁止 提供访问记录和审计等功能

53

防火墙分类 分组过滤防火墙

仅根据分组中的信息(地址、端口号、协议)执行相应的过滤规则,每个分组的处理都是独立的 状态检测防火墙

不仅根据分组中的信息,而且还根据记录的连接状态、分组传出请求等来进行过滤 TCP :为建立连接的 SYN 分组建立状态,只允许对该 SYN的应答分组进入。连接建立后,允许该连接的分组进入。 UDP :具有相同的地址和端口号的分组可以等效为一个连接

代理型防火墙 通过对网络服务的代理,检查进出网络的各种服务

54

小结 了解常用安全算法的原理,例如

DES、 RSA、MD5 等 数字签名和认证 IPsec 系列协议,主要是 AH和 ESP。

IPsec中 SA 的概念 端口扫描原理、 TCP SYN Flood 攻击与防御