一种基于口令与对称密钥体制的双向身份认证方案

时间:2022-05-27 12:36:50

【前言】一种基于口令与对称密钥体制的双向身份认证方案由文秘帮小编整理而成,但愿对你的学习工作带来帮助。1 引言 由于移动网络的快速发展,越来越多的人们开始使用手机等移动终端设备上网,各种电子服务与电子交易发展也十分迅速。而远程用户要获得远程服务器的服务或者进行电子交易,用户与服务器之间在开放的网络中确认双方的身份是十分重要的。为了让人们更加安全地在网...

一种基于口令与对称密钥体制的双向身份认证方案

【 摘 要 】 文章提出了一种基于口令对称密钥体制双向身份认证方案。在假设通信双方为电子钱包客户端和电子钱包服务器的应用环境中,利用对称密钥算法实现了通信双方的相互认证、会话密钥的交换以及用户的匿名性。最后对方案的安全性和性能作了分析。

【 关键词 】 口令;对称密钥;双向;身份认证

【 中图分类号 】 TN

【 Abstract 】 This paper proposes a two-way identity authentication scheme based on the password and symmetric key system.Under the assumption that communication on both sides for electronic wallet client and electronic wallet server application environment,using symmetric key algorithm implements mutual authentication between the two sides of communication、the session key exchange and user anonymity.Finally, the solution of the security and performance were analyzed.

【 Keywords 】 password;symmetric key;two-way;the identity authentication

1 引言

由于移动网络的快速发展,越来越多的人们开始使用手机等移动终端设备上网,各种电子服务与电子交易发展也十分迅速。而远程用户要获得远程服务器的服务或者进行电子交易,用户与服务器之间在开放的网络中确认双方的身份是十分重要的。为了让人们更加安全地在网络上进行交易,基于网络的安全问题已经成为信息社会急需解决的问题之一。项金萍提出的基于口令的两方认证和密钥交换协议的研究,实现了用户和远程系统的相互认证,但是因为采用了智能卡和读卡器,并不适合应用于手机等移动设备。杨a涵提出的可证安全的口令认证密钥交换协议研究,因为采用了公钥算法,对移动终端的资源需求较大。万泓伶提出的基于口令的认证系统设计与实现,运用了计算量较大的模运算。林远辉提出的基于口令的三方认证密钥交换协议研究,采用了开销较大的公钥算法。由徐会艳提出的基于口令的身份认证方案的研究,运用了开销较大的签名运算。李晓伟提出的可证明安全的认证与密钥协商协议研究,也采用了开销较大的公钥算法。本文提出的身份认证方案,因为采用了对称密钥算法,对系统资源需求较低,适合应用于手机设备等移动终端环境。

2 方案设计

2.1 用户注册

用户A设定使用电子钱包的账户名IDA和口令pwA。服务器将一个共享的对称密钥kA和对应IDA的匿名标识snA存入到客户A的电子钱包客户端中,服务器保存了snA与IDA及h(pwA)的映射关系,用户A下载并安装电子钱包客户端,用户不能访问存储kA和snA的区域。

2.2 认证流程

方案的具体认证流程如图1所示。

(1)用户输入用户名IDA和口令pwA登陆电子钱包客户端。

(2)客户端选取随机数r1并作存储,用对称密钥kA加密r1 || IDA为E(r1 || IDA),把E(r1 || IDA),snA打包为MA发送至服务器。

(3)服务器收到MA后,检测snA是否存在于数据库,若存在则查找对应的IDA,否则拒绝认证。通过snA查找到对应IDA的共享对称密钥kA,用对称密钥kA解密E(r1 || IDA)得到r1 || IDA,存储r1。服务器选取随机数r2、会话密钥k'并作存储,用对称密钥kA加密IDS || k' || r1 为E(IDS || k' || r1),把E(IDS || k' || r1),r2打包为MS发送至客户端。

