APP下载

基于消息队列遥测传输和椭圆曲线加密的物联网身份验证方案

2021-10-29伟,危蓉*

关键词:身份验证服务器节点

徐 伟,危 蓉*

(1.湖北警官学院信息技术系,湖北 武汉 430034;2.电子取证及可信应用湖北省协同创新中心,湖北 武汉 430034)

近些年,物联网[1](IoT)设备正不断兴起.IoT作为电信领域的新范式,拥有高效传感器和执行器.目前,IoT已经广泛应用到智能家居、智能城市、医疗保健等各个领域.凭借着IoT的强大能力,传统互联网逐渐转变为智能互联的世界,因此,无论是个人用户还是商业用户,都在各个方面受到IoT的影响.

随着IoT的不断发展,其潜在的安全威胁不断增加,使得互联网设备面临被入侵的风险,如僵尸网络攻击[2]、分布式拒绝服务攻击[3]、黑洞攻击[4]等.对于安全的IoT基础设施,身份验证与授权起着至关重要的作用.IoT网络的身份验证方案可被分为:基于与可信方密钥交换的方案[5]、相互认证的方案[6]、双向和密钥组认证方案[7],以及基于一次性密码(OTP)的认证方案[8]等.田俊峰等[9]提出云信任框架下的对称密钥协议,通过基于身份的加密为对等设备进行身份验证,适用于多个应用领域.Qiu等[10]提出用于机器到机器(M2M)环境的设备间身份验证协议,属于一种互相认证的方法,并结合了会话密钥、散列函数和随机数计算.屈娟等[11]提出的认证方案确保了设备通信中的匿名性,并降低了能量消耗.Zhang等[12]提出基于椭圆曲线加密(ECC)的轻量级匿名双向身份验证框架,其中结合了客户端-服务器环境的密钥协商协议.该方案适用于智能卡应用、无线传感器网络(WSN)和IoT应用.王春东等[13]提出一种IoT的身份双向认证机制,通过对传感器节点的身份标识号(ID)和初始工作状态信息进行认证来判断该节点身份的合法性.同时在终端基站引入传感器节点信息表的定时更换机制.Limbasiya等[14]提出使用轻量级ECC运算的设备间身份验证系统,其中无线传感器环境中的每个节点在会话密钥生成中保持一致性,无需密钥分发中心来分发密钥.

目前,虽然很多基于ECC的身份验证技术可以满足身份验证的要求,但也存在一些不足之处,例如无法提供双向认证,不支持设备到设备级的认证,或不支持协议层的身份验证[15].为此,本研究提出了基于ECC和消息队列遥测传输(MQTT)的设备间身份验证和授权方案,适用于资源受限的IoT网络.本研究的主要工作是:1) 针对资源受限和低带宽通信,提出了一种集成已有技术的IoT身份验证方案;2) 在Internet安全协议和应用自动化验证(AVISPA)软件工具和访问控制策略测试(ACPT)工具上验证了所提方案,以确保其正确性.并给出了形式化和非形式化的安全分析和性能分析,证明提出的方案优于一些已有方案.

1 基本概念

本节给出所提方案开发过程中涉及的基本概念,包括ECC、MQTT和安全单向抗碰撞散列函数,以及相关集成技术等.

1.1 ECC

ECC是公开密钥加密(PKC)体制中的一种,其数学基础为:利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性.ECC具有安全性高和密钥长度短的优点[16].因此,ECC适用于含资源受限设备的IoT环境.具体地,有限素数域Fp上的椭圆曲线Ep(a,b)(其中a,b∈Fp)的表达式为

Ep(a,b):y2≡x3+ax+b(modp),

(1)

其中,p>3,4a3+27b2≠0(modp).将无限远点O设为单位元,标量加法和标量乘法是椭圆曲线上常见的2种运算.椭圆曲线Ep(a,b)上点Q的标量乘法uQ可定义为重复相加:

(2)

式中u∈Fp.

ECC的安全性取决于以下问题的求解难度:

1) 椭圆曲线的离散对数问题.考虑椭圆曲线Ep(a,b)上的2个点Q1和Q2,在多项式时间内很难得到整数u使得Q2=uQ1,其中u∈Fp.

2) 计算Diffie-Hellman问题.考虑椭圆曲线Ep(a,b)上的3个点Q1,uQ1和vQ2,其中u,v∈Fp.很难在多项式时间内找到Ep(a,b)上的点uvQ1.

3) 椭圆曲线的因子分解问题.考虑椭圆曲线Ep(a,b)上的2个点Q1和Q2=uQ1+vQ1,其中u,v∈Fp.很难在多项式时间内找到Ep(a,b)上的点uQ1和vQ1.

1.2 MQTT

MQTT是结构化信息标准促进组织制定的轻量级应用层消息协议,在传输控制协议(TCP)上运行,可用于发布-订阅架构下的M2M和IoT应用.MQTT专门针对资源受限设备、低带宽通信信道和不可靠网络而设计.该协议涉及到的典型实体为发布方、订阅方和代理方.发布方由感知设备组成,收集周围环境的数据并将数据发送至代理方(可以是云服务器),代理方将数据转发至对传感数据感兴趣的目标用户组.为满足数据请求,订阅方需要通过身份验证.与传统协议例如超文本传输协议(HTTP)不同,MQTT中客户端在每次会话建立起一个连接.

1.3 安全的抗碰撞单向散列函数

h(x)=h(x′)],

(3)

1.4 底层技术

引入云计算,通过提供存储和处理资源的按需访问服务,以解决用户侧的资源不可用问题,同时促进数据和服务的在线共享[17].然而,在利用云计算提高IoT应用的性能时仍存在一些问题,例如服务的地理分布、移动新支持、延迟问题和位置感知等.由此,研究人员尝试通过雾计算在网络边缘或发生点附近提供计算能力,对于延迟敏感的应用,雾节点支持更快的数据传输,且不需要咨询云服务器,因此降低了请求的服务时间.具体地,通过物理设备或传感器采集周围的数据并传输至雾节点,并通过雾节点对数据进行预处理;预处理后的数据被发送至云服务器进行存储,由此节约了网络的整体传输带宽;网络功能虚拟化(NFV)确保海量数据请求下的负载平衡,将位于云服务中心、网络节点和终端用户侧的虚拟机嵌入大容量服务器,按需提供计算资源.

1.5 访问控制策略

使用控制(UCON)包括3个基本元素,即主体、对象和访问权[18].此外,UCON还支持开放网络环境下访问控制的授权、义务和条件,以及连续性和可变性.可变性确保与访问控制属性相关的数值可在访问前、访问过程中和访问后被改变.访问控制属性的更改会影响与主体未来访问行为相关权限的安全策略.基于能力的访问控制(CapBAC)向拥有资格的实体授予访问权.资格可视为用于访问系统的对象或实体的令牌或票证,只有通过资格验证,才能授权访问.

2 提出的方案

2.1 系统实体

1) IoT设备(Di):随着微机电系统和WSN领域的快速发展,具有增强感测能力的低成本、低功耗的小尺寸传感器得以广泛应用于生成或捕捉来自周围环境的信息,当成功注册到特定IoT后即为IoT设备.

2) IoT网络(Ij):具有不同用途或应用的各种IoT设备组成了不同的IoT网络.每个IoT网络均有一个中央管理员服务器(Sj),负责IoT设备在网络中的注册.

3) 网络层(NL):该层提供了与其他网络实体之间进行身份信息、请求和数据传输的网关.

4) 应用层(A):应用层包括不同的IoT应用,以便用户访问存储在云或雾节点上的数据.用户可使用各种手持设备(例如智能手机或个人电脑设备),通过这些应用发送数据请求并得到响应.这些应用还可通过获得用户反馈并支持M2M的通信,实现整个网络的自动化.

5) 云基础设施:云计算提供了按需付费模型,是流行的技术范式.云计算还支持不同的应用,为用户提供使用网络服务的接口.在提出的系统中,云认证服务器(CAS)存储与用户和设备相关联的认证信息以便在后续通信阶段中验证其合法性.

6) 雾层(FN):首先需要对雾节点进行注册,使其成为网络的活动成员.雾节点负责在延迟敏感的应用中处理用户请求.若数据在雾节点中,则其向用户提供相同数据;否则,雾节点将数据请求转发至云.

7) 终端用户(Ul):个体用户可提出数据访问请求,而用户组(也称为目标用户)则通过广播获取数据.

8) 管理层:其包括策略执行服务器和网络文件系统(NFS)服务器.

(i) 策略执行服务器:基于设备和用户在系统中的身份和作用,为设备和用户设计并执行访问控制策略.对设备采用UCON模型,对用户使用CapBAC模型.

(ii) NFV服务器:主要用于确保网络中雾节点之间的负载平衡任务.

2.2 系统模型

图1给出了系统的整体工作流程.为了使物理设备进入网络以进行数据传输,设备制造商将一些参数加载到设备内存中用于未来通信.其后基于应用本质和设备类型,通过将其标识符发送至网络的中央管理服务器,将这些设备注册到相应的IoT网络和云数据库.此外,用户和雾节点通过发送标识信息,注册到云端.在成功注册后,策略执行服务器分别利用UCON和CapBAC,为设备和用户制定合适的访问控制策略.完成策略定义后进入数据交换阶段,其中包括3个阶段.首先,通过IoT网络将数据从物理设备或传感器传递至雾节点和云端.将需要存储较长时间的数据发送至云,而延迟敏感应用相关联的数据则存储在雾节点上.其后,在收到请求后以两种方式将数据传递至用户:1) 向用户提供其所请求的特定数据;2) 在接收到传感器的周期性数据后,将数据广播至目标用户集合.此外,用户还可以通过向CAS提供旧凭证并完成验证以更改凭证.如果用户离开父网络或被证明是恶意用户,则用户的访问权会被撤销.

图1 系统模型Fig.1 The system model

2.3 所提方案的数学表达式

2) 初始设置阶段:确定初始系统参数以用于未来计算.

(i) CAS考虑有限域Fp上的椭圆曲线E,并选择n阶的加群G的生成元P(p和n为大素数).

(iii) 认证服务器选择安全的单向散列函数h2: {0,1}→{0,1}n,其具有固定输出的抗碰撞性(基于信息摘要算法MD5或安全散列算法SHA-1).

(iv) 保持密钥Skey以加密数据传输请求.

3) 注册阶段:通过提供凭证将所有系统实体注册到CAS.

(i) 设备注册:基于IoT设备或传感器节点的功能,通过网络层NL将设备Di的匿名标识信息di发送至Ij的中央管理服务器Sj,从而将IoT设备或传感器注册到相应的IoT网络Ij.管理员则向设备提供匿名标识信息.

NL→Di:h2(njdi).

其中nj为IoT网络Ij的标识信息.

其中,IDl为用户标识,P和Wl为用户Ul的原始用户名和密码.

4) 访问策略确定阶段:利用UCON为设备制定访问策略,决定将传感器设备采集到的数据存储在云服务器上还是雾节点上.首先,检查设备标识,以确保数据来自授权源.然后,检查设备属性的完整性,以确保设备未被入侵.在完成安全性检查后,根据安全等级、可用带宽和时间,将数据转发至云服务器或雾节点.类似地,为用户制定访问控制策略,用户可在此基础上提出数据访问请求.即利用CapBAC模型通过策略执行服务器,根据用户的标识和角色为其分配资格.当用户提出访问请求时,对其分配的资格或令牌进行检查.成功通过检查后,根据用户请求提供服务.

5) 认证和数据交换阶段:

(i) IoT网络的数据分发:注册后的IoT设备或传感器节点采集周围环境的数据DC,并发送至云或雾节点以进行存储.

(a) IoT设备生成时间戳ti,执行以下计算并将结果发送至IoT网络Ij的Sj:

Di→NL→Sj:Skey_{di‖h2(njdi)‖DC‖ti}.

(b)Sj通过计算h2(njdi)来验证设备标识,并在设备成功通过验证后计算:

M0=rP,

式中r为随机数,M0与M′0为验证设备标识的前后的信息源.之后Sj将(M0,M′0,Aj)发送至CAS:

(c) CAS计算:

并通过计算Aj来验证Sj的标识,以接受采集数据.

(ii) 用户的数据请求:用于通过应用A,请求来自云的数据DR.

用户通过应用A将用户凭证发送至雾节点,与请求相关的状态位的数值为1.

若雾节点包含用户所需数据,则向用户提供数据;否则,雾节点将其标识信息添加到用户请求中并进行转发.两种情况下,一旦为请求提供了服务,则状态位的数值均被设为0.

Fk:M1=sP,

Fk→CAS:(M1,M′1) .

CAS通过重新计算Ul的数值并将其与之前存储的身份标识数值DS进行比较,来验证用户身份.若两者相等,则用户合法,云端将满足数据请求:

CAS→FN→NL→Ul:Skey_{DS}.

(iii) 数据广播:IoT设备采集到的数据将被广播至目标用户组.此处采用MQTT协议,其中目标用户组作为订阅方,云服务器作为代理方,IoT设备则作为发布方.

3 实验与分析

实验采用AVISPA和ACPT工具.其中,AVISPA[5]是一种自动化工具,用于互联网安全协议、安全目标以及相关威胁模型的形式化和验证.互联网安全协议指定为高阶协议规范语言(HLPSL),可制定数据结构、控制流模式、密码运算符和代数性质.ACPT用于策略建模执行以及静态和动态验证,以检测并降低策略中的故障[14].

3.1 实验结果

