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

一种基于区块链的抗后门攻击的公共参数产生方法

文献发布时间:2023-06-19 11:57:35


一种基于区块链的抗后门攻击的公共参数产生方法

技术领域

本发明涉及区块链技术,具体涉及抗后门攻击的公共参数产生技术。

背景技术

现实生活中,密码设备常常被作为黑盒使用。设备使用者(用户)相信密码设备的内部设计符合安全规范,不会去检查其中代码的真实性。用户使用密码设备产生相应的公共参数和用户的秘密密钥。然而,在黑盒环境下,攻击者(如制造商)可能会秘密地嵌入后门到密码设备中:将用户的秘密密钥嵌入到公共参数中(如使用攻击者的公钥加密秘密密钥生成公共参数),该参数与公开已知的密码算法产生的公共参数是不可区分的。掌握后门的攻击者可以很容易地从公共参数中恢复出秘密密钥(如使用攻击者的私钥解密公共参数得到秘密密钥)而不被人察觉,从而密码设备的安全性遭到破坏。这种攻击被称为后门攻击。

另一方面,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链由一组基于点到点网络的节点组成,各节点通过执行共识机制,维护数据的一致性。区块链利用区块的哈希值将数据区块连接起来形成块链式结构,使区块中的数据具有不可篡改、可追溯和公开透明等特性。区块链通过分布式节点共识算法来生成、更新和存储数据,可以达到去中心化的功能。区块链通过数字签名的方式声明和转让数字资产保证了数据传输和访问的安全。

因为每个区块的内容是不可预测的,所以下一个区块的哈希值也是不可预测的。以以太坊区块链为例,以太坊中的数据是公开透明的,任何人都可以接入以太坊网络中查询以太坊区块链的内容以及验证区块的哈希值。不仅如此,目前为止以太坊算力为449.1TH/s,即每秒计算4.49×10

发明内容

本发明所要解决的技术问题,根据区块链的公开透明、防篡改以及最新确认的区块哈希值的随机性等良好性质提供一种基于区块链的抗后门攻击的公共参数产生方法。

本发明为所要解决的技术问题所采用的技术方案是,一种基于区块链的抗后门攻击的公共参数产生方法,包括步骤:

1)准备阶段:

首先确定公共参数的取值范围,生成公共参数的选值集合G;

2)公共参数生成阶段:

在系统中设置生成次数变量i;获取区块链上最新确认的L个区块哈希值,将这L个区块哈希值和生成次数变量i通过约定映射关系映射到集合G中的元素得到此次生成的公共参数;

3)公共参数验证阶段:

判断生成阶段产生的参数是否满足条件,若不满足条件,则舍弃该参数,更新生成次数变量i=i+1,返回步骤2);若满足条件,则输出该公共参数至公共参数使用设备。

本发明的有益效果是:

(1)公共参数基于区块链上最新确认的区块,并有区块链的算力保证,即使是系统的开发者也无法预知或设定公共参数,具有随机性;公共参数产生完全公开透明具有可验证性和随机性,安全性高,可以有效抵抗后门攻击;

(2)对使用者完全透明,任何一个人都可以根据区块哈希值计算出公共参数,具有可验证性;

(3)去中心化,不需要任何第三方的投入。

附图说明

图1为使用连续L个区块哈希值映射生成公共参数的示意图。

图2为本发明流程图。

具体实施方式

下面结合附图和实施例对本发明进行进一步的说明。

本实施例选取一个代表模p剩余类加群Z

由系统发起者生成参数,系统发起者可以是使用参数的中心机构,也可以是其他团体或机构。公共参数生成过程如图2所示:

1)准备工作:

首先确定参数范围和条件,Z

2)生成阶段:

生成参数开始时,在系统中设置初始的生成次数变量i,i的初始值为0。将以太坊上最新确认的L个区块哈希值作为输入的一部分,设这L个区块的哈希值按时间先后顺序分别表示为HBlock1、HBlock2、……、HBlock L。

本发明定义映射f(HBlock1,HBlock2,…,HBlockL,i)→G,i=0,1,…。映射f将L个区块哈希值映射为集合G中的元素。如图1所示,本实例将L个区块采用哈希值映射的方式映射为集合Z

进一步的,为了保证了产生的公共参数在集合Z

验证阶段:

判断a

下面给出几种典型的后门攻击以及相应的公共参数产生方法

实施例1

1.1被破坏的RSA密钥生成

RSA正确的密钥生成过程:任意选取两个不同的大素数p和q计算乘积N=pq,计算

设置后门的RSA密钥生成过程:任意选取两个不同的大素数p和q计算乘积N=pq,计算

在被破坏的RSA密钥生成中,公钥的产生在概率上和正确产生e是不可区分的,但却留有后门。知道后门的攻击者可以发起无法被察觉的攻击。其使用与pk

1.2基于区块链的抗后门攻击的RSA公钥生成方法

准备工作:

确定RSA公钥e的范围:集合

生成阶段:

生成参数开始时,在系统中设置初始的生成次数变量i,i的初始值为0。将以太坊上最新确认的12个区块哈希值作为输入的一部分,设这12个区块的哈希值按时间先后顺序分别表示为HBlock1、HBlock2、HBlock3、HBlock4、HBlock5、HBlock6、HBlock7、HBlock8、HBlock9、HBlock10、HBlock11、HBlock12。

将12个区块哈希值映射到集合G中,定义映射H(HBlock1||HBlock2||…||HBlock12||i)→G,i=0,1,…。其中,||为连接符,H()为哈希函数,将任意长度的二进制值映射为固定长度的二进制值,这个固定的二进制值称为哈希值。本实施例中哈希函数若采用SHA256算法,H:{0,1}

更具体地,首先计算

验证阶段:

判断a

实施例2

2.1(i′,i′+1)DH Kleptogram

(i′,i′+1)DH Kleptogram的攻击过程如下:

协议每次通过

2.2基于区块链的抗(i,i+1)DH Kleptogram的参数产生方法

准备工作:

确定公共参数g的范围:群Z

生成阶段:

生成参数开始时,设置生成次数变量i,初始i=0。将以太坊上最新确认的12个区块哈希值作为输入的一部分,设这12个区块的哈希值按时间先后顺序分别表示为HBlock1、HBlock2、HBlock3、HBlock4、HBlock5、HBlock6、HBlock7、HBlock8、HBlock9、HBlock10、HBlock11、HBlock12。

将12个区块哈希值映射到Z

更具体地,首先计算p的比特长度pLen。若pLen≤256,a

验证阶段:

判断a

实施例3

3.1针对SwissPost电子投票的后门攻击

Haines等人在《How not to prove your election outcome》提出瑞士投票系统存在漏洞,投票选项对应的素数存在后门攻击。例如在客户端和服务器勾结的情况下,两个选项yes和no分别对应两个不同的素数p

3.2基于区块链的抗后门攻击的SwissPost电子投票参数产生方法

准备工作:

确定公共参数p

生成阶段:

生成参数开始时,在系统中设置初始的生成次数变量i,i的初始值为0。将以太坊上最新确认的12个区块哈希值作为输入的一部分,设这12个区块的哈希值按时间先后顺序分别表示为HBlock1、HBlock2、HBlock3、HBlock4、HBlock5、HBlock6、HBlock7、HBlock8、HBlock9、HBlock10、HBlock11、HBlock12。

将12个区块哈希值映射到正整数集合Z

计算a

验证阶段:

判断a

作为黑盒使用的密码设备存在后门攻击,攻击者可能秘密地嵌入后门到密码设备中:将用户的秘密密钥嵌入设备输出的公共参数中,然后从公共参数中恢复出秘密密钥。为了抵御后门攻击,本发明提供了一种基于区块链的抗后门攻击的公共参数产生方法并对该方法进行了详细介绍。本文应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权力要求的保护范围内。

相关技术
  • 一种基于区块链的抗后门攻击的公共参数产生方法
  • 一种基于区块链技术的抗DoS攻击防护的方法
技术分类

06120113112041