基于区块链技术的分布式可信网络接入认证

2021-11-18 04:09严建峰
计算机仿真 2021年1期
关键词:准确度时延吞吐量

吴 斌,严建峰

(苏州大学计算机科学与技术学院,江苏 苏州 215006)

1 引言

计算机网络初期设计阶段缺乏隐私安全意识,导致现今网络安全问题日益显著。因此,对可信网络的十分重要。可信网络通过网络接入控制措施,将终端[1]可信扩展至网络,最终使网络可信。可信网络的接入认证是通过控制网络内不安全因素源头终端接入,令网络可信可控。区块链与物联网均存在去中心化与分布式属性。其中,物联网僵尸网络的形成是由于网络安全模型没有可靠的认证与共识机制,单点不信任扩展成多点不信任,而区块链则可以完整地进行分布式存储[2]。为此,相关研究人员对领域进行了大量的研究。

文献[3]针对电力物联网集中式接入认证方法的复杂计算过程与通信压力,根据电力系统特点,采用区块链去中心化特征,提出分布式认证方法,依据SHAMIR门限秘密共享机制建立共识机制,利用接入终端认证组,使分布式认证新的终端,并对其行为进行记录。该方法可有效提高电力物联网终端并发接入效率,但该方法操作过程中易受到外部干扰因素影响,导致接入安全性不佳。文献[4]通过结合天地一体化信息网络与分离网络控制面与数据面理念,设计接入认证方法,优化网络安全防护性能,依据提取的接入点决策影响因素特征,构建各因素求取公式,利用逼近理想解排序法与层次分析法,得到接入点决策算法。该方法对网络接入性能的优化具有一定改善效果,但效果不明显。

基于上述问题的存在,提出一种分布式可信网络接入认证方法。通过分布式网络框架中架构的树形数据结构,快速归纳与校验大规模数据的完整性,利用有向无环图结构,提升业务吞吐量,在区块链上自动执行智能合约,实现全网节点的同步运行,完成了分布式可信网络接入认证方法。与传统方法相比,所提方法的接入认证安全性能较高,且网络吞吐量较大,具有一定可行性。

2 区块链技术下分布式网络的构建

根据区块链技术的界定原理[5],采用数据层、网络层、共识层以及合约层架构分布式网络框架。区块链结构如图1 所示。

图1 区块链结构示意图

2.1 数据层

为快速归纳与校验大规模数据的完整性,架构具有全部树结构特征的树形数据结构,架构步骤为:

步骤1:利用哈希值加密算法SHA256[6]双重计算网络数据,即

Nodeoi=SHA256(SHA256(Dataoi))

(1)

式中,i=1,2,3,4。

步骤2:获取双重SHA256运算串联的相邻哈希块;

步骤3:递归第二步骤,待顶部仅剩一个结点时终止操作;

步骤4:返回树形结构根哈希。

当存储的叶子节点数据发生变化时,由父节点改变根节点的哈希值。分布式网络用户信息需不断更新,故以该树形结构为组织形式,将用户置于创世区块中。树形结构如图2所示。

图2 树形结构示意图

2.2 网络层

作为分布式网络框架的基础部分,将网络层架构为P2P的拓扑结构,利用Gossip协议[7]实现节点之间的互相通信,若消息始发节点需更新到其它节点,利用任意选取的几个临近节点发送消息,接收消息的节点重复始发节点操作,直到消息覆盖所有节点。节点更新过程如图3 所示。

图3 节点更新过程

2.3 共识层

共识层为区块链核心部分,其依据预先协商的规则,明确区块链每个节点之间的分布式记录流程,当各节点数据结果达成共识后,确保分布式形式的一致性与可靠性。共识层利用有向无环图结构,将接入认证作为粒度,满足各用户与区块链一一对应,提升业务吞吐量。其运行原理如图4 所示:

图4 共识层运行原理

2.4 合约层

该层由计算机程序语言编写智能合约[8],其能够在区块链上自动执行的合同条款。区块链网络中所有节点上均分布存储合约代码,且可实现全网节点同步运行。因合约具有去中心化、不可篡改以及透明可信等优势,任何节点问题、机构或个人均无法干扰合约程序的正常运行。其运行机制如图5 所示。

图5 智能合约运行机制示意图

3 分布式可信网络接入认证

3 .1 区块链可信认证匿名接入算法设计

物联网分布式网络在接入认证时,用户多采用匿名认证形式。因此,创建一种匿名接入算法。将网络运营商设定分布式网络节点,采用哈希函数将终端编号与密钥信息存储于本地文件中。当终端申请区块向终端编号发出信号时,运营商节点通过树形结构进行遍历搜索,判别终端可信度。若哈希函数不匹配,则网络属于非法状态,禁止接入;反之,若网络为可信状态,应将RSA非对称加解密体系作为认证方法的构建条件,采用匿名接入算法,进行双向验证。匿名认证算法流程如图6所示。

图6 匿名认证算法流程示意图

证书发放机构CA选取RSA[9]模型,即

n=pq

(2)

式中,保密素数分别是p、q。

假定m是证明者R要证明的消息,与n互素,且满足1≤m≤n-1,则证明者R的公钥计算公式为

v≡m2(modn)

(3)

证明者R任选一个数值r,满足1≤r≤n-1,则发送给验证者P的证据x表达式为

x≡r2(modn)

(4)

若证明者R接收到一个取值为0或者1的随机比特e,该比特由验证者P发出,通过本地执行计算公式,可分别求解出不同比特值,证明者R或验证者P的公钥运算结果,即

y2≡xve(modn)

(5)

当e=0时,y=r;当e=1时,y≡rm(modn)。

证明者R将计算结果发送到验证者P,经验证者P比较判定,如果双方数值相同,则证明者R的证明消息通过验证。验证者P至少要执行三次本地计算,确保验证结果,实现网络接入。在证明者合法的前提下,获取匹配一致的最终运算结果,将实际网络编码引入终端计算参数。

设定m是应保密的网络实际编号,鉴权阶段与网络编号哈希函数的区块密钥材料分别为y和p,y,其分别表示验证公钥,p表示运算参数。

假设x与y匹配的私钥,则生产商利用私钥x与任意数g构成的公钥为

y=gxmod(p)

(6)

式中,g,x

生产商将编号m分成a、b两部分,下式分别为m的拆分关系式与a部分表达式,即

m=(xa+kb)mod(p-1)

(7)

a=gkmod(p)

(8)

其中,1≤k≤p-2,且满足gcd(k,p-1)=1。

终端发送a、b两部分,向运营商申请节点验证,运营商节点与终端通过计算yaabmod(p)与gmmod(p)值,判定两数值是否匹配。

代入各关系,得到下列等式验证表达式

yaabmod(p)=gxagkbmod(p)

=gxa+kbmod(p)=gmmod(p)

(9)

将公钥与加密消息划分为并列模式,防止重复时延,降低通信与运算资源开销,提升接入认证性能。

3.2 可信网络接入认证实现

物联网实体的主要功能是实现数据的转发与存储,MME(Mobility Management Entity,移动管理实体)与UE(User Equipment,用户终端)之间的运行过程是用户终端与网络的鉴权[10]阶段,网络中存储用户身份数据的实体为HSS(Home Subscriber Server,归属签约用户服务器),可以与MME直接通信。

认证策略大致由两部分构成:从HSS到MME发送EPS认证矢量;MME与UE之间的协商密钥。实现流程描述如下:

1)UE发送附着请求给MME,请求信息含有网络身份编号IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码)与注册HSS编号IDHSS;

2)MME验证编号IDHSS,发送IMSI给相应的HSS;

3)接收消息后,HSS验证IMSI是否合法,如果通过验证,架构含有随机数RAND、认证令牌AUTN的认证矢量集合AV,将其作为应答数据,由HSS发回至MME;

4)接收HSS的鉴权矢量集合后,MME进行本地存储,从中任选一组随机矢量AV(i),获得随机数RAND(i)、认证令牌AUTN(i)以及KASME(i)等信息,将密钥标识KSIASME(i)分配给KASME(i),发送认证请求至UE;

5)UE根据AUTN(i)内的MAC数据,推算出XMAC。通过判定MAC与XMAC数值是否一致、序列号SQN是否在允许范围中,验证待接入网络。如果认证合格,求解RES(i)与KASME(i),发送RES(i)至MME;

6)经过对比接收RES(i)与AV(i)中的XRES(i),若数值相等,则认证通过,允许网络接入。

4 仿真分析

4.1 仿真环境

为了验证所提方法的科学有效性,进行仿真分析。实验在MATLAB 平台上进行,操作系统为WINDOWS XP 系统,其运行内存为8GB,CPU为3.6 GHz。

4.2 仿真参数

仿真参数如表1 所示。

表1 仿真参数

4.3 仿真方案

构建16个节点的物联网区块链分布式拓扑结构,设置待认证终端节点有14个,运营商节点2个。仿真限定节点数量为两个。依据链码设定IP访问序列,待认证终端节点按序向两个运营商节点提出申请,如果运营商节点繁忙,忽略所提申请,拒绝应答消息发回申请节点,则该申请节点缓存所提申请,对下一运营商节点提出请求;如果两个运营商节点均繁忙,待认证节点将在一定时间内再次按序发出申请。在运营商节点进行一次合法验证时,将日志同步到另一个运营商节点上。设定待认证终端节点中有12个合法节点,另外2个属于干扰节点。以网络吞吐量、接入验证的准确度以及接入验证的时延为仿真指标,对比所提方法以及传统方法的接入认证方法性能。

4.4 仿真结果分析

4.4.1 不同方法网络吞吐量分析

为了验证所提方法的可靠性,实验分析了所提方法、物联网接入认证方法以及一体化网络接入认证方法的网络吞吐量,其中,网络吞吐量越大代表该方法性能越好。仿真结果如图7 所示。

图7 不同方法网络吞吐量对比

分析图7 可以看出,在相同实验条件下,采用三种方法接入网络吞吐量存在一定差异。其中,所提方法的网络吞吐量总体高于其它两种方法,其网络吞吐量最高可达约99 Mpa;其它两种方法的网络吞吐量最高分别约为69 Mpa和49 Mpa,相比之下所提方法的网络吞吐能力更强,具有一定可靠性。

4.4.2 不同方法接入验证的准确度分析

为了验证所提方法接入的安全性能,实验分析了物联网接入认证方法以及一体化网络接入认证方法接入的准确度,实验结果如图8 所示。

图8 不同方法接入验证准确度对比

分析图8 可以看出,采用三种方法接入验证的准确度不相同。其中,采用所提方法的接入验证的准确度最高可达约 90 %,而其它两种方法的接入验证准确度远低于所提方法。这是由于所提方法将网络运营商设定分布式网络节点,采用哈希函数将终端编号与密钥信息存储于本地文件中。当终端申请区块向终端编号发出信号时,运营商节点通过树形结构进行遍历搜索,判别终端可信度。由此提高了所提方法接入验证的准确度。

4.4.3 不同方法接入的时延分析

为了进一步验证所提方法的可行性,实验分析了三种方法接入时的时延,其中,时延越短代表接入响应越快。实验结果如表2 所示。

表2 不同方法接入时延分析(s)

分析表2中数据可知,随着迭代次数的增加,三种方法的接入时延随之改变。其中,所提方法的接入时延最短为2.1 s,物联网接入认证方法的接入时延最短为4.2 s,一体化网络接入认证方法接入时延最短为4.9 s,相比之下所提方法的时延分别缩短了2.1 s 和2.8 s。验证了所提方法的科学有效性。

5 结束语

以防范为主的网络接入机制比较被动,抵御变种病毒与木马攻击时并发性较差,且多数攻击事件均因接入终端安全性较差等导致,为此从接入终端的安全问题出发,以区块链技术为背景,提出分布式可信网络接入认证方法。通过与传统接入方法对比得到以下结论:

1)所提方法接入后网络吞吐量最高可达99 Mpa,验证了所提方法的综合有效性。

2)所提方法接入验证的准确度最高可达约90 %,高于传统方法的接入验证准确度,验证了所提方法的安全性能较好。

3)所提方法的接入时延最短为2.1 s,与传统方法相比接入较快,具有一定可行性。

猜你喜欢
准确度时延吞吐量
影响重力式自动装料衡器准确度的因素分析
计算机网络总时延公式的探讨
计算机网络总时延公式的探讨
基于物联网的IT运维可视化管理系统设计与实现
《舍不得星星》特辑:摘颗星星给你呀
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
论提高装备故障预测准确度的方法途径
Word中“邮件合并”功能及应用