一种基于区块链的物联网访问控制方法

    专利查询2025-04-26  10


    本发明属于区块链领域,涉及一种基于区块链的物联网访问控制方法。


    背景技术:

    1、近年来,随着物联网(iot,internet of things)技术的迅猛发展,各种智能设备被广泛应用于家庭、工业、交通、医疗等各个领域,物联网设备的数量呈指数级增长。这些设备通过互联网进行互联和数据交换,极大地提高了生活质量和生产效率。然而,物联网设备的广泛应用也带来了巨大的安全隐患,特别是在访问控制和数据隐私方面的问题尤为突出。

    2、传统的物联网访问控制方法主要依赖于集中式的服务器进行管理,这种集中式管理模式存在多个缺点。首先,集中式服务器成为单点故障,容易受到攻击或故障的影响,从而导致整个系统的瘫痪。其次,集中式管理模式存在数据泄露的风险,黑客只需攻破一个中央服务器即可获取大量的敏感数据。此外,随着物联网设备数量的不断增加,集中式服务器的负载压力也日益增大,难以应对海量设备的并发访问需求。

    3、区块链技术作为一种去中心化、分布式账本技术,提供了一种有效的解决方案来应对物联网访问控制中的上述问题,基于区块链技术的物联网访问控制方法,能够充分利用区块链的去中心化、不可篡改和透明性等优点,实现更加安全、可靠和高效的访问控制机制,有效解决传统集中式管理模式的单点故障、数据泄露和管理负担等问题,提升物联网系统的整体安全性和可靠性。


    技术实现思路

    1、有鉴于此,本发明的目的在于提供一种基于区块链的物联网访问控制方法,针对多域多节点,建模物联网系统模型、节点间信任值及数据访问策略,设计节点数据上链流程、节点域内访问流程及节点跨域访问流程,实现节点之间的访问控制。

    2、为达到上述目的,本发明提供如下技术方案:

    3、一种基于区块链的物联网访问控制方法,其特征在于,该方法包括以下步骤:

    4、s1:建模物联网系统模型;

    5、s2:建模数据访问策略;

    6、s3:构建域内区块链,并部署智能合约;

    7、s4:构建全局区块链,并部署智能合约;

    8、s5:物联网节点收集数据并上链域内区块链;

    9、s6:数据上链全局区块链;

    10、s7:节点执行域内数据访问;

    11、s8:节点执行域间数据访问。

    12、进一步,在步骤s1中,建模物联网系统模型,具体地,场景中有多个物联网域,每个域由一个网关节点及多个物联网节点组成;物联网节点收集环境数据,并传输所收集数据至域内网关节点,网关节点负责转发域内节点及其他域的各类消息,各节点通过与所在域的网关节点交互实现对域内及域间其他节点数据的访问;根据物联网节点的性能,将其划分为高性能节点及普通节点;令dm表示第m个物联网域,1≤m≤m,其中,m表示物联网域的数目;令nm表示dm中的物联网节点数量,km表示dm中高性能节点数量。

    13、进一步,在步骤s2中,建模数据访问策略,具体地,令ti,j表示节点i与节点j之间访问请求时刻的集合,令ri,j(t)表示t时刻节点i与节点j之间访问请求的收益值,若访问成功,则ri,j(t)=v1,否则ri,j(t)=v0,v1>v0;令表示t时刻节点i与节点j之间的直接信任值,建模为:

    14、

    15、其中,t表示节点信任值度量窗口期,d(t,t′)为衰减函数,建模为d(t,t′)=e-α(t-t′),其中α为控制衰减速率的正参数;令ci(t)表示节点i在[t-t,t]内成功上传数据的次数,hi(t)为[t-t,t]内节点i上传的数据被访问的次数,ii(t)表示节点i在t时刻的综合贡献度,建模为:

    16、ii(t)=β1ci(t)+β2hi(t)

    17、其中,β1与β2分别为数据上传次数与数据被访问次数的权重系数;

    18、若节点i与节点j均属于域dm,令表示t时刻节点i对节点j的域内推荐信任值,建模为:

    19、

    20、定义域权值ωm(t),用于刻画dm在t时刻的贡献度,建模为:

    21、

    22、若节点i与节点j不属于同一个域,节点i属于dp,节点j属于dq,p≠q,令表示t时刻节点i对节点j的域间推荐信任值,建模为:

    23、

    24、令ηi,j(t)表示t时刻节点i对节点j的信任值,若节点i,j处于同一个域,则若节点i,j处于不同域,则其中,ω1与ω2分别为直接信任值与推荐信任值的权重系数;

    25、令ri(t)表示t时刻节点i所收集数据的数据标识符,令rm为dm的域内数据标识符集合,表示为rm={ri(t)|i∈dm,t∈ti},其中ti表示节点i上传数据时刻的集合,令r为所有数据标识符集合,表示为r={ri(t)|t∈ti};令p(ri(t))表示ri(t)对应数据的访问策略,建模为:

    26、

    27、其中分别表示域内读、写、执行及域间读、写、执行权限所需信任值阈值;令pm为rm所对应数据的访问策略的集合,表示为pm={p(ri(t))|ri(t)∈rm},令p为r所对应数据的访问策略的集合,表示为p={p(ri(t))|ri(t)∈r}。

    28、进一步,在步骤s3中,构建域内区块链,并部署智能合约,具体地,域内区块链由各域中高性能节点创建,以实现域内权限的分布式验证;各域内区块链存在一个主节点,负责基于所在域的各类请求生成区块;域内区块链存储域内节点信息、域内数据标识符集合、域内数据访问策略集合及域内数据访问记录;域内区块链智能合约包括节点管理合约、数据上链合约及数据访问合约;节点管理合约负责将域内节点添加至节点集合;

    29、数据上链合约负责将所收集数据的数据标识符、对应访问策略信息上传至域内区块链,即,若t时刻节点i收集到新的数据,则调用该合约将数据标识符ri(t)添加至rm,并将p(ri(t))添加至访问策略集合pm,也即rm=rm∪{ri(t)},pm=pm∪{p(ri(t))};

    30、数据访问合约包含以下函数:

    31、(a)数据策略更新函数:若某个数据所对应域内访问策略发生变化,则调用此函数更新其访问策略,即,若ri(t)对应数据的访问策略发生变化,令p′(ri(t))表示更新后的访问策略,则调用此函数将pm中的p(ri(t))更新为p′(ri(t));

    32、(b)域内访问请求函数:节点调用此函数发起域内数据访问请求,即,若节点j需向域内数据ri(t)所对应的数据申请读、写或执行权限,则调用此函数发起域内访问请求;

    33、(c)域内访问权限验证函数:域内区块链节点调用此函数验证访问请求方是否具有目标数据的相应访问权限,即,若t时刻域内区块链节点接收到域内节点j对域内节点i的数据ri(ts)发起的访问请求,令z表示对应访问请求的权限,则调用此函数计算t时刻节点i对节点j的信任值ηi,j(t),判断ηi,j(t)是否满足p(ri(ts))中域内访问ri(ts)的权限z所需信任值条件,并将判断结果添加至域内数据访问记录。

    34、进一步,在步骤s4中,构建全局区块链,并部署智能合约,具体的,各域网关节点创建并运行全局区块链,用以实现跨域权限的分布式验证;全局区块链中存在一个主节点,负责基于全局区块链中其他节点的各类请求生成区块;全局区块链存储系统中各域内节点信息、节点类型信息、所有数据标识符集合及跨域数据访问记录;全局区块链智能合约包括域管理合约、数据上链合约及数据访问合约;域管理合约包括以下函数:

    35、(a)域注册函数:网关节点上传其对应域内的节点信息至全局区块链;

    36、(b)域更新函数:若网关节点对应域内的节点信息发生变化,则调用此函数更新该域的节点信息;

    37、数据上链合约负责将各域内区块链新上链数据的数据标识符、对应访问策略信息上传至全局区块链,即,若ri(t)为dm对应域内区块链新上链的数据,dm的网关节点调用该函数将ri(t)添加至r,并将p(ri(t))添加至p,也即r=r∪{ri(t)},p=p∪{p(ri(t))};

    38、数据访问合约包含以下函数:

    39、(a)数据策略更新函数:若某个数据所对应域间访问策略发生变化,则调用此函数更新其访问策略,即,若ri(t)对应数据的访问策略发生变化,令p′(ri(t))表示更新后的访问策略,则调用此函数将p中的p(ri(t))更新为p′(ri(t));

    40、(b)域间访问请求函数:节点调用此函数发起域间数据的访问请求,即,若节点j需要向不同域数据ri(ts)所对应的数据申请读、写或执行权限,则调用此函数发起域间访问请求;

    41、(c)域间访问权限验证函数:全局区块链各节点调用此函数验证访问请求方是否具有目标数据的相应访问权限,即,若t时刻全局区块链节点接收到域间访问请求,令节点j表示访问请求方,节点i表示访问目的节点,ri(ts)表示目标数据标识符,z表示节点j申请ri(ts)的权限,则调用此函数计算t时刻节点i对节点j的信任值ηi,j(t),判断ηi,j(t)是否满足p(ri(ts))中跨域访问ri(ts)的权限z所需信任值条件,并将判断结果添加至跨域数据访问记录。

    42、进一步,在步骤s5中,物联网节点收集数据并上链域内区块链,具体为,若节点i在t时刻收集到新的数据,为数据分配唯一数据标识符ri(t),确定ri(t)的读、写及执行权限所需信任值阈值创建对应访问策略p(ri(t)),基于ri(t)及p(ri(t))生成数据上链请求,调用数据上链合约,采用自身私钥对数据签名后发送至当前所处域的主节点;域主节点接收到数据上链请求后验证请求签名,若签名验证失败则丢弃该请求,否则,域主节点利用该数据上链请求生成新区块,发送至当前域内区块链节点,并对新区块进行共识,新区块共识完成后执行数据上链合约,将ri(t)及p(ri(t))存储至域内区块链,当前域内其余各节点及网关节点同步共识结果。

    43、进一步,在步骤s6中,数据上链全局区块链,具体为,若t时刻节点i收集数据的数据标识符及访问策略成功上链域内区块链,i∈dm,dm的网关节点利用ri(t)及p(ri(t))生成数据上链请求,调用全局区块链数据上链合约,利用自身私钥签名后发送至全局主节点;全局主节点接收到数据上链请求后验证请求的签名,若签名验证失败则丢弃该请求;否则,全局主节点利用该数据上链请求生成新区块,发送至各全局区块链节点,并对新区块进行共识,共识完成后执行数据上链合约将ri(t)及p(ri(t))存储至全局区块链。

    44、进一步,在步骤s7中,节点执行域内数据访问,具体为,若节点j需要向域内数据ri(ts)所对应的数据申请读、写或执行权限,i,j∈dm,节点j查询本地区块链,根据域内数据标识符集合rm判断ri(ts)是否为域内数据,若为其他域内数据,则转至s8,若为dm域内数据,则调用数据访问合约的域内访问请求函数发起访问请求,利用节点j自身私钥签名后发送至域内区块链主节点;域内区块链主节点接收到域内访问请求后验证请求签名,若签名验证失败,则丢弃该交易;否则,域内区块链主节点利用当前请求与生成新区块,发送至各域内区块链节点,各区块链节点接收到包含当前请求的区块后调用域内访问验证函数验证访问请求方是否具有目标数据的相应访问权限,对验证结果进行共识并将验证结果添加至域内数据访问记录;共识完成后域内其余各节点采用简化支付验证(spv)方式同步相关访问请求,并根据验证结果判断是否执行访问请求节点的接入请求,具体的,若域内访问请求权限为数据读操作,则通过网关节点将目标数据发送至访问请求节点;若域内访问请求权限为数据写入操作,则访问请求节点将更新后的数据发送至网关节点,网关节点将数据转发至访问目的节点;若域内访问请求权限为数据执行,则访问请求节点将数据执行消息发送至网关节点,网关节点通知访问目的节点执行数据操作。

    45、进一步,在步骤s8中,节点执行域间数据访问,具体为,若ri(ts)是否为他域内数据,节点j将目标数据标识符ri(ts)及所申请权限打包并签名发送至当前域内网关节点,网关节点接收到访问请求后首先验证签名,若签名验证失败,则丢弃该请求,若签名验证通过,网关节点调用数据访问合约的域间访问请求函数,并利用自身私钥签名后将该请求发送至当前全局区块链主节点,全局区块链主节点接收到访问请求后验证请求的签名,若验证失败则丢弃该交易;若验证通过,全局主节点利用当前请求生成新区块,发送至各全局区块链节点,各全局区块链节点接收到包含当前请求的区块后调用数据访问合约的域间访问验证函数验证访问请求方是否具有目标数据的相应访问权限,对验证结果进行共识并将验证结果添加至跨域数据访问记录;共识完成后各全局区块链节点将与其所在域相关的域间访问请求及验证结果转发至对应节点,各节点根据验证结果判断是否执行访问请求方的接入请求,具体的,若域间访问请求权限为数据读操作,则访问请求节点所关联的网关节点与访问目的节点所关联的网关之间进行交互,获取目标数据,进而发送至访问请求节点;若域间访问请求权限为数据写入操作,则访问请求节点将更新后的数据发送至所关联的网关节点,进而通过网关节点之间的信息交互,将数据转发至访问目的节点;若域间访问请求权限为数据执行,则访问请求节点将数据执行消息发送至其所关联的网关节点,进而通过网关节点之间的信息交互,将数据执行消息转发至访问目的节点以执行相应数据操作。


    技术特征:

    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
    转载请注明原文地址:https://tc.8miu.com/read-27945.html

    最新回复(0)