(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210707003.3
(22)申请日 2022.06.21
(71)申请人 重庆邮电大 学
地址 400065 重庆市南岸区南 山街道崇文
路2号
(72)发明人 唐宏 孙锐 刘杰 刘蓓明
(74)专利代理 机构 重庆辉腾律师事务所 5 0215
专利代理师 王海军
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 9/32(2006.01)
H04L 67/1097(2022.01)
(54)发明名称
一种基于区块链和信任系统的访问控制方
法
(57)摘要
本发明属于物联网访问控制领域, 具体涉及
一种基于区块链和 信任系统的访问控制方法, 包
括搭建联盟链平台, 管理员对区块链网络进行初
始化, 编写策略管理链码、 权限验证链码、 信任管
理链码、 资源管理链码, 将链码安装到区块链并
初始化; 制定访问管理策略, 由管理员将制定的
访问策略上传到区块链中; 管 理员对用户的属性
进行验证, 利用策略管理链码将用户属性保存在
区块链上; 调用资源管理链码, 将资源URL储存到
区块链上; 户通过区块链向资源请求访问, 访问
后调用信用管理链码对用户的信任值进行计算,
得出的结果将 储存在区块链上, 并对用户的信任
值属性进行更新保存; 本发明保证区块链网络的
安全, 使用令牌减少区块链的存储压力, 加快访
问速度。
权利要求书3页 说明书8页 附图2页
CN 114928499 A
2022.08.19
CN 114928499 A
1.一种基于区块链和信任系统的访问控制方法, 其特 征在于, 具体包括以下步骤:
S1、 搭建联盟链平台, 管理员对区块链网络进行初始化, 包括为该网络 中的用户创建证
书;
S2、 在Hyperledger Fabric平台上使用golang编 写链码, 包括策略管理链码、 权限验证
链码、 信任管理链码、 资源管理链码, 将链码安装到区块链并进行初始化;
S3、 用户和管理员一起制定访 问管理策略, 由管理员将制定的访问策略上传到区块链
中; 同时管理员对用户的属性进行验证, 利用策略管理链码 将用户属性保存在区块链上;
S4、 调用资源管理链码, 将资源URL储 存到区块链上;
S5、 用户通过区块链向资源请求访问, 用户发送请求后, 链码将检查相应的访问策略和
用户的属性, 如果用户的属性和策略匹配, 则生成一个令牌 发送给用户, 并将令牌的哈希 值
保存在区块链上, 以便进行权限验证;
S6、 区块链记录步骤S5中的并调用信用管理链码对用户的信任值进行计算, 得出的结
果将储存在区块链上, 并对用户的信任值属性进行 更新保存。
2.根据权利要求1所述的一种基于区块链和信任系统 的访问控制方法, 其特征在于, 策
略管理链码用于实现用户的属性认证和储存, 并为系统添加基于属性的访问控制模型的访
问控制策略, 该链码包括以下接口:
Auth()结构, 用于存储用于属性, 即当用户向管 理员发送属性注册请求, 管理员根据规
范验证其属性, 验证完成后通过 该接口将用户属性储 存到区块链中;
AddPolicy()接口, 用于添加新的基于属性的访问控制模型的访问策略到区块链中;
UpdatePolicy()接口, 用于将使用新接收的访问控制策 略对旧的进行覆盖, 以达到访
问控制策略更新的效果;
DeletePo licy()接口, 用于将删除储 存在区块链中的访问控制策略;
QueryPolicy()接口, 用于实现使用索引搜索目标 策略的功能。
3.根据权利要求1所述的一种基于区块链和信任系统 的访问控制方法, 其特征在于, 属
性验证链码通过调用策略管理链码获得访问策略和用户属性, 再通过属性验证链码中的接
口验证属性和策略是否匹配, 若匹配则发送令牌来代表用户的访问权限, 令牌由有效时间、
主体账户和客体ID、 主体信任值、 主体对客体操作权限组成, 该链码包括以下接口:
GetAttrs()接口, 用于 搜索储存在区块链中的用户属性, 并返还 对应的属性;
CheckAccess()接口, 用于完成资源请求用户与资源持有用户之间的交互, 即该端口调
用QueryPolic y()端口和GetAttrs()端口获得访问控制策略和用户属性, 逐一判断属性和
策略是否匹配, 若匹配则生成令牌发送给资源请求用户, 并将令牌的哈希值储存到区块链
上, 否则返回错 误信息, 并根据该次交 互更新信任值。
4.根据权利要求1所述的一种基于区块链和信任系统 的访问控制方法, 其特征在于, 信
任管理链码用于计算每 个节点的信任值, 包括以下端口:
TrustCaculate()端口, 通过储存在区块链 中的节点交互行为分别计算直接信任值和
推荐信任值, 最后对直接和推荐信任值进行加权求和, 得出来的最终信任值会作为一种属
性储存在区块链上。
5.根据权利要求1所述的一种基于区块链和信任系统 的访问控制方法, 其特征在于, 资
源管理链码用于将资源的URL储 存到区块链上, 包括以下端口:权 利 要 求 书 1/3 页
2
CN 114928499 A
2AddURL()端口, 用于以DeviceId作为键, 把资源的URL储 存到区块链S DB上;
GetURL()端口, 用于根据DeviceId从S DB中获得相应的URL。
6.根据权利要求1所述的一种基于区块链和信任系统 的访问控制方法, 其特征在于, 用
户的属性包括主体属性、 客体属性、 操作属性以及环境属性, 所述主体属性至少包括用户的
ID、 角色、 组织、 信任值和所属的域; 所述客体属性至少包括设备的ID和设备的MAC地址; 所
述操作属性, 即主体对客体资源的属性也, 包括读、 写、 执行三种操作; 所述环境属性, 即策
略所需求的上 下文条件, 至少包括时间、 位置、 安全级别。
7.根据权利要求1所述的一种基于区块链和信任系统 的访问控制方法, 其特征在于, 步
骤S5中用户通过区块链向资源请求访问的过程包括:
S51: 用户通过调用存 储在区块链网络上的属性验证链码对资源发起请求;
S52: 区块链上的属性管理链码收到来自节点的请求后, 调用策略管理链码, 以此来获
得区块链上的访问策略和节点属性, 并进行验证;
S53: 若请求节点满足访问策略要求, 则发送访问令牌给请求节点, 并将令牌的哈希值
储存在区块链上;
S54: 请求节点发送令牌到区块链进行验证, 区块链确认令牌的正确性后, 将资源发送
给请求节点。
8.根据权利要求1所述的一种基于区块链和信任系统 的访问控制方法, 其特征在于, 步
骤S6中计算信任值的过程包括以下步骤:
S61、 根据存 储在区块链中的两个节点间的交 互行为, 计算出直接信任值Direct_T;
S62、 从区块链中获取节点和其 他节点间的交 互行为, 计算出推荐信任值Recom mend_T;
S63、 对直接信任值和推荐信任值进行加权求和得出最终信任值T, 将得出的信任值对
节点属性进行 更新, 最终信任值T表示 为:
T=aDirect_T+bRecom mend_T;
其中, a是一个随着交互次数增加而增加的值, b是一个随着交互次数增加而减少的值,
且a+b=1。
9.根据权利要求8所述的一种基于区块链和信任系统 的访问控制方法, 其特征在于, 若
当前用户第n次与网络中节点的交互, 则选取最近的n ‑m次交互计算当前节点的直接信任
值, 直接信任值Direct_T表示 为:
其中, γn‑m为老化参数, 且0<γ<1; δi为交互的权重, δpos>0, δneg<0, 且|δpos|<|δneg|; a、 b
和c为常数, e为自然数。
10.根据权利要求8所述的一种基于区块链和信任系统的访问控制方法, 其特征在于,
若前用户与N个其 他域的节点有过交 互, 则当前用户的间接信任值的计算包括:权 利 要 求 书 2/3 页
3
CN 114928499 A
3
专利 一种基于区块链和信任系统的访问控制方法
文档预览
中文文档
14 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:14:27上传分享