APP下载

基于T-NTRU公钥密码体制的物联网终端安全接入认证

2022-04-27张云玲

关键词:终端设备哈希密钥

张云玲

(安徽信息工程学院 计算机与软件工程学院,安徽 芜湖 241000)

电力物联网结构复杂,终端设备数量规模庞大,安全性要求极高,由于发展迅速,目前正在应用的基于椭圆曲线算法的安全接入方案已无法满足相应的安全性[1].为此,提出了一种基于T-NTRU公钥密码体制的物联网终端安全接入认证方案,利用全网时间同步机制构建了T-NTRU算法的动态哈希函数,在有效提高了物联网认证安全性的同时大幅缩减了计算量,保证了计算的效率.

1 NTRU算法概述

NTRU算法能够解决两个目标点之间的最短矢量问题,相对于其他非对称密码算法具有更高的复杂性[2].在各种安全级别(商业强度、工业强度、军事强度)下,算法拥有对应的参数集,分别为EES401EP2、EES439EP1、EES743EP1.

NTRU算法凭借SVP(最短向量问题)实现自身的安全性.NTRU密码系统运行于R环上[3]:

R=Z[X]/(XN-1)

(1)

其核心为3个整数参数(N,P,Q),设(Lf,Lg,Lq,Lm)均为N-1次多项式级,系数为整数{0,1},所有多项式均能使式(2)成立:

(2)

R环上的乘法运算以“*”来表示,那么N=F*G可展开为[4]:

(3)

1.1 密码系统的参数选取

(1)N是正素数;

(2)p与q是两个互素的正整数,且gcd(p,q)=1[5];

(3)p

1.2 生成密钥

(1)选择任意的两个多项式f∈Lf以及g∈Lg,在Fp∈Rg与Fq∈Rg的条件下多项式f满足:

Fq*f=1(modq)

(4)

Fp*f≡1(modp)

(5)

(2)公钥生成表达式为:

h≡Fq*g(modq)

(6)

式中,h为公钥,对应的私钥为(f,Fp).

1.3 加密和解密算法

利用公共哈希函数可以从明文信息M中获取多项式m∈Lm,结合多项式r∈L,即可计算明文信息:

e≡pr*h+m(modq)

(7)

多项式a的计算式为[6]:

a≡f*e(modq)≡pr*q+f*m(modq)

(8)

其系数的取值范围为(-q/2,q/2).则解密明文的表达式为:

m≡Fp*a(modp)

(9)

2 电力物联网的安全接入与动态哈希函数

2.1 电力物联网的接入认证流程

电力物联网中各终端设备的安全接入架构如图1所示.

图1 电力物联网中终端的安全接入架构

物联网中各种终端的接入安全认证由具有边缘计算能力的MME(Mobility Management Entity)服务器负责,e-MTC和NB-IoT设备通过无线连接方式、Sigfox和LoRA设备通过有线连接方式接入MME服务器,认证完成后相关数据由MME服务器发送给HSS(Home Subscriber Server)服务器,在此过程中公钥、私钥以及用户的身份信息均存储于HSS服务器中[7].由于电力物联网需要记录终端数据的采集时间,所以可将其视为在时间同步机制下运行的物联网络.

2.2 动态哈希函数的构建

NTRU安全认证算法的关键在于安全哈希函数的构建.现有的哈希函数需要由HSS服务器分别同步到MME、MN和AP中,这是一个耗时较长的过程,一旦发生内部攻击,会因长时间无变化的哈希函数对系统造成极大的危害[8].

本文在电力物联网的时间同步机制下,根据具体时间(年、月、日、点钟、分钟)创建了一个长度为32 bits的时间序列,当时间发生变化,该序列随之改变.该动态时间序列中年、月、日、小时、分对应的长度分别为12 bits、4 bits、5 bits、5 bits、6 bits.

通常基于128 bits长度的对称加密系统来实现高安全级别的NTRU算法,以时间序列为基础的密钥长度延长至128bits后,系统每分钟都会利用动态哈希函数对密钥进行更新,从而有效抵制内部攻击[9].以8 bits为步长对32 bits原始时间序列进行划分,得到4个字节{K0,K1,K2,K3},使其分别经过BOX0、BOX1、BOX2、BOX34满秩变化矩阵,利用BOXi(i=0,1,2,3)对截取到的4个字节进行变换可获取4个扩展序列{Ki0,Ki 1,Ki2,Ki3}(i=0,1,2,3),由此即可得到扩展为128 bits的动态哈希函数,更新时间为1分钟.

3 T-NTRU动态安全认证加密算法设计

3.1 安全认证的初始化

(1)初始化HSS服务器:由HSS服务器选取出适用于NTRU算法的整数集合(N,p,q)和多项式集合(Lf,Lg,Lq,Lm),本文设定高安全级别NTRU的参数N=127.由任意多项式g∈Lg和动态哈希函数构建带变换矩阵BOXi(i=0,1,2,3)[10].

(2)初始化MME服务器:HSS服务器利用安全信道从MME服务器中随机选取一个多项式fMME∈Lf作为安全认证的私钥,同时通过式(10)计算得到公钥hMME,由HSS服务器构建密钥对{hMME,(fMME,f-1 MME)}并发送给MME服务器,f-1 MME表示多项式fMME在R环上的逆[11].

hMME≡Fp*g(modq)

(10)

HSS服务器公布系统参数{BOXi(i=0,1,2,3),N,p,q,Lr,Lm,hMME}同时将{g,Lf,Lg}作为私密信息保存.

(2)初始化终端设备:利用安全信道,HSS服务器为每一个物联网中的终端设备Di分配一个唯一的N比特PIDi为其各自的身份信息,同时根据随机选择的一个多项式fDi∈Lf计算公钥,得到密钥对{hDi,(fDi,f-1Di)}并分别配置给各个Di.

3.2 终端设备的认证登录

在物联网中的终端设备Di提出通信请求的同时向服务器发出认证信息(Mi,A1),其获取流程为:通过随机选取的多项式ri∈Lr计算得到密钥ei,身份验证码由式(11)生成[12].

(11)

通过身份信息与验证码生成共享密钥(PIDi||ei),由此可获取认证信息:

A1=H(Mi‖Si)

(12)

认证信息(Mi,A1)由终端设备Di发送给边缘服务器MME.在本文提出的算法中,动态哈希函数中包括了时间信息并处于持续更新的状态,无需进行物联网中的时间同步,因而大量减少了传输的网络数据,提高了算法的运行效率.

3.3 边缘服务器验证

终端设备Di在向MME服务器提出通信请求的同时向其发送(Mi,A1),通过直接计算可得到设备共享密钥hMME,进一步计算可得到身份认证码I2,MME,接下来由MME服务器计算公共密钥SKi.为了缩减计算量并降低系统功耗,MME服务器通过相邻三个时间点哈希函数H-1,H0与H1来满足系统中的时间同步要求并得到密钥K-1,K0与K1.

通过终端设备的PIDi信息和经过计算得到的认证码信息I2,MME,利用哈希函数分别得到密钥Sj,i.在此基础上分别计算得到3个公钥Hj(Mi‖Sj.i) (j=-1,0,1),将其分别与Auth1进行对比,如果其中一个能够与之匹配成功,那么MME服务器判定该终端设备可合法接入.

由MME服务器计算出向终端设备Di返回的认证信息Auth2,此过程中采用的哈希函数为设备认证请求中的哈希函数.

3.4 终端设备验证

终端设备Di接收到MME服务器返回的认证信息后,首先对PIDi进行验证以避免遭受连续的非法攻击,接下来计算得到H(PIDi‖I2,MME‖SKi)并与Auth2进行对比,如果匹配成功,则认为所连接的服务器为合法服务器并通过安全信道与之建立连接,以Si为共享密钥加密所传输的数据.如果匹配不成功则中断接入并重新启动接入认证流程.基于T-TURN算法的安全认证流程如图2所示.

图2 基于T-TURN算法的安全认证流程

4 物联网安全性分析

4.1 重放攻击抵抗能力

一旦攻击者从之前的认证过程中获取了相关的信息,就可以在接下来的一段时间内展开重放攻击.重放攻击分两种方式进行,一种是伪装成终端设备Di,第二种是伪装成MME服务器.

