CN114978681A - 基于区块链的服务应用授权方法及装置、处理器 - Google Patents
基于区块链的服务应用授权方法及装置、处理器 Download PDFInfo
- Publication number
- CN114978681A CN114978681A CN202210552468.6A CN202210552468A CN114978681A CN 114978681 A CN114978681 A CN 114978681A CN 202210552468 A CN202210552468 A CN 202210552468A CN 114978681 A CN114978681 A CN 114978681A
- Authority
- CN
- China
- Prior art keywords
- service
- client
- node
- authorization information
- application
- 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.)
- Granted
Links
- 238000013475 authorization Methods 0.000 title claims abstract description 310
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000012795 verification Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 19
- 238000004590 computer program Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于区块链的服务应用授权方法及装置、处理器。涉及区块链领域,该方法包括:接收服务应用的客户端发起的服务授权请求,其中,服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,服务授权请求用于请求服务应用对客户端进行授权;在多个服务节点上对客户端进行认证,得到服务授权信息,其中,服务授权信息用于指示客户端具有服务应用的运行权限;将服务授权信息发送至客户端。通过本申请,解决了相关技术中服务授权认证的认证方式安全性较低的技术问题。
Description
技术领域
本申请涉及区块链领域,具体而言,涉及一种基于区块链的服务应用授权方法及装置、处理器。
背景技术
随着互联网高速发展,软件产品层出不穷,如何保障软件作者权益成为软件服务提供商、软件创作者关注的问题。目前,为适应用户对软件层出不穷的需求,软件系统的开发、运维已从单打独斗逐渐发展成为多家共营的模式,集各家之所长,以为用户提供良好的软件服务。对于这类软件的使用权限认证和软件开发商的权益保障工作,目前常用的方式是中心化认证的方式,即在多个共营商中推选出一个大家默认信任的服务商,由该服务商为用户的使用权限进行认证,或者还可以是多个家共营商共同委托一个第三方服务商,由这个第三方服务商替代共营商进行使用者的使用权限的认证工作,因此,在这种中心化的认证方式中,多个共营商是默认选择信任推选出来的服务商的认证结果的。但是在这种方式中在互不信任的互联网环境中无法对共营商保证认证数据的真实性,并且这种方式得到的认证数据也是很容易被其他人伪造的,无法做到有效的保证软件开发商的权益。
针对相关技术中服务授权认证的认证方式安全性较低的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种基于区块链的服务应用授权方法及装置、处理器,以解决相关技术中服务授权认证的认证方式安全性较低的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种基于区块链的服务应用授权方法。该方法包括:接收服务应用的客户端发起的服务授权请求,其中,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,所述服务授权请求用于请求所述服务应用对所述客户端进行授权;在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,其中,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;将所述服务授权信息发送至所述客户端。
为了实现上述目的,根据本申请的另一个方面,还提供了另一种基于区块链的服务应用授权方法。该方法包括:发送服务授权请求,其中,所述服务授权请求用于请求服务应用对客户端进行授权,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护;接收响应所述服务授权请求返回的服务授权信息,其中,所述服务授权信息为所述多个服务节点对所述客户端进行认证得到的,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;存储所述服务授权信息。
为了实现上述目的,根据本申请的另一方面,提供了一种基于区块链的服务应用授权装置。该装置包括:第一接收模块,用于接收服务应用的客户端发起的服务授权请求,其中,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,所述服务授权请求用于请求所述服务应用对所述客户端进行授权;第一认证模块,用于在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,其中,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;第一发送模块,用于将所述服务授权信息发送至所述客户端。
为了实现上述目的,根据本申请的另一方面,提供了另一种基于区块链的服务应用授权装置。该装置包括:第二发送模块,用于发送服务授权请求,其中,所述服务授权请求用于请求服务应用对客户端进行授权,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护;第三接收模块,用于接收响应所述服务授权请求返回的服务授权信息,其中,所述服务授权信息为所述多个服务节点对所述客户端进行认证得到的,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;存储模块,用于存储所述服务授权信息。
通过本申请,采用以下步骤:接收服务应用的客户端发起的服务授权请求,其中,服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,服务授权请求用于请求服务应用对客户端进行授权;在多个服务节点上对客户端进行认证,得到服务授权信息,其中,服务授权信息用于指示客户端具有服务应用的运行权限;将服务授权信息发送至客户端,即对于由联盟链所包括的多方分别通过多个服务节点共同维护的服务应用,接收到服务应用的客户端发起的授权请求,需要在多个服务节点上对客户端进行认证,以使得服务应用的客户端对服务应用的运行权限的权限认证的更加安全可靠,解决了相关技术中服务授权认证的认证方式安全性较低的技术问题,进而达到了提高服务授权认证的认证方式安全性的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种基于区块链的服务应用授权方法的流程图;
图2是根据本申请实施例的一种可选的基于区块链的服务应用的授权认证系统图;
图3是根据本申请实施例的一种可选的服务节点结构图;
图4是根据本申请实施例的一种可选的嵌入式智能合约执行示意图;
图5是根据本申请实施例的一种可选的服务授权信息生成的流程图;
图6是根据本申请实施例提供的另一种基于区块链的服务应用授权方法的流程图;
图7是根据本申请实施例的一种可选的客户端功能模块示意图;
图8是根据本申请实施例的一种可选的校验模块功能示意图;
图9是根据本申请实施例的一种可选的服务授权信息认证流程图;
图10是根据本申请实施例的基于区块链的服务应用授权装置的示意图一;
图11是根据本申请实施例的基于区块链的服务应用授权装置的示意图二;
图12是用于实施本申请实施例的基于区块链的服务应用授权方法的电子设备示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例提供的一种基于区块链的服务应用授权方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收服务应用的客户端发起的服务授权请求,其中,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,所述服务授权请求用于请求所述服务应用对所述客户端进行授权
步骤S102,在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,其中,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;
步骤S103,将所述服务授权信息发送至所述客户端。
可选的,上述基于区块链的服务应用授权方法可以但不限于应用于联盟链的多个服务节点中的任意服务节点,或者还可以应用与对联盟链上多个服务节点进行数据管理的管理节点上,也就是说,对客户端的认证需要联盟链上每个服务节点的认证,可以是一个节点认证完后,将认证结果发送至其他节点,或者还可以是由管理节点将认证请求发送至各个服务节点进行认证,管理节点获取各个服务节点的认证结果并汇总。
可选的,联盟链是由若干组织组成的区块链,联盟链中每一方都对应着多个服务节点中的一个服务节点。
可选的,服务节点对客户端的认证可以但不限于是对客户端的运行环境进行认证,比如,安装客户端的设备而的设备地址、存储客户端数据的存储位置信息等等,本方案对此不做限定。
可选地,服务应用可以但不限于包括游戏应用、办公应用、理财应用等等。
可选地,客户端连接在联盟上的任意服务节点上,比如可以连接在多个服务节点中每个服务节点上,或者还可以连接在部分服务节点上,比如连接在与安装客户端的设备的地域位置近的服务节点上。
在本申请实施例中,通过接收服务应用的客户端发起的服务授权请求,其中,服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,服务授权请求用于请求服务应用对客户端进行授权;在多个服务节点上对客户端进行认证,得到服务授权信息,其中,服务授权信息用于指示客户端具有服务应用的运行权限;将服务授权信息发送至客户端,即对于由多个服务节点共同维护的服务应用,接收到服务应用的客户端发起的服务授权请求,需要在多个服务节点上对客户端进行认证,以使得服务应用的客户端对服务应用的运行权限的权限认证的更加安全可靠,解决了相关技术中服务授权认证的认证方式安全性较低的技术问题,进而达到了提高服务授权认证的认证方式安全性的效果。
需要说明的是,现有技术中在对客户端进行认证时,只会在多个服务节点中选择出一个服务节点,或者是由多个服务节点共同制定的第三方节点,多个服务节点默认信任选择出的服务节点或者第三方节点的认证结果,这种认证方式在互不信任的网络环境中无法对共营商保证认证数据的真实性,并且这种方式得到的认证数据也是很容易被其他人伪造的。
可选地,图2是根据本申请实施例的一种可选的基于区块链的服务应用的授权认证系统图,本申请实施例提供的基于区块链的服务应用授权方法可以但不限于应用于如图2所示的服务应用的授权认证系统,如图2所示,本服务应用的授权认证系统提供一种基于区块链的去中心化认证系统,可以但不限于包括“区块链License认证网络22”(相当于上述内容的联盟链)、“License认证网络节点24”(相当于上文中的服务节点)、“服务应用26”、“License认证客户端节点28”(相当于上文的客户端),其中,“区块链License认证网络22”是由多个参与方共同运营的区块链认证网络,每个“License认证网络节点24”分别部署在各个联盟参与方环境中,每个网络节点上将部署License合约,合约内包含License生成、授权和校验等方法。所述“License认证网络节点24”本质上是部署在各个联盟参与方环境中的区块链节点,各节点持有相同的账本,即License许可证,用调节点上的智能合约,用于生成、授权License许可证。所述“服务应用26”是使用者购买的软件产品,该产品由多个机构、组织共同发行,需要持有License许可证验证通过后才允许使用。所述“License认证客户端节点28”,是本专利提出的新型节点,该节点提供两种运行模式,1)嵌入式,通过依赖的方式(jar、vendor等)把校验模块集成在待认证产品中;2)分离式,通过镜像的方式独立运行校验程序。用户需要通过License认证客户端节点校验许可证的合法性,才能开启“服务应用26”的使用权限。
在一个可选的实施例中,所述在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,包括:
在第一服务节点上对所述客户端进行认证,得到中间授权信息;
将所述第一服务节点上得到的中间授权信息发送至第二服务节点,其中,所述第二服务节点是所述多个服务节点中除所述第一服务节点之外的其他服务节点,所述第二服务节点中每个服务节点用于对接收到的前一个服务节点发送的中间授权信息进行认证并将得到的中间授权信息发送至下一个服务节点,在所述第二服务节点中最后一个服务节点上得到所述服务授权信息。
可选的,在认证过程中,前一个服务节点可以按照某一认证顺序将中间授权信息发送至下一服务节点,该认证顺序可以但不限于是客户端或者第一服务节点随机生成的;或者前一服务节点还可以按照随机的顺序将中间授权信息发送至下一个服务节点。
可选的,每个服务节点在对客户端进行认证是可以是使用加密的方式对客户端进行认证,比如,使用服务节点的私钥对客户端进行认证,或者是使用特定的签名方式对客户端进行认证(如,在签名中随机加入任意字符),进而防止对认证结果的伪造。
在一个可选的实施例中,所述在第一服务节点上对所述客户端进行认证,得到中间授权信息,包括:
获取所述第一服务节点的节点私钥;
使用所述节点私钥对所述服务授权请求中携带的所述客户端的客户端标识进行签名,得到所述中间授权信息。
可选的,客户端标识用于指示客户端的运行环境,客户端标识可以但不限于包括安装客户端的设备的处理器标识、地址标识、内存标识等等。
可选的,每个服务节点在对客户端标识进行签名时,可以但不限于在客户端的真实签名中随机插入任意字符,由于签名时插入的字符数量和字符位置只有服务节点自己知道,因此可以防止对中间授权信息的伪造。
可选地,每个服务节点在对客户端进行认证是可以但不限于使用如下公式进行认证:yi=f(yi-1,ki),i≥1,其中,i为联盟链上多个服务节点的数量,yi-1为认证顺序中第i-1个服务节点输出的中间授权信息,并且y0为客户端的客户端信息,ki表示第i个服务节点的节点私钥,f是生成函数,通过使用该方式在联盟链上各个服务节点对客户端进行认证,得到的服务授权信息用于指示联盟链上的各个服务节点都认可了客户端具有对服务应用的操作权限。
上述实施例可以但不限于应用于具有对客户端进行认证的各个服务节点上,该服务节点具有多个功能模块,以实现对客户端的权限认证的功能,图3是根据本申请实施例的一种可选的服务节点结构图,如图3所示,每个服务节点可以但不限于包括如下功能模块:“交易接收模块31”、“智能合约路由器32”、“普通智能合约调用器33”、“合约结果接收器34”、“嵌入式智能合约调用器35”、“合约执行器36”、“交易应答模块37”。“交易接收模块31”负责接收区块链交易请求,并验证上报的交易报文正确性,验证通过后调用“智能合约路由器32”。“智能合约路由器32”根据交易报文不同,调用不同的逻辑分支,本专利在传统区块链逻辑分支基础上新引入了嵌入式智能合约分支。嵌入式智能合约是把智能合约编译成字节码/二进制文件供“合约执行器36”在区块链节点内部执行。“普通智能合约调用器33”用于与另一个智能合约容器建立GRPC连接,执行合约代码。“合约结果接收器34”用于与另一个智能合约容器建立GRPC连接,获取合约代码结果。“嵌入式智能合约调用器35”用于调用区块链节点内的“合约执行器36”,并把字节码/二进制文件、虚拟机类型等关键参数传递给“合约执行器36”。“合约执行器36”是集成了JVM、WASM、EVM等多种虚拟机的运行环境,支持运行不同代码编写的智能合约。“交易应答模块37”用于返回智能合约执行结果。
上述实施例中通过采用嵌入式智能合约,从而提高合约的调用效率,并且保障合约的安全性,因为普通智能合约运行在另一个专门的合约容器内,与节点程序相互隔离,而嵌入式智能合约与节点程序运行在同个容器内,若合约代码存在漏洞或缺陷,将影响到节点程序。图4是根据本申请实施例的一种可选的嵌入式智能合约执行示意图,如图4所示,License智能合约是预先编辑好的智能合约,是一种格式合同,用以规定和限制软件用户使用的软件权利,以及作者应尽的义务,智能合约存储在每个服务节点中,并把智能合约编译成字节码/二进制文件供服务节点内的合约执行程序执行;在合约的签订阶段,服务节点中的合约调用器根据交易信息调用对应的智能合约的编码文件,并在服务节点上的合约执行器中执行,合约执行器本质上是集成了JVM、WASM、EVM等多种虚拟机的运行环境,支持运行不同代码编写的智能合约,进而能够执行智能合约,从而实现合约和客户端信息的绑定。
图5是根据本申请实施例的一种可选的服务授权信息生成的流程图,如图5所示,可以但不限于包括如下步骤:
步骤S501:服务用用向客户端发起获取服务授权信息的申请。
步骤S502:客户端根据设备环境、硬件信息提取设备ID(上文中的客户端信息)。
步骤S503:客户端随机生成认证顺序,该认证顺序用于指示各个服务节点按照该顺序对客户端进行认证。
步骤S504:各个服务节点获取自身的节点私钥,用于对客户端进行签名认证。
步骤S505:在客户端发起交易请求(购买服务应用的使用权限),调用服务节点中存储的智能合约。
步骤S506:服务节点检查客户端身份是否与交易请求中身份一致。
步骤S507:服务节点根据客户端上送的设备ID使用自身的节点私钥进行认证,得到中间授权信息,并按照认证顺序交由不同的服务节点使用自身私钥进行认证,在认证过程中,后一个服务节点对前一个服务节点输出的中间授权信息进行认证。
步骤S508:智能合约与客户端的绑定关系存证在区块链上。
步骤S509:服务节点返回多重签名后的服务授权信息至客户端。
步骤S510:客户端根据认证顺序验证服务授权信息的合法性。
步骤S511:License认客户端输出服务授权信息。
步骤S512:服务应用获取服务授权请求的申请结果。
在一个可选的实施例中,所述将所述第一服务节点上得到的中间授权信息发送至第二服务节点,包括:
获取所述服务授权请求中携带的认证顺序,其中,所述认证顺序用于指示所述多个服务节点对所述客户端进行认证的顺序;
从所述认证顺序中确定排列在所述第一服务节点下一个的第三服务节点;
将所述第一服务节点上得到的中间授权信息以及所述认证顺序发送至所述第三服务节点。
可选的,认证顺序可以但不限于是第一服务节点随机生成的,还可以是来自服务授权请求发起方(客户端)随机生成的。
在一个可选的实施例中,所述在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,包括:
获取所述服务授权请求中携带的所述客户端的客户端标识;
获取与所述客户端标识具有绑定关系的服务合约,其中,所述服务合约用于指示所述客户端的签约服务应用;
在所述签约服务应用中包括所述服务应用的情况下,在所述多个服务节点上对所述客户端进行认证,得到服务授权信息。
可选的,服务合约用于为用户和服务应用的维护方签订的合约,用以规范和限制服务应用的使用方的使用权限,以及服务应用的维护方的义务。
可选的,客户端标识和服务合约的绑定可以存储在每个多个服务节点中的每个服务节点上,在每个对客户端进行认证之前,都需要根据绑定的合约检测客户端是否具有服务应用对应的使用权限,或者客户端标识和服务合约的绑定关系还可以集中存储在联盟链上多个节点公用的存储器中,在每个节点对客户端进行认证之前,需要从存储器中读取客户端对服务应用的使用权限。
在一个可选的实施例中,在所述获取与所述客户端标识具有绑定关系的服务合约之前,所述方法还包括:
接收所述客户端上报的服务创建请求,其中,所述服务创建请求用于请求为所述客户端签约所述服务应用;
获取与所述服务创建请求匹配的所述服务合约;
建立所述客户端标识与所述服务合约之间的绑定关系。
可选的,客户端标识和服务合约之间的绑定关系可以但不限于是在触发了对应的交易后生成的,该交易是与服务应用的使用权限对应的交易,在确定交易完成后,建立客户端标识与服务合约之间的绑定关系。
可选的,服务合约可以根据服务创建请求中签约的服务应用对约合合约条款进行拼接得到的,或者还可以是在预设的服务合约集合中调取的与服务应用匹配的合约。比如,服务合约可以但不限于是嵌入式智能合约,嵌入式智能合约是把智能合约编译成字节码/二进制文件在区块链节点内部执行,嵌入式智能合约运行在每个服务节点的节点容器内,服务节点程序与智能合约程序间的通信是进程间的通信,在交易完成后,可以根据交易内容调去对应的智能合约,在服务节点中运行。
图6是根据本申请实施例提供的另一种基于区块链的服务应用授权方法的流程图,如图6所示,该方法包括如下步骤:
步骤S601,发送服务授权请求,其中,所述服务授权请求用于请求服务应用对客户端进行授权,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护;
步骤S602,接收响应所述服务授权请求返回的服务授权信息,其中,所述服务授权信息为所述多个服务节点对所述客户端进行认证得到的,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;
步骤S603,存储所述服务授权信息。
可选的,上述基于区块链的服务应用授权方法可以但不限于应用与服务应用的客户端,或者是安装在安装了服务应用客户端的智能设备上的授权程序,用于对多个服务节点认证得到的服务授权信息进行认证,从而确定服务授权信息中认定的客户端是否与当前设备上客户端匹配(如运行环境、版本信息等等)。
可选的,服务授权信息可以是存储在与客户端对应的存储位置,用于在通过客户端向服务应用请求服务操作时验证客户端的权限,比如,可以将服务授权信息存储在存储客户端信息的存储位置。
在本申请实施例中,通过发送服务授权请求,其中,所述服务授权请求用于请求服务应用对客户端进行授权,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护;接收响应所述服务授权请求返回的服务授权信息,其中,所述服务授权信息为所述多个服务节点对所述客户端进行认证得到的,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;存储所述服务授权信息,即对于发起的请求服务应用对客户端的授权的服务授权请求,需要在多个服务节点上对客户端进行认证,才能得到服务授权信息,以使得服务应用的客户端对服务应用的运行权限的权限认证的更加安全可靠,解决了相关技术中服务授权认证的认证方式安全性较低的技术问题,进而达到了提高服务授权认证的认证方式安全性的效果。
需要说明的是,现有技术中在对客户端进行认证时,只会在多个服务节点中选择出一个服务节点,或者是由多个服务节点共同制定的第三方节点,多个服务节点默认信任选择出的服务节点或者第三方节点的认证结果,这种认证方式在互不信任的网络环境中无法对共营商保证认证数据的真实性,并且这种方式得到的认证数据也是很容易被其他人伪造的。
上述实施例可以但不限于应用于服务应用的客户端上,该客户端安装在终端设备上,从而通过该客户端对服务应用进行操作,图7是根据本申请实施例的一种可选的客户端功能模块示意图,如图7,可以但不限于包括如下模块“应用入口71”、“License授权校验模块72”、“嵌入式校验模块721”、“分离式校验模块722”、“核心功能73”。“系统入口71”是服务应用的应用入口,该模块用于拦截用户请求,并调用“License授权校验模块72”。“License授权校验模块72”用于校验服务授权信息的合法性,其中包含“嵌入式校验模块721”和“分离式校验模块722”两个独立模块,服务应用只要选择其一即可。“嵌入式校验模块721”是一套完整的License客户端校验api,其中包含三个重要方法:1)获取License许可证,调用此API可获取License许可证,并以文件的方式保存在运行设备上,此API的前置条件可为注册、购买等方式,本专利不讨论;2)获取设备指纹,调用此API可获取当前系统运行环境的设备指纹,该API通过获取CPU、硬盘、内存等设备信息根据哈希算法生成设备唯一码;3)校验License许可证合法性,根据本地License许可证和设备指纹访问本专利提出的区块链分布式License认证系统校验License许可证的合法性,合法则允许用户访问“系统核心功能73”。“分离式校验模块722”本质上是HTTP协议发送器,外置校验节点提出了一整套Restful认证接口,其功能与“嵌入式校验模块721”一致,且都需要与外置校验节点交互,唯一区别在于待验证系统需要根据接口格式发送HTTP请求认证节点,以获取校验结果。“核心功能73”是服务应用为授权用户提供核心服务的功能模块,只有通过认证的用户才允许访问。
在上述实施例中客户端还可以使用分离式校验模块对服务授权信息进行认证,从而确定客户端所在的终端设备是否有权操作服务应用,图8是根据本申请实施例的一种可选的校验模块功能示意图,如图8所示,可以但不限于包括如下功能单元:“交易接收器81”、“设备指纹提取器82”、“设备注册器83”、“服务授权信息加载器84”、“服务授权信息校验器85”、“交易应答器86”。所述“交易接收器81”和“交易应答器85”用于接收和应答待验证系统请求。所述“设备指纹提取器82”用于获取设备ID,一般通过采集运行环境的CPU、硬盘、内存等设备信息,再使用哈希算法生成,设备指纹的作用是与License许可证绑定,根据授权策略不同,授权者可限定一台、或多台设备运行服务应用。所述“设备注册器83”用于请求License智能合约,在链上注册设备,并获取对应的服务授权信息。所述“服务授权信息加载器84”用于加载本地服务授权信息到内存中,供许“服务授权信息校验器85”使用。所述“服务授权信息校验器85”用于校验许可证的合法性,校验通过则允许用户使用服务应用。
在一个可选的实施例中,所述发送服务授权请求,包括:
随机生成所述多个服务节点对所述客户端进行认证的认证顺序;
将携带所述客户端的客户端标识和所述认证顺序的所述服务授权请求发送至处于所述认证顺序的起始位置的服务节点。
可选的,服务授权请求还可以是发送至多个服务节点中与安装了客户端的设备之间距离最近的服务节点上。
在一个可选的实施例中,在所述存储所述服务授权信息之后,所述方法还包括:
接收所述客户端发起的调用请求,其中,所述调用请求用于请求在所述客户端上调用所述服务应用;
调用所述服务授权信息;
对所述服务授权信息进行认证,得到参考客户端信息;
在所述参考客户端信息与所述客户端的客户端标识匹配的情况下,响应所述调用请求,在所述客户端上调用所述服务应用。
可选的,对服务授权信息进行认证的认证方式与多个服务节点对客户端进行认证的认证方式匹配的,可以但不限于按照某一认证顺序、特定认证秘钥进行认证。
在一个可选的实施例中,所述对所述服务授权信息进行认证,得到参考客户端信息,包括:
获取所述多个服务节点中每个服务节点的节点公钥,其中,所述服务授权信息是所述多个服务节点中每个服务节点使用节点私钥对所述客户端进行签名得到的;
使用所述节点公钥对所述服务授权信息进行认证,得到参考客户端信息。
可选的,参考客户端信息用于指示经多个服务节点认证的具有对服务应用执行操作权限的客户端的运行环境,参考客户端信息可以但不限于包括安装客户端的地址信息、存储客户端数据的存储器标识信息等等。
可选的,使用节点公钥对服务授权信息进行认证时可以是按照特定的认证顺序进行认证,认证顺序错误,则无法得到参考客户端信息。
可选的,对服务授权信息进行认证是可以但不限于使用如下公式进行认证:yi-1=F(yi,pi),i≥1,其中,i为对客户端进行认证的服务节点数量,yi-1为服务节点认证顺序中第i-1个服务节点输出的中间授权信息,pi为第i个服务节点的节点公钥,F是与服务节点认证客户端是使用的生成函数的反函数,通过使用该方式对服务授权信息进行逐层解析,从而得到具有服务应用操作权限的参考客户端信息。
在一个可选的实施例中,所述使用所述节点公钥对所述服务授权信息进行认证,得到参考客户端信息,包括:
获取所述多个服务节点对所述客户端进行认证的认证顺序;
使用所述认证顺序中最后一个服务节点的节点公钥对所述服务授权信息进行签名验证,得到中间授权信息;
依次使用所述认证顺序中前一个服务节点的节点公钥对前一个服务节点得到的中间授权信息进行签名验证,直至使用所述认证顺序中第一个服务节点的节点公钥对第二个服务节点得到的中间授权信息进行签名验证,得到所述参考客户端信息。
通过以上步骤,联盟链的多个服务节点按照认证顺序使用自身的节点私钥进行认证,得到服务授权信息,在得到服务授权信息后,使用每个服务节点的节点私钥按照与认证顺序相反的顺序对服务授权信息进行认证,从而得到经多个服务节点认证的具有对服务应用操作权限的客户端的参考客户端信息,即使拿到了节点公钥也无法得知多个服务节点的认证顺序,使得认证结果无法被伪造,从而保证的认证结果的准确性。
图9是根据本申请实施例的一种可选的服务授权信息认证流程图,如图9所示,可以但不限于包括如下内容:
步骤S901:用户使用服务应用。
步骤S902:服务应用发起许可证校验申请。
步骤S903:客户端提取设备指纹。
步骤S904:客户端获取认证顺序。
步骤S905:客户端加载本地服务授权信息。
步骤S906:使用验证算法检验服务授权信息合法性。
步骤S907:若服务授权信息核发,则允许用户使用服务应用的核心程序。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种基于区块链的服务应用授权装置,需要说明的是,本申请实施例的基于区块链的服务应用授权装置可以用于执行本申请实施例所提供的用于基于区块链的服务应用授权方法。以下对本申请实施例提供的基于区块链的服务应用授权装置进行介绍。
图10是根据本申请实施例的基于区块链的服务应用授权装置的示意图一。如图10所示,该装置包括:第一接收模块1002,用于接收服务应用的客户端发起的服务授权请求,其中,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,所述服务授权请求用于请求所述服务应用对所述客户端进行授权;
第一认证模块1004,与上述第一接收模块1002连接,用于在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,其中,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;
第一发送模块1006,与上述第一认证模块1004连接,用于将所述服务授权信息发送至所述客户端。
本申请实施例提供的订单支付装置,第一接收模块1002,用于接收服务应用的客户端发起的服务授权请求,其中,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,所述服务授权请求用于请求所述服务应用对所述客户端进行授权;第一认证模块1004,与上述第一接收模块1002连接,用于在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,其中,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;第一发送模块1006,与上述第一认证模块1004连接,用于将所述服务授权信息发送至所述客户端。解决了相关技术中服务授权认证的认证方式安全性较低的技术问题,进而达到了提高服务授权认证的认证方式安全性的效果。
需要说明的是,现有技术中在对客户端进行认证时,只会在多个服务节点中选择出一个服务节点,或者是由多个服务节点共同制定的第三方节点,多个服务节点默认信任选择出的服务节点或者第三方节点的认证结果,这种认证方式在互不信任的网络环境中无法对共营商保证认证数据的真实性,并且这种方式得到的认证数据也是很容易被其他人伪造的。
本申请实施例还提供了另一种基于区块链的服务应用授权装置,需要说明的是,本申请实施例的基于区块链的服务应用授权装置可以用于执行本申请实施例所提供的用于基于区块链的服务应用授权方法。以下对本申请实施例提供的基于区块链的服务应用授权装置进行介绍。
图11是根据本申请实施例的基于区块链的服务应用授权装置的示意图二。如图11所示,该装置包括:第二发送模块1102,用于发送服务授权请求,其中,所述服务授权请求用于请求服务应用对客户端进行授权,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护;
第三接收模块1104,与上述第二发送模块1102连接,用于接收响应所述服务授权请求返回的服务授权信息,其中,所述服务授权信息为所述多个服务节点对所述客户端进行认证得到的,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;
存储模块1106,与上述第三接收模块1104连接,用于存储所述服务授权信息。
本申请实施例提供的订单支付装置,第二发送模块1102,用于发送服务授权请求,其中,所述服务授权请求用于请求服务应用对客户端进行授权,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护;第三接收模块1104,与上述第二发送模块1102连接,用于接收响应所述服务授权请求返回的服务授权信息,其中,所述服务授权信息为所述多个服务节点对所述客户端进行认证得到的,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;存储模块1106,与上述第三接收模块1104连接,用于存储所述服务授权信息。解决了相关技术中服务授权认证的认证方式安全性较低的技术问题,进而达到了提高服务授权认证的认证方式安全性的效果。
需要说明的是,现有技术中在对客户端进行认证时,只会在多个服务节点中选择出一个服务节点,或者是由多个服务节点共同制定的第三方节点,多个服务节点默认信任选择出的服务节点或者第三方节点的认证结果,这种认证方式在互不信任的网络环境中无法对共营商保证认证数据的真实性,并且这种方式得到的认证数据也是很容易被其他人伪造的。
所述基于区块链的服务应用授权装置包括处理器和存储器,上述单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来(本发明的目的)。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述基于区块链的服务应用授权方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于区块链的服务应用授权方法。
图12是用于实施本申请实施例的基于区块链的服务应用授权方法的电子设备示意图,如图12所示,本发明实施例提供了一种电子设备,设备包括处理器12、存储器及存储在存储器上并可在处理器上运行的程序,处理器配置为经由执行可执行指令来执行上述任意一项的基于区块链的服务应用授权方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收服务应用的客户端发起的服务授权请求,其中,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,所述服务授权请求用于请求所述服务应用对所述客户端进行授权;在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,其中,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;将所述服务授权信息发送至所述客户端。
可选的,所述在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,包括:在第一服务节点上对所述客户端进行认证,得到中间授权信息;将所述第一服务节点上得到的中间授权信息发送至第二服务节点,其中,所述第二服务节点是所述多个服务节点中除所述第一服务节点之外的其他服务节点,所述第二服务节点中每个服务节点用于对接收到的前一个服务节点发送的中间授权信息进行认证并将得到的中间授权信息发送至下一个服务节点,在所述第二服务节点中最后一个服务节点上得到所述服务授权信息。
可选的,所述在第一服务节点上对所述客户端进行认证,得到中间授权信息,包括:获取所述第一服务节点的节点私钥;使用所述节点私钥对所述服务授权请求中携带的所述客户端的客户端标识进行签名,得到所述中间授权信息。
可选的,所述将所述第一服务节点上得到的中间授权信息发送至第二服务节点,包括:获取所述服务授权请求中携带的认证顺序,其中,所述认证顺序用于指示所述多个服务节点对所述客户端进行认证的顺序;从所述认证顺序中确定排列在所述第一服务节点下一个的第三服务节点;将所述第一服务节点上得到的中间授权信息以及所述认证顺序发送至所述第三服务节点。
可选的,所述在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,包括:获取所述服务授权请求中携带的所述客户端的客户端标识;获取与所述客户端标识具有绑定关系的服务合约,其中,所述服务合约用于指示所述客户端的签约服务应用;在所述签约服务应用中包括所述服务应用的情况下,在所述多个服务节点上对所述客户端进行认证,得到服务授权信息。
可选的,在所述获取与所述客户端标识具有绑定关系的服务合约之前,所述方法还包括:接收所述客户端上报的服务创建请求,其中,所述服务创建请求用于请求为所述客户端签约所述服务应用;获取与所述服务创建请求匹配的所述服务合约;建立所述客户端标识与所述服务合约之间的绑定关系。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:发送服务授权请求,其中,所述服务授权请求用于请求服务应用对客户端进行授权,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护;接收响应所述服务授权请求返回的服务授权信息,其中,所述服务授权信息为所述多个服务节点对所述客户端进行认证得到的,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;存储所述服务授权信息。
可选的,所述发送服务授权请求,包括:随机生成所述多个服务节点对所述客户端进行认证的认证顺序;将携带所述客户端的客户端标识和所述认证顺序的所述服务授权请求发送至处于所述认证顺序的起始位置的服务节点。
可选的,在所述存储所述服务授权信息之后,所述方法还包括:接收所述客户端发起的调用请求,其中,所述调用请求用于请求在所述客户端上调用所述服务应用;调用所述服务授权信息;对所述服务授权信息进行认证,得到参考客户端信息;在所述参考客户端信息与所述客户端的客户端标识匹配的情况下,响应所述调用请求,在所述客户端上调用所述服务应用。
可选的,所述对所述服务授权信息进行认证,得到参考客户端信息,包括:获取所述多个服务节点中每个服务节点的节点公钥,其中,所述服务授权信息是所述多个服务节点中每个服务节点使用节点私钥对所述客户端进行签名得到的;使用所述节点公钥对所述服务授权信息进行认证,得到参考客户端信息。
可选的,所述使用所述节点公钥对所述服务授权信息进行认证,得到参考客户端信息,包括:获取所述多个服务节点对所述客户端进行认证的认证顺序;使用所述认证顺序中最后一个服务节点的节点公钥对所述服务授权信息进行签名验证,得到中间授权信息;依次使用所述认证顺序中前一个服务节点的节点公钥对前一个服务节点得到的中间授权信息进行签名验证,直至使用所述认证顺序中第一个服务节点的节点公钥对第二个服务节点得到的中间授权信息进行签名验证,得到所述参考客户端信息。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种基于区块链的服务应用授权方法,其特征在于,包括:
接收服务应用的客户端发起的服务授权请求,其中,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,所述服务授权请求用于请求所述服务应用对所述客户端进行授权;
在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,其中,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;
将所述服务授权信息发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,包括:
在第一服务节点上对所述客户端进行认证,得到中间授权信息;
将所述第一服务节点上得到的中间授权信息发送至第二服务节点,其中,所述第二服务节点是所述多个服务节点中除所述第一服务节点之外的其他服务节点,所述第二服务节点中每个服务节点用于对接收到的前一个服务节点发送的中间授权信息进行认证并将得到的中间授权信息发送至下一个服务节点,在所述第二服务节点中最后一个服务节点上得到所述服务授权信息。
3.根据权利要求2所述的方法,其特征在于,所述在第一服务节点上对所述客户端进行认证,得到中间授权信息,包括:
获取所述第一服务节点的节点私钥;
使用所述节点私钥对所述服务授权请求中携带的所述客户端的客户端标识进行签名,得到所述中间授权信息。
4.根据权利要求2所述的方法,其特征在于,所述将所述第一服务节点上得到的中间授权信息发送至第二服务节点,包括:
获取所述服务授权请求中携带的认证顺序,其中,所述认证顺序用于指示所述多个服务节点对所述客户端进行认证的顺序;
从所述认证顺序中确定排列在所述第一服务节点下一个的第三服务节点;
将所述第一服务节点上得到的中间授权信息以及所述认证顺序发送至所述第三服务节点。
5.根据权利要求1所述的方法,其特征在于,所述在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,包括:
获取所述服务授权请求中携带的所述客户端的客户端标识;
获取与所述客户端标识具有绑定关系的服务合约,其中,所述服务合约用于指示所述客户端的签约服务应用;
在所述签约服务应用中包括所述服务应用的情况下,在所述多个服务节点上对所述客户端进行认证,得到服务授权信息。
6.根据权利要求5所述的方法,其特征在于,在所述获取与所述客户端标识具有绑定关系的服务合约之前,所述方法还包括:
接收所述客户端上报的服务创建请求,其中,所述服务创建请求用于请求为所述客户端签约所述服务应用;
获取与所述服务创建请求匹配的所述服务合约;
建立所述客户端标识与所述服务合约之间的绑定关系。
7.一种基于区块链的服务应用授权方法,其特征在于,包括:
发送服务授权请求,其中,所述服务授权请求用于请求服务应用对客户端进行授权,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护;
接收响应所述服务授权请求返回的服务授权信息,其中,所述服务授权信息为所述多个服务节点对所述客户端进行认证得到的,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;
存储所述服务授权信息。
8.根据权利要求7所述的方法,其特征在于,所述发送服务授权请求,包括:
随机生成所述多个服务节点对所述客户端进行认证的认证顺序;
将携带所述客户端的客户端标识和所述认证顺序的所述服务授权请求发送至处于所述认证顺序的起始位置的服务节点。
9.根据权利要求7所述的方法,其特征在于,在所述存储所述服务授权信息之后,所述方法还包括:
接收所述客户端发起的调用请求,其中,所述调用请求用于请求在所述客户端上调用所述服务应用;
调用所述服务授权信息;
对所述服务授权信息进行认证,得到参考客户端信息;
在所述参考客户端信息与所述客户端的客户端标识匹配的情况下,响应所述调用请求,在所述客户端上调用所述服务应用。
10.根据权利要求9所述的方法,其特征在于,所述对所述服务授权信息进行认证,得到参考客户端信息,包括:
获取所述多个服务节点中每个服务节点的节点公钥,其中,所述服务授权信息是所述多个服务节点中每个服务节点使用节点私钥对所述客户端进行签名得到的;
使用所述节点公钥对所述服务授权信息进行认证,得到参考客户端信息。
11.根据权利要求10所述的方法,其特征在于,所述使用所述节点公钥对所述服务授权信息进行认证,得到参考客户端信息,包括:
获取所述多个服务节点对所述客户端进行认证的认证顺序;
使用所述认证顺序中最后一个服务节点的节点公钥对所述服务授权信息进行签名验证,得到中间授权信息;
依次使用所述认证顺序中前一个服务节点的节点公钥对前一个服务节点得到的中间授权信息进行签名验证,直至使用所述认证顺序中第一个服务节点的节点公钥对第二个服务节点得到的中间授权信息进行签名验证,得到所述参考客户端信息。
12.一种基于区块链的服务应用授权装置,其特征在于,包括:
第一接收模块,用于接收服务应用的客户端发起的服务授权请求,其中,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护,所述服务授权请求用于请求所述服务应用对所述客户端进行授权;
第一认证模块,用于在所述多个服务节点上对所述客户端进行认证,得到服务授权信息,其中,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;
第一发送模块,用于将所述服务授权信息发送至所述客户端。
13.一种基于区块链的服务应用授权装置,其特征在于,包括:
第二发送模块,用于发送服务授权请求,其中,所述服务授权请求用于请求服务应用对客户端进行授权,所述服务应用由联盟链所包括的多方分别通过多个服务节点共同维护;
第三接收模块,用于接收响应所述服务授权请求返回的服务授权信息,其中,所述服务授权信息为所述多个服务节点对所述客户端进行认证得到的,所述服务授权信息用于指示所述客户端具有所述服务应用的运行权限;
存储模块,用于存储所述服务授权信息。
14.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至11中任意一项所述的基于区块链的服务应用授权方法。
15.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至11中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210552468.6A CN114978681B (zh) | 2022-05-20 | 2022-05-20 | 基于区块链的服务应用授权方法及装置、处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210552468.6A CN114978681B (zh) | 2022-05-20 | 2022-05-20 | 基于区块链的服务应用授权方法及装置、处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114978681A true CN114978681A (zh) | 2022-08-30 |
CN114978681B CN114978681B (zh) | 2024-01-30 |
Family
ID=82986228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210552468.6A Active CN114978681B (zh) | 2022-05-20 | 2022-05-20 | 基于区块链的服务应用授权方法及装置、处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978681B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011996A (zh) * | 2019-03-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 基于区块链的应用授权方法及装置和电子设备 |
US20200169387A1 (en) * | 2019-07-31 | 2020-05-28 | Alibaba Group Holding Limited | Blockchain-based data authorization method and apparatus |
US20200177604A1 (en) * | 2019-07-31 | 2020-06-04 | Alibaba Group Holding Limited | Providing data authorization based on blockchain |
CN111931230A (zh) * | 2020-07-14 | 2020-11-13 | 北京金山云网络技术有限公司 | 数据授权方法和装置、存储介质和电子装置 |
-
2022
- 2022-05-20 CN CN202210552468.6A patent/CN114978681B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011996A (zh) * | 2019-03-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 基于区块链的应用授权方法及装置和电子设备 |
US20200169387A1 (en) * | 2019-07-31 | 2020-05-28 | Alibaba Group Holding Limited | Blockchain-based data authorization method and apparatus |
US20200177604A1 (en) * | 2019-07-31 | 2020-06-04 | Alibaba Group Holding Limited | Providing data authorization based on blockchain |
CN111931230A (zh) * | 2020-07-14 | 2020-11-13 | 北京金山云网络技术有限公司 | 数据授权方法和装置、存储介质和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114978681B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107483509B (zh) | 一种身份验证方法、服务器及可读存储介质 | |
CN111429254B (zh) | 一种业务数据处理方法、设备以及可读存储介质 | |
CN111090876B (zh) | 调用合约的方法及装置 | |
CN110602138B (zh) | 区块链网络的数据处理方法、装置、电子设备及存储介质 | |
Ourad et al. | Using blockchain for IOT access control and authentication management | |
CN110516417B (zh) | 一种智能合约的权限验证方法及装置 | |
CN113541970B (zh) | 分布式标识符的使用方法和分布式标识符使用系统 | |
CN110149323B (zh) | 一种具有千万级tps合约处理能力的处理装置 | |
CN111881483B (zh) | 基于区块链的资源账户绑定方法、装置、设备和介质 | |
CN111770112B (zh) | 一种信息共享方法、装置及设备 | |
Riad et al. | A blockchain‐based key‐revocation access control for open banking | |
CN110798322A (zh) | 一种操作请求方法、装置、存储介质及处理器 | |
CN101789973A (zh) | 一种构建糅合应用的方法及系统 | |
CN113704734A (zh) | 基于分布式数字身份实现凭证验证的方法及相关装置 | |
Khoury et al. | Implementation of blockchain domain control verification (B-DCV) | |
CN116975901A (zh) | 基于区块链的身份验证方法、装置、设备、介质及产品 | |
CN112150158A (zh) | 一种区块链交易交付验证方法及装置 | |
CN112866235B (zh) | 一种数据处理方法、装置及设备 | |
KR20160109241A (ko) | 리소스의 안전성 검증 장치와 서버 및 검증방법 | |
CN114978681B (zh) | 基于区块链的服务应用授权方法及装置、处理器 | |
CN112491777B (zh) | 跨区块链身份认证方法、计算机设备及可读存储介质 | |
CN117061089B (zh) | 一种投票管理方法、装置、设备及存储介质 | |
CN117834312B (zh) | 网络接入方法、网络接入设备以及计算机可读存储介质 | |
CN114928447B (zh) | 基于分布式身份的数据管理方法和系统 | |
Tamrakar et al. | On rehoming the electronic id to TEEs |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |