CN115118457A - 一种基于区块链的分布式权限验证方法、装置及平台 - Google Patents
一种基于区块链的分布式权限验证方法、装置及平台 Download PDFInfo
- Publication number
- CN115118457A CN115118457A CN202210594773.1A CN202210594773A CN115118457A CN 115118457 A CN115118457 A CN 115118457A CN 202210594773 A CN202210594773 A CN 202210594773A CN 115118457 A CN115118457 A CN 115118457A
- Authority
- CN
- China
- Prior art keywords
- user
- service
- information
- authority
- node
- 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
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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于区块链的分布式权限验证方法、装置及平台。该方法包括:接收用户的业务访问请求,其中,所述业务访问请求包含有用户的标识信息和所要访问业务的业务信息;根据所述标识信息获取所述用户的权限信息,其中,所述权限信息是从与本地节点处于同一区块链上的其他节点同步到所述本地节点的;根据所述权限信息和所述业务信息确定用户对于业务的访问权限。本申请实施例特别适用于区块链服务网络(Blockchain‑based Service Network,简称BSN),并且是BSN网络中独有的计费方法,通过使用本地区块链节点上存储的权限信息为用户进行权限验证服务,从而及时地响应用户的业务访问请求,确保用户访问业务的及时性和可靠性。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种基于区块链的分布式权限验证方法、装置及平台。
背景技术
随着云技术的发展,分布式系统由于能够通过互联网而将多个服务器连接组成一个服务系统而得到了广泛的应用。分布式系统中的服务器可以分散在各个地域中,并且通过互联网来构建一个整体系统为用户提供服务。因此,用户可以使用与其位于一个区域中的服务器节点来使用系统中的各种应用。在使用分布式的应用中,为了确保用户的数据安全和应用服务的可靠性,通常需要在为用户提供服务之前,先对用户的身份进行鉴别,基于用户的身份来了解其所拥有的权限,进而确认该用户是否被允许使用该服务,或者该用户能够使用该服务中的哪些子服务项目。
发明内容
本申请实施例提供一种基于区块链的分布式权限验证方法、装置及平台,以解决现有技术中由于依赖单独设置的权限验证中心而造成的缺陷。
为达到上述目的,本申请实施例提供了一种基于区块链的分布式权限验证方法,包括:
接收用户的业务访问请求,其中,所述业务访问请求包含有用户的标识信息和所要访问的业务的业务信息;
根据所述标识信息获取所述用户的权限信息,其中,所述权限信息是从与本地节点处于同一区块链上的其他节点同步到所述本地节点的;
根据所述权限信息和所述业务信息确定用户对于业务的访问权限。
本申请实施例还提供了一种基于区块链的分布式权限验证装置,包括:
接收模块,用于接收用户的交易请求,其中所述交易请求中包含有构成交易的至少一个操作以及所述用户的用户标识;
计算模块,用于根据所述至少一个操作和预置的操作计费信息计算所述至少一个操作对应的第一费用;
执行模块,用于根据所述第一费用和与所述用户标识对应的用户账户信息执行对所述交易的处理。
本申请实施例还提供了一种基于区块链的分布式权限验证平台,包括:
业务系统,所述业务系统用于接收用户的业务访问请求,并包括业务网关和至少一个业务节点,其中,所述业务访问请求包含有用户的标识信息和所要访问的业务的业务信息;
权限验证模块,所述权限验证模块用于根据所述标识信息获取所述用户的权限信息,其中,所述权限信息是从与本地节点处于同一区块链上的其他节点同步到所述本地节点的;根据所述权限信息和所述业务信息确定用户对于业务的访问权限;
区块链,所述区块链包括用于存储用户的标识信息和权限信息的所述本地节点和至少一个其他节点。
本申请实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,所述程序运行时执行本申请实施例提供的权限验证方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如本申请实施例提供的权限验证方法。
本申请实施例提供的基于区块链的分布式权限验证方法、装置及平台,通过根据用户的业务访问请求中的标识信息来获取通过与区块链的其他节点同步而存储在本地节点上的权限信息,并根据获取到的权限信息和业务信息来确定用户对业务的访问权限。通过在本地设置的区块链节点来同步其他节点上存储的用户的权限信息,能够使得无论用户在何处访问其本地的业务节点,都能够使用其本地的区块链节点上存储的权限信息来为用户进行权限验证服务,从而避免了现有技术中需要与单独设置的权限验证服务中心进行远程通信的问题,使得能够及时地响应用户的业务访问请求来进行权限验证,确保了用户访问业务的及时性和可靠性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1a示出了本申请实施例权限验证方案的应用场景示意图;
图1b示出了本申请实施例权限验证方案的逻辑示意图;
图2为本申请提供的基于区块链的分布式权限验证方法实施例的流程图;
图3为本申请提供的基于区块链的分布式权限验证装置实施例的结构示意图;
图4为本申请提供的基于区块链的分布式权限验证平台实施例的系统框图;
图5为本申请提供的电子设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,但是应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
本申请实施例提供的方案可应用于任何具有区块链数据传输能力的系统,例如具有权限验证功能的芯片以及相关组件的服务器系统等。
随着云技术的发展,分布式系统由于能够通过互联网而将多个服务器连接组成一个服务系统而得到了广泛的应用。分布式系统中的服务器可以分散在各个地域中,并且通过互联网来构建一个整体系统为用户提供服务。因此,用户可以使用与其位于一个区域中的服务器节点来使用系统中的各种应用。在使用分布式的应用中,为了确保用户的数据安全和应用服务的可靠性,通常需要在为用户提供服务之前,先对用户的身份进行鉴别,基于用户的身份来了解其所拥有的权限,进而确认该用户是否被允许使用该服务,或者该用户能够使用该服务中的哪些子服务项目。
在现有的分布式系统的鉴权服务中,虽然用户是访问多个分布节点中的一个来运行应用,但是出于安全性或可靠性的考虑,通常将用户的身份信息以及对应的权限信息存储在一个数据库中,并且通常由一个服务器节点来提供整个系统的身份识别和鉴权服务。例如,当用户通过其所在地区中的业务网关访问该分布式系统,以请求通过一个业务节点来使用各种应用时,该业务网关在将用户的业务访问请求转发给对应的业务节点之前,会根据该用户的请求向权限验证服务器发送权限验证请求,而该权限验证服务器则可以从用户信息数据库中来获取用户的身份信息和权限信息,以对用户使用该应用或业务的权限进行识别和确认。
由于在实际使用中,用户所处的位置和网络环境,可能会使得用户接入的分布式节点在与提供权限验证服务的节点或服务器通信以获取用户的权限验证结果时遇到困难,例如无法及时地获取到用户的鉴权结果,使得对用户的权限验证操作需要较长时间,甚至无法获取到权限验证结果,从而使得业务网关无法将用户的业务访问请求转发给业务节点,影响用户对业务的正常使用。
例如,如图1a中所示,图1a给出本申请实施例权限验证方案的应用场景示意图。在图1a所示的场景中,初次使用该平台的用户可以首先通过平台的注册节点来进行注册。例如,用户可以通过访问注册节点输入个人信息以及相应的账户信息等用户信息来进行注册,平台系统则可以根据用户输入的用户信息确定用户的权限。例如,可以根据用户账户支付的费用情况来为用户分配对应的权限,或者根据用户的身份信息等个人信息来确定该用户对应的等级,将预先针对各个等级设置的权限分配给该用户。
之后,现有技术中的分布式系统可以将这样接收到的用户信息和为该用户分配或设置的权限信息存储到单独设置的权限数据库中,并且当需要对用户的身份信息或权限信息进行识别时,接收到用户的业务访问请求的业务网关可以通过互联网来与系统中单独设置的权限验证服务器进行通信,以获取该权限验证服务给出的权限验证结果,从而可以根据该权限验证结果来为用户提供应用服务。
但是如上所述,由于当前互联网的发展已经使得用户可以使用与其位于同一地域的分布式节点来使用分布式系统所提供的应用,并且业务网关在为用户分配业务节点以便于使用应用之前,需要与远程的权限验证中心来通信以确定用户的身份和权限。虽然用户可以通过在地域上分散的分布式节点来接入到业务系统中,但是实际上由于为用户提供权限验证服务的节点或服务器却是唯一或非常少数量的。因此,用户访问的分布式节点虽然与用户距离很近,但是却还需要与为用户进行身份认证或权限验证服务的节点或服务器进行远距离的通信来获得身份或权限验证结果,之后才能够为根据该结果来为用户提供服务。
因此,在实际使用中,现有技术中这样的与权限验证中心的远距离通信常常会受到网络传输状况的影响,或者也会受到权限验证中心自身状态的影响。而且一旦由于网络状况或权限验证中心的状态导致为用户进行身份认证或权限验证的服务器或节点无法及时地为用户接入的业务网关提供权限验证结果,那么该节点就无法及时地响应用户的业务访问请求,进而无法为用户提供服务,这不仅会影响用户的使用体验,而且严重时甚至会给用户的工作带来损失。
为此,在本申请实施例中,提出了将包括用户身份信息和权限信息的用户信息存储在区块链节点上,从而借助区块链节点数据分散存储的一致性和可靠性来使其可以利用各个分布式节点对应地部署区块链节点来提供用户信息的存储和权限验证服务。
例如,如图1a中所示,根据本申请实施例的权限验证方案可以使用区块链结构来替代现有技术中单独设置的权限验证中心及其数据库,从而可以通过对各个用户可接入的业务网关或业务节点来设置区块链节点来提供用户信息的存储功能,并可以借助于区块链节点上的智能合约来提供用户信息的读取服务,从而根据从对应的本地区块链节点上获取的用户信息来进行权限验证服务。
如图1b中所示,图1b是示出了根据本申请实施例的权限验证方案的逻辑示意图。用户可以通过注册门户网站来访问分布式系统进行注册,将包括用户信息在内的各种信息作为注册信息上传到分布式系统中,并且分布式系统可以根据用户的个人信息来设置该用户的权限,将该权限信息与用户的身份信息一起作为用户的注册信息上传到与注册门户节点对应设置的区块链节点。由于区块链节点构成的区块链中,可以由任一区块链节点上传数据,并广播给其他区块链节点,通过共识技术来确保该节点上传的数据在区块链中的每个区块链节点中存储的不可篡改性。
因此,在用户信息从例如注册门户节点对应的区块链节点上传到区块链上之后,可以通过在区块链中的广播以及共识机制而存储到区块链的各个节点上。在本申请实施例中,可以与各个分布式节点对应地设置各个区块链节点。例如,如图1b中所示,可以在每个地区中设置一个业务系统,并相应地在该区域中设置一个区块链节点,从而通过在区域1和2以及注册节点处设置的区块链节点1-3来构成区块链。
在用户如上所述通过注册节点在分布式系统中进行了注册之后,其用户信息可以通过与其对应地设置的区块链节点1存储到该区块链节点1中,并同步到其他区块链节点2和3中。之后,处于区域1中的用户访问该区域中的业务系统1时,可以将业务访问请求发送到该业务系统1的业务网关1处。例如,在本申请实施例中,该业务访问请求可以至少包括有请求业务的用户的用户标识以及所请求访问的业务的业务信息。因此,该区域1中的业务网关1在将用户的该业务访问请求分配给该区域中的业务节点之前,需要先确认用户是否具有访问该业务的相应权限。因此,在本申请实施例中,业务网关1可以将用户的该业务访问请求发送给与其处于同一区域中的权限验证模块。在本申请实施例中,该权限验证模块可以是运行在各区域中的分布式节点中的一个节点上的应用,并向该区域中的业务系统提供权限验证服务。当然在本申请实施例中,该权限验证模块也可以是在各区域中独立设置的服务器,并且可以接收本区域中的业务网关发送来的用户业务访问请求,还可以通过与本区域中的区块链节点通信来获取在区块链上存储的用户信息,以进行用户的权限验证。
因此,用户在通过注册节点在该分布式系统中进行了注册之后,其用户信息会保存在由例如区块链节点1-3构成的区块链上。与业务网关1同处于区域1中权限验证模块就可以根据该业务网关1发送来的用户的业务访问请求中的用户标识来从同样处于区域1中的区块链节点2中获取对应的权限信息。例如,该权限验证模块可以根据从业务网关接收到的用户信息来使用区块链上运行的权限信息智能合约查询该区块链节点2上存储的用户权限信息,并且根据查询到的用户的权限信息来确认用户是否具有针对所请求的业务的访问权限,或者更具体地,在用户的权限允许用户对该业务的访问的情况下,还可以进一步确认该访问是否存在哪些限制。此外,还可以根据该用户的权限信息确认用户使用业务节点的权限,例如对于各个业务节点的使用上的权重信息等。在权限验证模块根据从区块链节点2中获取到的用户的权限信息确认了用户对于所请求的业务的访问权限之后,可以将该权限验证结果返回给业务网关1,从而业务网关1就可以根据该返回的权限验证结果来继续对用户的业务访问请求进行处理。例如,可以根据权限验证结果中指示的用户的权限来将用户的访问请求转发给对应的业务节点,从而用户可以使用该业务节点来进行自己的业务处理。
此外,在本申请实施例中,由于包括权限信息在内的用户信息在用户通过注册节点在系统中完成注册之后不会频繁发生变化,因此,权限验证模块也可以在第一次从区块链节点2获取到某个用户的用户信息之后,可以将其存储在本地缓存中。并且在每次接收到例如业务网关转发来的用户信息时,可以先在本地缓存中进行用户权限信息的查询,当缓存中未找到该用户的用户信息时,再访问本地的区块链节点2来查询区块链上存储的用户的用户信息。通过该方式,能够大大提高查询的效率。
此外,在权限验证模块从本地的区块链节点2查询用户的权限信息时,还可能发生的是,该区块链节点2由于自身的运行状态或者由于网络状况而无法向权限验证模块返回查询结果,此时可以根据该区块链节点2返回的查询失败消息或响应,通过区块链上运行的智能合约向其他节点查询用户信息。
本申请实施例提供的基于区块链的分布式权限验证方案,通过根据用户业务访问请求中的标识信息来获取通过与区块链的其他节点同步而存储在本地节点上的权限信息,并根据获取到的权限信息和业务信息来确定用户对业务的访问权限。通过在本地设置的区块链节点来同步其他节点上存储的用户的权限信息,能够使得无论用户在何处访问其本地的业务节点,都能够使用其本地的区块链节点上存储的权限信息来为用户进行权限验证服务,从而避免了现有技术中需要与单独设置的权限验证服务中心进行远程通信而造成的问题,使得能够及时地相应用户的业务访问请求来进行权限验证,确保了用户访问业务的及时性和可靠性。
上述实施例是对本申请实施例的技术原理和示例性应用框架的说明,下面通过多个实施例来进一步对本申请实施例具体技术方案进行详细描述。
实施例二
图2为本申请提供的基于区块链的分布式权限验证方法实施例的流程图,该方法的执行主体可以为具有区块链数据处理能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图2所示,该权限验证方法包括如下步骤:
S201,接收用户的业务访问请求。
在步骤S201中,可以接收用户的业务访问请求,并且该业务访问请求可以是例如由实际接收到用户的业务访问请求的业务网关接收到并发送给例如图1b中所示的权限验证模块的业务访问请求,并且因此,该业务访问请求可以包含有用户的标识信息和所要访问的业务的业务信息。此外,在本申请实施例中,步骤S201中接收到的业务访问请求也可以是业务网关根据其接收到的用户的访问请求而重新生成用于进行权限验证的请求信息。换言之,在本申请实施例中,在步骤S201中接收到的业务访问请求没有限制,只要其能够包括用户的标识信息和业务信息即可。
S202,根据标识信息获取用户的权限信息。
在步骤S202中,可以根据在步骤S201中接收到的访问请求中包含的用户标识信息来获取对应的权限信息。具体地,步骤S202中获取到的该权限信息可以是存储在本地区块链节点中的权限信息,并且是从与该本地节点处于同一区块链上的其他节点同步到本地节点的。例如,用户可以在初次访问该分布式系统时,通过注册节点来输入其用户信息,例如可以通过相应地购买服务而在注册系统中建立其账户信息,从而该分布式系统可以根据其标识信息以及账户信息来确定其用户等级并为其分配相应的权限作为权限信息。该权限信息可以是用户使用该分布式系统中哪些业务的权限信息,还可以包括有使用某个业务时的限制信息等。此外,该权限信息还可以包括有用户可以在哪些区域中访问该系统的地域信息,或者包括有在该区域中可以使用哪些业务节点的节点信息等。
例如,在步骤S202中,可以根据在步骤S201中接收到的用户的业务访问请求中的用户标识来从处于本地的区块链节点中获取对应的权限信息。例如,在步骤S202中,可以根据在步骤S201中从业务网关接收到的用户信息来使用区块链上运行的权限信息智能合约查询本地的区块链节点上存储的用户权限信息。
此外,由于包括权限信息在内的用户信息在用户通过注册节点在系统中完成注册之后不会频繁发生变化,因此,在本申请实施例中,也可以在第一次从区块链节点2获取到某个用户的用户信息之后,将其存储在本地缓存中。并且在步骤S202中根据步骤S201接收到的例如业务网关转发来的用户信息进行权限查询时,可以先在本地缓存中进行用户权限信息的查询,当缓存中未找到该用户的用户信息时,再访问本地的区块链节点来查询区块链上存储的用户的用户信息,从而能够大大提高查询的效率。
此外,在步骤S202中,从本地的区块链节点查询用户的权限信息时,还可能发生的是,该本地的区块链节点由于自身的运行状态或者由于网络状况而无法返回查询结果时,可以根据该本地区块链节点返回的查询失败消息或响应,通过区块链上运行的智能合约向其他节点查询用户信息。
S203,根据权限信息和业务信息确定用户对于业务的访问权限。
在步骤S203中,可以根据步骤S202中查询到的用户的权限信息以及步骤S201中接收到的用户的访问请求中包含的业务信息来确认用户是否具有针对所请求的业务的访问权限。
具体地,用户在系统中注册时,系统根据用户的个人标识以及账户信息等可以确定了用户对于业务的访问权限,因此,在步骤S203中可以根据步骤S202中获取到的具体的权限信息来结合用户所请求的业务的业务信息确定用户是否可以访问该业务,并且在确定用户的权限允许用户对该业务的访问的情况下,还可以进一步确认该访问是否存在哪些限制。
在权限信息包括对于业务节点访问权限的情况下,步骤S203中还可以根据步骤S202中获取的权限信息确认用户使用业务节点的权限,例如对于各个业务节点使用上的权重信息等等。步骤S203中确认的访问权限被返回给例如本地区的业务网关之后,该业务网关就可以根据该返回的权限验证结果来继续对用户的业务访问请求进行处理。例如,可以根据权限验证结果中指示的用户权限来将用户的访问请求转发给对应的业务节点,从而用户可以使用该业务节点来进行自己的业务处理。
本申请实施例提供的基于区块链的分布式权限验证方法,通过根据用户的业务访问请求中的标识信息来获取通过与区块链的其他节点同步而存储在本地节点上的权限信息,并根据获取到的权限信息和业务信息来确定用户对于业务的访问权限。通过在本地设置的区块链节点来同步其他节点上存储的用户的权限信息,能够使得无论用户在何处访问其本地的业务节点,都能够使用其本地的区块链节点上存储的权限信息来为用户进行权限验证服务,从而避免了现有技术中需要与单独设置的权限验证服务中心进行的远程通信而造成的问题,使得能够及时地相应用户的业务访问请求来进行权限验证,确保了用户访问业务的及时性和可靠性。
实施例三
图3为本申请提供的基于区块链的分布式权限验证装置实施例的结构示意图,该权限验证装置可以用于实施例如参考图2描述的本申请实施例提供的权限验证方法。该权限验证装置可以包括:接收模块31、获取模块32和确定模块33。
接收模块31可以用于接收用户的业务访问请求。
在本申请实施例中,接收模块31可以接收用户的业务访问请求,并且该业务访问请求可以是例如由实际接收到用户的业务访问请求的业务网关接收到并发送给例如图1b中所示的权限验证模块的业务访问请求,该业务访问请求可以包含有用户的标识信息和所要访问的业务的业务信息。此外,在本申请实施例中,接收模块31接收到的业务访问请求也可以是业务网关根据其接收到的用户的访问请求而重新生成用于进行权限验证的请求信息。换言之,在本申请实施例中,对于接收模块31接收到的业务访问请求没有限制,只要其能够包括用户的标识信息和业务信息即可。
获取模块32可以用于根据标识信息获取用户的权限信息。
获取模块32可以根据接收模块31接收到的访问请求中包含的用户标识信息来获取对应的权限信息。具体地,获取模块32获取到的该权限信息可以是存储在本地区块链节点中的权限信息,并且是从与该本地节点处于同一区块链上的其他节点同步到本地节点的。例如,用户可以在初次访问该分布式系统时,通过注册节点来输入其用户信息,例如可以通过相应地购买服务而在注册系统中建立其账户信息,从而该分布式系统可以根据其标识信息以及账户信息来确定其用户等级并为其分配相应的权限作为权限信息。该权限信息可以是用户使用该分布式系统中哪些业务的权限信息,还可以包括有使用某个业务时的限制信息等。此外,该权限信息还可以包括有用户可以在哪些区域中访问该系统的地域信息,或者包括有在该区域中可以使用哪些业务节点的节点信息等。
例如,获取模块32可以根据接收模块31接收到的用户的业务访问请求中的用户标识来从例如处于本地的区块链节点中获取对应的权限信息。例如,获取模块32可以根据接收模块31从业务网关接收到的用户信息来使用区块链上运行的权限信息智能合约查询本地的区块链节点上存储的用户权限信息。
此外,由于包括权限信息在内的用户信息在用户通过注册节点在系统中完成注册之后不会频繁发生变化,因此,在本申请实施例中,获取模块32也可以在第一次从区块链节点获取到某个用户的用户信息之后,将其存储在本地缓存中。在之后根据例如业务网关转发来的用户信息进行权限查询时,可以先在本地缓存中进行用户权限信息的查询,当缓存中未找到该用户的用户信息时,再访问本地的区块链节点来查询区块链上存储的用户的用户信息,从而能够大大提高查询的效率。
此外,获取模块32从本地的区块链节点查询用户的权限信息时,还可能发生的是,该本地的区块链节点由于自身的运行状态或者由于网络状况而无法返回查询结果,此时可以根据该本地区块链节点返回的查询失败消息或响应,通过区块链上运行的智能合约向其他节点查询用户信息。
确定模块33可以用于根据权限信息和业务信息确定用户对于业务的访问权限。
确定模块33可以根据获取模块32查询到的用户的权限信息以及接收模块31接收到的用户的访问请求中包含的业务信息来确认用户是否具有针对所请求的业务的访问权限。
具体地,用户在系统中注册时,系统根据用户的个人标识以及账户信息等可以确定了用户对于业务的访问权限,因此,确定模块33可以根据获取模块32获取到的具体的权限信息来结合用户所请求的业务的业务信息确定用户是否可以访问该业务,并且在确定用户的权限允许用户对该业务的访问的情况下,还可以进一步确认该访问是否存在哪些限制。
在权限信息包括对于业务节点访问权限的情况下,确定模块33还可以根据获取模块32获取的权限信息确认用户使用业务节点的权限,例如对于各个业务节点的使用上的权重信息等等。确认的访问权限被返回给例如本地区的业务网关之后,该业务网关就可以根据该返回的权限验证结果来继续对用户的业务访问请求进行处理。例如,可以根据权限验证结果中指示的用户的权限来将用户的访问请求转发给对应的业务节点,从而用户可以使用该业务节点来进行自己的业务处理。
本申请实施例提供的基于区块链的分布式权限验证装置,通过根据用户的业务访问请求中的标识信息来获取通过与区块链的其他节点同步而存储在本地节点上的权限信息,并根据获取到的权限信息和业务信息来确定用户对于业务的访问权限。通过在本地设置的区块链节点来同步其他节点上存储的用户的权限信息,能够使得无论用户在何处访问其本地的业务节点,都能够使用其本地的区块链节点上存储的权限信息来为用户进行权限验证服务,从而避免了现有技术中需要与单独设置的权限验证服务中心进行的远程通信而造成的问题,使得能够及时地相应用户的业务访问请求来进行权限验证,确保了用户访问业务的及时性和可靠性。
实施例四
图4为本申请提供的基于区块链的分布式权限验证平台实施例的系统框图。如图4所示,该权限验证平台可以包括:业务系统41、权限验证模块42和区块链节点43和44。
在本申请实施例中,业务系统41可以用于接收用户的访问请求,并在确认用户具有业务访问权限的情况下,为用户提供业务访问服务。例如,业务系统41可以包括有业务网关411和至少一个业务节点412。业务网关411可以用于接收用户的访问请求,并且根据业务访问请求向权限验证模块42发送权限验证请求。
在本申请实施例中,业务网关411可以在接收到用户的业务访问请求之后就直接将其转发给权限验证模块来进行权限验证,并且在该情况下,业务网关411接收到的业务访问请求可以包含有用户的标识信息和所要访问的业务的业务信息。此外,在本申请实施例中,业务网关411也可以根据其接收到的用户的访问请求而重新生成验证请求信息,并将该生成的验证请求信息发送给权限验证模块42来进行权限验证,在该情况下,业务网关411生成的验证请求信息中也至少包括有用户的标识信息和业务信息。
业务节点412用于为用户提供业务服务,业务网关在接收到权限验证模块42的验证结果后,如果该验证结果确认用户具有对于所请求的业务的访问权限,则业务网关411可以将该用户的访问请求转发给其所管理的业务节点412中的一个或多个,以便于该业务节点412为用户提供服务。特别地,业务网关411可以以随机方式或者根据其所管理的业务节点412的负载情况来确定转发目标的业务节点412,或者在用户的权限信息中记录中用户可以使用的节点信息或限制条件的情况下,权限验证模块42返回给业务网关411的权限验证结果中可以包括有用户可以使用的业务节点412的信息。业务网关411也可以根据该权限验证结果中的节点信息来对用户的业务请求进行转发。
权限验证模块42可以根据标识信息获取用户的权限信息,根据权限信息和业务信息确定用户对于业务的访问权限。
在本申请实施例中,权限验证模块42可以接收业务系统41,例如业务网关411发送来的业务访问请求,并且根据该访问请求中包含的用户的标识信息获取用户的权限信息。特别地,在本申请实施例的权限验证平台中,区块链节点43和至少一个区块链节点44可以构成区块链,并且每个节点都可以存储有用户的标识信息和权限信息。换言之,作为与业务系统41处于同一区域中的区块链节点43,其中存储的权限信息可以是从与其处于同一区块链上的其他节点44同步而获得的。
例如,用户可以在初次访问该分布式系统时,通过注册节点来输入其用户信息,例如可以通过相应地购买服务而在注册系统中建立其账户信息,从而该分布式系统可以根据其标识信息以及账户信息来确定其用户等级并为其分配相应的权限作为权限信息。该权限信息可以是用户使用该分布式系统中哪些业务的权限信息,还可以包括有使用某个业务时的限制信息等。此外,该权限信息还可以包括有用户可以在哪些区域中访问该系统的地域信息,或者包括有在该区域中可以使用哪些业务节点的节点信息等。
因此,该信息可以通过注册节点而上传到与注册节点对应设置的区块链节点44中,由于区块链节点43和44构成的区块链中,数据可以由任一区块链节点上传,并广播给其他区块链节点,通过共识技术来确保该节点上传的数据在区块链中的每个区块链节点中存储的不可篡改性。因此,用户注册时系统生成的用户的权限信息可以通过区块链节点44而同步到区块链节点43中。
因此,当权限验证模块42接收到例如业务网关发送来的用户的业务访问请求时,可以根据接收到的用户标识来从处于本地的区块链节点43中获取对应的权限信息。例如,权限验证模块42可以根据从业务网关接收到的用户信息来使用区块链上运行的权限信息智能合约查询本地的区块链节点43上存储的用户权限信息。
此外,由于包括权限信息在内的用户信息在用户通过注册节点在系统中完成注册之后不会频繁发生变化,因此,在本申请实施例中,权限验证模块42也可以在第一次从区块链节点43获取到某个用户的用户信息之后,将其存储在本地缓存中。在之后根据例如业务网关411发送的用户信息进行权限查询时,可以先在本地缓存中进行用户权限信息的查询,当缓存中未找到该用户的用户信息时,再访问本地的区块链节点43来查询区块链上存储的用户的用户信息,从而能够大大提高查询的效率。
此外,权限验证模块42从本地的区块链节点43查询用户的权限信息时,还可能发生的是,该本地的区块链节点43由于自身的运行状态或者由于网络状况而无法返回查询结果,此时可以根据该本地区块链节点43返回的查询失败消息或响应,通过区块链上运行的智能合约向其他节点44查询用户信息。
在从本地区块链节点43获取到用户的权限信息之后,权限验证模块42可以根据从业务网关411接收到的用户的访问请求中包含的业务信息来确认用户是否具有针对所请求的业务的访问权限。
具体地,在权限验证模块42中可以预先存储有验证逻辑或规则,并且在获取到用户的访问权限之后,就可以根据该验证逻辑或规则来确定用户对于所请求的业务的权限。例如,用户在系统中注册时,系统根据用户的个人标识以及账户信息等可以确定了用户对于业务的访问权限,具体的权限信息可以是标识用户可以访问的业务列表,也可以是用户可以访问的业务类型。因此,权限验证模块42在确定用户的权限允许用户对该业务的访问的情况下,还可以进一步确认该访问是否存在哪些限制。
在权限信息包括对于业务节点访问权限的情况下,权限验证模块42还可以根据从区块链节点43获取的权限信息确认用户使用业务节点412的权限,例如对于各个业务节点的使用上的权重信息等。确认的访问权限被返回给例如本地区的业务网关之后,该业务网关就可以根据该返回的权限验证结果来继续对用户的业务访问请求进行处理。例如,可以根据权限验证结果中指示的用户的权限来将用户的访问请求转发给对应的业务节点,从而用户可以使用该业务节点来进行自己的业务处理。
本申请实施例提供的权限验证平台,通过根据用户的交易请求中包含的交易的至少一个操作来计算对应的第一费用,并且根据该计算出的第一费用和用户标识所对应的账户信息来执行对交易的处理,能够在接收到用户的交易请求时就根据交易中包括的操作确定为执行交易所需的费用,从而能够针对每个使用区块链的用户分别精确地确定执行其交易所产生的费用,实现了对于每个参与者的精确计费,大大增加了区块链的适用范围。
实施例五
以上描述了权限验证装置的内部功能和结构,所述装置可实现为一种电子设备。图5为本申请提供的电子设备实施例的结构示意图。如图5所示,该电子设备包括存储器51和处理器52。
存储器51,用于存储程序。除上述程序之外,存储器51还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。
存储器51可以由任何类型的易失性或非易失性存储设备或者二者的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
处理器52,不仅局限于处理器(CPU),还可能为图形处理器(GPU)、现场可编辑门阵列(FPGA)、嵌入式神经网络处理器(NPU)或人工智能(AI)芯片等处理芯片。处理器52,与存储器51耦合,执行存储器51所存储的程序,以执行上述实施例二的权限验证方法。
进一步,如图5所示,电子设备还可以包括:通信组件53、电源组件54、音频组件55、显示器56等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。
通信组件53被配置为便于电子设备和其他设备之间进行有线或无线通信。电子设备可以接入基于通信标准的无线网络,如WiFi、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件53经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件53还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
电源组件54,为电子设备的各种组件提供电力。电源组件54可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件55被配置为输出和/或输入音频信号。例如,音频组件55包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器51或经由通信组件53发送。在一些实施例中,音频组件55还包括一个扬声器,用于输出音频信号。
显示器56包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还可以检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种基于区块链的分布式权限验证方法,包括:
接收用户的业务访问请求,其中,所述业务访问请求包含有用户的标识信息和所要访问业务的业务信息;
根据所述标识信息获取所述用户的权限信息,其中,所述权限信息是从与本地节点处于同一区块链上的其他节点同步到所述本地节点的;
根据所述权限信息和所述业务信息确定用户对业务的访问权限。
2.根据权利要求1所述的权限验证方法,其中,所述本地节点是与用于向所述用户提供所述业务的业务节点处于同一地区的节点。
3.根据权利要求1所述的权限验证方法,其中,所述根据所述标识信息获取所述用户的权限信息包括:
从缓存中获取所述权限信息,其中,所述权限信息是预先从所述本地节点获取并存储在所述缓存中的;或者
根据所述标识信息从所述本地节点获取所述权限信息。
4.根据权利要求3所述的权限验证方法,其中,当从所述本地节点获取所述权限信息失败时,所述根据所述标识信息获取所述用户的权限信息还包括:
从所述其他节点中的至少一个节点获取所述权限信息。
5.根据权利要求1所述的权限验证方法,其中,所述方法进一步包括:
根据所述访问权限,获取向所述用户提供所述业务的业务节点的节点信息。
6.一种基于区块链的分布式权限验证装置,包括:
接收模块,用于接收用户的业务访问请求,其中,所述业务访问请求包含有用户的标识信息和所要访问的业务的业务信息;
获取模块,用于根据所述标识信息获取所述用户的权限信息,其中,所述权限信息是从与本地节点处于同一区块链上的其他节点同步到所述本地节点的;
确定模块,用于根据所述权限信息和所述业务信息确定用户对于业务的访问权限。
7.一种基于区块链的分布式权限验证平台,包括:
业务系统,所述业务系统用于接收用户的业务访问请求,并包括业务网关和至少一个业务节点,其中,所述业务访问请求包含有用户的标识信息和所要访问的业务的业务信息;
权限验证模块,所述权限验证模块用于根据所述标识信息获取所述用户的权限信息,其中,所述权限信息是从与本地节点处于同一区块链上的其他节点同步到所述本地节点的;根据所述权限信息和所述业务信息确定用户对于业务的访问权限;
区块链,所述区块链包括用于存储用户的标识信息和权限信息的所述本地节点和至少一个其他节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594773.1A CN115118457A (zh) | 2022-05-27 | 2022-05-27 | 一种基于区块链的分布式权限验证方法、装置及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594773.1A CN115118457A (zh) | 2022-05-27 | 2022-05-27 | 一种基于区块链的分布式权限验证方法、装置及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115118457A true CN115118457A (zh) | 2022-09-27 |
Family
ID=83327281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210594773.1A Pending CN115118457A (zh) | 2022-05-27 | 2022-05-27 | 一种基于区块链的分布式权限验证方法、装置及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115118457A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348830A (zh) * | 2019-06-20 | 2019-10-18 | 国家信息中心 | 一种基于区块链的网络系统、认证方法、设备及存储介质 |
CN111010372A (zh) * | 2019-11-20 | 2020-04-14 | 国家信息中心 | 区块链网络身份认证系统、数据处理方法及网关设备 |
KR102110383B1 (ko) * | 2018-12-26 | 2020-05-13 | 한전케이디엔 주식회사 | 블록체인 기반의 모바일 보안 시스템 |
CN111177171A (zh) * | 2019-12-31 | 2020-05-19 | 上海分布信息科技有限公司 | 基于区块链的业务数据认证与管理方法及系统 |
CN111612452A (zh) * | 2019-02-22 | 2020-09-01 | 中细软集团有限公司 | 一种基于区块链的知识产权管理系统及方法 |
CN112104626A (zh) * | 2020-09-03 | 2020-12-18 | 深圳市中科网威科技有限公司 | 基于区块链的数据访问验证方法、装置、电子设备及介质 |
CN113742782A (zh) * | 2021-11-04 | 2021-12-03 | 中国信息通信研究院 | 基于隐私保护的区块链访问权限控制方法和区块链系统 |
-
2022
- 2022-05-27 CN CN202210594773.1A patent/CN115118457A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102110383B1 (ko) * | 2018-12-26 | 2020-05-13 | 한전케이디엔 주식회사 | 블록체인 기반의 모바일 보안 시스템 |
CN111612452A (zh) * | 2019-02-22 | 2020-09-01 | 中细软集团有限公司 | 一种基于区块链的知识产权管理系统及方法 |
CN110348830A (zh) * | 2019-06-20 | 2019-10-18 | 国家信息中心 | 一种基于区块链的网络系统、认证方法、设备及存储介质 |
CN111010372A (zh) * | 2019-11-20 | 2020-04-14 | 国家信息中心 | 区块链网络身份认证系统、数据处理方法及网关设备 |
CN111177171A (zh) * | 2019-12-31 | 2020-05-19 | 上海分布信息科技有限公司 | 基于区块链的业务数据认证与管理方法及系统 |
CN112104626A (zh) * | 2020-09-03 | 2020-12-18 | 深圳市中科网威科技有限公司 | 基于区块链的数据访问验证方法、装置、电子设备及介质 |
CN113742782A (zh) * | 2021-11-04 | 2021-12-03 | 中国信息通信研究院 | 基于隐私保护的区块链访问权限控制方法和区块链系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11610019B2 (en) | Information management method, apparatus, and information management system | |
US9197639B2 (en) | Method for sharing data of device in M2M communication and system therefor | |
US9135629B2 (en) | User targeting management, monitoring and enforcement | |
US20140344460A1 (en) | Brokering network resources | |
CN108337677B (zh) | 网络鉴权方法及装置 | |
US9319413B2 (en) | Method for establishing resource access authorization in M2M communication | |
CN112449343B (zh) | 用户身份标识管理的方法、设备及系统 | |
CN111742531B (zh) | 简档信息共享 | |
US11604890B2 (en) | Accessing information based on privileges | |
JP2019524016A (ja) | 接続デバイスのステータスを管理するための方法 | |
CN111148088A (zh) | 管理移动终端的方法、装置、设备和存储介质以及系统 | |
CN105119886A (zh) | 账号归属确定方法及装置 | |
CN102299945A (zh) | 网关配置页面登录方法、系统及门户认证服务器 | |
CN110198540B (zh) | Portal认证方法及装置 | |
CN115118457A (zh) | 一种基于区块链的分布式权限验证方法、装置及平台 | |
CN107396295B (zh) | 一种用于对用户设备进行无线连接预授权的方法与设备 | |
CN110351719A (zh) | 一种无线网络管理方法、系统及电子设备和存储介质 | |
US20180270236A1 (en) | Method for protecting machine type communication device, network entity and mtc device | |
CN114024692B (zh) | 签约方法、装置及系统 | |
WO2022134059A1 (zh) | 访问令牌处理方法和设备 | |
US9749849B1 (en) | Systems and methods for associating user personal information with wireless enabled devices | |
Niwa et al. | An information platform for smart communities realizing data usage authentication and secure data sharing | |
US11223618B2 (en) | Control of delegation rights | |
JP5636394B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US20150288699A1 (en) | Method and Device for Controlling an Internet Access |
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 |