基于联盟链且抗量子计算的公私钥颁发方法及系统技术方案

技术编号:23291643 阅读:23 留言:0更新日期:2020-02-08 20:56
本申请涉及一种基于联盟链且抗量子计算的公私钥颁发方法及系统,实施在相互通信的联盟链成员和User之间,其特征在于,各方均配置有密钥卡,所有密钥卡均存储有各自的私钥、公钥池以及系统管理公钥;所述联盟链成员包括多个提供相应服务的Endorser,Orderer和Committer,其中各所述Endorser的密钥卡中还存储了管理私钥以及管理公钥;所述管理私钥为:私钥生成服务器的私钥基于ID密码学得到多个与所述私钥相关的分量;所述User的密钥卡中还存储有管理公钥池;各方通信时利用密钥卡基于ID密码学进行加密通信,进一步提高了安全性。

Public private key issuing method and system based on alliance chain and anti quantum computing

【技术实现步骤摘要】
基于联盟链且抗量子计算的公私钥颁发方法及系统
本申请涉及联盟链领域,特别是涉及一种基于联盟链且抗量子计算的公私钥颁发方法及系统。
技术介绍
区块链是一种全新的分布式基础架构与计算范式,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,确保交易的数据安全和客户的隐私是区块链能够进一步发展的必要条件。为此,密码学技术尤其是公钥密钥学在区块链中得到了广泛的应用。而联盟链是区块链的一个分支,所以它本身也是一个分布式的,去中心化的公共数据库,跟其他链的区别就是它是针对特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,其共识过程受到预选节点控制的区块链。正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。现有技术存在的问题:1.基于ID密码学及其数字签名容易被量子计算机破解。2.基于ID密码学的私钥生成服务器的私钥被窃取的风险很高,而且由于私钥生成服务器掌握整个私钥,可以对其他用户的数字签名进行伪造。3.用户更新公钥后,其他用户需要从CA等中心服务器查询并获取新的公钥,流程麻烦。4.所有用户的公钥需要类似CA的中心服务器来维护,受DOS攻击风险较高
技术实现思路
基于此,有必要针对上述技术问题,提供一种基于联盟链且抗量子计算的公私钥颁发方法及系统。一种基于联盟链且抗量子计算的公私钥颁发方法,实施在相互通信的联盟链成员之间,各方均配置有密钥卡,所有密钥卡均存储有各自的私钥、公钥池以及系统管理公钥;各所述Endorser的密钥卡中还存储了管理私钥以及管理公钥;所述管理私钥为:私钥生成服务器的私钥基于ID密码学得到多个与所述私钥相关的分量;所述User的密钥卡中还存储有管理公钥池,所述管理公钥池中包括各个管理公钥单元,各所述管理公钥单元中存储有各Endorser身份标识,以及与Endorser身份标识相对应的管理公钥以及私钥参数;所述公私钥颁发方法具体包括:所述User向多个Endorser提出交易,所述交易信息中包含有由User的密钥卡生成的公钥生成数;多个所述Endorser接收到交易后,根据所述公钥生成数以及所述管理私钥计算得到私钥分量,并将所述私钥分量写入交易应答发送至User;User从交易应答中获取私钥分量,还利用有效的交易应答制作背书并经由Orderer发送给Committer;Committer收到背书后,相应生成交易通知发送给User,还根据从背书中获取的公钥生成数对世界状态进行更新,完成公钥颁发;User接收交易通知后根据所述公钥生成数、多个所述私钥分量以及与各私钥分量相关的私钥参数,采用相关公式计算得到私钥,完成私钥颁发。优选的,所述公钥生成数为公钥随机数,或为基于无证密码学生成的部分公钥。优选的,User向Endorser提出交易,Endorser响应于该交易并进行相应操作,再将与交易结果相应的交易通知发送给User的过程中,交互的消息中携带有供验证时使用的签名;所述签名的生成方式为:方式A:所述公钥生成数为公钥随机数,所述签名基于ID密码学的方式生成;或方式B:所述公钥生成数为基于无证密码学生成的部分公钥,所述签名基于无证密码学的方式生成。优选的,所述方式A具体包括:根据交易内容以及哈希函数计算得到的值作为密钥指针随机数;根据所述密钥指针随机数在公钥池中获取相应的公钥单元,并从所述公钥单元中获取签名公钥随机数;根据密钥卡中生成的随机数参数、所述签名公钥随机数计算得到签名参数,再根据所述随机参数以及己方私钥生成签名。优选的,所述Endorser接收到交易,根据所述公钥生成数以及所述系统私钥计算得到私钥分量后还包括:依据所述User身份识别在所述公钥池中获取相应的密钥生成数,并利用所述密钥生成数以及User身份识,计算得到User公钥;根据所述User公钥和系统管理公钥对私钥分量进行加密,得到私钥分量加密密文;并将所述私钥分量加密密文写入交易应答的内容。优选的,所述User接收多个交易应答后,对各交易应答进行验证,从验证为有效的交易应答中获取私钥分量还包括:对所述交易应答中的私钥分量加密密文进行相应解密,得到所述私钥分量;对所述私钥分量进行验证,并保留验证正确的私钥分量。优选的,所述User利用有效的交易应答制作背书发送给Orderer还包括:依据所述Orderer身份识别在所述公钥池中获取相应的密钥生成数,并利用所述密钥生成数以及Orderer身份识,计算得到Orderer公钥;根据所述Orderer公钥以及系统管理公钥对背书进行加密,得到经加密后的背书。优选的,所述Orderer收到背书后,经排序再发送给Committer包括:根据己方私钥对所述加密后的背书进行相应解密,得到解密后的背书;对所述背书进行排序,得到背书集合;依据所述Committer身份识别在所述公钥池中获取相应的密钥生成数,并利用所述密钥生成数以及Committer身份识,计算得到Committer公钥;根据所述Committer公钥以及系统管理公钥对背书集合进行加密,得到经加密后的背书集合。优选的,Committer收到背书后还包括:根据己方私钥对所述加密后的背书集合进行相应解密,得到解密后的背书集合。本专利技术还提供了一种基于联盟链且抗量子计算的公私钥颁发系统,包括相互通信的联盟链成员,所述联盟成员包括User以及多个提供相应服务的Endorser,Orderer和Committer,各方均配置有密钥卡,所有密钥卡均存储有各自的私钥、公钥池以及系统管理公钥;各所述Endorser的密钥卡中存储了管理私钥、私钥参数以及管理公钥;所述管理私钥为:私钥生成服务器的私钥基于ID密码学得到多个与所述私钥相关的分量;在管理私钥的生成过程中,还相应生成生了所述私钥参数以及所述管理公钥;所述User密钥卡中还存储有管理公钥池,所述管理公钥池中包括各个管理公钥单元,各所述管理公钥单元中存储有各Endorser身份标识,以及与Endorser身份标识相对应的管理公钥以及私钥参数;所述联盟链和用户包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程本文档来自技高网
...

【技术保护点】
1.基于联盟链且抗量子计算的公私钥颁发方法,实施在相互通信的联盟链成员之间,所述联盟成员包括User以及多个提供相应服务的Endorser,Orderer和Committer,其特征在于,各方均配置有密钥卡,所有密钥卡均存储有各自的私钥、公钥池以及系统管理公钥;/n各所述Endorser的密钥卡中还存储了管理私钥以及管理公钥;所述管理私钥为:私钥生成服务器的私钥基于ID密码学得到多个与所述私钥相关的分量;/n所述User的密钥卡中还存储有管理公钥池,所述管理公钥池中包括各个管理公钥单元,各所述管理公钥单元中存储有各Endorser身份标识,以及与Endorser身份标识相对应的管理公钥以及私钥参数;/n所述公私钥颁发方法具体包括:/n所述User向多个Endorser提出交易,所述交易信息中包含有由User的密钥卡生成的公钥生成数;/n多个所述Endorser接收到交易后,根据所述公钥生成数以及所述管理私钥计算得到私钥分量,并将所述私钥分量写入交易应答发送至User;/nUser从交易应答中获取私钥分量,还利用有效的交易应答制作背书并经由Orderer发送给Committer;/nCommitter收到背书后,相应生成交易通知发送给User,还根据从背书中获取的公钥生成数对世界状态进行更新,完成公钥颁发;/nUser接收交易通知后根据所述公钥生成数、多个所述私钥分量以及与各私钥分量相关的私钥参数,采用相关公式计算得到私钥,完成私钥颁发。/n...

【技术特征摘要】
1.基于联盟链且抗量子计算的公私钥颁发方法,实施在相互通信的联盟链成员之间,所述联盟成员包括User以及多个提供相应服务的Endorser,Orderer和Committer,其特征在于,各方均配置有密钥卡,所有密钥卡均存储有各自的私钥、公钥池以及系统管理公钥;
各所述Endorser的密钥卡中还存储了管理私钥以及管理公钥;所述管理私钥为:私钥生成服务器的私钥基于ID密码学得到多个与所述私钥相关的分量;
所述User的密钥卡中还存储有管理公钥池,所述管理公钥池中包括各个管理公钥单元,各所述管理公钥单元中存储有各Endorser身份标识,以及与Endorser身份标识相对应的管理公钥以及私钥参数;
所述公私钥颁发方法具体包括:
所述User向多个Endorser提出交易,所述交易信息中包含有由User的密钥卡生成的公钥生成数;
多个所述Endorser接收到交易后,根据所述公钥生成数以及所述管理私钥计算得到私钥分量,并将所述私钥分量写入交易应答发送至User;
User从交易应答中获取私钥分量,还利用有效的交易应答制作背书并经由Orderer发送给Committer;
Committer收到背书后,相应生成交易通知发送给User,还根据从背书中获取的公钥生成数对世界状态进行更新,完成公钥颁发;
User接收交易通知后根据所述公钥生成数、多个所述私钥分量以及与各私钥分量相关的私钥参数,采用相关公式计算得到私钥,完成私钥颁发。


2.根据权利要求1所述抗量子公私钥颁发方法,其特征在于,所述公钥生成数为公钥随机数,或为基于无证密码学生成的部分公钥。


3.根据权利要求2所述抗量子公私钥颁发方法,其特征在于,
User向Endorser提出交易,Endorser响应于该交易并进行相应操作,再将与交易结果相应的交易通知发送给User的过程中,交互的消息中携带有供验证时使用的签名;
所述签名的生成方式为:
方式A:所述公钥生成数为公钥随机数,所述签名基于ID密码学的方式生成;或
方式B:所述公钥生成数为基于无证密码学生成的部分公钥,所述签名基于无证密码学的方式生成。


4.根据权利要求3所述抗量子公私钥颁发方法,其特征在于,所述方式A具体包括:
根据交易内容以及哈希函数计算得到的值作为密钥指针随机数;
根据所述密钥指针随机数在公钥池中获取相应的公钥单元,并从所述公钥单元中获取签名公钥随机数;
根据密钥卡中生成的随机数参数、所述签名公钥随机数计算得到签名参数,再根据所述随机参数以及己方私钥生成签名。


5.根据权利要求1所述抗量子公私钥颁发方法,其特征在于,所述Endorser接收到交易,根据所述公钥生成数以及所述系统私钥计算得到私钥分量后还包括:
依据所述User身份识别在所述公钥池...

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

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

1