- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- <iframe src="https://www.slidestalk.com/u181/computer_system_information_security05?embed" frame border="0" width="640" height="360" scrolling="no" allowfullscreen="true">复制
- 微信扫一扫分享
计算机系统信息安全:密码协议
展开查看详情
1 .第6章 密码协议 南京大学计算机系黄皓教授 2011年11月7日
2 . 参考文献 [1] Wenbo Mao著, 现代密码学理论与实践,电子工业出版社, 2004年7月。 [2] Bruce Chneier, 应用密码学,机械工业出版社,2000年1月。 [3] Douglas R. Stinson, Cryptography: Theory and Practice, CRC Press LLC, 2002. (冯登国译,密码学原理与实践, 电 子工业出版社,2003年2月。) 2011/12/5 南京大学计算机系讲义 2
3 . 内容 1. 密码协议的基本概念 2. 一个鉴别与密钥交换的一个研究过程 3. 认证协议 4. 秘密分割/秘密共享 5. 盲签名 6. 一次签名 7. 不可抵赖签名 8. 同时签约 2011/12/5 南京大学计算机系讲义 3
4 .1. 密码协议的基本概念
5 . 1. 密码协议的基本概念—协议 协议是一系列步骤 它包括两方或多方 设计它的目的是要完成一项任务 2011/12/5 南京大学计算机系讲义 5
6 . 1. 密码协议的基本概念 密码协议的基本概念—协议特点 协议中的每人都必须了解协议,并且预先知道所要完成 的所有步骤。 协议中的每人都必须同意遵循它。 协议必须是不模糊的,每一步必须明确定意义,并且不 会引起误解。 协议必须是完整的,对每种可能的情况必须规定具体的 动作。 2011/12/5 南京大学计算机系讲义 6
7 .1. 密码协议的基本概念 密码协议的基本概念—协议特点 密码协议是使用密码技术的协议。 参与该协议的伙伴 可能是朋友和完全信任的人, 可能是竞争对手和互相不完全信任的人。 密码协议包含某种密码算法。 在协议中使用密码的目的是防止或发现偷听者、欺骗、 抵赖等等。 不可能知道得比协议中规定的更多。 2011/12/5 南京大学计算机系讲义 7
8 .1. 密码协议的基本概念 密码协议概述—协议的目的 计算一个数值想共享它们的秘密部分 共同产生随机系列 确定互相的身份 同时签署合同 证明一个事实 …………….. 2011/12/5 南京大学计算机系讲义 8
9 .1. 密码协议的基本概念 密码协议概述—仲裁协议 仲裁者是在完成协议过程中值得信任的第三方; 仲裁者在协议中没有既得利益、与参与协议的任何人 没有利害关系; 协议中的所有的人都接受这一事实 仲裁者能帮助互不信任的双方完成协议 2011/12/5 南京大学计算机系讲义 9
10 .1. 密码协议的基本概念 密码协议概述—裁决协议 裁决协议可以分成两个子协议 非仲裁子协议:每次执行; 仲裁子协议:出现争议时执行; 非仲裁子协议 裁决子协议 I. Alice和Bob谈判合同的条款。 I. Alice和Bob出现在法官面前。 II. Alice签署合同。 II. Alice提出她的证据。 III. Bob签署合同。 III. Bob也提出他的证据。 IV. 法官根据证据裁决。 2011/12/5 南京大学计算机系讲义 10
11 .1. 密码协议的基本概念 密码协议概述—对协议的攻击 被动攻击 (passive attack) 窃听协议的部分和全部 主动攻击(active attack) 引入新的消息、删除原有的消息、重放消息 被动骗子(passive cheater) 遵守协议,但试图获得协议外的消息 主动骗子(active cheater) 破坏协议 协议对被动欺骗来说应该是安全的 合法用户可以发觉是否有主动欺骗 2011/12/5 南京大学计算机系讲义 11
12 .2. 一个鉴别与密钥交换的一个研究过程
13 .2. 一个鉴别与密钥交换的一个研究过程 符号约定 A:Alice,B:Bob,T:Trent KAT:Alice与Trent的共享密钥; KBT:Bob与Trent的共享密钥; { M } K:用密钥k加密消息M。 Ek(M), Dk(M), E(k, M), D(k, M) KU, KR, KU,Alice, KU,Bob,KR,Alice, KR,Bob [ M ] K = M || HMAC( K, M) 2011/12/5 南京大学计算机系讲义 13
14 .2. 一个鉴别与密钥交换的一个研究过程 协议1 Alice Trent Bob 1. Alice, Bob 2. { K }KAT { K }KBT 3. Trent,Alice, { K }KBT 4. { 你好Alice,我是Bob }K 2011/12/5 南京大学计算机系讲义 14
15 .2. 一个鉴别与密钥交换的一个研究过程 攻击1 — 对协议1的一个攻击 Alice Malice Trent Bob 1. Alice, Bob 2. Alice, Malice 3. { K }KAT { K }KMT •Trent 目的是转交Malice •Alice理解是转交Bob •语义被修改却未被发现 4. Trent,Alice,{ K }KMT 5.{ 你好Alice,我是Bob }K 这只有在Malice是Trent的合法用户时才才成立 内部用户更危险。 2011/12/5 南京大学计算机系讲义 15
16 .2. 一个鉴别与密钥交换的一个研究过程 协议2 — 对协议1的一个修改 Alice Trent Bob 1. Alice, {Bob}KAT 2. { K }KAT { K }KBT 3. Trent,Alice, { K }KBT 4. { 你好Alice,我是Bob }KBT 2011/12/5 南京大学计算机系讲义 16
17 .2. 一个鉴别与密钥交换的一个研究过程 Alice Malice Trent Bob 没有Alice 1. Alice,{Bob}KAT 的密钥。 ? 2. Alice, {Malice}KAT 2. Alice, {Malice}KMT Trent用KAT来解密, 得到是乱码,不是一 个接受者的名字, Trent就会发现问题。 Malice遇到了困难? 2011/12/5 南京大学计算机系讲义 17
18 .2. 一个鉴别与密钥交换的一个研究过程 攻击2 — 对协议2 的一个攻击 Alice Malice Trent Bob 1. Alice,{Malice}KAT 2. { K }KAT { K }KMT 1. Alice,{Bob}KAT 1’. Alice, {Malice}KAT 2. { K }KAT { K }KMT 3. Trent,Alice,{ K }KMT Malice提取从前Alice与 Malice通信的数据 4.{ 你好Alice,我是Bob }K Alice希望与Bob建立共享会话密钥 Alice实际上与Malice建立共享会话密钥 2011/12/5 南京大学计算机系讲义 18
19 . 2. 一个鉴别与密钥交换的一个研究过程 攻击3 — 对协议2的又一个攻击 Alice Malice Trent Bob 1. Alice,{Bob}KAT 2. { K }KAT { K }KBT X 3. { K’ }KAT { K }KBT 消息{ K’ }KAT 是从前Alice与Malice 通信时Trent发送的,现在Malice重 4. Trent,Alice,{ K }KBT 新发送该消息。 Malice改变协议中某些消息而不被 5.{ 你好Alie,我是Bob }K’ 发现是可能的。 消息可能被重新播放 2011/12/5 南京大学计算机系讲义 19
20 .2. 一个鉴别与密钥交换的一个研究过程 协议3 —对协议2的一个修改 Alice Trent Bob 1. Alice, {Bob}KAT 2. { Bob, K }KAT { Alice, K }KBT 3. Trent,Alice, { K }KBT 4. { 你好Alice,我是Bob }K 2011/12/5 南京大学计算机系讲义 20
21 .2. 一个鉴别与密钥交换的一个研究过程 攻击4— 对协议3 的一个攻击 Alice Trent Bob 1. Alice, {Bob}KAT K'是从前Alice与Bob通信 时Malice记录下来的。 2. { Bob, K' }KAT { Alice, K' }KBT 3. Trent,Alice, { K' }KBT 4. { 你好Alice,我是Bob } K' Malice使得Alice与Bob之间用旧的会话密钥通信 这个密钥也许Malice通过其他方式获得了。 2011/12/5 南京大学计算机系讲义 21
22 .2. 一个鉴别与密钥交换的一个研究过程 密码协议的关键问题 修改消息:消息没有鉴别, 攻击1:修改消息的内容。 消息重放:消息不是新鲜的, 攻击2,重放实体名称消息 攻击3,重放密钥消息 攻击4,重放破解的密钥消息 2011/12/5 南京大学计算机系讲义 22
23 .3. 认证协议
24 .3. 认证协议 3.1 消息的新鲜性和实体的活现性 Needham-Schroeder 对称密钥认证协议 Alice Trent Bob 1. Alice, Bob, NA 2. { Bob, K, NA ,{ Alice, K }KBT } KAT 3. Trent, {Alice, K }KBT 4. { 你好Alice,我是Bob!NB }K 5. { 你好Bob,我是Alice! NB-1}K R.M. Needham and M.D. Schroeder, using encryption for authentication in large networks of computers, communications of the ACM, 21(12): 993-999, 1978. 2011/12/5 南京大学计算机系讲义 24
25 .3. 认证协议 3.1 消息的新鲜性和实体的活现性 对Needham-Schroeder 对称密钥认证协议的攻击 Alice Trent Bob 1. Alice, Bob,NA 2. { Bob, K, NA ,{ Alice, K }KBT } KAT 3. Trent, {Alice, K }KBT X Malice 消息重放 3. Trent, {Alice, K’ }KBT 4. { 你好Alice,我是Bob!NB }K’ 5. { 你好Bob,我是Alice! NB-1}K’ Bob 与Alice的会话没有考虑到消息的重放。 2011/12/5 南京大学计算机系讲义 25
26 .3. 认证协议 Denning & Sacco的建议— 时间戳 Alice Trent Bob 1. Alice, Bob 2. { Bob, K, T ,{ Alice, K , T }KBT } KAT 3. {Alice, K, T }KBT 4. { 你好Alice,我是Bob!NB }K 5. { 你好Bob,我是Alice! NB-1}K 验证是要求: | Clock –T | < ∆ t1 + ∆ t2 2011/12/5 南京大学计算机系讲义 26
27 .3. 认证协议 Denning & Sacco的建议— 时间戳 Denning的协议与Needham/Schroeder的协议相比似乎增加了安全度。 然而,又出现了新的担忧:这个新机制需要信任通过网络进行同步 的时钟。 存在一种危险,分布时钟由于阴谋破坏或同步时钟、同步机制的故 障变得不同步。 当发方的时钟快于预想的收方时钟时,这个问题就会发生。在这种 情况下,对手可截获发自A的报文,当报文中的时间戳变成收方的当 前时间时就重放该报文。这种重放可导致不可预料的结果。这样的 攻击称为抑制—重放攻击。 2011/12/5 南京大学计算机系讲义 27
28 .3. 认证协议 3.1 消息的新鲜性和实体的活现性 询问-应答机制 I. Bob →Alice: NB II. Alice →Bob:EKAB (M, NB) III. Bob 解密接收到的密文分组中看到NB则接受Alice;否则拒绝接受Alice。 2011/12/5 南京大学计算机系讲义 28
29 .3. 认证协议 3.1 消息的新鲜性和实体的活现性 1. Alice, Bob, NA 2. { Bob, NA , K, { Alice, K }KBT } KAT 新鲜标记NA可能在一个密文分组内,攻击这将会话密钥相关的分组换成过 去的截取的分组,这样使得Alice使用旧的会话密钥。 Trent发给Alice 的密文串: IV, C1, C2, … Cl , (1) Malice 截取的上次T给A的密文串: IV’, C’1, C’2, … C’l , (2) Malice截取(1)并将串(1) 改成: IV, C1, C’2, … C’l , (3) NA , K,… Bob NA K, …… Bob NA K’, …… K’’=DK (C’2) ⊕C1 =K’ ⊕C’1⊕C1 AT 2011/12/5 南京大学计算机系讲义 29