[发明专利]基于群组非对称密钥池的抗量子计算联盟链交易方法、系统有效
申请号: | 201910591312.7 | 申请日: | 2019-07-02 |
公开(公告)号: | CN110519045B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 富尧;钟一民;汪仲祥;杨羽成 | 申请(专利权)人: | 如般量子科技有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 解明铠;刘静静 |
地址: | 312030 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 群组非 对称 密钥 量子 计算 联盟 交易 方法 系统 | ||
1.基于群组非对称密钥池的联盟链交易方法,其特征在于,实施于基于群组非对称密钥池的联盟链交易系统,参与方包括用户U和联盟链服务端,所述联盟链交易系统包括用于供用户U和联盟链服务端在交互前进行身份验证的CA机构,所述CA机构配置有CA密钥卡,CA密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、CA公钥指针随机数和CA私钥;
用户U和联盟链服务端通过网络进行连接,用户U配置有用户密钥卡,所述用户密钥卡为独立的硬件隔离设备,且存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、用户公钥指针随机数、CA公钥指针随机数和用户私钥;
所述用户U为User,IDU为User的公钥指针随机数、PKU为User的公钥、SKU为User的私钥;
联盟链服务端包括若干个Endorser、Orderer和若干个Committer;IDE为Endorser的公钥指针随机数、PKE为Endorser的公钥、SKE为Endorser的私钥;IDO为Orderer的公钥指针随机数、PKO为Orderer的公钥、SKO为Orderer的私钥;IDC为Committer的公钥指针随机数、PKC为Committer的公钥、SKC为Committer的私钥;
所述联盟链交易方法,包括:
User向Endorser发起业务请求REQU,业务请求REQU包括IDU和IDE;
Endorser向CA机构发起查询请求,询问IDU是否有效,Endorser验证CA机构反馈的应答消息,若验证通过,则进行其他操作;
User生成参数proposal,参数proposal包括链码chaincodeID、函数参数txPayload、时间戳timestamp,按照签密算法对参数proposal签密为SIGNC(proposal,PKE,SKU)= SCue=(Cue,Rue,Sue),所述签密算法为SIGNC(M,PKB,SKA)=SC=(c,r,s),其中SIGNC为签密算法,M为待签密的消息,PKB为接收方公钥,SKA为签密发送方私钥,SC为签密结果,具体表示为(c,r,s),其中c为签密密文,r为签密认证码,s为签密签名;
取随机数RGue,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKGue,将SKGue与User的公钥PKU做异或运算得到PKU⊕SKGue,将其与RGue组合起来得到RGue||(PKU⊕SKGue),并对结果进行hash运算得到KRSue;
用KRSue加密Rue和Sue得到{Rue||Sue}KRSue,并与RGue和Cue组合起来得到RGue||Cue||{Rue||Sue}KRSue,User将RGue||Cue||{Rue||Sue}KRSue作为第一签密信息,User向Endorser提出交易tx,交易tx为消息组合{IDU,IDE, RGue||Cue||{Rue||Sue}KRSue};
Endorser根据接收的第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,交易应答rtx包括申请应答tran-proposal和相关指针随机数,其中,tran-proposal包括交易的序号tid=HASH(proposal)、从User处收到的链码chaincodeID和函数参数txPayload;
按照所述签密算法对交易应答rtx进行签密:取随机数RGeg,从密钥卡的群组非对称密钥池中取出群组非对称公钥PKGeg,得到SIGNC(rtx,PKGeg,SKE)=SCeg={Ceg||Reg||Seg};
取随机数RGeu,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKGeu,将SKGue与Endorser的公钥PKE做异或运算得到PKE⊕SKGeu,将其与RGeu组合起来得到RGeu||(PKE⊕SKGeu),并对结果进行hash运算得到KRSeu;
用KRSeu加密Reu和Seu得到{Reu||Seu}KRSeu,并与RGeu和Ceu组合起来得到RGeu||Ceu||{Reu||Seu}KRSeu,Endorser将RGeu||Ceu||{Reu||Seu}KRSeu作为第二签密信息,接着Endorser将第二签密信息发送给User;
所述用户U根据接收的各第二签密信息解签密成功后得到若干个交易应答,User收到交易应答后,根据解签密得到的RGeg||SCeg继续对SCeg中的Ceg进行解签密,可以得到UNSIGNC(SCeg,PKE,SKGeg)={rtx||SCRESULTeg},其中SKGeg是根据RGeg从密钥卡的群组非对称密钥池中取出的,如果得到的SCRESULTeg为解密成功,则进行下面的步骤,否则User将忽略该消息;
对各交易应答验证通过后生成背书,具体包括:User收到多个交易应答并分别验证通过后,将RGeg||SCeg组成背书,背书可表示为集合etx=∑{RGeg||SCeg};
对背书进行签密得到第三签密信息,向联盟链服务端发送包含第三签密信息的消息组合,具体包括:
按照所述签密算法对所述背书进行签密,得到SIGNC(etx,PKO,SKU)=SCuo={Cuo||Ruo||Suo},取随机数RGuo,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKGuo,将SKGuo与User的公钥PKU做异或运算得到PKU⊕SKGuo,将其与RGuo组合起来得到RGuo||(PKU⊕SKGuo),并对结果进行hash运算得到KRSuo;
用KRSuo加密Ruo和Suo得到{Ruo||Suo}KRSuo,并与RGuo和Cuo组合起来得到RGuo||Cuo||{Ruo||Suo}KRSuo,User将RGuo||Cuo||{Ruo||Suo}KRSuo作为第三签密信息,接着User将消息组合{IDU,IDO, RGuo||Cuo||{Ruo||Suo}KRSuo}发送给Orderer;
Orderer收到背书后,取出{IDU,IDO,RGuo||Cuo||{Ruo||Suo}KRSuo}中各个部分,按照所述签密算法对密文Cuo进行解签密,得到UNSIGNC(SCuo,PKU,SKO)={etx||SCRESULTuo},其中PKU为Orderer根据IDU从密钥卡的用户非对称密钥池中取出的User的公钥,如果得到的SCRESULTuo为解密成功,则进行下面的步骤,否则Orderer将忽略该消息;
Orderer得到解签密后的集合etx,在积累到一定数量的集合etx后,Orderer对集合etx进行排序,排序完成后Orderer将序列号seqno、上个联盟链区块的哈希值prevhash、∑etx、IDO和IDU组合起来,得到Setx={ IDO,IDC,{seqno, prevhash,∑etx},接着对Setx进行签密;
按照所述签密算法Setx进行签密,得到SIGNC(Setx,PKC,SKO)=SCoc={Coc||Roc||Soc},取随机数RGo,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKGoc,将SKGoc与Orderer的公钥PKO做异或运算得到PKO⊕SKGoc,将其与RGoc组合起来得到RGoc||(PKO⊕SKGoc),并对结果进行hash运算得到KRSoc;
用KRSoc加密Roc和Soc得到{Roc||Soc}KRSoc,并与RGoc和Coc组合起来得到RGoc||Coc||{Roc||Soc}KRSoc,User将RGoc||Coc||{Roc||Soc}KRSoc作为第五签密信息,接着Orderer将消息组合{IDO,IDC, RGoc||Coc||{Roc||Soc}KRSoc}发送给Committer;
每个Committer验证交易,Committer从Setx中,即{ IDO,IDC,{seqno, prevhash,∑etx}中取出集合etx,从集合etx中取出SCeg部分,再对SCeg中的Ceg进行解签密,得到UNSIGNC(SCeg,PKE,SKGeg)={rtx||SCRESULTeg},其中SKGeg是根据RGeg从密钥卡的群组非对称密钥池中取出的,如果得到的SCRESULTeg为解密成功,则进行下面的步骤,否则Committer将忽略该消息;
每个Committer解签密得到集合rtx后,根据背书策略对rtx集合进行验证,包括对读写操作集进行检查等,检查完成后Committer对本地的联盟链数据库进行读写操作集的实际执行,并记录每一笔交易的交易结果到区块链中,完成后即表示Committer执行完毕,发送交易通知。
2.基于群组非对称密钥池的联盟链交易系统,其特征在于,参与方包括用户U和联盟链服务端,所述联盟链交易系统包括用于供用户U和联盟链服务端在交互前进行身份验证的CA机构,所述CA机构配置有CA密钥卡,CA密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、CA公钥指针随机数和CA私钥;
所述用户U和联盟链服务端通过网络进行连接,所述用户U配置有用户密钥卡,所述用户密钥卡为独立的硬件隔离设备,且存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、用户公钥指针随机数、CA公钥指针随机数和用户私钥;
所述用户U和联盟链服务端通过网络实现如权利要求1所述的基于群组非对称密钥池的联盟链交易方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于如般量子科技有限公司,未经如般量子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910591312.7/1.html,转载请声明来源钻瓜专利网。