一种基于云原生的区块链的授权运行方法及装置制造方法及图纸

技术编号:31678940 阅读:15 留言:0更新日期:2022-01-01 10:24
一种基于云原生的区块链的授权运行方法及装置,所述方法包括:从预设的文件映射区域内,获取区块链许可证;其中,所述预设的文件映射区域与用于运行区块链节点的运行环境相关联;从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;若所述授权信息的合法性校验通过,则开放所述运行环境的运行权限,以在所述运行环境中,基于所述授权信息中包括的运行参数,部署并运行所述待运行的区块链节点。应用本方案,可以以非侵入的方式实现云原生环境下的区块链授权运行,有助于改善软件的可移植性和安全性。件的可移植性和安全性。件的可移植性和安全性。

【技术实现步骤摘要】
一种基于云原生的区块链的授权运行方法及装置


[0001]本说明书涉及区块链
,尤其涉及一种基于云原生的区块链的授权运行方法及装置。

技术介绍

[0002]对于互联网企业而言,常常需要自行搭建区块链以满足自身的存证、共识、资产管理等业务需求,而具体使用的区块链则往往来自于更底层的区块链开发企业;这些区块链开发企业可以根据上层企业的需求,定制化开发产品性质的区块链;而在这种模式下,为了保障区块链开发企业的权益、避免盗版,与商业版本的工程软件、设计软件类似,作为商业产品的区块链也需要具备授权运行的功能。
[0003]在相关技术中,上述区块链的执行代码中可以包含有授权校验相关的内容,在区块链被部署启动后,这部分与授权校验相关的内容就会尝试通过校验许可证等方式,保证当前运行的区块链副本仅在获得授权的情况下运行。然而,在云环境下,采用上述设计方案则可能需要区块链从容器环境外获取许可证或者硬件识别码,容易造成安全隐患。

技术实现思路

[0004]有鉴于此,本说明书公开了一种基于云原生的区块链的授权运行方法和装置。
[0005]根据本说明书实施例的第一方面,公开了一种基于云原生的区块链的授权运行方法,包括:从预设的文件映射区域内,获取区块链许可证;其中,所述预设的文件映射区域与用于运行区块链节点的运行环境相关联;从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;若所述授权信息的合法性校验通过,则开放所述运行环境的运行权限,以在所述运行环境中,基于所述授权信息中包括的运行参数,部署并运行所述待运行的区块链节点。
[0006]可选的,所述云原生集群包括Kubernetes集群;所述运行环境包括:所述Kubernetes集群所支持的全部运行环境;所述预设的文件映射区域包括:与预设的集群operator处于同一命名空间的Configmap文件或者secret文件;所述从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性,包括:调用所述集群operator,从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;所述开放所述运行环境的运行权限,包括:授权所述Kubernetes集群作为所述待运行的区块链的运行环境。
[0007]可选的,所述云原生集群包括Kubernetes集群;所述运行环境包括:所述Kubernetes集群中用于运行区块链节点的pod;所述预设的文件映射区域包括:与所述用于运行区块链节点的pod处于同一命名空间的Configmap文件或者secret文件;所述从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性,包括:调用所述用于运行区块链节点的pod的初始化容器init container,从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;所述开放所述运行环境的运行权限,包括:授权所述用于运行区块链节点的pod作为所述待运行的区块链的运行环境。
[0008]可选的,所述授权信息包括下列信息中的任意一种或者多种的组合:所述待运行区块链的命名规范;所述待运行区块链的可运行数量上限;所述待运行区块链的可运行时间区间。
[0009]可选的,所述云原生集群从预设的文件映射区域内,获取区块链许可证,包括:云原生集群从预设的文件映射区域内,获取经所述云原生集群公钥加密的区块链许可证,并对所述区块链许可证使用所述云原生集群的私钥进行解密。
[0010]根据本说明书实施例的第二方面,公开了一种基于云原生的区块链的授权运行装置,包括:获取模块,从预设的文件映射区域内,获取区块链许可证;其中,所述预设的文件映射区域与用于运行区块链节点的运行环境相关联;校验模块,从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;授权模块,若所述授权信息的合法性校验通过,则开放所述运行环境的运行权限,以在所述运行环境中,基于所述授权信息中包括的运行参数,部署并运行所述待运行的区块链节点。
[0011]可选的,所述云原生集群包括Kubernetes集群;所述运行环境包括:所述Kubernetes集群所支持的全部运行环境;所述预设的文件映射区域包括:与预设的集群operator处于同一命名空间的Configmap文件或者secret文件;所述校验模块进一步:调用所述集群operator,从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;所述授权模块进一步:授权所述Kubernetes集群作为所述待运行的区块链的运行环境。
[0012]可选的,所述云原生集群包括Kubernetes集群;所述运行环境包括:所述Kubernetes集群中用于运行区块链节点的pod;所述预设的文件映射区域包括:与所述用于
运行区块链节点的pod处于同一命名空间的Configmap文件或者secret文件;所述校验模块进一步:调用所述用于运行区块链节点的pod的初始化容器init container,从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;所述授权模块进一步:授权所述用于运行区块链节点的pod作为所述待运行的区块链的运行环境。
[0013]可选的,所述授权信息包括下列信息中的任意一种或者多种的组合:所述待运行区块链的命名规范;所述待运行区块链的可运行数量上限;所述待运行区块链的可运行时间区间。
[0014]可选的,所述获取模块进一步:从预设的文件映射区域内,获取经所述云原生集群公钥加密的区块链许可证,并对所述区块链许可证使用所述云原生集群的私钥进行解密。
[0015]根据本说明书实施例的第三方面,公开了一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现上述任一方面实施例所述的方法。
[0016]根据本说明书实施例的第四方面,公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方面实施例所述的方法。
[0017]以上技术方案中,由于实际进行合法性校验的步骤在云原生集群层面上执行,校验过程所使用的区块链许可证亦为从云原生集群的预设文件映射区域内获取,并且,对区块链节点的运行控制是通过控制运行环境的运行权限实现的;因此,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于云原生的区块链的授权运行方法,应用于云原生集群,包括:从预设的文件映射区域内,获取区块链许可证;其中,所述预设的文件映射区域与用于运行区块链节点的运行环境相关联;从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;若所述授权信息的合法性校验通过,则开放所述运行环境的运行权限,以在所述运行环境中,基于所述授权信息中包括的运行参数,部署并运行所述待运行的区块链节点。2.根据权利要求1所述的方法,所述云原生集群包括Kubernetes集群;所述运行环境包括:所述Kubernetes集群所支持的全部运行环境;所述预设的文件映射区域包括:与预设的集群operator处于同一命名空间的Configmap文件或者secret文件;所述从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性,包括:调用所述集群operator,从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;所述开放所述运行环境的运行权限,包括:授权所述Kubernetes集群作为所述待运行的区块链的运行环境。3.根据权利要求1所述的方法,所述云原生集群包括Kubernetes集群;所述运行环境包括:所述Kubernetes集群中用于运行区块链节点的pod;所述预设的文件映射区域包括:与所述用于运行区块链节点的pod处于同一命名空间的Configmap文件或者secret文件;所述从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性,包括:调用所述用于运行区块链节点的pod的初始化容器init container,从所述区块链许可证中获取待运行的区块链的授权信息、所述授权信息的数字签名、以及所述数字签名的验签公钥,并基于所述验签公钥,校验所述授权信息的合法性;所述开放所述运行环境的运行权限,包括:授权所述用于运行区块链节点的pod作为所述待运行的区块链的运行环境。4.根据权利要求1所述的方法,所述授权信息包括下列信息中的任意一种或者多种的组合:所述待运行区块链的命名规范;所述待运行区块链的可运行数量上限;所述待运行区块链的可运行时间区间。5.根据权利要求1所述的方法,所述云原生集群从预设的文件映射区域内,获取区块链许可证,包括:云原生集群从预设的文件映射区域内,获取经所述云原生集群公钥加密的区块链许可证,并对所述区块链许可证使用所述云原生集...

【专利技术属性】
技术研发人员:王晓亮宁志伟
申请(专利权)人:北京溪塔科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1