一种加强PCI密码卡抵御计时攻击的方法及系统与流程

文档序号:33551808发布日期:2023-03-22 10:47阅读:64来源:国知局
一种加强PCI密码卡抵御计时攻击的方法及系统与流程
一种加强pci密码卡抵御计时攻击的方法及系统
技术领域
1.本发明涉及信息安全处理技术领域,更具体的说是涉及一种加强pci密码卡抵御计时攻击的方法及系统。


背景技术:

2.边信道攻击(side channel attack 简称sca),又称侧信道攻击,核心思想是通过加密软件或硬件运行时产生的各种泄漏信息获取密文信息。在狭义上讲,边信道攻击特指针对密码算法的非侵入式攻击,通过加密电子设备在运行过程中的边信道信息泄露破解密码算法,狭义的边信道攻击主要包括针对密码算法的计时攻击、能量分析攻击、电磁分析攻击等,这类新型攻击的有效性远高于密码分析的数学方法,因此给密码设备带来了严重的威胁。
3.计时攻击(timing attack),通过设备运算的用时来推断出所使用的运算操作,或者通过对比运算的时间推定数据位于哪个存储设备,或者利用通信的时间差进行数据窃取。比如:rsa 密码算法执行过程中的模幂运算时间是不固定的,精确测量解密过程中泄露出的时间差异信息即可推断出相关密钥。
4.目前各密码算法芯片厂商实现密码算法过程中均重视抵御边信道攻击并采用了多种应对措施。由于密码算法芯片流片以后,算法逻辑处于固化状态,不能修改。随着边信道攻击技术不断演进和进化,现有的密码算法芯片面临着更严峻的挑战,作为应用密码算法芯片的pci密码卡如何加强抵御计时攻击,并进一步提高pci密码卡的安全性是本领域技术人员亟需解决的问题。


技术实现要素:

