CN115396130A - 一种基于区块链的访问控制方法及装置 - Google Patents
一种基于区块链的访问控制方法及装置 Download PDFInfo
- Publication number
- CN115396130A CN115396130A CN202110549740.0A CN202110549740A CN115396130A CN 115396130 A CN115396130 A CN 115396130A CN 202110549740 A CN202110549740 A CN 202110549740A CN 115396130 A CN115396130 A CN 115396130A
- Authority
- CN
- China
- Prior art keywords
- user
- access
- information
- block chain
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 39
- 230000007246 mechanism Effects 0.000 claims abstract description 29
- 238000011217 control strategy Methods 0.000 claims abstract description 10
- 238000012508 change request Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000002776 aggregation Effects 0.000 description 10
- 238000004220 aggregation Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种基于区块链的访问控制方法及装置,访问控制策略设置在区块链的智能合约中,该方法包括:客户端接收后台服务器发送的用户权限信息,用户权限信息中包含用户角色、可操作的数据对象以及对数据对象的操作权限;客户端生成访问权限请求,访问权限请求中包含用户权限信息、操作信息和被操作数据对象;客户端将访问权限请求发送至所述区块链,以使访问控制策略根据预设算法和用户权限信息、操作信息、被操作数据对象确定决策结果,并通过区块链的共识机制在区块链中存证决策结果。上述方法中,访问控制策略设置在智能合约,用户权限信息设置在后台服务器,既能实现细粒度访问控制,又能提高访问控制的安全性,降低区块链计算量。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种基于区块链的访问控制方法及装置。
背景技术
访问控制是指允许特定的授权主体对象对客体对象进行访问,同时可以阻止为没有授权的主体提供服务的一种策略。即,对“谁可以访问什么数据资源”、“谁对数据资源可以进行操作”、“可以进行什么样的操作”等一系列问题的相关访问权限进行管理。
传统的基于角色的访问控制(RBAC,Role-Based Access Control)为典型的且最为广泛应用的访问控制应用场景,该种方法可以简单灵活的进行访问控制,但是用户权限更改困难,存在控制粒度较粗的问题;且由于该方法通常都由一个集中式的授权认证中心依据访问控制策略和用户信息进行访问控制决策,每个访问请求都指向同一个中心化机构或组织,存在单点故障和安全问题。
因此,目前亟需一种基于区块链的访问控制方法及装置,能够既能实现细粒度的进行访问控制,又能提高访问控制的安全性。
发明内容
本发明实施例提供一种基于区块链的访问控制方法及装置,能够既能实现细粒度的进行访问控制,又能提高访问控制的安全性。
第一方面,本发明实施例提供一种基于区块链的访问控制方法,访问控制策略设置在所述区块链的智能合约中,该方法包括:
客户端接收后台服务器发送的用户权限信息,所述用户权限信息中包含用户角色、可操作的数据对象以及对所述数据对象的操作权限;
所述客户端生成访问权限请求,所述访问权限请求中包含所述用户权限信息、操作信息和被操作数据对象;
所述客户端将所述访问权限请求发送至所述区块链,以使所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。
上述方法中,将访问控制策略设置在区块链的智能合约中,相比于现有的传统的基于角色的访问控制来说,本申请可以通过区块链实现数据的操作不可被恶意操纵或篡改,以及数据有强可追溯性,不可伪造性和不可篡改性等,提高访问控制的安全性。且相比于传统的基于角色的访问控制中设置用户组对应的权限,本申请针对每个用户设置权限,实现细粒度的访问控制。提高用户权限定制的细化和修改的灵活度。另外,所述客户端将包含用户权限信息、操作信息和被操作数据对象的所述访问权限请求发送至所述区块链。如此,使访问控制机制中的预设算法得到该算法的输入,进而该预设算法根据所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。改善了区块链中‘一步流程一共识’的原则;只需要将用户权限信息、操作信息、被操作数据对象作为输入,输入到预设算法,使得预设算法输出的决策结果,最后直接将决策结果共识存证即可,降低区块链中共识节点‘一步流程一共识’原则的记录数据-存证数据量,加快访问控制效率。
可选的,客户端接收后台服务器发送的用户权限信息,包括:所述客户端根据用户登录信息生成权限获取请求;所述客户端将所述权限获取请求发送至所述后台服务器,以使得所述后台服务器根据所述用户登录信息和用户权限记录确定用户权限信息,所述用户权限记录中包含针对每个用户的用户权限信息;所述客户端接收所述后台服务器发送的所述用户权限信息。
上述方法中,通过后台服务器存储用户权限记录,以及根据用户登录信息确定用户权限信息。如此,可以直接在后台服务器中更新用户权限信息,便于用户权限信息的管理,以实现更细粒度的访问控制方法。且使得智能合约中的预设算法的输入中就包含了用户权限信息和操作信息、被操作数据对象,预设算法直接根据输入即可算的决策结果,有效的降低区块链的计算量,提高访问控制效率。
可选的,所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果之后,还包括:所述客户端接收访问权限通知,所述访问权限通知为所述访问控制机制根据所述决策结果确定的。
上述方法中,客户端接收访问权限通知。如此,使得客户端用户确定是否有对该被操作数据对象进行相应操作的权限。
可选的,所述决策结果为允许访问,接收访问权限通知之后,还包括:所述客户端确定所述访问权限通知为允许访问通知;所述客户端生成数据访问请求;所述客户端将所述数据访问请求发送至资源端,使得所述资源端根据所述数据访问请求对所述被操作数据对象执行所述操作信息中对应的操作,生成数据访问结果,并通过所述区块链的共识机制在所述区块链中存证所述数据访问结果;所述客户端接收所述数据访问结果。
上述方法中,客户端接收的访问权限通知为允许访问通知,则确定该客户端的用户具有访问权限,则客户端可以生成数据访问请求并发送至资源端,资源端可以同样接收到允许该用户访问的通知,则针对该数据访问请求中的被操作数据对象执行操作信息中对应的操作,生成数据访问结果。如此,保证可以安全快速的对被操作数据对象完成对应操作,并存证数据访问结果。
可选的,所述预设算法包括:
request()←function(attr(u),attr(o),attr(r),attr(p))
其中,request()是布尔变量取1代表所述决策结果为允许访问,取0代表所述决策结果为拒绝访问;attr(u)用于指示访问权限请求对应的用户,attr(o)用于指示被操作数据对象,attr(r)用于指示用户角色,attr(p)用于指示操作信息。
上述方法中,通过该预设算法可以确定操作信息和被操作数据对象是否满足用户权限信息。进而可以准确快速的确定该用户是否具有对被操作数据对象进行操作信息中操作的权限。
可选的,所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,包括:以所述用户权限信息为第一集合,以所述操作信息对应的操作以及所述被操作数据对象为第二集合;计算所述第一集合与所述第二集合的关系,根据所述第一集合与所述第二集合的关系确定决策结果。
上述方法中,通过集合算法计算用户权限信息中是否包含操作信息对应的操作和被操作数据对象,如此可以快速确定决策结果,且通过该算法使得区块链的共识机制可以无需‘一步流程一共识’直接存证决策结果即可。
可选的,根据所述第一集合与所述第二集合的关系确定决策结果,包括:
若所述第二集合为所述第一集合的子集,则所述决策结果为允许访问;
否则,所述决策结果为拒绝访问。
上述方法中,若所述第二集合为所述第一集合的子集,则用户权限信息中包含操作信息对应的操作和被操作数据对象,则代表该用户具有对被操作数据对象进行该操作的权限,则可以允许访问。否则,代表该用户不具有对被操作数据对象进行该操作的权限,则可以拒绝访问。
可选的,还包括:所述客户端根据接收的用户权限变更指令,生成权限变更请求;所述客户端将所述权限变更请求发送至所述后台服务器,使得所述后台服务器根据所述权限变更请求中的用户权限信息更新所述用户权限记录中的对应用户权限信息。
上述方法中,在后台服务器中更新用户权限信息就可以快速动态修改用户权限。即可以降低更新用户权限信息的工作量,还将该更新动作与区块链解耦,使得该过程中不用涉及区块链共识,进一步降低区块链共识压力。
第二方面,本发明实施例提供一种基于区块链的访问控制装置,访问控制策略设置在所述区块链的智能合约中,该装置包括:
收发模块,用于接收后台服务器发送的用户权限信息,所述用户权限信息中包含用户角色、可操作的数据对象以及对所述数据对象的操作权限;
处理模块,用于生成访问权限请求,所述访问权限请求中包含所述用户权限信息、操作信息和被操作数据对象;
所述收发模块还用于,将所述访问权限请求发送至所述区块链,以使所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。
第三方面,本申请实施例还提供一种计算设备,包括:存储器,用于存储程序;处理器,用于调用所述存储器中存储的程序,按照获得的程序执行如第一方面的各种可能的设计中所述的方法。
第四方面,本申请实施例还提供一种计算机可读非易失性存储介质,包括计算机可读程序,当计算机读取并执行所述计算机可读程序时,使得计算机执行如第一方面的各种可能的设计中所述的方法。
本申请的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于区块链的访问控制的架构示意图;
图2为本发明实施例提供的一种基于区块链的访问控制的架构示意图;
图3为本发明实施例提供的一种基于区块链的访问控制的架构示意图;
图4为本发明实施例提供的一种基于区块链的访问控制方法的流程示意图;
图5为本发明实施例提供的一种基于区块链的访问控制方法的流程示意图;
图6为本发明实施例提供的一种基于区块链的访问控制的装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种基于区块链的访问控制的架构示意图,其中,后台服务器中存储有用户权限记录,用户权限记录中包含针对每个用户的用户权限信息;区块链的智能合约中设置有访问控制策略,该访问控制策略中可以包含约束单元,约束单元中包含预设算法,该预设算法可以根据输入的用户权限信息、操作信息、被操作数据对象确定决策结果并输出,各节点直接共识该决策结果。客户端可以提供用户登录界面,获取用户登录信息,进一步使得后台服务器根据用户登录信息确定用户权限记录中的该用户对应的用户权限信息,则客户端可以生成包含该用户权限信息的访问权限请求,将访问权限请求发送至区块链,获取决策结果,根据决策结果生成数据访问请求,使得资源端执行对应操作。其中,资源端可以是区块链中的任一一个或多个节点,如图2所示;资源端也可以是区块链对应的具有数据存储功能的后端节点,如图3所示,这里对资源端的具体设置不做限定。
基于上述系统架构,本申请实施例提供了一种基于区块链的访问控制方法流程,如图4所示,包括:
步骤401、客户端接收后台服务器发送的用户权限信息,所述用户权限信息中包含用户角色、可操作的数据对象以及对所述数据对象的操作权限;
步骤402、所述客户端生成访问权限请求,所述访问权限请求中包含所述用户权限信息、操作信息和被操作数据对象;
步骤403、所述客户端将所述访问权限请求发送至所述区块链,以使所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。
上述方法中,将访问控制策略设置在区块链的智能合约中,相比于现有的传统的基于角色的访问控制来说,本申请可以通过区块链实现数据的操作不可被恶意操纵或篡改,以及数据有强可追溯性,不可伪造性和不可篡改性等,提高访问控制的安全性。且相比于传统的基于角色的访问控制中设置用户组对应的权限,本申请针对每个用户设置权限,实现细粒度的访问控制。提高用户权限定制的细化和修改的灵活度。另外,所述客户端将包含用户权限信息、操作信息和被操作数据对象的所述访问权限请求发送至所述区块链。如此,使访问控制机制中的预设算法得到该算法的输入,进而该预设算法根据所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。改善了区块链中‘一步流程一共识’的原则;只需要将用户权限信息、操作信息、被操作数据对象作为输入,输入到预设算法,使得预设算法输出的决策结果,最后直接将决策结果共识存证即可,降低区块链中共识节点‘一步流程一共识’原则的记录数据-存证数据量,加快访问控制效率。
本申请实施例提供了一种用户权限信息获取方法,客户端接收后台服务器发送的用户权限信息,包括:所述客户端根据用户登录信息生成权限获取请求;所述客户端将所述权限获取请求发送至所述后台服务器,以使得所述后台服务器根据所述用户登录信息和用户权限记录确定用户权限信息,所述用户权限记录中包含针对每个用户的用户权限信息;所述客户端接收所述后台服务器发送的所述用户权限信息。在一种示例中,用户的登录信息可以包括用户账号、用户密码等信息,则如,秋絮的用户账号为qiuxu,用户密码为123456;客户端根据用户账号:qiuxu、用户密码:123456生成权限获取请求,并发送至后台服务器,后台服务器中的用户权限记录中包含该用户账号:qiuxu、用户密码:123456、用户角色:护士以及其对应的可操作数据对象信息:可操作数据对象A、B、C、D、E;操作信息:可操作数据对象A、B、C、D、E都可被‘用户账号:qiuxu、用户密码:123456、用户角色:护士’的用户查看、可操作数据对象A只可被查看、可操作数据对象B、C可以被查看和增加相关信息、可操作数据对象D、E可以被查看、增加、删除、更改。后台服务器将获取的该用户的用户权限信息(用户账号:qiuxu、用户密码:123456、用户角色:护士;可操作数据对象信息:可操作数据对象A、B、C、D、E;操作信息:可操作数据对象A、B、C、D、E都可被‘用户账号:qiuxu、用户密码:123456、用户角色:护士’的用户查看、可操作数据对象A只可被查看、可操作数据对象B、C可以被查看和增加相关信息、可操作数据对象D、E可以被查看、增加、删除、更改)发送至客户端,客户端接收该用户权限信息。上述示例只是一种可实施方式,并不对本方案做限制。其中,将用户权限信息设置在后台服务器可以提高用户权限信息修改的简便性,便于用户权限信息的管理;且还可以降低区块链计算量,提高访问控制效率。另外,针对每个用户有其对应的用户权限信息,由此可以实现更细粒度的访问控制,提高访问控制灵活性。
本申请实施例提供了一种决策结果获取方法,所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果之后,还包括:所述客户端接收访问权限通知,所述访问权限通知为所述访问控制机制根据所述决策结果确定的。也就是说,在区块链中的访问控制机制确定决策结果后,根据决策结果生成访问权限通知,并将访问权限通知告知发送至客户端,使得客户端获知决策结果,以确定是否可以对被操作数据对象进行相应操作。
本申请实施例提供了一种基于区块链的访问控制方法,所述决策结果为允许访问,接收访问权限通知之后,还包括:所述客户端确定所述访问权限通知为允许访问通知;所述客户端生成数据访问请求;所述客户端将所述数据访问请求发送至资源端,使得所述资源端根据所述数据访问请求对所述被操作数据对象执行所述操作信息中对应的操作,生成数据访问结果,并通过所述区块链的共识机制在所述区块链中存证所述数据访问结果;所述客户端接收所述数据访问结果。也就是说,若区块链中的访问控制机制告知客户端的访问权限通知为允许访问通知,则客户端可以生成包含被操作数据对象及其对应的操作信息的数据访问请求,将该数据访问请求发送至资源端,使得资源端根据该数据访问请求中的被操作数据对象及其对应的操作信息,执行针对该被操作数据对象的操作,获取数据访问结果,并由区块链的共识机制共识存证该数据访问结果。
本申请实施例提供了一种预设算法,所述预设算法包括:
request()←function(attr(u),attr(o),attr(r),attr(p))
其中,request()是布尔变量取1代表所述决策结果为允许访问,取0代表所述决策结果为拒绝访问;attr(u)用于指示访问权限请求对应的用户,attr(o)用于指示被操作数据对象,attr(r)用于指示用户角色,attr(p)用于指示操作信息。也就是说,访问控制机制中可以包含预设算法,该预设算法可以用于根据用户权限信息判定该用户、用户角色、用户的操作信息、用户的被操作数据对象是否符合用户权限信息,以作出相应的决策结果。
本申请实施例提供了一种确定决策结果方法,所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,包括:以所述用户权限信息为第一集合,以所述操作信息对应的操作以及所述被操作数据对象为第二集合;计算所述第一集合与所述第二集合的关系,根据所述第一集合与所述第二集合的关系确定决策结果。也就是说,预设算法可以是集合算法,以用户权限信息为第一集合,判断第一集合与包含该用户、用户角色、用户的操作信息、用户的被操作数据对象的第二集合的关系,根据第一集合和第二集合的关系判断用户的操作是否符合用户权限信息,进而获取决策结果。
本申请实施例提供了一种确定决策结果方法,根据所述第一集合与所述第二集合的关系确定决策结果,包括:若所述第二集合为所述第一集合的子集,则所述决策结果为允许访问;否则,所述决策结果为拒绝访问。也就是说,预设算法可以是集合算法,以用户权限信息为第一集合,判断包含该用户、用户角色、用户的操作信息、用户的被操作数据对象的第二集合是否是第一集合的子集,若是,则代表该用户的访问权限请求符合用户权限,作出决策结果。在上述示例中,第一集合,即用户权限信息包括:用户账号:qiuxu、用户密码:123456、用户角色:护士;可操作数据对象信息:可操作数据对象A、B、C、D、E;操作信息:可操作数据对象A、B、C、D、E都可被‘用户账号:qiuxu、用户密码:123456、用户角色:护士’的用户查看、可操作数据对象A只可被查看、可操作数据对象B、C可以被查看和增加相关信息、可操作数据对象D、E可以被查看、增加、删除、更改;第二集合包含:用户账号:qiuxu、用户密码:123456、用户角色:护士;被操作数据对象A;操作信息:删除。由此可知第二集合不是第一集合的子集,则决策结果为拒绝访问。若第二集合包含:用户账号:qiuxu、用户密码:123456、用户角色:护士;被操作数据对象A;操作信息:查看被操作数据对象A。由此可知第二集合是第一集合的子集,则决策结果为允许访问。
本申请实施例提供了一种用户权限信息变更方法,还包括:所述客户端根据接收的用户权限变更指令,生成权限变更请求;所述客户端将所述权限变更请求发送至所述后台服务器,使得所述后台服务器根据所述权限变更请求中的用户权限信息更新所述用户权限记录中的对应用户权限信息。在上述示例中,若秋絮的用户角色发生变更,用户角色由护士变更为护士长,则可以对数据对象A进行增加信息操作。客户端可以根据管理员等工作人员的用户权限变更指令,生成包含用户角色:由护士变更为护士长,可操作数据对象A只可被查看变更为可操作数据对象A可以为查看且可以执行增加信息操作的权限变更请求;客户端将权限变更请求发送至后台服务器,由后台服务器在用户权限记录中对应修改该用户的用户权限信息为用户账号:qiuxu、用户密码:123456、用户角色:护士;可操作数据对象信息:可操作数据对象A、B、C、D、E;操作信息:可操作数据对象A、B、C、D、E都可被‘用户账号:qiuxu、用户密码:123456、用户角色:护士’的用户查看、可操作数据对象A、B、C可以被查看和增加相关信息、可操作数据对象D、E可以被查看、增加、删除、更改。由此,相比于现有技术中根据角色设置用户组的用户权限信息,或者将用户权限信息设置在区块链中,本方法可以提高访问控制机制的灵活性。
基于上述方法流程,本申请实施例提供了一种基于区块链的访问控制方法流程,如图5所示,包括:
步骤501、客户端接收用户的用户登录信息,根据该用户登录信息生成权限获取请求。
步骤502、客户端将权限获取请求发送至后台服务器。
步骤503、后台服务器接收到权限获取请求后,根据用户登录信息确定用户权限记录中的该用户的用户权限信息。
步骤504、后台服务器将用户权限信息返回至客户端。
步骤505、客户端接收后台服务器发送的用户权限信息后,根据该用户权限信息生成访问权限请求。
步骤506、客户端将访问权限请求发送至区块链。
步骤507、区块链接收该访问权限请求后,获取访问权限请求中的用户权限信息、操作信息和被操作数据对象等信息。此处,需要和说明的是,这里列举的访问权限请求中信息仅是一种示例,并不对具体实施做限制。
步骤508、区块链智能合约中的访问控制机制以该用户权限信息、操作信息和被操作数据对象等信息为预设算法的输入,获取决策结果。
步骤509、区块链的共识机制在区块链中存证该决策结果。
步骤510、区块链根据该决策结果生成访问权限通知。
步骤511、区块链将访问权限通知发送至客户端和资源端。
步骤512、客户端接收访问权限通知后,判断访问权限通知是否为允许访问通知,若是允许访问通知,则执行步骤513;若是拒绝访问通知,否则结束流程。
步骤513、客户端生成数据访问请求,并将该数据访问请求发送至资源端。
步骤514、资源端接收该数据访问请求后,对被操作数据对象执行操作信息中对应的操作,生成数据访问结果,并通过区块链的共识机制在区块链中存证数据访问结果。
步骤515、资源端将数据访问结果发送至客户端。
步骤516、客户端接收用户权限变更指令,生成权限变更请求。这里的用户权限变更指令可以是自动生成的,也可以是管理人员等输入相关信息生成的,具体不做限定。
步骤517、客户端将该权限变更请求发送至后台服务器。
步骤518、后台服务器根据该权限变更请求中的用户权限信息更新用户权限记录中的对应用户权限信息。
这里需要说明的是,上述流程步骤并不唯一,如步骤501至步骤515可以在步骤516至步骤518之前执行,也可以在其之后执行;步骤510可以在步骤509之前执行;由此,上述流程步骤只是一种示例,并不对该访问控制方法的具体实施做限制。
基于同样的构思,本发明实施例提供一种基于区块链的访问控制的装置,图6为本申请实施例提供的一种基于区块链的访问控制的装置示意图,其访问控制策略设置在所述区块链的智能合约中,如图6示,包括:
收发模块601,用于接收后台服务器发送的用户权限信息,所述用户权限信息中包含用户角色、可操作的数据对象以及对所述数据对象的操作权限;
处理模块602,用于生成访问权限请求,所述访问权限请求中包含所述用户权限信息、操作信息和被操作数据对象;
所述收发模块601还用于,将所述访问权限请求发送至所述区块链,以使所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。
可选的,所述收发模块601还用于:根据用户登录信息生成权限获取请求;所述客户端将所述权限获取请求发送至所述后台服务器,以使得所述后台服务器根据所述用户登录信息和用户权限记录确定用户权限信息,所述用户权限记录中包含针对每个用户的用户权限信息;所述客户端接收所述后台服务器发送的所述用户权限信息。
可选的,所述收发模块601还用于:接收访问权限通知,所述访问权限通知为所述访问控制机制根据所述决策结果确定的。
可选的,所述处理模块602还用于:所述客户端确定所述访问权限通知为允许访问通知;所述客户端生成数据访问请求;所述客户端将所述数据访问请求发送至资源端,使得所述资源端根据所述数据访问请求对所述被操作数据对象执行所述操作信息中对应的操作,生成数据访问结果,并通过所述区块链的共识机制在所述区块链中存证所述数据访问结果;所述客户端接收所述数据访问结果。
可选的,所述预设算法包括:
request()←function(attr(u),attr(o),attr(r),attr(p))
其中,request()是布尔变量取1代表所述决策结果为允许访问,取0代表所述决策结果为拒绝访问;attr(u)用于指示访问权限请求对应的用户,attr(o)用于指示被操作数据对象,attr(r)用于指示用户角色,attr(p)用于指示操作信息。
可选的,所述处理模块602具体用于:以所述用户权限信息为第一集合,以所述操作信息对应的操作以及所述被操作数据对象为第二集合;计算所述第一集合与所述第二集合的关系,根据所述第一集合与所述第二集合的关系确定决策结果。
可选的,所述处理模块602具体用于:若所述第二集合为所述第一集合的子集,则所述决策结果为允许访问;否则,所述决策结果为拒绝访问。
可选的,所述收发模块601还用于:所述客户端根据接收的用户权限变更指令,生成权限变更请求;所述客户端将所述权限变更请求发送至所述后台服务器,使得所述后台服务器根据所述权限变更请求中的用户权限信息更新所述用户权限记录中的对应用户权限信息。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种基于区块链的访问控制方法,其特征在于,访问控制策略设置在所述区块链的智能合约中,所述方法包括:
客户端接收后台服务器发送的用户权限信息,所述用户权限信息中包含用户角色、可操作的数据对象以及对所述数据对象的操作权限;
所述客户端生成访问权限请求,所述访问权限请求中包含所述用户权限信息、操作信息和被操作数据对象;
所述客户端将所述访问权限请求发送至所述区块链,以使所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。
2.如权利要求1中所述的方法,其特征在于,客户端接收后台服务器发送的用户权限信息,包括:
所述客户端根据用户登录信息生成权限获取请求;
所述客户端将所述权限获取请求发送至所述后台服务器,以使得所述后台服务器根据所述用户登录信息和用户权限记录确定用户权限信息,所述用户权限记录中包含针对每个用户的用户权限信息;
所述客户端接收所述后台服务器发送的所述用户权限信息。
3.如权利要求1中所述的方法,其特征在于,所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果之后,还包括:
所述客户端接收访问权限通知,所述访问权限通知为所述访问控制机制根据所述决策结果确定的。
4.如权利要求3中所述的方法,其特征在于,所述决策结果为允许访问,接收访问权限通知之后,还包括:
所述客户端确定所述访问权限通知为允许访问通知;
所述客户端生成数据访问请求;
所述客户端将所述数据访问请求发送至资源端,使得所述资源端根据所述数据访问请求对所述被操作数据对象执行所述操作信息中对应的操作,生成数据访问结果,并通过所述区块链的共识机制在所述区块链中存证所述数据访问结果;
所述客户端接收所述数据访问结果。
5.如权利要求1中所述的方法,其特征在于,所述预设算法包括:
request()←function(attr(u),attr(o),attr(r),attr(p))
其中,request()是布尔变量取1代表所述决策结果为允许访问,取0代表所述决策结果为拒绝访问;attr(u)用于指示访问权限请求对应的用户,attr(o)用于指示被操作数据对象,attr(r)用于指示用户角色,attr(p)用于指示操作信息。
6.如权利要求1中所述的方法,其特征在于,所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,包括:
以所述用户权限信息为第一集合,以所述操作信息对应的操作以及所述被操作数据对象为第二集合;
计算所述第一集合与所述第二集合的关系,根据所述第一集合与所述第二集合的关系确定决策结果。
7.如权利要求6中所述的方法,其特征在于,根据所述第一集合与所述第二集合的关系确定决策结果,包括:
若所述第二集合为所述第一集合的子集,则所述决策结果为允许访问;
否则,所述决策结果为拒绝访问。
8.如权利要求1-7中任一所述的方法,其特征在于,还包括:
所述客户端根据接收的用户权限变更指令,生成权限变更请求;
所述客户端将所述权限变更请求发送至所述后台服务器,使得所述后台服务器根据所述权限变更请求中的用户权限信息更新所述用户权限记录中的对应用户权限信息。
9.一种基于区块链的访问控制装置,其特征在于,访问控制策略设置在所述区块链的智能合约中,所述装置包括:
收发模块,用于接收后台服务器发送的用户权限信息,所述用户权限信息中包含用户角色、可操作的数据对象以及对所述数据对象的操作权限;
处理模块,用于生成访问权限请求,所述访问权限请求中包含所述用户权限信息、操作信息和被操作数据对象;
所述收发模块还用于,将所述访问权限请求发送至所述区块链,以使所述访问控制策略根据预设算法和所述用户权限信息、所述操作信息、所述被操作数据对象确定决策结果,并通过所述区块链的共识机制在所述区块链中存证所述决策结果。
10.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110549740.0A CN115396130A (zh) | 2021-05-20 | 2021-05-20 | 一种基于区块链的访问控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110549740.0A CN115396130A (zh) | 2021-05-20 | 2021-05-20 | 一种基于区块链的访问控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115396130A true CN115396130A (zh) | 2022-11-25 |
Family
ID=84114240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110549740.0A Pending CN115396130A (zh) | 2021-05-20 | 2021-05-20 | 一种基于区块链的访问控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115396130A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480555A (zh) * | 2017-08-01 | 2017-12-15 | 中国联合网络通信集团有限公司 | 基于区块链的数据库访问权限控制方法及设备 |
CN110032865A (zh) * | 2019-03-28 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 一种权限管理方法、装置和存储介质 |
US20190268284A1 (en) * | 2016-07-26 | 2019-08-29 | NEC Laboratories Europe GmbH | Method for controlling access to a shared resource |
CN111709056A (zh) * | 2020-08-24 | 2020-09-25 | 北京邮电大学 | 基于区块链的数据共享方法及系统 |
CN112543105A (zh) * | 2020-11-26 | 2021-03-23 | 齐鲁工业大学 | 一种智能合约下基于角色的完全访问控制方法 |
CN112699404A (zh) * | 2020-12-29 | 2021-04-23 | 平安普惠企业管理有限公司 | 一种校验权限的方法、装置、设备及存储介质 |
CN112822432A (zh) * | 2021-04-16 | 2021-05-18 | 北京电信易通信息技术股份有限公司 | 一种基于区块链的视频会议系统及访问控制方法 |
-
2021
- 2021-05-20 CN CN202110549740.0A patent/CN115396130A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190268284A1 (en) * | 2016-07-26 | 2019-08-29 | NEC Laboratories Europe GmbH | Method for controlling access to a shared resource |
CN107480555A (zh) * | 2017-08-01 | 2017-12-15 | 中国联合网络通信集团有限公司 | 基于区块链的数据库访问权限控制方法及设备 |
CN110032865A (zh) * | 2019-03-28 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 一种权限管理方法、装置和存储介质 |
CN111709056A (zh) * | 2020-08-24 | 2020-09-25 | 北京邮电大学 | 基于区块链的数据共享方法及系统 |
CN112543105A (zh) * | 2020-11-26 | 2021-03-23 | 齐鲁工业大学 | 一种智能合约下基于角色的完全访问控制方法 |
CN112699404A (zh) * | 2020-12-29 | 2021-04-23 | 平安普惠企业管理有限公司 | 一种校验权限的方法、装置、设备及存储介质 |
CN112822432A (zh) * | 2021-04-16 | 2021-05-18 | 北京电信易通信息技术股份有限公司 | 一种基于区块链的视频会议系统及访问控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853805B2 (en) | Data processing system utilising distributed ledger technology | |
CN109691015B (zh) | 一种区块链上的动态访问控制方法及系统 | |
US8726342B1 (en) | Keystore access control system | |
US20190333031A1 (en) | System, method, and computer program product for validating blockchain or distributed ledger transactions in a service requiring payment | |
WO2019089044A1 (en) | Secure identity and profiling system | |
US20220083936A1 (en) | Access control method | |
US20150180853A1 (en) | Extensible mechanism for securing objects using claims | |
US10726141B2 (en) | Dynamically constructed capability for enforcing object access order | |
CN105827645B (zh) | 一种用于访问控制的方法、设备与系统 | |
US12010121B2 (en) | Gradual credential disablement | |
CA3049685A1 (en) | Managing distributed content using layered permissions | |
CN106997440A (zh) | 一种角色访问控制方法 | |
CN111769956B (zh) | 业务处理方法、装置、设备及介质 | |
CN107566375B (zh) | 访问控制方法和装置 | |
WO2006069901A1 (en) | Method and system for providing and utilizing a network trusted context | |
CN112037055A (zh) | 交易处理方法、装置、电子设备及可读存储介质 | |
CN115396130A (zh) | 一种基于区块链的访问控制方法及装置 | |
CN115495785A (zh) | 一种基于区块链策略管理的访问控制方法及系统 | |
CN116707849A (zh) | 针对飞地实例的云服务访问权限设置方法和云管理平台 | |
KR100582195B1 (ko) | 워크플로우 기반의 그리드 사용자 권한 위임과 인증시스템 및 그 방법 | |
Sun et al. | BPDAC: A Blockchain Based and Provenance Enabled Dynamic Access Control Scheme | |
Bin et al. | Research of fine grit access control based on time in cloud computing | |
CN117614724B (zh) | 一种基于体系细粒度处理的工业互联网访问控制方法 | |
El Fray et al. | Protection profile for secure sensitive information system on mobile devices | |
Batra et al. | Multilevel policy based security in distributed database |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |