摘要:物联网终端安全接入认证是保证电力物联网大规模建设的关键性技术。由于传统的认证方案通常采用的椭圆曲线密码算法,计算量大,不能抵抗量子攻击。而数论研究单元算法可以抵抗量子攻击,与椭圆曲线密码采用点乘算法相比计算速度快。因此提出了一种T-NTRU 物联网动态安全接入认证算法,使用动态变化时间序列通过哈希函数产生动态密钥,解决了固定哈希函数产生固定密钥的内部攻击安全问题。分别在计算机和单片机上进行了实验。实验结果表明,与传统椭圆曲线密码计算相比较,T-NTRU 算法减少了约97%计算量,与典型的数论研究单元算法计算量相当,适合资源受限的电力物联网应用需求。
本文源自李兴华; 蔡觉平; 李晓龙; 王峰; 闫振华, 西安电子科技大学学报 发表时间:2021-04-13 13:30《西安电子科技大学学报》是电子信息学科的学术刊物,双月刊 , 国内外公开发行。我们的办刊方针是:发挥我校的学术优势,反映国内外高质量、高水平的最新科研成果,体现通信与电子信息特色,扩大学报的影响,促进国内外学术交流,热心培养学术人才,为"科教兴国"和"科教兴校"服务。荣获陕西省优秀期刊、曾13次荣获省部级优秀期刊荣誉和优秀编辑质量奖;2006年荣获首届中国高校优秀科技期刊奖,《物理学、电技术、计算机及控制信息数据库》教育部优秀高校学报。
关键词:物联网;数论研究单元算法;安全认证
物联网(Internet of Things, IoT)的快速发展使得越来越多的设备部署到物联网中,网络规模和复杂度不断提高,物联网的安全性问题日益严重,物联网终端安全接入问题是一项关键性技术[1-3]。电力物联网是一种典型的物联网,具有规模大、复杂度高、安全性高的技术特点[4]。电力物联网感知层终端设备数量巨大、计算能力低,已有的物联网安全接入协议已经不能满足电力物联网安全接入的应用要求[5]。2010 年至今,国内外多起电网网络破坏均是由于物联网终端设备的安全性能差,使得网络攻击从终端发起攻击至系统平台[6],网络接入安全性提升成为关键性技术问题。
物联网设备受到算力和功耗等资源限制,很难执行复杂的认证和加密算法。目前大多数物联网络认证方案采用椭圆曲线密码(Elliptic Curve Cryptography,ECC),但是椭圆曲线密码算法涉及到点乘运算,计算效率低,不适合应用到采用低功耗嵌入式技术的物联网终端中。同时,椭圆曲线密码算法的安全性对于椭圆曲线的离散对数性能敏感,易被Shor 算法破解[7--8],不能抵抗量子攻击。
轻量化物联网设备安全接入认证方案研究是目前物联网安全的主流趋势和研究热点[9]。物联网设备需要采用轻量级的安全认证技术,以提高在低功耗嵌入式物联网终端的适用性。NTRU(Number Theory Research Unit)是由Hoffstein 等人提出的一种基于格理论的轻量级公钥密码算法[10],基于格的公钥密码体制对量子敌手具有强大的抵抗力。与其它公钥加密系统相比,NTRU 具有内存和计算量少、加解密和签名 /验证速度快、安全性高等优势,更适用于资源受限的无线通信环境。现在,美国国家标准与技术研究所(NIST)正在领导后量子密码技术的标准化,NTRU 密码体制被认为是最有前途的标准之一,这使得NTRU 密码体制成为研究热点。
Chen 和Peng 提出了一种基于NTRU 的无线网络切换认证方案[11],该方案具有较低的复杂度,对于量子攻击具有高效率的抵抗性能。在该方案中,移动节点(Mobile Node ,MN)能够无缝地从一个接入点(Access Point, AP)的覆盖范围移动到另一个接入点的覆盖范围,并且在认证服务器(Authentication Server, AS)的帮助下以安全的方式与这些接入点通信。然而该方案可能存在内部攻击[12],具体来说,任何移动节点或接入点都可以恢复认证服务器的秘密,因为这个秘密在Chen 和Peng 的计划中起着至关重要的作用,任何拥有这个秘密的人都可以冒充认证服务器。Qingxuan Wang 提出了一种只在认证服务器和接入点之间建立秘密的解决方案,既能保持原协议的所有特性,又能防止所提出的内部攻击,同时只需很少的计算和通信开销[13]。
但是认证服务器和接入点之间信息交互时间长,容易被攻击的因素依然存在,对电力物联网等高安全性物联网络的安全接入保障能力依然较差。在电力物联网络中数据服务器接收来自不同移动节点的信息,这些信息包括功率、温度、工作状态等,同时也要求记录移动节点采集这些数据的时间信息。因此电力物联网络是一种典型的时间同步的物联网络,但是全网同步精度较低,通常在分钟级别。这种粗同步物联网络可以提供全网同步的动态时间信息。
笔者提出了一种随时间信息变化的T-NTRU电力物联网络动态接入认证技术。通过全网同步时间变化,构建了T-NTRU算法中的一种随时间变化的动态变化的哈希函数,进一步增强了物联网相互认证的安全性。该方法计算量小,不增加已有NTRU 安全认证技术的交互数据量,适应于计算量和功耗受限的嵌入式物联网安全认证环境。
1 NTRU 算法基础
NTRU 算法是基于寻求一个最短矢量困难问题(Shortest Vector Problem,SVP)与RSA(Rivest -ShamirAdleman),与其他非对称密码系统相比较复杂性更高。NTRU 根据不同的安全级别可以进行不同的参数集选择,NTRU 参数集如表1 所示[14]。
下面先对NTRU 密码体制作了简要的回顾,更多细节可以在参考文献[10]的研究中进行了解。NTRU 算法的安全性依赖于格中最短向量问题SVP。NTRU 密码系统工作在环R 上:
R Z X X (1)核心包括 ( , , ) N P q 是3 个整数参数,(Lf , Lg, Lr , Lm)是4 个拥有整数{0,1}系数的N-1 次多项式集,多项式满足公式: 1 0 1 1 0 [ , , , ] {1, 0} N i i N i i F F x F F F F (2)用*表示环R 上的乘法运算,例如H=F*G 可以计算为 1 0 1 (m o d ) G k N k i k i i N k i i j i i k i j k N H F F G F G (3)
1.1 系统参数
(1)N 为正素数;(2)p 和q 互素,满足gcd(p,q)=1;(3)q 大于p,通常p=2 or 3。
1.2 密钥生成
(1)随机选取两个多项式 f f L 和 g g L 。多项式 f 满足存在 p q F R 和 q q F R ,满足条件: 1(m o d ) q F f q (4) 1(m o d ) p F f p (5)(2)公共密钥产生如式(6),其中h 为公共密钥,相应的私有密钥为(f,Fp)。 (m o d ) q h F g q (6)
1.3 加密算法
多项式 m m L 可以通过采用公共哈希函数从明文信息M 中得到。选择多项式 r r L ,密文信息e 可以通过式(7)计算产生: e p r h m q * ( m o d ) (7)
1.4 解密算法
首先计算得到多项式a 式(8),其中a 的系数在( q q / 2 , / 2 )。 a f e q p r g f m q ( m o d ) ( m o d ) (8)相应解密信息m 为 (m o d ) m F a p p (9)
2 时间同步电力物联网络和动态哈希函数
2.1 时间同步电力物联网络
电力物联网是一种大规模工业级物联网,其体系结构包括了物联网感知延伸层、网络传输层和平台应用层三种典型的网络结构[15]。为了解决云化主站的网络拥塞和操作延迟问题,提出了采用边缘计算应用层解决物联网终端的安全接入和边缘计算,实现海量电力物联网终端接入。
在边缘计算应用层,采用边缘计算服务器对来自NB-IoT、eMTC、LoRa 和Sigfox 等标准的物联网终端进行安全接入。图1 是电力物联网终端安全接入具体流程。
NB-IoT 和eMTC 设备通过移动基站,LoRa 和Sigfox 设备通过专用物联网网关设备接入具有边缘计算功能的MME(Mobility Management Entity)服务器。MME 服务器具有接入和边缘计算能力,可以实现不同标准的电力物联网终端安全认证和接入。经过安全认证后的数据由MME 服务器传输给系统用户HSS (Home Subscriber Server,)服务器。在安全认证过程中,HSS 服务器保存安全认证所需要的公有密钥、 HSS 私有密钥和用户身份等信息,并通过MME 实现电力物联网安全认证信息的更新。
电力物联网需要对终端采集到的数据进行时间记录,因此是一种时间同步的物联网络。考虑到成本和功耗要求,以及网络系统对于时间信息精度要求,电力物联网的同步精度较低,通常的精度要求在分钟级。
2.2 基于时间信息的动态哈希函数生成
NTRU 安全认证算法中,核心参数和多项式集是静态的,需要通过MME 服务器进行全网络更新,存在攻击的可能性,文献[13]采用动态改变 g g L 来提高网路系统的抗攻击性能;文献[16]采用三轮交互方式提高NTRU 算法抗重放攻击性能。
根据电力物联网时间同步特点,笔者提出了一种基于时间信息的动态哈希函数生成方式,不需要进行全网更新,可以实现NTRU 算法的动态更新。
在NTRU 安全认证算法中,需要使用安全的哈希函数进行计算。在已有算法和认证方案中,哈希函数需要 HSS 服务器通过安全途径同步到 MME、AP 和 MN 中。哈希函数在全网同步使用时间长,更新速度慢。当存在内部攻击时,长时间静态哈希函数缺少动态变化,使得网络系统的易被攻击。
根据电力物联网时间同步要求,根据年、月、日、小时、分钟,构成了一组 32bits 时间序列,这个序列随时间动态变化,如图2 所示。
在工业强度 NTRU 安全级别中,采用 128bits 强度对称加密系统,在传统的 NTRU 算法中[11-13],采用的是固定的哈希函数。当内部攻击者取得相关信息后,有足够时间计算破解哈希函数,使得网络存在被攻击风险。将32bits 时间序列扩展至128bits 密钥,按分钟通过哈希函数动态改变密钥,可以有效抵抗内部攻击风险。
哈希函数的扩展密钥生成方法如图 3 所示,将 32bits 电力物联网时间序列按 8bits 分割为 4 个字节 0 1 2 3 { , , , } K K K K ,分别经过4 个满秩变化矩阵 0 1 2 3 B O X B O X B O X B O X , , , :
经过将 4 个字节 0 1 2 3 { , , , } K K K K 通过 BOXi (i=0,12,3)进行矩阵变换,可以得到 4 组扩展序列 00 01 02 03 { , , , } K K K K , 1 0 1 1 1 2 1 3 { , , , } K K K K , 2 0 2 1 2 2 2 3 { , , , } K K K K , 3 0 3 1 3 2 3 3 { , , , }
从而得到128bits 哈希函数 1 :{1} 128 N H L N ,该哈希函数每分钟变换一次。 0 0 0 1 0 2 0 3 1 0 1 1 1 2 1 3 2 0 2 1 2 2 2 3 3 0 3 1 3 2 3 3 K e y K K K K K K K K K K K K K K K K { , , , , , , , , , , , , , , , } (13)当采用不同参数N 的NTRU 算法时,可以通过采用不同数量和压缩比的满秩变化矩阵,实现物联网络时间序列的扩展,以实现不同参数N 所对应的哈希函数 1 : {1} N H L 。
3 基于时间变换的 T-NTRU 安全认证加密算法
在NTRU 算法优越性基础上,提出一种随时间信息变换的T-NTRU 安全认证算法。由于传统的NTRU 算法存在网络攻击的可能性,采用随时间变换的哈希函数, T-NTRU 安全认证算法随时间产生变换,通过在AP 端的时间哈希函数解析和认证,可以有效提高抗网络攻击性能。
3.1 网络安全认证初始化
(1)HSS 服务器初始化:网络安全认证初始化首先进行 HSS 服务器初始化, HSS 服务器选择满足 NTRU 算法的3 个整数(N, p, q)和4 个多项式集(Lf , Lg, Lr , Lm),在本文中选取NTRU 工业强度 N=127,对于不同应用需求也可以选择相应参数 N。同时选择一个多项式 g g L 和哈希函数产生所需变化矩阵 BOXi (i=0,12,3)。
(2)MME 服务器初始化:在HSS 服务器初始化完成后,HSS 服务器通过安全信道向边缘计算MME 服务器选择一个多项式 M M E f f L 作为私钥,并根据式(14)计算公钥 hMME,通过 HSS 将公私钥 1 { , ( , )} M M E M M E M M E h f f 对发送给MME 服务器,其中 1 MME f 是 MME f 在环R 上的逆。 * ( m o d ) M M E P h F g q (14)
HSS 服务器发布{ BOXi (i=0,12,3), N, p, q, Lr , Lm, hMME}作为整个系统参数,并把{g, Lf , Lg}作为非公开信息保存。
(3)终端设备初始化:HSS 服务器通过安全信道为每一个物联网络终端设备Di分配一个独有的N 比特PIDi作为身份信息,并选择一个多项式 D f i f L ,按式(15)计算其公钥,其中 1 i D f 是 i D f 在环R 上的逆。公私钥对 1 { , ( , )} i i i D D D h f f 可以通过设备Di部署前设置,或通过HSS 服务器通过可靠方式配置给设备Di。 1 * (m o d ) i i D D h f g q (15)
3.2 物联网终端认证登录
当物联网终端设备Di需要发起通信时需要发送认证信息{ Mi ,A1}。其计算过程是:首先随机选择一个多项式 i r r L ,并计算加密信息 i e : * (m o d ) i i M M E i D e p h r h q (16)生成身份验证码Ii: 1 * i i i D D I f h (17)然后生成信息组: Mi=(PIDi ||ei) (18)生成共享会话密钥: Si=H(PIDi ||I1i) (19)生成认证信息: A1= H( Mi ||Si) (20)
物联网终端Di向边缘计算服务器MME 发送信息{ Mi ,A1}。应该指出的是,传统NTRU 算法通过发送物联网终端时间序列为MME 服务器提供时间信息,在本方案中由于哈希函数H 包含时间信息,并且网络时间变换,因此T-NTRU 算法不需要发送传统NTRU 算法所需时间信息,在提高网络接入安全性情况下,同时减小了网络数据传输量。
3.3 MME 服务器验证
在边缘计算服务器MME 接收到物联网终端设备Di发来的认证请求后,获得到{ Mi , A1}。从Mi通过解算ei可以直接得到终端设备公钥信息 MME h ,并利用式(21)计算身份认证码I2,MME: 1 2 * M M E M M E M M E I f h , (21)
然后,边缘计算MME 服务器计算共享会话密钥信息 i SK 。在本文中,物联网络是一种粗同步网络,物联网终端设备Di与边缘服务器MME 之间具有一定的同步性,但是由于定时信息和网络传输延迟等原因,终端设备和边缘服务器之间存在一定的误差。本方案中,电力物联网时间序列的精度为分钟,可以容忍较粗精度误差。为了保证终端节点的低计算量、低功耗性能要求,在边缘计算MME 服务器端计算三个相邻时间点的哈希函数 1 H 、 0 H 和 1 H 来实现网络终端和服务器之间的同步特性,其密钥分别为 1 K 、 0 K 和 1 K : , 0 0 , 0 1 , 0 2 , 0 3 ,1 0 ,1 1 ,1 2 ,1 3 , 2 0 , 2 1 , 2 2 , 2 3 , 3 0 , 3 1 , 3 2 , 3 3 { , , , , , , , , , , , , , , , } 1, 0 ,1 j j j j j j j j j j j j j j j j j K K K K K K K K K K K K K K K K K j (22)
根据接收到的 i P ID 信息和计算得到的 2 MME I ,信息,分别使用 ( 1, 0 ,1) H j j 计算得到三个 j i, S 信息: , 2 , ( || ) 1, 0 ,1 j i j i M M E S H P ID I j (23)
进一步计算得到三个共享会话密钥信息 , ( || ) ( 1,0,1) H M S j j i j i ,将这三个计算得到共享会话信息分别与 Auth1进行对比,如果有其中一个结果匹配,则边缘计算 MME 服务器认为物联网终端 Di接入是合法。该方法可以在网络粗同步的情况下,实现边缘服务器对于时间变化哈希函数的正确计算。
边缘计算 MME 服务器计算得到返回认证信息 Auth2,并将该信息发送给物联网终端设备 Di,具体计算过程如式(24),其中哈希函数H 是边缘计算MME 服务器经过计算判断得到的来自物联网终端设备Di认证请求的哈希函数: 2 2 , ( || || ) i M M E i A H P ID I S K (24)
3.4 物联网终端验证
接收到边缘计算 MME 服务器的认证信息后,物联网终端 Di首先验证 PIDi防止网络接力攻击,然后计算 2 , ( || || ) H P ID I S K i M M E i 并与 A2 进行对比。如果比对成功,则认为该服务器是合法服务器可以接入,建立移动终端Di与边缘计算MME 服务器之间的加密安全信道,并通过Si作为共享会话密钥进行数据加密。否则结束接入过程,并重新发起接入认证。
4 网络安全性能分析
在NTRU 安全认证的基础上,通过采用随时间变换的哈希函数代替固定的哈希函数,减少了认证所需的时间数据传输的同时,随时间动态变换的T-NTRU 网络接入安全认证算法进一步提高网络安全性能。该方案继承了NTRU 算法抗量子攻击性能,同时在抗重放攻击、相互认证和密钥协商性能、用户匿名性和抵抗模仿攻击等性能方面显著增强。
4.1 抵抗重放攻击
当攻击者截断了以前认证过程中的信息,就可以利用这些信息对设备或服务器发动重放攻击。重放攻击分两种情况,一种是模仿物联网终端设备Di,一种是模仿边缘计算服务器MME。
当攻击者模仿终端设备Di时,重放{ Mi , A1}给服务器;当攻击者模仿边缘服务器MME 时,攻击者重放 2 2 , ( || || ) i M M E i A H P ID I S K 信息给终端设备Di。由于终端Di和边缘服务器MME 采用的哈希函数H 随时间变化,同时认证信息和数据密钥信息使用了随时间变化的哈希函数,因此具有较强的抗重放攻击性能。
4.2 相互认证和密钥协商性能
在物联网终端和边缘计算MME 服务器之间共享了相同的密钥: 1 1 2 1 , , * (m o d ) * (m o d ) i i D D M M E M M E M M E i I f h q f h q I (25) 因此,可以在物联网终端和边缘计算MME 服务器直接计算 1 1 * (m o d ) * (m o d ) i i D D M M E M M E f h q f h q 进行认证。在物联网终端登录阶段,终端设备 Di 生成了共享会话密钥 Si=H(PIDi ||I1,i)和网络身份认证信息 A1= H(Mi ||Si)。在不知道密钥 1 i D f 和 1 MME f 的情况下,同时使用随时间变化的哈希函数 H,第三方无法生成随时间变化的会话密钥,可以保证网络接入安全性。
4.3 用户的匿名性
物联网终端Di的PID 只在终端登录时使用一次,而且由于多项式 i r 在每次会话中随机选取,且只会使用一次,同时使用随时间变化的哈希函数H,认证信息{ Mi , A1}每次均会变化。同时如果潜在的网络攻击方在接入过程中从物联网终端Di的Mi获取到了PIDi信息,但是无法进行在HSS 端的认证,因此该方案可以提供物联网终端的匿名性。”
4.4 抵抗假冒模仿攻击
在本方案中公钥和密钥信息是通过 HSS 服务器进行不定时随机分配,而且 HSS 服务器是独立于边缘计算MME 服务器和电力物联网终端的。网络攻击者在没有 1 MME f 和 1 i D f 情况下,无法生成 I2,MME和I1,i,因此无法生成合法的会话密钥 i S ,也就无法进行模仿攻击。
5 计算复杂度和性能分析
5.1 计算复杂度分析
T-NTRU 方案与相关物联网终端接入认证方案进行比较,主要是与 ECC 接入认证方案[17]和 NTRU[11,16]认证方案进行比较。NTRU[11]算法是一种精简计算量方法,网络安全性能存在隐患[13], NTRU[16]算法采用三轮交互方式,提高了抗重放攻击等网络安全性能。
为了有效比较,均采用 128bits 安全级别,其中 TP表示 ECC 点乘运算时间;TE表示 NTRU 加密所需时间;TD表示 NTRU 解密所需时间;TMUL表示多项式乘法运算时间;TH表示公式(12)产生时间变化哈希函数计算时间。
应该指出的是,在边缘计算 MME 服务器端 ( 1, 0 ,1) H j j 可以只需要计算 -1 H ,然后通过简单计算就可以得到 0 H 和 1 H 。由于相邻时间序列 0 1 2 3 { , , , } K K K K 增加 1,在已知 -1 H 情况下,根据公式(12)和(22)可以通过简单加法计算得到 0 H 和 1 H ,当计算得到 j ik , K , j ik 1, K 可以通过式(26)计算得到。那么在边缘计算MME 端仅会增加32 次加法运算,与NTRU 整体运算量相比较可以忽略。
采用Java 实现边缘计算MME 服务器T-NTRU 算法,采用C 语言实现电力物联网终端T-NTRU 算法。在MME 服务器端使用Intel i7-10700 3.8GHz 处理器,T-NTRU 算法使用tbuktu/ntru 库,ECC 算法采用JECC 库。在物联网终端采用STM32F302RD 72MHz 单片机实现支持NB-IoT 和LoRa 标准[18-19]NTRU 和ECC 算法;采用海思Hi3559 1.8GHz 双核A73 处理器实现支持eMTC 标准[20]的NTRU 和ECC 算法。经过100 次测,获得运算时间的平均值,如表2 和表3 所示。
可以看到,采用T-NTRU 算法在STM32 单片机、Hi3559 和边缘计算MME 服务器上的计算时间分别为上的计算时间为24.86ms、1.84ms 和0.73ms,NB-IoT 和LoRa 设备T-NTRU 总执行时间为25.59ms,eMTC 设备 T-NTRU 总执行时间为 2.57ms,相比较 ECC 认证方法[17],分别减小了约 97%和;相比较文献[16]方法减少了约83%,与NTRU 精简计算方法[11]执行时间相当。根据边缘计算MME 服务器计算时间推理,采用Intel i7 处理器可以在1 分钟内进行最大82191 次物联网终端安全认证,可以满足大规模物联网终端安全接入性能要求。
5.2 网络延性能分析
为了有效验证基于NB-IoT、LoRa 和eMTC 标准的物联网终端安全认证性能,建立边缘计算MME 服务器,开展网络安全认证延迟性能验证。NB-IoT 标准选择了中国电信WH-NB73-B5 模块,LoRa 标准采用 WH-101-L-P 模块和USG-LG210-L 网关,eMTC 采用华为MH5000-31 5G 网卡,边缘计算服务器采用阿里云2 个Xeon Platinum 8269 核心 4G 内存 200M 带宽服务器。
在实验过程中采用5 个NB-IoT 设备,5 个LoRa 设备,每个设备的有效数据量为256Bytes;仿真系统采用1 路H.265 编码的720P@30 帧视频码流通过5G 网卡模拟eMTC 标准。在实验过程中,每个设备按5 分钟进行一次接入认证,共接入200 次,经统计得到了平均认证延迟时间。
从实验结果可以看到,笔者提出的方案可以有效地支撑采用不同技术物联网技术标准的安全认证,适合于物联网络安全认证技术需求。
6 总 结
物联网络具有大规模、多协议、多种业务并存技术特点,网络安全认证计算量大、安全性要求高。笔者提出的T-NTRU 物联网动态接入认证技术,使用动态变化时间序列作为哈希函数密钥,解决了NTRU 采用固定哈希函数产生的内部攻击安全问题。通过使用边缘计算MME 服务器与系统HSS 服务器隔离的技术途径,解决了海量物联网终端安全接入计算量大的问题,并具有高安全性,适用于电力物联网的安全认证。