一种基于区块链的数据计算容器化可信执行方法技术

技术编号:37843772 阅读:17 留言:0更新日期:2023-06-14 09:49
本发明专利技术公开了一种基于区块链的数据计算容器化可信执行方法,属于区块链技术领域,通过区块链账户地址进行智能合约控制的身份认证,定义容器访问分布式存储资源的权限控制;通过智能合约构建秘钥管理中心,管理分配数据拥有者、云服务提供方及数据用户数据子密钥;通过代理重加密保证子密钥和重构密钥的传输安全;将数据计算容器执行日志通过Sidecar形式记录留存上链。解决数据拥有者、云服务提供方及数据用户三方间容器化数据计算过程中的隐私信任问题,在数据计算容器化执行过程中保护了数据隐私及授权密钥的隐私,同时保护了容器执行过程记录的隐私。器执行过程记录的隐私。器执行过程记录的隐私。

【技术实现步骤摘要】
一种基于区块链的数据计算容器化可信执行方法


[0001]本专利技术属于区块链
,具体涉及一种基于区块链的数据计算容器化可信执行方法。

技术介绍

[0002]现代的软件工程开发团队持续扩展对于容器的使用,如今基于容器的微服务应用程序无处不在。容器是指一种轻量级,更灵活的虚拟化处理方式,它将一个应用程序所需的一切打包在一起。容器包括代码,应用程序依赖以及应用程序运行环境,使得应用程序几乎在任何地方都可以运行。不断增长的容器使用者正在积极推动简化集群操作的方式。如今,大量采用容器运行应用程序的组织采用K8S来在不断发展的生态系统中部署和管理容器。K8S全称 Kubernete,是用8代替8个字符“ubernete”而成的缩写,是一个开源用于管理云平台多主机上容器化应用。云托管的K8S服务使团队可以轻松地在云上运行K8S集群。在当前加快培育数据要素市场的大环境下,数据互联互通需求愈发强烈,云托管下的容器环境的数据共享场景愈发普遍,在数据拥有者、云服务提供商、数据用户三方间基于容器的数据计算过程中,如何实现安全隐私的可信容器执行方法,尚未形成完整流程。在中国专利CN111787116B中公开了一种基于区块链技术的容器镜像可信认证的系统与方法,该专利对容器镜像文件的在镜像仓库及K8S间的可信认证进行了阐述,但并未涉及容器实际执行过程中及数据的可信情况,也未涉及数据拥有者,云服务提供商,数据用户三方间的数据密钥管理及可信传输;在中国专利CN115021972A中公开了一种基于区块链的可信计算方法、装置、设备及介质,该专利中一种基于区块链的可信计算方法阐述了基于密钥生成算法推导确定对称解密密钥对加密计算物料进行解密,并未考虑密钥传输中通过代理重加密保证传输安全性问题,也并未考虑在容器环境下执行的情况;在中国专利CN113239359A中公开了一种区块链可信容器安全加固系统及方法,其阐述了对容器本身的安全加固,未考虑容器数据交换及计算过程中的安全可信。
[0003]在现有云托管下的容器环境中执行数据计算存在如下问题:其一,基于角色的访问控制,当受到内部超级管理员的非法访问或外部恶意攻击时,容易导致安全和隐私问题。其二,目前敏感数据隐私的有效保护方式是通过加密后进行访问控制,由于数据解密的密钥通常是直接由用户本人或由第三方机构进行存储和管理,也存在安全和隐私的问题。其三,数据拥有者及数据用户在数据隐私或计算过程隐私上对云服务提供商存在信任问题。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种基于区块链的数据计算容器化可信执行方法。
[0005]为达到上述目的,本专利技术提供如下技术方案:一种基于区块链的数据计算容器化可信执行方法,包括如下步骤:S1:数据拥有者、云服务提供商、数据用户通过加密算法生成各自的公私钥对,并
对彼此公开公钥;S2:数据拥有者生成数据对称加密密钥S,对计算所需数据进行加密并存入由智能合约进行访问控制的分布式存储中;S3:数据拥有者通过加密算法生成数据计算公私钥对,通过访问控制智能合约添加数据计算公钥账户允许访问储存于分布式存储中加密后数据的权限,同时将数据计算公钥向数据用户及云服务提供商公开;S4:数据拥有者通过区块链部署密钥管理智能合约,将加密密钥S使用秘密分配算法推导出子密钥,通过代理重加密将云服务提供商和数据用户的子密钥安全发送至各方;代理重加密是一种基于公钥加密体系的密码学方案实现,通过这一方案,可以在不知道密钥内容的情况下,将密钥从一个公钥对应的实体转移到另一个公钥对应的实体。
[0006]S5:数据用户向云服务提供商发起请求,通过云服务提供商部署数据计算容器镜像,云服务提供商通过Sidecar进行容器执行记录日志采集,Sidecar随容器一同启动;Sidecar是指应用程序容器化部署时,通常需要一些相关的基础功能,如监控、日志、配置和网络服务,这些外围功能作为独立的组件或服务,在运行时环境和编程语言方面独立于主应用程序,以提供隔离和封装。
[0007]S6:数据计算容器发起获取数据请求至分布式存储访问控制智能合约,数据拥有者通过数据计算私钥签名发送允许获取数据请求至分布式存储访问控制智能合约;S7:分布式存储访问控制智能合约收到允许获取数据请求,添加允许数据计算容器访问的记录,分布式存储向数据计算容器响应存储的加密数据的获取请求;S8:数据计算容器获取到经由S加密后的所需计算数据,通过数据用户子密钥向密钥管理合约发起恢复密钥请求;S9:数据拥有者、云服务提供商也发起恢复密钥请求,通过各自子密钥向密钥管理合约发送恢复密钥请求;S10:密钥管理合约通过秘密重构算法恢复出对称加密密钥S;S11:云服务提供商容器平台请求密钥管理合约获取重加密的加密密钥,并经由代理重加密将密钥注入至容器,数据计算容器解密代理重加密密钥后,恢复加密数据执行计算逻辑;S12:数据计算容器Sidecar记录容器计算过程至分布式存储中,向分布式存储访问控制合约记录数据拥有者及数据用户可访问权限;S13:数据计算容器Sidecar将容器相关执行日志保存至分布式存储中,并通过容器执行记录合约将日志信息锚定和存证。
[0008]进一步,步骤S3中,数据拥有者使用椭圆曲线加密算法生成数据计算公私钥对。
[0009]进一步,步骤S4中,数据拥有者通过区块链部署密钥管理智能合约,将加密密钥S使用秘密分配算法推导出子密钥,通过代理重加密将云服务提供商和数据用户的子密钥安全发送至各方,具体包括以下步骤:S41:通过Shamir秘密共享算法实现密钥管理合约的子密钥分配:;子秘密分配随机多项式:
S42:数据拥有者访问密钥管理合约,获取数据拥有者的子密钥s1、云服务提供商的子密钥s2以及数据用户的子密钥s3;S43:数据拥有者对云服务提供商和数据用户的子密钥进行重加密,并发送至云服务提供商;通过数据拥有者公钥重加密数据用户的子密钥s3得到cs3:数据拥有者用其公钥加密需要发送至数据用户的子密钥:;数据拥有者要求数据用户接受到子密钥,数据拥有者通过数据用户的公钥和自己的私钥创建重加密密钥并发送给云服务提供商:S44:云服务提供商作为中间人拿到重加密密钥和加密后的密钥密文,再次加密产生,并将发送给数据用户:。
[0010]进一步,步骤S5具体包括以下步骤:S51:数据用户接收到,通过自己的私钥来解出数据拥有者分享的子密钥;并通过安全方式写入容器镜像,向云服务提供商发起数据计算容器部署请求;S52:云服务提供商响应数据计算容器部署请求,向K8S请求容器资源调度;S53:K8S执行部署数据用户数据计算容器,同时注入Sidecar用于采集容器执行过程。
[0011]进一步,步骤S9具体包括:S91:云服务提供商订阅密钥管理合约恢复密钥事件,确认由数据计算容器发起后,通过子密钥s2向密钥管理合约请求恢复密钥;S92:数据拥有者订阅密钥管理合约恢复密钥事件,确认由数据计算容器及云服务提供商发起后,通过子密钥s1向密钥管理合约请求恢复密钥。
[0012]进一步,步骤S11具体包括以下步骤本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据计算容器化可信执行方法,其特征在于:包括如下步骤:S1:数据拥有者、云服务提供商、数据用户生成各自的公私钥对,对彼此公开公钥;S2:数据拥有者生成数据对称加密密钥S,对计算所需数据进行加密,存入由智能合约进行访问控制的分布式存储中;S3:数据拥有者生成数据计算公私钥对,通过所述智能合约添加数据计算公钥访问加密数据权限,将数据计算公钥向数据用户及云服务提供商公开;S4:数据拥有者通过区块链部署密钥管理智能合约,将加密密钥S使用秘密分配算法推导出子密钥,通过代理重加密将云服务提供商和数据用户的子密钥安全发送至各方;S5:数据用户向云服务提供商发起请求,通过云服务提供商部署数据计算容器镜像,云服务提供商通过数据计算容器Sideca进行容器执行记录日志采集;S6:数据计算容器发起获取数据请求至所述智能合约,数据拥有者通过数据计算私钥签名发送允许获取数据请求至所述智能合约;S7:所述智能合约收到允许获取数据请求,添加允许数据计算容器访问的记录,分布式存储向数据计算容器响应存储的加密数据的获取请求;S8:数据计算容器获取到经由S加密后的所需计算数据,通过数据用户子密钥向密钥管理合约发起恢复密钥请求;S9:数据拥有者、云服务提供商也发起恢复密钥请求,通过各自子密钥向密钥管理合约发送恢复密钥请求;S10:密钥管理合约通过秘密重构算法恢复出对称加密密钥S;S11:云服务提供商容器平台请求密钥管理合约获取重加密的加密密钥,并经由代理重加密将密钥注入至容器,数据计算容器解密代理重加密密钥后,恢复加密数据执行计算逻辑;S12:数据计算容器Sidecar记录容器计算过程至分布式存储中,向所述智能合约记录数据拥有者及数据用户可访问权限;S13:数据计算容器Sidecar将容器相关执行日志保存至分布式存储中,并通过容器执行记录合约将日志信息锚定和存证。2.根据权利要求1所述的基于区块链的数据计算容器化可信执行方法,其特征在于:步骤S3中,数据拥有者使用椭圆曲线加密算法生成数据计算公私钥对。3.根据权利要求1所述的基于区块链的数据计算容器化可信执行方法,其特征在于:步骤S4中,数据拥有者通过区块链部署密钥管理智能合约,将加密密钥S使用秘密分配算法推导出子密钥,通过代理重加密将云服务提供商和数据用户的子密钥安全发送至各方,具体包括以下步骤:S41:通过Shamir秘密共享算法实现密钥管理合约的子密钥...

【专利技术属性】
技术研发人员:解安可卢星宇张鸿勋孙龙启沈韬刘英莉冯立波
申请(专利权)人:云南省科学技术院昆明理工大学
类型:发明
国别省市:

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

1