1. 引言
如今,第五代(5G)无线网络已经成为新一代的泛在移动通信网络,吸引了全世界学术界和工业界的大量研究。5G网络具有高速度、低时延、低功耗的特点,开启了万物互联的新时代。目前,在世界一些社区,已经实现了从消费到生产、从人到物的5G互联通信。同时,超高可靠性和低时延的通信也已应用于车联网等应用场景。此外,5G还带动了各种在线服务行业,如远程办公、远程医疗、网络购物、在线直播、云游戏等,越来越多的人开始尝试和享受网络服务带来的便利。可以说,这种趋势在未来会更加明显。
在5G改变我们生活的同时,移动设备也因为其便利性而占据了我们的生活。移动设备可以不受地域限制,无论何时何地,都可以享受在线服务。图1显示了移动客户端–服务器通信模型。然而,这种便利性也对安全性提出了挑战,也就是说,攻击者可以轻易地窃听合法用户之间共享的信息。例如,如果数据在无线通信中被“嗅出”,或者安装了一些恶意软件,入侵者就可能获得非法访问权。为了在合法参与者之间安全地分享信息,需要一个安全的认证协议。
![](//html.hanspub.org/file/15-2623021x8_hanspub.png?20221212083445352)
Figure 1. The mobile client-server communication model
图1. 移动客户端–服务器通信模型
早期的认证协议主要是基于单一因素,也就是口令。1981年,Lamport等人 [1] 首次提出了一个使用单向散列函数将口令存储在服务器数据库中的认证协议。从那时起,许多研究者开始研究单因素认证协议。在此期间,许多基于口令的认证方案被提出 [2] - [8]。
尽管基于口令的认证协议具有很高的效率,但研究人员后来意识到,仅仅基于口令的认证协议是不安全的。究其原因是因为口令很容易被破解,存储口令散列值的数据库也很容易被泄露。因此,在2005年,Fan等人 [9] 提出了一种基于口令和智能卡的双因子认证协议。此后,大量的研究人员关注双因子认证方案,并提出了很多方案 [10] - [16]。
之后,为了进一步提高方案的安全性,研究人员提出了大量基于口令、智能卡和生物识别信息的三因子认证方案 [17] - [23]。
然而,我们注意到,虽然大多数研究方案提高了安全性,但它们往往忽略了一个重要的问题,即在一些应用场景中的客户端设备,如资源密集型的物联网设备和移动设备,往往具有计算能力有限、内存空间小和电池寿命短的特点。一些基于双线性配对、三因子的方案往往需要高的计算和内存成本。我们认为,在移动环境中,我们应该在安全性和性能之间做出权衡。
2004年,Das等人 [24] 提出了一个使用智能卡的基于动态ID的远程用户认证方案。他们声称,他们的方案允许用户自由选择和改变他们的口令,而不需要维护任何验证表。然而,在2009年,Wang等人 [25] 指出,文献 [24] 中方案对于其独立的口令来说是完全不安全的,而且未能实现相互认证,所以无法抵御冒充服务器的攻击。因此,他们在原有方案的基础上提出了一个改进的认证方案。此后不久,2011年,Khan等人 [26] 指出,文献 [25] 中的方案不能保证用户的匿名性,用户在自由选择口令时没有选择权,而且该方案没有对丢失或被盗的智能卡进行撤销的规定,因此他们提出了一个改进的认证方案,该方案改进了文献 [25] 的所有已发现的缺点。
2016年,Xie等人 [27] 提出了一个可证明安全的基于动态ID的匿名认证密钥交换协议。他们声称,他们的方案具有很高的安全性,可以抵御各种攻击。紧随其后,Li等人 [28] 评论说,Xie等人的方案 [27] 在智能卡丢失时存在离线字典攻击。此外,Abbasinezhad-Mood等人 [29] 指出,文献 [27] 中的方案容易受到三种攻击,如密钥泄露伪装攻击、已知会话特定临时信息攻击、DOS攻击。因此,他们提出了一个具有增强安全性的方案,该方案不仅保留了Xie等人的方案的优点,而且还提供了更好的执行时间。
不久之后,在2019年,Ying等人 [30] 提出了一种新的5G网络远程用户认证协议,基于椭圆曲线密码学的自认证公钥密码系统。然而,文献 [31] 表明,Ying等人的方案不能抵御身份猜测、口令猜测和用户冒充攻击。此外,它缺乏强大的用户匿名性和真正的双因子安全。
最近,有人提出了一些方案。在2020年,Kumari等人 [32] 提出了一个使用智能卡的基于ECC的认证协议。该方案可以抵御各种攻击,并确保安全和隐私。2021年,Tsobdjou等人 [33] 提出了一个客户端–服务器环境下的轻量级相互认证协议。该协议具有匿名性和不可链接性,可以更好地保证用户的隐私。然而,该方案的缺点是有一个口令验证表,这使得它容易受到攻击。
虽然研究人员提出了多种基于不同密码系统的认证协议,但其中一些仍然存在安全漏洞,或者不适合资源受限设备。我们认为,为解决这个问题而提出的认证协议应该满足以下要求。
1) 拟定的协议应该是相对轻量级的,因为移动设备的资源是有限的。
2) 应该保证匿名性和不可链接性,以保护用户的隐私。
3) 为了确保高安全性,防止敌手通过从截获的信息破坏协议的安全性。
本文主要有以下贡献。
1) 我们提出了一种新的基于椭圆曲线的双因子认证密钥交换协议。
2) 相互认证是通过不安全的公共通道在用户和服务器之间实现的。
3) 我们提出的方案具有匿名性、不可链接性、无密码验证表和完美的前向安全性等安全特征,可以抵御离线密码猜测攻击、不同步攻击、密钥泄露冒名攻击、已知会话特定临时信息攻击和重放攻击。
4) 我们用BAN逻辑正式分析并证明了该增强方案的安全性。
5) 我们将我们的方案与其他相关方案进行了比较,并在安全和性能两方面找到了平衡点。
本文的其余部分组织如下。第2节将介绍拟议方案中使用的密码学基础知识。第3节介绍我们新的基于椭圆曲线的动态匿名相互认证密钥交换协议,而第4节将分析其安全性。第5节分析了所提协议的安全功能和性能。最后,我们给出了本文的结论。
2. 基础知识
2.1. Hash函数
单向哈希函数
的特性是接受任意长度的输入字符串
并生成确定长度的输出字符串l。我们认为一个安全的哈希函数应该满足不可逆转性和弱/强抗碰撞性,其定义如下。
1) 给定一个哈希值
,很难找到一个输入
,使
。
2) 给定一个
,计算
满足
,
在计算上是不可行的。
3) 很难找到两个不同的消息
,使得
。
的抗碰撞性可以定义为:
定义一:抗碰撞单向哈希函数。敌手
可以找到两个消息
,使
的优势被描述如下。
其中,敌手被允许随机选择两个消息
,并以多项式时间t计算对随机值的优势概率。如果
,而
是一个足够小的量,那么哈希函数
被称为抗碰撞。
2.2. 椭圆曲线加密
与RSA等其他传统密码系统相比,椭圆曲线密码系统(Elliptic Curve Cryptography, ECC)可以用较小的密钥提供同样的安全水平,因此,本文将充分利用这一优势。ECC方程为
,它是在一个有限域
上定义的,其中p是一个选定的巨大素数,
[34] [35]。此外,非星形椭圆曲线必须满足
。在ECC中,标量乘法是通过重复加法获得的。例如,让G是椭圆曲线
上的一个基点,其阶数为n,则
(n次)。
定义二:椭圆曲线离散对数问题(ECDLP)。给出
中的两个任意点
,计算出满足
的标量n。敌手
在多项式时间t内计算出n的概率定义为。
ECDLP假设的结论是:
而
是一个足够微小的量。
定义三:椭圆曲线Diffie-Hellman问题(ECDHP)。给定两个点
和
,其中P是一个基点,
,计算点
在计算上是不可行的。敌手
在多项式时间t内解决ECDHP的概率被描述为。
ECDHP假设的结论是:
而
是一个足够微小的量。
2.3. 符号说明
一些常用的符号显示在表1中。
2.4. 威胁模型
在本节中,我们定义了敌手的能力。在这里,我们采用Dolev-Yao的威胁模型 [36]。根据这个模型,协议所使用的加密原语都是安全的。敌手可以在公开信道监听、拦截、修改、删除、存储和重放任何公开信息。
此外,敌手有能力在短时间内窃取合法用户的智能卡,并通过侧信道攻击提取智能卡中的信息 [37]。
除此之外,敌手还可以通过从智能卡中获得的信息或从公开渠道截获的信息发起离线身份/密码猜测攻击,但敌手不可能在多项式时间内同时猜出用户的身份和密码。
3. 所提方案
在这一节中,我们提出了一个新的动态匿名认证密钥交换方案。我们的方案由四个阶段组成,即初始化阶段、注册阶段、登录和认证阶段以及口令更改阶段。我们
的主要思路如下。a) 对用户的身份ID进行加密,以确保方案中的匿名性;b) 将用户的加密ID隐藏在信息中,从而实现动态性,达到不可链接性;c) 在方案中,智能卡不需要在本地验证存储在智能卡中的信息,从而防止离线字典猜测攻击。
3.1. 初始化阶段
在这个阶段,服务器S生成系统的公共参数以及它自己的长期私钥。S在椭圆曲线
上选择一个由方程
定义的有限域
上的大素数p。然后,服务器在
上选择一个点P,在一个有限域
上选择一个单向哈希函数,
,
。S还选择了一个整数
作为长期秘钥,
是相应的公钥。最后,服务器发布
作为系统的公共参数。
3.2. 注册阶段
在这个阶段,通过一个安全通道,用户U通过执行以下步骤与服务器S注册。
1) 请求注册。一个用户
首先选择自己的身份
,密码
和一个随机数
。然后,
计算
并将他的注册请求
发送给服务器。
2) 初始化智能卡。首先,服务器S通过查询注册表来检查用户
的身份
是否唯一。如果新注册用户的
与已注册用户的ID相同,服务器将要求用户选择另一个。第二,服务器将选择两个随机数
,然后通过使用
的请求信息和他的长期秘密值计算
和
。第三,服务器通过计算
加密
。最后,S将
存入其数据库,并将
写入智能卡
中。然后服务器通过安全通道发放智能卡。
3) 确认智能卡。在收到智能卡
后,用户
首先计算
并将其加入
中。最后,我们可以看到,诸如
这样的数据被保存在智能卡中。
详细的注册阶段在图2中描述。
3.3. 登录和认证阶段
在本节中,我们将详细描述用户的登录和与服务器的认证。图3说明了这个阶段。
1) 发送登录请求。用户
插入他的智能卡
并输入他的身份
和密码
。
计算
,
,
。注意,为了防止离线密码猜测攻击,我们取消了智能卡的认证,由智能卡计算出的值将直接用于服务器认证。之后,SC选择一个随机数
并计算出
,即
。
,
。最后,SC发送登录请求
到服务器S。
2) 对用户进行认证。当服务器收到用户的登录请求时,服务器首先解密
,得到用户的
,然后通过
搜索数据库,得到
。之后,服务器计算
并验证
是否与收到的
相等。如果它们不相等,认证阶段中断。否则,服务器继续执行密钥协议阶段。
3) 生成共享密钥。服务器S选择一个随机数
并继续计算
和
。然后,S将实现共享密钥
为
。
4) 更新用户的身份。服务器S选择一个随机的
,像注册阶段一样重新计算
,其中
。混淆
为
并计算验证人
。最后,S向
发送响应信息
。
5) 确认共享密钥和更新身份。在收到服务器S的响应信息后,用户
首先通过
和
恢复
,然后确认共享密钥
。其次,
通过计算
得到新的身份,并用
替代
。最后,
计算
并验证它是否与收到的
相等。如果它们相等,共享密钥协商成功;否则,用户放弃,协商中断。
3.4. 口令修改阶段
在修改口令之前,用户需要输入旧密码并进行上述的相互认证,然后服务器允许用户修改密码。
选择一个新的密码
和一个新的随机
,然后计算
。
和
。最后,它用新生成的替换
。
![](//html.hanspub.org/file/15-2623021x148_hanspub.png?20221212083445352)
Figure 3. Authentication and key exchange phase
图3. 认证及密钥交换阶段
4. 安全性分析
在这一节中,我们用非正式的安全分析来证明我们的方案可以抵御各种攻击,如密钥泄露伪装攻击、已知会话特定临时信息攻击和离线口令猜测攻击。同时,我们的方案还具有其他安全属性,如动态匿名性和前向安全性。然后,我们使用Burrows-Abadi-Needham逻辑 [38] 来证明所提方案的相互认证。我们还用强大的工具ProVerif [39] 正式分析了所提协议的安全性。
4.1. 非形式化分析
我们非正式地讨论了我们的方案的能力、安全性以及几个理想的属性,它基于这样的假设:恶意的敌手可以窃听、修改、插入或删除通过公共信道传输的任何信息。
4.1.1. 匿名性和不可链接性
我们的目标是让敌手无法判断多个会话是否由同一用户发送。需要注意的是,用户的
受到服务器的私钥
的良好保护。在传输过程中,敌手
无法通过开放信道上传输的信息获得用户的ID。而且,如果不知道服务器的私钥,他也无法解密
。另一方面,在两个不同的会话中,所有的信息,由
随机化,都是新鲜和不同的。因此,我们的协议为用户提供了匿名性和不可链接性。
4.1.2. 离线密码猜测攻击
假设一个敌手
破坏了一张智能卡并获得了存储在其中的参数
。敌手的目标是离线猜出正确的
对。在我们的方案中,我们取消了智能卡离线验证用户的
对的阶段。用户通过计算
得到
,它将参与后续计算并发送给服务器。然而,敌手不能在线进行多次猜测。简而言之,如果敌手想得到
,他需要先猜出
和
,但如果他想验证
和
,他必须得到
的知识。这对任何敌手来说都是不可能的。此外,在我们的协议中,
和
首先被连接起来,然后再应用哈希函数,这也增加了猜测的难度。另一方面,敌手不能获得
,所以不可能通过解密
获得
。
4.1.3. 去同步化攻击
在我们的方案中,不需要增加额外的同步机制来维持用户和服务器之间一次性
和
的一致性。请注意,我们的DID和相应的更新只存储在用户端,服务器不保存相关的值,只对其进行解密。即使认证过程意外中断,用户仍然可以在随后的会话中通过最新的
与服务器互动。
4.1.4. 密钥泄露伪装攻击
假设敌手
得到了服务器
的长期秘钥,并且还窃听了公共频道。
将使用
来获得
,其中
。然而,
不能获得
,所以
不可能通过
检索到
。显然,他也不可能生成
。
4.1.5. 已知特定会话临时信息攻击
假设敌手在某个会话中得到随机秘密值
或
,他仍然不能计算出
或
,因为他对
和
一无所知。因此,
也不能通过认证和恢复会话密钥。因此,我们的协议可以抵御已知会话特定的临时信息攻击。
4.1.6. 已知密钥安全
在我们的方案中,共享密钥
取决于随机值
,在任何会话中生成其中的任何一个是不相关的。此外,这些随机值不在公开信道中传输,敌手无法从已知信息中恢复它们。因此,获得一个会话的共享密钥对计算其他会话的共享密钥没有好处。
4.1.7. 完美前向安全性
由于我们协议中的会话密钥是
,它包含一个取决于随机值
的Diffie-Hellman实例。任何敌手计算
的概率可以忽略不计,只知道
和
,因为Diffie-Hellman问题的难解。因此,我们的方案可以提供完美的前向保密性。
4.1.8. 重放攻击
在我们的方案中,我们使用随机值
来抵御重放攻击。即使敌手将信息
复制到服务器上。他将无法计算会话密钥
,因为他对
一无所知。
4.2. BAN逻辑证明
BAN逻辑在认证协议的形式化分析中发挥了广泛而积极的作用。在本节中,我们用BAN逻辑正式证明了用户和服务器之间的认证。BAN逻辑中使用的一些符号如表2所示,常用规则如表3所示。
![](Images/Table_Tmp.jpg)
Table 2. BAN logic symbol description
表2. BAN逻辑符号说明
![](Images/Table_Tmp.jpg)
Table 3. BAN logic rule description
表3. BAN逻辑规则说明
BAN逻辑分析的理想前提为:
消息1:
消息2:
需要证明的安全目标为:
GOAL1:
GOAL2:
GOAL3:
GOAL4:
新协议的初始化假定为:
A1:
A2:
A3:
A4:
A5:
证明过程如下:
S1:由消息1可得到
S2:根据A4,S1和R1,可以得到
S3:根据S2,A1和R4,得到
S4:根据
可以得到
(GOAL4)
S5:根据S3,A1和R3,我们可以得到
S6:进而可以得到
(GOAL3)
S7:根据消息2,可以得到
S8:根据S7,A4和R1,可以得到
S9:根据S8,A1和R4,得到
S10:由会话密钥的计算公式可得
(GOAL2)
S11:根据S9,A1和R3,可以得到
S12:因此,可以推出
(GOAL1)
上述证明表明我们的方案能确保
和S之间的相互认证。
4.3. ProVerif形式化验证
在这一节中,我们使用ProVerif,一个基于pi-calculus的自动验证工具 [40],来模拟拟议协议的注册阶段、登录和认证阶段。我们参考了Abbasinezhad-Mood等人的 [29] 分析模型,源代码和验证结果如图4所示。结果表明,我们提出的协议可以提供生成的会话密钥的安全性,用户的匿名性,并能抵抗离线口令猜测攻击、重放攻击、伪装攻击和篡改攻击。
![](//html.hanspub.org/file/15-2623021x248_hanspub.png?20221212083445352)
Figure 4. Source code of Proverif and verification results
图4. Proverif工具源代码及验证结果
5. 功能和性能对比
在本节中,我们将从计算成本和通信成本两个方面评估所提出的方案的性能。请注意,初始化阶段、用户注册阶段和密码修改阶段是一次性的执行阶段,因此不在性能分析的范围之内。此外,我们考虑服务器使用具有高计算性能的服务器,而客户端使用具有一般计算性能的移动设备。
5.1. 计算开销
计算成本包括客户端和服务器执行各种操作所需的时间成本。在表5中,我们定义了一些需要使用的符号。需要注意的是,我们认为一些操作(如异或、连接操作等)的执行时间可以忽略不计,因此没有考虑在计算开销中。
我们提出的协议的计算成本在客户端为
,在服务器端为
。
5.2. 通信开销
为了分析通信成本,我们首先计算每个参数的大小(比特)。而计算出的身份和密码的大小为64比特;哈希(SHA-256)输出为256比特。随机生成的随机数为64比特,时间戳大小为32比特。而椭圆曲线的点的大小为320比特。因此,在我们提出的方案中,客户和服务器各发送一个消息,其中消息1由
组成,消息2由
组成,所以总的通信开销是
。
5.3. 安全功能对比
我们将我们提出的方案与Xie等人 [27]、Ying等人 [30]、Haq等人 [31]、Kumari等人 [32] 以及Tsobdjou等人 [33] 的相关方案进行比较。这些安全性功能包括无密码验证表、口令友好、无时钟同步、相互认证、用户匿名、不可追踪性、前向保密性、抗重放攻击、抗伪装攻击。表4显示了比较结果,证实我们的方案同时实现了上述所有特性。
![](Images/Table_Tmp.jpg)
Table 4. Security functionalities comparision
表4. 安全功能对比
注:表中Y代表方案满足对应功能;N代表方案不满足对应功能;N/A表示该属性不适用于该方案。
5.4. 性能对比
为了证明我们提出的方案的效率,我们将我们的方案与Xie等人 [27]、Ying等人 [30]、Haq等人 [31]、Kumari等人 [32] 以及Tsobdjou等人 [33] 的相关方案在计算开销和通信开销进行了对比。
我们考虑采用128位密钥的对称加密算法的高级加密标准。我们使用方案 [33] 中定义的服务器和移动设备执行时间,其中服务器使用英特尔酷睿i7-6700 3.40 GHz处理器,16 GB内存和Windows 10 Enterprise 64位操作系统,移动设备使用Asus Z00D,搭配Intel Atom Z2560 1.60 GHz处理器,2 GB内存和Android 5.0.1操作系统,并使用Java编程语言来编写各种操作。
表5显示了在服务器端和客户端不同操作的执行时间。表6和图5(a)显示了计算成本的比较。表7和图5(b)显示了通信成本的比较。
通过比较,我们可以得出结论,我们提出的方案在计算成本和通信成本方面优于文献 [30] [31] [32] 中方案。在计算成本方面,我们与文献 [27] [33] 中方案相当,但通过功能比较,我们可以得出结论,我们的方案在相同的计算成本下更安全。总的来说,我们在安全性和性能之间有一个权衡。
![](Images/Table_Tmp.jpg)
Table 5. Multiple cryptographic operations and execution times
表5. 多种密码学操作及执行时间
![](Images/Table_Tmp.jpg)
Table 6. Computation cost comparison
表6. 计算开销对比
![](Images/Table_Tmp.jpg)
Table 7. Communication cost comparison
表7. 通信开销对比
(a) 计算开销
(b) 通信开销
Figure 5. Performance comparision
图5. 性能对比
6. 结论
在本文中,我们提出了一个新的远程用户认证协议。它解决了现有协议容易受到冒名攻击、重放攻击以及缺乏匿名性和不可追踪性的安全问题。非正式安全分析表明,新协议具有匿名性、不可链接性、已知密钥安全性和完美的前向保密性。并且,它还可以抵御离线密码攻击、去同步攻击、密钥泄露冒名攻击、已知会话特定临时信息攻击和回复攻击。此外,我们还使用BAN逻辑证明了该协议的相互认证性。最后,分析和比较结果表明,新协议具有较好的性能,它可以完全应用于计算能力有限的设备和服务器之间的相互认证。
基金项目
本研究得到了国家自然科学基金(基金号:U21A20466)的支持。
NOTES
*通讯作者。