实验目的是使用AVISPA和ACPT工具验证模型的安全性,检测可能的故障和运行时间等.使用AVISPA工具验证协议安全性,协议采用HLPSL编写.在HLPSL中,用户定义的安全问题被转换为中间格式.AVISPA工具的后端集成了即时模型检查器(OFMC)、基于SAT(satisfication)的模型检查器、基于约束逻辑的攻击搜索器和TA4SP(tree automata based on automatic approximation for the andysis of security protocols)协议分析器.通过完备密码假设,使用Dolev-Yao模型[19]来执行协议分析.从即时模型检查器的后端可以看出本研究方法可以抵御不同的安全攻击(包括重放攻击和消息修改攻击等).此外,根据会话数量,AVISPA工具中协议检查的总耗时如表1所示.从表中可发现,将会话数量从2降至1,搜索时间会下降,因为协议执行中涉及的步骤数量减少,同时攻击搜索树中的总搜索点和逻辑路径也会随之减少.较低的耗时适合资源受限情况下的身份验证.

表1 AVISPA工具OFMC后端的情况列表Tab.1 List of OFMC backend in AVISPA tool

表2给出了ACPT的初始参数.所考虑的资源为安全等级、时间和网络带宽.根据资源的属性值,网络层将传感器采集的数据转发至云或雾节点.本研究提出的方案中包含的访问控制策略在ACPT工具上的执行时间分别为静态验证78 ms,动态验证75 ms.

表2 ACPT的初始参数设定Tab.2 Initial parameter setting of ACPT

3.2 安全性分析

下面将给出所提方案的非形式化和形式化安全分析,包括该方案处理不同攻击的方式.

3.2.1 非形式化安全分析

表3给出所提方案对不同攻击的处理方式,表4给出所提方案与其他方案在不同安全参数上的比较.其中,文献[14]中,发起方和应答方在认证过程中分别发送各自的原始标识I_ID和R_ID,若攻击者拦截到原始标识,可用于识别设备性质.此外,文献[14]的方案未制定设备一次性注册的规定,由此任何设备均可多次注册到网络,从而导致伪装攻击.文献[11]的方案在移动用户注册时,未进行身份冲突的检查.此外,文献[11]和[12]的方案易于受到DoS攻击.文献[8]方案的通信不能抵御DoS攻击,因为被入侵设备可以在通信发起期间不进行任何检查的情况下发送多条消息;此外,在OTP服务器上注册的设备未检查历史注册情况.

表3 对不同攻击处理方式的非形式化分析Tab.3 Informal analysis of different attack processing methods

表4 与其他方案之间的安全参数比较 Fig.4 Comparison of safety parameters with other schemes

3.2.2 形式化安全分析

下面将利用通用群密码模型下的矛盾法,对所提方案进行形式化安全分析,以证明该方案能够抵御各种攻击.假定攻击者可获得以下两个Oracle:

1) Oracle 1 该Oracle将无条件地从已计算出的散列值(h(x))中重新生成输入x.

2) Oracle 2 给定生成器P和公钥kP∈Ep(a,b),则该Oracle将无条件生成私钥k.

定理1如果单相散列函数h在椭圆曲线离散对数问题(ECDLP)下的行为类似Oracle,则提出的方案能够使攻击者无法推理得出CAS的私钥k.

证明为证明定理1,假定攻击者A有能力推导出CAS的私钥k.攻击者A利用Oracle 1和Oracle 2,在提出的远程认证方案上运行试算法.则该攻击的成功概率为:

(4)

(5)

3.3 性能分析

下面分析本研究所提方案的数学运算总计算成本以及通信或消息传输过程涉及的项数,并与其他方案[8,11-12,14]进行性能比较.表5给出了所提方案与其他方案的计算成本比较.可以发现,本研究方案中散列运算的数量少于文献[11]的方法.此外,本研究方案未涉及任何模运算(如文献[8])和异或运算(如文献[11-12,14]),因此适用于资源受限的设备.

表5 与其他方案计算成本方面的比较Tab.5 Comparison of cost calculation with other schemes

根据会话数量,AVISPA工具中协议检查的总耗时如表6所示.从表中可发现,将会话数量从2降至1,因为协议执行中涉及的步骤数量减少了,搜索时间下降,此外攻击搜索树中的总搜索点和逻辑路径也随之减少.

表6 基于会话数量的攻击搜索时间Tab.6 Attack search time based on the number of sessions

4 结 论

本研究利用ECC的轻量级性质,并将其与访问控制机制相结合,开发了性能较强的认证和授权框架.其中采用基于UCON的访问控制进行设备认证,并使用CapBAC模型为用户定义访问控制策略.提出的方案还采用MQTT的概念来进行基于广播的数据传输.使用AVISPA和ACPT工具验证提出的方案,并给出了非形式化和形式化安全分析.实验结果验证了所提方案的有效性和优越性.虽然提出的方案适用于资源受限的IoT设备,但还需要通过进一步研究使策略能够更好地处理设备的动态性,这将是未来的研究方向.

猜你喜欢

身份验证服务器节点
CM节点控制在船舶上的应用
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
人脸识别身份验证系统在养老保险生存核查中的应用
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
抓住人才培养的关键节点
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia