APP下载

基于双线性对的双向认证密钥交换协议

2014-11-30黄朝阳汤碧玉

计算机工程与设计 2014年8期
关键词:智能卡口令密钥

黄朝阳,汤碧玉

(1.厦门海洋学院 信息技术系,福建 厦门361100;2.厦门大学 信息科学与技术学院,福建 厦门361005)

0 引 言

身份认证技术从单口令认证的原始形态,已逐一结合各种物理因素、生物特征等多种安全技术。随着密码学研究的不断进展,各种高性能密码体制相继出现在各种认证协议中。

椭圆曲线上的双线性对运算具有同等安全强度下密钥短、计算量小的优点,在密码学应用中受到广泛关注,2001年Boneh等首次将它引入基于身份的密码系统中。2006年Das等完整地提出双线性上的智能卡口令认证协议,此后Jeon等在此协议框架基础上不断进行漏洞分析并提出各种改进方案。Vo等[1]使用乘法逆元法成功对Jeon等的方案进行冒充攻击。Pathan等[2]详细分析了之前各种方案的弊端并提出一个改进的方案,并声称是安全的,但仍可能通过邻近穷举法破解登录时间T,继而对此方案发起有效攻击。

前述各种协议或多或少存在不能抵御各种形式的冒充攻击、离线攻击、口令猜测攻击、反射攻击、智能卡破解攻击的弊端[3,4],同时还存在口令更改缺陷、单向认证和一次性会话密钥协商空白等不足。针对前述协议中存的各种问题,本文设计了一个基于双线性对的双向认证密钥交换协议,协议中综合运用多种安全技术,分析验证了该协议有较好的性能。

1 双向认证密钥交换协议

协议的安全性基于杂凑函数的不可逆性、椭圆曲线上的离散对数难题 (elliptic curve discrete logarithm problem,ECDLP)和双线性对数学难题,由系统初始化、注册、登录、认证、会话密钥协商阶段、口令更新6个阶段组成。与文献 [5]相比较,整个认证过程无需可信第三方的参与,认证架构较为简单。

约定本文所用符号如下:Ui-用户i;AS-远程服务器;IDi、PWi、Fi-用户i的账号、密码及指纹特征值;Kas-AS的密钥;Pubas-AS的公钥;H(*)-单向杂凑函数;ê-双线性对映射;Ru-用户生成的随机数;Tu-用户的时间戳;Tas-服务器的时间戳;||-字符串连接;-X与Y第k次登录认证成功后的一次性会话密钥。

1.1 系统初始化阶段

(1)AS选定一个q阶的加法循环群G1、q阶乘法循环群G2、安全杂凑函数H(*)。其中P为G1的生成元,在G1和G2间存在双线性映射ê:G1×G1→G2;

(2)AS选定自己的安全密钥Kas,并计算出公开密钥Pubas=Kas·P;

AS对外公开参数 {G1,G2,ê,q,P,Pubas,H(*)}

1.2 注册阶段

Ui首先在终端上输入IDi、PWi和指纹;生物特征提取器计算指纹生物特征信息值Fi,随后Ui计算出H(Fi)和Ci=H (PWi⊕Fi)。

Ui通过可信信道向AS发送注册消息 {IDi,H(Fi),Ci}。

AS收到Ui的注册申请后,执行下述验证注册步骤:①计算:RMi=Kas·H(IDi),Bi=RMi+Ci;②将 {IDi,Bi,H(Fi),H(*)}存储到新的智能卡,将此智能卡通过安全信道发给注册用户Ui。

1.3 登录阶段

Ui插卡,输入IDi、PWi及指纹信息Fi,智能卡执行下述操作:

步骤1 验证输入的IDi与智能卡中存储信息的一致性;

步骤2 计算H (Fi)’,并验证计算结果是否与智能卡中存储的匹配;

步骤3 计算RMi’=Bi-H(PWi⊕Fi),验证等式ê(RMi’,P)=ê (H(IDi),Pubas);

只有合法用户Ui持有有效智能卡的同时,还具备正确的IDi和生物特征信息情况下,上述验证式才会成立,从而实现对Ui及其所持有智能卡的合法性检验。

步骤4 选取随机数Ru,根据当前时间戳Tu计算M1=Ru·P,M2=H(M1)·RMi’+Tu·Ru·Pubas;

Ui通过公共信道向AS发送登录请求消息 {IDi,M1,M2,Tu}。

1.4 认证阶段

(1)用户Ui的合法性认证

假定AS在Tas时刻收到Ui登录请求,将执行以下操作来完成登录认证:

步骤1 验证IDi和时间戳:如IDi存在且Tas≠Tu、Tas-Tu≤ΔT成立则继续,否则拒绝;

步骤2 计算验证式ê(M2-Tu·Kas·M1,P)=ê(H(IDi),Pubas)H(M1);

如果等式成立则通过Ui合法性认证,并执行以下交互认证步骤。

步骤3 计算M3=Tas’·Kas·H(IDi)+Kas·M1,Tas’为AS当前的时间戳;

步骤4 通过公共信道发送交互认证消息 {M3,Tas’}给Ui。

(2)AS的合法性认证

Ui在Tu’时刻收到交互认证消息后,执行下列步骤对AS认证:

步骤1 验证时间戳:若Tu≠Tas’且Tu’-Tas’≤ΔT则继续,否则拒绝;

步骤2 计算验证式ê(M3-Ru·Pubas,P)=ê(H(IDi),Pubas)Tas′:

如等式成立则通过AS合法性认证。图1给出了上述协议的注册、登录和认证细节。

1.5 会话密钥协商阶段

第k次认证成功以后Ui以SKkUAS=H(RMi’||Tu||Tas’||Ru·Pubas)作为此次登录认证后从Ui到AS一次性安全会话密钥,AS方则以SKkASU=H(RMi||Tu||Tas’||M1·Kas)作为第k次成功认证后的从AS到Ui一次性安全会话密钥,=的证明见2.1。

1.6 口令更新

口令更新不需要AS协助,Ui想更改口令时,只需插入智能卡并按照提示输入IDi、原有口令PWi以及新选口令,并输入Fi。智能卡后续更新操作如下:

(1)验证输入的IDi与智能卡中存储信息的一致性;

(2)计算H(Fi)’,并验证计算结果是否与智能卡中存储的H(Fi)匹配;

(3)计算RMi’=Bi-H(PWi⊕Fi),验证等式ê(RMi’,P)=ê(H(IDi),Pubas),等式正确性证明同上;

(4)计算B*i=Bi-H(PWi⊕Fi)+H(PW*i⊕Fi),并用B*i替代智能卡中原有的Bi。至此口令更新完成。

2 性能证明和效率分析

2.1 等式正确性证明

(1)登录认证阶段步骤3的等式正确性证明:

2.2 安全性证明

命题1:协议能抵御口令猜测攻击

证明:在线口令猜测攻击只需通过设置登录阈值的安全机制,当连续错误超过限定次数将被拒绝登录,因此在线口令猜测攻击无法实现。离线口令猜测攻击分以下几种情景:

情景1:AS内部授权人员获取用户相关信息 H(Fi)和Ci=H(PWi⊕Fi)后无法发起的口令猜测攻击。

因为用户的生物特征信息是以杂凑值的形式出现,密钥PWi更是与Fi先异或再杂凑的值出现,基于杂凑函数的单向安全性,授权的内部人员根本无法获得用户的PWi和Fi信息,从而能抵御内部攻击。

情景2:由于AS上没有保存用户的任何原始信息,如PWi、Fi,所以攻击者即使攻破服务器后也无法进行离线口令猜测攻击。

情景3:攻击者盗取用户的智能卡后,首先智能卡芯片的安全机制为卡内信息提供了第一重保护;即使攻击者暴力破解获得卡内信息IDi、H(Fi)、Bi=RMi+Ci,但攻击者欲离线计算出Fi、PWi和Kas值的时候,将面临着杂凑函数不可逆难题和椭圆曲线上的离散对数难题ECDLP。

