210 likes | 409 Views
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.
E N D
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 • 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.
Proof • 协议正确性:参与方A和B均未被腐化并完成协议,那么他们都建立了共同的会话密钥 • 不可区分性:假设存在一个敌手A攻破了协议,ie,A拥有不可忽略的优势猜对test查询的结果是会话密钥还是随机数。那么,我们就可以构造一个区分器D,D调用A就可以以不可忽略的优势区分上面Q0和Q1的分布,这和DDH假设是计算不可区分的矛盾。
构造区分器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。
6.若第r个会话被A选作测试会话,提供给A作为查询结果。6.若第r个会话被A选作测试会话,提供给A作为查询结果。 • 7.若第r个会话被exposed或者其他会话被选为测试会话或者A没有选择测试会话就halts了,那么D随机选取一个比特b’并halts。 • 8.若A正常halts并输出b’,那么D也halts并同样输出b’。
Analysis • 1. A选取的测试会话是第r个会话,r是D随机选取的。此时测试会话返回查询结果。 • 若D的输入是Q0,那么=,是真实的会话密钥;若D的输入是Q1,那么=,是随机数。 • 假设A攻破了协议,即在测试会话中猜对b’(区分真实会话密钥和随机数)的概率为1/2+。这和猜对D的输入是Q0或Q1是等价的。通过和A输出同样的b’, D猜对输入是Q0或Q1的概率也是1/2+。
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下的协议。
eCK security AKE protocol: NAXOS • Assumptions • 乘法群G,阶q,生成元g. • DLOG(·) • CDH(·, ·) • DDH(·, ·, ·) • GDH problem
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.
Security Proof for NAXOS • 1.正确性:匹配会话的参与方完成协议并计算出共同的会话密钥 • K= • 2.不可区分性:假设M是攻击NAXOS的一个敌手,测试会话的会话密钥生成方式为K=H2(). 敌手若想区分K和一个随机串,只有以下两种方法。
伪装攻击:在某一刻M向H2查询同一个五元组。 • 密钥复制攻击:M成功伪装了另一个会话的密钥建立过程,该会话与test会话有相同的会话密钥。(如果RO没有碰撞,这是不可能的,而碰撞的概率是)). • 所以,RO没有碰撞下,M的攻击成功一定是执行伪装攻击,假设敌手拥有不可忽略的优势在测试会话中区分K和随机数,那么我们可以构造一个求解程序S,调用M就可以以不可忽略的优势解决GDH问题。
S的构造 • S的输入为GDH挑战(X0,Y0). • 假设实验中敌手M运行时间最长为t,最多有n个诚实的参与方,最多发起k个会话。 • S调用M执行协议NAXOS,并更改诚实参与方返回的数据,以这样一种方式,使得如果M攻破了协议NAXOS,那么S就可以找到GDH问题的解决方法。 • 2cases
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不能如此,除非他计算了或 的离散对数。 • 因此
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的长期私钥。
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不能如此,除非他计算了的离散对数。 • 因此,
Attack against SIG-DH under eCK • 敌手可以reveal临时秘密x, y. • 根据命题2:对于某些随机签名模式,存在有效算法,给出公钥,合法计算的消息签名和签名用的随机数,可以计算出私钥。(只对部分签名模式有效) • 如果敌手可以得到参与方的私钥,又reveal了临时秘密x,y, 就可以计算会话密钥。