一种区块链隐私合约密钥系统及密钥生成方法、使用方法与流程

未命名 08-15 阅读:89 评论:0


1.本发明涉及信息安全技术领域,特别涉及一种区块链隐私合约密钥系统及密钥生成方法、使用方法。


背景技术:

2.tee(trusted execution environment):tee即可信执行环境,是一种具有运算和储存功能,能提供安全性和完整性保护的独立处理环境。其基本思想是:在硬件中为敏感数据单独分配一块隔离的内存,所有敏感数据的计算均在这块内存中进行,并且除了经过授权的接口外,硬件中的其他部分不能访问这块隔离的内存中的信息,以此来实现敏感数据的隐私计算。
3.现有技术中,通常是使用单点化部署可信环境,各区块链节点通过访问该可信环境执行隐私合约交易,并获得执行结果。传统的加密系统需要为每个可信环境分配不同的密钥,这会导致密钥管理的复杂性和资源浪费。
4.同时,现有技术方案(cn110060054a)中:公开了一种区块链中实现隐私保护的方法、节点、系统和存储介质。其中,使用tee完成交易的解密、验证、执行以及密文读写。该方案中,每个节点有一套属于自己的tee用于执行密文交易,其并不能解决多个可信计算环境不能够使用同一把密钥对用户的加密输入进行解密的问题。


技术实现要素:

