CN111131336B - 多方授权场景下的资源访问方法、装置、设备及存储介质 - Google Patents
多方授权场景下的资源访问方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111131336B CN111131336B CN202010237909.4A CN202010237909A CN111131336B CN 111131336 B CN111131336 B CN 111131336B CN 202010237909 A CN202010237909 A CN 202010237909A CN 111131336 B CN111131336 B CN 111131336B
- Authority
- CN
- China
- Prior art keywords
- authorization
- node
- certificate
- ith
- 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.)
- Active
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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Abstract
本申请实施例提供了一种多方授权场景下的资源访问方法、装置、设备及存储介质。所述方法包括:业务节点接收来自于客户端的资源访问请求,该资源访问请求用于访问资源节点;业务节点向n个授权节点中的m个授权节点发起授权请求,该授权请求用于获取授权节点对应的授权证书;授权节点生成资源访问请求对应的授权证书链,该授权证书链包括以链式认证结构记录的m个授权证书;资源节点对授权证书链进行校验;响应于授权证书链校验通过,资源节点对资源访问请求进行响应。本申请实施例能够适用于授权方有多层级依赖关系,且授权方分散的微服务场景,有效解决多方授权权限隔离要求与多方授权证书完整性要求的矛盾,从根本上保证授权的安全性。
Description
技术领域
本申请实施例涉及授权验证技术领域,特别涉及一种多方授权场景下的资源访问方法、装置、设备及存储介质。
背景技术
多方授权是指请求方(如客户端)在请求访问某一资源节点时,需要经过多个授权方的授权。资源节点会根据该多个授权方的授权内容,对请求方的资源访问请求进行响应。
在相关技术中,提供了一种多方授权方案,业务节点在接收到请求方(如客户端)发送的资源访问请求之后,从多个授权方中的主授权方获取授权数据包,该授权数据包是利用第一密钥进行加密处理后得到的,第一密钥包括多个子密钥,每个子密钥与一个授权方相对应。另外,多个授权方分别向请求方提供自己的子密钥,请求方将获取到的多个子密钥发送给业务节点,业务节点基于预定义规则对请求方发送的多个子密钥进行拼接,生成第二密钥。当第二密钥和第一密钥相匹配时,便能够对授权数据包进行解密,并将解密数据提供给请求方。
发明内容
本申请实施例提供了一种多方授权场景下的资源访问方法、装置、设备及存储介质,能够适用于授权方有多层级依赖关系,且授权方分散的微服务场景,而且有效解决了多方授权权限隔离要求与多方授权证书完整性要求的矛盾,从根本上保证了授权的安全性。所述技术方案如下:
一方面,本申请实施例提供了一种多方授权场景下的资源访问方法,应用于多方授权场景下的资源访问系统中,所述系统包括:业务节点、n个授权节点,以及资源节点,所述n为大于1的整数;
所述方法包括:
所述业务节点接收来自于客户端的资源访问请求,所述资源访问请求用于访问所述资源节点;向所述n个授权节点中的m个授权节点发起授权请求,所述授权请求用于获取所述授权节点对应的授权证书,所述m为大于1且小于等于所述n的整数;
所述授权节点生成所述资源访问请求对应的授权证书链,所述授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成;
所述资源节点对所述授权证书链进行校验;响应于所述授权证书链校验通过,对所述资源访问请求进行响应。
另一方面,本申请实施例提供了一种多方授权场景下的资源访问方法,应用于多方授权场景下的资源访问系统中的授权节点,所述系统包括:业务节点、n个授权节点,以及资源节点,所述n为大于1的整数;
所述方法包括:
接收来自于所述业务节点的授权请求,所述授权请求用于获取所述授权节点对应的授权证书,所述授权请求是所述业务节点在接收到来自客户端的资源访问请求后向所述n个授权节点中的m个授权节点发起的,所述资源访问请求用于访问所述资源节点,所述m为大于1且小于等于所述n的整数;
对所述授权请求进行校验;
响应于所述授权请求校验通过,生成所述授权证书;
向所述业务节点发送所述授权证书;
其中,所述m个授权节点生成的m个授权证书,以链式认证结构形成授权证书链,每个授权证书由一个授权节点生成,所述授权证书链用于供所述资源节点对所述资源访问请求进行授权验证。
另一方面,本申请实施例提供了一种多方授权场景下的资源访问方法,应用于多方授权场景下的资源访问系统中的资源节点,所述系统包括:业务节点、n个授权节点,以及所述资源节点,所述n为大于1的整数;
所述方法包括:
接收所述业务节点发送的资源访问请求以及所述资源访问请求对应的授权证书链;其中,所述资源访问请求是客户端用于访问所述资源节点的请求,所述授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成,所述m为大于1且小于等于所述n的整数;
对所述授权证书链进行校验;
响应于所述授权证书链校验通过,对所述资源访问请求进行响应。
另一方面,本申请实施例提供了一种多方授权场景下的资源访问装置,应用于多方授权场景下的资源访问系统中的授权节点,所述系统包括:业务节点、n个授权节点,以及资源节点,所述n为大于1的整数;
所述装置包括:
请求接收模块,用于接收来自于所述业务节点的授权请求,所述授权请求用于获取所述授权节点对应的授权证书,所述授权请求是所述业务节点在接收到来自客户端的资源访问请求后向所述n个授权节点中的m个授权节点发起的,所述资源访问请求用于访问所述资源节点,所述m为大于1且小于等于所述n的整数;
请求校验模块,用于对所述授权请求进行校验;
证书生成模块,用于响应于所述授权请求校验通过,生成所述授权证书;
证书发送模块,用于向所述业务节点发送所述授权证书;
其中,所述m个授权节点生成的m个授权证书,以链式认证结构形成授权证书链,每个授权证书由一个授权节点生成,所述授权证书链用于供所述资源节点对所述资源访问请求进行授权验证。
另一方面,本申请实施例提供了一种多方授权场景下的资源访问装置,应用于多方授权场景下的资源访问系统中的资源节点,所述系统包括:业务节点、n个授权节点,以及所述资源节点,所述n为大于1的整数;
所述装置包括:
信息接收模块,用于接收所述业务节点发送的资源访问请求以及所述资源访问请求对应的授权证书链;其中,所述资源访问请求是客户端用于访问所述资源节点的请求,所述授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成,所述m为大于1且小于等于所述n的整数;
证书校验模块,用于对所述授权证书链进行校验;
请求响应模块,用于响应于所述授权证书链校验通过,对所述资源访问请求进行响应。
另一方面,本申请实施例提供了一种多方授权场景下的资源访问系统,所述系统包括:业务节点、n个授权节点,以及资源节点,所述n为大于1的整数;
所述业务节点,用于接收来自于客户端的资源访问请求,所述资源访问请求用于访问所述资源节点;向所述n个授权节点中的m个授权节点发起授权请求,所述授权请求用于获取所述授权节点对应的授权证书,所述m为大于1且小于等于所述n的整数;
所述授权节点,用于生成所述资源访问请求对应的授权证书链,所述授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成;
所述资源节点,用于对所述授权证书链进行校验;响应于所述授权证书链校验通过,对所述资源访问请求进行响应。
再一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述多方授权场景下的资源访问方法。
还一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述多方授权场景下的资源访问方法。
又一方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得计算机设备执行上述多方授权场景下的资源访问方法。
本申请实施例提供的技术方案可以包括如下有益效果:
通过业务节点在接收到资源访问请求之后,向多个授权节点发起授权请求,授权节点生成该资源访问请求对应的授权证书链,该授权证书链包括以链式认证结构记录的多个授权证书,每个授权证书由一个授权节点生成,后续由资源节点对授权证书链进行校验,并在校验通过的情况下对资源访问请求进行响应;由于各个授权方分别独立生成各自的授权证书,资源节点在校验各个授权方的授权证书通过之后,才对请求进行响应,使得本申请实施例能够适用于授权方有多层级依赖关系,且授权方分散的微服务场景,而且有效解决了多方授权权限隔离要求与多方授权证书完整性要求的矛盾,从根本上保证了授权的安全性。
另外,本申请实施例提供的授权证书链设计实现了在多方授权场景下的权限隔离问题,授权证书链具备完整性、可认证性的安全,使用该机制可以从根本上解决多方业务合作授权的信任问题。多个授权方的授权在流程中独立,可灵活插拔,实现了授权节点间的解耦。授权证书链的设计方式,能有效避免证书链中某一证书的恶意篡改或删除,保证证书链的完整性、不可篡改性。资源节点可以校验整个证书链,结合多方的授权信息进行访问控制。该机制有效提升了系统的安全性、可扩展性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的实施环境的示意图;
图2是本申请一个实施例提供的多方授权场景下的资源访问方法的流程图;
图3是本申请一个实施例提供的区块结构的示意图;
图4是本申请一个实施例提供的授权证书链的示意图;
图5是本申请一个实施例提供的对授权证书链的校验流程的示意图;
图6是本申请另一个实施例提供的多方授权场景下的资源访问方法的流程图;
图7是本申请一个实施例提供的多方授权场景下的资源访问装置的框图;
图8是本申请另一个实施例提供的多方授权场景下的资源访问装置的框图;
图9是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法的例子。
请参考图1,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境可以实现成为多方授权场景下的资源访问系统。如图1所示,该实施环境可以包括:业务节点11、n个授权节点12,以及资源节点13,n为大于1的整数。
业务节点11用于负责实现整个业务逻辑,包括请求的接收、授权、响应等业务处理流程。业务节点11的数量可以是一个,也可以是多个。当业务节点11的数量为多个时,不同的业务节点11可以负责执行不同的业务处理流程,实现对整个业务逻辑的分工合作。
授权节点12用于负责请求的授权认证。在本申请实施例中,授权节点12的数量为多个,从而实现多方授权。不同的授权节点12实现对不同权限进行校验和授权,且不同的授权节点12之间彼此权限隔离,从而保证授权结果的准确性和可靠性,进而提升系统安全性。
资源节点13用于提供可供访问的资源,该资源可以是数据资源,也可以是服务资源,或者其他任意可供访问的资源。资源节点13的数量可以是一个,也可以是多个。一个资源节点13可用于提供一项或者多项的资源以供访问。上述数据资源是指供请求方读取的数据,服务资源是指供请求方获取的服务。在本申请实施例中,对上述数据和服务的种类不作限定,这可以结合实际应用场景进行设计。例如,当上述资源访问系统是即时通信应用的后台系统时,上述服务包括但不限于消息发送服务、社交动态发布服务、语音通过服务等,上述数据包括但不限于用户帐号数据、用户社交动态数据、聊天记录数据等。
可选地,如图1所示,该实施环境还可以包括:登录节点14。登录节点14用于负责客户端的登录校验,其在接收到来自于客户端的登录请求之后,会对该登录请求中包括的用户帐号和密码信息进行验证。
上述业务节点11、授权节点12、资源节点13和登录节点14可以是服务器,或者是由多个服务器组成的服务器集群。另外,各个节点11之间可以通过网络进行通信。
如图1所示,客户端可以安装运行于终端15中,该终端15可以是诸如手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、PC(Personal Computer,个人计算机)等电子设备。客户端可以是任意应用程序的客户端,如社交类应用程序、即时通信应用程序、支付类应用程序、购物类应用程序、视频类应用程序、游戏类应用程序等,本申请实施例对此不作限定。
可选地,上述图1所示的多方授权场景下的资源访问系统可以采用微服务架构。微服务是指把一个大系统按业务功能分解成多个职责单一的小系统,并利用简单的方法使多个小系统相互协作,组合成一个大系统。例如,在微服务架构下,可以包括多个业务节点、多个授权节点、多个资源节点和多个登录节点。其中,不同的业务节点负责执行不同的业务逻辑,不同的授权节点负责不同权限的授权验证,不同的资源节点负责提供不同的资源,不同的登录节点负责不同帐号或不同场景下的登录请求验证。
请参考图2,其示出了本申请一个实施例提供的多方授权场景下的资源访问方法的流程图。该方法可应用于图1所示的系统架构中。该方法可以包括如下几个步骤(201~205):
步骤201,业务节点接收来自于客户端的资源访问请求,该资源访问请求用于访问资源节点。
可选地,资源访问请求中包括资源节点的身份信息,该资源节点的身份信息用于对资源节点起到唯一标识的作用,以便业务节点能够获知客户端所要请求访问的资源节点。
可选地,资源访问请求中还包括客户端的标识信息,如客户端中登录的用户帐号,以便业务节点能够获知请求的发起方。
可选地,资源访问请求中还包括请求内容,该请求内容用于指示资源节点所执行的操作,如提供某项数据或服务。
步骤202,业务节点向n个授权节点中的m个授权节点发起授权请求,该授权请求用于获取授权节点对应的授权证书,m为大于1且小于等于n的整数。
业务节点在接收到来自于客户端的资源访问请求之后,向多个授权节点发起授权请求。可选地,业务节点可以根据资源访问请求,从n个授权节点中选择需要发起授权请求的上述m个授权节点。也即,针对不同的资源访问请求,业务节点可以选择不同的授权节点发起授权请求。
可选地,业务节点可以根据资源访问请求,确定所要校验和授权的权限,然后向这些权限对应的授权节点,发起授权请求;其中,每个授权节点用于校验和授权一种或多种权限。例如,该资源访问系统包括4个授权节点,分别为授权节点1、授权节点2、授权节点3和授权节点4,且这4个授权节点用于校验和授权的权限分别为权限A、权限B、权限C和权限D。假设某一资源访问请求用于请求访问资源节点1,访问资源节点1所要校验和授权的权限包括权限A和权限B,那么业务节点向授权节点1和授权节点2发起授权请求。假设另一个资源访问请求用于请求访问资源节点2,访问资源节点2所要校验和授权的权限包括权限A、权限C和权限D,那么业务节点向授权节点1、授权节点3和授权节点4发起授权请求。
在示例性实施例中,业务节点向m个授权节点逐个依次发起授权请求,也即该m个授权节点具有前后顺序关系,业务节点在向第1个授权节点发起授权请求并获得该第1个授权节点对应的授权证书之后,才会向第2个授权节点发起授权请求,业务节点在获得该第2个授权节点对应的授权证书之后,才会向第3个授权节点发起授权请求,以此类推,直至向第m个授权节点发起授权请求。另外,如果未获得某个授权节点对应的授权证书,那么就不会继续向下一个授权节点发起授权请求,直接确定授权失败,拒接该资源访问请求对资源节点的访问。各个授权节点之间的前后顺序关系,可以预定义也可以由业务节点实时确定,本申请实施例对此不作限定。其中,采用预定义各个授权节点之间的前后顺序关系的方式,可以节省业务节点的处理开销,不需要业务节点动态确定该前后顺序关系;采用由业务节点实时确定各个授权节点之间的前后顺序关系的方式,更具灵活性,能够更加灵活地适应授权节点的增减。
需要说明的一点是,当负责处理该资源访问请求的业务节点的数量为1个时,那么业务节点在向一个授权节点发起授权请求并获得相应的授权证书之后,该业务节点向下一个授权节点发起授权请求。当负责处理该资源访问请求的业务节点的数量为多个时,那么业务节点在向一个授权节点发起授权请求并获得相应的授权证书之后,如果下一个授权节点由其他的业务节点负责对接,那么该业务节点还可以将该资源访问请求以及相应已获得的授权证书发送给其他的业务节点,再由该其他的业务节点向下一个授权节点发起授权请求。
步骤203,授权节点生成资源访问请求对应的授权证书链,该授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成。
上述m个授权节点在接收到授权请求之后,对接收到的授权请求进行校验,在该接收到的授权请求校验通过的情况下,生成相应的授权证书。授权证书是资源访问请求(或者说客户端)获得相应权限的凭证,获得某个授权节点对应的授权证书,即表明经过了该授权节点的授权验证,获得了该授权节点对应的权限。
在本申请实施例中,多个授权证书以链式认证结构形成授权证书链。以链式认证结构形成授权证书链,使得授权证书链中的各个授权证书具备不可篡改的特性,保证授权证书的可信度和安全性。其中,链式认证结构是指各个授权证书通过哈希值连接形成链式结构,某个授权证书的前一个授权证书的哈希值,记录在该授权证书中。
该链式认证结构与区块链技术中各个区块的连接结构相类似,因此该链式认证结构也可以称为区块链结构。在区块链技术中,引入哈希算法,哈希算法是区块链中保证交易信息不被篡改的单向密码机制。哈希算法接收一段明文后,会以一种不可逆的方式将其转化为一段长度较短、位数固定的散列数据。哈希算法有2个特点:1、加密过程不可逆,意味着我们无法通过输出的散列数据倒推原本的明文是什么;2、输入的明文与输出的散列数据一一对应,任何一个输入信息的变化,都必将导致最终输出的散列数据的变化。在区块链中,通常使用SHA-256(Secure Hash Algorithm,安全散列算法)进行区块加密,这种算法的输入长度为256位,输出的是一串长度为32字节的随机散列数据。区块链通过哈希算法对一个区块中的信息进行加密,并把信息压缩成由一串数字和字母组成的散列字符串。区块链的哈希值能够唯一而准确地标识一个区块,区块链中任意节点通过简单的哈希计算都可以获得这个区块的哈希值,计算出的哈希值没有变化也就意味着区块中的信息没有被篡改。
区块链(Blockchain)包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。参见图3,图3是本申请实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储数据的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链30。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
在本申请实施例中,授权证书链采用链式认证结构,以使得授权证书链中的各个授权证书具备不可篡改的特性。可选地,生成资源访问请求对应的授权证书链的过程如下:对于m个授权节点中的第i个授权节点,该第i个授权节点对接收到的授权请求进行校验,该第i个授权节点接收到的授权请求中包括:之前节点已生成的授权证书链,以及资源访问请求的请求内容。响应于第i个授权节点接收到的授权请求校验通过,该第i个授权节点生成第i个授权证书。其中,第i个授权证书包括第i个授权节点的身份信息、第i个授权节点的授权内容、第i个授权证书的上一个证书的指纹信息,以及第i个授权节点的签名信息,i为小于等于m的正整数。
如图4所示,其示出了本申请实施例涉及的授权证书链40的示意图。授权证书链40包括多个呈链式认证结构的授权证书,每个授权证书由一个授权节点生成。授权证书中包括生成该授权证书的授权节点的身份信息、授权内容、上一个证书的指纹信息,以及签名信息。其中,授权节点的身份信息用于对授权节点起到唯一标识的作用,如可以是该授权节点的全局唯一ID(identifier,标识)。授权内容可以记录授权节点对资源访问请求授予的权限(如某些数据的读权限或某些功能的调用权限等),还可以包括该授权证书的颁发时间、有效期等内容。上一个证书的指纹信息,是指对该上一个证书的证书信息采用不可逆方式进行计算得到的数据,可选地,该不可逆方式可以是上文提到的哈希算法。
可选地,第i个授权节点生成第i个授权证书,包括如下几个步骤:
1、创建第i个授权证书;
2、在第i个授权证书中写入第i个授权节点的身份信息;
3、在第i个授权证书中写入第i个授权节点的授权内容;
4、采用哈希算法计算上一个证书的指纹信息,并在第i个授权证书中写入上一个证书的指纹信息;
5、采用第i个授权节点的私钥,对第i个授权证书进行签名,并在第i个授权证书中写入第i个授权节点的签名结果。
在计算上一个证书的指纹信息时,可以采用哈希算法对该上一个证书的全部或部分证书信息进行计算,得到的哈希值即为该上一个证书的指纹信息。
在计算第i个授权节点的签名结果时,可以采用预定义的摘要算法,生成第i个授权证书中的某些信息的摘要,然后采用第i个授权节点的私钥对该摘要进行加密,得到签名结果。上述某些信息可以包括第i个授权证书中包括的第i个授权节点的授权内容和上一个证书的指纹信息。
可选地,第i个授权节点对接收到的授权请求进行校验,包括:对第i个授权节点接收到的授权请求中包括的授权证书链进行校验;响应于授权请求中包括的授权证书链校验通过,对资源访问请求的请求内容进行校验;响应于资源访问请求的请求内容校验通过,执行生成第i个授权证书的步骤。
在第i个授权节点接收到授权请求之后,可以先对该授权请求中包括的授权证书链(该授权证书链包括位于第i个授权节点之前的节点所生成的证书)进行校验,在该授权证书链校验通过的情况下,再对资源访问请求的请求内容进行校验,以确定该资源访问请求所能获得的权限,在资源访问请求的请求内容也校验通过的情况下,生成第i个授权证书。但凡授权证书链和资源访问请求的请求内容其中之一校验不通过,则该第i个授权节点反馈授权失败,不生成相应的授权证书。另外,对资源访问请求的请求内容进行校验,在不同的应用场景下相应的校验内容也会有所不同,例如当资源访问请求用于访问消息发送服务时,对该请求内容的校验可以包括对发送方和接收方是否具备好友关系的校验,也可以包括对消息内容是否合规的校验等等,且不同方面的校验可以由不同的授权节点来执行。
需要说明的是,授权节点在对接收到的授权请求中包括的授权证书链进行校验时,实则是对该授权请求中包括的授权证书链中的各个授权证书进行校验,当授权证书链中的各个授权证书均校验通过,则说明该授权请求中包括的授权证书链校验通过,当授权证书链中存在至少一个授权证书校验未通过,则说明该授权请求中包括的授权证书链校验未通过。另外,授权节点可以从接收到的授权证书链的第1个证书开始,进行逐个依次校验。另外,授权节点对其接收到的授权证书链的校验过程,与下文介绍的资源节点对授权证书链的校验过程相同或类似,具体可参见下文介绍说明,此处不再赘述。
步骤204,资源节点对授权证书链进行校验。
业务节点在获得m个授权节点生成的授权证书链之后,向资源节点发送资源访问请求和该授权证书链。资源节点先对该授权证书链进行校验,资源节点可以从授权证书链的第1个证书开始,进行逐个依次校验,该过程可以包括如下几个步骤:
1、对于授权证书链中的第i个授权证书,响应于第i个授权证书中包括的指纹信息与上一个证书的指纹信息相匹配,根据第i个授权证书中包括的第i个授权节点的身份信息,获取第i个授权节点的公钥;其中,i的初始值为1,且i为小于等于m的正整数;
2、采用第i个授权节点的公钥,对第i个授权证书中包括的第i个授权节点的签名结果进行验签;
3、响应于第i个授权节点的签名结果验签通过,确定第i个授权证书校验通过;
其中,授权证书链校验通过是指m个授权证书均校验通过。
如图5所示,其示出了对授权证书链40的校验流程的示意图。从授权证书链40的起始证书开始,逐个校验授权证书,根据授权证书中包括的授权节点的身份信息,获取该授权节点的公钥,然后采用该授权节点的公钥对授权证书进行验签。可选地,验签过程可以是采用预定义的摘要算法,生成授权证书中的某些信息的摘要,此处的摘要算法和信息与签名过程相同,然后采用授权节点的公钥对签名结果进行解密,得到一个明文的摘要。对比该明文的摘要和自己生成的摘要是否相同,如果相同则验签通过,如果不同则验签不通过。在验签通过的情况下,采用哈希算法计算本授权证书的指纹信息,并与下一个授权证书中包含的指纹信息进行匹配校验。重复上述过程,直至授权证书链中的全部m个授权证书均校验通过,则确定授权证书链校验通过。
另外,资源节点可以采用如下方式获取授权节点的公钥:
在一种可能的实施方式中,资源节点从预设对应关系中,获取与第i个授权节点的身份信息相对应的公钥,得到第i个授权节点的公钥;其中,预设对应关系包括授权节点的身份信息和公钥之间的对应关系。上述预设对应关系可以采用键值对(key-value)的形式维护。
在另一种可能的实施方式中,资源节点从第i个授权节点的身份信息中,获取第i个授权节点的证书;基于第i个授权节点的证书,获取第i个授权节点的公钥;其中,第i个授权节点的证书以证书链的形式记录在第i个授权节点的身份信息中。将授权节点的公钥采用证书链的形式,记录在授权节点的身份信息中,一方面有助于提升公钥信息的安全性,另一方面在授权节点更换公私钥对时,仅需在生成授权证书时在授权节点的身份信息中指明即可,不需要更新维护预设对应关系,更具灵活性。
步骤205,响应于授权证书链校验通过,资源节点对资源访问请求进行响应。
在授权证书链校验通过的情况下,资源节点对资源访问请求进行响应。
可选地,响应于授权证书链校验通过,资源节点合并m个授权节点的授权内容,确定客户端具备的权限;基于该客户端具备的权限,对资源访问请求进行响应。例如,对已授权的数据访问放行,对未授权或授权过期的数据访问拒绝。
由于采用多方授权的方式,各个授权节点的授权内容合并,形成该资源访问请求(或者说该客户端)所具备的权限,从而实现了对资源访问权限的灵活控制。
综上所述,本申请实施例提供的技术方案,通过业务节点在接收到资源访问请求之后,向多个授权节点发起授权请求,授权节点生成该资源访问请求对应的授权证书链,该授权证书链包括以链式认证结构记录的多个授权证书,每个授权证书由一个授权节点生成,后续由资源节点对授权证书链进行校验,并在校验通过的情况下对资源访问请求进行响应;由于各个授权方分别独立生成各自的授权证书,资源节点在校验各个授权方的授权证书通过之后,才对请求进行响应,使得本申请实施例能够适用于授权方有多层级依赖关系,且授权方分散的微服务场景,而且有效解决了多方授权权限隔离要求与多方授权证书完整性要求的矛盾,从根本上保证了授权的安全性。
另外,本申请实施例提供的授权证书链设计实现了在多方授权场景下的权限隔离问题,授权证书链具备完整性、可认证性的安全,使用该机制可以从根本上解决多方业务合作授权的信任问题。多个授权方的授权在流程中独立,可灵活插拔,实现了授权节点间的解耦。授权证书链的设计方式,能有效避免证书链中某一证书的恶意篡改或删除,保证证书链的完整性、不可篡改性。资源节点可以校验整个证书链,结合多方的授权信息进行访问控制。该机制有效提升了系统的安全性、可扩展性。
请参考图6,其示出了本申请另一个实施例提供的多方授权场景下的资源访问方法的流程图。该方法可应用于图1所示的系统架构中。该方法可以包括如下几个步骤(601~605):
步骤601,登录节点接收来自于客户端的登录请求,登录请求包括请求登录的用户帐号和密码信息。
客户端在发起资源访问请求之前,首选需要登录用户帐号。可选地,客户端向登录节点发送登录请求,该登录请求包括请求登录的用户帐号和密码信息。其中,密码信息是指用户帐号对应的密码,该密码可以是数字密码、手势密码、指纹密码、人脸图像、声纹信息等,本申请实施例对此不作限定。
步骤602,响应于用户帐号和密码信息验证通过,登录节点生成客户端的身份证书,该身份证书包括客户端登录的用户帐号信息和登录信息。
登录节点在接收到登录请求之后,对该登录请求中包括的用户帐号和密码信息进行验证。例如,将预存的用户帐号对应的密码信息与接收到的密码信息进行匹配校验,若两者匹配则确定验证通过,若两者不匹配则确定验证不通过。
身份证书是对用户帐号进行身份认证后生成的授权凭证。身份证书包括客户端登录的用户帐号信息和登录信息。其中,用户帐号信息包括用户帐号、所属产品标识等信息,登录信息包括登录时间、登录场景、登录设备等信息。所属产品标识用于标识当前登录的产品,如不同的应用程序或者同一应用程序所提供的不同产品功能。登录场景是指用户帐号的登录方式,如数字密码登录、手势密码登录、指纹密码登录、人脸图像登录、声纹信息登录等。
步骤603,登录节点向客户端发送身份证书。
相应地,客户端接收到身份证书之后,当需要发起资源访问请求时,向业务节点发送携带有身份证书的资源访问请求。该身份证书可以作为授权证书链的首个证书,后续各个授权节点生成的授权证书逐个追加在该身份证书之后,且第1个授权节点生成的授权证书中包含的指纹信息,是采用哈希算法计算得到的该身份证书的指纹信息。
需要说明的一点是,客户端在拿到身份证书之后,后续向业务节点发起的各类请求(包括这里提到的资源访问请求),都会携带该身份证书。
步骤604,业务节点接收来自于客户端的资源访问请求,该资源访问请求用于访问资源节点,该资源访问请求中携带身份证书。
步骤605,业务节点向n个授权节点中的m个授权节点发起授权请求,该授权请求用于获取授权节点对应的授权证书,m为大于1且小于等于n的整数。
步骤606,授权节点生成资源访问请求对应的授权证书链,该授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成。
步骤607,资源节点对授权证书链进行校验。
步骤608,响应于授权证书链校验通过,资源节点对资源访问请求进行响应。
上述步骤604-608与图2实施例中的步骤201-205相同或类似,具体可参见图2实施例中的介绍说明,此处不再赘述。
在本申请实施例中,通过对登录请求进行验证,并在验证通过后生成客户端的身份证书,该身份证书可以作为后续授权节点进行授权验证时的一个凭证,保证了请求方身份的合法性。
需要说明的是,在上述方法实施例中,仅从客户端、登录节点、业务节点、授权节点和资源节点交互的角度,对本申请技术方案进行了介绍说明。每个执行主体所执行的步骤,可以单独实现成为该执行主体侧的多方授权场景下的资源访问方法。例如,有关授权节点执行的步骤,可以单独实现成为授权节点侧的多方授权场景下的资源访问方法;有关资源节点执行的步骤,可以单独实现成为资源节点侧的多方授权场景下的资源访问方法。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图7,其示出了本申请一个实施例提供的多方授权场景下的资源访问装置的框图。该装置具有实现上述授权节点侧的方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的授权节点,也可以设置在授权节点上。该装置700可以包括:请求接收模块710、请求校验模块720、证书生成模块730和证书发送模块740。
请求接收模块710,用于接收来自于所述业务节点的授权请求,所述授权请求用于获取所述授权节点对应的授权证书,所述授权请求是所述业务节点在接收到来自客户端的资源访问请求后向所述n个授权节点中的m个授权节点发起的,所述资源访问请求用于访问所述资源节点,所述m为大于1且小于等于所述n的整数。
请求校验模块720,用于对所述授权请求进行校验。
证书生成模块730,用于响应于所述授权请求校验通过,生成所述授权证书。
证书发送模块740,用于向所述业务节点发送所述授权证书。
其中,所述m个授权节点生成的m个授权证书,以链式认证结构形成授权证书链,每个授权证书由一个授权节点生成,所述授权证书链用于供所述资源节点对所述资源访问请求进行授权验证。
在示例性实施例中,所述授权证书包括所述授权节点的身份信息、所述授权节点的授权内容、上一个证书的指纹信息,以及所述授权节点的签名信息。
在示例性实施例中,所述证书生成模块730,用于:
创建所述授权证书;
在所述授权证书中写入所述授权节点的身份信息;
在所述授权证书中写入所述授权节点的授权内容;
采用哈希算法计算所述上一个证书的指纹信息,并在所述授权证书中写入所述上一个证书的指纹信息;
采用所述授权节点的私钥,对所述授权证书进行签名,并在所述授权证书中写入所述授权节点的签名结果。
在示例性实施例中,所述请求校验模块720,用于:
对所述授权节点接收到的授权请求中包括的授权证书链进行校验;
响应于所述授权请求中包括的授权证书链校验通过,对所述资源访问请求的请求内容进行校验;
响应于所述资源访问请求的请求内容校验通过,执行所述生成授权证书的步骤。
综上所述,本申请实施例提供的技术方案,通过业务节点在接收到资源访问请求之后,向多个授权节点发起授权请求,授权节点生成该资源访问请求对应的授权证书链,该授权证书链包括以链式认证结构记录的多个授权证书,每个授权证书由一个授权节点生成,后续由资源节点对授权证书链进行校验,并在校验通过的情况下对资源访问请求进行响应;由于各个授权方分别独立生成各自的授权证书,资源节点在校验各个授权方的授权证书通过之后,才对请求进行响应,使得本申请实施例能够适用于授权方有多层级依赖关系,且授权方分散的微服务场景,而且有效解决了多方授权权限隔离要求与多方授权证书完整性要求的矛盾,从根本上保证了授权的安全性。
请参考图8,其示出了本申请另一个实施例提供的多方授权场景下的资源访问装置的框图。该装置具有实现上述资源节点侧的方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的资源节点,也可以设置在资源节点上。该装置800可以包括:信息接收模块810、证书校验模块820和请求响应模块830。
信息接收模块810,用于接收所述业务节点发送的资源访问请求以及所述资源访问请求对应的授权证书链;其中,所述资源访问请求是客户端用于访问所述资源节点的请求,所述授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成,所述m为大于1且小于等于所述n的整数。
证书校验模块820,用于对所述授权证书链进行校验。
请求响应模块830,用于响应于所述授权证书链校验通过,对所述资源访问请求进行响应。
在示例性实施例中,所述证书校验模块820,用于:
对于所述授权证书链中的第i个授权证书,响应于所述第i个授权证书中包括的指纹信息与上一个证书的指纹信息相匹配,根据所述第i个授权证书中包括的第i个授权节点的身份信息,获取所述第i个授权节点的公钥;其中,所述i的初始值为1,且所述i为小于等于所述m的正整数;
采用所述第i个授权节点的公钥,对所述第i个授权证书中包括的所述第i个授权节点的签名结果进行验签;
响应于所述第i个授权节点的签名结果验签通过,确定所述第i个授权证书校验通过;
其中,所述授权证书链校验通过是指所述m个授权证书均校验通过。
在示例性实施例中,所述证书校验模块820,用于:
从预设对应关系中,获取与所述第i个授权节点的身份信息相对应的公钥,得到所述第i个授权节点的公钥;
其中,所述预设对应关系包括所述授权节点的身份信息和公钥之间的对应关系。
在示例性实施例中,所述证书校验模块820,用于:
从所述第i个授权节点的身份信息中,获取所述第i个授权节点的证书;
基于所述第i个授权节点的证书,获取所述第i个授权节点的公钥;
其中,所述第i个授权节点的证书以证书链的形式记录在所述第i个授权节点的身份信息中。
在示例性实施例中,所述请求响应模块830,用于:
响应于所述授权证书链校验通过,合并所述m个授权节点的授权内容,确定所述客户端具备的权限;
基于所述客户端具备的权限,对所述资源访问请求进行响应。
综上所述,本申请实施例提供的技术方案,通过业务节点在接收到资源访问请求之后,向多个授权节点发起授权请求,授权节点生成该资源访问请求对应的授权证书链,该授权证书链包括以链式认证结构记录的多个授权证书,每个授权证书由一个授权节点生成,后续由资源节点对授权证书链进行校验,并在校验通过的情况下对资源访问请求进行响应;由于各个授权方分别独立生成各自的授权证书,资源节点在校验各个授权方的授权证书通过之后,才对请求进行响应,使得本申请实施例能够适用于授权方有多层级依赖关系,且授权方分散的微服务场景,而且有效解决了多方授权权限隔离要求与多方授权证书完整性要求的矛盾,从根本上保证了授权的安全性。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图9,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以是服务器,可用于执行上述实施例中提供的业务节点、授权节点、资源节点或登录节点侧的方法流程。具体来讲:
计算机设备900包括中央处理单元(Central Processing Unit ,CPU)901、包括随机存取存储器(Random Access Memory ,RAM)902和只读存储器(Read Only Memory,ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。计算机设备900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)906,和用于存储操作系统913、应用程序914和其他程序模块912的大容量存储设备907。
基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。大容量存储设备907及其相关联的计算机可读介质为计算机设备900提供非易失性存储。也就是说,大容量存储设备907可以包括诸如硬盘或者CD-ROM(CompactDisc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory, 电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
根据本申请的各种实施例,计算机设备900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备900可以通过连接在系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述多方授权场景下的资源访问方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时以实现上述多方授权场景下的资源访问方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM, Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述多方授权场景下的资源访问方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种多方授权场景下的资源访问方法,其特征在于,应用于多方授权场景下的资源访问系统中,所述系统包括:业务节点、n个授权节点,以及资源节点,所述n为大于1的整数;
所述方法包括:
所述业务节点接收来自于客户端的资源访问请求,所述资源访问请求用于访问所述资源节点;向所述n个授权节点中的m个授权节点发起授权请求,所述授权请求用于获取所述授权节点对应的授权证书,所述m为大于1且小于等于所述n的整数;
所述授权节点生成所述资源访问请求对应的授权证书链,所述授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成;
所述资源节点对所述授权证书链进行校验;响应于所述授权证书链校验通过,对所述资源访问请求进行响应;
其中,所述授权节点生成所述资源访问请求对应的授权证书链,包括:
对于所述m个授权节点中的第i个授权节点,所述第i个授权节点对接收到的授权请求进行校验,所述第i个授权节点接收到的授权请求中包括:之前节点已生成的授权证书链,以及所述资源访问请求的请求内容;
响应于所述第i个授权节点接收到的授权请求校验通过,所述第i个授权节点生成第i个授权证书;
其中,所述第i个授权证书包括所述第i个授权节点的身份信息、所述第i个授权节点的授权内容、所述第i个授权证书的上一个证书的指纹信息,以及所述第i个授权节点的签名信息,所述i为小于等于所述m的正整数。
2.根据权利要求1所述的方法,其特征在于,所述第i个授权节点生成第i个授权证书,包括:
创建所述第i个授权证书;
在所述第i个授权证书中写入所述第i个授权节点的身份信息;
在所述第i个授权证书中写入所述第i个授权节点的授权内容;
采用哈希算法计算所述上一个证书的指纹信息,并在所述第i个授权证书中写入所述上一个证书的指纹信息;
采用所述第i个授权节点的私钥,对所述第i个授权证书进行签名,并在所述第i个授权证书中写入所述第i个授权节点的签名结果。
3.根据权利要求1所述的方法,其特征在于,所述第i个授权节点对接收到的授权请求进行校验,包括:
对所述第i个授权节点接收到的授权请求中包括的授权证书链进行校验;
响应于所述授权请求中包括的授权证书链校验通过,对所述资源访问请求的请求内容进行校验;
响应于所述资源访问请求的请求内容校验通过,执行所述生成第i个授权证书的步骤。
4.根据权利要求1所述的方法,其特征在于,所述资源节点对所述授权证书链进行校验,包括:
对于所述授权证书链中的第i个授权证书,响应于所述第i个授权证书中包括的指纹信息与上一个证书的指纹信息相匹配,根据所述第i个授权证书中包括的第i个授权节点的身份信息,获取所述第i个授权节点的公钥;其中,所述i的初始值为1,且所述i为小于等于所述m的正整数;
采用所述第i个授权节点的公钥,对所述第i个授权证书中包括的所述第i个授权节点的签名结果进行验签;
响应于所述第i个授权节点的签名结果验签通过,确定所述第i个授权证书校验通过;
其中,所述授权证书链校验通过是指所述m个授权证书均校验通过。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第i个授权证书中包括的第i个授权节点的身份信息,获取所述第i个授权节点的公钥,包括:
从预设对应关系中,获取与所述第i个授权节点的身份信息相对应的公钥,得到所述第i个授权节点的公钥;
其中,所述预设对应关系包括所述授权节点的身份信息和公钥之间的对应关系。
6.根据权利要求4所述的方法,其特征在于,所述根据所述第i个授权证书中包括的第i个授权节点的身份信息,获取所述第i个授权节点的公钥,包括:
从所述第i个授权节点的身份信息中,获取所述第i个授权节点的证书;
基于所述第i个授权节点的证书,获取所述第i个授权节点的公钥;
其中,所述第i个授权节点的证书以证书链的形式记录在所述第i个授权节点的身份信息中。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述响应于所述授权证书链校验通过,对所述资源访问请求进行响应,包括:
响应于所述授权证书链校验通过,合并所述m个授权节点的授权内容,确定所述客户端具备的权限;
基于所述客户端具备的权限,对所述资源访问请求进行响应。
8.根据权利要求1至6任一项所述的方法,其特征在于,所述系统还包括:登录节点;
所述业务节点接收来自于客户端的资源访问请求之前,还包括:
所述登录节点接收来自于所述客户端的登录请求,所述登录请求包括请求登录的用户帐号和密码信息;
响应于所述用户帐号和密码信息验证通过,所述登录节点生成所述客户端的身份证书,所述身份证书包括所述客户端登录的用户帐号信息和登录信息;
所述登录节点向所述客户端发送所述身份证书;
其中,所述资源访问请求中携带所述身份证书。
9.一种多方授权场景下的资源访问方法,其特征在于,应用于多方授权场景下的资源访问系统中的授权节点,所述系统包括:业务节点、n个授权节点,以及资源节点,所述n为大于1的整数;
所述方法包括:
接收来自于所述业务节点的授权请求,所述授权请求用于获取所述授权节点对应的授权证书,所述授权请求是所述业务节点在接收到来自客户端的资源访问请求后向所述n个授权节点中的m个授权节点发起的,所述资源访问请求用于访问所述资源节点,所述m为大于1且小于等于所述n的整数;
对所述授权请求进行校验,所述授权请求中包括:之前节点已生成的授权证书链,以及所述资源访问请求的请求内容;
响应于所述授权请求校验通过,生成所述授权证书,所述授权证书包括所述授权节点的身份信息、所述授权节点的授权内容、上一个证书的指纹信息,以及所述授权节点的签名信息;
向所述业务节点发送所述授权证书;
其中,所述m个授权节点生成的m个授权证书,以链式认证结构形成授权证书链,每个授权证书由一个授权节点生成,所述授权证书链用于供所述资源节点对所述资源访问请求进行授权验证。
10.一种多方授权场景下的资源访问方法,其特征在于,应用于多方授权场景下的资源访问系统中的资源节点,所述系统包括:业务节点、n个授权节点,以及所述资源节点,所述n为大于1的整数;
所述方法包括:
接收所述业务节点发送的资源访问请求以及所述资源访问请求对应的授权证书链;其中,所述资源访问请求是客户端用于访问所述资源节点的请求,所述授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成,所述m为大于1且小于等于所述n的整数;
对所述授权证书链进行校验;
响应于所述授权证书链校验通过,对所述资源访问请求进行响应;
其中,所述授权证书链中的第i个授权证书,是第i个授权节点在对接收到的授权请求校验通过的情况下生成的;所述第i个授权节点接收到的授权请求中包括:之前节点已生成的授权证书链,以及所述资源访问请求的请求内容;所述第i个授权证书包括所述第i个授权节点的身份信息、所述第i个授权节点的授权内容、所述第i个授权证书的上一个证书的指纹信息,以及所述第i个授权节点的签名信息,所述i为小于等于所述m的正整数。
11.一种多方授权场景下的资源访问装置,其特征在于,应用于多方授权场景下的资源访问系统中的授权节点,所述系统包括:业务节点、n个授权节点,以及资源节点,所述n为大于1的整数;
所述装置包括:
请求接收模块,用于接收来自于所述业务节点的授权请求,所述授权请求用于获取所述授权节点对应的授权证书,所述授权请求是所述业务节点在接收到来自客户端的资源访问请求后向所述n个授权节点中的m个授权节点发起的,所述资源访问请求用于访问所述资源节点,所述m为大于1且小于等于所述n的整数;
请求校验模块,用于对所述授权请求进行校验,所述授权请求中包括:之前节点已生成的授权证书链,以及所述资源访问请求的请求内容;
证书生成模块,用于响应于所述授权请求校验通过,生成所述授权证书,所述授权证书包括所述授权节点的身份信息、所述授权节点的授权内容、上一个证书的指纹信息,以及所述授权节点的签名信息;
证书发送模块,用于向所述业务节点发送所述授权证书;
其中,所述m个授权节点生成的m个授权证书,以链式认证结构形成授权证书链,每个授权证书由一个授权节点生成,所述授权证书链用于供所述资源节点对所述资源访问请求进行授权验证。
12.一种多方授权场景下的资源访问装置,其特征在于,应用于多方授权场景下的资源访问系统中的资源节点,所述系统包括:业务节点、n个授权节点,以及所述资源节点,所述n为大于1的整数;
所述装置包括:
信息接收模块,用于接收所述业务节点发送的资源访问请求以及所述资源访问请求对应的授权证书链;其中,所述资源访问请求是客户端用于访问所述资源节点的请求,所述授权证书链包括以链式认证结构记录的m个授权证书,每个授权证书由一个授权节点生成,所述m为大于1且小于等于所述n的整数;
证书校验模块,用于对所述授权证书链进行校验;
请求响应模块,用于响应于所述授权证书链校验通过,对所述资源访问请求进行响应;
其中,所述授权证书链中的第i个授权证书,是第i个授权节点在对接收到的授权请求校验通过的情况下生成的;所述第i个授权节点接收到的授权请求中包括:之前节点已生成的授权证书链,以及所述资源访问请求的请求内容;所述第i个授权证书包括所述第i个授权节点的身份信息、所述第i个授权节点的授权内容、所述第i个授权证书的上一个证书的指纹信息,以及所述第i个授权节点的签名信息,所述i为小于等于所述m的正整数。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求9或10所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求9或10所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010237909.4A CN111131336B (zh) | 2020-03-30 | 2020-03-30 | 多方授权场景下的资源访问方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010237909.4A CN111131336B (zh) | 2020-03-30 | 2020-03-30 | 多方授权场景下的资源访问方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131336A CN111131336A (zh) | 2020-05-08 |
CN111131336B true CN111131336B (zh) | 2020-07-17 |
Family
ID=70493893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010237909.4A Active CN111131336B (zh) | 2020-03-30 | 2020-03-30 | 多方授权场景下的资源访问方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131336B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113079154B (zh) * | 2021-03-29 | 2021-12-31 | 北京深思数盾科技股份有限公司 | 密钥授权使用方法、电子设备及计算机可读存储介质 |
CN112989309B (zh) * | 2021-05-21 | 2021-08-20 | 统信软件技术有限公司 | 基于多方授权的登录方法、认证方法、系统及计算设备 |
CN114640497B (zh) * | 2022-01-26 | 2023-03-17 | 山东中网云安智能科技有限公司 | 一种网络安全隔离系统 |
CN114679495B (zh) * | 2022-02-08 | 2024-01-05 | 阿里云计算有限公司 | 一种资源服务操作请求的调度编排方法和调度执行方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107592292A (zh) * | 2017-07-26 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 一种区块链节点间通信方法及装置 |
US10032044B2 (en) * | 2015-08-08 | 2018-07-24 | Airwatch Llc | Multi-party authentication and authorization |
CN109617699A (zh) * | 2019-01-16 | 2019-04-12 | 北京沃东天骏信息技术有限公司 | 一种密钥生成方法、区块链网络服务平台及存储介质 |
CN109636569A (zh) * | 2018-10-25 | 2019-04-16 | 优信数享(北京)信息技术有限公司 | 一种基于区块链的征信数据管理方法及系统 |
CN109697365A (zh) * | 2018-12-20 | 2019-04-30 | 深圳市元征科技股份有限公司 | 信息处理方法及区块链节点、电子设备 |
CN109995737A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 去中心化的数字证书管理方法及装置、节点、系统 |
CN110149633A (zh) * | 2019-05-16 | 2019-08-20 | 桂林电子科技大学 | 一种支持批验证的安全多方认证方法及系统 |
CN110224984A (zh) * | 2019-05-07 | 2019-09-10 | 平安科技(深圳)有限公司 | 一种基于区块链技术的多方授权方法及装置 |
CN110535628A (zh) * | 2019-08-29 | 2019-12-03 | 阿里巴巴集团控股有限公司 | 通过证书签发进行多方安全计算的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095225A1 (en) * | 2013-10-02 | 2015-04-02 | Mastercard International Incorporated | Enabling synchronization between disparate payment account systems |
-
2020
- 2020-03-30 CN CN202010237909.4A patent/CN111131336B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10032044B2 (en) * | 2015-08-08 | 2018-07-24 | Airwatch Llc | Multi-party authentication and authorization |
CN107592292A (zh) * | 2017-07-26 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 一种区块链节点间通信方法及装置 |
CN109995737A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 去中心化的数字证书管理方法及装置、节点、系统 |
CN109636569A (zh) * | 2018-10-25 | 2019-04-16 | 优信数享(北京)信息技术有限公司 | 一种基于区块链的征信数据管理方法及系统 |
CN109697365A (zh) * | 2018-12-20 | 2019-04-30 | 深圳市元征科技股份有限公司 | 信息处理方法及区块链节点、电子设备 |
CN109617699A (zh) * | 2019-01-16 | 2019-04-12 | 北京沃东天骏信息技术有限公司 | 一种密钥生成方法、区块链网络服务平台及存储介质 |
CN110224984A (zh) * | 2019-05-07 | 2019-09-10 | 平安科技(深圳)有限公司 | 一种基于区块链技术的多方授权方法及装置 |
CN110149633A (zh) * | 2019-05-16 | 2019-08-20 | 桂林电子科技大学 | 一种支持批验证的安全多方认证方法及系统 |
CN110535628A (zh) * | 2019-08-29 | 2019-12-03 | 阿里巴巴集团控股有限公司 | 通过证书签发进行多方安全计算的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111131336A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220247572A1 (en) | Secure dynamic threshold signature scheme employing trusted hardware | |
US20230155821A1 (en) | Secure shared key establishment for peer to peer communications | |
KR102472231B1 (ko) | 블록체인 구현 방법 및 시스템 | |
US11115418B2 (en) | Registration and authorization method device and system | |
CN111131336B (zh) | 多方授权场景下的资源访问方法、装置、设备及存储介质 | |
CN112131316B (zh) | 应用于区块链系统的数据处理方法及装置 | |
CN108768633B (zh) | 实现区块链中信息共享的方法及装置 | |
CN111797159A (zh) | 数据库中的信息管理和访问控制 | |
KR20210040078A (ko) | 안전한 보관 서비스를 위한 시스템 및 방법 | |
CN110800250A (zh) | 受控加密私钥的发布 | |
CN110881063A (zh) | 一种隐私数据的存储方法、装置、设备及介质 | |
CN111541542B (zh) | 请求的发送和验证方法、装置及设备 | |
CN110708162B (zh) | 资源的获取方法、装置、计算机可读介质及电子设备 | |
CN115460019B (zh) | 基于数字身份的目标应用提供方法和装置、设备和介质 | |
US20230237437A1 (en) | Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN111212026A (zh) | 基于区块链的数据处理方法、装置及计算机设备 | |
CN109257381A (zh) | 一种密钥管理方法、系统及电子设备 | |
CN114514550A (zh) | 将请求分区成区块链的交易 | |
CN115514578B (zh) | 基于区块链的数据授权方法和装置、电子设备和存储介质 | |
Kumar et al. | Analysis and design of an optimized secure auditing protocol for storing data dynamically in cloud computing | |
Chang et al. | A dependable storage service system in cloud environment | |
US20230360123A1 (en) | Cryptocurrency exchange platform | |
KR101997117B1 (ko) | 그룹 멤버간 정보 공유를 위한 그룹키 관리 및 인증 방법과 그 장치 | |
CN115396085A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |