CN115828332B - 一种加强pci密码卡抵御计时攻击的方法及系统 - Google Patents

一种加强pci密码卡抵御计时攻击的方法及系统 Download PDF

Info

Publication number
CN115828332B
CN115828332B CN202310159098.4A CN202310159098A CN115828332B CN 115828332 B CN115828332 B CN 115828332B CN 202310159098 A CN202310159098 A CN 202310159098A CN 115828332 B CN115828332 B CN 115828332B
Authority
CN
China
Prior art keywords
length
data
read
random number
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310159098.4A
Other languages
English (en)
Other versions
CN115828332A (zh
Inventor
桑洪波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanwei Xin'an Technology Co ltd
Original Assignee
Sanwei Xin'an Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanwei Xin'an Technology Co ltd filed Critical Sanwei Xin'an Technology Co ltd
Priority to CN202310159098.4A priority Critical patent/CN115828332B/zh
Publication of CN115828332A publication Critical patent/CN115828332A/zh
Application granted granted Critical
Publication of CN115828332B publication Critical patent/CN115828332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

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

Description

一种加强PCI密码卡抵御计时攻击的方法及系统
技术领域
本发明涉及信息安全处理技术领域,更具体的说是涉及一种加强PCI密码卡抵御计时攻击的方法及系统。
背景技术
边信道攻击(side channel attack 简称SCA),又称侧信道攻击,核心思想是通过加密软件或硬件运行时产生的各种泄漏信息获取密文信息。在狭义上讲,边信道攻击特指针对密码算法的非侵入式攻击,通过加密电子设备在运行过程中的边信道信息泄露破解密码算法,狭义的边信道攻击主要包括针对密码算法的计时攻击、能量分析攻击、电磁分析攻击等,这类新型攻击的有效性远高于密码分析的数学方法,因此给密码设备带来了严重的威胁。
计时攻击(Timing attack),通过设备运算的用时来推断出所使用的运算操作,或者通过对比运算的时间推定数据位于哪个存储设备,或者利用通信的时间差进行数据窃取。比如:RSA 密码算法执行过程中的模幂运算时间是不固定的,精确测量解密过程中泄露出的时间差异信息即可推断出相关密钥。
目前各密码算法芯片厂商实现密码算法过程中均重视抵御边信道攻击并采用了多种应对措施。由于密码算法芯片流片以后,算法逻辑处于固化状态,不能修改。随着边信道攻击技术不断演进和进化,现有的密码算法芯片面临着更严峻的挑战,作为应用密码算法芯片的PCI密码卡如何加强抵御计时攻击,并进一步提高PCI密码卡的安全性是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种加强PCI密码卡抵御计时攻击的方法及系统,在PCIE数据传输时,通过随机配置读写数据长度,使每次执行运算的耗时不同,能够更好地抵御计时攻击,提高PCI密码卡的安全性。
为了实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种加强PCI密码卡抵御计时攻击的方法,包括:
以主板与PCIE核协商的mps作为数据传输基本长度单元;
PCIE数据传输时,产生一个字节随机数m和一个字节随机数n;
基于待读取数据长度ReadLen、字节随机数m和mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;
基于待写入数据长度WriteLen、字节随机数n和mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;
PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送。
进一步的,修正读取长度FixedReadLen的计算公式为:
FixedReadLen=ReadLen+m*mps。
进一步的,修正写入长度FixedWriteLen的计算公式为:
FixedWriteLen=WriteLen+n*mps。
进一步的,PCI密码卡每次启动DMA读取数据长度为FixedReadLen字节,PCI密码卡每次启动DMA写入数据长度为FixedWriteLen字节。
第二方面,本发明还提供一种加强PCI密码卡抵御计时攻击的系统,其特征在于,
第一随机数模块,用于在PCIE数据传输时,产生一个字节随机数m;
第二随机数模块,用于在PCIE数据传输时,产生一个字节随机数n;
读取数据长度修正模块,用于基于待读取数据长度ReadLen、字节随机数m和主板与PCIE核协商的数据传输基本长度单元mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;
写入数据长度修正模块,用于基于待写入数据长度WriteLen、字节随机数n和主板与PCIE核协商的数据传输基本长度单元mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;
所述第一随机数模块、所述第二随机数模块、所述读取数据长度修正模块和所述写入数据长度修正模块均配置在PCIE核中,所述PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种加强PCI密码卡抵御计时攻击的方法及系统,PCI密码卡每次进行数据收发时,对寄存器的读取长度和写入长度进行随机配置,确保同样的私钥、同样的密文,在执行相同的操作时,每次执行运算的耗时不同,能够加强抵御计时攻击,提高PCI密码卡的安全性。同时,由于受传输数据长度的影响,每次运算PCI密码卡的功耗及电磁辐射也不同,进一步提高抵御能量分析攻击和电磁分析攻击的能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的加强PCI密码卡抵御计时攻击的方法的流程图;
图2为本发明提供的加强PCI密码卡抵御计时攻击的系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例公开了一种加强PCI密码卡抵御计时攻击的方法,包括:
以主板与PCIE核协商的mps作为数据传输基本长度单元;
PCIE数据传输时,产生一个字节随机数m和一个字节随机数n;
基于待读取数据长度ReadLen、字节随机数m和mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;PCI密码卡每次启动DMA读取数据长度为FixedReadLen字节;
基于待写入数据长度WriteLen、字节随机数n和mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;PCI密码卡每次启动DMA写入数据长度为FixedWriteLen字节;
PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送。
其中,max payload size(简称:mps)决定了PCIE设备实际使用的tlp能够传输的最大字节数。该数值在PCIE设备上电时由主板和PCIE设备协商确定,本发明以mps作为数据传输基本长度单元。PCIE总线使用的数据报文首先在事务层中形成,这个数据报文也被称之为事务层数据报文,即tlp。
在一个具体实施例中,修正读取长度FixedReadLen的计算公式为:
FixedReadLen=ReadLen+m*mps。
修正写入长度FixedWriteLen的计算公式为:
FixedWriteLen=WriteLen+n*mps。
其中,随机数m和n的长度均为1字节。
在其他实施例中,一种加强PCI密码卡抵御计时攻击的系统,包括:
第一随机数模块,用于在PCIE数据传输时,产生一个字节随机数m;
第二随机数模块,用于在PCIE数据传输时,产生一个字节随机数n;
读取数据长度修正模块,用于基于待读取数据长度ReadLen、字节随机数m和主板与PCIE核协商的数据传输基本长度单元mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;
写入数据长度修正模块,用于基于待写入数据长度WriteLen、字节随机数n和主板与PCIE核协商的数据传输基本长度单元mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;
第一随机数模块、第二随机数模块、读取数据长度修正模块和写入数据长度修正模块均配置在PCIE核中,PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送。
本发明实施例中,读取数据长度修正模块与第一随机数模块相连接,第一随机数模块产生的1字节随机数供寄存器进行DMA读操作时使用。
写入数据长度修正模块与第二随机数模块相连接,第二随机数模块产生的1字节随机数供寄存器进行DMA写操作时使用。
下面以一具体实例对本发明做进一步的说明。
以RSA签名运算(1024位)为例,RSA数据签名操作PCI密码卡操作如下:
1)接收128字节明文。
2)读取私钥。
3)调用RSA算法芯片进行RSA签名运算。
4)运算结束,发送128字节签名结果。
通过上述流程可以发现,执行RSA签名操作的整体耗时是上述4个流程相加。
流程1)、2)、4)三个流程仅涉及数据传输和读取私钥,因操作流程、代码固化,执行固定模长的RSA运算时,耗时是一定的。流程3)的耗时与128字节明文复杂性有关。
私钥相同的情况下,通过实际测试统计发现:采用相同明文,每次执行RSA签名的耗时是相同的。
具体实施本发明上述方法之后,RSA数据签名操作PCI密码卡操作如下:
1)接收明文长度为128+(随机数m)*mps。
2)读取私钥。
3)调用RSA算法芯片进行RSA签名运算。
4)运算结束,发送数据长度为128+(随机数n)*mps。
由于PCI密码卡的数据传输的长度会影响PCI密码卡的通讯时间、PCI密码卡功耗以及PCI密码卡的电磁辐射,经上述实施后,同样的私钥、同样的明文,执行相同的操作,每次执行运算的耗时是不相同的,受到传输数据长度的影响,每次运算PCI密码卡的功耗以及电磁辐射也不同。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (3)

1.一种加强PCI密码卡抵御计时攻击的方法,其特征在于,包括:
以主板与PCIE核协商的mps作为数据传输基本长度单元;
PCIE数据传输时,产生一个字节随机数m和一个字节随机数n;
基于待读取数据长度ReadLen、字节随机数m和mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;修正读取长度FixedReadLen的计算公式为:FixedReadLen=ReadLen+m*mps;
基于待写入数据长度WriteLen、字节随机数n和mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;修正写入长度FixedWriteLen的计算公式为:FixedWriteLen=WriteLen+n*mps;
PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送;
PCI密码卡每次启动DMA读取数据长度为FixedReadLen字节。
2.根据权利要求1所述的一种加强PCI密码卡抵御计时攻击的方法,其特征在于,PCI密码卡每次启动DMA写入数据长度为FixedWriteLen字节。
3.一种加强PCI密码卡抵御计时攻击的系统,其特征在于,包括
第一随机数模块,用于在PCIE数据传输时,产生一个字节随机数m;
第二随机数模块,用于在PCIE数据传输时,产生一个字节随机数n;
读取数据长度修正模块,用于基于待读取数据长度ReadLen、字节随机数m和主板与PCIE核协商的数据传输基本长度单元mps自动修正DMA读取数据长度,并将寄存器的读取长度设置为修正读取长度FixedReadLen;修正读取长度FixedReadLen的计算公式为:FixedReadLen=ReadLen+m*mps;
写入数据长度修正模块,用于基于待写入数据长度WriteLen、字节随机数n和主板与PCIE核协商的数据传输基本长度单元mps自动修正DMA写入数据长度,并将寄存器的写入长度设置为修正写入长度FixedWriteLen;修正写入长度FixedWriteLen的计算公式为:FixedWriteLen=WriteLen+n*mps;
所述第一随机数模块、所述第二随机数模块、所述读取数据长度修正模块和所述写入数据长度修正模块均配置在PCIE核中,所述PCIE核根据修正读取长度FixedReadLen和修正写入长度FixedWriteLen进行数据接收和发送。
CN202310159098.4A 2023-02-24 2023-02-24 一种加强pci密码卡抵御计时攻击的方法及系统 Active CN115828332B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310159098.4A CN115828332B (zh) 2023-02-24 2023-02-24 一种加强pci密码卡抵御计时攻击的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310159098.4A CN115828332B (zh) 2023-02-24 2023-02-24 一种加强pci密码卡抵御计时攻击的方法及系统

