APP下载

边缘计算环境下基于区块链的跨域认证与密钥协商协议

2021-02-28张金花李晓伟赵榆琴杨邓奇

信息安全学报 2021年1期
关键词:数字证书跨域终端设备

张金花,李晓伟,曾 新,赵榆琴,段 燃,杨邓奇

大理大学数学与计算机学院 大理 中国 671000

1 引言

随着物联网技术的快速发展,物联网应用也逐渐广泛。大量的终端设备接入网络中将产生海量级的数据,这为云中心及时有效地处理数据带来了更大的挑战。边缘计算是指在网络边缘执行计算的一种新型计算模型。网络边缘是指从数据源到云计算中心路径之间的任意计算和网络资源[1]。边缘计算技术的引入减轻了云中心的网络负担,但同时也引起了一些安全问题。边缘计算环境下的终端数量较多,层次复杂,多种安全域并存,安全性要求更高。身份认证是设备接入网络的第一步也是网络安全的第一道屏障。传统的物联网身份认证协议大多数都是基于云中心-终端设备的网络架构,而边缘计算环境下网络架构有所改变,如图1 所示。在边缘计算环境中设备计算及通信主要在设备边缘完成,原有的网络认证模式已不再适用。同时,边缘计算环境中往往涉及多个域,多个域间设备安全通信需要跨域间身份认证与密钥协商。物联网单域间身份认证与密钥协商方案已经有比较成熟的研究成果[2-6]。但轻量级的边缘计算环境下跨域间认证与密钥协商方案仍有待研究。

现有的物联网身份认证主要是基于公钥基础设施(Public Key Infrastructure,PKI)认证技术。PKI 技术依靠数字证书进行身份认证,依靠加密技术保证信息不被泄漏,以保证信息的完整性、保密性和抗抵赖性。PKI 解决了互联网络中的公钥分发问题,是互联网的信任基础,也是目前保障网络安全较好的认证体系[7]。基于PKI 体系的物联网跨域认证已有学者做了如下研究:文献[8]提出一种适用于“云-边-端”一体化物联网认证架构下基于PKI 和国密SM9 标识的认证体系。在边缘计算环境中,物联网终端设备直接在网络边缘进行跨域认证,实现了高效的跨域认证和位置隐私保护。对于低性能的物联网终端设备,降低了复杂度并且提高了终端跨域认证的效率。文献[9]结合PKI 和基于身份的签名(Identity-based signature,IBS)认证体系的优点提出一种基于证书的签名方案,避免了PKI 证书管理的复杂性和IBS 中密钥托管和分发的问题,实现了安全高效和匿名的物联网移动设备跨域认证。文献[10]提出了基于身份的密码体制和无证书加密体制相结合的认证方法,并优化了跨域环境下的签密算法,提出基于不同系统参数的跨域签密方案。该方案能满足临时密钥的安全需求,可应用在跨域网络中提升计算效率降低成本,实现了物联网环境下的跨域认证。

基于PKI 技术的认证方案虽然能实现跨域认证但需要复杂的证书管理体系,对于物联网终端设备分布广、数量多并且涉及多个通信域等特性,PKI 技术已经不能很好的解决物联网设备身份认证问题。区块链技术的产生推动了数字证书的发展,区块链与物联网技术的结合也是未来的发展趋势。区块链中的数据区块是以时间顺序为序列、通过链式结构链接形成的数据结构,每个区块通过存储前一个区块的哈希值来确保区块链的可追溯性[11]。区块链技术具有分布式数据存储、点对点传输、共识机制、加密算法四大特性。区块链解决的就是非安全环境中的可信问题、数据安全问题、身份权限问题和隐私保护问题[12]。区块链的基本结构如图2 所示。区块标识能对区块进行识别,区块体中包含某一时间段的所有交易数量,经过哈希运算最后生成Merkle根哈希,区块之间通过前一区块的哈希值相互连接形成了按时间序列链接的区块链。基于区块链的物联网终端设备跨域认证方案目前研究较少。结合区块链技术的跨域认证方案有如下研究:文献[13]在不改变PKI 认证模型的基础上结合区块链技术提出了一种联盟链信任模型,实现双向实体跨域认证,并提供快速重认证。通过Hash 算法验证证书,减少了公钥签名与验证的次数,提高了跨域认证的效率。文献[14]提出了一种基于区块链的物联网分布式身份认证架构,对传统的区块数据结构进行扩充,引入默克尔帕特里树(Merkle Patricia tree,MPT)存储物联网设备及其数字证书以保证信息的可靠性,提高了认证效率和安全性。文献[15]利用模糊提取技术并结合区块链的智能合约,提出一种基于生物特征和口令双因子的跨域认证方案。在实现跨域认证的同时,也避免了生物特征信息泄露保证其安全性。文献[16]设计了一种基于区块链的智能合约去中心化身份管理与认证模型,利用智能合约实现对用户身份信息的发布、认证和撤销,实现不同场景中的交叉认证。

以上物联网认证方案中,跨域认证的方案一类是基于PKI和IBS的认证体制,主要是中心化的认证方式,这种认证方式一旦中心服务器受到攻击就会威胁到整个系统安全。另一类是利用区块链技术去中心化和不可篡改的特性设计分布式环境下的物联网认证方案,这种方案设计相比传统中心化的认证方式实现了更安全和高效的认证效率。由于物联网环境中的异构性以及存在多种不同的安全域,其中低性能的终端设备计算能力有限,在一些要求低延迟、实时性的物联网场景中,基于传统中心化的认证方式难以实现跨域认证和通信。本文主要解决现有物联网环境中存在的低性能终端设备跨域认证问题,利用区块链技术特点更好地解决跨域认证中存在的安全性问题。在“边缘设备-终端设备”网络架构下设计区块链的联盟链信任模型,将终端设备的数字证书记录在区块链上减少了认证开销,并且提高了认证的可靠性。本文基于以上认证方案设计边缘计算环境下物联网终端设备同域和跨域认证与密钥协商协议,保证终端设备间通信的安全性。

2 基于区块链的物联网认证方案

2.1 系统架构与区块链共识机制

2.1.1 系统架构

基于区块链的物联网终端认证架构如图3 所示,主要由物联网终端设备(Devices,D)、边缘认证服务器(Edge Servers,ES)、区块链认证中心(Blockch-ain Certificate Authority,BCCA)构成。根据区块链的共识机制选出每个域内高性能的边缘认证服务器ES,将ES 和BCCA 作为联盟链内的节点并且相互之间是可信的。BCCA 主要负责证书的颁发,将证书的哈希值和状态信息都存储区块链上。对终端设备拥有的证书哈希值与区块链上的证书哈希值进行比较以实现物联网终端设备身份认证,减少了数字证书的签名与验证过程。由于区块链不可篡改以及可追溯的特性,本文提出的方案能够提高物联网终端设备身份认证的效率和安全性。

2.1.2 区块链共识机制

本文基于联盟链的特性设计了物联网设备跨域认证架构,如何保证联盟链内的节点记账达成一致,是区块链研究的重点。本文选择适用于联盟链的委托权益证明(Delegated Proof of Stake,DPoS)的共识机制,根据DPoS 的工作机制将联盟链内的节点划分为3 类:

1) 股民:包括全体节点;

2) 股东代表:节点投票选出若干名代表记账;

3) 候选人:竞争股东代表的节点。

在DPoS 的工作机制中全体节点都可以作为候选人竞争股东代表,由股民根据占股比例进行投票选举,获得票数最多的若干名候选人成为股东代表,股东代表的人数由系统决定。股东代表负责记账,落选的候选人成为股民,除股东代表外的其余节点同步账本实现联盟链内的共识。

2.2 方案设计

本节基于区块链的物联网认证架构进行方案设计,认证方案分为终端设备身份注册、设计同域和跨域认证与密钥协商协议三个阶段,同域和跨域认证的终端设备身份注册阶段相同。物联网终端设备认证与密钥协商协议的符号说明如表1 所示。

表1 物联网跨域认证协议符号说明Table 1 Symbol description of IoT cross-domain authentication protocol

2.2.1 终端设备身份注册

本方案的身份注册是指终端设备Di通过边缘认证服务器ES 进行注册,身份注册流程图如图4 所示。具体步骤如下:

1) 设备Di向ES 发送注册请求。

2) ES 接收到Di的注册请求,用私钥解密验证是否为合法用户,若验证通过,则注册成功;反之,返回注册失败。

3) ES 向BCCA 发送申请证书请求。

4) BCCA 通过验证随机数及签名的有效性,若验证通过则生成数字证书,T 表示证书的有效期,并将数字证书的哈希值hI=H(Certi)写入区块链。

5) BCCA 将生成的证书哈希值返回给Di。

