System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于区块链和可信执行环境的多方密钥协商方法和系统技术方案_技高网

基于区块链和可信执行环境的多方密钥协商方法和系统技术方案

技术编号:41323211 阅读:3 留言:0更新日期:2024-05-13 15:01
本发明专利技术提供了一种基于区块链和可信执行环境的多方密钥协商方法和系统,通过区块链进行通信,在N个参与方各自的可信执行环境中,针对不同隐私业务生成对应的相同的协商密钥。该密钥分为非对称加密公私钥对和对称加密密钥两部分。其中非对称加密私钥存储于可信执行环境中,不可被读取;非对称加密的公钥和对称加密密钥可由用户读取。这些协商生成的密钥用于后续对应的隐私业务的执行。本发明专利技术经过固定的较少次数的协商,在多参与方的可信执行环境中协商可用不可见的相同密钥。

【技术实现步骤摘要】

本专利技术属于区块链,涉及一种基于区块链和可信执行环境的多方密钥协商方法和系统


技术介绍

1、目前区块链数据的加解密方法主要包括:

2、(一)dh(diffie - hellman)算法及其衍生算法,如dhe(diffie - hellmanephemeral)、ecdh(elliptic curve diffie - hellman)等。

3、(二)各参与方使用不同的密钥进行加解密处理。以加密数据进入可信执行环境为例:每个参与方使用全量的可信执行环境密钥进行冗余加密,以获得一组加密数据,这样可以在任何可信执行环境中拼凑出可用的密文数据。同样,可信执行环境中运行的合约执行结果也需要使用各参与方的一组密钥进行加密,获得一组密文结果,由各参与方识别属于自己的密文并解密。

4、上述方案存在以下缺点:

5、方案(一)中传统的dh系列算法均适用于两方密钥协商,gdh(generalizeddiffie-hellman)给出了三方密钥协商的方案。但参与方增多带来的通信频次剧烈增长,三方密钥协商需要每个参与方进行2次通信,总计6次通信。而三方以上的通信次数和时序控制更为艰难,实际应用中十分不便。

6、方案(二)中数据冗余过多,导致实际的空间占用成倍增长,实际增长倍数与参与方个数正相关。如区块链上单笔数据的存储空间、可信执行环境的单笔业务可用空间等,均有一定限制,数据冗余额外占用的空间可能超过上述限制,造成业务无法正常进行。

7、因此,如何提供一种保证密钥协商隐私性的同时,具有较少协商次数的基于区块链和可信执行环境的多方密钥协商方法和系统是本领域技术人员亟需解决的问题。


技术实现思路

1、有鉴于此,本专利技术提出了一种基于区块链和可信执行环境的多方密钥协商方法和系统,经过固定的较少次数的协商,在各共识节点的可信执行环境中生成相同的密钥。

2、为了实现上述目的,本专利技术采用如下技术方案:

3、本专利技术公开了一种基于区块链和可信执行环境的多方密钥协商方法,每个参与方均拥有至少一个区块链共识节点和一个可信执行环境,即tee;各个参与方的tee中执行隐私业务合约和隐私密钥协商合约;包括如下步骤:

4、准备步骤:

5、s11:针对指定的隐私业务,根据隐私业务合约在指定的tee中部署并生成唯一的密钥对,其中各参与方的公钥cpk及其签名上传至区块链形成nc表,所述签名为利用所在可信执行环境的根私钥对公钥cpk的签名;

6、s12:根据隐私密钥协商合约在指定的tee中生成隐私协商公钥apk,各参与方的隐私协商公钥apk及其签名上传至区块链形成na表,所述签名为利用所在可信执行环境的根私钥对隐私协商公钥apk的签名;

7、协商步骤:

8、s21:各参与方分别生成一个随机值r;

9、s22:各参与方用na表中的全部apk分别对自身生成的随机值r进行加密并上传至区块链,获得ner表;

10、s23:各参与方从区块链上获取nc表中所有参与方的cpk列,以及ner表中属于自身tee中apk对其余参与者的随机值r加密的数据作为随机值数组,作为隐私密钥协商合约的入参;

11、s24:各参与方在自身tee中将所述随机值数组进行解密,获得明文r数组;

12、s25:根据cpk列和明文r数组在tee的隐私密钥协商合约中协商非对称加密私钥,并生成非对称加密公钥;

13、s26:根据cpk列和明文r数组在tee的隐私合约中协商对称加密密钥;

14、s27:将协商得到的非对称加密公钥、对称加密密钥从tee中返回给参与方。

15、优选的,所述准备步骤还包括:

16、各参与方通过本地的tee获取tee的sn及根公钥rpk;

17、各参与方通过智能合约一获取nodeid;

18、形成各参与方的nodeid—sn—rpk映射关系并上传至区块链;

19、所有参与方的映射关系在区块链中形成节点隐私环境映射表,即nt表。

20、优选的,所述准备步骤还包括:

21、所有参与方的nodeid—cpk—sign映射关系在区块链中形成节点合约表,即nc表;

22、所有参与方的nodeid—apk—sign映射关系在区块链中形成节点协商表,即na表;

23、利用nt表作为联盟链的可信根校验nc表和na表各行的真伪。

24、优选的,所述s25包括:

25、s251:将入参中的cpk列的各元素进行异或操作,再与明文r数组中的各元素分别进行异或操作,得到数据输入加密私钥disk,即非对称加密私钥,存储于tee内;

26、s252:由disk提取对应的公钥,即数据输入加密公钥dipk,即非对称加密公钥。

27、优选的,所述s26包括:

28、s261:根据确定的规则把明文r数组排序,得到随机值的有序数组ras;

29、s262:对于n个参与方,n>1,把明文r数组中的全部元素进行异或操作,得到新随机值x;对x进行指定比特数的循环取余,取余次数为n-1,得到长度为n-1的数组oa;

30、s263:根据ras和oa,依次逐个输入ras的n个元素和oa的n-1个元素并组合得到组合结果;

31、s264:组合结果与cpk列中的所有元素分别进行异或操作,得到数据输出加密密钥dok,即对称加密密钥。

32、优选的,所述随机值r为s字节,s>1;所述s25包括:

33、s251:将入参中的cpk列的各元素进行进行长度为s字节的异或操作,再与明文r数组中的各元素分别进行异或操作,得到s字节的数据输入加密私钥disk,即非对称加密私钥,存储于tee内;

34、s252:由disk提取对应的公钥,即数据输入加密公钥dipk,即非对称加密公钥。

35、优选的,所述s26包括:

36、s261:根据确定的规则把明文r数组排序,得到随机值的有序数组ras;

37、s262:对于n个参与方,n>1,把明文r数组中的全部元素进行异或操作,得到s字节的新随机值x;对x进行指定比特数的循环取余,取余次数为n-1,得到长度为n-1的数组oa;

38、s263:根据ras和oa,依次逐个输入ras的n个元素和oa的n-1个元素并组合得到s字节的组合结果;

39、s264:组合结果与cpk列中的所有元素分别进行s字节的异或操作,得到数据输出加密密钥dok,即对称加密密钥。

40、优选的,还包括应用步骤:

41、参与方使用非对称加密公钥进行交易数据加密后上传至区块链;

42、参与方获取对应的交易数据进行隐私业务合约的计算,计算结果在tee内部用对称加密密钥加密,参与方将加密结果上传至区块链;<本文档来自技高网...

【技术保护点】

1.一种基于区块链和可信执行环境的多方密钥协商方法,其特征在于:每个参与方均拥有至少一个区块链共识节点和一个可信执行环境,即TEE;各个参与方的TEE中执行隐私业务合约和隐私密钥协商合约;包括如下步骤:

2.根据权利要求1所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述准备步骤还包括:

3.根据权利要求2所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述准备步骤还包括:

4.根据权利要求1所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述S25包括:

5.根据权利要求1所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述S26包括:

6.根据权利要求1所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述随机值r为S字节,S>1;所述S25包括:

7.根据权利要求6所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述S26包括:

8.根据权利要求1所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,还包括应用步骤:

9.一种根据权利要求1-8中任一项所述的基于区块链和可信执行环境的多方密钥协商方法的基于区块链和可信执行环境的多方密钥协商系统,部署在参与方本地,每个参与方均拥有至少一个区块链共识节点和一个可信执行环境,即TEE;各个参与方的TEE中执行隐私业务合约和隐私密钥协商合约,其特征在于,包括:

10.一种电子设备,其特征在于,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-8中任一项所述的基于区块链和可信执行环境的多方密钥协商方法的步骤。

...

【技术特征摘要】

1.一种基于区块链和可信执行环境的多方密钥协商方法,其特征在于:每个参与方均拥有至少一个区块链共识节点和一个可信执行环境,即tee;各个参与方的tee中执行隐私业务合约和隐私密钥协商合约;包括如下步骤:

2.根据权利要求1所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述准备步骤还包括:

3.根据权利要求2所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述准备步骤还包括:

4.根据权利要求1所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述s25包括:

5.根据权利要求1所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述s26包括:

6.根据权利要求1所述的基于区块链和可信执行环境的多方密钥协商方法,其特征在于,所述随机值r为s字节,s...

【专利技术属性】
技术研发人员:刘振万明超来思远董进任常锐
申请(专利权)人:北京微芯区块链与边缘计算研究院
类型:发明
国别省市:

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

1