资源描述
认证协议1认证协议认证协议认证协议2使用共享密钥密码的使用共享密钥密码的认证与密钥建立协议认证与密钥建立协议认证协议3使用对称密码的认证Alice, KABBob, KAB“Im Alice”E(R,KAB)q 对Bob来说,这是验证Alice的一种安全方法q Alice不能验证Bobq 我们能否实现相互认证 ?R认证协议4相互认证?AliceBob“Im Alice”, RE(R,KAB)E(R,KAB)n有什么问题?n“Alice” 可以是 Trudy (或其他任何人)!认证协议5相互认证n既然我们有一个安全的单向认证协议 n最明显的事情是使用两次协议 n一次用于 Bob 认证 Alicen一次用于 Alice认证 Bob认证协议6相互认证AliceBob“Im Alice”, RARB, E(RA,KAB)E(RB,KAB)n提供了相互认证n还是没有呢? 认证协议7对相互认证的攻击Bob1. “Im Alice”, RA2. RB, E(RA,KAB)TrudyBob3. “Im Alice”, RB4. RC, E(RB,KAB)Trudy5. E(RB,KAB)认证协议8相互认证n我们的单向认证协议是不安全的n协议是微妙的 n在“显而易见”的事情可能是不安全的 n另外,如果假设或环境的变化,协议可能无法工作 n这是一个常见的安全故障n例如,互联网协议 认证协议9使用对称密码的认证AliceBob“Im Alice”, RARB, E(“Bob”,RA,KAB)E(“Alice”,RB,KAB)n做这些“微不足道”的变化会有帮助吗?n是的!认证协议10引言n讨论基于对称密码的双方密钥建立与认证协议n分类准则n预先有密钥可用:参与者之间共享,参与者与服务器共享(在线) ,离线服务器-证书(公钥)n会话密钥生成的方法:密钥传输,协商,混合n记号nA, B :期望共享会话密钥的两个用户nS :可信服务器nMK :使用密钥K加密信息M,提供机密性与完整性n M K :使用密钥K加密信息M,提供机密性nMK :使用密钥K对信息M单向变换,提供完整性认证协议11实体认证协议1. AB: NA2. B A : NB, u(KAB, NA, )3. AB: NA , v(KAB, NB, )Bird等人的协议1. IAB: NI2. B IA : NB, u(KAB, NI, )1. IBA: NB(I为了回答B,开始一个新会话,询问A)2. A IB : NA, u(KAB, NB, )3. IA B: u(KAB, NB, ) (I假冒A与B建立会话)u,v 相同时,存在Oracle反射攻击认证协议121. AB: NA2. B A : NB, B, A, NA, NBKAB3. AB: A, NBKABBellare-Rogaway MAP1协议1. A IB : NA (I假冒B,开始一个MAP1会话)1. IBA: NA (I为了回答A,开始一个EVE1会话,询问A)2. A IB : NA, B, A, NA, NAKAB2. IBA: NA, B, A, NA, NAKAB (I假冒B完成MAP1会话)3. A IB : A, NAKAB选择协议攻击, A被I用作Oracle攻击AAlves-Foss设计的EVE1协议1. AB: NA2. B A : NB, A, B, NA, NBKAB3. AB: A, NBKAB认证协议13AB: TA, BKABISO/IEC9798-2协议1路单向认证(时间戳)2路单向认证(一次性随机数)1. B A : NB2. AB: NB, BKAB3路双向认证(一次性随机数)2路双向认证(时间戳)AB: TA, BKABBA: TB, AKAB1. B A : NB2. AB: NA, NB, BKAB3. BA : NB, NAKAB认证协议141. AB: A2. BA : NB3. AB: NBKAS4. BS : A, NBKASKBS5. SB: NBKBSWoo-Lam认证协议BAS1. A2. NB3. NBKAS4. A, NBKASKBS5. NBKBS单向认证A认证协议151. IAB: A1.IB: I2. BIA : NB2. BI : NB3. IAB: R3. IB: NBKIS 4. BS : A, RKBS4. BS : I, NBKIS KBS5. SB: NBKBSAbadi的攻击BI(IA)S1. 12. 23. 34. 45. NBKBS I开启2个会话,其中一个假冒A,最后IA-B会话成功,I-B会话失败认证协议16无服务器的密钥建立额外的记号额外的记号KAB : A与B初始时共享的长期密钥,反复使用KAB : 利用长期密钥建立的新的会话密钥,当前会话中使用认证协议171. AB: A, NA2. B A : AUTH, MASKKAB3. AB: NA, KAB, AKABJanson-Tsudik 2PKDP协议2. B生成新会话密钥KAB,然后计算:AUTH= NA, KAB, BKAB(单向函数)MASK=AUTHKAB (加密)3. A利用AUTH计算 KAB ,再利用KAB验证AUTH的正确性认证协议181. AB: NA2. B A : NBKAB = f(NA, NB, KAB)Boyd两路协议认证协议19AB: TA, BKABKAB = f(KAB, TA)ISO/IEC11770-2无服务器的密钥建立协议机制2AB: KAB KAB机制3AB: TA, B, KAB KAB1. B A : NB2. AB: NB, B, KAB KAB机制41. AB: TA, B, FAB KAB2. B A : TB, A, FBA KABKAB = f(FAB, FBA)密钥材料F机制51. B A : NB2. AB: NA, NB, B, FAB KAB2. B A : NB, NA, FBA KABKAB = f(FAB, FBA)机制6 KAB提供机密性与完整性机制1认证协议20基于服务器的密钥建立额外的记号额外的记号A, B: 期望建立会话密钥的两个用户S : 可信服务器KAS , KBS :A与S,B与S初始时共享的长期密钥KAB : 会话密钥认证协议211. A S : A, B, NA2. S A : NA, B, KAB, KAB, AKBSKAS3. A B : KAB,AKBS4. B A : NBKAB5. A B : NB - 1 KABNeedham-Schroeder 协议ABS12345认证协议221. A S : A, B2. S A : B, KAB, TS, A, KAB, TSKBSKAS3. A B : A, KAB, TSKBSDenning-Sacco协议Denning-Sacco攻击:在Needham-Schroeder 协议消息3中使用破解的会话密钥,假冒A.ABS123保证会话密钥的新鲜性,会话密钥与时间戳绑定认证协议231. A B : A, NA2. B S : A, NA, B, NB3. S B : KAB, A, NBKBS, KAB, B, NAKAS4. B A :KAB, B, NAKASBauer-Berson-Feiertag协议Bauer攻击:在Needham-Schroeder 协议中,如果A与S使用长期密钥泄漏了,即使再更换,也可假冒A(同Denning-Sacco攻击).ABS保证会话密钥的新鲜性,会话密钥与nonce绑定认证协议24使用多服务器的密钥建立好处好处n 当一个或多个服务器不可用时,用户仍可以建立会话密钥n 当一个或多个服务器不可信时, 用户仍可以建立好的会话密钥认证协议25KA,i, KB,i : A,B与服务器Si共享的长期密钥秘密共享:A持有x,x可以从x1, x2, xn中的t个恢复; B持有y, y可以从y1, y2, yn中的t个恢复ABSi12345会话密钥为KAB= h(x, y)cc(x)=(h(x1), h(x2), h(xn)Gong的多服务器协议:服务器至少t个可信,A与B选择密钥材料1. A B : A, B, NA , A, B, xi , cc(x) KA,i2. B Si : A, B, NA, NB , A, B, xi , cc(x) KA,i , B, A, yi , cc(y) KB,i3. SiB: B , NA, yi , cci(y) KA,i , A , NB, xi , cci(x)KB,i4. B A : B , NA, y1 , cc1(y) KA,1 , B , NA, yn , ccn(y) KA,n , NAKAB, NB5. A B : NBKAB
展开阅读全文