5.鉴于上述技术问题,本发明提供至少解决上述部分技术问题的一种区块链隐私合约密钥系统及密钥生成方法、使用方法,允许多个可信环境共享同一把密钥来解密加密数据,从而简化了密钥管理并提高了系统的效率。
6.为实现上述目的,本发明采取的技术方案为:
7.第一方面,本发明提供一种区块链隐私合约密钥系统,该系统包括:证书协调服务模块、卫兵服务模块和隐私合约执行模块,其中:
8.所述证书协调服务模块为一个中心化部署的协调服务模块,单独部署于一个可信执行环境中,用于签发,管理和存储卫兵服务模块与隐私合约执行模块相关的密钥和证书,并用于跟卫兵服务模块进行远程认证;
9.所述卫兵服务模块与区块链节点一一对应,用于与证书协调服务模块通信协商,获取隐私合约执行模块的密钥和证书并进行缓存;所述卫兵服务模块与证书协调服务模块进行远程认证,保障彼此间的执行安全;
10.所述隐私合约执行模块为区块链上的虚拟机部分,是常驻服务,用于提供安全隐私的计算环境;所述隐私合约执行模块通过grpc获取链上数据,通过卫兵服务模块与证书协调服务模块通信获取相关数据,而不直接与证书协调服务模块通信。
11.进一步地,一个区块链节点包含多个隐私合约执行模块。
12.进一步地,一个卫兵服务模块对应一个区块链节点上的多个隐私合约执行模块。
13.进一步地,同一个隐私合约执行模块只能运行一种用户的隐私合约。
14.第二方面:本发明还提供一种区块链隐私合约密钥生成方法,应用于上述的一种区块链隐私合约密钥系统,完成各个模块间的互相认证,并为每个模块生成对应的私钥与证书,该方法包括以下流程:
15.1)证书协调服务模块与卫兵服务模块间的远程认证;
16.2)卫兵服务模块与隐私合约执行模块间的本地认证;
17.3)证书下发流程。
18.进一步地,所述证书协调服务模块与卫兵服务模块间的远程认证,包括:
19.(a)证书协调服务模块初始化后,将ca和report上链;
20.(b)将mrenclave做hash后上链,使证书协调服务模块只接受指定的机器访问;
21.(c)卫兵服务模块初始化时生成csr与一对公私钥(pk|sk),简称g_pk,g_sk;
22.(d)卫兵服务模块请求访问证书协调服务模块,先获取链上证书协调服务模块的ca和report,之后获取证书协调服务模块返回的proof,并用ca中的公钥验证proof中的签名,并且对比report;之后获取ca中的公钥,并对随机数和mrenclave做加密称为s_a,连同卫兵服务模块的公钥和csr文件,传输给证书协调服务模块;证书协调服务模块用自己的私钥解开s_a,从链上获取mrenclave的hash数据进行比较;对csr签发证书,使用卫兵服务模块的公钥对随机数加密,并将签发证书用证书协调服务模块的私钥进行签名,一起发还给卫兵服务模块;卫兵服务模块使用证书协调服务模块公钥验签,并用卫兵服务模块的私钥解密随机数,与之前生成的随机数进行对比,验证步骤都可通过,则远程认证通过。
23.进一步地,所述卫兵服务模块与隐私合约执行模块间的本地认证,包括:
24.(a)隐私合约执行模块请求验证卫兵服务模块;
25.(b)卫兵服务模块反馈第一信息作为响应;
26.(c)隐私合约执行模块基于第一信息构造第二信息,请求卫兵服务模块分发密钥和证书;
27.(d)卫兵服务模块收到第二信息后,基于ecdh协议借助第一信息计算共享公钥;验证第二信息的合法性;
28.(e)构造第三信息作为响应;
29.(f)隐私合约执行模块收到第三信息,验证第三信息中报告的合法性。
30.进一步地,所述证书下发流程,包括:
31.隐私合约执行模块向卫兵服务模块提出私钥、证书申请;
32.卫兵服务模块基于隐私合约执行模块的唯一标识向证书协调服务模块提出申请,申请包含证书协调服务模块的数字签名;
33.证书协调服务模块收到申请后,检查本地是否有缓存,有则返回;无则生成证书公私钥对(x,x)和数据加密密钥(y,y),并加密存储;而后以x为私钥、x为证书公钥、y和其他信息为证书拓展字段构造csr,并私钥签发csr得到证书,并进行缓存;
34.证书协调服务模块使用会话密钥加密(x,x)和(y,y)得到密文,并向卫兵服务模块反馈密文与证书;卫兵服务模块收到后向隐私合约执行模块返回申请得到的公私钥与证书。
35.第三方面:本发明还提供一种区块链隐私合约密钥使用方法,应用于上述的一种
区块链隐私合约密钥系统,该方法包括:
36.(a)整体执行流程,由区块链端启动管理器维护隐私合约执行模块的服务数量,防止隐私合约执行模块数量过多占用节点资源;所有的隐私交易缓存进一个队列,等待被执行或者调用隐私交易;检查当前合约是否已经被现有隐私合约执行模块加载,若已加载则进入队列等待;若未加载则新建隐私合约执行模块执行合约任务;当隐私合约执行模块不在活跃并且交易等待队列为空,管理器关掉隐私合约执行模块服务以节省资源;
37.(b)隐私合约在隐私合约执行模块内的执行流程:在初始化阶段,每个隐私合约执行模块都拥有一对独一无二的私钥与证书,同时拥有一对相同的工作私钥与公钥;工作公钥上链后,使用此共同的工作公钥加密隐私合约的输入;在每笔隐私合约调用到达时,隐私合约执行模块使用工作公钥解密数据,并使用可信执行环境内的虚拟机部分运行合约,得到运行结果;最后使用隐私合约执行模块的证书公私钥对对结果进行签名,并返回至区块链。
38.与现有技术相比,本发明至少具有如下有益技术效果:
39.1.本发明提供了一种区块链隐私合约密钥系统及密钥生成方法、使用方法,可以确保对可信执行环境的验证,允许多个可信环境共享同一把密钥来解密加密数据,简化了密钥管理并提高了系统的效率。
40.2.本发明包括一套密钥分发和授权机制,确保只有授权的可信环境节点才能获取并使用密钥;可以有效控制访问权限,防止未经授权的节点对数据进行解密和访问。本发明在保证数据隐私和安全的前提下,实现多方数据的协同计算和分析,提高了数据利用效率和价值。
41.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
42.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
43.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
45.图1为本发明实施例提供的一种区块链隐私合约密钥系统整体架构示意图。
46.图2为本发明实施例提供的初始化阶段时序示意图。
47.图3为本发明实施例提供的隐私合约整体流程示意图。
48.图4为本发明实施例提供的隐私合约在worker内的执行流程示意图。
具体实施方式
49.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
50.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.在本发明的具体实施方式及附图中:
52.tee(trusted execution environment):tee即可信执行环境,是一种具有运算和储存功能,能提供安全性和完整性保护的独立处理环境。其基本思想是:在硬件中为敏感数据单独分配一块隔离的内存,所有敏感数据的计算均在这块内存中进行,并且除了经过授权的接口外,硬件中的其他部分不能访问这块隔离的内存中的信息,以此来实现敏感数据的隐私计算。
53.智能合约(smart contract):智能合约是一种在区块链上执行的自动化合约,其中包含了预先定义的规则和条件。智能合约以代码的形式存在,通过区块链网络的共识机制执行和验证,实现各种不同类型的交易和协议。其特点包含自动执行、去中心化、不可篡改性、透明性等。提供了一种更加高效、安全和可信赖的方式来进行交易和合约执行。
54.隐私合约(privacy contract):隐私合约是一种智能合约的扩展,旨在保护参与者的隐私和敏感数据。与传统智能合约不同,隐私合约提供了对交易和合约内容进行加密和隐藏的机制,使得合约中的数据只有授权方能够解密和查看。隐私合约的设计旨在解决区块链上的隐私问题。在传统的公共区块链中,所有交易和合约的细节都是公开的,包括交易金额、合约参数和状态等。这种透明性在某些场景下可能会暴露用户的敏感信息,如交易金额的公开可能泄露财务隐私。通过隐私合约,参与者可以在不暴露隐私信息的情况下进行交易和合约执行。隐私合约通常使用加密技术来对交易和合约内容进行保护。它们可以使用对称加密、非对称加密、零知识证明等密码学工具来实现数据的加密、隐藏和验证。本文中隐私合约功能由一个基于可信执行环境的隐私合约环境提供。
55.证书协调服务(key-server):本发明技术方案的概念。一个中心化部署的协调服务(类似于ca服务中的根证书服务),单独部署于一个可信执行环境中,负责签发,管理和存储guard与worker相关的密钥和证书,并可以跟guard进行远程认证。
56.卫兵服务(guard):本发明技术方案的概念。与区块链节点一一对应,负责与key-server通信协商,获取worker的密钥和证书并进行缓存。guard可以与key-server进行远程认证,保障彼此间的执行安全。一个guard可对应一个区块链节点上的多个worker。
57.隐私合约执行实例(worker):本发明技术方案的概念。一个guard和区块链节点可包含多个worker,同时执行多笔隐私合约。worker属于区块链上的虚拟机部分,worker是常驻服务,提供安全隐私的计算环境。worker通过grpc获取获取链上数据,通过guard与key-server通信获取相关数据,而不直接与key-server通信。此外,同一个worker只能运行一种用户的隐私合约(即一种隐私合约的可执行文件)。
58.enclave:在计算机安全领域。它指的是一种安全的执行环境,提供了对代码和数据的保护,防止恶意软件或其他非授权实体的访问和修改。enclave可以是硬件实现的,例如intel sgx(software guard extensions),或者是软件实现的,例如软件模拟的安全执
行环境。主要特点为安全隔离、加密保护、完整性保护、安全通信等。
59.mrenclave:一个用于保护和验证enclave的身份的256位哈希值。每个enclave在创建时都会生成一个唯一的mrenclave值,并且该值在整个enclave的生命周期中是恒定不变的。mrenclave值可以用于验证enclave的身份和完整性。
60.实施例1:
61.参照图1所示,本发明实施例提供了一种区块链隐私合约密钥系统,在确保对可信执行环境验证的同时,能够使得集群内部可使用同一把密钥解密用户的加密输入;该系统包括:证书协调服务模块(key-server)、卫兵服务模块(guard)和隐私合约执行模块(worker)。
62.下面分别对上述系统的模块功能进行详细的说明:
63.key-server为一个中心化部署的协调服务(类似于ca服务中的根证书服务),单独部署于一个可信执行环境中,负责签发,管理和存储guard与worker相关的密钥和证书,并可以跟guard进行远程认证。
64.guard与区块链节点一一对应,负责与key-server通信协商,获取worker的密钥和证书并进行缓存。guard可以与key-server进行远程认证,保障彼此间的执行安全。一个guard可对应一个区块链节点上的多个worker。
65.一个guard和区块链节点可包含多个worker;worker属于区块链上的虚拟机部分,worker是常驻服务,提供安全隐私的计算环境。worker通过grpc获取获取链上数据,通过guard与key-server通信获取相关数据,而不直接与key-server通信。此外,同一个worker只能运行一种用户的隐私合约(即一种隐私合约的可执行文件)。
66.实施例2:
67.本发明实施例还提供了一种区块链隐私合约密钥生成方法,应用于实施例1的系统,完成各个模块间的互相认证,并为每个模块生成对应的私钥与证书,结合图1和图2所示,该方法主要分为远程认证、本地认证、工作证书下发等三个步骤,具体为:
68.1)key-server与guard间的远程认证:核心是guard对key-server进行挑战,确定key-server的正确性。包括:
69.(a)key-server初始化后,将ca和report上链。
70.(b)将mrenclave做hash后上链,从而使得keyserver只接受指定的机器访问。
71.(c)guard初始化时生成csr与一对公私钥(pk|sk),简称g_pk,g_sk。(d)guard请求访问keyserver,先获取链上keyserver的ca和report,之后获取keyserver返回的proof,并用ca中的公钥验证proof中的签名,并且对比report。之后获取ca中的公钥,并对随机数和mrenclave做加密称为s_a,连同guard的公钥简称g_pk和csr文件,传输给key-server。key-server用自己的私钥解开s_a,从链上获取mrenclave的hash数据进行比较。对csr签发证书为guard_cert,使用g_pk对随机数加密并将guard_cert+用keyserver的私钥进行签名,一起发还给guard。guard使用key-server公钥验签,并用g_sk解密随机数,与之前步骤生成的随机数进行对比,若上述验证步骤都可通过,则远程认证通过。
72.2)guard与worker之间的本地认证:
73.(a)worker请求验证guard;
74.(b)guard反馈信息1(msg1)作为响应。其中msg1包含两项数据:随机生成的公钥g^
a,guard自身的关键信息,用于构造只有guard能够验证的报告(reportw)。
75.(c)worker基于msg1构造信息2(msg2),请求guard分发密钥和证书。其中msg2包含以下数据:uuid,版本号,随机生成的公钥g^b,报告reportw。其自定义的64字节数据段的值为:前32字节等于h(g^a|g^b|uuid|version),其中version采用大端编码,后32字节置0。
76.(d)guard收到msg2后,基于ecdh协议借助a和g^b推算共享公钥aek;验证msg2的合法性,包括以下几点:验证reportw中的mac地址的合法性,是整个本地证明的安全根基。从reportw解析出h(g^a|g^b|uuid|version),验证其合法性。
77.(e)构造msg3作为响应。msg3包含以下数据:aek加密的签名私钥sealed_signing_key,aek加密的数据解密私钥sealed_dek,worker证书cert,报告reportg,其自定义的64字节数据段的值为:前32字节等于h(g^a|g^b|uuid|version|cert),后32字节置0。依赖的关键信息基于reportw构造,使得worker可以验证。
78.(f)worker收到msg3验证reportg的合法性,包括以下要点:报告reportg,其自定义的64字节数据段的值为前32字节等于h(g^a|g^b|uuid|version|cert),后32字节置0。验证reportg中的mac地址的合法性。
79.3)证书下发流程:worker通过guard向key-server申请数字证书。首先,worker向guard提出私钥、证书申请。而后,guard基于worker的唯一标识向key-server提出申请,申请包含guard的数字签名。key server收到申请后,首先检查本地是否有缓存,有则返回;无则生成证书公私钥对(x,x)和数据加密密钥(y,y),并加密存储。而后以x为私钥、x为证书公钥、y和其他信息为证书拓展字段构造csr(这里的其他信息,例如可以是密钥用途、扩展密钥用途、主题备用名称和证书策略等,根据具体场景和需求来选择合适的拓展字段),并私钥签发csr得到证书certw,并进行缓存。最后,key-server使用会话密钥sk加密(x,x)和(y,y)得到密文c2,并向guard反馈c2与certw。guard收到后向worker返回申请得到的公私钥与证书。
80.实施例3:
81.本发明实施例还提供了一种区块链隐私合约密钥使用方法,应用于实施例1的系统,该密钥使用方法(即隐私合约执行流程)包括:
82.(a)整体执行流程;由区块链端启动管理器维护worker的服务数量,防止worker数量过多占用节点资源。如图3所示,所有的隐私交易会缓存进一个队列,等待被执行或者调用隐私交易。检查当前合约是否已经被现有worker加载,若已加载则进入队列等待;若为加载则新建worker执行合约任务。当worker不在活跃并且交易等待队列为空,管理器会关掉worker服务以节省资源。
83.(b)隐私合约在worker内的执行流程:在初始化阶段,每个worker都拥有了一对独一无二的私钥与证书,同时拥有一对相同的工作私钥与公钥。具体流程如图4所示,工作公钥上链后,可使用此共同的工作公钥加密隐私合约的输入。在每笔隐私合约调用到达时,worker节点使用工作公钥解密数据,并使用可信执行环境内的虚拟机部分运行合约,得到运行结果。最后使用worker的证书公私钥对对结果进行签名,并返回至区块链。
84.通过上述实施的描述,本领域技术人员可获知,本发明实施例提供的一种区块链隐私合约密钥系统及密钥生成方法、使用方法,具有以下特点:
85.本发明利用区块链技术来管理和保护密钥以及加密数据。区块链作为一个分布式
的不可篡改账本,确保了密钥和数据的安全性和可信性。本发明允许多个可信环境共享同一把密钥来解密加密数据,从而简化了密钥管理并提高了系统的效率。本发明包括一套密钥分发和授权机制,确保只有授权的可信环境节点才能获取并使用密钥。这样可以有效控制访问权限,防止未经授权的节点对数据进行解密和访问。
86.总体来说,本发明利用区块链技术实现密钥和数据的安全管理,并允许多个可信环境共享同一把密钥解密加密数据。有助于提高可信环境的安全性、可靠性和效率。
87.以上对本发明实施例进行了详细介绍,对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。
88.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种区块链隐私合约密钥系统,其特征在于,该系统包括:证书协调服务模块、卫兵服务模块和隐私合约执行模块,其中:所述证书协调服务模块为一个中心化部署的协调服务模块,单独部署于一个可信执行环境中,用于签发,管理和存储卫兵服务模块与隐私合约执行模块相关的密钥和证书,并用于跟卫兵服务模块进行远程认证;所述卫兵服务模块与区块链节点一一对应,用于与证书协调服务模块通信协商,获取隐私合约执行模块的密钥和证书并进行缓存;所述卫兵服务模块与证书协调服务模块进行远程认证,保障彼此间的执行安全;所述隐私合约执行模块为区块链上的虚拟机部分,是常驻服务,用于提供安全隐私的计算环境;所述隐私合约执行模块通过grpc获取链上数据,通过卫兵服务模块与证书协调服务模块通信获取相关数据,不直接与证书协调服务模块通信。2.根据权利要求1所述的一种区块链隐私合约密钥系统,其特征在于,一个区块链节点包含多个隐私合约执行模块。3.根据权利要求2所述的一种区块链隐私合约密钥系统,其特征在于,一个卫兵服务模块对应一个区块链节点上的多个隐私合约执行模块。4.根据权利要求3所述的一种区块链隐私合约密钥系统,其特征在于,同一个隐私合约执行模块只运行一种用户的隐私合约。5.一种区块链隐私合约密钥生成方法,其特征在于,应用于如权利要求1-4任一项所述的一种区块链隐私合约密钥系统,完成各个模块间的互相认证,并为每个模块生成对应的私钥与证书,该方法包括:1)证书协调服务模块与卫兵服务模块间的远程认证;2)卫兵服务模块与隐私合约执行模块间的本地认证;3)证书下发流程。6.根据权利要求5所述的一种区块链隐私合约密钥生成方法,其特征在于,所述证书协调服务模块与卫兵服务模块间的远程认证,包括:(a)证书协调服务模块初始化后,将ca和report上链;(b)将mrenclave做hash后上链,使证书协调服务模块只接受指定的机器访问;(c)卫兵服务模块初始化时生成csr与一对公私钥;(d)卫兵服务模块请求访问证书协调服务模块,先获取链上证书协调服务模块的ca和report,之后获取证书协调服务模块返回的proof,并用ca中的公钥验证proof中的签名,并且对比report;之后获取ca中的公钥,并对随机数和mrenclave做加密称为s_a,连同卫兵服务模块的公钥和csr文件,传输给证书协调服务模块;证书协调服务模块用自己的私钥解开s_a,从链上获取mrenclave的hash数据进行比较;对csr签发证书,使用卫兵服务模块的公钥对随机数加密,并将签发证书用证书协调服务模块的私钥进行签名,一起发还给卫兵服务模块;卫兵服务模块使用证书协调服务模块公钥验签,并用卫兵服务模块的私钥解密随机数,与之前生成的随机数进行对比,验证步骤都可通过,则远程认证通过。7.根据权利要求5所述的一种区块链隐私合约密钥生成方法,其特征在于,所述卫兵服务模块与隐私合约执行模块间的本地认证,包括:(a)隐私合约执行模块请求验证卫兵服务模块;
(b)卫兵服务模块反馈第一信息作为响应;(c)隐私合约执行模块基于第一信息构造第二信息,请求卫兵服务模块分发密钥和证书;(d)卫兵服务模块收到第二信息后,基于ecdh协议借助第一信息计算共享公钥;验证第二信息的合法性;(e)构造第三信息作为响应;(f)隐私合约执行模块收到第三信息,验证第三信息中报告的合法性。8.根据权利要求5所述的一种区块链隐私合约密钥生成方法,其特征在于,所述证书下发流程,包括:隐私合约执行模块向卫兵服务模块提出私钥、证书申请;卫兵服务模块基于隐私合约执行模块的唯一标识向证书协调服务模块提出申请,申请包含证书协调服务模块的数字签名;证书协调服务模块收到申请后,检查本地是否有缓存,有则返回;无则生成证书公私钥对和数据加密密钥,并加密存储;而后以证书私钥、证书公钥和数据加密密钥为证书拓展字段构造csr,并私钥签发csr得到证书,并进行缓存;证书协调服务模块使用会话密钥加密证书公私钥对和数据加密密钥得到密文,并向卫兵服务模块反馈密文与证书;卫兵服务模块收到后向隐私合约执行模块返回申请得到的公私钥与证书。9.一种区块链隐私合约密钥使用方法,其特征在于,应用于如权利要求1-4任一项所述的一种区块链隐私合约密钥系统,该方法包括:(a)整体执行流程,由区块链端启动管理器维护隐私合约执行模块的服务数量,防止隐私合约执行模块数量过多占用节点资源;所有的隐私交易缓存进一个队列,等待被执行或者调用隐私交易;检查当前合约是否已经被现有隐私合约执行模块加载,若已加载则进入队列等待;若未加载则新建隐私合约执行模块执行合约任务;当隐私合约执行模块不在活跃并且交易等待队列为空,管理器关掉隐私合约执行模块服务以节省资源;(b)隐私合约在隐私合约执行模块内的执行流程:在初始化阶段,每个隐私合约执行模块都拥有一对独一无二的私钥与证书,同时拥有一对相同的工作私钥与公钥;工作公钥上链后,使用此共同的工作公钥加密隐私合约的输入;在每笔隐私合约调用到达时,隐私合约执行模块使用工作公钥解密数据,并使用可信执行环境内的虚拟机部分运行合约,得到运行结果;最后使用隐私合约执行模块的证书公私钥对对结果进行签名,并返回至区块链。

技术总结
本发明公开了一种区块链隐私合约密钥系统及密钥生成方法、使用方法,系统包括:证书协调服务模块、卫兵服务模块和隐私合约执行模块,其中:证书协调服务模块单独部署于一个可信执行环境中,用于签发,管理和存储相关的密钥和证书;卫兵服务模块与区块链节点一一对应,用于与证书协调服务模块通信协商,获取密钥和证书并进行缓存;卫兵服务模块与证书协调服务模块进行远程认证,保障彼此间的执行安全;隐私合约执行模块为区块链上的虚拟机,用于提供安全隐私的计算环境;隐私合约执行模块通过卫兵服务模块与证书协调服务模块通信获取相关数据。本发明允许多个可信环境共享同一把密钥来解密加密数据,简化了密钥管理并提高了效率。了效率。了效率。


技术研发人员:刘志旺 陆淳 付长胜
受保护的技术使用者:北京微芯区块链与边缘计算研究院
技术研发日:2023.06.25
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