一种基于标识密码体系的联盟链系统技术方案

技术编号:32132826 阅读:15 留言:0更新日期:2022-01-29 19:35
本发明专利技术公开一种基于标识密码体系的联盟链系统,涉及区块链技术领域,其实现内容包括:(1)密钥生成阶段:通过KGC运行主密钥生成算法和私钥提取算法,生成主私钥、主公钥,以及Server和Client的私钥;(2)签名验证阶段:本地查找并输入对应的主公钥、签名方标识、待签名消息、签名,验证输出的签名是否有效;(3)安全通信阶段:通信双方使用协商有效的对称密钥对发送和接受的消息进行加密通信;(4)提交交易阶段:使用步骤(2)的方法验证签名,使用步骤(3)的方法发送消息与接收消息;(5)调用合约代码阶段:通过Client完成合约代码的环境构建与调用,并保存区块,完成链码调用。本发明专利技术可以有效减轻系统的密钥存储和管理负担,提高运行效率。率。率。

【技术实现步骤摘要】
一种基于标识密码体系的联盟链系统


[0001]本专利技术涉及区块链
,具体的说是一种基于标识密码体系的联盟链系统。

技术介绍

[0002]区块链是一种不可改的分布式共享账本。在区块链中,数据保存在多方,利用共识算法实现多节点数据的一致性。在区块链中,数据只能追加不能删除或修改。新型区块链是可编程的,利用智能合约可以将业务规则编码到区块链中,规则(代码)像数据一样不能删除或修改,代码在调用时自动执行,不能跳过,执行的结果也写入区块链。由于数据保存在多方,链上数据不可篡改,所以利用区块链可实现多方之间的可信数据共享。
[0003]联盟链是区块链的一种。在联盟链中,相关节点只有在经过授权许可后才可以加入区块链网络,并按规则参与共识和读写区块数据。
[0004]目前,最通用的联盟链系统是IBM公司开源的超级账本系统。超级账本系统基于成熟的公钥证书密码体系来实现其系统的授权许可功能,虽然可以有效控制系统节点和用户的权限,但庞杂的证书还是为超级账本系统带来了极大的证书管理和存储负担。

技术实现思路

[0005]本专利技术针对目前技术发展的需求和不足之处,提供一种基于标识密码体系的联盟链系统,以在保证该联盟链系统的节点安全认证和通信的基础上,减轻密钥管理和存储负担,提升运行效率。
[0006]本专利技术的一种基于标识密码体系的联盟链系统,解决上述技术问题采用的技术方案如下:
[0007]一种基于标识密码体系的联盟链系统,其实现内容包括:
[0008](1)密钥生成阶段:通过KGC运行主密钥生成算法和私钥提取算法,生成主私钥、主公钥,以及Server和Client的私钥;
[0009](2)签名验证阶段:通过本地查找并输入对应的主公钥,随后输入签名方标识、待签名消息、签名,验证输出的签名是否有效;
[0010](3)安全通信阶段:通信双方使用步骤(2)的方法验证协商密钥中的签名,使用协商有效的对称密钥对发送和接受的消息进行加密后通信;
[0011](4)提交交易阶段:使用步骤(2)的方法验证签名,使用步骤(3)的方法发送消息与接收消息;
[0012](5)调用合约代码阶段:通过Client完成合约代码的环境构建与调用,并保存区块,完成链码调用。
[0013]具体的,所涉及联盟链系统的实现涉及多个KGC节点,多个Client节点和多个Server节点。
[0014]可选的,执行步骤(1),生成密钥的具体流程为:
[0015](1.1)所有KGC运行主密钥生成算法,生成各自的主私钥和主公钥,公布主公钥;
[0016](1.2)负责Server密钥生成的KGC运行私钥提取算法,将KGC名称与Server名称拼接成标识名作为私钥提取算法的输入,为所有的Server生成私钥;
[0017](1.3)负责Client密钥生成的KGC运行私钥提取算法,将KGC名称与Client名称拼接成标识名作为私钥提取算法的输入,为需要的Client生成私钥。
[0018]优选的,KGC将步骤(1.2)生成的私钥安全分发至对应的Server;
[0019]KGC将步骤(1.3)生成的私钥安全分发至对应的Client。
[0020]进一步可选的,执行步骤(2),验证签名的具体流程为:
[0021](2.1)根据签名方标识,在本地的信任KGC主公钥列表中查找对应的主公钥,若未找到,则验证失败,若找到,则继续;
[0022](2.2)输入签名方标识、待签名消息、(2.1)中的主公钥和签名,运行标识密码的验证算法,输出验证结果。
[0023]进一步可选的,执行步骤(3)时,假定通信双方为A和B,A标识为IDA,标识私钥为skA,由KGC1签发,B标识为IDB,标识私钥为skB,由KGC2签发,KGC1和KGC2均在A和B的信任KGC列表上,那么,通信双方使用协商有效的对称密钥对发送和接受的消息进行加密后通信,具体流程为:
[0024](3.1)A向B发起连接请求,若A与B上次协商的对称密钥仍未过期,则用上次协商的对称密钥对发送和接受的消息进行加密后通信,否则,执行如下步骤;
[0025](3.2)A计算密钥协商临时公私钥tpkA、tskA,并用skA对tpkA和IDA拼接的消息运行标识密码的签名算法得到sigA,将tpkA、IDA、sigA发送给B;
[0026](3.3)B收到tpkA、IDA、sigA后,按照步骤(3.2)的方法验证签名sigA是否正确,若错误,则退出,若正确,则B计算密钥协商临时公私钥tpkB、tskB,用skB对tpkB与IDB拼接的消息运行标识密码的签名算法得到sigB,并用tskB和tpkA计算对称密钥sk,用sk将tpkA与tpkB拼接并加密后得到密文cB;将tpkB、IDB、sigB、cB发送给A;
[0027](3.4)A收到tpkB、IDB、sigB后,按照步骤(3.2)的方法验证签名sigB是否正确,若错误,则退出,若正确,则tskB和tpkA计算对称密钥sk,并用sk验证cB解密后的内容是否为tpkA与tpkB的拼接,若不是,退出,若是,则用sk将tpkB与tpkA拼接后的内容加密,得到cA,并将cA发送给B;
[0028](3.5)B收到cA后,验证用sk解密cA后的内容是否为tpkB与tpkA的拼接,若不是,则退出连接,若是,执行步骤(3.6);
[0029](3.6)A与B用sk对消息加密成密文后发送给接收消息的一方,接收消息的一方用sk解密密文后得到具体的消息并处理。
[0030]进一步可选的,执行步骤(4),提交交易的具体流程为:
[0031](4.1)Client用自身标识私钥对交易信息运行标识密码签名算法获得签名,按步骤(3)进行安全通信,将自身标识、交易信息和交易信息的签名发送给某个Server;
[0032](4.2)Server收到标识、交易信息和签名后,按步骤(2)的方法验证签名是否正确,若不正确,则Client发送交易错误信息,若正确,则执行步骤(4.3);
[0033](4.3)Server按步骤(3)进行安全通信,来互相发送自己收到的交易信息,对交易信息进行排序并达成共识;
[0034](4.4)Server将排序好的交易、上一个区块的哈希值打包成区块存储在本地,随后
按步骤(3)进行安全通信,以将区块信息广播给所有的Client;
[0035](4.5)Client接收到所有Server的广播后,比较相同区块号的内容是否一致,若一致,则将区块内容保存在本地,若不一致,则不对区块进行保存。
[0036]进一步可选的,执行步骤(5),调用合约代码的具体流程为:
[0037](5.1)将合约代码的名称、版本、内容键入Client,Client按既定规则构建合约代码的模拟运行环境,并将前述合约代码的特征和模拟运行环境打包成交易信息;
[0038]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于标识密码体系的联盟链系统,其特征在于,其实现内容包括:(1)密钥生成阶段:通过KGC运行主密钥生成算法和私钥提取算法,生成主私钥、主公钥,以及Server和Client的私钥;(2)签名验证阶段:通过本地查找并输入对应的主公钥,随后输入签名方标识、待签名消息、签名,验证输出的签名是否有效;(3)安全通信阶段:通信双方使用步骤(2)的方法验证协商密钥时的签名,使用协商有效的对称密钥对发送和接受的消息进行加密后通信;(4)提交交易阶段:使用步骤(2)的方法验证签名,使用步骤(3)的方法发送消息与接收消息;(5)调用合约代码阶段:通过Client完成合约代码的环境构建与调用,并保存区块,完成链码调用。2.根据权利要求1所述的一种基于标识密码体系的联盟链系统,其特征在于,所述联盟链系统的实现涉及多个KGC节点,多个Client节点和多个Server节点。3.根据权利要求2所述的一种基于标识密码体系的联盟链系统,其特征在于,执行步骤(1),生成密钥的具体流程为:(1.1)所有KGC运行主密钥生成算法,生成各自的主私钥和主公钥,公布主公钥;(1.2)负责Server密钥生成的KGC运行私钥提取算法,将KGC名称与Server名称拼接成标识名作为私钥提取算法的输入,为所有的Server生成私钥;(1.3)负责Client密钥生成的KGC运行私钥提取算法,将KGC名称与Client名称拼接成标识名作为私钥提取算法的输入,为需要的Client生成私钥。4.根据权利要求3所述的一种基于标识密码体系的联盟链系统,其特征在于,KGC将步骤(1.2)生成的私钥安全分发至对应的Server;KGC将步骤(1.3)生成的私钥安全分发至对应的Client。5.根据权利要求3所述的一种基于标识密码体系的联盟链系统,其特征在于,执行步骤(2),验证签名的具体流程为:(2.1)根据签名方标识,在本地的信任KGC主公钥列表中查找对应的主公钥,若未找到,则验证失败,若找到,则继续;(2.2)输入签名方标识、待签名消息、(2.1)中的主公钥和签名,运行标识密码的验证算法,输出验证结果。6.根据权利要求5所述的一种基于标识密码体系的联盟链系统,其特征在于,执行步骤(3)时,假定通信双方为A和B,A标识为IDA,标识私钥为skA,由KGC1签发,B标识为IDB,标识私钥为skB,由KGC2签发,KGC1和KGC2均在A和B的信任KGC列表上,那么,通信双方使用协商有效的对称密钥对发送和接受的消息进行加密后通信,具体流程为:(3.1)A向B发起连接请求,若A与B上次协商的对称密钥仍未过期,则用上次协商的对称密钥对发送和接受的消息进行加密后通信,否则,执行如下步骤;(3.2)A计算密钥协商临时公私钥tpkA、tskA,并用skA对tpkA和IDA拼接的消息运行标识密码的签名算法得到sigA,将tpkA、IDA、sigA发送给B;(3.3)B收到tp...

【专利技术属性】
技术研发人员:孟奇魏金雷冷静
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1