掌桥专利:专业的专利平台
掌桥专利
首页

抗量子攻击的联盟区块链数字签名加密方法

文献发布时间:2023-06-19 11:21:00


抗量子攻击的联盟区块链数字签名加密方法

技术领域

本申请属于网络安全技术领域,具体涉及一种联盟区块链数字签名加密方法,可用于联盟区块链系统中的抗量子攻击。

背景技术

后量子密码学是美国麻省理工学院教授Peter Shor 1994年提出舒尔Shor算法开始兴起的一门研究。Shor算法可以攻破目前所有主流的公钥密码体系,包括椭圆曲线加密算法ECC、公钥密码体制RSA加密算法、公钥密码体制ELGamal加密算法等。

自2016年开始,美国国家标准技术研究院NIST面向全球征集具备抗量子计算机攻击的新一代公钥加密算法簇。目前主流区块链系统中的底层签名算法大多使用是传统的椭圆曲线签名算法ECDSA中使用P-256曲线的ECDSA(P-256)签名算法。NASA、D-WAVE、IBM 及Intel这些公司先后投入大量资金研发量子计算机,在2018年的国际消费类电子产品展览会上,Intel公司展示了49量子位的处理器。为了应对即将到来的量子危机,区块链系统中的底层签名方法需要使用后量子密码学算法。

在专利申请公开号为108768652中公开了一种可抗量子攻击的联盟区块链底层加密方法,该方法是以NTRUsign签名算法为基础,由于NTRUsign签名算法本身存在安全隐患,不能够完全抵御量子攻击,因而该联盟区块链底层加密方法不能抵御量子攻击,在量子计算技术成熟之后该方法将不具有安全性。

在专利申请公开号109716375中公开了一种区块链账户的处理方法、装置和存储介质。该方法中只有区块链的账户系统使用抗量子签名算法,仅能保证区块链账户系统抗量子攻击,且该方法中区块链的其它模块由于使用的是ECDSA(P-256)签名算法,因而无法抵御量子攻击,其效果存在一定的局限性。

发明内容

本发明的目的在于针对上述现有方法的缺点,提出一种基于Falcon签名算法的联盟区块链加密方法,以实现联盟区块链系统抗量子攻击,保证在量子计算技术成熟之后联盟区块链系统仍然具有安全性。

本发明的技术方案是这样实现的:

一,技术原理

目前,美国国家标准技术研究院NIST征集抗量子密码的标准化程序已经进行到第三轮,其中抗量子签名算法有3个候选算法,分别是Falcon、Rainbow和CRYSTALS-DILIITHIUM。该Rainbow签名算法的公钥长度远高于另外两种签名算法,该Falcon签名算法的公钥和签名长度都略短于CRYSTALS-DILIITHIUM签名算法,且Falcon签名算法在算法性能上略优于CRYSTALS-DILIITHIUM签名算法。因此可以实现一个基于Falcon签名算法的联盟区块链底层加密方法。Falcon签名算法是一种基于格的签名算法,其全称为基于NTRU的快速傅里叶格紧致签名,主要是由GPV框架、NTRU格以及快速傅里叶采样技术组成。

二.技术方案

根据上述原理,本发明抗量子攻击的联盟区块链数字签名加密方法,其实现方案包括如下步骤:

(1)用户通过网络中的某个节点A加入联盟区块链时,联盟区块链系统中的数字证书颁发者向该节点颁发成员身份证书ECerts;

(2)节点A使用自己的成员身份证书ECerts向联盟区块链平台的数字证书颁发者请求获取交易证书TCerts;

(3)节点A在获取交易证书TCerts后,使用自己的私钥sk1和Falcon签名算法的签名生成过程对其交易内容进行签名,并将该Falcon签名算法所对应的公钥pk1和已签名的交易内容封装成一个文件;

(4)节点A使用该交易证书的对应的私钥sk2和Falcon签名算法的签名生成过程,对该文件进行签名;

(5)节点A向联盟区块链系统的其它网络节点广播本次交易;

(6)联盟区块链系统的其它网络节点接收到本次交易的文件后,对该文件进行验证;

(7)当验证全部通过后,接收该次交易的网络节点认可此次交易,并继续向联盟区块链系统的其它网络节点传播;

(8)联盟区块链系统检查认可本次交易的网络节点数量,当认可本次交易的网络节点数量满足联盟区块链系统要求的网络节点数量后,将本次交易信息写入区块链中,完成对联盟区块链系统的数字签名加密。

本发明与现有技术相比,具有如下优点:

1)本发明由于在成员身份证书ECerts和交易证书TCerts中使用的签名算法Falcon进行签名,因而可在联盟区块链系统向用户授权和发起交易时抗量子攻击,避免攻击者伪造身份且在联盟区块链系统中伪造交易,从而提升了联盟区块链系统的安全性。

2)本发明由于使用Falcon签名算法对交易内容进行签名,可保证交易内容在量子攻击下无法被篡改,进一步提升了联盟区块链系统的安全性。

附图说明

图1是本发明的实现流程图;

图2是本发明中使用的数字证书链的框架图。

具体实施方式

以下结合附图对本发明的实施例作进一步详细描述。

参照图1,本发明抗量子攻击的联盟区块链数字签名加密方法,实现步骤如下:

步骤1:节点A获取成员身份证书ECerts。

用户通过网络中的某个节点A加入联盟区块链时,是由联盟区块链系统中的数字证书颁发者向该节点颁发成员身份证书ECerts。

所述成员身份证书ECerts,用于验证网络节点的身份信息。新的数字证书发布,都是通过数字证书颁发机构CA颁发的,如图2所示,即首先由CA根证书给注册证书颁发机构ECA颁发数字证书,得到该数字证书后注册证书颁发机构ECA才拥有颁发注册证书ECerts的资格。注册证书颁发机构ECA给通过验证的网络节点颁发注册证书ECerts。

在发布数字证书时,使用Falcon签名算法的密钥生成过程得到私钥sk和公钥pk,其中私钥sk自己保留,通过私钥sk和Falcon签名算法的签名生成过程对颁发的数字证书进行签名,把公钥pk、签名信息以及Falcon签名算法存储在颁发的数字证书中。

步骤2:节点A进入联盟区块链系统,并发送交易请求的文件。

2.1)节点A如果成功得到联盟区块链系统授权的成员身份证书ECerts,则能够进入联盟区块链系统,如果授权失败,则节点A无法进入联盟区块链系统。

2.2)节点A进入联盟区块链系统后,使用自己的成员身份证书ECerts对应的私钥sk3 和Falcon签名算法的签名生成过程,对发起请求交易文件信息进行签名并向联盟区块链系统发送该交易请求。

步骤3:联盟区块链系统得到请求发起交易的文件后,向节点A颁发交易证书TCerts。

联盟区块链系统中的证书颁发者使用节点A成员身份证书ECerts中的公钥pk3和Falcon签名算法的签名验证过程对请求交易文件信息的签名进行验证:

如果验证通过,则联盟区块链系统中的证书颁发者向节点A发送交易证书TCerts;

如果验证失败,则本次交易失败。

所述交易证书TCerts,是网络节点发起交易时需要携带的交易证明,如果没有交易证书TCerts或者交易证书验证失败,则交易失败。该交易证书的颁发过程如图2所示,其由 CA根证书给交易认证中心TCA颁发数字证书,使得交易认证中心TCA拥有颁发交易证书TCerts的资格,交易认证中心TCA再给提供了有效ECerts的网络节点颁发交易证书TCerts。

步骤4:节点A发起交易,并进行交易签名和广播。

4.1)节点A在获取交易证书TCerts后,使用自己的私钥sk1和Falcon签名算法的签名生成过程对交易内容进行签名,并将Falcon签名算法、Falcon签名算法所对应的公钥pk1以及已签名的交易内容封装成一个交易文件;

4.2)节点A使用该交易证书TCerts对应的私钥sk2和Falcon签名算法的签名生成过程,对该交易文件进行签名;

4.3)节点A向联盟区块链系统的其它网络节点广播本次交易。

步骤5:其它网络节点接收本次交易,并对本次交易的文件进行验证。

5.1)其它网络节点使用节点A成员身份证书ECerts中的公钥pk3和Falcon签名算法的验证过程,对节点A的身份信息进行验证:

若验证成功,则执行5.2)和5.3);

若否,则交易失败,其它网络节点抛弃本次交易。

5.2)该网络节点使用节点A交易证书TCerts中的公钥pk2和Falcon签名算法的验证过程,对节点A是否发起本次交易进行验证;

若验证成功,则执行5.3);

若否,则交易失败,其它网络节点抛弃本次交易;

5.3)该网络节点使用本次交易内容中的公钥pk1和Falcon签名算法的验证过程,对本次交易内容的合法性进行验证。

若验证交易内容合法,则执行步骤6;

若否,则交易失败,其它网络节点抛弃本次交易。

步骤6:完成交易。

接收该次交易的网络节点认可本次交易,联盟区块链系统统计认可本次交易的网络节点数量增加一个,并继续向联盟区块链系统中的其它网络节点传播。当接收联盟区块链系统统计认可本次交易的网络节点数量达到联盟区块链系统的要求的数量时,其它网络节点停止继续传播本次交易并将本次交易信息写入区块链中,本次交易完成。

通过上述步骤1到步骤6,即可完成对联盟区块链系统的数字签名加密。

以上描述仅是本发明的一个具体实例,并未构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

相关技术
  • 抗量子攻击的联盟区块链数字签名加密方法
  • 一种可抗量子攻击的联盟区块链底层加密方法
技术分类

06120112895886