20
Security Models of KA Protocols ---CK, eCK Reporter: Rui Li 2014.3.20

Security Models of KA Protocols ---CK, eCK

  • Upload
    havyn

  • View
    76

  • Download
    0

Embed Size (px)

DESCRIPTION

Security Models of KA Protocols ---CK, eCK. Reporter: Rui Li 2014.3.20. Contents. Review security models: CK, eCK. SK-secure DH protocol: SIG-DH eCK security AKE protocol: NAXOS Attack against SIG-DH under eCK. SK-secure DH protocol: SIG-DH. - PowerPoint PPT Presentation

Citation preview

Page 1: Security Models of KA Protocols ---CK, eCK

Security Models of KA Protocols---CK, eCK

Reporter: Rui Li2014.3.20

Page 2: Security Models of KA Protocols ---CK, eCK

Contents

• Review security models: CK, eCK.• SK-secure DH protocol: SIG-DH• eCK security AKE protocol: NAXOS• Attack against SIG-DH under eCK

Page 3: Security Models of KA Protocols ---CK, eCK

SK-secure DH protocol: SIG-DH

• Initial information: Primes p, q, q/p−1, and g of order q in Zp*.Each player has a private key for a signature algorithm SIG, and all have the public verification keys of the other players.

Page 4: Security Models of KA Protocols ---CK, eCK

SIG-DH authenticated key-exchange protocol

Page 5: Security Models of KA Protocols ---CK, eCK

Security Proof for SIG-DH

Page 6: Security Models of KA Protocols ---CK, eCK

Proof

• 协议正确性:参与方 A 和 B 均未被腐化并完成协议,那么他们都建立了共同的会话密钥

• 不可区分性:假设存在一个敌手 A 攻破了协议, ie , A 拥有不可忽略的优势猜对 test 查询的结果是会话密钥还是随机数。那么,我们就可以构造一个区分器 D,D 调用 A 就可以以不可忽略的优势区分上面 Q0 和 Q1 的分布,这和 DDH 假设是计算不可区分的矛盾。

Page 7: Security Models of KA Protocols ---CK, eCK

构造区分器 D

• D 的输入为随机取自 Q0 或 Q1( 概率都为 1/2). l 是 A 发起的最大会话数量。

• D 调用 A 执行协议的过程如下:• 1.D 从随机选取 r 。• 2.D 调用 A; D 在参与方 p1,…,pn 间进行模拟交互运行协议

2DH ,将 p, g 传给 A 作为协议执行的公共参数。• 3. 无论何时 A 激发某参与方发起一个新会话(不是第 r 个

会话)或收到消息, D 就代表该参与方执行 2DH 协议。• 4. 如果是第 r 个会话,标记为( pi, pj, s ) , 即 pi 和 pj 要交

换会话密钥, D 模拟使 pi 发送• 5. 当 pj 收到消息时, D 模拟 pj 返回给 pi 。

Page 8: Security Models of KA Protocols ---CK, eCK

– 6. 若第 r 个会话被 A 选作测试会话,提供给 A作为查询结果。

– 7. 若第 r 个会话被 exposed 或者其他会话被选为测试会话或者 A 没有选择测试会话就 halts 了,那么 D 随机选取一个比特 b’ 并 halts 。

– 8. 若 A 正常 halts 并输出 b’, 那么 D 也 halts 并同样输出 b’ 。

Page 9: Security Models of KA Protocols ---CK, eCK

Analysis

• 1. A 选取的测试会话是第 r 个会话, r 是 D 随机选取的。此时测试会话返回查询结果。

– 若 D 的输入是 Q0 ,那么 = ,是真实的会话密钥;若 D 的输入是 Q1 ,那么 = ,是随机数。

• 假设 A 攻破了协议,即在测试会话中猜对 b’ (区分真实会话密钥和随机数)的概率为 1/2+ 。这和猜对 D 的输入是 Q0 或 Q1 是等价的。通过和 A 输出同样的 b’, D猜对输入是 Q0 或 Q1 的概率也是 1/2+ 。

Page 10: Security Models of KA Protocols ---CK, eCK

Analysis

• 2. 第 r 个会话不是测试会话,此时 D 总是输出一个随机比特 b’, 猜对 Q0 , Q1 的概率为 1/2.– A 发起的会话数是 l 个,第一种情况发生的概率是 1/l, 第

二种情况的概率为( 1-1/l ) .– 综合起来 D 猜对 Q0 或 Q1 的概率为

– 这和 DDH 假设计算不可区分矛盾。• SIG-DH 协议 (in UM) 是 2DH 协议 (in AM) 加上

Authenticator 实现。根据定理 6 , SK-secure 的 AM下的协议加上一个 Authenticator 得到一个 SK-secure的 UM 下的协议。

Page 11: Security Models of KA Protocols ---CK, eCK

eCK security AKE protocol: NAXOS

• Assumptions• 乘法群 G, 阶 q, 生成元 g.• DLOG(·)• CDH(·, ·)• DDH(·, ·, ·)• GDH problem

Page 12: Security Models of KA Protocols ---CK, eCK

