第五章 身 份 认 证
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
中间人攻击
攻击者Malice将自己伪装于用户Alice和Bob之 我可以战胜 间进行通信。 胡荣华!!
炮二平五 马八进七 Little girl 炮二平五 马八进七
许银川
胡荣华
13
Example 2: Diffie-Hellman密钥协商 协议 协议目的:Alice和Bob利用公钥体制建 立一个新的共享密钥Kab 协议组成:2条消息组成
messag 4 B T : A, B messag 5 T B :{K a , A}K 1 messag 7 A B :{N b }K
messag 3 A B :{N a , A}K
25 messag 7 A B :{N b }Kb
b
b
messag 6 B A :{N a , N b }K
11
消息重放攻击
Example 1:Needham-Schroeder协议
问题:如何攻击该协议?
Trent (T)
攻击者如果获知以前的一个工作 密钥,可以重放消息EB(K,A)
K Alice (A)
EB(K,A) EK(RB) EK(RB-1) EK(M={I Love XXX}) Bob (B) K
考虑:协议是双向认证还 是单向认证?
讨论: (1)尽管S/Key中口令明文传送,但是可以抵抗口令的在线窃听攻击 (2)S/Key协议是否安全?
23
Example 3: 一次性口令协议(S/Key)的中间人攻击
中间人攻击
(1) IDu
(1') IDu
(2')c,"输入口令:"
(2)c 1,"输入口令:"
查找与该ID对应的H(PW) H(PW) N 相同? Y 接受 拒绝
Hash值形式存放的口令表
18
口令认证协议 -基于单向hash函数和“盐”的口令表
用户输入PW 用户输入ID
ID OK? Y 用预定的Hash 函数计算
N
拒绝 ID
身份标识 注册口令 盐
查找与该ID对应的H(PW) R H(PW+R) N 相同? Y 接受 拒绝
22
如果f ( f c 1 ( Pu' )) f c ( Pu )则认证通过。
Example 3: 一次性口令协议(S/Key)
中间人攻击
问题:口令明文传送是否有问题?
(1) IDu
(2)c,"输入口令:"
(3) f
许银川(A)
c 1
(P u)
Little girl(B) 单向认证中,Alice为什么要相 信计数器值c是Bob发送的?
第5章
身 份 认 证
1
1 2 3
身份认证的基本概念
双向身份认证协议
单向身份认证协议
4 5
零知识身份认证
身份认证的实现与运用
2
5.1
身份认证的基本概念
3
5.1.1
身份认证的目的及特征
目前,计算机系统采取的身份认证方法有很 多,比如口令认证、智能卡认证、基于生物特 征的认证、基于源地址的认证、数字证书和安 全协议等。 一个成熟的身份认证系统应该具有以下特征: 验证者正确识别对方的概率极大。 攻击者伪装以骗取信任的成功率极小。 能够抵抗重放攻击、高效、可证明安全性、没 有密钥托管问题
28
交错攻击
攻击者将某个协议的两个或者多个运行实例安排为以 交织的方法执行。 结果是:
– – –
(1)攻击者可以合成某条消息,并发送给某个运行中的主体, 期望收到该主体的一个应答; (2)而该应答可能对于另外某个运行中的另外一个主体是有 用的; (3)在接下来的运行中,从前面运行中得到的应答可能促使 后面的主体对某个问题作出应答,而该应答又恰好能运用于 第一个运行。
一次性口令机制确保在每次认证中所使用的口令不同,以对 付重放攻击。 确定口令的方法:
(1)两端共同拥有一串随机口令,在该串的某一位置保持同步; (2)两端共同使用一个随机序列生成器,在该序列生成器的初态保 持同步; (3)使用时戳,两端维持同步的时钟。
20
中间人攻击
S/Key(Simple key):一次性口令系统
其安全性依赖于一个单向函数。为建立这样的系统A输入一 随机数Pu,计算机计算f( Pu ), f( f( Pu )), f( f( f ( Pu )) ),…,共计算n次,计算得到的数为x1, x2 , x3 ,… xn,A打印出这样的表,随身携带,计算机将xn存在A 的名字旁边。 第一次登录,键入xn-1,通过hash函数计算xn,并与存储的 xn比较,相同则认证通过;否则认真失败。 以后依次键入xi,计算机计算f(xi),并将它与xi+1比较。
查找与该ID对应的PW PW‘ PW N 相同? Y 接受 拒绝
明文形式存放的口令表
17
口令认证协议 -基于单向hash函数的口令表
用户输入PW 用户输入ID N
ID OK? Y
拒绝
用预定的Hash 函数计算
H(PW‘)
ID
身份标识 ID1 ID2 ID3 .... IDn 注册口令 H(PW1) H(PW2) H(PW3) .... H(PWn)
Example 3: 一次性口令协议(S/Key) 协议目的:用户通过口令向服务器认证, 但口令不会重复。(口令认证协议)
中间人攻击
熟悉口令 认证协议 吗?
16
口令认证协议 -明文形式存放的口令表
用户输入PW 用户输入ID N
ID OK? Y
拒绝 ID
身份标识 ID1 ID2 ID3 .... IDn 注册口令 PW1 PW2 PW3 .... PWn
29
Example5: ISO三次传输双向认证协议 协议目的:Alice和Bob利用公钥体制实 现双向认证 协议组成:3条消息组成
主体无意地为攻击者执行了一个密码运算时,该主体被认为用作了预言机。 26
预言机(Oracle)攻击
主体无意地为攻击者执行了一个密码运算时, 该主体被认为用作了预言机(或称该主体提供 了预言服务)。 如果存在主体可以提供预言服务,该主体可能 被诱导执行某个协议的一些步骤,从而帮助攻 击者得到一些他原本无法得到的信息。
c值 R1 R2 R3 ... Rn
messag1 A B : IDu messag 2 B A : c," 输入口令: " messag 3 A B : f
c 1
n f( Pu) def f (... f ( f ( Pu ))) n
(P )
' u
Pu : 用户初始口令
B收到后,从用户口令文件中查找( IDu , f ( Pu ), c)
a
中间人攻击
(1){Na , A}Km
(1'){Na , A}Kb
(2'){Na , Nb }Ka
(2){Na , Nb }Ka
Little girl(B)
(3){Nb }Km
许银川(A) 胡荣华(M)
(3'){Nb }Kb
攻击结果:B认为她和A建立了共享秘密,而实际上她和M建立了共享秘密。 上述攻击可以成功的原因之一:在消息(3)中,A无意之间为M解了B的Nonce (Nb)。
Little girl(B)
(3) f c2 ( P u)
许银川(A) 胡荣华(M)
(3) f c1 ( P u)
攻击结果: 攻击者Malice获得了fc-2,下一次他就可以用用户的ID登录了。
24
Example 4 :Needham-Schroeder公 钥认证协议 协议目的:Alice和Bob利用公钥体制建 立一个新的共享秘密Na,Nb,并实现认 证 协议组成:7条消息组成
27
交错攻击
(1){Na , A}Km
(1'){Na , A}Kb
(2'){Na , Nb }Ka
(2){Na , Nb }Ka
Little girl(B)
(3){Nb }Km
许银川(A) 胡荣华(M) 协议1
(3'){Nb }Kb
协议2
成功的原因之二:M利用了该协议的多个运行实例,从而将不同协议的消息交织 在一起(如(1‘)、(2’)和消息(2))。 攻击者将某个协议的两个或者多个运行实例安排为以交织的方法执行,从而使得 攻击这获得不应当获得的信息,这种攻击叫做交错攻击。
21
Example 3: 一次性口令协议(S/Key) 协议目的:用户通过口令向服务器认证, 但口令不会重复,从而有效防御口令在线 猜测攻击。(口令认证协议) 协议组成:口令存储表+3条消息组成
中间人攻击
口令存储表
身份标识 ID1· · · · ID2 ID3 .... IDn
fc(Pu) f(P1) f(P2) f(P3) .... f(Pn)
中间人攻击
n : 大素数 g:是模n的本原元
messag1 A B : g(mod n)
x
A:计算Kab=gxy
y messag 2 B A : g( mod n) B:计算Kab=gxy
Diffie-Hellman密钥协商协议的理论依 据的离散对数困难性问题。
14
中间人攻击
(1) g x
4
5.1.2
身份认证的方法
1.口令的认证 基于口令的认证是指系统通过用户输入的用户名和密码来确立用 户身份的一种机制。基于口令的身份认证是最常见的也是最简单的一 种身份认证机制 2.智能卡认证 比口令认证方式稍微安全的认证方式是智能卡认证。智能卡 (Smart Card)是当今信用卡领域的新产品。所谓智能卡,实际上 就是在信用卡上安装一个微型电脑芯片,这个芯片包含了持卡人的各 种信息
(1') g z
'
(2') g y
(2) g z
Little girl(B)
许银川(A)
胡荣华(M)
Kam ( g z ) x g xz Kbm ( g y ) z g yz
Kam ( g z ) x g xz
Kbm ( g z ) y g yz
15
攻击结果:M拥有A和B的密钥,而A和 B并不知道。
6
Fra Baidu bibliotek
5.1.2
身份认证的方法
5.源地址认证 基于源地址的认证实现最简单,但安全性 也最差。 6.基于PAP 协议 (Password Authentication Protocol) 用于点对点(Point-Point Protocol, PPP)协议的身份认证协议,例如通过ADSL 拨号上网时进行的身份认证就是基于PAP协议 的。 7.基于CHAP 协议(Challenge Handshake Authentication Protocol) 大多数身份认证协议都属于CHAP协议。 这种协议不在网络上传送任何口令信息。
H(PW‘+R)
ID1· · · · ID2 ID3 .... IDn
H(PW1+R1) R1 H(PW2+R2) R2 H(PW3+R3) R3 .... ... H(PWn+Rn) Rn
“加盐”Hash值形式存 放的口令表
19
中间人攻击
S/Key(Simple key):一次性口令系统
7
5.1.3
身份认证同数字签名的区别
消息认证、数字签名和身份认证一同构成了整个鉴别系统。消息认 证是对消息本身的鉴别,数字签名和身份认证是对发送消息的实体的鉴 别。数字签名也具有身份认证的功能,但是,身份认证同数字签名也有 一些区别:
8
5.2 身份认证协议
9
1.Needham-Schroeder协议
5
5.1.2
身份认证的方法
3.基于生物特征的认证 近年来,基于生物特征的认证发展非常迅速。在很多企业、学校 已经在使用基于生物特征的设备来负责考勤和安全。 4.双因素认证 因素认证是对传统的静态口令机制的改进,并得到了专家和用户 的认可,而且已有许多成功案例。 什么是双因素认证呢?
初期管理员会给每个密码使用者分派一个动态口令卡,只有你在同时拥有 这个动态口令卡与解开这个动态口令卡的密码才能生成一个一次性的动态 密码让用户登陆各种应用系统。
可信第三方在认证协议中 也叫做认证服务器 Trent (T)
K Alice (A)
EB(K,A) EK(RB) EK(RB-1) EK(M={I Love XXX}) Bob (B) K
10
消息重放攻击
消息重放攻击是指攻击者利用其消息再生能力 生成诚实用户所期望的消息格式,并重新发送, 从而达到破坏协议安全性的目的。 消息重放的实质是消息的新鲜性(Freshness) 不能得到保证。 消息重放攻击是安全协议中最容易出现的问题 之一。
中间人攻击
messag1 A T : A, B messag 2 T A :{K b , B}K 1
t
messag 3 A B :{N a , A}K
b
t 讨论:消息1,2,4,5是获得公钥,3, 6,7是A和B相互认证。如果假设公钥已 messag 6 B A :{N , N } a b Ka 知,协议可以简化: