一种用于联盟区块链的具有匿名性的多级签名方法技术

技术编号:35205684 阅读:45 留言:0更新日期:2022-10-15 10:16
本发明专利技术公开了一种用于联盟区块链的具有匿名性的多级签名方法,能够在联盟区块链中实现限制只有实现经过联盟成员认可的客户端才能发生交易;通过PKI体系、多级签名和区块链技术的结合,能够完成交易来源渠道的追溯,特别之处在于能够完成该过程中涉及隐私的保护,只有相应节点拥有渠道来源信息,而不会同步到区块链其他节点。块链其他节点。块链其他节点。

【技术实现步骤摘要】
一种用于联盟区块链的具有匿名性的多级签名方法
[0001]本申请是针对申请日为“2019年9月3日”、申请号为“201910827936.4”、名称为“一种用于联盟区块链的具有匿名性的多级签名方法”的中国专利申请提出的分案申请。


[0002]本专利技术涉及区块链的交易溯源领域,尤其涉及联盟区块链对交易链路的追溯和访问控制的方法。

技术介绍

[0003]区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
[0004]传统联盟区块链主要通过公钥基础设施(Public Key Infrastructure,PKI)PKI体系来进行访问控制,传统PKI体系一般使用证书控制访问并用证书表示用户身份,就比如Hyperleger Fabric来说,使用一个中心化的CA服务器来负责身份的认证和证书的颁发与控制,使用相应的证书表示客户端的身份并以此控制客户端连接。证书用于标识个人就导致不能追溯签名的来源渠道。例如比如现有机构A和B,A机构用户a,B机构用户b,如果A机构拿到B机构用户b公私钥发起交易,这时并不能很好追溯到这笔交易其实是机构A发出的。需要加强整个交易链路安全性,并提升交易可追溯机制。区块链技术本身具有可信存证的特点,能够保证存证不被篡改、安全可靠。将传统的PKI体系同区块链的这一特点结合,能够较好解决上述交易渠道来源无法存证的痛点,如何更好地将传统的PKI结合到联盟区块链系统使用并应用于实际生产是目前面临的一项挑战。

技术实现思路

[0005]针对现有技术的不足,本专利技术提出一种用于联盟区块链的具有匿名性的多级签名方法,继承了传统PKI体系的安全性,而且既能完成对交易来源渠道的存证,又能够保证一定的匿名性。
[0006]本专利技术的目的是通过以下技术方案来实现的:
[0007]一种用于联盟区块链的具有匿名性的多级签名方法,包括如下步骤:
[0008]S1:客户端用户请求获取客户端证书:客户端用户向区块链节点所有者发送请求以便获取客户端证书,请求的内容包括客户端用户自己生成的公钥和对应私钥对该公钥的签名;
[0009]S2:区块链节点所有者验证客户端证书请求:首先验证签名的合法性,确保该请求来自于该公私钥对的所有者,其次验证私钥类型是否为ECC,验证通过后区块链节点所有者为该公钥生成客户端证书和私钥并返回给请求的客户端用户;
[0010]S3:请求交易证书:每次交易前客户端用户先请求交易证书,方法是首先生成一对
临时的公私钥对向区块链节点所有者发送一个交易证书请求,交易证书请求的内容包括对交易证书的请求体、客户端证书私钥对请求体的签名以及客户端证书;
[0011]S4:区块链节点所有者验证交易证书请求:具体包括验证签名的合法性和验证客户端证书,需要确保该交易证书是本节点发出的,验证通过后节点解析出交易证书请求中的临时公钥,并为该公钥生成相应的交易证书返回给请求的客户端;
[0012]S5:发起交易:客户端用户获取到交易证书后发起交易,具体为:首先生成一笔交易,然后客户端用户使用自己生成的私钥对交易签名得到签名后的交易,并用该交易构造请求,然后使用交易证书对请求进行签名,再附带交易证书发送相应的请求体到区块链节点中,区块链节点存储交易信息并验证该交易,然后同步除客户端交易证书签名以外的其他交易信息至全部节点。在交易中增加扩展字段存储表示渠道的签名,即客户端交易证书签名,扩展字段作为交易的一部分会保存在节点的账本中,但不经过共识机制,这样便可以存储下交易的渠道信息以便今后的溯源。
[0013]进一步地,步骤S1中,用户自己生成的公钥和私钥通过椭圆曲线数字签名算法生成;其中,公钥的散列值做为自己的账户地址。
[0014]本专利技术的有益效果如下:
[0015]本专利技术应用于联盟链背景下的区块链网络上,一种用于联盟区块链的具有匿名性的多级签名方法,继承了传统PKI体系的安全性,而且既能完成对交易来源渠道的存证,因为其每次都使用新的交易证书的方式,又能够保证一定的匿名性,是联盟区块链技术的一次创新。
附图说明
[0016]图1是本专利技术的方法中交易证书的申请和使用的示意图;
[0017]图2是生成用户账户的示意图;
具体实施方式
[0018]下面根据附图和优选实施例详细描述本专利技术,本专利技术的目的和效果将变得更加明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0019]如图1所示,一种用于联盟区块链的具有匿名性的多级签名方法,包括如下步骤:
[0020]S1:客户端用户请求获取客户端证书:客户端用户向区块链节点所有者发送请求以便获取客户端证书,请求的内容包括客户端用户自己生成的公钥和对应私钥对该公钥的签名;私钥仅由用户妥善保存;
[0021]S2:区块链节点所有者验证客户端证书请求:首先验证签名的合法性,其次验证私钥类型是否为ECC,验证通过后区块链节点所有者为该公钥生成客户端证书和私钥并返回给请求的客户端用户;
[0022]S3:请求交易证书:每次交易前客户端用户先请求交易证书,方法是首先生成一对临时的公私钥对向区块链节点所有者发送一个交易证书请求,交易证书请求的内容包括对交易证书的请求体、客户端证书私钥对请求体的签名以及客户端证书,其中请求体是交易的主要内容,其他附带信息用于完成相应基于密码学算法的身份证明;
[0023]S4:区块链节点所有者验证交易证书请求:具体包括验证签名的合法性和验证客户端证书,验证通过后区块链节点解析出交易证书请求中的临时公钥,并为该公钥生成相应的交易证书返回给请求的客户端;
[0024]S5:发起交易:客户端用户获取到交易证书后发起交易,具体为:首先生成一笔交易,然后客户端用户使用自己生成的私钥对交易签名得到签名后的交易,并用该交易构造请求,然后使用交易证书对请求进行签名,再附带交易证书发送相应的请求体到区块链节点中,区块链节点存储交易信息并验证该交易,然后同步除客户端交易证书签名以外的其他交易信息至全部节点。区块链节点将验证结果反馈给用户,若验证成功,表明交易成功;若验证失败,则表明交易失败。本专利技术的签名方法在交易中增加扩展字段存储表示渠道的签名,即客户端交易证书签名,扩展字段作为交易的一部分会保存在节点的账本中,但不经过共识机制,这样便可以存储下交易的渠道信息以便今后的溯源,扩展字段仅存在于本节点中,不会同步到联盟链其他节点,因此能够保证相应隐私信息不泄漏,但是在必要时能够从本节点追溯交易来源。
[0025]作为优选方案,如图2所示,步骤S1中,用户自己生成的公钥和私钥通过椭圆曲线数字签名算法生成;其中,公钥的散列值做为自己的账户地址。保证每个用户都本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于联盟区块链的具有匿名性的多级签名方法,其特征在于,应用于客户端,所述方法包括:向区块链节点发送获取客户端证书的请求;所述请求包括所述客户端的公钥和签名,所述签名为所述公钥对应的第一私钥对所述公钥的签名;接收所述区块链节点针对所述请求返回的客户端证书;基于所述客户端证书向所述区块链节点发送交易证书请求;接收所述区块链节点针对所述交易证书请求返回的交易证书,所述交易证书用于向所述区块链节点发送交易请求。2.如权利要求1所述的多级签名方法,所述基于所述客户端证书向所述区块链节点发送交易证书请求,包括:生成一对临时公私钥;基于所述临时公私钥向所述区块链节点发送所述交易证书请求;所述交易证书请求包括对交易证书的请求体、所述客户端证书对所述请求体的签名以及所述客户端证书。3.如权利要求1或2所述的多级签名方法,其特征在于,所述方法还包括:通过所述第一私钥对生成的交易进行签名,得到签名后的所述交易;基于签名后的所述交易构造交易请求;采用所述交易证书对所述交易请求进行签名,得到签名后的所述交易请求;将签名后的所述交易请求协同所述交易证书构成的请求体发送至所述区块链节点,以发起交易,所述交易请求包括交易信息,所述交易信息包括扩展字段,所述扩展字段用于存储采用所述交易证书得到的签名。4.一种用于联盟区块链的具有匿名性的多级签名方法,其特征在于,应用于区块链节点,所述方法包括:当接收到客户端发送的获取客户端证书的请求时,对所述请求进行验证,所述请求包括所述客户端的公钥和签名,所述签名为所述公钥对应的第一私钥对所述公钥的签名;若所述请求验证通过,则向所述客户端返回客户端证书;当接收到所述客户端基于所述客户端证书发送的交易证书请求时,对所述交易证书请求进行验证;若所述交易证书请求验证通过,则向所述客户端返回交易证书;当接收到所述客户端基于所述交易证书发送的交易请求时,基于所述交易证书对所述交易请求进行验证;若所述交易请求验证通过,则将所述交易请求对应的交易信息同步...

【专利技术属性】
技术研发人员:李伟邱炜伟乔沛杨
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

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

1