(4)客户端收到MS后,用对称密钥kA解密E(IDS || k' || r1)得到IDS || k' || r1,比较解密得到的随机数r1'与客户端已存储的r1是否相同,相同则存储会话密钥k'和随机数r2,否则拒绝认证。客户端用会话密钥k'加密r2 || h(pwA)为M0,然后发送M0至服务器。

(5)服务器收到M0后,用会话密钥k'解密M0得到r2 || h(pwA),比较解密得到的随机数r2'、h(pwA)'与服务器端已存储的r2、h(pwA)是否相同,相同则认证成功,否则拒绝认证。认证成功后,服务器更新snA为sn'A。用会话密钥k'加密IDS || sn'A为M1,然后发送M1至客户端。

(6)客户端收到M1后,用会话密钥k'解密M1得到IDS || sn'A,存储匿名标识sn'A,用作下一次用户的登录认证。

3 安全性和性能分析

3.1 方案的安全性

性质1:认证方案可以实现会话密钥的安全交换。

证明:步骤(3)中服务器通过匿名标识snA查找到对应IDA的共享对称密钥KA,从而解密了E(r1 || IDA),确认了消息MA的真实性以及用户的真实身份IDA。服务器选取会话密钥k',用对称密钥KA加密IDS || k' || r1为E(IDS || k' || r1)传输至客户端,保证了会话密钥k'的安全传输。步骤(4)中客户端用对称密钥KA解密E(IDS || k' || r1)得到IDS || k' || r1,通过比较解密得到的随机数r'1与客户端已存储的r1是否相同,从而确认了消息MS以及随机数r1的真实性,客户端存储会话密钥k',因此会话密钥的安全交换得以实现。

性质2:认证方案可以保证用户与服务器之间的可认证性。

证明:步骤(3)中服务器通过匿名标识snA查找到对应的IDA共享对称密钥kA,解密E(r1 || IDA)得到r1 || IDA,通过比较解密得到的ID'A与服务器已存储的IDA是否相同,从而确认了用户身份的真实性,用户身份得以认证。步骤(4)中客户端用对称密钥kA解密E(IDS || k' || r1)得到IDS || k' || r1,通过比较解密得到的随机数r'1与客户端已存储的r1是否相同,从而确认了消息MS以及随机数r1的真实性,服务器身份得以认证。步骤(5)中服务器用会话密钥k'解密M0得到r2 || h(pwA),通过比较解密得到的随机数r'2 、h(pwA)'与服务器端已存储的r2 、h(pwA)是否相同,实现了用户口令的认证,因此用户与服务器之间的可认证性得以保证。

性质3:认证方案可以保证用户的匿名性。

证明:步骤(2)中客户端通过匿名标识snA隐藏用户的真实身份IDA,snA仅在用户向服务器发起认证的消息MA中。步骤(3)中服务器发给用户的应答是含有随机数r1的消息MS,除用户本人外,任何人都不知道该报文是发给谁的,保证了用户身份的机密性。步骤(5)中用户与服务器认证成功后,服务器更新snA为sn'A,因此有效地保证了用户的匿名性。

3.2 性能分析

3.2.1 客户端

计算开销:用H代表一次hash计算,E代表一次对称加密计算,D代表一次对称解密计算,用λ代表hash函数输出的位长。

步骤(2)中客户端用对称密钥kΑ加密r1 || IDA为E(r1 || IDA),需要一次对称加密计算,步骤(4)中客户端用对称密钥kΑ解密E(IDS || k' || r1)得到IDS || k' || r1,需要一次对称解密计算,用会话密钥k'加密r2 || h(pwA)为M0,需要一次对称加密计算和一次hash计算,步骤(6)中客户端用会话密钥k'解密M1得到IDS || sn'A,需要一次对称解密计算,客户端的计算开销总计为H+2E+2D。

步骤(2)中客户端发送消息MΑ至服务器、步骤(4)中客户端收到消息MS、发送消息M0至服务器、步骤(6)中客户端收到消息M1需要的通信开销大致为2| r1 | + | IDA | + | snA | + 2| IDS | + | k' | + 2| r2 | + | λ | + | sn'A | 。

| r1 | 、 | IDA | 、 | snA |、| IDS | 、 | k' |、| r2 |、 | sn'A |分别代表 r1 、 IDA 、 snA 、IDS 、 k' 、 r2 、sn'A 的标准位长。

3.2.2 服务器

步骤(3)中服务器用对称密钥kΑ解密E(r1 || IDA)得到r1 || IDA,需要一次对称解密计算,用对称密钥kΑ加密IDS || k' || r1为E(IDS || k' || r1),需要一次对称加密计算,步骤(5)中服务器用会话密钥k'解密M0得到r2 || h(pwA),需要一次对称解密计算,用会话密钥k'加密IDS || sn'A为M1,需要一次对称加密计算,服务器的计算开销总计为2E+2D。

步骤(3)中服务器收到消息MA、发送消息MS至客户端、步骤(5)中服务器收到消息M0、发送消息M1至客户端需要的通信开销大致为2| r1 | + | IDA | + | snA | + 2| IDS | + | k' | + 2| r2 | + | λ | + | sn'A |。

4 结束语

本文通过运用口令和对称密钥算法,实现了客户端和服务器的双向身份认证,不仅完成了会话密钥的安全交换,而且也保证了用户的匿名性,用户的隐私得到了有效保护。在安全性得到保障的同时,也获得了较好的性能。

参考文献

[1] 项金萍.基于口令的两方认证和密钥交换协议的研究[D].杭州师范大学,2011.

[2] 杨a涵.可证安全的口令认证密钥交换协议研究[D].中国矿业大学,2013.

[3] 万泓伶.基于口令的认证系统设计与实现[D].电子科技大学,2013.

[4] 林远辉.基于口令的三方认证密钥交换协议研究[D].山东大学,2014.

[5] 徐会艳.基于口令的身份认证方案的研究[D].南京理工大学,2010.

[6] 李晓伟.可证明安全的认证与密钥协商协议研究[D].西安电子科技大学,2013.

基金项目:

国家自然科学基金资助项目(61472343)。

作者简介:

李纯(1992-),男,汉族,江苏徐州人,扬州大学信息工程学院,硕士,研究生;主要研究方向和关注领域:信息安全。

王斌(1976-),男,汉族,江西南昌人,上海交通大学,博士,硕士生导师,副教授;主要研究方向和关注领域:信息安全。

黄秋林(1992-),女,汉族,江苏南通人,扬州大学信息工程学院,硕士,研究生;主要研究方向和关注领域:信息安全。

上一篇:基于同态加密的统计数据处理 下一篇:浅析基于支付标记化技术的移动支付安全方案