5.有鉴于此,本发明提供了一种加强pci密码卡抵御计时攻击的方法及系统,在pcie数据传输时,通过随机配置读写数据长度,使每次执行运算的耗时不同,能够更好地抵御计时攻击,提高pci密码卡的安全性。
6.为了实现上述目的,本发明采用如下技术方案:
7.第一方面,本发明提供一种加强pci密码卡抵御计时攻击的方法,包括:
8.以主板与pcie核协商的mps作为数据传输基本长度单元;
9.pcie数据传输时,产生一个字节随机数m和一个字节随机数n;
10.基于待读取数据长度readlen、字节随机数m和mps自动修正dma读取数据长度,并将寄存器的读取长度设置为修正读取长度fixedreadlen;
11.基于待写入数据长度writelen、字节随机数n和mps自动修正dma写入数据长度,并将寄存器的写入长度设置为修正写入长度fixedwritelen;
12.pcie核根据修正读取长度fixedreadlen和修正写入长度fixedwritelen进行数据接收和发送。
13.进一步的,修正读取长度fixedreadlen的计算公式为:
14.fixedreadlen=readlen+m*mps。
15.进一步的,修正写入长度fixedwritelen的计算公式为:
16.fixedwritelen=writelen+n*mps。
17.进一步的,pci密码卡每次启动dma读取数据长度为fixedreadlen字节,pci密码卡每次启动dma写入数据长度为fixedwritelen字节。
18.第二方面,本发明还提供一种加强pci密码卡抵御计时攻击的系统,其特征在于,
19.第一随机数模块,用于在pcie数据传输时,产生一个字节随机数m;
20.第二随机数模块,用于在pcie数据传输时,产生一个字节随机数n;
21.读取数据长度修正模块,用于基于待读取数据长度readlen、字节随机数m和主板与pcie核协商的数据传输基本长度单元mps自动修正dma读取数据长度,并将寄存器的读取长度设置为修正读取长度fixedreadlen;
22.写入数据长度修正模块,用于基于待写入数据长度writelen、字节随机数n和主板与pcie核协商的数据传输基本长度单元mps自动修正dma写入数据长度,并将寄存器的写入长度设置为修正写入长度fixedwritelen;
23.所述第一随机数模块、所述第二随机数模块、所述读取数据长度修正模块和所述写入数据长度修正模块均配置在pcie核中,所述pcie核根据修正读取长度fixedreadlen和修正写入长度fixedwritelen进行数据接收和发送。
24.经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种加强pci密码卡抵御计时攻击的方法及系统,pci密码卡每次进行数据收发时,对寄存器的读取长度和写入长度进行随机配置,确保同样的私钥、同样的密文,在执行相同的操作时,每次执行运算的耗时不同,能够加强抵御计时攻击,提高pci密码卡的安全性。同时,由于受传输数据长度的影响,每次运算pci密码卡的功耗及电磁辐射也不同,进一步提高抵御能量分析攻击和电磁分析攻击的能力。
附图说明
25.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
26.图1为本发明提供的加强pci密码卡抵御计时攻击的方法的流程图;
27.图2为本发明提供的加强pci密码卡抵御计时攻击的系统的结构框图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.如图1所示,本发明实施例公开了一种加强pci密码卡抵御计时攻击的方法,包括:
30.以主板与pcie核协商的mps作为数据传输基本长度单元;
31.pcie数据传输时,产生一个字节随机数m和一个字节随机数n;
32.基于待读取数据长度readlen、字节随机数m和mps自动修正dma读取数据长度,并将寄存器的读取长度设置为修正读取长度fixedreadlen;pci密码卡每次启动dma读取数据长度为fixedreadlen字节;
33.基于待写入数据长度writelen、字节随机数n和mps自动修正dma写入数据长度,并将寄存器的写入长度设置为修正写入长度fixedwritelen;pci密码卡每次启动dma写入数据长度为fixedwritelen字节;
34.pcie核根据修正读取长度fixedreadlen和修正写入长度fixedwritelen进行数据接收和发送。
35.其中,max payload size(简称:mps)决定了pcie设备实际使用的tlp能够传输的最大字节数。该数值在pcie设备上电时由主板和pcie设备协商确定,本发明以mps作为数据传输基本长度单元。pcie总线使用的数据报文首先在事务层中形成,这个数据报文也被称之为事务层数据报文,即tlp。
36.在一个具体实施例中,修正读取长度fixedreadlen的计算公式为:
37.fixedreadlen=readlen+m*mps。
38.修正写入长度fixedwritelen的计算公式为:
39.fixedwritelen=writelen+n*mps。
40.其中,随机数m和n的长度均为1字节。
41.在其他实施例中,一种加强pci密码卡抵御计时攻击的系统,包括:
42.第一随机数模块,用于在pcie数据传输时,产生一个字节随机数m;
43.第二随机数模块,用于在pcie数据传输时,产生一个字节随机数n;
44.读取数据长度修正模块,用于基于待读取数据长度readlen、字节随机数m和主板与pcie核协商的数据传输基本长度单元mps自动修正dma读取数据长度,并将寄存器的读取长度设置为修正读取长度fixedreadlen;
45.写入数据长度修正模块,用于基于待写入数据长度writelen、字节随机数n和主板与pcie核协商的数据传输基本长度单元mps自动修正dma写入数据长度,并将寄存器的写入长度设置为修正写入长度fixedwritelen;
46.第一随机数模块、第二随机数模块、读取数据长度修正模块和写入数据长度修正模块均配置在pcie核中,pcie核根据修正读取长度fixedreadlen和修正写入长度fixedwritelen进行数据接收和发送。
47.本发明实施例中,读取数据长度修正模块与第一随机数模块相连接,第一随机数模块产生的1字节随机数供寄存器进行dma读操作时使用。
48.写入数据长度修正模块与第二随机数模块相连接,第二随机数模块产生的1字节随机数供寄存器进行dma写操作时使用。
49.下面以一具体实例对本发明做进一步的说明。
50.以rsa签名运算(1024位)为例,rsa数据签名操作pci密码卡操作如下:
51.1)接收128字节明文。
52.2)读取私钥。
53.3)调用rsa算法芯片进行rsa签名运算。
54.4)运算结束,发送128字节签名结果。
55.通过上述流程可以发现,执行rsa签名操作的整体耗时是上述4个流程相加。
56.流程1)、2)、4)三个流程仅涉及数据传输和读取私钥,因操作流程、代码固化,执行固定模长的rsa运算时,耗时是一定的。流程3)的耗时与128字节明文复杂性有关。
57.私钥相同的情况下,通过实际测试统计发现:采用相同明文,每次执行rsa签名的耗时是相同的。
58.具体实施本发明上述方法之后,rsa数据签名操作pci密码卡操作如下:
59.1)接收明文长度为128+(随机数m)*mps。
60.2)读取私钥。
61.3)调用rsa算法芯片进行rsa签名运算。
62.4)运算结束,发送数据长度为128+(随机数n)*mps。
63.由于pci密码卡的数据传输的长度会影响pci密码卡的通讯时间、pci密码卡功耗以及pci密码卡的电磁辐射,经上述实施后,同样的私钥、同样的明文,执行相同的操作,每次执行运算的耗时是不相同的,受到传输数据长度的影响,每次运算pci密码卡的功耗以及电磁辐射也不同。
64.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
65.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1