• Initial information: group G and two hash functions, H1 : → Zq and H2 : → (for some constant λ). A long-term secret key of a party A is an exponent Zq, and the corresponding ∈long-term public key of A is the power = G.∈

Page 13: Security Models of KA Protocols ---CK, eCK

NAXOS AKE Protocol

Page 14: Security Models of KA Protocols ---CK, eCK

Security Proof for NAXOS

• 1. 正确性:匹配会话的参与方完成协议并计算出共同的会话密钥

• K=

• 2. 不可区分性:假设 M 是攻击 NAXOS 的一个敌手,测试会话的会话密钥生成方式为K=H2(). 敌手若想区分 K 和一个随机串,只有以下两种方法。

Page 15: Security Models of KA Protocols ---CK, eCK

• 伪装攻击:在某一刻 M 向 H2 查询同一个五元组。• 密钥复制攻击: M 成功伪装了另一个会话的密

钥建立过程,该会话与 test 会话有相同的会话密钥。(如果 RO 没有碰撞,这是不可能的,而碰撞的概率是 ) ) .

• 所以, RO 没有碰撞下, M 的攻击成功一定是执行伪装攻击,假设敌手拥有不可忽略的优势在测试会话中区分 K 和随机数,那么我们可以构造一个求解程序 S, 调用 M 就可以以不可忽略的优势解决 GDH 问题。

Page 16: Security Models of KA Protocols ---CK, eCK

S 的构造• S 的输入为 GDH 挑战( X0 , Y0 ) .• 假设实验中敌手 M 运行时间最长为 t ,最

多有 n 个诚实的参与方,最多发起 k 个会话。

• S 调用 M 执行协议 NAXOS, 并更改诚实参与方返回的数据,以这样一种方式,使得如果 M 攻破了协议 NAXOS, 那么 S 就可以找到GDH 问题的解决方法。

• 2cases

Page 17: Security Models of KA Protocols ---CK, eCK

Matching session exists• 1.M 在实验中选择的 test 会话存在匹配会话: S 更改实验如下:• ①S 随机选择某诚实参与方 A 和 B 之间的匹配会话(随机选择两个

会话,匹配则继续,概率为)并且把匹配会话中参与方发出的消息分别记为 commA 和 commB.

• ② 当这些会话其中一个被激发, S 执行协议如下,正常产生 eskA, eskB, 但是发送消息 X0 给 B, 发送消息 Y0 给 A.

• ③M 执行实验时选择 S 选出的会话作为测试会话的概率为,假设被选中的会话的会话密钥为 H2(), 其中五元组包含值 CDH(X0,Y0). 要想赢得实验 ,M 必须向 H2 查询。

• ④ 若 S 选中的会话是 test 会话, M 被允许 reveal 的子集,但不允许both 或 both. 这种情况下, M 能区分真实 ECK 和模拟 ECK 实验只能是 M 向 H1 查询或 . 但 M 不能如此,除非他计算了 或 的离散对数。

• 因此

Page 18: Security Models of KA Protocols ---CK, eCK

No matching session

• Test 会话没有匹配会话, S 更改实验如下:• ①S 随机选择参与方 B ,将 pkB 设为 X0 ,执行协议

如下:• ②S 随机选择 eskB, 从 Zq 中随机选择 h ,发送消息

给 C. S 将会话密钥 K 设为随机值。– 若 C 是敌手控制的参与方, M 可以计算会话密

钥, reveal K 并检测到异常。为了避免这种情况, S 随时观察M 的查询,如果 M 向 H2 查询 ,S 检验 DDH(X0, commC,Z)=1, 如果是,返回 K.

• ③M 不能检测到是模拟 ECK 实验除非 M 向 H1 查询或 reveal 了 B 的长期私钥。

Page 19: Security Models of KA Protocols ---CK, eCK

– Reveal DLOG(X0) 使得 S 能解决 CDH 问题。– Reveal B 的长期私钥不可能,否则 test 会话将不再 clean 。

• S 也可以随机选取 ECK 会话( B 是 peer ),将会话发起方记为 A, 会话被激发执行时, S 执行协议如下:正常产生 eskA,但是发送 Y0 给 B.

• S 选中的会话被 M 选为测试会话的概率为 1/nk. 如果 M 赢得了实验,则 S 能解决 CDH 问题。

• 如果 S 选中的会话的确是测试会话, M 不允许 reveal both(skA, eskA), 不允许 corrupt B. 那么 M 区分真实的 ECK 和模拟 ECK 只能通过向 H1 查询 (skA, eskA). M 不能如此,除非他计算了 的离散对数。

• 因此,

Page 20: Security Models of KA Protocols ---CK, eCK

Attack against SIG-DH under eCK

• 敌手可以 reveal临时秘密 x, y.• 根据命题 2 :对于某些随机签名模式,存在有效算法,给

出公钥,合法计算的消息签名和签名用的随机数,可以计算出私钥。(只对部分签名模式有效)

• 如果敌手可以得到参与方的私钥,又 reveal 了临时秘密x,y, 就可以计算会话密钥。