基于秘密共享的抗量子计算联盟链系统及通信方法技术方案

技术编号:23472860 阅读:32 留言:0更新日期:2020-03-06 14:07
本发明专利技术公开了一种基于秘密共享的抗量子计算联盟链系统及通信方法,系统包括认证机构、若干用户和联盟链成员,用户和提供服务的联盟链分别作为客户端和服务端,服务端对用户ID以秘密共享方式分成若干组不同的秘密分量,分别存储在公共信息池和用户密钥卡中;客户端计算假身份ID即PID,将PID、秘密分量以及用户的私钥存入用户密钥卡中。本发明专利技术采用基于公私钥的抗量子计算签名,保证了身份及签名私钥的安全性,能够将敌方无法获取的信息加入到数字签名的签名对象中,在保证抵抗量子计算的前提下,避免了数字签名非对称加密以及验签过程中非对称解密的计算量。

Anti Quantum Computing Alliance chain system and communication method based on secret sharing

【技术实现步骤摘要】
基于秘密共享的抗量子计算联盟链系统及通信方法
本专利技术涉及秘密共享领域,尤其涉及一种基于秘密共享的抗量子计算联盟链系统及通信方法。
技术介绍
区块链是一种全新的分布式基础架构与计算范式,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,确保交易的数据安全和客户的隐私是区块链能够进一步发展的必要条件。为此,密码学技术尤其是公钥密钥学在区块链中得到了广泛的应用。而联盟链是区块链的一个分支,所以它本身也是一个分布式的,去中心化的公共数据库,跟其他链的区别就是它是针对特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,其共识过程受到预选节点控制的区块链。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。其破解难度主要依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。现有技术存在的问题总结如下:1.相同身份多次出现在联盟链中,敌方可以追踪。2.在现有技术中,加密签名={MS}R||{R}SK,这种形式的对数字签名的保护,计算量是原有签名的2倍(RSA签名1次+RSA加密1次);同样地,解密并验证签名的计算量也是原有验证签名的2倍。现有抗量子计算联盟链系统中,签名数量众多,因此签名及验证的计算量较大。3.假设密钥卡硬件被破解,则身份会暴露。
技术实现思路
专利技术目的:针对现有技术中的缺陷,本专利技术公开了一种基于秘密共享的抗量子计算联盟链系统及通信方法,其采用基于公私钥的抗量子计算签名,保证了身份及签名私钥的安全性,能够将敌方无法获取的信息加入到数字签名的签名对象中,在保证抵抗量子计算的前提下,避免了数字签名非对称加密以及验签过程中非对称解密的计算量。技术方案:为实现上述技术目的,本专利技术采用了如下技术方案:一种基于秘密共享的抗量子计算联盟链系统,其特征在于:包括认证机构、若干用户和联盟链成员,所述用户作为客户端,提供服务的联盟链作为服务端,客户端和服务端均设有唯一的ID,所述客户端和服务端均配备密钥卡,密钥卡由认证机构颁发;所述服务端密钥卡包括公有部分和私有部分,公有部分存有公共信息池和区块链服务公钥池,私有部分存有自身私钥;所述服务端对用户ID进行秘密共享,分成若干组不同的秘密分量,分别存储在公共信息池和用户密钥卡中;所述公共信息池内每组公共信息包括用户的公钥;所述客户端计算假身份ID,记为PID,客户端将PID、秘密分量以及用户的私钥存入用户密钥卡,用户密钥卡中还存有区块链服务公钥池,区块链服务公钥池包含交易所需区块链服务端的公钥。优选地,所述用户假身份PID通过对用户ID、各个用户ID分量进行哈希运算获得。优选地,所述服务端密钥卡设有历史记录功能,记录各客户端密钥卡的实际ID、该实际ID的PID变化的历史记录,历史记录加密存储于区块链服务端密钥卡公有部分,或由服务端密钥卡加密存储于区块链服务端密钥卡外部,所述服务端密钥卡的私有部分中存有用于加密的根密钥。优选地,所述私有部分位于可信计算芯片内。优选地,所述用户有1个或1个以上的区块链账户,每个账户对应1个公钥/私钥的组合。优选地,所述服务端对用户ID以秘密共享方式分成秘密分量的方法为:服务端根据匹配的密钥卡生成两个秘密分量随机数,各秘密分量随机数不相等,如相等则进行更换,根据用户ID、两个秘密分量随机数、另外产生的随机数计算得到2个不同的用户ID分量;每个秘密分量由不同的秘密分量随机数和对应的用户ID分量组成;所述服务端获取用户端身份的方法为:凑齐2个秘密分量用于求得用户ID。本专利技术提供了一种基于秘密共享的抗量子计算联盟链系统的通信方法,用户记为User,提供服务的联盟链成员作为Endorser,Orderer或Committer,两个用户ID分量分别记为ID1、ID2,两个秘密分量随机数分别记为x1、x2,两个秘密分量分别记为秘密分量一、秘密分量二,其特征在于,包括如下用户PID更新步骤:步骤1):User验证是否满足更换PID的条件:User获取当前时间戳、由匹配的密钥卡中读取x1,根据x1和当前时间戳计算得到两个哈希值随机数x1'、x2'作为新的秘密分量随机数,比较x1和x1'、x2',如果任意二者相等,则当前时间戳不满足更换PID的条件,重新获取时间戳和计算两个哈希值,直到满足更换PID的条件,验证通过;验证通过后,User向多个Endorser发送采用用户私钥签名的交易信息,交易信息中包含当前用户假身份PID、ID1、时间戳、签名;步骤2):Endorser收到交易信息后,根据用户假身份PID对交易进行验证,对通过验证的交易进行继续处理;Endorser根据秘密分量一和本地公共信息池存储的秘密分量二,恢复真实身份的用户ID,并生成读操作集和写操作集,然后采用自身私钥签名,并将包含读操作集和写操作集的交易应答返回给User;所述读操作集为公共信息池中存储的用户假身份PID、x1和秘密分量二的哈希值,所述写操作集为ID1;步骤3):User收到交易应答后,筛选出被Endorser认可的交易,从区块链服务公钥池中取出Endorser公钥对交易进行验证;将通过验证的交易应答集合组成背书发送给Orderer;步骤4):Orderer积累预设数量的交易应答,在达到block最大值或者达到超时时间后,Orderer将交易应答排序好并打包成区块,即背书集合,将区块发送给Committer;步骤5):每个Committer收到排序后的背书合保后,验证交易并根据背书策略对交易应答集合进行验证,验证完成后,Committer将区块写入区块链,更新本地公共信息池,更新的内容包括PID'、x1'、x2'、ID2',Committer执行完毕后,将交易结果通知发送至User;步骤6):User收到交易通知后,从区块链服务公钥池中取出Committer的公钥验证交易通知中的签名;根据用户端密钥卡中存储的秘密分量一和交易通知中携带的更新后的秘密分量二,恢复用户ID,根据交易通知中的x1'得到ID1',然后通过对用户ID、ID1'、ID2'进行哈希运算获得更新后的PID',将本地存储的PID替换为更新后的用户假身份PID';秘密分量一更新为(x1',ID1');更换PID的交易完成。优选地,所述步骤2)中的验证和判断交易的方法为:根据PID找到本地公共信息池中对应的用户公钥,使用用户公钥对用户签名进行验证;验证通过后,判断用户ID是否具有更换PID的权限,并查看交易信息中的时间戳与本地时间的差异是否本文档来自技高网
...

【技术保护点】
1.一种基于秘密共享的抗量子计算联盟链系统,其特征在于:包括认证机构、若干用户和联盟链成员,所述用户作为客户端,提供服务的联盟链作为服务端,客户端和服务端均设有唯一的ID,所述客户端和服务端均配备密钥卡,密钥卡由认证机构颁发;/n所述服务端密钥卡包括公有部分和私有部分,公有部分存有公共信息池和区块链服务公钥池,私有部分存有自身私钥;所述服务端对用户ID进行秘密共享,分成若干组不同的秘密分量,分别存储在公共信息池和用户密钥卡中;所述公共信息池内每组公共信息包括用户端的假身份PID、部分秘密分量以及该用户的公钥;/n所述客户端计算假身份ID,记为PID,客户端将PID、部分秘密分量以及用户的私钥存入用户密钥卡,用户密钥卡中还存有区块链服务公钥池,区块链服务公钥池包含交易所需区块链服务端的公钥。/n

【技术特征摘要】
1.一种基于秘密共享的抗量子计算联盟链系统,其特征在于:包括认证机构、若干用户和联盟链成员,所述用户作为客户端,提供服务的联盟链作为服务端,客户端和服务端均设有唯一的ID,所述客户端和服务端均配备密钥卡,密钥卡由认证机构颁发;
所述服务端密钥卡包括公有部分和私有部分,公有部分存有公共信息池和区块链服务公钥池,私有部分存有自身私钥;所述服务端对用户ID进行秘密共享,分成若干组不同的秘密分量,分别存储在公共信息池和用户密钥卡中;所述公共信息池内每组公共信息包括用户端的假身份PID、部分秘密分量以及该用户的公钥;
所述客户端计算假身份ID,记为PID,客户端将PID、部分秘密分量以及用户的私钥存入用户密钥卡,用户密钥卡中还存有区块链服务公钥池,区块链服务公钥池包含交易所需区块链服务端的公钥。


2.根据权利要求1所述的一种基于秘密共享的抗量子计算联盟链系统,其特征在于:所述用户假身份PID通过对用户ID、各个用户ID分量进行哈希运算获得。


3.根据权利要求1所述的一种基于秘密共享的抗量子计算联盟链系统,其特征在于:所述服务端密钥卡设有历史记录功能,记录各客户端密钥卡的实际ID、该实际ID的PID变化的历史记录,历史记录加密存储于区块链服务端密钥卡公有部分,或由服务端密钥卡加密存储于区块链服务端密钥卡外部,所述服务端密钥卡的私有部分中存有用于加密的根密钥。


4.根据权利要求1所述的一种基于秘密共享的抗量子计算联盟链系统,其特征在于:所述私有部分位于可信计算芯片内。


5.根据权利要求1所述的一种基于秘密共享的抗量子计算联盟链系统,其特征在于:所述用户有1个或1个以上的区块链账户,每个账户对应1个公钥/私钥的组合。


6.根据权利要求1所述的一种基于秘密共享的抗量子计算联盟链系统的通信方法,其特征在于:所述服务端对用户ID以秘密共享方式分成秘密分量的方法为:服务端根据匹配的密钥卡生成两个秘密分量随机数,各秘密分量随机数不相等,如相等则进行更换,根据用户ID、两个秘密分量随机数、另外产生的随机数计算得到2个不同的用户ID分量;每个秘密分量由不同的秘密分量随机数和对应的用户ID分量组成;所述服务端获取用户端身份的方法为:凑齐2个秘密分量用于求得用户ID。


7.根据权利要求6所述的一种基于秘密共享的抗量子计算联盟链系统的通信方法,用户记为User,提供服务的联盟链成员作为Endorser,Orderer或Committer,两个用户ID分量分别记为ID1、ID2,两个秘密分量随机数分别记为x1、x2,两个秘密分量分别记为秘密分量一、秘密分量二,其特征在于,包括如下用户PID更换步骤:
步骤1):User验证是否满足更换PID的条件:User获取当前时间戳、由匹配的密钥卡中读取x1,根据x1和当前时间戳计算得到两个哈希值随机数x1'、x2'作为新的秘密分量随机数,比较x1和x1'、x2',如果任意二者相等...

【专利技术属性】
技术研发人员:富尧钟一民杨羽成
申请(专利权)人:南京如般量子科技有限公司如般量子科技有限公司
类型:发明
国别省市:江苏;32

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

1