Publications (2)

Publication Number Publication Date
CN115828332A CN115828332A (zh) 2023-03-21
CN115828332B true CN115828332B (zh) 2024-04-19

Family

ID=85522249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310159098.4A Active CN115828332B (zh) 2023-02-24 2023-02-24 一种加强pci密码卡抵御计时攻击的方法及系统

Country Status (1)

Country Link
CN (1) CN115828332B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047721A (zh) * 2007-04-11 2007-10-03 重庆重邮信科(集团)股份有限公司 采用dma控制器进行数据过滤处理的方法
WO2017024978A1 (zh) * 2015-08-13 2017-02-16 阿里巴巴集团控股有限公司 短信息的发送、接收方法及装置
CN110688333A (zh) * 2019-09-29 2020-01-14 郑州信大捷安信息技术股份有限公司 一种基于pcie的dma数据传输系统及方法
CN115238267A (zh) * 2022-02-16 2022-10-25 忆月启函(上海)科技有限公司 一种有效避免故障注入攻击的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047721A (zh) * 2007-04-11 2007-10-03 重庆重邮信科(集团)股份有限公司 采用dma控制器进行数据过滤处理的方法
WO2017024978A1 (zh) * 2015-08-13 2017-02-16 阿里巴巴集团控股有限公司 短信息的发送、接收方法及装置
CN110688333A (zh) * 2019-09-29 2020-01-14 郑州信大捷安信息技术股份有限公司 一种基于pcie的dma数据传输系统及方法
CN115238267A (zh) * 2022-02-16 2022-10-25 忆月启函(上海)科技有限公司 一种有效避免故障注入攻击的方法

Also Published As

Publication number Publication date
CN115828332A (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
US7571320B2 (en) Circuit and method for providing secure communications between devices
US6304658B1 (en) Leak-resistant cryptographic method and apparatus
US9571289B2 (en) Methods and systems for glitch-resistant cryptographic signing
JP6347819B2 (ja) 暗号アルゴリズムの弱点保護
CN102377566A (zh) 一种电表数据的安全处理装置及系统
US9847879B2 (en) Protection against passive sniffing
JP2021144239A (ja) 暗号アルゴリズム向けのワンタイムの中国剰余定理のべき乗のためのシステムおよび方法
JP2017526981A5 (zh)
CN115828332B (zh) 一种加强pci密码卡抵御计时攻击的方法及系统
CN104077511A (zh) 一种基于组合公钥认证的非接触式处理器卡及使用方法
CN109981671A (zh) 基于加密机的数据处理方法及加密机
CN106656473B (zh) 一种安全的des算法的mac计算方法及系统
CN112861156B (zh) 显示数据的安全通信方法、装置、电子设备及存储介质
CN115761954A (zh) 一种车辆的蓝牙钥匙连接方法及装置
CN110968878A (zh) 信息传输方法、系统、电子设备及可读介质
KR100953715B1 (ko) Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체
EP3891630B1 (en) Method for end entity attestation
EP2918036B1 (en) Control method and device for controlling authenticity of codes resulting from application of a bijective algorithm to messages
CN112688787A (zh) 基于Mifare卡片的认证平台及方法
CN107766725B (zh) 抗模板攻击的数据传输方法及系统
CN118368144B (zh) 一种基于非对称加密的数据传输方法、装置、设备及介质
CN115941204B (zh) 一种基于hse的数据防重放方法及系统
JP2002108210A (ja) 依頼計算方法
CN116341026A (zh) 一种基于双内存异或的加密计算机系统及总线加密方法
CN100505620C (zh) 一种减少rsa密钥变量存储空间的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: Room 1201, 12 / F, building 1, yard 34, Chuangyuan Road, Chaoyang District, Beijing 100102

Applicant after: Sanwei Xin'an Technology Co.,Ltd.

Address before: 100102 room 1406, 14th floor, building 2, yard 16, Guangshun North Street, Chaoyang District, Beijing

Applicant before: Sanwei Xin'an Technology Co.,Ltd.

Country or region before: China

GR01 Patent grant
GR01 Patent grant