命题2:协议能抵御冒充攻击

证明:冒充攻击的前提是成功伪造认证消息M1,M2或M3。

情景1:直接伪造认证消息不可行。构造M2的关键值为RMi’=Bi-H(PWi⊕Fi)=Kas·H(IDi),构造 M3的关键值为Kas。攻击者无法直接获得Kas;而通过Pubas求取Kas则面临ECDLP难题;Kas为长安全密钥,具有无规律且随机的安全特性,对其进行离线口令猜测不可行。另一途径,通过Bi计算RMi’需要PWi、Fi,但PWi、Fi或H(PWi⊕Fi)并不在公共信道上传输,无法经由窃听获得,从而无法伪造认证消息实现冒充攻击。

情景2:攻击者截获合法认证消息后,采用时间戳乘法逆元的方式[1]伪造认证消息M2’不可行。因为验证式ê(M2-Tu·Kas·M1,P)的构造中及时将M2后半部的时间戳信息Tu·Ru·Pubas通过-Tu·Kas·M1去除,而M2的前半部分信息构成:H(M1)·RMi’并不包含任何时间戳信息。所以用时间戳乘法逆元来伪造M2’不成功。

命题3:协议能抵御重播攻击

证明:构造认证消息M2和M3过程中均引入时间戳机制,而且采用认证时间与其它消息混合运算及部分嵌入的方式,从而大大提高了时间戳所带来的安全性。消息的接收方不仅进行时间间隔阈值检查,也进行双方时间戳一致性检查。所以重播攻击无法成功。

命题4:协议能抵御反射攻击

证明:认证消息M2和M3在结构上完全不对称,而且两者在构成上亦无章可循,因此反射攻击无法成功。

命题5:协议提供了双向认证性

证明:只有合法的Ui和AS才可能在认证阶段构造出所有正确的认证消息M1,M2和M3,接收方通过双线性对上的运算来验证消息的正确性,实现双方相互认证。

命题6:协议协商了安全的一次性会话密钥

证明:会话密钥中包含 {Kas,IDi,PWi,Fi,Tu,Tas’,Ru}多种信息,既包含Ui的编号、密码等软信息,又包含了用户生物特征信息,也涵盖了AS的秘密密钥,同时还设计有一次性随机数和双方认证时的时间戳信息,即使是同一对用户与服务器间的两次不同认证过程,这些一次性信息亦各不相同。除Tu,Tas’外,会话密钥的其它组成部分均不以原始信息的方式出现在公共信道上,可实现真正安全的一次一密。

2.3 性能分析

本文所提出的认证协议无需可信第三方的参与。从图1观察通信交互次数,本协议的整个登录和认证过程仅需认证双方共2次的信息交换,通信代价明显低于文献 [5,6]的信息交换次数。

本协议所需计算量见表1。其中,P:双线性对运算;E:幂运算;S:倍乘运算;H:杂凑运算;A:加法运算;XOR:异或运算。

表1 本文协议的计算量

研究结果表明,160位和210位的椭圆曲线密码学(elliptic curve cryptography,ECC)密钥长度分别与1024位和2048位的RSA密钥长度所达到的密码安全强度相当[7]。本文协议所采用的椭圆曲线密码体制具有安全性高、计算量小、存储空间小的优点[8],比Pathan et al.方案[2]及方案[9]中所使用的其它公钥密码体制计算难度小、速度快。在同等安全强度下,与RSA等其它非对称加密算法所使用的数学运算相比较[10],计算代价较少。

而双线性对运算是已知最复杂的密码操作,运行一次双线性所需的时间至少是椭圆曲线上点乘操作的20倍以上[11]。远程身份认证协议的服务器通常要同时处理多个登录认证请求,因此AS端的计算量对整个协议的效率影响最大。虽然本协议的双向认证过程总共使用了3次双线性对运算,但是在AS端只产生一次双线性对运算,从而保证了本协议的高效性。

3 结束语

