一种移动便携式侧信道采集测试设备及其控制方法与流程

文档序号:16511391发布日期:2019-01-05 09:21阅读:394来源:国知局
一种移动便携式侧信道采集测试设备及其控制方法与流程

本发明涉及密码安全技术领域,尤其涉及一种移动便携式侧信道采集测试设备及其控制方法。



背景技术:

侧信道攻击是指利用电路工作过程中的各种侧信道泄露信息,如:能耗、时间、故障、电磁辐射等,通过建立这些泄露信息与密码算法关键信息(如密钥)间的联系,实现对秘密信息的提取。针对密码芯片或加密设备硬件电路的侧信道攻击(sidechannelattack,sca),目前已成为密码算法硬件形式的主要威胁。

为了保护密码设备的安全性,不同组织已经研制了侧信道分析设备用于密码系统的安全性测试。传统侧信道数据采集设备由电源、高频数字示波器、pc机、目标密码芯片组成,采集数据通过网络交付给服务器进行分析。这种方式高频示波器进行功耗采集,数据量较大,不利于后续的存储和计算分析。目前有些压缩算法被应用于解决数据量过大的问题,它们通过降维等方法及对采集后样本进行压缩,但是都依赖于示波器数据,没有减少原始采集的数据量;并且压缩算法的处理能力和数据维度有关,在处理高维数据时会出现计算困难。

本发明以降低功耗分析采集阶段数据量和侧信道分析设备轻量化为目标,在功耗数据采集阶段,使用阈值电压,将密码芯片一个工作周期内高于阈值电压的时长量化为一个功耗值,进而大幅压缩采集数据。同时本设备用简单的设备实现了压缩采集功能,并利用采集到的数据进行本地的差分能量分析,降低了侧信道采集分析设备的成本和体积。



技术实现要素:

本发明要解决的技术问题在于针对现有技术中侧信道分析设备采用数字示波器采集数据量过大以及由此带来的设备复杂成本高昂等缺陷,提供一种移动便携式侧信道采集测试设备及其控制方法,该设备不仅能在数据采集阶段降低数据量,而且能够在本地进行存储和侧信道分析,设备轻量便携,降低了测试成本。

本发明解决其技术问题所采用的技术方案是:

本发明提供一种移动便携式侧信道采集测试设备,该设备包括依次相连的功耗采集目标开发板、曲线预处理模块、采集板和分析板,其中:

功耗采集目标开发板,用于实现加密和解密,并输出原始瞬时功耗;

曲线预处理模块,用于对原始瞬时功耗进行预处理,包括信号放大、滤波和偏置处理,得到曲线预处理后的功耗数据;

采集板,用于在每个工作周期内,将曲线预处理后的功耗数据与给定电压阈值进行比较,输出二值信号,并通过阈值压缩法进行累加计数,将该工作周期内的功耗数据转换为功耗压缩值,对其进行存储,并根据各个工作周期的功耗压缩值绘制功耗曲线;

分析板,用于设置测试时的给定电压阈值,接收采集板发送的功耗曲线,并对其进行差分能量分析。

进一步地,本发明的功耗采集目标开发板包括密码芯片、功耗测量端口、trigger信号控制端口,其中:

密码芯片,用于在测试设备运行测试过程中,通过usb连接分析板,接收分析板的数据作为输入,运行密码算法;

功耗测量端口,测量设备通过该端口读取功耗采集目标开发板的原始瞬时功耗;

trigger信号控制端口,该端口通过跳线连接到采集板上设置的累加计数器,trigger信号为高电平控制采集板采集功耗数据,低电平控制采集板停止采集功耗数据。

进一步地,本发明的曲线预处理模块包括放电路、滤波电路和电压偏置电路,其中:

放大电路,原始瞬时功耗信号通过sma接口输入放大电路,对输入的原始瞬时功耗的直流分量进行过滤,并放大交流分量,放大电路的响应频率高于分析所需要的采样频率;

滤波电路,与放大电路连接,接收放大电路的输出信号,将放大电路输出的信号中高频分量过滤,减少信号中的噪声;

电压偏置电路,与滤波电路连接,接收滤波电路的信号,将信号电压值进行偏置,使最后的输出信号幅度范围在采集板中进行电压比较的允许输入范围之内。

