增强型相互认证密钥协商方案
- 格式:pdf
- 大小:268.16 KB
- 文档页数:5
增强增强型型相互认证密钥协商方案戚世杰戚世杰,,卢建朱卢建朱,,胡吉旦(暨南大学信息科学技术学院,广州 510632)摘 要:传统用于保护用户密钥隐私的相互认证方案不能有效抵抗重放攻击与DOS 攻击。
为此,将安全单向哈希函数和椭圆曲线上的离散对数难问题相结合,提出一种基于智能卡的相互认证方案。
该方案通过引入时间戳及时延限制,能有效抵抗重放攻击,并减轻DOS 攻击。
相比于其他同类方案,该方案的移动用户端减少2次点的加法运算,提高用户端的计算效率。
分析结果表明,该方案是安全有效的。
关键词关键词::相互认证;密钥协商;智能卡;时间戳Enhanced Mutual Authentication Key Agreement SchemeQI Shi-jie, LU Jian-zhu, HU Ji-dan(College of Information Science and Technology, Jinan University, Guangzhou 510632, China)【Abstract 】An authentication and key agreement scheme, which suffers from the replay attacks and dos attacks, preserving the privacy of secret key is proposed. For improving their scheme to ensure robust security for the mutual authentication process, it proposes an efficient authentication scheme using smart cards, which is based on elliptic curve discrete logarithm problem and a secure one-way hash function. It defends replay attack and mitigates do attack that could be launched against other related previous schemes because it is timestamp-based, and requires less computational cost. The analysis result shows this scheme is secure and efficient.【Key words 】mutual authentication; key agreement; smart card; timestampDOI: 10.3969/j.issn.1000-3428.2012.01.031计 算 机 工 程 Computer Engineering 第38卷 第1期 V ol.38 No.1 2012年1月 January 2012 ·安全技术安全技术·· 文章编号文章编号::1000—3428(2012)01—0108—03 文献标识码文献标识码::A 中图分类号中图分类号::TP3111 概述随着无线网络技术的快速发展,人们可以通过无线网络获取所需服务,但其安全问题也日益成为人们关注的热点。
无线网络的身份认证和密钥协商技术是当前信息安全的一个研究热点[1-6]。
其中,智能卡具有操作简单、携带方便的特性。
将智能卡技术应用于无线网络,特别是移动用户的身份认证方面,已取得不少成果。
文献[1]利用安全的哈希函数设计一种基于智能卡的认证方案。
文献[2]发现该方案不能抵抗内部攻击和拒绝攻击,为此提出一种基于身份认证的方案。
然而,该方案很容易遭受密钥猜测攻击、伪造攻击和DOS 攻击。
面对这一缺陷,文献[3]将安全单向哈希函数与身份认证相结合,提出一种基于智能卡的认证方案。
文献[4]发现这一方案可能遭受已知密钥攻击和遗失智能卡的密钥猜测攻击,并基于椭圆曲线上的离散对数难问题和安全的哈希函数设计一种新的认证方案,但该方案无法免疫重放攻击和DOS 攻击。
针对文献[4]方案的不足,本文在相同的安全假设条件下,将椭圆曲线上的离散对数难问题、安全的哈希函数和时延限制有机地结合,设计一种新的安全的认证和密钥协商方案。
2 方案介绍基于椭圆曲线上的离散对数问题,将哈希函数与智能卡技术相结合,设计一个新的方案。
该方案包含初始化、注册、密钥协商与认证、口令更新和智能卡挂失5个阶段。
2.1 初始化阶段系统选取一个大素数p 和椭圆曲线(,)p E a b 上的加法群(,){}p E a b O Ω=∪,其中,|p |>160 bit ,(,){(,)|p E a b x y =23mod }y x ax b p =++,a 和b 是2个有限域内的整数且32427mod 0a b p +≠,O 是无穷远点。
令G 是群Ω的n 阶生成元,|n |≥160 bit 。
2.2 注册阶段 用户要获取相关的服务,需要先向服务器进行注册。
用户和服务器的具体操作过程如图1所示。
第38卷 第1期 109 戚世杰,卢建朱,胡吉旦:增强型相互认证密钥协商方案 性,如图2所示。
图2 用户和服务器认证与协商的通信流程具体操作流程如下:(1)用户利用口令和智能卡上的存储数据生成请求信息,用户i 将智能卡放入设备,并输入口令pw 。
智能卡从*n Z 选取一个随机数r ,利用当前时间戳c T 和存储数据(',)i B G ,计算1()c T h T rG =和2i T rB G =,其中'()i i B B h pw =⊕。
用户i 将12(,,,)c T T T id 发送给服务器,并将1T 保存在数据库。
(2)根据用户请求信息,服务器认证用户,并发送响应信息,收到信息12(,,,)c T T T id 后,服务器根据存储的注册用户信息验证用户id 的有效性。
若id 有效,由时延T ∆和当前时间s T 检查c T 是否满足s c T T T −<∆。
当上面的验证都正确时,服务器根据用户id 以及其对应的智能卡号cid 计算(||||)i B h x id cid =和12i c M B T T −=,并验证M 是否满足()h M =1T 。
若上述等式成立,服务器选取一个随机数*n w Z ∈,根据当前时间戳's T 生成响应信息13(,,')s V T T ,其中11(||||')s V h T K T =,3T wG =,这里12(')s i K h wT B T −=是认证成功以后双方的共享密钥。
(3)根据响应信息,用户认证服务器的身份,并发送认证成功的确认信息,收到响应信息13(,,')s V T T 之后,用户由时延T ∆和当前时间'c T 检查's T 是否满足''c s T T T −<∆。
通过验证之后,根据3T 和's T ,用户计算共享密钥3'(')s K h rT T =,并验证'K 是否满足11(||'||)s V h T K T =。
若等式成立,则该服务器是用户注册的服务器。
这样,用户验证了服务器的身份。
最后将确认信息2('',)c T V 发送给服务器,其中''c T 是当前时间戳,21(||'1||'')c V h T K T =+。
(4)服务器确认双方认证是否成功,收到用户的确认信息2('',)c T V 之后,服务器验证12(||1||'')c h T K T V +=是否成立。
若等式成立,则表明服务器和用户双方认证成功,并建立了共享密钥K 。
以下命题给出了用户和服务器会话密钥的一致性:命题 本文方案实现相互认证的用户和服务器可以建立一个共享的会话密钥。
证明:在密钥协商与认证阶段的步骤2中,服务器确认用户的真实身份,然后计算会话密钥12(')s i K h wT B T −=。
因为(||||)i B h x id cid =,11i i B B −=。
又因为2i T rB G =,12i B T −=1i i B rB G −=rG ,所以K 可表示为K =(')s h wT rG 。
在密钥协商与认证阶段的步骤3中,用户验明服务器的真实身份,然后计算会话密钥3'(')s K h rT T =。
由于3T wG =,因此'(')s K h rT wG ==K 。
值得注意的是,本文方案也可以实现用户口令的更新、智能卡的挂失和启用、用户撤销等功能。
其具体实现过程与文献[4]类似。
3 安全性分析本文方案的安全性是基于安全单向哈希函数和椭圆曲线上的离散对数难问题。
在相互认证的实现过程中,服务器根据存储的注册用户信息认证其身份的真实性,而用户利用服务器的响应信息认证服务器,然后构建会话密钥,引入时延限制,保护了用户密钥的隐私,并提高了系统的安全性和有效性。
该方案的安全性分析如下: (1)本文方案的安全性是基于安全单向哈希函数和椭圆曲线上的离散对数难问题。
攻击者可以窃听用户的请求信息12(,,,)c T T T id 。
根据1()c T h T rG =计算出c T rG ,进而利用c T 获取rG 的值,攻击者将先后面临求解安全单向哈希函数问题和椭圆曲线上的离散对数难问题。
又根据2i T rB G =求解rG 将面临椭圆曲线上的 离散对数难问题。
同样,由2T 求解r 也面临椭圆曲线上的离散对数难问题。
通过窃听方式,攻击者可以获得服务器的响应信息13(,,')s V T T 。
根据11(||||')s V h T K T =获取共享密钥K ,攻击者将面临求解安全单向哈希函数问题。
为了计算共享密钥K =(')s h wT rG ,攻击者需要从3T wG =求解出w ,这将面临椭圆曲线上的离散对数难问题。
由用户确认信息中的21(||'1||'')c V h T K T =+求解共享密钥'K ,攻击者将面临求解安全单向哈希函数问题。
(2)利用用户的pw 和智能卡存储数据来认证其身份,提高了系统的安全性。
攻击者只获取了用户的口令pw ,不能冒用用户获取服务。
攻击者没有获取智能卡,他不能得到智能卡中的存储信息'i B 、G 和r 。