一种加强PCI密码卡抵御计时攻击的方法及系统技术方案

技术编号:36936501 阅读:22 留言:0更新日期:2023-03-22 18:58
本发明专利技术公开了一种加强PCI密码卡抵御计时攻击的方法及系统,方法包括:以主板与PCIE核协商的mps作为数据传输基本长度单元;PCIE数据传输时,产生一个字节随机数m和一个字节随机数n;基于待读取数据长度、字节随机数m和mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;基于待写入数据长度、字节随机数n和mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度;PCIE核根据修正读取长度和修正写入长度进行数据接收和发送。本发明专利技术在PCIE数据传输时,通过随机配置读写数据长度,使每次执行运算的耗时不同,能够更好地抵御计时攻击,提高PCI密码卡的安全性。提高PCI密码卡的安全性。提高PCI密码卡的安全性。

【技术实现步骤摘要】
一种加强PCI密码卡抵御计时攻击的方法及系统


[0001]本专利技术涉及信息安全处理
,更具体的说是涉及一种加强PCI密码卡抵御计时攻击的方法及系统。

技术介绍

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

技术实现思路

[0005]有鉴于此,本专利技术提供了一种加强PCI密码卡抵御计时攻击的方法及系统,在PCIE数据传输时,通过随机配置读写数据长度,使每次执行运算的耗时不同,能够更好地抵御计时攻击,提高PCI密码卡的安全性。
[0006]为了实现上述目的,本专利技术采用如下技术方案:
[0007]第一方面,本专利技术提供一种加强PCI密码卡抵御计时攻击的方法,包括:
[0008]以主板与PCIE核协商的mps作为数据传输基本长度单元;
[0009]PCIE数据传输时,产生一个字节随机数m和一个字节随机数n;
[0010]基于待读取数据长度ReadLen、字节随机数m和mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;
[0011]基于待写入数据长度WriteLen、字节随机数n和mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;
[0012]PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送。
[0013]进一步的,修正读取长度FixedReadLen的计算公式为:
[0014]FixedReadLen=ReadLen+m*mps。
[0015]进一步的,修正写入长度FixedWriteLen的计算公式为:
[0016]FixedWriteLen=WriteLen+n*mps。
[0017]进一步的,PCI密码卡每次启动DMA读取数据长度为FixedReadLen字节,PCI密码卡每次启动DMA写入数据长度为FixedWriteLen字节。
[0018]第二方面,本专利技术还提供一种加强PCI密码卡抵御计时攻击的系统,其特征在于,
[0019]第一随机数模块,用于在PCIE数据传输时,产生一个字节随机数m;
[0020]第二随机数模块,用于在PCIE数据传输时,产生一个字节随机数n;
[0021]读取数据长度修正模块,用于基于待读取数据长度ReadLen、字节随机数m和主板与PCIE核协商的数据传输基本长度单元mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;
[0022]写入数据长度修正模块,用于基于待写入数据长度WriteLen、字节随机数n和主板与PCIE核协商的数据传输基本长度单元mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;
[0023]所述第一随机数模块、所述第二随机数模块、所述读取数据长度修正模块和所述写入数据长度修正模块均配置在PCIE核中,所述PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送。
[0024]经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种加强PCI密码卡抵御计时攻击的方法及系统,PCI密码卡每次进行数据收发时,对寄存器的读取长度和写入长度进行随机配置,确保同样的私钥、同样的密文,在执行相同的操作时,每次执行运算的耗时不同,能够加强抵御计时攻击,提高PCI密码卡的安全性。同时,由于受传输数据长度的影响,每次运算PCI密码卡的功耗及电磁辐射也不同,进一步提高抵御能量分析攻击和电磁分析攻击的能力。
附图说明
[0025]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0026]图1为本专利技术提供的加强PCI密码卡抵御计时攻击的方法的流程图;
[0027]图2为本专利技术提供的加强PCI密码卡抵御计时攻击的系统的结构框图。
具体实施方式
[0028]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0029]如图1所示,本专利技术实施例公开了一种加强PCI密码卡抵御计时攻击的方法,包括:
[0030]以主板与PCIE核协商的mps作为数据传输基本长度单元;
[0031]PCIE数据传输时,产生一个字节随机数m和一个字节随机数n;
[0032]基于待读取数据长度ReadLen、字节随机数m和mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;PCI密码卡每次启动DMA读取数据长度为FixedReadLen字节;
[0033]基于待写入数据长度WriteLen、字节随机数n和mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;PCI密码卡每次启动DMA写入数据长度为FixedWriteLen字节;
[0034]PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送。
[0035]其中,max payload size(简称:mps)决定了PCIE设备实际使用的tlp能够传输的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加强PCI密码卡抵御计时攻击的方法,其特征在于,包括:以主板与PCIE核协商的mps作为数据传输基本长度单元;PCIE数据传输时,产生一个字节随机数m和一个字节随机数n;基于待读取数据长度ReadLen、字节随机数m和mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;基于待写入数据长度WriteLen、字节随机数n和mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送。2.根据权利要求1所述的一种加强PCI密码卡抵御计时攻击的方法,其特征在于,修正读取长度FixedReadLen的计算公式为:FixedReadLen=ReadLen+m*mps。3.根据权利要求1所述的一种加强PCI密码卡抵御计时攻击的方法,其特征在于,修正写入长度FixedWriteLen的计算公式为:FixedWriteLen=WriteLen+n*mps。4.根据权利要求1所述的一种加强PCI密码卡抵御计时攻击的方法,...

【专利技术属性】
技术研发人员:桑洪波
申请(专利权)人:三未信安科技股份有限公司
类型:发明
国别省市:

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

1