进一步地,本发明的采集板包括dac电路、电压比较器、采样时钟电路、阈值输出电路、存储器和累加计数器,其中:

dac电路,用于调节给定电压阈值,将给定电压阈值输出到电压比较器的一个输入端中;

电压比较器,通过两个端口分别与dac电路和电压偏置电路连接,如果电压偏置电路信号值大于dac电路给定电压阈值,电压比较器输出高电平,否则电压比较器输出低电平;

采样时钟电路,与累加计数器相连,控制累加计数器的每秒采样次数;

阈值输出电路,与dac模块相连,控制dac电路设置的给定电压阈值大小;

存储器,与累加计数器相连,保存累加计数器输出的功耗数值;

累加计数器,与电压比较器连接,根据设置的每秒采样次数,对电压比较器输出进行采样,高电平累加器计数器值加一,低电平不变;同时,每个工作周期累加计数器将计数值写入存储器并清零。

进一步地,本发明的阈值压缩法的具体方法为:

累加计数器和trigger信号控制端口、电压比较器、采样时钟电路均相连;其中:根据采样时钟控制累加计数器每秒采样次数nf,电压比较器输出二值0、1信号给累加计数器;在每个密码芯片工作周期内tc,累加计数器累加按照采样频率nf将电压比较器二值信号进行累加为wi,wi作为该周期密码芯片的功耗;每个周期开始时,即每累加nf/nc次,其中nc为密码芯片工作频率,存储wi,i=i+1,将w0置0;trigger信号为高电平时累加计数器工作,低电平停止累加,此时采集的n个功耗值组成一条功耗曲线w=(w1,w2,…,wn)传输给分析板进行分析。

进一步地,本发明的分析板包括分析设备和触摸板,其中:

分析设备,通过串行外设接口与采集板相连,通过软件程序实现5个模块,包括交互模块、fpga控制模块、通信模块、分析模块和外设控制模块,其中:

fpga控制模块,控制给定电压阈值设置,并负责读取采集板传输的功耗曲线;

通信模块,通过usb接口与功耗采集目标开发板连接,为功耗采集目标开发板提供密码算法的输入;

分析模块,与通信模块、fpga控制模块进行通信,对功耗曲线进行差分能量分析获得功耗采集目标开发板密码算法的密钥;

外设控制模块管理分析板的外部设备;

交互模块是分析设备与触摸板的接口,与通信模块、外设模块和fpga控制模块进行通信,接收触摸板的输入并传输给相应的模块;

触摸板,通过排线和分析设备连接,由分析设备交互模块控制,提供用户操作的ui接口。

本发明提供一种移动便携式侧信道采集测试设备的控制方法,包括以下步骤:

步骤1、通过分析板上的触摸板进行设置功耗采集目标开发板提供密码算法的输入d以及给定电压阈值vt;

步骤2、分析板交互模块获得输入,将d传输给通信模块,将vt传输给fpga控制模块;

步骤3、通信模块通过usb将d传输给功耗采集目标开发板,fpga控制模块将采集板dac阈值控制电路的给定电压阈值设置为vt;

步骤4、功耗采集目标开发板密码芯片以d为输入,开始运行密码算法,同时trigger信号控制端口电平拉高,累加计数器开始工作;

步骤5、功耗测量端口瞬时功耗数据经过sma接口传输、放大电路放大、滤波电路滤波和偏置电路偏置后,输出信号vs到达电压比较器一个端口;

步骤6、电压比较器两个端口输入分别是偏置电路偏置后vs和dac阈值电压vt,如果vs>vt,电压比较器输出高电平,否则电压比较器输出低电平;

步骤7、累加计数器初值为0,每秒进行nf次采样,若电压比较器输出为高电平累加计数器值w=w+1,电压比较器输出为低电平,累加计数器值w不变,每tc秒,采样nf/nc次,其中nc为密码芯片工作频率,将w写入存储器,并将w清零,记第i次写入内存的w为wi;

步骤8、trigger信号控制端口电平清零,累加计数器停止工作,此时一共存储了n个累加计数器值w到采集板存储中,功耗曲线为w=(w1,w2,…,wn);

