一种基于区块链的物联网访问控制方法
技术特征:
1.一种基于区块链的物联网访问控制方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的基于区块链的物联网访问控制方法,其特征在于,在步骤s1中,建模物联网系统模型,具体地,场景中有多个物联网域,每个域由一个网关节点及多个物联网节点组成;物联网节点收集环境数据,并传输所收集数据至域内网关节点,网关节点负责转发域内节点及其他域的各类消息,各节点通过与所在域的网关节点交互实现对域内及域间其他节点数据的访问;根据物联网节点的性能,将其划分为高性能节点及普通节点;令dm表示第m个物联网域,1≤m≤m,其中,m表示物联网域的数目;令nm表示dm中的物联网节点数量,km表示dm中高性能节点数量。
3.根据权利要求2所述的基于区块链的物联网访问控制方法,其特征在于,在步骤s2中,建模数据访问策略,具体地,令ti,j表示节点i与节点j之间访问请求时刻的集合,令ri,j(t)表示t时刻节点i与节点j之间访问请求的收益值,若访问成功,则ri,j(t)=v1,否则ri,j(t)=v0,v1>v0;令表示t时刻节点i与节点j之间的直接信任值,建模为:
4.根据权利要求3所述的基于区块链的物联网访问控制方法,其特征在于,在步骤s3中,构建域内区块链,并部署智能合约,具体地,域内区块链由各域中高性能节点创建,以实现域内权限的分布式验证;各域内区块链存在一个主节点,负责基于所在域的各类请求生成区块;域内区块链存储域内节点信息、域内数据标识符集合、域内数据访问策略集合及域内数据访问记录;域内区块链智能合约包括节点管理合约、数据上链合约及数据访问合约;节点管理合约负责将域内节点添加至节点集合;
5.根据权利要求4所述的基于区块链的物联网访问控制方法,其特征在于,在步骤s4中,构建全局区块链,并部署智能合约,具体的,各域网关节点创建并运行全局区块链,用以实现跨域权限的分布式验证;全局区块链中存在一个主节点,负责基于全局区块链中其他节点的各类请求生成区块;全局区块链存储系统中各域内节点信息、节点类型信息、所有数据标识符集合及跨域数据访问记录;全局区块链智能合约包括域管理合约、数据上链合约及数据访问合约;域管理合约包括以下函数:
6.根据权利要求5所述的基于区块链的物联网访问控制方法,其特征在于,在步骤s5中,物联网节点收集数据并上链域内区块链,具体为,若节点i在t时刻收集到新的数据,为数据分配唯一数据标识符ri(t),确定ri(t)的读、写及执行权限所需信任值阈值创建对应访问策略p(ri(t)),基于ri(t)及p(ri(t))生成数据上链请求,调用数据上链合约,采用自身私钥对数据签名后发送至当前所处域的主节点;域主节点接收到数据上链请求后验证请求签名,若签名验证失败则丢弃该请求,否则,域主节点利用该数据上链请求生成新区块,发送至当前域内区块链节点,并对新区块进行共识,新区块共识完成后执行数据上链合约,将ri(t)及p(ri(t))存储至域内区块链,当前域内其余各节点及网关节点同步共识结果。
7.根据权利要求6所述的基于区块链的物联网访问控制方法,其特征在于,在步骤s6中,数据上链全局区块链,具体为,若t时刻节点i收集数据的数据标识符及访问策略成功上链域内区块链,i∈dm,dm的网关节点利用ri(t)及p(ri(t))生成数据上链请求,调用全局区块链数据上链合约,利用自身私钥签名后发送至全局主节点;全局主节点接收到数据上链请求后验证请求的签名,若签名验证失败则丢弃该请求;否则,全局主节点利用该数据上链请求生成新区块,发送至各全局区块链节点,并对新区块进行共识,共识完成后执行数据上链合约将ri(t)及p(ri(t))存储至全局区块链。
8.根据权利要求7所述的基于区块链的物联网访问控制方法,其特征在于,在步骤s7中,节点执行域内数据访问,具体为,若节点j需要向域内数据ri(ts)所对应的数据申请读、写或执行权限,i,j∈dm,节点j查询本地区块链,根据域内数据标识符集合rm判断ri(ts)是否为域内数据,若为其他域内数据,则转至s8,若为dm域内数据,则调用数据访问合约的域内访问请求函数发起访问请求,利用节点j自身私钥签名后发送至域内区块链主节点;域内区块链主节点接收到域内访问请求后验证请求签名,若签名验证失败,则丢弃该交易;否则,域内区块链主节点利用当前请求与生成新区块,发送至各域内区块链节点,各区块链节点接收到包含当前请求的区块后调用域内访问验证函数验证访问请求方是否具有目标数据的相应访问权限,对验证结果进行共识并将验证结果添加至域内数据访问记录;共识完成后域内其余各节点采用简化支付验证(spv)方式同步相关访问请求,并根据验证结果判断是否执行访问请求节点的接入请求,具体的,若域内访问请求权限为数据读操作,则通过网关节点将目标数据发送至访问请求节点;若域内访问请求权限为数据写入操作,则访问请求节点将更新后的数据发送至网关节点,网关节点将数据转发至访问目的节点;若域内访问请求权限为数据执行,则访问请求节点将数据执行消息发送至网关节点,网关节点通知访问目的节点执行数据操作。
9.根据权利要求8所述的基于区块链的物联网访问控制方法,其特征在于,在步骤s8中,节点执行域间数据访问,具体为,若ri(ts)是否为他域内数据,节点j将目标数据标识符ri(ts)及所申请权限打包并签名发送至当前域内网关节点,网关节点接收到访问请求后首先验证签名,若签名验证失败,则丢弃该请求,若签名验证通过,网关节点调用数据访问合约的域间访问请求函数,并利用自身私钥签名后将该请求发送至当前全局区块链主节点,全局区块链主节点接收到访问请求后验证请求的签名,若验证失败则丢弃该交易;若验证通过,全局主节点利用当前请求生成新区块,发送至各全局区块链节点,各全局区块链节点接收到包含当前请求的区块后调用数据访问合约的域间访问验证函数验证访问请求方是否具有目标数据的相应访问权限,对验证结果进行共识并将验证结果添加至跨域数据访问记录;共识完成后各全局区块链节点将与其所在域相关的域间访问请求及验证结果转发至对应节点,各节点根据验证结果判断是否执行访问请求方的接入请求,具体的,若域间访问请求权限为数据读操作,则访问请求节点所关联的网关节点与访问目的节点所关联的网关之间进行交互,获取目标数据,进而发送至访问请求节点;若域间访问请求权限为数据写入操作,则访问请求节点将更新后的数据发送至所关联的网关节点,进而通过网关节点之间的信息交互,将数据转发至访问目的节点;若域间访问请求权限为数据执行,则访问请求节点将数据执行消息发送至其所关联的网关节点,进而通过网关节点之间的信息交互,将数据执行消息转发至访问目的节点以执行相应数据操作。
技术总结
本发明涉及一种基于区块链的物联网访问控制方法,属于区块链技术领域。该方法包括:S1:建模物联网系统模型;S2:建模数据访问策略;S3:构建域内区块链,并部署智能合约;S4:构建全局区块链,并部署智能合约;S5:物联网节点收集数据并上链域内区块链;S6:数据上链全局区块链;S7:节点执行域内数据访问;S8:节点执行域间数据访问。
技术研发人员:柴蓉,杨泞渝,艾莉萍,陈前斌
受保护的技术使用者:重庆邮电大学
技术研发日:
技术公布日:2024/11/26
技术研发人员:柴蓉,杨泞渝,艾莉萍,陈前斌
技术所有人:重庆邮电大学
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
