CN103199983B - 侧信道能量分析中的n阶局域能量模型及其应用 - Google Patents

侧信道能量分析中的n阶局域能量模型及其应用 Download PDF

Info

Publication number
CN103199983B
CN103199983B CN201310037424.0A CN201310037424A CN103199983B CN 103199983 B CN103199983 B CN 103199983B CN 201310037424 A CN201310037424 A CN 201310037424A CN 103199983 B CN103199983 B CN 103199983B
Authority
CN
China
Prior art keywords
energy
energy consumption
key
order
value
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
CN201310037424.0A
Other languages
English (en)
Other versions
CN103199983A (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.)
State Cryptography Administration Commercial Code Testing Center
Original Assignee
State Cryptography Administration Commercial Code Testing Center
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 State Cryptography Administration Commercial Code Testing Center filed Critical State Cryptography Administration Commercial Code Testing Center
Priority to CN201310037424.0A priority Critical patent/CN103199983B/zh
Publication of CN103199983A publication Critical patent/CN103199983A/zh
Application granted granted Critical
Publication of CN103199983B publication Critical patent/CN103199983B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了侧信道能量分析中的n阶局域能量模型,该模型建立步骤如下:(1)采集能量迹,建立采样能量消耗矩阵<maths num="0001"></maths>(2)根据上步采样的能量迹,确定n阶局域能量消耗(3)选择局域窗口参数T,得到信噪比最大的n阶局域能量消耗,即n阶局域能量,计算所有能量迹各时间点上的n阶局域能量,从而得到一个极大信噪比的能量消耗矩阵W′(N×L)。以该模型为基础,结合CPA或DPA原理,可以进行高效CPA或DPA分析。利用本发明的模型相对于现有方法使用较少数量的能量迹即可进行具有较高成功率的侧信道能量分析,可大幅提升侧信道能量分析的效率。

Description

侧信道能量分析中的n阶局域能量模型及其应用
技术领域
本发明属于密码算法分析检测技术领域,具体来说是涉及在密码算法实现、侧信道能量分析、密码模块检测过程中使用的n阶局域能量模型,以及利用该模型进行CPA或DPA分析。
背景技术
随着信息技术的发展,各种密码算法正被广泛地应用于经济、军事、行政等重要部门,保护信息的安全性。鉴于密码算法的重要性,密码算法软硬件实现(密码模块)的分析研究对保护信息安全具有重要的意义。近年来,多种对密码模块的攻击已广为人知,所有这些攻击的目的都是为了获取密码模块中的密钥。通常的攻击方式可分为侵入式攻击、半侵入式攻击和非侵入式攻击。近年来,由于非侵入式攻击中的侧信道分析实施方便、相对成本低廉而被广泛使用。侧信道分析可以细分为计时分析、能量分析和电磁分析。其中的侧信道能量分析是众多分析手段中最常用的方法之一,它突破了传统密码算法的分析模式,能力强大,实施相对容易。侧信道能量分析利用了密码模块能量消耗与数据运算和执行之间的相关性,基于密码算法实现的能量泄露函数建立能量模型,使用统计方法,猜测和验证密码模块使用的受保护密钥。侧信道能量分析方法一般包括,简单能量分析(SPA)、差分能量分析(DPA)、相关能量分析(CPA)和高阶差分能量分析(HODPA)。
其中,DPA原理是:对于N组明文/密文数据的加/解密运算,获取N条能量迹,这里的能量迹是指一次密码操作过程中采集到的能量消耗测量向量;对每一个猜测密钥K,产生相应的中间值(攻击对象),根据中间值确定选择函数;通过选择函数将能量迹集划分为两个子集;分别对两个子集对应的能量消耗取平均,并对两个平均能量消耗值求差,该均值差为选择函数对应的中间值对能量迹的影响效果。根据统计理论,若K猜测不正确,当能量迹的个数N趋近无穷大时,两子集的均值差将趋近于零;若K猜测正确时,在能量迹中的某个样点,将会出现一个均值差的最大尖峰(绝对值最大值),通过最大尖峰可确定正确的密钥。
CPA原理是:对于N组明文/密文数据的加/解密运算,获取N条能量迹;对每一个猜测密钥K,产生相应的中间值(攻击对象);根据中间值建立能量模型;通过能量模型将中间值映射为仿真能量消耗;计算仿真能量消耗与能量迹之间的线性相关系数,范围在[-1,1]之间;选取相关系数中绝对值的最大值,理论上为1,但是由于采集能量迹过程中不可避免存在噪声干扰,最大值小于1,该相关系数最大值对应的猜测密钥即为正确密钥。
现有的能量分析方法一般是假设算法运算的密钥与采样能量迹上某一单点的能量消耗值存在相关性。但是,在实际采集能量消耗过程中,由于采样频率、电路特性、算法实现中数据操作和算法结构等因素的影响,导致单点包含密钥信息量少,采样点信息传播,若是利用一般的能量分析方法,则存在低信噪比以及低攻击效率等问题。
发明内容
为了提高在侧信道能量分析中能量信号的信噪比和分析成功率,本发明提出一种基于n阶局域能量模型,该模型相对于现有方法使用较少数量的能量迹即可进行具有较高成功率的侧信道能量分析,可大幅提升侧信道能量分析的效率。
实现上述目的本发明的技术方案为,侧信道能量分析中的n阶局域能量模型,建立该模型步骤如下:(1)采集能量迹,建立采样能量消耗矩阵 U ( ( N 1 + N ) &times; M ) = S 1,1 . . . S 1 , M . . . S i , t . . . S N , 1 . . . S N , M ; (2)根据上步采样的能量迹,确定n阶局域能量消耗 E T , i , t n = &Sigma; t - T / 2 &le; a < t + T / 2 S i , a n / R , t &Element; L , T &le; L ; (3)选择局域窗口参数T,得到信噪比最大的n阶局域能量消耗,即n阶局域能量,计算所有能量迹各时间点上的n阶局域能量,从而得到一个极大信噪比的能量消耗矩阵W′(N×L):这里,Si,t表示为等效电阻R在输入第i组明文、第t个时间点时对应的采样能量消耗(即电阻R的电压),R为等效电阻值,T为密码运算执行过程中的一段时间区域,拟攻击的算法运算时间区域L。
上述述侧信道能量分析中的n阶局域能量模型的步骤(1)具体过程是:利用密钥K对N1+N组明文D进行密码运算,对每次运算,记录密码芯两端对应的M个点的瞬时工作电压Ut和流过密码芯片的瞬时电流It,即,能量迹,建立采样能量消耗矩阵U((N1+N)×M);步骤(2)的具体过程是首先定义密码芯片运行的n阶瞬时功耗为Pt n=(Ut×It)n/2,积分运算后可以得到n阶局域能量 E T n = &Integral; t &Element; T P t n = &Integral; t &Element; T ( U t &times; I t ) n / 2 dt &ap; &Integral; t &Element; T U t n / Rdt = &Integral; t &Element; T I t n &times; R n - 1 dt , 采集与密码芯片串联的电阻R的电压信息URt=IRt×R,其中,IRt为流经电阻R的电流,将实际能量信息采样配置电路等效于一个纯电阻电路,R的值恒定,则密码芯片两端的工作电流ICt=IRt,密码芯片的n阶瞬时功耗Pt n=(ICt)n×Rn-1=(IRt)n×Rn-1/R,密码芯片的n阶局域能量消耗第i条能量迹在T时间段对应的n阶局域能量消耗的离散表达式该离散表达式等效为n阶局域能量消耗步骤(3)中局域窗口参数T的选择过程如下:初始T=0,不断递增T,计算N条随机明文的能量迹t时刻的绝对能耗信噪比 SN R &prime; ( E T , t n ) = Var ( E a T , t n + E b T , t n ) N Var ( E n T , t n ) N = Var ( E T , t n ) N - Var ( E T , t n ) N 1 Var ( E T , t n ) N 1 后代入t时刻n阶平均能量信息的信噪比函数 f ( T ) = SNR ( E T , t n ) T = 1 ( 1 + k 2 SN R &prime; ( E T , t n ) + k 2 ) T , 当f(T)存在若干极大值时,选择最大的极大值f(T)对应的T,即为局域窗口参数T,这里的 Var ( E T , t n ) N = 1 N - 1 ( &Sigma; i = 1 N ( E T , i , t n ) 2 - 1 N ( &Sigma; i = 1 N E T , i , t n ) 2 ) , k为密码算法中的S盒个数,确定局域窗口参数T后代入(2)步的n阶局域能量消耗后计算计算所有能量迹各时间点上的n阶局域能量,从而得到一个极大信噪比的能量消耗矩阵 W &prime; ( N &times; L ) = E T , 1 , 1 n . . . E T , 1 , L n . . . E T , i , t n . . . E T , N , 1 n . . . E T , N , L n .
上述侧信道能量分析中的n阶局域能量模型用于进行CPA或DPA分析。该模型用于进行CPA分析步骤为:(a)采集能量迹并利用n阶局域能量模型确定能量消耗矩阵 W &prime; ( N &times; L ) = E T , 1 , 1 n . . . E T , 1 , L n . . . E T , i , t n . . . E T , N , 1 n . . . E T , N , L n ; (b)选取攻击对象,确定算法攻击模型,如选择S盒的输出作为攻击对象,使用汉明重量(HW)模型进行建模;而对于硬件实现的分组密码算法,可选择如轮函数的输出作为攻击对象,使用汉明距离(HD)模型进行建模;(c)猜测密钥值,计算轮运算的中间值;(d)将上步中间值映射为仿真能量消耗值;(e)计算仿真能量消耗与n阶能量的线性相关系数,确定正确的猜测密钥。其中,步骤(c)的过程为猜测密钥K,K中对应S盒输入的每一部分Kr=(kl,…,kb,…,kB),其中,kb为Kr的猜测值,B为Kr所有可能值的数量,对于输入的明文向量D和密钥假设向量Kr,通过密码算法运算函数得到中间值i=1,…,N,b=1,…,B,分别计算上式得到中间值矩阵 V ( N &times; B ) = v 1 , 1 . . . v 1 , B . . . v i , b . . . v N , 1 . . . v N , B ; (d)步中间值映射为仿真能量消耗值是通过汉明重量函数ht,b=hw(vt,b),hw(x)表示x二进制比特为1的个数,或汉明距离函数ht,b=hd(v′tb,vt,b),
v′t,b为vt,b的前续状态,映射后确定的矩阵 H ( N &times; B ) = h 1 , 1 . . . h 1 , B . . . h i , b . . . h N , 1 h N , B ; (e)步的具体过程是对(a)中的能量消耗矩阵W′和(d)中仿真能量消耗矩阵H,分别计算H每1列hb列和W′每1列wt的相关系数Pb,t &rho; b , t &ap; r b , t = &Sigma; i = 1 N [ h i , b - h i , b &OverBar; ] [ w i , t - w i , t &OverBar; ] &Sigma; i = 1 N [ h i , b - h i , b &OverBar; ] 2 &Sigma; i = 1 N [ w i , t - w i , t &OverBar; ] 2 , 其中,为矩阵H第b列的平均值,为矩阵W′第t列的平均值,pb,t表示第b个猜测密钥对应的仿真能量消耗与第t个时间点n阶能量消耗之间的线性相关系数,rb,t为该相关系数的近似计算值,仿真能量消耗和n阶能量消耗的相关系数 R ( B &times; L ) = r 1 , 1 . . . r 1 , L . . . r b , t . . . r B , 1 . . . r B , L , rb,t越大,则列s与列t的匹配度越大,对应的猜测密钥kb与采样能量信息的相关性越强,选取R中的最大值rm,e=max(rb,t),rm,e对应的猜测密钥km为正确的密钥数据,重复运算分别获得密钥K其他部分的Kr数据,从而分析得到正确密钥K。
上述侧信道能量分析中的n阶局域能量模型,用于进行DPA分析步骤为:(i)采集能量迹并利用n阶局域能量模型确定能量消耗矩阵 W &prime; ( N &times; L ) = E T , 1 , 1 n . . . E T , 1 , L n . . . E T , i , t n . . . E T , N , 1 n . . . E T , N , L n ; (ii)选取攻击对象,猜测密钥值,确定DPA选择函数;(iii)将平均能量消耗划分为两个子集;(iv)计算两平均能耗子集差,得到正确的猜测密钥。其中,步骤(ii)选择S盒的输出或轮函数的输出作为攻击对象,猜测密钥K,K中对应S盒输入的每一部分Kr=(kl,…,kb,…,kB),其中,kb为Kr的猜测值,B为Kr所有可能值的数量,对于输入的明文向量D和密钥假设向量Kr,通过密码算法运算函数得到中间值i=1,…,N,b=1,…,B,分别计算上式得到中间值矩阵 V ( N &times; B ) = v 1 , 1 . . . v 1 , B . . . V i , b . . . v N , 1 . . . v N , B , 根据中间值定义明文、猜测密钥作为参数的选择函数为:其中,函数g(vi,b)是vi,b为参数,以常数c为分割值的区分函数,通常为汉明重量函数或汉明距离函数;(iii)步具体实现为,猜测密钥Kr为kb时,对应的选择函数Q(Dt,kb)=1时,则总个数rkt,j,s对应的选择函数Q(Dt,kb)=0时,则总个数选择函数和n阶能耗矩阵W′,对于能量迹中时间点t,得到该点两个的总能量消耗均值:
q 0 T , b , t n = &Sigma; i = 1 N ( 1 - Q ( D i , k b ) ) E T , i , t n n 0 和, q 1 T , b , t n = &Sigma; i = 1 N Q ( D i , k b ) ) E T , i , t n n 1 , 对所有的时间点求能耗均值,得到两个能耗矩阵Q0(B×L)和Q1(B×L),分别为: Q 0 ( B &times; L ) = q 0 T , 1 , 1 n . . . q 0 T , 1 , L n . . . q 0 T , b , t n . . . q 0 T , B , 1 n . . . q 0 T , B , L n Q 1 ( B &times; L ) = q 1 T , 1 , 1 n . . . q 1 T , 1 , L n . . . q 1 T , b , t n . . . q 1 T , B , 1 n . . . q 1 T , B , L n ; 步骤(iv)具体为计算平均能耗矩阵Q0(B×L)和Q1(B×L)的差,得到矩阵ΔQ=Q1-Q0,若Kr猜测错误,则对于N组明文输入的加密运算,选择函数为0和1的概率各约为对应平均能量消耗差矩阵ΔQ中的能耗差值 &Delta; q T , b , t n = q 1 T , b , t n - q 0 T , b , t n , 选择最大的能耗均值差 &Delta; q T , m , n n = q 1 T , m , n n - q 0 T , m , n n , 对应的猜测轮密钥字节km即为正确密钥字节,重复运算可分别获得密钥K其他部分的Kr数据,从而分析得到正确密钥K。
本发明的技术方案具有以下优点,使用利用n阶局域能量模型确定能量消耗进行能量分析攻击,扩展了功耗的定义,并且由于能量的积分特性,可以将能量迹上多个点的信息综合起来分析处理,在电学意义上更加符合密码芯片的工作原理,能够较为准确地刻画密码芯片的能量消耗特征;使用作为能量信息,不仅大幅提高了攻击的成功率,而且所需的能量迹条数远小于其他方法。
附图说明
图1是能量采集等效装置;
图2是时刻t对应局域窗口参数T的计算方法;
图3是CPA分析流程图;
图4是DPA分析流程图;
图5是选择得到的最优局域窗口参数T;
图6是最大信噪比的n阶局域能量迹;
图7是采集能耗分析时所需的能量迹条数与分析成功率的关系图;
图8是使用n阶局域能耗分析时所需的能量迹条数与分析成功率的关系;
具体实施方式
下面对本发明的技术方案进行具体描述,如图1是能量采集等效装置,信道能量分析方法攻击者对密码芯片使用未知的密钥K对N1+N组明文D进行密码运算,其中,前N1组的明文是相同的,后N组明文是随机的,且N1小于N。对每次运算,记录密码芯两端对应的M个点的瞬时工作电压Ut和流过密码芯片的瞬时电流It,即能量迹,建立采样能量消耗矩阵 U ( ( N 1 + N ) &times; M ) = S 1 , 1 . . . S 1 , M . . . S i , t . . . S N , 1 . . . S N , M , 其中,St,t表示为等效电阻R在输入第i组明文、第t个时间点时对应的采样能量消耗(即电阻R的电压)。
对于时间点t对应的Ut和It,可以得到密码芯片运行的n阶瞬时功耗:当n=2时,此时的功耗定义等价于物理意义的功耗。n阶瞬时功耗的定义直接给出n阶局域能量的定义: E T n = &Integral; t &Element; T P t n = &Integral; t &Element; T ( U t &times; I t ) n / 2 dt &ap; &Integral; t &Element; T U t n / Rdt = &Integral; t &Element; T I t n &times; R n - 1 dt , T为密码运算执行过程中的一段时间区域。
利用能量采集等效装置,如图1,采集能量信号,攻击者只能获得电阻R上的电压信息URt=IRt×R,其中,IRt为流经R的电流,为简化分析对象,近似的将实际能量信息采样配置电路等效于一个纯电阻电路,R的值恒定,则密码芯片两端的工作电流ICt=IRt。在实际的能量信息采样配置下,密码芯片的n阶瞬时功耗为: P t n = ( U t &times; I t ) n / 2 &ap; ( I Ct ) n &times; R n - 1 = ( I Rt ) n &times; R n - 1 = U Rt n / R , 密码芯片的n阶局域能量消耗定义为:对于第i(i∈N)条能量迹上第t个时间点,选择拟攻击的算法运算时间区域L(L<M),采样的局部能量消耗电压信息为Si,t(即第i次采集的其中,t∈L,由此得到第i条能量迹在T时间段对应的n阶局域能量消耗的离散表达式:通常为便统计计算,对时间点域M中的任意时刻t,定义第i条能量迹上t时刻的n阶局域能量消耗表达式为:其中,t-T/2≥0,t+T/2≤L。选择局域窗口参数T,确定信噪比最大的n阶局域能量。由n阶局域能量消耗的离散表达式可知,T为n阶局域能量的参数,选择合适的T将使n阶局域能量的信噪比SNR达到最大,提高分析的成功率。因此,对于任意时刻t,当信噪比最大时即可确定T值。t时刻的n阶局域能量共分为三部分:其中,为t时刻用于进行能量分析的n阶局域能耗信息,为算法噪声,即除外的算法运算能耗信息,为电子噪声。能量迹的信噪比公式为SNR=Var(signal)/Var(noise),其中,Var(x)为x的方差,表示密码运算t时刻x能量变化的大小。由可得n阶局域能量相对信噪比和n阶局域能量绝对信噪比对于算法运算能量消耗存在一定的线性关系,即k的值依赖于S盒的个数。以DES密码算法为例,DES密码算法轮密钥rki均对应8个S盒运算,对于任意时间点t对应的n阶局域能量,若是DES密码算法为软件实现,依次进行8个S盒运算,可得即算法运算能耗全部为可用能耗;若是DES密码算法为硬件实现,并行进行S盒运算,且假设各S盒能量消耗均是相等的,则即算法运算能耗仅1个S盒的运算能耗为可用能耗。因此,对于DES密码算法的能量分析,令k∈R,且0≤k≤7(若是其他密码算法k可根据S盒的个数而定)。从而可得:则相对信噪比与绝对信噪比的关系为:由此式可知,随着的增大而增大,呈同调递增关系。为t时刻在T时间段内包含了整个时间段能量信息的信噪比,设t时刻n阶平均能量信息的信噪比函数为: f ( T ) SNR ( E T , t n ) T = 1 ( 1 + k 2 SN R &prime; ( E T , t n ) + k 2 ) T , 因此,在一个有限的局域范围内,如果T涵盖了大部分有效信号的能量消耗,f(T)在这个区域内将取得极大值。
为了获得f(T)的极大值,必须先确定的值。已知前N1组为相同明文运算,由方差的定义可得算法绝对能耗方差 Var ( Ea T , t n + Eb T , t n ) N 1 = 0 , 则: Var ( E T , t n ) N 1 = Var ( Ea T , t n + Eb T , t n ) N 1 + Var ( En T , t n ) N 1 = Var ( En T , t n ) N 1 , Var ( E T , t n ) N 1 , Var ( Ea T , t n + Eb T , t n ) N 1 , Var ( En T , t n ) N 1 分别为时刻t前Nl组的总能耗方差、算法绝对能耗方差、噪声方差。又因为在单点统计分布上呈现高斯分布,在时域上呈现白噪声特性,所以是高斯白噪声,则:对于N组的随机明文,同样可得: Var ( Ea T , t n + Eb T , t n ) N = Var ( E T , t n ) N - Var ( En T , t n ) N = Var ( E T , t n ) N - Var ( E T , t n ) N 1 , 由上两式可得N条随机明文的能量迹t时刻的绝对能耗信噪比: SN R &prime; ( E T , t n ) = Var ( Ea T , t n + Eb T , t n ) N Var ( En T , t n ) N = Var ( E T , t n ) N - Var ( E T , t n ) N 1 Var ( E T , t n ) N 1 其中, Var ( E T , t n ) N = 1 N - 1 ( &Sigma; i = 1 N ( E T , i , t n ) 2 - 1 N ( &Sigma; i = 1 N E T , i , t n ) 2 ) . 确定T具体流程如图2所示,令初始T=0,不断递增T,分别计算式 SN R &prime; ( E T , t n ) = Var ( Ea T , t n + Eb T , t n ) N Var ( En T , t n ) N = Var ( E T , t n ) N - Var ( E T , t n ) N 1 Var ( E T , t n ) N 1 当f(T)存在若干极大值时,选择最大的极大值f(T)对应的T,即为局域窗口参数T。
由于前N1组的算法绝对能耗方差为0,因此,仅分析后N组随机明文输入的n阶局域能量。对于拟攻击的时间区域L中的任意时间点t,任意能量迹i(i∈N),通过上述方法计算参数T,代入参数T、n,计算得到第i条能量迹在t时刻的n阶局域能量计算所有能量迹各时间点上的n阶局域能量,从而得到一个极大信噪比的能量消耗矩阵W′(N×L): W &prime; ( N &times; L ) = E T , 1 , 1 n . . . E T , 1 , L n . . . E T , i , t n . . . E T , N , 1 n . . . E T , N , L n .
根据CPA分析的原理,同时结合上述n阶局域能量模型,进行CPA方法说明,如图3,其步骤为:(1)使用能量采集等效装置,如图1,分别采集密码芯片对相同明文、随机明文的加密运算的能量消耗对于拟攻击的时间域L上所有的时间点,得到能量消耗矩阵W;(2)定义n阶局域能量模型,令n=2,根据信噪比选择最优的局域窗口参数T,得到信噪比最大的n阶局域能量,计算方法如图2所示。通过计算可知当T=56时,f(T)取得极大值中的最大值,如图5,将最大的T值代入求得单点t的能量消耗如图6所示,对于拟攻击的时间域L上的N次加密运算,得到n阶局域能量消耗矩阵W′;(3)依据上述CPA分析原理,分别对采集能耗矩阵W和n阶局域能耗矩阵W′,选择S盒的输出作为攻击对象,使用汉明重量模型进行CPA能量分析;(4)评估两种能量信息的攻击效果。图6为使用能耗矩阵W进行CPA分析时成功率与所需能量迹的关系图,当达到90%的攻击成功率时,需要3200条能量迹;图7是使用n阶局域能耗矩阵W′进行CPA分析时成功率与所需能量迹的关系图,当达到90%的攻击成功率时,需要1600条能量迹。由上可知,使用W′对DES密码算法进行分析的成功率要明显高于使用W对DES算法进行攻击的成功率。
根据DPA分析的原理,同时结合上述n阶局域能量模型,进行DPA方法说明,如图4,其在能量采集、依据采集的能量迹定义n阶局域能量、选择局域窗口参数T,确定信噪比最大的n阶局域能量与CPA分析方法完全相同。在完成n阶局域能量模型的基础上,依据现有的DPA分析原理即可进行后续分析过程。
上述技术方案仅体现了本发明技术方案的优选技术方案,本技术领域的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于本发明的保护范围之内。

Claims (7)

1.侧信道能量分析中的n阶局域能量模型,其特征在于,该模型建立步骤如下:(1)采集能量迹,建立采样能量消耗矩阵具体过程是利用密钥K对N1+N组明文D进行密码运算,对每次运算,记录密码芯两端对应的M个点的瞬时工作电压Ut和流过密码芯片的瞬时电流It,得到能量迹Si,t;(2)根据上步采样的能量迹,确定n阶局域能量消耗具体过程为:首先定义密码芯片运行的n阶瞬时功耗为积分运算后可以得到n阶局域能量 E T n = &Integral; t &Element; T P t n = &Integral; t &Element; T ( U t &times; I t ) n / 2 d t &ap; &Integral; t &Element; T U t n / R d t = &Integral; t &Element; T I t n &times; R n - 1 d t , 采集与密码芯片串联的电阻R的电压信息URt=IRt×R,其中,IRt为流经电阻R的电流,将实际能量信息采样配置电路等效于一个纯电阻电路,R的值恒定,则密码芯片两端的工作电流ICt=IRt,密码芯片的n阶瞬时功耗 P t n = ( I C t ) n &times; R n - 1 = ( I R t ) n &times; R n - 1 = U R t n / R , 密码芯片的n阶局域能量消耗第i条能量迹在T时间段对应的n阶局域能量消耗的离散表达式其中,L为拟攻击的时间区域,该离散表达式等效为t时刻所在T时间段n阶局域能量消耗(3)选择局域窗口参数T,得到信噪比最大的n阶局域能量消耗,即n阶局域能量,计算所有能量迹各时间点上的n阶局域能量,从而得到一个极大信噪比的能量消耗矩阵W'(N×L):这里,Si,t表示为等效电阻R在输入第i组明文、第t个时间点时对应的采样能量消耗,即电阻R的电压,R为等效电阻值,T为密码运算执行过程中的一段时间区域,拟攻击的算法运算时间区域L。
2.根据权利要求1所述侧信道能量分析中的n阶局域能量模型,其特征在于,步骤(3)中局域窗口参数T的选择过程如下:初始T=0,不断递增T,计算N条随机明文的能量迹t时刻的绝对能耗信噪比 SNR &prime; ( E T , t n ) = V a r ( Ea T , t n + Eb T , t n ) N V a r ( En T , t n ) N = V a r ( E T , t n ) N - V a r ( E T , t n ) N 1 V a r ( E T , t n ) N 1 后代入t时刻n阶平均能量信息的信噪比函数 f ( T ) = S N R ( E T , t n ) T = 1 ( 1 + k 2 SNR &prime; ( E T , t n ) + k 2 ) T , 当f(T)存在若干极大值时,选择最大的极大值f(T)对应的T,即为局域窗口参数T,这里的为t时刻用于进行能量分析的n阶局域能耗信息,为算法噪声,为电子噪声, V a r ( E T , t n ) N = 1 N - 1 ( &Sigma; i = 1 N ( E T , i , t n ) 2 - 1 N ( &Sigma; i = 1 N E T , i , t n ) 2 ) , k为密码算法中的S盒个数,确定局域窗口参数T后代入(2)步的n阶局域能量消耗后计算所有能量迹各时间点上的n阶局域能量,从而得到一个极大信噪比的能量消耗矩阵
3.根据权利要求1或2所述的侧信道能量分析中的n阶局域能量模型,其特征在于,该模型用于进行CPA或DPA分析。
4.根据权利要求3所述的侧信道能量分析中的n阶局域能量模型,其特征在于,该模型用于进行CPA分析步骤为:(a)采集能量迹并利用n阶局域能量模型确定能量消耗矩阵(b)选取攻击对象,确定算法攻击模型;(c)猜测密钥值,计算轮运算的中间值;(d)将上步中间值映射为仿真能量消耗值;(e)计算仿真能量消耗与n阶能量的线性相关系数,确定正确的猜测密钥。
5.根据权利要求4所述侧信道能量分析中的n阶局域能量模型进行CPA分析,其特征在于,步骤(c)的过程为猜测密钥K,K中对应S盒输入的每一部分Kr=(k1,…,kb,…,kB),其中,kb为Kr的猜测值,B为Kr所有可能值的数量,对于输入的明文向量D和密钥假设向量Kr,通过密码算法运算函数得到中间值i=1,…,N,b=1,…,B,分别计算上式得到中间值矩阵(d)步中间值映射为仿真能量消耗值是通过汉明重量函数hi,b=hw(vi,b),hw(x)表示x二进制比特为1的个数,或汉明距离函数hi,b=hd(ν′i,bi,b),hd(ν′i,bi,b)=hw(ν′i,b⊕νi,b),ν′i,b为νi,b的前续状态,映射后确定的矩阵(e)步的具体过程是对(a)中的能量消耗矩阵W'和(d)中仿真能量消耗矩阵H,分别计算H每1列hb列和W'每1列wt的相关系数ρb,t &rho; b , t &ap; r b , t = &Sigma; i = 1 N &lsqb; h i , b - h i , b &OverBar; &rsqb; &lsqb; w i , t - w i , t &OverBar; &rsqb; &Sigma; i = 1 N &lsqb; h i , b - h i , b &OverBar; &rsqb; 2 &Sigma; i = 1 N &lsqb; w i , t - w i , t &OverBar; &rsqb; 2 , 其中,为矩阵H第b列的平均值,为矩阵W'第t列的平均值,ρb,t表示第b个猜测密钥对应的仿真能量消耗与第t个时间点n阶能量消耗之间的线性相关系数,rb,t为该相关系数的近似计算值,仿真能量消耗和n阶能量消耗的相关系数选取R中的最大值rm,e=max(rb,t),rm,e对应的猜测密钥km为正确的密钥数据,重复运算分别获得密钥K其他部分的Kr数据,从而分析得到正确密钥K。
6.根据权利要求1或2所述的侧信道能量分析中的n阶局域能量模型,其特征在于,该模型用于进行DPA分析步骤为:(i)采集能量迹并利用n阶局域能量模型确定能量消耗矩阵(ii)选取攻击对象,猜测密钥值,确定DPA选择函数;(iii)将平均能量消耗划分为两个子集;(iv)计算两平均能耗子集差,得到正确的猜测密钥。
7.根据权利要求6所述侧信道能量分析中的n阶局域能量模型进行DPA分析,其特征在于,步骤(ii)选择攻击对象,猜测密钥K,K中对应S盒输入的每一部分Kr=(k1,…,kb,…,kB),其中,kb为Kr的猜测值,B为Kr所有可能值的数量,对于输入的明文向量D和密钥假设向量Kr,通过密码算法运算函数得到中间值i=1,…,N,b=1,…,B,分别计算上式得到中间值矩阵根据中间值定义明文、猜测密钥作为参数的选择函数为:其中,函数g(vi,b)是vi,b为参数,以常数c为分割值的区分函数,通常为汉明重量函数或汉明距离函数;(iii)步具体实现为,猜测密钥Kr为kb时,对应的选择函数Q(Di,kb)=1时,则总个数对应的选择函数Q(Di,kb)=0时,则总个数选择函数和n阶能耗矩阵W',对于能量迹中时间点t,得到该点两个的总能量消耗均值:和,对所有的时间点求能耗均值,得到两个能耗矩阵Q0(B×L)和Q1(B×L),分别为:步骤(iv)具体为计算平均能耗矩阵Q0(B×L)和Q1(B×L)的差,得到矩阵△Q=Q1-Q0,选择最大的能耗均值差对应的猜测轮密钥字节km即为正确密钥字节,重复运算可分别获得密钥K其他部分的Kr数据,从而分析得到正确密钥K。
CN201310037424.0A 2013-01-31 2013-01-31 侧信道能量分析中的n阶局域能量模型及其应用 Active CN103199983B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310037424.0A CN103199983B (zh) 2013-01-31 2013-01-31 侧信道能量分析中的n阶局域能量模型及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310037424.0A CN103199983B (zh) 2013-01-31 2013-01-31 侧信道能量分析中的n阶局域能量模型及其应用

Publications (2)

Publication Number Publication Date
CN103199983A CN103199983A (zh) 2013-07-10
CN103199983B true CN103199983B (zh) 2016-04-27

Family

ID=48722350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310037424.0A Active CN103199983B (zh) 2013-01-31 2013-01-31 侧信道能量分析中的n阶局域能量模型及其应用

Country Status (1)

Country Link
CN (1) CN103199983B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301758A (zh) * 2016-09-08 2017-01-04 中国科学院信息工程研究所 面向侧信道密码能量迹的筛选方法及系统
CN106301755A (zh) * 2016-08-12 2017-01-04 中国科学院信息工程研究所 一种基于小波分析的能量泄漏信号的降噪方法及系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647637B (zh) * 2013-11-19 2017-01-04 国家密码管理局商用密码检测中心 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法
CN103927573B (zh) * 2014-04-14 2016-08-24 立德高科(北京)数码科技有限责任公司 可见光下唯一性序列号与点阵图形进行绑定的方法及装置
CN104717054B (zh) * 2015-02-12 2017-11-14 中国科学院信息工程研究所 一种密码实现侧信道安全性快速检测方法
EP3179668B1 (en) * 2015-12-11 2019-05-22 Institut Mines-Télécom Methods and devices for estimating secret values
CN106656459A (zh) * 2016-11-17 2017-05-10 大唐微电子技术有限公司 一种针对sm3‑hmac的侧信道能量分析方法和装置
CN106712926B (zh) * 2016-11-21 2019-05-31 中国信息安全测评中心 信号处理方法及装置
CN109995502A (zh) * 2017-12-31 2019-07-09 国民技术股份有限公司 一种侧信道分析方法及装置、终端及计算机可读存储介质
CN112019320B (zh) * 2019-05-30 2022-04-19 中国科学技术大学 侧信道分析中的能量轨迹提取方法及系统
CN111914276A (zh) * 2020-08-06 2020-11-10 中国传媒大学 芯片信息泄露分析方法和装置
CN115270204B (zh) * 2022-09-28 2023-03-07 南方电网数字电网研究院有限公司 芯片电路信息泄露的检测方法、系统、存储介质及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101924600A (zh) * 2010-07-30 2010-12-22 中国科学院软件研究所 检测密码模块抵御能量分析攻击能力的方法
CN102508637A (zh) * 2011-11-22 2012-06-20 中国科学院软件研究所 一种指令级密码设备能量消耗信息生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101924600A (zh) * 2010-07-30 2010-12-22 中国科学院软件研究所 检测密码模块抵御能量分析攻击能力的方法
CN102508637A (zh) * 2011-11-22 2012-06-20 中国科学院软件研究所 一种指令级密码设备能量消耗信息生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SMS4算法的能量分析攻击及其防御研究;沈薇;《中国优秀硕士学位论文全文数据库》;20090815;全文 *
侧信道攻击仿真平台的设计与实现方法;姚剑波等;《计算机工程与设计》;20120630;第33卷(第6期);全文 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301755A (zh) * 2016-08-12 2017-01-04 中国科学院信息工程研究所 一种基于小波分析的能量泄漏信号的降噪方法及系统
CN106301755B (zh) * 2016-08-12 2019-08-27 中国科学院信息工程研究所 一种基于小波分析的能量泄漏信号的降噪方法及系统
CN106301758A (zh) * 2016-09-08 2017-01-04 中国科学院信息工程研究所 面向侧信道密码能量迹的筛选方法及系统

Also Published As

Publication number Publication date
CN103199983A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN103199983B (zh) 侧信道能量分析中的n阶局域能量模型及其应用
CN103138917B (zh) 以s盒输入为基础的汉明距离模型进行sm4密码算法侧信道能量分析方法
CN103166752B (zh) 选择轮函数为攻击对象进行sm4密码算法侧信道能量分析的应用
CN103227717B (zh) 选择轮密钥异或输入进行sm4密码算法侧信道能量分析的方法
Fei et al. A statistical model for DPA with novel algorithmic confusion analysis
CN103647637B (zh) 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法
CN103457719B (zh) 一种对sm3密码算法hmac模式的侧信道能量分析方法
CN103825722B (zh) 一种sm4密码算法的二阶侧信道能量分析方法
CN104796250B (zh) 针对RSA密码算法M-ary实现的侧信道攻击方法
Tang et al. Side-channel attacks in a real scenario
CN101924600B (zh) 检测密码模块抵御能量分析攻击能力的方法
CN104836666A (zh) 一种针对sm2解密算法的能量分析攻击的方法
CN104811297A (zh) 针对RSA之M-ary实现模乘余数输入侧信道攻击
CN108155984B (zh) 一种基于能量分析的密码算法簇逆向工程分析方法
CN103888245A (zh) 一种智能卡的s盒随机化方法和系统
Heuser et al. How a symmetry metric assists side-channel evaluation-a novel model verification method for power analysis
Zhang et al. A novel template attack on wnaf algorithm of ECC
Zhang et al. Template attack vs. stochastic model: An empirical study on the performances of profiling attacks in real scenarios
CN110730062B (zh) 一种基于模板攻击的混沌分组加密分析方法
CN115422603A (zh) 一种基于模板主成分回归的分组密码硬件安全评估方法
Zhao et al. Two-point Joint CPA Attacks against SM4 Algorithm
Meritt Differential power analysis attacks on aes
An et al. Strengthening profiled side channel attacks on AES via multi-view information aggregation
Unger et al. TVLA, Correlation Power Analysis and Side-Channel Leakage Assessment Metrics
Jiang et al. Profiling attack on modular multiplication of elliptic curve cryptography

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant