物联网中基于云的RFID认证方案
2022-04-01施虹宇邓伦治胡震宇
施虹宇,邓伦治,高 岩,胡震宇
(贵州师范大学 数学科学学院,贵州 贵阳 550025)
0 引言
物联网的目标是实现所有事物的互联。近年来,为了实现这一目标,越来越多的现代技术被广泛应用于物联网(IoTs)中,如身份识别技术、云计算技术、大数据处理和无线互联技术。我们可以利用上述技术,在物联网中对物体进行跟踪和识别,以实现对物体及其流通过程的管理[1]。在物联网中,识别技术则是关键,但传统的自动识别技术已不能满足物联网的需要。例如条形码的存储空间太小,ID卡的识别不灵活等的缺点[2]。所以我们需要一种更好的识别技术[3-5]。
射频识别(RFID)是一种非接触式技术,它利用无线射频信号来实现目标的识别和数据的交换。自20世纪90年代以来,RFID在互联网上得到了广泛的应用。由于其移动性,它成为现在最流行的技术之一。但是RFID系统在安全性和隐私性方面也存在问题。因此,在RFID系统中,要使用安全方案来确保标签的隐私性和认证过程的安全性[6]。
RFID认证系统分为3个部分:RFID标签、RFID阅读器和后端数据库。阅读器向标签发送射频信号并进行数据交换。阅读器接收到标签返回的数据后,将相关数据发送到后端数据库进行处理[7]。这里的后端数据库用于计算和存储数据。在传统的RFID系统中,阅读器和后端数据库之间进行信息传输的信道可以认为是安全的。许多现有的RFID认证方案都使用后端数据库。然而,在物联网中,需要认证的标签数量激增,导致后端数据库的维护成本变得越来越昂贵。随着云服务的发展,其计算能力受到了广泛关注。将数据库的建立和维护委托给云服务提供商是一个不错的选择,这样可以降低对后端数据库的维护成本。云服务器不仅提高了RFID系统的综合性能,而且保证了传输数据的安全性和及时性[6,8]。基于云的RFID认证模型如图1所示。
图1 基于云的RFID认证模型
然而,基于云服务器的RFID系统也存在安全问题。标签和阅读器使用公共的无线信道进行数据的传输,这增加了数据泄漏的风险。当数据通过公共信道传输消息时,攻击者可以窃取并篡改传输的消息。因此,有必要提出安全的RFID认证方案。
1 相关工作
现存的许多方案都是基于后端数据库的[9-13]。然而,这些方案也带来了一些问题。例如,系统无法抵抗位置跟踪,后端数据库无法处理大量数据。因此,我们需要一个更强大、更安全的后端数据库来处理大数据环境中的数据。而云服务器的优势就此体现,如强大的计算能力和更大的存储空间。这些优势使得云服务器在RFID认证方案中代替后端数据库,研究者们也提出了许多基于云的RFID认证方案[7,14-16]。
2013年,Xie等[14]提出了一种基于云的RFID认证方案,该方案使用VPN代理连接服务器和阅读器。但在现实生活中,VPN的维护成本非常昂贵,这使得该方案的实现变得困难。2015年,Dong等[7]提出了一种基于云的RFID认证方案,该方案使用对称加密。实际上,对称密钥的安全传输是一个问题。随着标签数量的暴增,对称密钥的数量也将大大增加。这使得云服务器更难管理密钥,并且花费更昂贵的管理成本。2019年,Kumar等[16]提出了一种基于云的RFID认证方案。在该方案中,阅读器不参与计算,只将消息发送给服务器和标签。这就存在一个问题,即攻击者可以轻松更换阅读器并篡改所传输的消息。Safkhani等[15]指出该方案无法抵抗重放攻击和模仿攻击。虽然Safkhani等[15]的方案能够抵抗攻击,但计算成本并不是很令人满意。
所以,本文提出了一种基于云的RFID认证方案,使用BAN逻辑证明对方案进行了非正式和正式的分析。结果表明,我们的方案具有很强的安全性,能够抵抗上述提到的这些攻击。
2 理论基础
该方案涉及的数学知识如下:椭圆曲线[17]和ECDLP(椭圆曲线离散对数问题)[18]。
2.1 椭圆曲线
设q一个大素数,Fq是一个素数域,Fq上的椭圆曲线的方程为:y2=x3+ax+b。
a,b∈Fq是满足4a3+27b2≠0的2个常数。G是一个阶为n的加法群,它由椭圆曲线上的所有点和一个无穷远点O组成。
2.2 椭圆曲线离散对数问题
给定素数阶为n的群中的2个点P和Q,已知等式Q=dP,找出d∈(1,n-1)在计算上是困难的。
3 提出的新方案
我们的认证方案分为2个阶段:注册阶段和认证阶段。本文所使用的符号列在表1,具体认证方案见图2。
表1 符号和含义
图2 RFID认证方案
3.1 注册阶段
2)每个标签t选取自己的秘密值x∈[1,n-1]并存入自己的记忆。标签发送x给云服务器,云服务器检查x,如果x已经被选取,则云服务器拒绝接受,标签重新选取秘密值。否则,云服务器将x存入自己的记忆。
3)每个阅读器y选取自己的秘密值y∈[1,n-1]并存入自己的记忆。阅读器发送y给云服务器,云服务器检查y,如果y已经被选取,则云服务器拒绝接受,阅读器重新选取秘密值。否则,云服务器将y存入自己的记忆。
4)云服务器选取自己的私钥s∈[1,n-1],并计算公钥Ps=sP。
5)云服务器通过安全通道将自己的私钥s发送给标签。
3.2 认证阶段
1)阅读器选取随机数a∈[1,n-1],计算R1=aP,发送R1给标签。
2)标签收到后选取随机数b∈[1,n-1],计算T1=bP,T2=sR1,T3=bT2,C1=x+h(T2,R1),并发送T1,T3,C1给阅读器。
3)阅读器收到T1,T3,C1后计算R2=a-1T2,C2=y+h(R2,T1),并发送R1,T1,C1,C2给服务器。
4 安全性分析
4.1 相互认证
4.2 匿名性
在我们的方案中,攻击者Α无法通过标签和阅读器得到秘密值x和y,同时秘密值隐藏在公共消息C1和C2中。这些消息包含单向哈希值和随机数,这使得每个会话中的C1和C2都不同。所以攻击者Α无法获取标签和阅读器的身份信息。因此,我们的认证方案保证了标签和阅读器的匿名性。
4.3 前向安全
在本方案中,所有秘密值都被隐藏在所传输的消息中,而所传输的消息中包含随机数和单向哈希函数。由于随机数a,b和哈希函数都是不同的,传输的消息对于每个会话也是不同的。即使攻击者Α窃取到标签和阅读器的秘密值,也无法关联任何以前从公共信道截获的消息。因此,我们的认证方案实现前向安全。
4.4 抵御模仿攻击
模仿攻击是RFID系统中最常见的一种攻击方式。攻击可以分为以下3种情况:
1)标签模仿攻击
攻击者Α试图模仿标签,产生有效消息T1、T3和C1,其中T1=bP,T3=bT2,C1=x+h(T2,R1)。然而,这些消息包含一些秘密参数,例如x、b,它们受到哈希函数和ECDLP困难问题的保护。因此,攻击者Α无法模仿的标签。
2)阅读器模仿攻击
类似地,攻击者Α产生有效消息R1和C2,但这些消息包含例如y的秘密参数,这些参数受到哈希函数和 ECDLP 困难问题的保护。所以,攻击者Α无法模仿读者。
3)云服务器模仿攻击
假设攻击者Α模仿云服务器进行验证,发送有效消息C3和C4给阅读器。但是这些消息包含一些秘密参数,例如x、y,它们是受到哈希函数和ECDLP困难问题的保护。因此,云服务器模仿攻击无效。由此,我们的认证方案可以抵抗模仿攻击。
4.5 位置不可追踪
如第4.2小节所述,我们的方案具有匿名性。攻击者Α不能通过任何所截取的消息来获取标签和阅读器独有的有效信息。所以我们的认证方案可以抵抗位置跟踪。
4.6 抵御重放攻击
重放攻击分为3种情况:标签重放攻击、阅读器重放攻击和云服务器重放攻击。
1)标签重放攻击
攻击者Α试图发送先前截取到的消息T1、T3和C1给阅读器用以通过身份的验证。但是,由于随机数的随机性。这些消息在每个会话中都是不同的。攻击者Α无法被云服务器成功验证。所以,标签重放攻击是无效的。
2)阅读器重放攻击
类似地,攻击者Α尝试重放以前的消息,但这些消息在每个会话都不同。攻击者Α无法被云服务器成功验证。所以阅读器重播攻击无效。
3)云服务器重放攻击
攻击者Α截取消息C3和C4,并将这些消息重放给阅读器。但由于随机数的随机性,这些消息在每个会话中都不同。显然,验证不成功。因此,我们的身份验证方案可以抵御重放攻击。
4.7 安全性比较
我们在表2中总结了3种RFID认证方案的安全属性。
表2 安全性比较
5 BAN逻辑定理
BAN逻辑是由Michael等[19]在1990年提出的,它是一种证明模型,使用逻辑推理来证明方案的安全性。
5.1 BAN逻辑的对象
主体:T:tagR:readerS:cloud-server
秘钥:s:云服务器的秘钥。
秘密值:T2,T3,R2
临时值:a,b
5.2 BAN逻辑的符号
本文使用的语法和语义:
1)P|≡X:P相信X是真的。
2)P◁X:P接收到了包含X的消息。
3)P|~X:P曾发送过包含X的消息。
4)P|⟹X:P对X有管辖权。
5)#(X):X是新鲜的。
7){X}K:用秘钥K加密X后得到的密文。
5.3 BAN逻辑的推理规则
5.4 本文BAN逻辑的证明过程
5.4.1 协议说明
1)R→T:R1
2)T→R:T1,T3,C1
3)R→S:C1,C2,T1,R1
4)S→R:C3,C4
5)R→T:C4
5.4.2 协议理想化
M1:R◁T1,T3,C1
M2:T◁R1,C4
M3:S◁T1,R1,C1,C2
5.4.3 初步假设
5.4.4 协议目标
1)S|≡T|~x
2)S|≡R|~y
3)T|≡S|~C4
4)R|≡S|~C3
5)R|≡T|~#(T3)
6)T|≡R|~#(R1)
5.4.5 协议过程
6)已知T◁R1,R|≡#(a),运用规则R5我们可以得到:T|≡R|~#(R1)。
6 效率比较
在本节中,我们将我们的方案与其他相关的RFID认证方案[15-16]进行了比较。通过阅读He等[20]的文章,他们使用了一个著名的密码库MIRACL(http://www.shamus.ie/index.php$?$page$=$home)来计算基础密码操作的时间成本。他们的实验环境如下:IntelI7-4770处理器,3.40 GHz频率,4 G内存,在Windows7操作系统中运行。具体加密操作时间见表3,数据大小见表4。
表3 加密操作时间
表4 数据大小
6.1 计算成本
在表5和图3中展示了计算成本的结果。文[15]的方案完成一次认证过程需要12次Tem运算和13次Th运算。计算时间为12Tem+13Th≈5.305 3 ms。文[16]的方案完成一次认证过程需要6次Tem运算和9次Th运算。计算时间为6Tem+9Th≈2.652 9 ms。我们的方案完成一次认证过程需要11次Tem运算、8次Th运算和4次Tea运算。计算时间为11Tem+8Th+4Tea≈4.870 0 ms。结果表明,我们的方案比文[15]的方案具有更低的计算成本。
表5 计算成本
图3 计算成本的比较
6.2 通信成本
在表6和图4中显示了通信成本的结果。文[15]的方案需要传输7个Bem、4个Bh和5个Bt,因此大小为7Bem+4Bh+5Bt=3 040 bits。文[16]的方案需要传输5个Bt和10个Bem,因此大小为10Bem+5Bt=3 360 bits。我们的方案需要传输5个Bem和6个Bh,因此大小为5Bem+6Bh=2 560 bits。因此,我们的方案比文[15-16]的方案具有更低的通信成本。
表6 通信成本
图4 通信成本的比较
6.3 标签的储存成本
在表7和图5中展示了标签存储成本的结果。在文[15]的方案中,标签需要存储2个Bem、2个Bh和1个Bn,因此大小为2Bem+2Bh+1Bn=1 120 bits。在文[16]的方案中,标签需要存储2个Bem、3个Bh和1个Bn,因此大小为2Bem+3Bh+1Bn=1 280 bits。在我们的方案中,标签需要存储 1个Bem和2个Bn,因此大小为1Bem+2Bn=640 bits。因此,我们的方案比其他方案具有更低的标签存储成本[15-16]。
表7 标签的储存成本
图5 标签储存成本的比较
7 总结
在本文中,我们提出了一种基于云的 RFID 认证方案。委托云服务商建立和维护数据库,降低了后端数据库的维护和管理成本,增强了RFID认证方案的综合性能。安全性分析表明,我们的方案可以抵抗各种已知的攻击。通过新方案与现存的一些RFID认证方案的性能比较,结果表明新方案拥有更好的性能。