本文引入椭圆曲线密码和双线性对来改良基于生物特征的智能卡口令身份认证协议,实现双向认证的同时完成一次性密钥协商,该协议具有良好的安全性和实用性。整个认证过程不需可信第三方的参与,协议的安全性建立在ECDLP和双线性对难题基础上,能有效抵制各种已知的攻击,认证安全性高;协议只设计了2次的信息交互来实现双向认证,通信代价较低;认证过程仅使用少量简单杂凑运算、异或运算和双线性对运算,同等安全强度下相比其它非对称加密算法具有较高的效率和可行性。后续的工作重心是优化服务器算法,进一步减轻服务器的计算量。

[1]Vo DL,Kim K.Security enhancement of a remote user authentication scheme using bilinear pairings and ECC [C]//IFIP International Conference on Network and Parallel Computing Workshops,2007:144-147.

[2]Pathan ASK,Hong CS.Bilinear-pairing-based remote user authentication schemes using smart cards [C]//Proceedings of the 3rd International Conference on Ubiquitous Information Management and Communication,2009:366-371.

[3]KONG Mengrong,ZHU Guohua.Remote authentication scheme based on smart card [J].Computer Engineering and Design,2008,29 (3):606-608 (in Chinese).[孔梦荣,朱国华.基于智能卡的远程认证体制 [J].计算机工程与设计,2008,29 (3):606-608.]

[4]XU Chunxiang,TANG Anyang.A remote user authentication scheme with smart cards using bilinear pairings [J].Journal of University of Electronic Science and Technology of China,2008,37 (5):733-736 (in Chinese).[许春香,唐安阳.使用双线性对构造的智能卡口令认证方案 [J].电子科技大学学报,2008,37 (5):733-736.]

[5]TANG Hongbin,LIU Xinsong.Enhanced smart card based remote user authentication scheme [J].Computer Engineering and Applications,2012,48 (19):61-65 (in Chinese).[唐宏斌,刘心松.增强的基于智能卡的远程用户认证协议 [J].计算机工程与应用,2012,48 (19):61-65.]

[6]Li Chunta,Huang Minshiang.An efficient biometrics-based remote user authentication scheme using smart cards [J].Journal of Network and Computer Applications,2010,33 (1):1-5.

[7]CHANG Qing,ZHANG Yongping, QIN Linlin.Pairingbased node authentication protocol for WSN [J].Network & Computer Security,2010,10 (12):9-11 (in Chinese).[常晴,张永平,秦琳琳.基于双线性对的WSN节点认证协议[J].计算机安全,2010,10 (12):9-11.]

[8]SHANG Yanhong,HOU Jinfeng.Analysis and forecast of elliptic curve cryptosystem [J].Journal of Tangshan Teachers College,2012,34 (5):44-46 (in Chinese).[商艳红,候金凤.椭圆曲线密码体制的分析和展望 [J].唐山师范学院学报,2012,34 (5):44-46.]

[9]ZHOU Huihua.A two-party authenticated key exchange protocol based on TTP [J].Computer Engineering & Science,2012,34 (10):38-42 (in Chinese).[周慧华.一种基于TTP的两方认证密钥交换协议 [J].计算机工程与科学,2012,34 (10):38-42.]

[10]YANG Tonghao,YU Bin.Identity-based authentication scheme for ZigBee nodes [J].Computer Engineering and De-sign,2012,33 (11):4127-4130 (in Chinese).[杨同豪,郁滨.基于身份的ZigBee节点认证方案 [J].计算机工程与设计,2012,33 (11):4127-4130.]

[11]Chen L,Cheng Z,Smart N P.Identity-based key agreement protocols from pairings [J].International Journal of Information Security,2007,6 (4):213-241.

猜你喜欢

智能卡口令密钥
探索企业创新密钥
密码系统中密钥的状态与保护*
高矮胖瘦
东方磁卡李晓东:进击的智能卡研发巨子
口 令
一种对称密钥的密钥管理方法及系统
基于STC89 单片机的非接触智能卡读写机设计
好玩的“反口令”游戏
基于ECC的智能家居密钥管理机制的实现
SNMP服务弱口令安全漏洞防范