APP下载

基于区块链的软件定义物联网访问控制模型研究

2024-08-31张震

科技资讯 2024年14期

摘要:软件定义物联网通过应用软件定义网络技术,实现了网络平面与控制平面的有效分离,从而显著提升了物联网服务的灵活性与可管理性,然而其开放性也带来了更多的安全挑战。因此,提出将区块链技术集成到软件定义物联网架构中,利用区块链的去中心化和不可篡改的核心特性来加强网络控制与数据访问的安全性。另外,还通过智能合约来自动执行安全策略,采用基于密文策略的属性加密方案保证数据在传输和存储过程中的安全。

关键词:软件定义物联网区块链密文策略属性基加密网络安全

中图分类号:TP311

ResearchonBlockchain-BasedAccessControlModelforSoftware-DefinedInternetofThings

ZHANGZhen

SchoolofInformationEngineering,HenanIndustryandTradeVocationalCollege,Zhengzhou,HenanProvince,450053China

Abstract:TheSoftware-DefinedInternetofThings(SD-IoT)achieveseffectiveseparationofthenetworkplaneandcontrolplanebyapplyingSoftware-DefinedNetworking(SDN)technology,therebysignificantlyenhancingtheflexibilityandmanageabilityofIoTservices.However,itsopennessalsobringsadditionalsecuritychallenges.Therefore,itisproposedtointegrateBlockchaintechnologyintotheSD-IoTarchitecture,leveragingthedecentralizedandimmutablecorecharacteristicsofBlockchaintostrengthenthesecurityofnetworkcontrolanddataaccess.Additionally,smartcontractscanareusedtoautomaticallyenforcesecuritypolicies,andaciphertext-policyattribute-basedencryptionschemecanbeadoptedtoensurethesecurityofdataduringtransmissionandstorage.

KeyWords:Software-DefinedInternetofThings;Blockchain;Ciphertext-policyattribute-basedencryption;Networksecurity

随着相关技术的不断发展,海量的物联网设备被接入各种系统当中,其带来的管理压力也越来越大。传统的物联网管理体系难以支撑系统的正常运转,无法做到如臂挥使。软件定义网络(Software-DefinedNetworking,SDN)是一种可以编程调节的网络架构,它的主要思想是将网络设备的控制平面和数据平面分开,使用集中式的SDN控制器来完成对网络的可编程任务[1]。它被业界引入集成到了物联网当中,构建了一种新型的体系结构——软件定义物联网(Software-DefinedInternetofThings,SD-IoT)。它解耦了数据平面和控制平面,在集中化的控制器当中实现了对网络的编程,大大提升了物联网的性能和安全。但是他也面临控制器容易发生单点故障,数据层和控制层通信不安全,网络防御性能较低的问题。区块链作为一种可信分布式的网络架构,可以有效解决这些问题。

1密文策略属性基加密

基于密文策略的属性基加密(CiphertextPolicyAttribute-BasedEncryption,CP-ABE)中加密数据的可访问性由用户的属性与预定义的访问策略共同决定。当且仅当属性集合满足访问结构的时候,才可以解密成功,从而实现一对多的数据细粒度访问控制[2]。物联网接入设备众多,身份认证是系统安全的第一道防线[3]。CP-ABE的操作过程包括几个关键阶段:系统初始化阶段、密钥生成阶段、加密阶段和解密阶段。

1.1系统初始化阶段

系统初始化算法为,输入包括安全参数λ和属性全集U。U枚举了可能被授权访问的所有属性,输出包括公共参数PK和主密钥MK[4]。公共参数PK将被系统内的所有参与者使用,用于数据加密和验证访问策略的合法性。主密钥MK由TA安全保管,不对外公开,用于后续的密钥派生过程中生成与特定用户属性相关的解密密钥。

1.2密钥生成阶段

密钥生成算法为,输入包括主密钥MK和用户的属性集合T。在密钥生成阶段,可信授权中心首先验证提供的用户属性集合的有效性和完整性,然后根据用户的属性特征去选择访问策略,这一过程的目的是保证合适的属性才能被用于生成私钥。

1.3加密阶段

加密算法为,公共参数PK被用来加密数据和构建与访问策略相关的加密结构。消息M是需要被加密的数据,可以是任意类型的数字信息。与消息M相关联的策略树将会在加密过程中被构建。这个策略树定义了哪些属性集合能成功解密消息。公共参数PK和策略树可以将消息M加密为密文。

1.4解密阶段

解密算法为,输入的参数包含了公共参数PK,嵌入了访问结构MA的密文CT,以及嵌入了属性S的私钥SKA。公共参数PK用于辅助解密过程,确保密文的结构与加密时一致。密文包含了加密的消息M及定义哪些属性集合能解密消息的访问结构MA。私钥SKA则包括了用户的属性集合T以及必要的解密信息。

2.2基于区块链的软件定义物联网访问控制模型

系统架构由5个主要层次构成:应用层、控制层、数据层、区块链层和CP-ABE层。应用层负责与用户进行交互,以及提供网络服务应用,能够使用北向API和控制层通信;控制层作为系统的核心,处理网络策略和安全,同时与数据层通过南向API连接,并利用区块链和CP-ABE技术确保数据安全性;数据层用以数据的存储和管理,为其他层次提供数据支持。整体架构通过这些分层和技术整合,确保了网络的高效运行和安全。

2.2.1应用层

