第 4 章 数据认证 part ii

29
计计计计计计计计计计计计计 2计. 计计 , 计计计计计计计 , 2011 计 . 1 第4第 第第第第 Part II

Upload: deanna-forbes

Post on 31-Dec-2015

94 views

Category:

Documents


5 download

DESCRIPTION

第 4 章 数据认证 Part II. 第 4 章 内容概要. 4.1 密码散列函数 4.2 密码校验和 4.3 HMAC 4.4 密码本偏移操作模式 4.5 生日攻击 4.6 数字签名标准 4.7 双签名与电子交易 4.8 盲签名与电子现金. 生日攻击基础. 在一个 23 个人的集体中 , 至少两个人具有同一天生日的概率大于 1/2. 证明 . 23 个人的生日互不相同的概率为 :. 因此 , 1 – 0.493 > ½. 强无碰撞性的复杂性上界. 抗强无碰撞性的复杂性上界 - PowerPoint PPT Presentation

TRANSCRIPT

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 1

第 4 章 数据认证Part II

2

第 4 章 内容概要 4.1 密码散列函数 4.2 密码校验和 4.3 HMAC 4.4 密码本偏移操作模式 4.5 生日攻击 4.6 数字签名标准 4.7 双签名与电子交易 4.8 盲签名与电子现金

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 3

在一个 23 个人的集体中 , 至少两个人具有同一天生日的概率大于 1/2.

证明 . 23 个人的生日互不相同的概率为 :

生日攻击基础

因此 , 1 – 0.493 > ½.

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 4

强无碰撞性的复杂性上界

抗强无碰撞性的复杂性上界 设 H 是一个输出长度为 l 的密码散列函数,则 H 至多有 n = 2l 个不同

的输出值 问题 : 2l 是抗强无碰撞性的复杂性上界吗 ?

答案是否定的,我们可以用生日攻击将复杂性降低为 2l/2 ,成功概率在50% 以上

生日悖论 :

一个篮子里装了 n 个不同颜色的球,均匀地、独立随机地从篮子里取 k (k<n) 个球(一次取一个,记录颜色后放回),如果

则一个球被取了两次的概率不小于 1/2.

SHA-1 的复杂性上界 : 2160/2 = 280 ; SHA-512: 2512/2 = 2256

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 5

集合相交攻击 独立随机地从 {1,2,…,n} 中选取两个各包含 k 个整数的集合,其中 k <

n 这两个集合有交集的概率 Q(n,k) 是多少?

这两个集合不相交的概率为

因此 ,

如果 , 则

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 6

rAUK

DHC )(

集合相交攻击的例子 集合相交攻击是生日攻击的一种形式 例如 : Malice 可以先用一个合法文档 D 得到认证者

AU 的签名

然后, Malice 产生一个新的文档 F , 其与 D 的内容不同,但是有 H(F)=H(D)

Malice 用 (F,C) 表示文件 F 是由 AU 签署的

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 7

}|)({)(

}|)({)(

22

11

SXXHSH

SXXHSH

2/1Pr , 21 >SF',SD'|)H(F'=)H(D' 因此

Malice 首先准备一个文档集合 S1 ,其包含 2l/2 个不同的文档,这些文档均与文档 D 具有相同的意思 . 这些文档可以用下面方法得到:a) 替换一个单词或句子b) 重新整理、调整句子的描述c) 使用不同的标点符号d) 重新组织文档的结构e) 改变语气,比如把被动语句改为主动语句

Malice 准备另一个文档集合 S2 ,其包含 2l/2 个不同的文档,这些文档均与文档 F 具有相同的意思 , 并计算

如何找到文档 F?

8

第 4 章 内容概要 4.1 密码散列函数 4.2 密码校验和 4.3 HMAC 4.4 密码本偏移操作模式 4.5 生日攻击 4.6 数字签名标准 4.7 双签名与电子交易 4.8 盲签名与电子现金

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 9

对消息 M 的数字签名 :

公钥密码系统产生数字签名的最有效的机制RSA ( 直到 2000 年前专利保护 )