2.2.2 同域认证与密钥协商

随着物联网设备的增加,云中心的网络负担也随之增加。边缘计算技术的出现为终端设备的身份认证提供了更方便和高效的认证方式,终端不再需要向云中心申请认证,而是在网络边缘进行本地化的认证。以A 域为例设计同域认证与密钥协商协议。同域认证与密钥协商流程图如图5 所示,具体步骤如下:

1) 设备DA向本域边缘认证服务器ESA发送认证请求,为终端设备存储的数字证书哈希值。

2) ESA收到请求消息后用私钥解密,验证身份信息。若验证通过则为已经注册过的设备,继续执行下一步;反之,重新发送接入认证请求。

3) ESA向区块链发送请求DA数字证书哈希值的消息。

4) 区块链节点收到消息后查看N2是否有效,若有效将DA的证书哈希值h1发送给ESA。

5) ESA收到消息后将区块链上存储的数字证书哈希值与终端设备发送的数字证书哈希值比较是否一致,若结果相同则认证成功;反之,认证失败。

6) ESA向DA发送认证成功的消息。

7) DA收到消息后用私钥解密得到随机数N3,DA向ESA发送密钥协商的消息,KS1=H (IDA,N3,N4)即会话密钥。

8) ESA收到消息后用私钥解密得到回话密钥KS1。

2.2.3 跨域认证与密钥协商

以A、B 两个域为例进行终端设备的跨域间通信,假设A 域设备DA漫游到B 域,通过ESB对ESA的认证间接实现ESB对DA的认证,从而实现DA的跨域认证。跨域认证与密钥协商流程图如图6 所示,具体步骤如下:

1) 终端设备DA向边缘认证服务器ESB发送访问请求。

2) ESB收到访问请求后向A 域边缘认证服务器ESA发送请求认证DA的消息。

3) ESA收到请求消息后向ESB发送关于DA的认证信息。

4) ESB收到消息后通过查看N5是否有效,若有效则ESB向区块链发送请求DA数字证书哈希值的消息。

5) 区块链节点收到消息后查看N6是否有效,若有效将DA的数字证书哈希值h1发送给ESB。

6) ESB收到消息后将区块链上存储的数字证书哈希值与终端设备发送的数字证书哈希值比较是否一致,若结果相同则认证成功;反之,认证失败。

7) 设备DA通过了认证服务器ESB的认证后,可以进行跨域通信。DA若要与B 域终端设备DB之间安全通信需要进行密钥协商。DA产生一个私有的随机数a,计算ga并将发送给DB。

8) DB收到消息后验证签名并得到ga,同时DB产生一个私有的随机数b,计算gb并将发送给DA。

9) DA收到消息后验证签名并得到gb,DA通过计算KS2=(gb)a得到会话密钥为KS2。

10) DB通过计算KS2=(ga)b得到的会话密钥与DB的相同。

3 安全性分析

3.1 认证安全性

本文提出的物联网终端设备认证与密钥协商协议是基于PKI 的认证体系并结合区块链技术实现,区块链认证中心BCCA 将生成的数字证书哈希值H(Certi)存储在区块链上作为认证凭证。由哈希函数的单向性可知,假如有攻击者获取了哈希值也无法解密得到数字证书,保证了数字证书的安全性。由于区块链不易篡改的特性,实现了物联网终端设备同域与跨域认证凭证的安全性。在同域认证过程中,基于公钥加密算法互相发送消息,只有拥有私钥的设备才能解密,保护了设备的身份信息不被泄露,实现了安全的认证与密钥协商协议过程。在跨域认证过程中,DA向B 域请求跨域认证是通过ESA向ESB发送终端设备DA的相关认证信息,再由ESB通过区块链验证DA的认证凭证。ESA和ESB都是联盟链内的节点,通过联盟链的DPoS共识机制选取节点,只有通过共识机制验证的节点才能加入到联盟链内,因此联盟链内节点是可信的。从而保证了终端设备信息的安全性,减少了使用公钥加解密算法的运算次数,实现了终端设备更高效和安全的跨域认证。

3.2 会话密钥安全性