应用层是SDNIoT系统架构中与用户直接交互的部分,负责提供各种网络服务和用户界面。它通过北向API将用户请求转化为具体的网络命令,传递给控制层进行处理。此层还负责展示网络操作的结果和状态给用户,使用户能够直观地管理和监控网络设备及其性能。

2.2.2控制层

控制层在SDNIoT系统架构中充当网络的大脑,负责处理来自应用层的请求并执行网络策略管理和决策。它使用南向API与数据层和网络设备建立沟通的渠道,实施安全控制和流量调度等操作。此层还集成了区块链和CP-ABE技术,确保网络操作的安全性和数据的完整性。

2.2.3数据层

数据层是SDNIoT系统架构中负责收集、存储和管理所有网络数据的基础层。这一层保障了网络运行数据的安全存储,使用CP-ABE技术加密敏感数据,确保数据安全性。数据层还为控制层提供实时和历史数据,支持网络性能监控和决策分析。

2.2.4区块链层

区块链是一个去中心化的分布式账本,数据所有者通过存储交易将要分享的数据发送至区块链,从而实现一对多的安全数据共享[5]。每个区块的哈希值受其内容和父哈希的影响,因此任何对该区块内容的修改都将导致该哈希值的更改[6]。区块链层在SDNIoT系统架构中提供了一个去中心化的数据记录和验证平台,增强了网络的透明度和数据的不可篡改性。它记录了网络策略变更、设备状态更新以及所有关键的网络事务,确保操作的可追溯性和安全性。

Buterin在以太坊白皮书中率先引入了智能合约。智能合约本质上是一个用户自定义的计算机协议程序,在一些外部或内部条件的触发下自动运行在以太坊虚拟机上,借助其专用加密货币以太币来计量和控制程序执行的资源开销[7]。此层可以使用预设的智能合约自动处理较多的网络策略和访问控制任务,从而提高了网络管理的效率和可靠性。

2.2.5CP-ABE层

CP-ABE层在SDNIoT系统架构中负责实施基于属性的加密,确保数据在整个网络中的安全传输和存取。该层在加密时设计一个访问控制策略,契合特定属性的用户和设备才能解密,进而访问数据。系统使用CP-ABE进行了细粒度的访问控制,加强了数据的保密性和安全性,应对多样化的网络安全需求。

3.3工作流程

在使用基于区块链和CP-ABE的SDNIoT访问控制模型时,主要的工作流程可概括为以下3个步骤。

3.3.1属性和密钥管理

属性授权中心(AttributeAuthorityCenter,AAC)负责精确定义用户和设备的属性,这些属性涉及角色、权限级别、部门归属或设备类别等方面。AAC基于已定义的属性生成密钥对:公钥与私钥。公钥用于数据的加密,保障网络中传输或存储的数据的安全性,且该公钥对所有网络用户开放,用以加密目标接收者的数据。私钥的生成则是属性特定的,即私钥的产生与分发基于用户或设备的属性集,确保只有具备相应属性集的实体能够解密相应加密的数据。

3.3.2数据加密和策略

数据发送者使用CP-ABE加密技术对其加密处理,并其在加密过程中,会把访问控制策略以属性形式嵌入到加密数据中。此策略基于数据访问需求及相关安全政策,明确规定了可以解密和访问该数据的用户或设备的属性要求。这种基于属性的加密策略提升了数据安全性,因为数据即便在不安全的网络环境中被截获,也无法被无关实体解读,从而防止了数据的未授权访问和泄露。

3.3.3数据访问和验证

当用户或设备发起对加密数据的访问请求时,系统首先对请求者的属性进行认证,以确定其是否符合数据加密时所嵌入的属性基访问控制策略。

系统会利用一个集成的属性验证机制来审核请求者提交的属性证明,这些证明必须与数据加密策略中规定的属性相匹配。只有请求者的属性符合数据访问策略,系统才会允许其用私钥对数据进行解密。其中私钥的构成与请求者的属性密切相关,确保了只有合格的实体能解密特定的数据。

4结语

区块链技术有效地提高了SDNIoT数据的安全性和网络的可靠性,特别是在数据层和控制层的通信安全上取得了显著改进。该模型不仅增强了系统的防篡改能力,还通过智能合约和细粒度的访问控制策略,增强了用户与服务提供者之间的信任。此外,通过集成密文策略属性基加密(CP-ABE)技术,还可以进一步加强了数据的隐私保护,确保只有符合特定属性的用户才能访问敏感信息。

参考文献

[1] YIND,ZHANGL,YANGK.ADDoSattackdetectionandmitigationwithsoftware-definedInternetofThingsframework[J].IEEEAccess,2018,6:24694-24705.

[2] 王有恒,王瑞民,张建辉.基于CP-ABE算法的Fabric隐私保护模型[J].计算机工程与设计,2024,45(4):961-966.

[3] 徐川,艾星好,王杉杉,等.一种基于格的轻量级物联网群签密认证方案[J/OL].电信科学:1-19[2024-05-15].http://kns.cnki.net/kcms/detail/11.2103.TN.20240508.1457.020.html.

[4] 杨骁.基于属性加密的移动agent安全研究[D].武汉:武汉理工大学,2017.

[5] 巴阳,陈越,胡学先,等.基于区块链与属性基加密的数据共享方案[J].信息工程大学学报,2022,23(4):443-451.

[6] 张星星.基于区块链的软件定义网络安全研究[D].南京:南京邮电大学,2023.

[7] 曾志兵,吴晓鸰,凌捷.结合区块链和可追踪CP-ABE的数据存储与共享研究[J].小型微型计算机系统,2024,45(4):919-925.