步骤9、采集板通过spi接口将功耗曲线传输给分析板,分析板的fpga控制模块接收功耗曲线w;

步骤10、fpga控制模块将功耗曲线w传输给分析板分析模块;

步骤11、分析板分析模块运行差分能量分析算法对功耗曲线w进行分析,得到密钥k,并显示在触摸屏上。

本发明产生的有益效果是:

1、传统技术以示波器工作频率为采样频率,在密码芯片一个工作周期内进行(示波器工作频率/芯片工作频率)次采样并得到(示波器工作频率/芯片工作频率)数量的采样点。本发明使用阈值电压,将密码芯片一个工作周期内高于阈值电压的时长量化为一个功耗值。

2、.本设备在功耗数据采集阶段压缩数据,而传统方法在采集完数据之后通过各种压缩算法进行数据压缩

3、本发明使用电压比较器、累加计数器和简单的外围电路进行功耗采集,没有使用传统侧信道分析的示波器。

4、本发明使用集成的小型设备进行功耗信息的存储和功耗信息的差分能量分析,去除了传统设备中的pc机、网络传输和服务器分析得模块。

5、采集功耗信息数据量大大压缩,在传统示波器和该设备有同样的每秒采样次数nf且对同样工作频率ns的密码芯片进行功耗数据采集时,同样时间内,传统设备与本设备数据量的比值为nf/ns(nf通常远大于ns)。

6、本设备采集的功耗信息不需要进行后续的压缩算法处理即可用于差分能量分析。

7、本设备去除了传统设备的示波器、pc机、网络传输和服务器模块,大大降低了设备的成本和体积,实现了侧信道分析设备的轻量化。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

附图1为本发明实施例的系统组成示意图。

附图2为本发明实施例采集一条功耗曲线并进行差分能量分析的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明的基本思想是利用简单电路实现了将密码芯片一个工作周期内高于阈值电压的时长量化为一个功耗值,以此进行数据采集和分析的侧信道采集测试设备。

针对侧信道采集测试设的移动便携式设备由功耗采集目标开发板、曲线预处理模块、采集板、分析板,其中:

功耗采集目标开发板由sesebo-w评估板和atmega163智能卡组成。

1.密码芯片为atmega163智能卡,在该智能卡上运行aes128加密算法。智能卡在设备运行测试过程中以sesebo-w评估板的usb接收到的数据作为输入,工作频率ns为3.57mhz。

2.sesebo-w评估板通过usb和分析板连接,接收分析板传输的明文。该评估板上集成功耗测量端口和trigger信号控制端口。

3.从功耗测量端口,测量设备读取功耗采集目标开发板原始瞬时功耗。

4.trigger信号控制端口。该端口通过跳线连接到采集板的累加和trigger信号为高电平控制采集板采集功耗数据,低电平控制采集板停止采集功耗数据。

实施例的曲线预处理模包括放大电路、滤波电路和电压偏置电路,对原始功耗信号进行预处理,这三个模块都通过pmod接口和一块digilent的xc6slx16开发板相连。

1.放大电路为惠普的ina-02186低噪声放大器,它能够体提供大约31db的平坦增益曲线和较低的噪声。atmega163智能卡的功耗通过sesebo-w板评板的功耗测量端口用sma接口和该放大电路连接,该电路对原始输入信号的直流分量进行过滤,并放大交流分量,提后面高电压比较器的阈值调节精度,该电路的响应频率高于分析所需要的采样频率。

2.滤波电路为一个截止频率在50mhz的5阶切比雪夫低通滤波器与放大电路连接,接收放大电路的输出信号,将放大电路输出的信号中高频分量过滤,减少信号中的噪声。

3.偏置电路给滤波电路的输出上添加了的偏置电压,输入到电压放大器的一个端口,以满足电压放大器的电压输入要求。

采集板通过电压比较器和累加计数器对曲线预处理模块的电压比较器输出计数,获得压缩后的功耗数据并进行存储和传输,包括一个dac电路、电压比较器、采样时钟、阈值输出、存储、累加计数器,其中后四个模块集在digilent的nexys3开发板上实现,dac电路和电压比较器为单独的模块,和digilent的xc6slx16开发板相连。

1.dac电路采用dac7513,通过spi和digilent的fpga开发板通信。其输出的阈值由其上位机(digilent的nexys3开发板)的阈值输出电路控制。它调节阈值输入电压比较器的阈值电压vt。

2.电压比较器采用tlv3501,它的一个端口直接通过io引脚连接到digilent的fpga开发板,获得偏置电路输出vs;另一个端口接收dac电路输出的阈值电压vt。如果电压偏置电路信号值vs大于dac电路设定阈值vt,电压比较器输出高电平,否则电压比较器输出低电平。

3.采样时钟。与累加计数器相连,控制累加计数器的工作频率,使累加计数器每秒采样次数nf为400*96msps。

4.阈值输出。该模块和电路与dac模块相连,控制dac电路设置的阈值电压大小为±1.5v。

5.存储。与累加计数器相连,保存累加计数器输出的功耗数值。

6.累加计数器。累加计数器获得电压比较器的输出,工作在nf频率,每1/nf秒对电压比较器输出进行采样,高电平累加器计数器值w加一,低电平不变。同时,每tc秒累加计数器将计数值w写入存储并清零。

分析板设置测试时阈值参数,接收采集板发送的功耗曲线,并进行差分能量分析,包括5个软件实现的控制分析模块和一块用于交互的触摸板。

1.控制分析的5个软件模块在树莓派上实现,包括交互模块、fpga控制模块、通信模块、分析模块和外设控制模块。树莓派通过spi与采集板相连,接收采集的功耗曲线,通过排线和触摸屏相连。

fpga控制模块控制阈值vt设置,并负责读取采集板传输的功耗曲线;

通信模块通过usb接口与功耗采集目标开发板连接,为功耗采集目标开发板提供密码算法的输入d;

分析模块和通信模块和fpga控制模块通信,对功耗曲线进行差分能量分析获得功耗采集目标开发板密码算法的密钥k;

外设控制模块管理分析板的外部设备;

交互模块是分析设备与触摸屏的接口,与通信模块、外设模块和fpga控制模块通信,接收触摸板的输入并传输给相应的模块。

2.在开始进行功耗采集分析时,通过触摸屏选择功耗采集目标开发板,设置阈值电压vt和明文d。触摸屏通过排线线和分析设备连接,由分析设备交互模块控制,提供用户操作的ui接口。同时触摸板实时显示分析模块分析的秘钥信息。

本发明实施例的移动便携式侧信道采集测试设备的控制方法,包括以下步骤:

步骤1、通过树莓派上的触摸板进行功耗采集目标开发算法的输入d以及阈值vt的设置。

步骤2、分析板交互程序获得输入,将明文d传输给通信模块,将vt传输给fpga控制模块。

步骤3、通信模块通过usb将d传输给sesebo-w评估板,其工作频率为3.57mhz。同时fpga控制模块将采集板dac阈值控制电路的阈值设置为vt。

步骤4、atmega163智能卡以d为输入,开始运行aes算法。同时trigger信号控制端口电平拉高,累加计数器开始工作。

步骤5、功耗测量端口瞬时功耗数据经过sma接口传输、放大电路放大、滤波电路滤波和偏置电路偏置后vs到达电压比较器一个端口;

步骤6、电压比较器两个端口输入分别是偏置电路偏置后vs和dac阈值电压vt,如果vs>vt,电压比较器输出高电平,否则电压比较器输出低电平。

步骤7、累加计数器初值为0,每秒进行nf=400*96m次采样,若电压比较器输出为高电平累加计数器值w=w+1,电压比较器输出为低电平,累加计数器值w不变。每tc秒采样(nf/nc=400*96m/3.57m)次,将w写入存储,并将w清零。记第i次写入内存的w为w1。

步骤8、trigger信号控制端口电平清零,累加计数器停止工作,此时一共存储了n个累加计数器值w到采集板存储中,功耗曲线为w=(w1,w2,…,wn);

步骤9、采集板通过spi接口将功耗曲线传输给分析板,分析板的fpga控制模块接收功耗曲线w;

步骤10、fpga控制模块将功耗曲线w传输给分析板分析模块;

步骤11、分析板分析模块运行差分能量分析算法对功耗曲线w进行分析,得到密钥k,并显示在触摸屏上。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1