一种基于区块链的访问控制方法及装置制造方法及图纸

技术编号:35723102 阅读:11 留言:0更新日期:2022-11-26 18:20
本发明专利技术实施例提供一种基于区块链的访问控制方法及装置,访问控制策略设置在区块链的智能合约中,该方法包括:客户端接收后台服务器发送的用户权限信息,用户权限信息中包含用户角色、可操作的数据对象以及对数据对象的操作权限;客户端生成访问权限请求,访问权限请求中包含用户权限信息、操作信息和被操作数据对象;客户端将访问权限请求发送至所述区块链,以使访问控制策略根据预设算法和用户权限信息、操作信息、被操作数据对象确定决策结果,并通过区块链的共识机制在区块链中存证决策结果。上述方法中,访问控制策略设置在智能合约,用户权限信息设置在后台服务器,既能实现细粒度访问控制,又能提高访问控制的安全性,降低区块链计算量。降低区块链计算量。降低区块链计算量。

【技术实现步骤摘要】
一种基于区块链的访问控制方法及装置


[0001]本申请涉及网络
,尤其涉及一种基于区块链的访问控制方法及装置。

技术介绍

[0002]访问控制是指允许特定的授权主体对象对客体对象进行访问,同时可以阻止为没有授权的主体提供服务的一种策略。即,对“谁可以访问什么数据资源”、“谁对数据资源可以进行操作”、“可以进行什么样的操作”等一系列问题的相关访问权限进行管理。
[0003]传统的基于角色的访问控制(RBAC,Role

Based Access Control)为典型的且最为广泛应用的访问控制应用场景,该种方法可以简单灵活的进行访问控制,但是用户权限更改困难,存在控制粒度较粗的问题;且由于该方法通常都由一个集中式的授权认证中心依据访问控制策略和用户信息进行访问控制决策,每个访问请求都指向同一个中心化机构或组织,存在单点故障和安全问题。
[0004]因此,目前亟需一种基于区块链的访问控制方法及装置,能够既能实现细粒度的进行访问控制,又能提高访问控制的安全性。

技术实现思路

[0005]本专利技术实施例提供一种基于区块链的访问控制方法及装置,能够既能实现细粒度的进行访问控制,又能提高访问控制的安全性。
[0006]第一方面,本专利技术实施例提供一种基于区块链的访问控制方法,访问控制策略设置在所述区块链的智能合约中,该方法包括:
[0007]客户端接收后台服务器发送的用户权限信息,所述用户权限信息中包含用户角色、可操作的数据对象以及对所述数据对象的操作权限;
[0008]所述客户端生成访问权限请求,所述访问权限请求中包含所述用户权限信息、操作信息和被操作数据对象;
[0009]所述客户端将所述访问权限请求发送至所述区块链,以使所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。
[0010]上述方法中,将访问控制策略设置在区块链的智能合约中,相比于现有的传统的基于角色的访问控制来说,本申请可以通过区块链实现数据的操作不可被恶意操纵或篡改,以及数据有强可追溯性,不可伪造性和不可篡改性等,提高访问控制的安全性。且相比于传统的基于角色的访问控制中设置用户组对应的权限,本申请针对每个用户设置权限,实现细粒度的访问控制。提高用户权限定制的细化和修改的灵活度。另外,所述客户端将包含用户权限信息、操作信息和被操作数据对象的所述访问权限请求发送至所述区块链。如此,使访问控制机制中的预设算法得到该算法的输入,进而该预设算法根据所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。改善了区块链中

一步流程一共识

的原则;只需要将用
户权限信息、操作信息、被操作数据对象作为输入,输入到预设算法,使得预设算法输出的决策结果,最后直接将决策结果共识存证即可,降低区块链中共识节点

一步流程一共识

原则的记录数据