在第一种情况下,攻击者反复向MME服务器发送(Mi,A1),在第二种情况下,MME服务器反复向终端设备Di发送A2=H(PIDi‖I2,MME‖SKi).由于密钥信息和认证信息都是由动态哈希函数生成的,所以算法具备很强的重放攻击抵抗能力.

4.2 密钥协商和相互认证的实现

4.3 用户匿名登录

终端设备Di的身份认证信息PIDi仅在设备请求登录时被调用,且由于多项式ri是随机选取的,也仅实用一次,在采用动态哈希函数的情况下认证信息(Mi,A1)每次都互不相同.此外,即使可能发生的网络攻击在试图接入的过程中截取了身份认证信息PIDi,但HSS服务器无法对其进行认证,所以算法支持终端设备以匿名的方式登录物联网.

4.4 假冒模仿攻击的抵抗能力

5 算法复杂度与性能分析

5.1 算法复杂度分析

将本文提出的T-NTRU算法与现有的ECC和传统NTRU算法进行计算复杂度对比.三种算法的安全级别均设定为128 bits,ECC算法的点乘运算时间记为TP;NTRU算法加密所需时间记为TE,解密所需时间记为TD;多项式乘法运算时间记为TMUL;生成动态哈希函数所需时间记为TH.

MME服务器在计算得到第一个时间点的哈希函数H-1,利用时间序列{K0,K1,K2,K3}只需增加1的点乘运算时间即可计算得到H0与H1.由此可见,在MME服务器中只需进行32次加法运算,远远少于NTRU算法的整体运算量.

MME服务器和终端设备的T-NTRU算法分别基于Java和C语言实现,MME服务器统一采用Intel i7-10700 3.8GHz CPU,T-NTRU算法应用的是tbuktu/ntru库,ECC算法应用的是JECC库.ECC和NTRU算法的NB-IoT和LoRa标准由STM32F302RD 72 MHz单片机提供支持,eMTC标准由海思Hi3559 1.8 GHz双核A73 CPU提供支持.分别基于不同的算法各进行100次测试,由测试具体数据可知,T-NTRU算法在STM32单片机、海思处理器和MME服务器中的平均运行时间分别为24.86 ms、1.84 ms和0.73 ms.基于T-NTRU算法的NB-IoT和LoRa设备总执行时间为为25.59 ms,eMTC设备总执行时间为为2.57 ms,仅相当于ECC算法的3%.

5.2 网络流畅度分析

采用中国电信WH-NB73-B5模块支持NB-IoT标准,采用USG-LG210-L网关和WH-101-L-P模块支持LoRa标准,采用MH5000-31 5G网卡支持eMTC标准,MME服务器采用的是2台阿里云Xeon Platinum 8269核心200 M带宽服务器.

实验网络中部署NB-IoT和LoRa设备各5套,其有效数据量均为256 Bytes,通过1路H.265编码的720P@30帧视频码流结合5G移动流量卡模拟eMTC标准,每套设备每隔5分钟进行一次接入认证实验,重复认证200次,系统认证平均延迟时间如图3所示.得到NB-IoT、LoRa、eMTC三种技术标准下的平均时间分别为8.52 s、4.31 s和0.63 s.由具体数据可见,本文提出的算法能够满足各种标准的设备接入安全认证技术要求,适用于大规模电力物联网络.

图3 设备接入安全认证平均延迟时间

6 结语

当前的物联网具有多业务并存、协议种类多、规模庞大等特点,完成安全认证需要经过大量的计算且安全性技术要求极高.本文提出了一种基于T-NTRU公钥密码体制的物联网终端安全接入认证方案,利用动态哈希函数生成公私密钥,解决了固定哈希函数密钥易被攻击的问题.采用T-NTRU算法的认证计算量仅相当于ECC算法的3%左右,在保证认证安全性的同时极大提高了认证过程中的计算效率.

猜你喜欢

终端设备哈希密钥
幻中邂逅之金色密钥
基于特征选择的局部敏感哈希位选择算法
基于MAC 认证的终端网络准入控制系统方案*
哈希值处理 功能全面更易用
密码系统中密钥的状态与保护*
文件哈希值处理一条龙
视频监视系统新型终端设备接入方案
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
行车记录仪通信连接方法、行车记录仪及终端设备