本文在跨域认证过程中建立了安全通信的会话密钥,分别为同域认证的物联网终端设备Di和边缘认证服务器ESi以及跨域认证中两个终端设备DA与DB之间的密钥协商。在同域认证密钥协商过程中Di和ESi分别选取随机数通过公钥加密算法发送给对方,再进行Hash 处理H (IDA,N3,N4),其他设备没有对应的私钥无法解密获取会话密钥,假如有攻击者能监听到会话密钥也无法解密。在跨域认证密钥协商过程中两个终端设备的会话密钥设计基于DH密钥协商协议。Canetti 和Krawczyk 提出了基于签名的认证器[17],本文中的密钥协商过程为A,B 双方分别发送数字签名,该过程可以视为将原始的DH 密钥协商协议经过认证器对消息认证,由文献[17]的证明可以得出该密钥协商过程是安全的。

3.3 抵抗重放攻击

在整个认证的过程中,发送请求消息时会加入随机数,接收方通过查看随机数的有效性来确认消息的准确性。在认证过程中,边缘认证服务器ESi向区块链节点请求数字证书哈希值时加入随机数Rep=(IDA,PA,N2),区块链节点通过验证随机数的有效性来判断消息的真实性。假如有攻击者截取了消息再重新发送,但由于随机数的时效性将会导致失败,所以能够抵抗重放攻击。

3.4 前向安全性

本文在两个跨域的终端设备密钥协商过程中考虑到会话密钥的前向安全性,利用DH密钥协商协议进行会话密钥协商。假如攻击者获取了当前的会话密钥KS=(gb)a,其中a 和b 是通信双方随机选取的秘密值,均为通信双方私有。攻击者在不知道a 和b的情况下,由离散对数困难问题可知很难求出会话密钥KS,在此之前双方通信的会话密钥也很难得到。基于以上会话密钥协商过程,能够保证终端设备跨域通信的安全性。

4 性能分析

本文提出一种边缘计算环境下基于区块链的物联网终端设备认证与密钥协商协议,本节对比文献[9]和文献[14]的计算开销进行性能分析。不同方案的计算开销对比如表2 所示,表中数字的单位为每种算法的运算次数。

表2 计算开销对比Table 2 Calculation cost comparison

与文献[9]对比本文方案使用较少的指数运算,文献[9]中物联网设备的跨域认证是基于传统的中心化认证方式,一旦中心受到攻击,会对整个认证过程造成威胁。与文献[14]对比本文方案使用较少的数字签名与验证算法,而且没有复杂的双线性对运算,在一定程度上减少了计算开销。相比文献[14]本文方案更适合低性能的物联网终端设备跨域认证。对比以上两种方案,本文方案有较少的计算开销。为了进一步分析算法的计算开销,本文对密码学算法的运行时间进行测试。实验环境为:英特尔i7 处理器,3GHz 主频,8GB 内存。其中TS表示一次数字签名与验证的运行时间,TPK表示一次公钥加解密的运行时间,Th表示一次哈希算法的运行时间,Ti表示一次指数运算的运行时间,TE表示一次双线性对运算的运行时间。经过多次运行取平均值得到结果如下:TS、TPK、Th、Ti和TE的运行时间分别为2.005ms、3.830ms、0.001ms、6.324ms 和11.450ms。为方便对比,本文选择的数字签名算法为ElGamal 数字签名算法,加密算法选择的是ElGamal加密算法。本文方案与文献[9]和[14]计算耗时对比如图7 所示。从图7 中可以看出本文总的计算消耗仅为46.633ms,少于其他两种方案,更适用于低性能的物联网设备。

5 结束语

针对目前存在的物联网终端设备认证复杂和低效率的问题,本文利用边缘计算技术设计了基于区块链的跨域间物联网终端设备认证架构。通过边缘设备而非云中心对终端设备进行认证,将终端设备的认证进行本地化处理,减轻了云中心的网络负担,同时也提高了认证效率。并且对认证与密钥协商协议应有的安全属性进行了分析。同已有的物联网终端设备认证方案相比,在满足认证与密钥协商安全性的基础上,本文方案具有较少的计算开销,更适合低性能的物联网终端设备认证与密钥协商。

猜你喜欢

数字证书跨域终端设备
基于多标签协同学习的跨域行人重识别
为群众办实事,崂山区打出“跨域通办”组合拳
G-SRv6 Policy在跨域端到端组网中的应用
行车记录仪通信连接方法、行车记录仪及终端设备
电力配网自动化中配电自动化终端设备的应用
电网终端设备信息安全研究
电网监视终端与自动化设备的运行维护技术
PKI技术在SSLVPN中的应用
数字签名保护Word文档
“新都市电影”中的男性明星——身体、阶层与跨域想象