存证数据量,加快访问控制效率。
[0011]可选的,客户端接收后台服务器发送的用户权限信息,包括:所述客户端根据用户登录信息生成权限获取请求;所述客户端将所述权限获取请求发送至所述后台服务器,以使得所述后台服务器根据所述用户登录信息和用户权限记录确定用户权限信息,所述用户权限记录中包含针对每个用户的用户权限信息;所述客户端接收所述后台服务器发送的所述用户权限信息。
[0012]上述方法中,通过后台服务器存储用户权限记录,以及根据用户登录信息确定用户权限信息。如此,可以直接在后台服务器中更新用户权限信息,便于用户权限信息的管理,以实现更细粒度的访问控制方法。且使得智能合约中的预设算法的输入中就包含了用户权限信息和操作信息、被操作数据对象,预设算法直接根据输入即可算的决策结果,有效的降低区块链的计算量,提高访问控制效率。
[0013]可选的,所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果之后,还包括:所述客户端接收访问权限通知,所述访问权限通知为所述访问控制机制根据所述决策结果确定的。
[0014]上述方法中,客户端接收访问权限通知。如此,使得客户端用户确定是否有对该被操作数据对象进行相应操作的权限。
[0015]可选的,所述决策结果为允许访问,接收访问权限通知之后,还包括:所述客户端确定所述访问权限通知为允许访问通知;所述客户端生成数据访问请求;所述客户端将所述数据访问请求发送至资源端,使得所述资源端根据所述数据访问请求对所述被操作数据对象执行所述操作信息中对应的操作,生成数据访问结果,并通过所述区块链的共识机制在所述区块链中存证所述数据访问结果;所述客户端接收所述数据访问结果。
[0016]上述方法中,客户端接收的访问权限通知为允许访问通知,则确定该客户端的用户具有访问权限,则客户端可以生成数据访问请求并发送至资源端,资源端可以同样接收到允许该用户访问的通知,则针对该数据访问请求中的被操作数据对象执行操作信息中对应的操作,生成数据访问结果。如此,保证可以安全快速的对被操作数据对象完成对应操作,并存证数据访问结果。
[0017]可选的,所述预设算法包括:
[0018]request()

function(attr(u),attr(o),attr(r),attr(p))
[0019]其中,request()是布尔变量取1代表所述决策结果为允许访问,取0代表所述决策结果为拒绝访问;attr(u)用于指示访问权限请求对应的用户,attr(o)用于指示被操作数据对象,attr(r)用于指示用户角色,attr(p)用于指示操作信息。
[0020]上述方法中,通过该预设算法可以确定操作信息和被操作数据对象是否满足用户权限信息。进而可以准确快速的确定该用户是否具有对被操作数据对象进行操作信息中操作的权限。
[0021]可选的,所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,包括:以所述用户权限信息为第一集合,以所述操作信息对应的操作以及所述被操作数据对象为第二集合;计算所述第一集合与所述第二集合的关
系,根据所述第一集合与所述第二集合的关系确定决策结果。
[0022]上述方法中,通过集合算法计算用户权限信息中是否包含操作信息对应的操作和被操作数据对象,如此可以快速确定决策结果,且通过该算法使得区块链的共识机制可以无需

一步流程一共识

直接存证决策结果即可。
[0023]可选的,根据所述第一集合与所述第二集合的关系确定决策结果,包括:
[0024]若所述第二集合为所述第一集合的子集,则所述决策结果为允许访问;
[0025]否则,所述决策结果为拒绝访问。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的访问控制方法,其特征在于,访问控制策略设置在所述区块链的智能合约中,所述方法包括:客户端接收后台服务器发送的用户权限信息,所述用户权限信息中包含用户角色、可操作的数据对象以及对所述数据对象的操作权限;所述客户端生成访问权限请求,所述访问权限请求中包含所述用户权限信息、操作信息和被操作数据对象;所述客户端将所述访问权限请求发送至所述区块链,以使所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。2.如权利要求1中所述的方法,其特征在于,客户端接收后台服务器发送的用户权限信息,包括:所述客户端根据用户登录信息生成权限获取请求;所述客户端将所述权限获取请求发送至所述后台服务器,以使得所述后台服务器根据所述用户登录信息和用户权限记录确定用户权限信息,所述用户权限记录中包含针对每个用户的用户权限信息;所述客户端接收所述后台服务器发送的所述用户权限信息。3.如权利要求1中所述的方法,其特征在于,所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果之后,还包括:所述客户端接收访问权限通知,所述访问权限通知为所述访问控制机制根据所述决策结果确定的。4.如权利要求3中所述的方法,其特征在于,所述决策结果为允许访问,接收访问权限通知之后,还包括:所述客户端确定所述访问权限通知为允许访问通知;所述客户端生成数据访问请求;所述客户端将所述数据访问请求发送至资源端,使得所述资源端根据所述数据访问请求对所述被操作数据对象执行所述操作信息中对应的操作,生成数据访问结果,并通过所述区块链的共识机制在所述区块链中存证所述数据访问结果;所述客户端接收所述数据访问结果。5.如权利要求1中所述的方法,其特征在于,所述预设算法包括:request()

function(attr(u),attr(o),attr(r),attr(p))其中,request()是布尔...

【专利技术属性】
技术研发人员:何晨迪高雪松陈维强
申请(专利权)人:海信集团控股股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1