基于口令的认证密钥交换协议_王天芹
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
钥管理,具有实施相对简单的优点。但由于口令空间相对简
单,从而易于对其进行字典攻击。因此,安全性问题是基于
口令认证的密钥交换协议中的研究重点。 目前已有许多基于口令的方案[1-3],它们属于集中式系
统,即单台服务器存储用户口令验证数据(口令的单向函数
值),并对用户输入进行验证。在这类系统中,如果敌手获取
份验证的任何信息。因此,敌手攻击成功的可能性随着 t 的
增大而减小。但另一方面,该方案不具有前向安全性,而且
代价较大。
本文基于文献[6]中方案代价较大而安全性高的特点,构
造三方密钥交换方案。通过服务器组的协助,Alice 和 Bob
完成相互认证和会话密钥的交换,从而在确保较高安全性的
前提下使平均代价降低。
需要进行密钥确认的步骤以实现相互身份认证。同时,为了
保证会话密钥的秘密性,Alice 和 Bob 需要对通过 S1 交换的 协商会话密钥的信息进行“盲化”处理。为简单起见,假设
会话密钥由 Alice 选定,密钥交换的具体步骤如下:
(1)Alice 秘密选取会话密钥 KAB ∈ Zq* ,同时,秘密随机选
(6) X || Y 表示消息 X 和消息 Y 的逐比特连接;
—4—
(7) EK (M ) 表示使用 K 加密明文 M 的输出; (8) DK (C) 表示使用 K 解密密文 C 的输出。 协议中涉及的主体如下: (1)Alice:密钥交换协议中的一个主体,其身份用 A 表示; (2)Bob:密钥交换协议中的另一个主体,其身份用 B 表示; (3)S1,S2,…,Sn:对用户身份进行验证的服务器组; (4)TTP:一个离线的可信第三方,负责全局密钥的产生 与分配。
∈
Z
* q
为
Alice
所使用的口令;τ
为
t+1
元组 ( y, c1,c2,",ct ) ,函数 Prove 见文献[6]。
(4) ∀i = 1, 2,",t , Si 利 用 公 开 的 广 播 信 息 重 构 τ = ( y, c1,c2,",ct ) ,通过调用函数 Verify 判断用户是否正确执行
(3)S1→Bob: (EK1,B ( A || B || K1), S1) 。之后,Bob 对收到的信
息解密;
(4)Bob
秘密随机选取
b
∈
Z
* q
满足
gcd (b,
q
−1)
=
1
;
(5)Bob→S1: (EK1,B (B || A || (K1)b mod q), B) 。之后,S1 对收到
的信息解密。不妨设 (K1)b mod q = K2 ;
了服务器的控制权,则他可以利用口令验证数据对口令实施
离线字典攻击。文献[4-5]给出的分布式方案可以大大降低敌
Biblioteka Baidu
手实施这类攻击的可能性。文献[6]给出一个可证明安全的分
布式方案,本文对其进行进一步的完善与功能扩展,提出一
种新的口令认证密钥交换协议。
2 符号说明
文中所使用的符号说明如下:
(1) Gq 表示阶为 q 的有限循环群,q 为大素数;
了协议,并通过调用函数 DistVerify 判断其他各服务器是否正
确执行了协议以及所拥有密钥碎片的正确性。如果所有参与
者都是诚实的,则完成对 Alice 口令正确性的验证;否则,
终止协议的执行。函数 Verify 和 DistVerify 见文献[6]。
(5) ∀i = 1, 2,",t ,Si 秘密随机选取 xi' ∈ Zq ,计算并公开
(2)口令验证。用户产生随机会话密钥,生成用于对口令 进行验证的信息,对计算过程的正确性给予证明,并通过公 开信道广播相应信息。参与验证的每个服务器首先对用户执 行协议的正确性进行验证。应用秘密信息片对用户提供的信 息进行部分计算,并对计算的正确性给予证明。一旦服务器
基金项目:国家自然科学基金资助项目(10671056) 作者简介:王天芹(1968-),女,副教授、博士,主研方向:数论, 密码学,信息安全 收稿日期:2007-08-24 E-mail:wangtq@henu.edu.cn
Z
* q
中的元素。TTP
执行如下操作:
(1)选取循环群 Gq 的生成元 g 并公开;
(2)秘密随机选取 x ∈ Zq ,计算 y = g x ,令 h = H0 ( y) ,公
开 y,h ,这里 H0 为随机预言机; (3)应用 Shamir 秘密共享方案[7],计算 x 对应的秘密碎片
xi ,计算 yi = g xi 并丢弃 x,将 xi 秘密传送给 Si,公开 yi ,这 里 1≤i≤n。
收到了来自其他服务器的部分计算结果及其正确性证明信
息,就可以完成对用户信息的验证。在验证正确的情况下,
每个服务器应用用户的公开广播信息及自己的局部秘密密钥
xi' ,计算与用户之间的会话密钥。 t 个服务器协同工作才能够完成对用户身份的验证,任意
t-1 个不诚实的服务器合谋不能得到诚实服务器关于用户身
(3)Alice 秘 密 随 机 选 取 x, β ,γ ∈ Zq , 计 算 y = g x , U =
(yβ,gβ)⋅(eA)π ⋅(g−1,1) , V = (hγ gπ , gγ ) , σ = Prove((τ,eA,U,V),(β,π,γ )) ,
广播 U ,V , y,σ
,其中,π
用户操作如下:
假设 Alice 和 Bob 的口令分别为 π A,π B 。Alice 和 Bob 分 别秘密随机选取 αA,αB ∈ Zq ,并分别计算其口令 π A,πB 所对
应的 ElGamal 密文 eA = ( yαA g (π A )−1 , gαA ) , eB = ( yαB g (πB )−1 , gαB ) 。 公开 ( A, eA),(B, eB ) 。
Authenticated Key Exchange Protocol Based on Password
WANG Tian-qin
(Institute of Data and Knowledge Engineering, Henan University, Kaifeng 475001)
【Abstract】This paper presents a distributed password authenticated key exchange protocol based on (t, n)-threshold secret sharing scheme, in which a set of t servers jointly realizes the identification, whereas any conspiracy of fewer servers gains no information about the verification data. The scheme has the property of forward secrecy. The authenticated users possess the secret session key. Under the DDH assumption, the security of the scheme is proved. 【Key words】secret sharing scheme; key exchange protocol; password authentication; DDH assumption
3 对文献[6]方案的分析
文献[6]提出一种门限口令认证密钥交换方案,证明了在 Decision Diffie-Hellman(DDH)问题难解[7]假设下该方案是安 全的。其基本设计过程如下:
(1)初始化。服务器端:由 TTP 生成服务器组全局密钥对 (x, y) ,通过秘密共享方案分配 x ,组内每个成员 Si 得到秘密 信息片 xi 及对应的 yi ;同时,每个服务器产生局部密钥对 (xi' , yi' ) 。客户端:用户 Alice 计算其口令所对应的 ElGamal 密文 eA ,并公开 ( A, eA ) 。
yi' = g xi' ,同时计算 yi = y xi' , Ki,A = H (τ , yi ) 。
(6) ∀i = 1, 2,",t ,Alice 计算 yi = ( yi' )x , Ki,A = H (τ , yi ) ,这
里 H 为公开的高强度 Hash 函数。
以上过程完成了对 Alice 身份的验证,还建立了各服务
器与 Alice 之间的秘密密钥 Ki,A 。需要说明的是,服务器公钥 的真实性和完整性可以通过使用公钥证书来保证[7],在此不
复赘述。
4.4 密钥交换 假定 Alice 和 Bob 的身份已通过服务器组 S1,S2,…,St 得到
认证。为了防范单个服务器的恶意操作,需要 t 个服务器协
同工作完成对用户身份的认证。一旦用户身份得到认证,就
4.3 单向身份认证 假设参加认证的服务器为 S1,S2,…,St。客户 Alice 身份认
证的基本流程与文献[6]类似,不同之处在于各服务器的局部
密钥对是在认证过程中动态产生的。具体步骤如下:
(1)Alice 广播身份信息 A,由此启动协议的执行。
(2) ∀i = 1, 2,",t ,Si 随机选取 ci ∈ Zq 并广播。
取
a
∈
Z
* q
满足
gcd
(a,
q
−1)
=
1
;
(2)Alice→S1(即 Alice 向 S1 传送信息): (EK1,A ( A || B || (K AB )a mod q), A)
之 后 , S1 通 过 执 行 DK1,A 对 收 到 的 加 密 信 息 解 密 。 设
(K AB )a mod q = K1 ;
第 34 卷 第 14 期 Vol.34 No.14
计算机工程 Computer Engineering
·博士论文·
文章编号:1000—3428(2008)14—0004—03 文献标识码:A
基于口令的认证密钥交换协议
2008 年 7 月 July 2008
中图分类号:TP309
王天芹
(河南大学数据与知识工程研究所,开封 475001)
1 概述
密码学的主要任务就是在不安全的环境中确保安全通
信。一般来说,网络用户要实现安全通信,首先需要进行身
份认证及密钥交换。用户身份的认证可以通过口令实现,即
口令认证。在基于口令认证的密钥交换协议中,用户事先选
择口令,口令信息与用户身份信息绑定,用于在通信中进行
身份认证并协商短期的会话密钥。该类方案不需要复杂的密
4 协议构造
4.1 基本思想 口令单向函数值的加密结果作为口令数据,通过合适的
秘密共享方案将口令验证密钥在服务器组内进行分配。多个
服务器协调工作完成对用户口令的验证。与文献[6]不同的
是,每个服务器的局部密钥动态生成,通过身份认证的各用
户之间以对服务器组保密的方式交换会话密钥。
4.2 系统初始化
假设用户口令是
可以保证参与认证的每个服务器的诚实性。因此,在密钥交
换阶段,用户可以通过其中的任意一个服务器来协商会话
密钥。
假设 Alice 与 S1 共享秘密密钥 K1,A ,Bob 与 S1 共享秘密
密钥 K1,B 。Alice 和 Bob 可以通过 S1 进行密钥协商,但无法
直接进行相互身份认证。当密钥协商完成后,Alice 和 Bob
(2) Zq 表示集合{0,1,…,q-1};
(3)
Z
* q
表示集合{1,2,…,q-1};
(4) (a,b) ⋅ (c, d ) 表示向量的内积运算,即 (ab, cd ) ,其中
a,b, c, d ∈ Gq ;
(5) (a,b)r 表示向量的幂运算,即 (ar ,br ) ,其中 a,b ∈ Gq ;
(6)S1→Alice: (EK1,A (B || A || K2 ), S1) 。之后,Alice 对收到的
摘 要:提出一种基于(t, n)门限秘密共享技术的分布式口令认证密钥交换方案。用户口令的验证密钥通过秘密共享方案在服务器组内进行 分配,验证任务需要 t 个服务器协调来完成,任意 t-1 个服务器合谋无法获得诚实服务器关于口令验证的任何信息。动态生成每个服务器 的局部密钥,保证了方案的前向安全性。通过身份认证的各用户之间以对服务器组保密的方式交换会话密钥。该方案在 DDH 假设下被证 明是安全的。 关键词:秘密共享方案;密钥交换协议;口令认证;DDH 假设