一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于分布式存储的隐私计算方法与流程

2022-03-09 06:08:25 来源:中国专利 TAG:


1.本发明属于计算机技术领域,具体涉及一种基于分布式存储的隐私计算方法。


背景技术:

2.隐私计算技术目前主要的解决方案可以分为两类,一类是安全多方计算,数据保存在各参与方的本地,依靠密码学的相关原语进行安全计算;一类是可信计算,类似于可信第三方计算,通过将数据加密传输到可信执行环境内,在可信执行环境内进行解密与运算。
3.在现有的隐私计算技术中,对于安全多方计算,需要将参与方的数据保存在本地或者中心化的服务器上,存在存储成本较高,且传输时效率低的问题;而对于可信计算,大多采用基于内容可寻址的、版本化、点对点超媒体的分布式存储、传输协议的区块链方案,其中对于区块链上的存储和传输的数据,虽然能防止数据被篡改,但又存在数据被泄露的风险。


技术实现要素:

4.鉴于以上存在的技术问题,本发明用于提供一种基于分布式存储的隐私计算方法。
5.为解决上述技术问题,本发明采用如下的技术方案:
6.本发明的实施例提供一种基于分布式存储的隐私计算方法,包括:
7.一种基于分布式存储的隐私计算方法,包括以下步骤:
8.步骤1,数据提供方从密钥管理服务器上获取第一加密密钥,并根据第一加密密钥对数据进行加密;完成加密后的数据上传至分布式存储区块链上;密钥管理服务器又被称为kms服务器;
9.步骤2,代码提供方从kms服务器上请求第二加密密钥时,代码提供方请求参数携带代码名称以及代码哈希值,kms服务器对代码提供方进行身份认证后,生成第二加密密钥;代码提供方获取第二加密密钥后,对代码进行加密,并上传至分布式存储区块链上;
10.步骤3,数据使用方在分布式存储区块链上浏览检索已上传的数据以及代码,选择合适的数据及代码,并向对应的数据提供方、代码提供方通过授权智能合约进行申请使用;
11.步骤4,对应的数据提供方、代码提供方接受数据使用方的申请,申请通过后记录此条授权的相关信息;
12.步骤5,数据使用方发起隐私计算任务,并对此任务信息中包括的数据提供方、数据名称、数据哈希值、代码提供方、代码名称、代码哈希值进行签名;
13.步骤6,计算方收到计算任务后,并获取步骤5的任务信息与任务的签名,依据参与计算的数据名称、数据哈希值以及代码名称、代码哈希值向kms服务器分别申请相应的参与隐私计算的解密数据密钥及解密代码密钥;
14.步骤7,kms服务器依据计算方提供的计算任务信息及数据使用方签名,查询授权记录后确认相应的数据及代码已被相应的上传方授权给对应的数据使用方后,向计算方分
发解密数据和代码的密钥;
15.步骤8,计算方在计算方的可信执行环境内收到密钥后,依靠内容寻址地址获取参与运算的密文数据及加密后的代码,然后解密数据及代码后,并执行代码,计算得出结果,并将结果用数据使用方的公钥加密后上传分布式存储区块链;
16.步骤9,数据使用方从分布式存储区块链上获得加密后的文本,用私钥解密后获得相应的计算结果。
17.一种可能设计中,所述步骤1中的第一加密密钥为密钥管理服务器对数据提供方进行身份验证后生成获得,其中生成的方法包括软件生成以及与硬件密钥产生器相互通信生成。
18.一种可能设计中,所述密钥管理服务器在生成第一加密密钥时,记录第一加密密钥的使用方id、数据名称以及对应数据哈希值。
19.一种可能设计中,所述密钥管理服务器在生成第二加密密钥时,记录第二加密密钥的使用方id、代码名称以及代码的哈希值。
20.一种可能设计中,所述步骤1中数据提供方通过区块链的文档上链智能合约实现加密后的数据上传至分布式存储区块链的操作;步骤2中的代码提供方通过区块链的代码上链智能合约实现加密后的代码上传至分布式存储区块链的操作。
21.一种可能设计中,所述步骤7中的kms服务器在向计算方分发密钥前,还需要对计算方进行可信计算环境的远程证明验证。
22.一种可能设计中,所述可信执行环境拥有脚本解释器,在可信执行环境里能够直接加载相应的代码并直接进行运行。
23.采用本发明具有如下的有益效果:
24.1、通过kms服务器获取密钥,先对数据和代码分别进行加密后再上传分布式存储区块链,保证数据和代码的存储安全,避免数据和代码遭到篡改;
25.2、通过数据请求方对加密的数据和代码进行请求,请求通过后记录授权信息,再由接受任务的计算方向kms服务器再次确认授权信息,保证授权信息准确无误,并且通过设置计算方,避免数据请求方直接接触代码和数据,减少代码和数据外泄的可能;
26.3、在向计算方分发密钥前,通过验证计算方法的可信执行环境,并且可信执行环境需具备脚本解释器,保证代码和数据的运行在计算方的可信执行环境中进行,进一步减少数据和代码外泄的可能,保证数据和代码安全。
附图说明
27.图1为本发明实施例的数据和代码加密存储和使用的结构示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.参照图1,本发明公开了一种基于分布式存储的隐私计算方法,包括如下步骤:
30.步骤1,数据提供方从密钥管理服务器上获取第一加密密钥,并根据第一加密密钥对数据进行加密;完成加密后的数据上传至分布式存储区块链上;
31.步骤2,代码提供方从kms服务器上请求第二加密密钥时,代码提供方请求参数携带代码名称以及代码哈希值,kms服务器对代码提供方进行身份认证后,生成第二加密密钥;代码提供方获取第二加密密钥key后,对代码进行加密,并上传至分布式存储区块链上;
32.步骤3,数据使用方在分布式存储区块链上浏览检索已上传的数据以及代码,选择合适的数据及代码,向对应的数据提供方、代码提供方通过授权智能合约提出申请使用;
33.步骤4,对应的数据提供方、代码提供方接受数据使用方的申请,并判断是否通过申请;申请通过,则记录此条授权的相关信息,并进入下一步骤;申请不通过,则通知数据使用方申请未通过,结束步骤;
34.步骤5,申请通过后,数据使用方在分布式存储区块链上发起隐私计算任务,并对此任务信息中包括的数据提供方、数据名称、数据哈希值、代码提供方、代码名称、代码哈希值进行签名;
35.步骤6,计算方收到计算任务后,获取步骤5的任务信息与数据使用方的签名,依据参与计算的数据名称、数据哈希值以及代码名称、代码哈希值向kms服务器分别申请相应的参与隐私计算的解密数据密钥及解密代码密钥,并提供的计算任务信息及数据使用方签名;
36.步骤7,kms服务器依据计算方提出的申请;查询授权记录后判断数据是否被数据及代码的提供方授权给对应的数据使用方;若确认相应的数据及代码已被相应的提供方授权给对应的数据使用方后,向计算方分发解密数据和代码的密钥;否则,提示计算方数据及代码未被授权给该数据使用方,结束步骤;
37.步骤8,计算方在计算方的可信执行环境内收到解密数据和代码的密钥后,依靠内容寻址地址获取参与运算的加密数据及加密代码,然后通过密钥解密数据及代码后,并执行代码,计算得出结果,并将结果用数据使用方的公钥加密后上传分布式存储区块链;
38.步骤9,数据使用方从分布式存储区块链上获得计算方用公钥加密上传的文本,并用私钥解密后获得相应的计算结果。
39.所述步骤1中的密钥管理服务器(key management service),又被称为kms服务器。其中第一加密密钥为密钥管理服务器对数据提供方完成身份验证后,基于pbkdf密钥生成方法获得,生成方法包括软件生成以及与硬件密钥产生器相互通信生成。在本例中密钥管理服务器在生成第一加密密钥时,还会记录第一加密密钥的使用方id、数据名称以及对应数据哈希值;对应的在数据请求方向kms服务器请求解密密钥的时候,需要携带数据名称和对应的数据哈希值。在本例中的分布式存储区块链为采用基于内容可寻址的、版本化、点对点超媒体的分布式存储、传输协议的区块链方案;数据通过分布式存储区块链中的数据上链智能合约实现上传存储操作。
40.所述步骤2中kms服务器在生成第二加密密钥时,记录第二加密密钥的使用方id、代码名称以及代码的哈希值。步骤2中的代码提供方通过区块链的代码上链智能合约实现加密后的代码上传至分布式存储区块链的操作。
41.所述步骤4中授权的相关信息包括授权者、使用者、使用数据的名称、使用代码的名称、数据哈希值、代码哈希值、内容寻址地址、授权日期以及到期日期等。
42.所述步骤6中的解密数据密钥及解密代码密钥,在本例中分别为步骤1中的第一加密密钥和步骤2中的第二加密密钥,因为在本例中采用了对称加密的方式,所以加密密钥和解密密钥为相同的密钥。
43.所述步骤7中的kms服务器在向计算方分发密钥之前,还需要对计算方进行可信执行环境(trusted execution environment)的远程验证,确保计算方拥有可信执行环境。在本例中,可信执行环境设置有脚本解释器,在可信执行环境里能够直接加载相应的代码并直接进行运行,保证代码安全。
44.应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献