数字签名标准 -DSS1991 年颁布2000 年以后, RSA 和 ECC 被制定为数字签名标准只生成数字签名 , 不加密数据

)))((,( MHEM rAK

数字签名标准 (DSS)

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 10

DSS 的构造

H: SHA-1 (160 bit)L: 512 < L < 1024

参数 :P: 大素数 ; 2L–1 < p < 2L

q: p – 1 的素因子 ; 2159 < q < 2160

g: g = h(p–1)/q mod p; 1 < h < p – 1, g > 1

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 11

DSS 签名Alice 要对消息 M 进行签名随机选取一个私钥 , 0 < x

A < q

计算公钥 : yA = gxA mod p

随机选取一个整数 : 0 < kA < q

rA = (gkA mod p) mod q

kA

–1 = kA

q–2 mod q

sA = k

A–1(H(M)+x

Ar

A) mod q

M 的数字签名为 : (rA, sA)

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 12

DSS 验证签名

Bob 得到签名值 (M', (rA', S

A') ) 和公钥证书

CA[yA]

解析公钥证书 CA[yA] ,得到 Alice 的公钥 yA

验证签名 :

w = (SA')–1 mod q = (S

A')q–1 mod q

u1 = (H(M') w) mod q

u2 = (rA' w) mod q

v = [(gu1yA

u2) mod p] mod q

如果 v = rA' ,则签名验证通过

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 13

DSS 的安全强度

基于 SHA-1 的安全强度和求解离散对数的困难性 攻破 SHA-1 散列函数的强无碰撞性的已经由 280

降低到 263

攻破无碰撞性更困难 离散对数的难解性表明 , 从 rA 和 sA 计算出 kA 或

xA 是困难的

14

第 4 章 内容概要 4.1 密码散列函数 4.2 密码校验和 4.3 HMAC 4.4 密码本偏移操作模式 4.5 生日攻击 4.6 数字签名标准 4.7 双签名与电子交易 4.8 盲签名与电子现金

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 15

双签名与电子交易

Alice( 客户 )

Bob( 商家 )

Charlie( 银行 )

Alice 想让 bob 执行一个购物订单 ( I1 )

Bob 等待来自银行Charlie 的支付确认信息

Alice 必须发送付款信息给银行Charlie ( I2 )

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 16

双签名

我们不想让 Bob 看到 I2 ,不想让 Charlie 看到I1

在 Bob 得到 I1 之前, Charlie 不能发送 I2 给Bob

I1 和 I2 必须是绑定的,以防止付款与订单不一致

所有的消息必须被认证和加密,即没有有用的消息被泄露、修改或伪造

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 17

双签名一种用于电子交易的交互式认证协议提供安全和隐私性保护在 SET协议 (Secure Electronic Transactions) 中使用 ,

此协议是由 Visa 和 MasterCard 在 1996 年设计的,但是没有在实际中推广

需要 Alice, Bob 和 Charlie 协商确定使用的散列函数 H 和公钥加密算

法 E

Alice, Bob 和 Charlie 必须各自有一对 RSA 密钥对 : (KAu, KA

r), (KB

u, KBr), (KC

u, KCr)

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 18

SET 协议 : 客户 Alice

计算下面的值 :

发送 (sB, s

C, ds) 给 Bob

等待 Bob 的收据 RB =

用 KAr 解密 RB ,得到 ;用 KB

u 验证 Bob 的签名

))||((

),(),(

),(),( 21

CBK

CCBB

KCKB

hhHDds

sHhsHh

IEsIEs

rA

uC

uB

))(( BKKRDE r

BuA

)( BKRD r

B

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 19

SET 协议 : 商家 Bob

验证 Alice 的签名:

比较 与 解密 发送 (s

B, s

C, ds) 给 Charlie

等待 Charlie 的收据 RC =

用 KBr 解密 RC 得到 ,用 KC

u 验证Charlie 的签名

发送签名的收据 RB = 给 Alice

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 20

SET 协议 : 银行 Charlie

验证 Alice 的签名:

比较 和

解密

如果 I2 包含了有效的付款信息,则执行正确的付

款交易操作,并发送收据 RC = 给Bob

21

第 4 章 内容概要 4.1 密码散列函数 4.2 密码校验和 4.3 HMAC 4.4 密码本偏移操作模式 4.5 生日攻击 4.6 数字签名标准 4.7 双签名与电子交易 4.8 盲签名与电子现金

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 22

盲签名

让签名者进行签名,但不向签名者泄露所签文件的内容

需要签名的文档与一个掩盖因子绑定,以防止签名者看到文档的信息,但是掩盖因子可以在以后被去掉

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 23

RSA 盲签名

随机产生 r < n (掩盖因子 ) ,满足 gcd(r, n) = 1

令 Mr = M re mod n

签名者对消息 Mr 进行签名,得到 s

r = M

rd mod n

可以通过以下方法去除掩盖因子 r :

sM = (s

r r–1) mod n

= Md mod n

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 24

证明:掩盖因子被去除:

sM = (s

r r–1) mod n

= (Md red r–1) mod n 因为

ed ≡ 1 mod ф(n))red ≡ r mod n (Fermat’s little theorem)

所以s

M = Md mod n

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 25

电子现金

真正的现金具有以下特性 :匿名性转让性可分割性很难伪造

电子现金能具备这些特性吗 ?

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 26

一个理想的电子现金协议应具有以下性质 :匿名性和不可追踪性安全性 : 不能被修改或伪造便捷性 : 允许离线交易单一性 : 不能被复制或重用转让性 : 可以转让可分割性 : 可以被分割成小的数值 .

尚没有满足以上所有性质的电子现金协议

理想的电子现金协议

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 27

电子现金 -eCash

1980 年代提出满足电子现金的很多重要性质使用盲签名来保证匿名性和不可追踪性设 B 表示金融机构设 B的 RSA 参数为 (n, d, e)

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 28

购买电子现金

Alice 进行下面的操作 : 生成一个序列号 m 来代表要购买的电子现金产生一个随机数 r < n (掩盖因子 ) ,并计算 x = mre

mod n发送 x 和她的账户号给银行 B银行 B 从 Alice 的账户支取 $1 ,并发送 y = xd mod

n 给 AliceAlice 计算 z ≡ y r-1 ≡ md mod nAlice 得到电子现金 (m, z)

《计算机网络安全的理论与实践(第 2 版)》 . 【美】王杰 , 高等教育出版社 , 2011 年 . 29

兑换电子现金

Bob 从 Alice收到了电子现金 , 并想进行兑换他发送 (m, z) 和账户号给银行 B.如果签名是有效的,而且序列号为 m 的电子现金没有

被兑现过 , 则银行记录下序列号 m ,并支付 $1 给Bob 的账户

问题 : 既然复制 (m, z) 是容易的 , Bob 如何能够防止别人在他之前兑换电子现金呢 ?