CN111049806A - 一种联合权限控制方法、装置、电子设备和存储介质 - Google Patents
一种联合权限控制方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111049806A CN111049806A CN201911150259.3A CN201911150259A CN111049806A CN 111049806 A CN111049806 A CN 111049806A CN 201911150259 A CN201911150259 A CN 201911150259A CN 111049806 A CN111049806 A CN 111049806A
- Authority
- CN
- China
- Prior art keywords
- settlement
- authority
- information
- user
- joint
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及区块链技术领域,提供一种联合权限控制方法、装置、电子设备和存储介质,用以提高联合权限控制的安全性和可信度,其中,方法包括:根据联合权限对应的结算规则对结算联合权限的结算请求进行验证,结算规则为联盟链各个节点共同确定的,联合权限包含联盟链中各个节点设置的不同权限;根据验证结果以及结算请求,为用户设置联合权限;在联盟链中广播结算流水信息,以使联盟链中的其它节点接收到结算流水信息后,根据结算流水信息对本次结算进行验证并根据验证结果为用户设置联合权限。由于本申请通过联盟链存储联合权限的权限信息,并利用区块链技术实现联合权限控制,保证了联合权限控制的安全性以及可信度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及区块链技术领域,提供一种联合权限控制方法、装置、电子设备和存储介质。
背景技术
目前,互联网上如视频、教育、阅读等各类平台为了吸引付费会员,都会购买独一发布的内容版权资源。如网络视频行业,各视频平台各自购买电影、电视剧等独播权限,吸引会员付费收看。但对于用户来说,当前会员权限都是分散在各平台,用户在不同的业务场景有不同的会员特权需求,因而需要分别购买各家的VIP(Very Important Person,会员)权限,单一平台的内容资源很难满足其收看需求。
相关的联合双开或买赠模式的联合权限控制方式,每一合作方的联合接入都需要单独开发,接入接口及设置接口都是私有的,安全性较低。
发明内容
本申请实施例提供一种联合权限控制方法、装置、电子设备和存储介质,用以提高联合权限控制的安全性和可信度。
本申请实施例提供的一种联合权限控制方法,包括:
响应于用户通过联合权限定制界面输入的结算联合权限的结算请求,根据所述联合权限对应的结算规则对所述结算请求进行验证,所述结算规则为加入所述联盟链中的各个节点共同确定的,所述联合权限包含所述联盟链中各个节点为用户设置的不同权限;
根据验证结果以及所述结算请求,为所述用户设置所述联合权限中包含的权限;以及
根据所述结算请求生成结算流水信息,并将所述结算流水信息存储到所述联盟链的区块中;
在所述联盟链中广播所述结算流水信息,以使所述联盟链中的其它节点接收到所述结算流水信息后,根据所述结算流水信息对本次结算进行验证并根据验证结果为所述用户设置所述联合权限中包含的权限。
本申请实施例提供的一种联合权限控制装置,包括:
响应单元,用于响应于用户通过联合权限定制界面输入的结算联合权限的结算请求,根据所述联合权限对应的结算规则对所述结算请求进行验证,所述结算规则为加入所述联盟链中的各个节点共同确定的,所述联合权限包含所述联盟链中各个节点为用户设置的不同权限;
权限控制单元,用于根据验证结果以及所述结算请求,为所述用户设置所述联合权限中包含的权限;
信息生成单元,用于根据所述结算请求生成结算流水信息,并将所述结算流水信息存储到所述联盟链的区块中;
广播单元,用于在所述联盟链中广播所述结算流水信息,以使所述联盟链中的其它节点接收到所述结算流水信息后,根据所述结算流水信息对本次结算进行验证并根据验证结果为所述用户设置所述联合权限中包含的权限。
可选的,所述广播单元具体用于:
接收所述联盟链中广播的结算流水信息,并对所述结算流水信息进行验证;
将验证结果在所述联盟链中进行广播,并接收所述联盟链中的其它节点广播的验证结果;
根据接收到的验证结果以及自身的验证结果确认共识结果;
根据所述共识结果以及所述结算请求,为所述用户设置所述联合权限中包含的权限;以及,将所述结算流水信息存储到所述联盟链的区块中。
可选的,所述广播单元具体用于:
根据所述公钥对所述签名信息进行解密处理得到第二散列值;
当通过散列方法验证所述第二散列值与所述第一散列值一致时,确定验证成功。
可选的,所述广播单元具体用于:
所述根据接收到的验证结果以及自身的验证结果确认共识结果,包括:
若根据所述接收到的验证结果以及自身的验证结果确定允许本次结算的节点的数量达到预设阈值时,确定共识成功。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述联合权限控制方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行上述联合权限控制方法的步骤。
本申请有益效果如下:
本申请实施例提供的联合权限控制方法、装置、电子设备和存储介质,基于区块链技术,将不同平台的会员权限打包成一个联合权限,并创建联盟链,任何一家平台在联盟链上都有相对应的节点,用户在任何一家平台订购联合权限时,产生结算,则联盟链节点响应结算请求,并根据结算规则对结算请求进行验证,结算规则是联盟链中的各节点共同确定的;以及根据结算请求生成结算流水信息并广播,其他联盟内的成员收到结算流水信息后,验证结算流水信息的合法性,验证通过保存结算流水信息,并将结算流水信息传递到下一个区块,最终联盟内所有区块都保存了用户的权限开通数据。由于加入联盟链的每个节点都需要对联合权限的结算进行验证,并根据验证结果为用户社会联合权限中包含的权限,具有公信度,并且将本次结算相关的信息都保存到了联盟链的区块中,基于区块链不可篡改的属性,保证了联合权限控制的安全性和可信度。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种相关技术中VIP联合会员架构图;
图2A为本申请实施例中的一种相关技术中联合双开模式架构图;
图2B为本申请实施例中的一种相关技术中联合双开模式时序图;
图3A为本申请实施例中的一种相关技术中买赠模式架构图;
图3B为本申请实施例中的一种相关技术中买赠模式时序图;
图4为本申请实施例提供的一种应用场景示意图;
图5A为本申请实施例提供的一种联合权限定制界面示意图;
图5B为本申请实施例提供的另一种联合权限定制界面示意图;
图6为本申请实施例提供的第一种联合权限控制方法的流程图;
图7为本申请实施例提供的一种数字签名的方法的示意图;
图8为本申请实施例提供的一种公私钥及节点地址的生成过程示意图;
图9为本申请实施例提供的一种联合会员交易创建时序图;
图10为本申请实施例提供的第二种联合权限控制方法的流程图;
图11为本申请实施例提供的一种交易验证过程的示意图;
图12为本申请实施例提供的一种交易共识验证示意图;
图13为本申请实施例提供的一种基于区块链的联合会员架构图;
图14为本申请实施例提供的一种验证交易并发货会员示意图;
图15A为本申请实施例提供的一种向用户进行提示的示意图;
图15B为本申请实施例提供的另一种向用户进行提示的示意图;
图16为本申请实施例提供的一种联合会员包鉴权示意图;
图17为本申请实施例提供的一种联合权限控制装置的组成结构示意图;
图18为应用本申请实施例的一种计算装置的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
1、散列方法,也称散列算法,产生一些数据片段(例如消息或会话项)的散列值的算法。好的散列算法具有根据输入数据中的变动来更改散列值结果的特性;因此,散列对于检测在诸如消息等大型信息对象中的任何变化很有用。散列处理,指把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是第一散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。在本申请实施例中,散列又称哈希(Hash)。
2、联盟链,用于机构间的联盟链,只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。
3、共识机制:联盟链事务达成分布式共识的算法。联盟链是一种去中心化的分布式账本***,它可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和结算。联盟链***与传统的中心化账本***相比,具有完全公开、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此联盟链***需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为共识机制。PoW(Proof of Work),即工作量证明,是共识机制的一种算法。
4、联合权限,在本申请实施例中指不同平台将自己的权限打包成一个整体,即联合权限,形成联盟链,各个平台也就是联盟链的成员,对应不同的区块链节点。
5、联合权限定制界面:是一个面向用户的用于定制以及结算联合权限的平台网页,通过该页面,用户可以为查询联合权限的基本信息,还可以在查询权限信息后,确认是否结算,以及进行联合权限的结算等。以联合权限定制界面为媒介,完成联盟链与用户之间的信息交互,达到查询联合权限信息、控制联合权限的目的。
6、算力,也称哈希率,是比特币网络处理能力的度量单位。即为计算机(CPU)计算哈希函数输出的速度。比特币网络必须为了安全目的而进行密集的数学和加密相关操作。例如,当网络达到10Th/s的哈希率时,意味着它可以每秒进行10万亿次计算。在通过挖矿得到比特币的过程中,我们需要找到其相应的解m,而对于任何一个六十四位的哈希值,要找到其解m,都没有固定算法,只能靠计算机随机的hash碰撞,而一个挖矿机每秒钟能做多少次hash碰撞,就是其算力的代表,单位写成hash/s,这就是所谓工作量证明机制POW。
下面对本申请实施例的设计思想进行简要介绍。
如图1所示,为相关技术中一种联合权限架构图,相关的技术方案是采用联合双开或买赠模式的方式将权限打包,开通的时候分别设置各个权限,用户的权限数据还是由各平台分别存储。
其中,平台1~平台10对应联合权限的各合作方平台,每一合作方的联合接入都需要单独开发,接入接口及设置接口都是私有的。
此外,相关的联合双开或者买赠模式一般适用于两两联合,或者三家联合,例如第一视频平台与第二视频平台合作,推出的联合权限为第一视频+第二视频会员。参阅图2A及图2B所示,为相关技术中的联合双开模式时序图;参阅图3A及图3B所示,为相关技术中的买赠模式时序图。由图可知,无论是联合双开模式还是买赠模式,都比较适用于两两联合的模式,图中所示两两联合的方式下,合作方接入成本也很高,当多于三家联合时,接入成本指数增加。
鉴于此,本申请实施例提供一种联合权限控制方法、装置、电子设备及存储介质,通过基于联盟链的联合权限***,将不同平台的权限打包成一个联合权限,创建联盟链。用户在任何一家加入联盟链的平台订购这个联合权限,都会产生一笔结算,将结算数据上联盟链,其他联盟内的成员收到结算数据后,验证结算数据的合法性,验证通过保存结算数据,并将结算数据传递到下一个区块,最终联盟内所有区块都保存了用户的权限开通数据。基于区块链不可篡改的属性,提高了联合权限控制的安全性以及可信度。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在介绍完本申请实施例的设计思想之后,下面对该方法涉及的应用场景进行简要说明。
如图4所示,其为本申请实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个联盟链130,可通过终端设备110登录联合权限定制界面120。联合权限定制界面120与联盟链130之间可以通过通信网络进行通信。
其中,联盟链130中的节点140对应于售卖联合权限的各厂商平台。对于每个节点140,均具有与其对应的节点标识,而且联盟链130中的每个节点140均可以存储有联盟链130中其它节点140的节点标识,以便后续根据其它节点140的节点标识,将生成的区块广播至联盟链130中的其它节点140。每个节点140中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
需要说明的是,图4中是以两个终端设备110为例,实际上不限制终端设备110的数量。终端设备110可以是手机、平板电脑和个人计算机等。
在一种可能的实施例中,加入联盟链的各个节点140将各自为用户设置不同的权限,这些不同的权限打包形成联合权限,并在联盟链中记录有权限信息。其中,所述包含所述联合权限中各个节点为用户设置的不同权限的信息,具体包括权限的类型信息,或者联合权限的价格、权限时长、购买资格等信息。以权限的类型信息为例,例如联合权限中共包含2个视频平台的权限,2个音乐平台的权限,每个平台分别对应联盟链中的至少一个节点,视频平台1的权限类型为观看VIP视频的黄金会员,视频平台2的权限类型为跳过所有视频广告的白银会员,音乐平台1的权限类型为豪华VIP特权,音乐平台2的权限类型为音乐包特权。
此外,联合权限价格由所有平台统一合约定价,联合权限在各平台都是同一商品,统一定价,在各联盟成员平台内均可售卖。用户A想在联盟链130查询某一联合权限的基本信息时,则通过联合权限定制界面120输入查询联合权限的查询请求,查询请求中至少包括请求查询的联合权限的标识信息,联盟链中的节点140响应于该查询请求,根据标识信息从联盟链中查询该联合权限对应的权限信息,并将查询到的权限信息发送给用户A,以使权限信息被显示到联合权限定制界面120上。
如图5A所示,为本申请实施例提供的一种联合权限定制界面的示意图,联合权限则指图5A中的联合会员包,其中联合会员包共包含15个会员权限,分别为平台1~平台15的VIP,并且根据权限时长可分为图中所示的3种联合权限,不同权限时长对应不同的定价。
在用户点击图5A所示的其中一种联合会员包后,则可跳转至如图5B中左侧所示的界面,该界面详细介绍了用户选择的联合会员包的价格信息,若用户点击开通,则可跳转至图5B右侧所示的支付界面,用户可通过输入支付密码进行结算。此外,用户还可通过人脸识别、指纹验证等方式进行支付,图5B仅是一种可选的实施方式。
当用户在图5B所示的联合权限定制界面确认支付后,联盟链中的节点140响应于用户A通过联合权限定制界面120输入的联合权限结算请求,该节点140为被请求节点,该结算请求中至少包括本次请求结算的联合权限的标识信息。节点140根据该联合权限对应的结算规则对本次结算请求进行验证,其中结算规则是各节点140共同确定的;并根据验证结果以及结算请求,为用户A设置该联合权限中包含的权限。此外,节点140根据结算请求生成结算流水信息在联盟链中进行广播,以使联盟链中的其它节点在接收到结算流水信息后进行验证,并根据验证结果为用户设置联合权限中包含的权限。这样,用户A基于联盟链130可购买联合权限,保证联合权限的安全性。
通过联盟链的分布式存储机制,用户在任何一家购买联合,其结算流水信息都可以扩散存储到其余所有平台的DB(database,数据库)里,每一平台都保存有用户全量的交易和数据,每个平台只提供独家的权限服务,用户在任何一家登录,都可以鉴权通过享受其相应的服务。例如用户在第一购物平台购买了联合打包的会员权限,第一视频平台,第二视频平台及其他所有联盟内的成员都能收到验证这笔交易的结算流水信息,当第一视频平台对应的联盟链节点收到结算流水信息并认证通过,给用户设置第一视频平台的会员权限,当第二视频平台对应的联盟链节点认证通过结算流水信息后,给用户设置第二视频平台的会员权限,即一处购买,可以续费联盟内所有的权限。联盟链中的所有节点都通过统一接口接入,具体参见图13。
基于图4论述的应用场景,下面从联盟链130侧对本申请实施例提供的一种基于区块链技术的联合权限控制方法进行介绍。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络结算的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的结算情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
在本申请实施例中,若想实现基于区块链技术的联合权限控制,首先需要在联盟链中存储联合权限的权限信息,以及相对应的结算规则,其中结算规则可通过部署智能合约来实现。
首先,联盟链的创建需要各联盟成员将各自的权限打包成一个整体的权限包,形成联合权限,例如一个包含15家厂商会员权限的联合会员包,假设联合会员包对应的联盟成员分别为:第一视频平台,第一购物平台,第一阅读平台,第一音乐平台,第一交友平台,第一体育平台,第一美妆平台,第二视频平台,第二购物平台,第二阅读平台,第二音乐平台,第二交友平台,第二体育平台,第三购物平台,第三视频平台,该联合会员包目前暂定价格为300元每月,交易结算为各联盟内成员平均分成。
假设联合会员价格:P=分成价格p*联盟成员数n(n=15);
各成员汇总分成:P=p1+p2+p3+......+pn。
表2联合会员售卖结算价格表
联盟成员 | 平均分成价格 | 固定分成价格 |
第一视频平台 | 20/月 | p1 |
第一购物平台 | 20/月 | p2 |
第一阅读平台 | 20/月 | p3 |
第一音乐平台 | 20/月 | p4 |
第一交友平台 | 20/月 | p5 |
第一体育平台 | 20/月 | p6 |
第一美妆平台 | 20/月 | p7 |
第二视频平台 | 20/月 | p8 |
第二购物平台 | 20/月 | p9 |
第二阅读平台 | 20/月 | p10 |
第二音乐平台 | 20/月 | p11 |
第二交友平台 | 20/月 | p12 |
第二体育平台 | 20/月 | p13 |
第三购物平台 | 20/月 | p14 |
第三视频平台 | 20/月 | P15 |
下面主要以上述包含15个节点的联盟链为例进行详细介绍,联盟成员共15个,每个成员机构都有一个节点,当有新的成员机构加入时,例如第三阅读平台对应的第16个节点需要加入联盟链,则至少需要获得2/3的成员机构确认,也就是至少上述15个平台对应的节点中的10个节点确认。在本申请实施中联盟链的根散列及其应用程序接口(API,Application Programming Interface)对外开放,允许外界API进行有限次数的查询和获取联盟链的状态信息。
下面对联合权限控制的方法进行详细介绍:
参阅图6所示,为本申请实施例提供的第一种联合权限控制方法的实施流程图,应用于联盟链中的节点,该方法的具体实施流程如下:
S61:响应于用户通过联合权限定制界面输入的结算联合权限的结算请求,根据联合权限对应的结算规则对结算请求进行验证,结算规则为加入联盟链中的各个节点共同确定的,联合权限包含联盟链中各个节点为用户设置的不同权限;
其中,结算请求中至少包括联合权限的标识信息,此外还可包括结算订单信息、用户账号、支付金额、支付时间、支付密码等,如表3所示。
表3用户购买流水详细信息
字段 | 描述 | 大小 |
结算订单信息 | 用户购买联合会员的订单号 | 32byte |
用户账号 | 购买的账号,一般是各个平台通用的手机号 | 32byte |
支付金额 | 用户购买联合会员支付的金额 | 16byte |
支付时间 | 用户支付的时间 | 16byte |
支付密码 | 用户支付的密码 | 16byte |
… | … | … |
其中,结算规则是由联盟链中的各节点共同确定的,用于对用户的结算请求进行验证,验证用户是否具有购买资格,例如是否注册各平台账号,是否实名认证,或是其他规则等等。以及,验证用户信息,验证用户支付的金额是否足够本次结算、支付密码是否正确,验证用户输入的上述信息是否准确等。
一种可选的验证方式为,被请求节点可以调用支付接口,对结算请求中的支付密码进行验证,若支付接口返回支付密码验证通过的通知消息,被请求节点提取结算请求中的支付金额(称为目标资源数据,也是会员商品的价格),调用支付接口以获取用户的剩余资源数据,即用户账户中的余额,支付接口向被请求节点返回用户绑定的用户账户中的剩余资源数据,若剩余资源数据大于目标资源数据,被请求节点可以再调用支付接口,以将目标资源数据从用户的用户账户转移至联盟链中各节点相对应的平台账户。
其中,目标资源数据转移时根据联盟链中各成员共同确定的结算方式进行结算,例如上述实施例中所列举的各联盟内成员平均分成的方式。
S62:根据验证结果以及结算请求,为用户设置联合权限中包含的权限;
在本申请实施例中,若验证成功,则根据结算请求,可确定用户结算的联合权限;若验证失败,则丢弃本次结算请求即可,无需再为用户设置联合权限中包含的权限。
以验证成功为例,假设,结算请求中的联合权限标识信息为ID1,则根据该标识信息确定用户请求结算的联合权限为图5A所示的联合会员包:联合会员包开通31天,假设用户支付的时间为2019年9月9日,用户开通的会员的权限时长为31天,被请求节点为第一视频平台对应的节点,则为用户设置联合权限中的第一视频会员权限。
若用户请求时还享有第一视频平台的会员权限,且期限至2019年10月1日,则第一视频平台对应的节点在为用户设置第一视频会员权限后,该用户的第一视频会员权限时长范围为2019年9月9日至2019年11月1日。
若用户请求时并未享有第一视频平台的会员权限,则第一视频平台对应的节点在为用户设置第一视频会员权限后,该用户的第一视频会员权限时长范围为2019年9月9日至2019年10月10日。
S63:根据结算请求生成结算流水信息,并将结算流水信息存储到联盟链的区块中;
S64:在联盟链中广播结算流水信息,以使联盟链中的其它节点接收到结算流水信息后,根据结算流水信息对本次结算进行验证并根据验证结果为用户设置联合权限中包含的权限。
在本申请实施例中,根据结算请求生成结算流水信息的详细过程为:
通过散列方法对结算请求做散列处理得到第一散列值;根据节点私钥对第一散列值进行加密处理得到签名信息;根据签名信息、节点私钥的公钥以及结算请求,生成结算流水信息,其中,公钥是根据节点私钥生成的。
可选的,结算流水信息中至少包括签名信息、公钥以及结算请求。
在本申请实施例中,根据结算请求生成结算流水信息的具体过程如图7所示:
其中,节点地址为响应结算请求的节点的地址,也就是被请求节点的地址,交易结算的原始数据包括联合会员结算订单信息和节点地址,但仅有这些是不够的,被请求节点需要用私钥对原始数据进行数字签名,并生成传递的节点的公钥,将转出签名和转出公钥添加到原始结算数据中,生成正式的结算数据,也就是结算流水信息,如图7所示。在生成结算流水信息后,就可以将结算流水信息广播到联盟链中供其它节点验证并加入其区块中。
具体的,数字签名过程为:先将需要签名的信息做散列处理得到第一散列值,然后用私钥对这段第一散列值进行加密运算,得到签名信息。被请求节点将结算请求和签名信息、公钥组合形成新的结算数据:结算流水信息,广播到联盟链中,联盟中的其他成员节点使用被请求节点的公钥对签名进行解密,还原出散列值,再通过散列算法验证信息的散列值和解密签名还原出来的散列值是否一致,从而鉴定信息是否是来自被请求节点或者验证信息是否被篡改等,以保证联合权限控制的可靠性。
在本申请实施例中,每个节点都有一个地址,是节点生成的秘钥对的公钥,当节点上有结算产生的时候,节点使用私钥对结算请求进行签名,公钥则为当前节点的地址,所有其它节点都知道。签名则是对所有权的验证,节点收到结算流水信息的广播后,会对结算流水信息进行验证,通过后则收录进内存、打包进区块,否则,丢弃。
在一种可选的实施方式中,节点私钥以及节点私钥的公钥可通过图8所示的方式生成,具体过程如下:
首先使用随机数发生器Random生成一个节点私钥。一般来说,节点私钥为一个256bit(比特)的数,拥有这串数字就可以对相应节点中的结算流水进行操作,所以必须被安全的保存。在生成节点私钥后,根据生成的节点私钥,经过SECP256K1算法处理得到有前缀的512bit公钥。其中,SECP256K1是一种椭圆曲线算法,通过一个已知的私钥得以计算出公钥,而公钥已知时却无法反向计算出私钥。这是保障基于区块链技术的联合权限结算安全的基础。
在生成节点私钥的公钥后,还可进一步根据公钥生成节点地址,同样参阅图8所示,具体过程如下:
根据生成的公钥,经过SHA256算法,得到256bit的散列加密字符串。再通过RIPEMD160变为160bit的公钥散列字符串。将一个字节的地址版本号链接到公钥散列头部,例如图8所示,将地址版本号0X00连接到公钥散列的头部,得到0X00+公钥散列,然后对其进行DOUBLE(两次)SHA256运算,将得到的结果的前4byte(字节)作为公钥散列的校验值,链接在其尾部,得到0X00+公钥散列+校验。之后使用BASE58算法对0X00+公钥散列+校验进行编码,得到本节点的结算订单信息地址字符串,也就是被请求节点的节点地址。
在本申请实施例中,同SHA256算法一样,RIPEMD160算法也是一种Hash算法,无法求逆运算,保证联合权限结算的安全性和可靠性。
可选的,表4为本申请实施例提供的一种用户的支付结算结构,也称作联盟链交易信息:
表4联盟链交易信息表
在本申请实施例中,在联盟链的区块中存储联合权限的交易信息、结算流水信息等结算过程中产生的数据时,可采用上述结构进行存储。
参阅图9所示,为本申请实施例提供的一种被请求节点侧的结算时序图,用户通过购买H5(HTML5.0),也就是联合权限定制界面购买联合会员,支付Svr(Server,服务器)执行支付购买流水,并将支付结果反馈给购买H5,以向用户提示支付成功或支付失败,在支付成功后,节点交易生成Svr根据购买流水构造交易信息,也就是支付订单信息,并进行数字签名,生成签名信息以及本节点地址,并根据签名信息、本节点地址、公钥、交易信息等生成结算流水信息,并存储到联盟链中,以及广播到联盟链上的其它节点,以使其它节点根据广播的结算流水信息对本次结算进行验证,并根据验证结果为用户设置联合权限中包含的权限。
下面对联盟链中的其它节点接收到被请求节点广播的结算流水信息,并进行验证和权限设置的过程进行详细介绍:
参阅图10所示,为本申请实施例提供的第二种联合权限控制方法的实施流程图,应用于联盟链中的节点,该方法的具体实施流程如下:
S101:接收联盟链中广播的结算流水信息,并对结算流水信息进行验证;
其中,结算流水信息为被请求节点根据用户通过联合权限定制界面输入的结算联合权限的结算请求生成的;具体参见S61~S64中的实施例,结算流水信息中至少包括:签名信息、结算请求以及节点私钥的公钥。
其中,对结算流水信息进行验证的详细过程为:
根据公钥对签名信息进行解密处理得到第二散列值,其中,签名信息是被请求节点根据节点私钥对第一散列值进行加密处理得到的,第一散列值是节点通过散列方法对结算请求做散列处理得到的,公钥是节点根据节点私钥生成的;通过散列方法验证第二散列值与第一散列值是否一致;若一致,则确定验证成功;否则,则确定验证失败。
参阅图11所示为本申请实施例提供的一种对结算流水信息进行验证的过程,图11所示的结算流水信息还包括被请求节点的节点地址,与图7所示的被请求节点对结算请求进行数字签名的过程相对应,除被请求节点外的各节点使用公钥对被请求节点的数字签名进行验证时,首先根据结算流水信息中的公钥对交易流水信息中的签名信息进行解密得到第二散列值,将第二散列值与第一散列值进行比较,验证通过与否。
在本申请实施例中,验证的目的是为了保证发送结算流水信息的节点是真正的被请求节点,且被请求节点发送的结算流水信息在广播过程中并未被篡改验证是否被篡改。
S102:将验证结果在联盟链中进行广播,并接收联盟链中的其它节点广播的验证结果;
S103:根据接收到的验证结果以及自身的验证结果确认共识结果;
在本申请实施例中,任意一个节点对交易流水信息验证成功或失败后,将验证结果在联盟链中进行广播,并接收其余的其它节点的验证结果。
如图12所示,为本申请实施例提供的一种结算流水信息验证的流程图,联盟链中共包含15个节点;其中,节点1为被请求节点,响应于用户通过联合权限定制界面输入的结算联合权限的结算请求,并生成结算流水信息,如图所示的流水1,在联盟链中广播结算流水信息;节点2~节点15在接收到广播后,对结算流水信息进行验证,也就是图11所示的工作量证明。节点2~节点15在进行工作量证明后,将证明结果广播,并接收其他节点广播的证明结果。最终节点在对流水信息验证通过后,在联盟链中创建新的区块,存储结算流水信息。
在一种可选的实施方式中,根据接收到的验证结果以及自身的验证结果确认共识结果时,有两种可选的实施方式,下面以节点2为例对这两种实施方式进行详细说明:
确认方式一、节点2~节点15中一定数量的节点验证成功,则可确定共识成功。
例如节点2~节点15中全部节点都验证成功,则确定共识成功,这种方式下,节点2需要接收节点3~节点15中所有节点的验证结果,且都验证成功,则确认共识;或者,节点2~节点15中2/3的节点验证成功,则确定共识成功,这种方式下,节点2若接收到节点1~节点15中2/3的节点验证成功的结果,且节点2验证成功,则可确定共识成功。
在本申请实施例中,该方式适用于联盟链中的节点较少的情况。在联盟链中的节点较少时,根据一定数量节点的验证结果达成共识,可以提高本次结算的可靠性,提高结算流水信息的公信力,便于后期查询进行鉴权验证或是追溯结算过程等。
确认方式二、节点2充分信任最强算力节点的验证结果,在自身与最强算力节点都验证通过后,则确认共识成功。
如图11所示,其中节点3为最强算力节点,只有节点3才将验证结果发送至其余的节点,也就是节点3在验证成功后,将验证结果广播给节点2~节点15(节点3除外),针对节点2~节点15中除节点3外的其它节点,若自身验证结果也是验证成功,且接收到节点3广播的验证结果为验证成功,则可确认共识成功。
针对节点3,节点3在确认验证成功后,则可创建新的区块存储结算流水信息,并为用户设置联合权限中节点3对应的权限。假设节点3对应第一阅读平台,则为用户设置第一阅读平台权限,具体权限设置方式与上述实施例中的设置方式相同,此处不再赘述。
在上述确认方式二中,可以采用工作量证明从节点2~节点15中竞争出最强算力节点。工作量证明简单来说,就是所有的节点求解一个相同的问题,谁先计算出来,那么说明该节点是具有最强算力的节点,也就是最强算力节点。只有最强算力节点才可以将它所验证的结果广播至其余的节点,而其余节点都以最强算力节点发送的验证结果为准。这是因为,只有投入大量的硬件资源才可能成为最强算力节点,那么具有最强算力节点就希望整个联盟链越稳定越好,因此认为具有最强算力的节点给出的验证结果就是可以高度信任的。
下面对如何竞争出最强算力节点进行具体的说明:
节点1广播的结算流水信息携带难度值,节点2~节点N中任意一个节点通过哈希散列算法计算结算流水信息中的哈希散列值。将上述哈希散列值、难度值、当前时间戳、当前联盟链中最后一个业务区块的区块哈希散列值以及随机数组合为辅助字符串,计算辅助字符串的哈希散列值,得到辅助哈希值。比较辅助哈希值是否小于目标值,若是,说明解题成功,工作量证明完成。若否,就继续调整随机数,生成新的辅助字符串,不断地调整随机数。
其中,目标值=最大目标值/难度值。最大目标值是固定的数值。
只要节点2~节点N中某个节点解题成功,例如节点3解题成功,就对结算流水信息进行签名验证(签名验证过程可以参加上述说明),将对结算流水信息的验证结果、区块头中的随机数、区块头中的时间戳以及解题成功的节点的节点地址打包发送至节点2~节点N(节点3除外)中其余的节点,其余的节点对随机数进行检验,检验过程就和解题过程类似,但是检验速度比解题过程快很多。
其余的节点若检验通过,说明发送验证结果、区块头中的随机数以及区块头中的时间戳的节点,也就是节点3是最强算力节点,其余的节点可以停止解题。
在本申请实施例中,确认方式二适用于联盟链中的节点较多的情况。当联盟链中的节点很多,例如有100个节点时,达成共识的过程则需要等待大多数节点验证完成,这种情况下比较浪费时间,此时采用确认方式二只需充分信任最强算力节点的验证结果,因而在自身验证通过后,则可结合最强算力节点的验证结果确认是否达成共识,更加节省时间。
在一种可选的实施方式中,验证结果以及共识结果等信息也都存储到联盟链相应的区块中,也就是各节点创建的新的区块中。
下面以节点2为例,说明如何生成新的区块:
若对结算流水信息的验证是采取的确认方式一,节点2可以将结算流水信息以及其它节点发送的验证结果作为区块体数据,基于哈希散列算法计算区块体数据的哈希散列值。其它节点发送的验证结果都携带时间戳以及节点地址,节点2再计算每个其它节点发送的验证结果携带的时间戳的平均值,将区块体数据的哈希散列值,当前联盟链的最后一个新的区块的区块哈希散列值以及时间戳的平均值组合为区块头,将区块体数据以及区块头组合为存储结算流水信息的新的区块。
区块体数据的哈希散列值=哈希算法(区块体数据);
新的区块的区块哈希散列值=哈希算法(区块头数据)。
若对结算流水信息的验证是采取的确认方式二,节点2可以将结算流水信息、节点2的验证结果以及节点3发送的验证结果作为区块体数据,基于哈希散列算法计算区块体数据的哈希散列值。节点3发送的验证结果都携带时间戳以及节点地址,节点2将区块体数据的哈希散列值,当前联盟链的最后一个新的区块的区块哈希散列值以及节点3发送的验证结果所携带的时间戳组合为区块头,将区块体数据以及区块头组合为存储结算流水信息的新的区块。
S104:根据共识结果以及结算请求,为用户设置联合权限中包含的权限;
S105:将结算流水信息存储到联盟链的区块中。
在本申请实施例中,根据共识结果以及结算请求为用户设置联合权限中包含的权限的过程与S62中的实施例类似,以节点2为例,假设节点2对应的第一购物平台,则节点2为用户设置第一购物平台的会员权限,假设用户请求时并未享有第一购物平台的会员权限,则第一购物平台对应的节点2在为用户设置第二视频会员权限后,该用户的第一购物平台的会员权限时长范围2019年9月9日至2019年10月10日。
在一种可选的实施方式中,联盟链中的各节点在对本次联合权限的结算进行验证后,则可向相应的平台进行结算,具体结算方式可采用表2中所列举的固定分成结算的方式,则各节点根据结算请求向各平台进行结算。
如图13所示为,为本申请实施例提供的一种基于区块链***的联合会员架构图,***整体分三部分:联合权限开通,联盟链成员权限设置,联盟链成员权限鉴权。用户通过统一的联合权限定制界面支付后,会员购买流水在联盟链上被验证,并同步到联盟内的所有成员。当某一个成员验证成功一条交易流水时,需要通知对应的发货Svr为用户设置相应的权限。如某一条联合会员的购买流水被第一视频平台VIP节点验证通过后,通知发货Svr给对应的用户发货第一视频平台VIP。
在一种可选的实施方式中,联盟链中的节点为用户设置联合权限中包含的权限时,可通过通知对应的服务做会员发货处理来实现,验证结算发货的流程如图14所示,其中的购买流水即结算流水信息,丢节点的购买流水进行流水中转的过程,实际是丢一个结算流水序列,服务Svr接收到序列,则对用户账号进行合法性校验,验证用户账号是否进行了绑定,如果是,则确定校验成功,直接发货会员到用户绑定的账号,否则,则确定校验失败,此时可暂存领取会员的资格到手机号。
在本申请实施例中,校验成功后则可直接发货会员到用户绑定的账号,也就是用户的账户,其中,发货会员操作包括权限设置以及用户提示等,其中权限设置即上述实施例中涉及的为用户设置联合权限中包含的权限的过程。
在一种可选的实施方式中,向用户提示时可以在联合权限定制界面弹出通知栏向用户进行提示;或者,通过用户绑定的账号向用户进行提示。
其中,通过用户绑定的账号向用户进行提示时,若用户绑定的账号为手机号时,则可通过向用户绑定的手机号发送短信的形式向用户进行提示;若用户绑定的账号为微信、QQ、微博或其它第三方账户等,则可通过微信、QQ、微博等的对话框向用户进行提示,等等。
其中,提示消息可以是在为用户设置联合权限中包含的权限后,提示用户权限设置成功的消息;该方式下,还可将详细的权限时长范围提示给用户。参阅图15A所示,为本申请实施例提供的一种通过微信对话框向用户进行提示的方式,图中显示了用户购买的联合权限,购买的账号以及权限时长范围等信息。
此外,图15A所示的提示界面中还可包括加入联合权限的一些厂商平台的网站链接等,以便用户通过点击链接直接跳转至相应的平台以享受会员权限。
或者,在校验成功后还可向用户发送购买成功的提示消息,直接通过联合权限定制界面向用户展示,提示用户成功购买会员权限等。
如图15B所示,为本申请实施例提供的一种在联合权限定制界面直接向用户进行提示的方式,节点1将权限设置完毕后,可以向相对应的终端设备发送会员权限设置成功的通知消息,终端设备接收该通知消息后,在屏幕中显示图15B左侧所示的提示界面,并在界面中显示“跳转到VIP会员权限界面”的按钮。若用户A点击按钮“跳转到VIP会员权限界面”,终端设备则跳转到第一视频平台对应的VIP视频首页。此时用户A在第一视频平台中已经具有会员VIP权限,若此处的会员VIP权限是可以观看该视频网站中所有的视频数据,那么用户A点击任意视频数据,用户A都可以观看。如图15B中右侧所示,用户A可通过点击的方式选择视频资源进行观看。
可选的,在节点4也为用户A将权限设置完毕后,可向节点1发送会员权限设置成功的通知消息,节点1将会员权限设置成功的通知消息转发给节点1对应的终端设备。该方式下,在提示界面中还可以显示“跳转到第一音乐平台”的按钮,若用户A点击按钮“跳转到第一音乐平台”,终端设备跳转到第一音乐平台对应的歌曲网站首页,此时用户A在第一音乐平台对应的歌曲网站中已经具有会员VIP权限,若此处的会员VIP权限是可以收听该歌曲网站中所有的音频数据,那么用户A点击任意音频数据,用户A都可以收听。
可选的,在校验失败的情况下,也可向用户发送提示消息,提示用户会员权限已暂存到手机号,用户后期可通过绑定手机号使用对应的会员权限。
需要说明的是,上述对用户的账号进行校验的过程适用于联盟链中的所有节点,当节点对用户本次的结算验证成功后,则可对用户的账号信息进行校验,并根据校验结果为用户设置联合权限中包含的权限。
在一种可选的实施方式中,联盟链中的所有节点还可对用户进行鉴权。在用户实施与权限对应的业务时,通过相应平台对应的联合权限业务界面向联盟链中的节点发送业务请求。例如用户A在第一视频平台的联合权限业务界面请求观看会员VIP视频时,该平台对应的节点响应于用户通过联合权限业务界面输入的业务请求,该业务请求中至少包括用户的账号信息。该平台对应的节点在联盟链中查询与业务请求中的账号信息对应的结算流水信息,并根据结算流水信息确定联合权限中该平台对应的节点为用户设置的联合会员包含的权限的权限时长范围,根据权限时长范围对用户的业务请求进行相应的处理。依托于区块链的不可篡改性,联盟链中存储的联合权限的相关信息不可随意被篡改,可以保证查询结果的可靠性。
假设,权限时长范围为2019年9月1日~2019年11月1日,当前用户输入业务请求的时间为2019年10月1日,因而可以确定用户当前请求的时刻处于该权限时长范围内,所以用户业务请求成功,进而可对用户的业务请求执行响应的操作;若当前用户输入业务请求的时间为2019年11月2日,则可确定用户当前请求的时刻不处于该权限时长范围内,因而可确定用户业务请求失败,此时可提示用户当前不享有会员权限。
该方式下,通过查询联盟链中存储的联合权限的相关信息,在用户请求实施与联合权限对应的业务,对用户是否享有权限进行鉴权,由于联盟链中保存的联合权限的相关信息可靠性高,保证了联合权限的安全使用。
参阅图16所示,为本申请实施例提供的一种联合会员包鉴权示意图,其中的联盟成员业务Svr、成员鉴权Svr为联盟链中的节点对应的Svr,DB指联盟链中的区块,区块中存储有联合权限的权限信息以及结算过程中产生的所有结算流水信息等。通过在联盟链中查询与用户账号对应的会员信息,其中会员信息包括权限时长范围,判断用户当前是否享有会员权限,进而将会员信息反馈给联盟成员业务Svr,联盟成员业务Svr根据成员鉴权Svr反馈的会员信息处理用户的业务请求。
可选的,在鉴权过程中,不仅可以查询权限时长范围,还可知道用户的历史交易记录,也可以查询到联盟链节点对某一笔交易记录的验证结果,这样可以方便用户追溯交易过程以及验证过程。
追溯交易过程可以应用在如下场景:用户购买了某一联合会员包,且成功付款,但该联合会员包涉及的某一联盟链节点并未发货,即该联盟链节点并未设置用户的会员权限。那么用户可以通过联盟链查询到这一笔交易,即使该节点想抵赖,其余的联盟链节点都存储了该笔交易的区块的,因此用户可以很方便的取证。
此外,在相关技术中,联合权限以第一视频平台为中心,所有的账号绑定信息都存储在第一视频平台侧,第一视频平台侧是用户绑定信息的绑定中心节点,合作方依赖第一视频平台的用户绑定数据。联合时长由第一视频平台控制,参与联合的时长由各家单独控制维护。
而在本申请实施例中,联合权限的所有信息都存储在联盟链上,联盟内所有区块都保存了用户的权限开通数据,各联盟成员都可通过查询联盟链查询联合权限的相关信息,各联盟成员统一管理联盟链,基于区块链不可篡改的属性,保证了联合权限控制的安全性和可信度。
如图17所示,其为本申请实施例提供的第一种联合权限控制装置1700的结构示意图,可以包括:
响应单元1701,用于响应于用户通过联合权限定制界面输入的结算联合权限的结算请求,根据联合权限对应的结算规则对结算请求进行验证,结算规则为加入联盟链中的各个节点共同确定的,联合权限包含联盟链中各个节点为用户设置的不同权限;
权限控制单元1702,用于根据验证结果以及结算请求,为用户设置联合权限中包含的权限;
信息生成单元1703,用于根据结算请求生成结算流水信息,并将结算流水信息存储到联盟链的区块中;
广播单元1704,用于在联盟链中广播结算流水信息,以使联盟链中的其它节点接收到结算流水信息后,根据结算流水信息对本次结算进行验证并根据验证结果为用户设置联合权限中包含的权限。
可选的,响应单元1701还用于:
响应于用户通过联合权限定制界面输入的查询联合权限的查询请求,从联盟链中获取联合权限对应的权限信息,其中权限信息包含联合权限中各个节点为用户设置的不同权限的信息;并
将联合权限对应的权限信息发送给用户,以使联合权限对应的权限信息被显示到联合权限定制界面上。
可选的,信息生成单元1703具体用于:
通过散列方法对结算请求做散列处理得到第一散列值;
根据节点私钥对第一散列值进行加密处理得到签名信息;
根据签名信息、节点私钥的公钥以及结算请求,生成结算流水信息,其中,公钥是根据节点私钥生成的。
可选的,广播单元1704具体用于;
接收联盟链中广播的结算流水信息,并对结算流水信息进行验证;
将验证结果在联盟链中进行广播,并接收联盟链中的其它节点广播的验证结果;
根据接收到的验证结果以及自身的验证结果确认共识结果;
根据共识结果以及结算请求,为用户设置联合权限中包含的权限;以及
将结算流水信息存储到联盟链的区块中。
可选的,广播单元1704具体用于:
根据公钥对签名信息进行解密处理得到第二散列值;
当通过散列方法验证第二散列值与第一散列值一致时,确定验证成功。
可选的,广播单元1704具体用于:
根据接收到的验证结果以及自身的验证结果确认共识结果,包括:
若根据接收到的验证结果以及自身的验证结果确定允许本次结算的节点的数量达到预设阈值时,确定共识成功。
可选的,装置还包括:
校验单元1705,用于对用户的账号信息进行校验。
可选的,装置还包括:鉴权单元1706;
响应单元1701,用于响应于用户通过联合权限业务界面输入的业务请求,业务请求中至少包括用户的账号信息;
鉴权单元1706,用于在联盟链中查询与账号信息对应的结算流水信息;根据结算流水信息确定联合权限中节点对应的权限的权限时长范围;若用户当前请求的时刻处于权限时长范围内,则确定用户业务请求成功。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的联合权限控制方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的联合权限控制的装置。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可选的实施方式中,根据本申请的电子设备可以至少包括处理器和存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书中描述的根据本申请各种示例性实施方式的任意一种联合权限控制方法中的步骤。例如,处理器可以执行如图6或图10中所示的步骤。
这种实施方式的联合权限控制装置与图16所示的联合权限控制装置结构类似,这里不再赘述。
在一些可选的实施方式中,根据本申请的电子设备可以至少包括处理器和存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的第二种联合权限控制方法中的步骤。例如,处理器可以执行如图10中所示的步骤。
这种实施方式的联合权限控制装置与图17所示的联合权限控制装置结构类似,这里不再赘述。
下面参照图18来描述根据本申请的这种实施方式的计算装置180。图18的计算装置180仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图18,计算装置180以通用计算装置的形式表现。计算装置180的组件可以包括但不限于:上述至少一个处理单元181、上述至少一个存储单元182、连接不同***组件(包括存储单元182和处理单元181)的总线183。
总线183表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元182可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1818和/或高速缓存存储单元1822,还可以进一步包括只读存储器(ROM)1823。
存储单元182还可以包括具有一组(至少一个)程序模块1824的程序/实用工具1825,这样的程序模块1824包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置180也可以与一个或多个外部设备184(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置180交互的设备通信,和/或与使得该计算装置180能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口185进行。并且,计算装置180还可以通过网络适配器186与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器186通过总线183与用于计算装置180的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置180使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
在一些可选的实施方式中,本申请提供的联合权限控制方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的联合权限控制方法中的步骤,例如,计算机设备可以执行如图6或图10中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的联合权限控制的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种联合权限控制方法,其特征在于,应用于联盟链中的节点,包括:
响应于用户通过联合权限定制界面输入的结算联合权限的结算请求,根据所述联合权限对应的结算规则对所述结算请求进行验证,所述结算规则为加入所述联盟链中的各个节点共同确定的,所述联合权限包含所述联盟链中各个节点为用户设置的不同权限;
根据验证结果以及所述结算请求,为所述用户设置所述联合权限中包含的权限;
根据所述结算请求生成结算流水信息,并将所述结算流水信息存储到所述联盟链的区块中;以及
在所述联盟链中广播所述结算流水信息,以使所述联盟链中的其它节点接收到所述结算流水信息后,根据所述结算流水信息对本次结算进行验证并根据验证结果为所述用户设置所述联合权限中包含的权限。
2.如权利要求1所述的方法,其特征在于,还包括:
响应于用户通过所述联合权限定制界面输入的查询联合权限的查询请求,从联盟链中获取所述联合权限对应的权限信息,其中所述权限信息包含所述联合权限中各个节点为用户设置的不同权限的信息;并
将所述联合权限对应的权限信息发送给所述用户,以使所述联合权限对应的权限信息被显示到所述联合权限定制界面上。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述结算请求生成结算流水信息,包括:
通过散列方法对所述结算请求做散列处理得到第一散列值;
根据节点私钥对所述第一散列值进行加密处理得到签名信息;
根据所述签名信息、所述节点私钥的公钥以及所述结算请求,生成所述结算流水信息,其中,所述公钥是根据所述节点私钥生成的。
4.如权利要求3所述的方法,其特征在于,所述联盟链中的其它节点接收到所述结算流水信息后,根据所述结算流水信息对本次结算进行验证并根据验证结果为所述用户设置所述联合权限中包含的权限,包括:
接收所述联盟链中广播的结算流水信息,并对所述结算流水信息进行验证;
将验证结果在所述联盟链中进行广播,并接收所述联盟链中的其它节点广播的验证结果;
根据接收到的验证结果以及自身的验证结果确认共识结果;
根据所述共识结果以及所述结算请求,为所述用户设置所述联合权限中包含的权限;以及
将所述结算流水信息存储到所述联盟链的区块中。
5.如权利要求4所述的方法,其特征在于,所述对所述结算流水信息进行验证,包括:
根据所述公钥对所述签名信息进行解密处理得到第二散列值;
当通过散列方法验证所述第二散列值与所述第一散列值一致时,确定验证成功。
6.如权利要求4所述的方法,其特征在于,所述根据接收到的验证结果以及自身的验证结果确认共识结果,包括:
若根据所述接收到的验证结果以及自身的验证结果确定允许本次结算的节点的数量达到预设阈值时,确定共识成功。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
对所述用户的账号信息进行校验。
8.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
响应于用户通过联合权限业务界面输入的业务请求,所述业务请求中至少包括所述用户的账号信息;
在所述联盟链中查询与所述账号信息对应的结算流水信息;
根据所述结算流水信息确定所述联合权限对应的权限时长范围;
若所述用户当前请求的时刻处于所述权限时长范围内,则确定所述用户业务请求成功。
9.一种联合权限控制装置,其特征在于,应用于联盟链中的节点,包括:
响应单元,用于响应于用户通过联合权限定制界面输入的结算联合权限的结算请求,根据所述联合权限对应的结算规则对所述结算请求进行验证,所述结算规则为加入所述联盟链中的各个节点共同确定的,所述联合权限包含所述联盟链中各个节点为用户设置的不同权限;
权限控制单元,用于根据验证结果以及所述结算请求,为所述用户设置所述联合权限中包含的权限;
信息生成单元,用于根据所述结算请求生成结算流水信息,并将所述结算流水信息存储到所述联盟链的区块中;
广播单元,用于在所述联盟链中广播所述结算流水信息,以使所述联盟链中的其它节点接收到所述结算流水信息后,根据所述结算流水信息对本次结算进行验证并根据验证结果为所述用户设置所述联合权限中包含的权限。
10.如权利要求9所述的装置,其特征在于,所述响应单元还用于:
响应于用户通过所述联合权限定制界面输入的查询联合权限的查询请求,从联盟链中获取所述联合权限对应的权限信息,其中所述权限信息包含所述联合权限中各个节点为用户设置的不同权限的信息;并
将所述联合权限对应的权限信息发送给所述用户,以使所述联合权限对应的权限信息被显示到所述联合权限定制界面上。
11.如权利要求9或10所述的装置,其特征在于,所述信息生成单元具体用于:
通过散列方法对所述结算请求做散列处理得到第一散列值;
根据节点私钥对所述第一散列值进行加密处理得到签名信息;
根据所述签名信息、所述节点私钥的公钥以及所述结算请求,生成所述结算流水信息,其中,所述公钥是根据所述节点私钥生成的。
12.如权利要求9或10所述的装置,其特征在于,所述装置还包括:
校验单元,用于对所述用户的账号信息进行校验。
13.如权利要求9或10所述的装置,其特征在于,所述装置还包括:鉴权单元;
所述响应单元,还用于响应于用户通过联合权限业务界面输入的业务请求,所述业务请求中至少包括所述用户的账号信息;
所述鉴权单元,用于在所述联盟链中查询与所述账号信息对应的结算流水信息;根据所述结算流水信息确定所述联合权限中所述节点对应的权限的权限时长范围;若所述用户当前请求的时刻处于所述权限时长范围内,则确定所述用户业务请求成功。
14.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~8中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1~8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911150259.3A CN111049806B (zh) | 2019-11-21 | 2019-11-21 | 一种联合权限控制方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911150259.3A CN111049806B (zh) | 2019-11-21 | 2019-11-21 | 一种联合权限控制方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111049806A true CN111049806A (zh) | 2020-04-21 |
CN111049806B CN111049806B (zh) | 2020-11-17 |
Family
ID=70232741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911150259.3A Active CN111049806B (zh) | 2019-11-21 | 2019-11-21 | 一种联合权限控制方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111049806B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626850A (zh) * | 2020-06-05 | 2020-09-04 | 中国银行股份有限公司 | 存款信息的处理方法、装置、可读介质及设备 |
CN112073413A (zh) * | 2020-09-08 | 2020-12-11 | 深圳市金蚁云供应链科技有限公司 | 在线化联盟链管理方法、装置、计算机设备及存储介质 |
CN112465504A (zh) * | 2020-12-08 | 2021-03-09 | 中国建设银行股份有限公司 | 基于区块链的订单结算方法、***及存储介质 |
CN114840113A (zh) * | 2022-05-12 | 2022-08-02 | 维沃移动通信有限公司 | 应用管理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930194A (zh) * | 2012-09-20 | 2013-02-13 | 无锡华御信息技术有限公司 | 一种基于权限管控的数据安全操作***及方法 |
CN107025602A (zh) * | 2017-02-24 | 2017-08-08 | 杭州象链网络技术有限公司 | 一种基于联盟链的金融资产交易***构建方法 |
CN108616578A (zh) * | 2018-04-09 | 2018-10-02 | 上海点融信息科技有限责任公司 | 跨区块链平台的业务处理方法、设备及计算机可读存储介质 |
CN109636434A (zh) * | 2018-10-19 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 基于区块链的积分管理方法、***、电子设备及存储介质 |
US20190304259A1 (en) * | 2018-03-31 | 2019-10-03 | Raymond Anthony Joao | Sports betting apparatus and method |
-
2019
- 2019-11-21 CN CN201911150259.3A patent/CN111049806B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930194A (zh) * | 2012-09-20 | 2013-02-13 | 无锡华御信息技术有限公司 | 一种基于权限管控的数据安全操作***及方法 |
CN107025602A (zh) * | 2017-02-24 | 2017-08-08 | 杭州象链网络技术有限公司 | 一种基于联盟链的金融资产交易***构建方法 |
US20190304259A1 (en) * | 2018-03-31 | 2019-10-03 | Raymond Anthony Joao | Sports betting apparatus and method |
CN108616578A (zh) * | 2018-04-09 | 2018-10-02 | 上海点融信息科技有限责任公司 | 跨区块链平台的业务处理方法、设备及计算机可读存储介质 |
CN109636434A (zh) * | 2018-10-19 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 基于区块链的积分管理方法、***、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
王绍刚,刘海法: ""基于区块链的商城积分***方法研究"", 《网络空间安全》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626850A (zh) * | 2020-06-05 | 2020-09-04 | 中国银行股份有限公司 | 存款信息的处理方法、装置、可读介质及设备 |
CN111626850B (zh) * | 2020-06-05 | 2023-04-18 | 中国银行股份有限公司 | 存款信息的处理方法、装置、可读介质及设备 |
CN112073413A (zh) * | 2020-09-08 | 2020-12-11 | 深圳市金蚁云供应链科技有限公司 | 在线化联盟链管理方法、装置、计算机设备及存储介质 |
CN112465504A (zh) * | 2020-12-08 | 2021-03-09 | 中国建设银行股份有限公司 | 基于区块链的订单结算方法、***及存储介质 |
CN114840113A (zh) * | 2022-05-12 | 2022-08-02 | 维沃移动通信有限公司 | 应用管理方法和装置 |
CN114840113B (zh) * | 2022-05-12 | 2024-04-30 | 维沃移动通信有限公司 | 应用管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111049806B (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112214780B (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
US10917246B2 (en) | System and method for blockchain-based cross-entity authentication | |
US11038670B2 (en) | System and method for blockchain-based cross-entity authentication | |
US11159526B2 (en) | System and method for decentralized-identifier authentication | |
CN108256859B (zh) | 基于区块链的金融产品交易共识方法、节点及*** | |
US20220318907A1 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
CN111049806B (zh) | 一种联合权限控制方法、装置、电子设备和存储介质 | |
US7167985B2 (en) | System and method for providing trusted browser verification | |
CN109741068A (zh) | 网银跨行签约方法、装置及*** | |
Li et al. | A decentralized and secure blockchain platform for open fair data trading | |
CN114760071B (zh) | 基于零知识证明的跨域数字证书管理方法、***和介质 | |
CN113302612B (zh) | 一种用于跨链和跨网络数据传输的计算机实现方法、***及装置 | |
CN115705601A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN113597608A (zh) | 基于区块链的可信平台 | |
CN116664298A (zh) | 基于区块链的去中心化数据交易***的实现方法和装置 | |
CN113869901B (zh) | 密钥生成方法、装置、计算机可读存储介质及计算机设备 | |
KR102494873B1 (ko) | 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 거래 수행장치 | |
CN113706261A (zh) | 一种基于区块链的电力交易方法、装置及*** | |
Yu et al. | SPRA: Scalable policy‐based regulatory architecture for blockchain transactions | |
US20230419285A1 (en) | NFT Enforcement Control System | |
CN118101206A (zh) | 数据处理方法、装置、设备和计算机可读存储介质 | |
CN116401697A (zh) | 一种基于区块链的电子招投标隐私保护方法 | |
CN116862508A (zh) | 一种基于联盟区块链的机器学习模型交易*** |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022192 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |