基于区块链的物联网隐私保护访问控制技术探析
2022-03-17汪雁
汪雁
(甘肃林业职业技术学院,甘肃天水,741020)
0 引言
物联网是基于互联网与通信网作为基础,从而为物理设备提供信息交互、无缝连接的互联网络。在这一个网络之中,物理设备可以满足设备之间的精确协作,也可以满足人机之间的实时联动。伴随着科技的进步与发展,物联网已经发展为以人为本的面向机器的物联网应用。因此,希望通过本文的研究,能够对于今后的分析起到一定的借鉴意义。
1 基于区块链的访问控制分析
基于技术层面来分析,区块链本身具有去中心化、不可篡改、数据可追溯等基本特点,也可以利用智能合约从而满足去中心化的逻辑计算。基于区块链的访问控制,区块链本身能够做一个存储关键数据的分布式数据库,同时也可以形成去中心化的计算平台。在数据安全角度上加以分析,区块链本身能够降低访问控制对于单一的可信实体的依赖度,提高数据的安全性与访问控制的可靠性。基于设备安全角度出发,物联网设备使用区块链,就能够作为底层的网络架构从而逐渐物联网,最终提升其外部网络攻击的抵御能力,从而保障设备的安全性[1]。
2 基于智能合约的物联网访问控制机制
2.1 隐私问题描述
访问控制技术作为物联网隐私与安全保护的重要手段,基于区块链的物联网访问控制,在两者的相互结合下,其优点在于:第一,去中心化特点将传统集中式访问控制的单点故障问题解决,这样有利于物联网容错性的提高。因为并没有第三方实体的控制,所以还可以满足数据安全性的提升。第二,智能合约能够为物联网设备提供相应的执行服务,这样就可以满足物联网设备的自动化管理要求。第三,对于区块链本身的不可篡改特点,就确保了上传的数据也不会出现篡改的问题,并且因为可追溯性,所以,能够进一步提高其可靠性[2]。
2.2 基于智能合约的访问控制机制
在本文的研究中,主要是就新的分布式影视保护访问控制系统加以描述,针对本系统的架构,其具体见图1所示。
图1 访问控制机制示意图
3 访问控制流程
3.1 智能合约的部署
对于资源所有者,在本地的客户机上利用C/C++/Solidity等自然语言来进行智能合约的逻辑结构编写,然后做好代码的编译,从而将其部署到区块链上。对于整个智能合约的执行过程,都是基于可信执行环境内的。所有调用的参数都是通过为智能合约生成公钥来进行加密处理。第一,对于资源的所有者,在本地的客户机上通过C/C++/Solidity等自然语言来进行智能合约的逻辑结构编写。第二,资源所有者直接将智能合约编译成为二进制代码,然后将其嵌入到交易之中,从而实现区块链中的部署。第三,对于共识节点,在部署交易验证之后,在TEE之中进行合约代码的加载,这样就会有一个对应的秘钥对生成。第四,共识节点则是直接将合约的地址与公钥广告给全网的节点。
3.2 域内访问控制流程
针对域内的访问请求者,资源所有者直接发起授权合约公钥加密的调用交易,其主要包含了访问请求者的角色、地址、设备与权限,然后直接上传到区块链之中。在交易验证通过之后,授权合约就会执行对应的Addrole操作,然后访问请求者就会直接将信息添加到授权合约的访问控制列表之中。之后,访问请求者就可以向着认证合约发送访问的请求。第一,访问请求者直接发送角色请求给资源所有者。第二,资源所有者在接收到角色请求之后,就会进行对应的角色分配处理。第三,访问请求这朝着认证合约发送加密的访问请求。第四,认证合约直接返回加密的访问结果。
3.3 跨域访问控制流程
针对跨域访问请求者,资源所有者在接受到访问请求对应的角色请求以及对应的私钥签名之后,就会直接在授权合约之中添加新定义的访问控制策略。跨域访问请求者朝着授权合约发送相关的签名与地址的加密角色请求。授权合约按照定位的访问控制,就可以为请求者分配对应的角色,然后选择通过Grantrole操作,直接在访问控制列表之中添加访问请求者的信息。跨域访问请求者朝着认证合约发送,从而实现角色信息加密访问请求的认证。第一,访问请求者直接发送公钥地址与私钥签名给资源所有者。第二,资源所有者朝着授权合约实现新的访问控制策略的添加。第三,访问请求者将合约公钥加密的角色请求发送给授权合约。第四,跨域访问请求者直接将访问请求发送给认证合约。第五,认证合约直接返回相对应的加密访问结果。
4 基于区块链的物联网隐私保护访问控制技术的实验与分析
基于智能合约的物联网隐私保护访问控制流程,其主要是需要介绍智能合约的部署,介绍域内访问请求者和跨域访问请求者相对应的访问控制流程。然后,通过认证合约与授权合约的帮助,就可以满足物联网访问控制系统的优化。对于其相应的实验分析,具体如下:
4.1 实验环境与系统部署
基于Truffle框架来做好对应的部署,并且调用智能合约,通过Ganache开发与测试本地区的区块链,Ganache能够实现真实的以太坊网络的模拟,其包含了多个账户的传输构建以及需要的以太币。
针对上述的设备而言,资源所有者由服务器扮演,其台式电脑属于共识节点,笔记本电脑属于访问的请求者,网关为树莓派。考虑到这一部分设备本身具有一定的存储与计算能力。同时,在设备之中还有以太坊的客户端安装,所以,这些设备就可以直接转化成为以太坊节点。在本文的研究分析之中,基于Remix集成开发环境来实现智能合约的编写与编译,通过HTTP协议,就可以满足web3.js和以太坊客户端向的连接需求,这样就可以满足已经编译的智能合约部署。针对Web3.js,其可以直接通过以太坊客户端,从而针对智能合约的执行状态进行对应的监测处理,这也就是实现访问结果的有效控制。作为访问请求者,其通过以太坊客户端,直接朝着认证合约发送访问的请求交易,然后从认证合约接受到对应的返回访问结果。
4.2 实验结果与分析
针对对应的访问控制的实验分析,本章节主要是针对其具体的访问结果进行了解,然后做好对应的分析。
4.2.1 实验结果
在实验案例分析中,基于以太坊区块链来实现授权合约与认证何悦的编译与部署,这样就可以满足实体之间的细粒度访问控制要求。针对其部署结果,具体见图2所示。
图2 智能合约部署结果
为了满足访问请求者向着认证合约发送物联网设备访问请求可行性的验证,访问请求者就会通过本底的以太坊客户端,从而朝着认证合约发送对应的访问请求交易。
在访问请求发送之前,还需要针对交易进行加密处理,这样可以满足交易隐私性的保护。同时,通过零知识证明生成证明π。为了明确交易的正确性,就要求通过共识节点来进行验证处理。
4.2.2 性能分析
基于零知识证明效率、物联网设备响应时间和网管的吐吞量,从而与其余的方案进行相互的对比。通过零知识证明算法DBS,其证明算法生成的证明大小为1019位,其初始化的时间为9秒。
通过零知识证明算法DBS,从而与zk-STARK、Bulletproof、Ligero进行生成时间与验证时间的对比。通过结果表明,DBS算法的实用,在生成时间上要优于其他算法。同时,伴随着Merkle树叶子节点的不断增加,也会对应的增加证明时间。
基于验证时间分析,DBS验证时间优于Bulletproof 、Ligero算法,虽然时间上要比zk-STARK算法验证时间长,但是也处于可接受的范围内。
考虑到物联网设备数量庞大,为了满足访问请求,就要求网关能够具有高性能的特征。所以,基于本地网关的吞吐量以及带宽进行测试,其结果能够满足高性能的要求。
基于不同访问请求者,测试了域内访问请求者以及跨域访问请求者从本地网关到物联网设备的网络延迟。为了针对本框架的访问控制效率加以测试,在测试之中,其访问次数分别为100次、200次、500次、1000次,然后做好访问请求的平均延时记录,并且对比基于区块链的属性访问控制模型和角色访问控制模型。
4.2.3 小结
通过基于区块链的物联网隐私保护访问控制机制的实验结果分析,首先给出对应的仿真实验设备与环境,介绍对应的系统部署,然后通过智能合约在区块链上相对应的部署结果,这样就直接给出了访问控制结果和零知识证明结果。最后通过性能的分析比较之后表明机制本身的可行性与机密性,这样就能够满足分布式可信的物联网访问控制要求。
5 结语
基于区块链物联网访问控制方案的隐私问题分析,从而对应的设计了基于区块链的物联网隐私保护访问控制机制,这样就能够满足可信、安全、方便的访问控制,最终促进其可持续的应用与发展。