一种密码实现侧信道安全性快速检测方法

文档序号:8397957阅读:439来源:国知局
一种密码实现侧信道安全性快速检测方法
【技术领域】
[0001] 本发明提出了一种侧信道区分器MPC-KSA(MultiplicationofP-valuesand CumulativepartitionbasedKolmogorov-SmirnovAnalysis)针对密码实现的安全性 快速检测方法,安全监测用人员可应用该方法对密码设备中的密码实现方案实施侧信道分 析,根据是否可W检测到私密信息,判断该设备的安全性,属于信息安全技术领域,主要用 于分析信息安全设备相关的密码方案设计与实现。
【背景技术】
[0002] 传统的密码分析中,分析人员仅利用密码算法的输入、输出信息恢复密码算法所 使用的密钥。恢复密钥的过程中分析人员通常借助密码算法的数学性质。然而,随着电子半 导体技术的发展,密码算法在实际应用中往往W硬件逻辑或者软件程序的形式存在于密码 设备中,密码设备在运行过程中存在不同形式关于敏感中间值的泄露信息,如能量分析中, 通过测量能量迹作为泄露信息,电磁分析中W电磁福射作为泄露信息。
[0003] 在侧信道分析中,分析人员可W通过差分能量分析、相关系数能量分析等方法,利 用待检测设备中的某个敏感中间值和设备泄露信息之间的线性依赖关系恢复密码所用密 钥。然而随着密码设备生产工艺的精细化,密码设备泄露信息与中间值之间的线性关系提 取减弱,二者之间更多的出现了一种非线性关系。KSA化olmogorov-SmirnovAnalysis)是 一种基于K-S检测化olmogorov-SmirnovTest),通过分析密码设备泄露信息的分布特性, 利用密码设备泄露信息与中间值之间的线性关系与非线性关系,恢复出密码设备所使用的 密钥的侧信道分析方法。
[0004] 在统计学领域,K-S检测是一种用于检测两个分布相似性大小的非参数检测方法, 既可W用于检测一个经验分布于一个参考分布之间的相似性,也可W检测两个经验分布之 间的相似性。令F"(x)表示样本容量为n时随机变量X的经验累积分布函数,则F"(x)具有 如下形式:
[0005]
【主权项】
1. 一种密码实现侧信道安全性快速检测方法,其步骤为: 1) 加载实际泄露值向量L,并计算该实际泄露值向量L的经验累积分布函数CDF;在设 定设备上运行待测加密算法对每一明文加密时产生该实际泄露值向量L中的一个实际泄 露值; 2) 按照步骤1)所述实际泄露值的排列顺序对每一明文Msg进行计算,即计算当前明文 Msg与每一密钥猜测值k对应的假设能耗p,然后根据p和k值将该明文的序号归入到一实 际泄露值下标分组G中第k+1行第p+1列中; 3) 对于每一密钥猜测值k,从该实际泄露值下标分组G中提取假设能耗非空的实际 泄露值下标分组元素G[k+1] [p+1],然后根据所提取元素从该实际泄露值向量L中提取对 应实际泄露值组成实际泄露值向量£,计算该实际泄露值向量Z对应的经验累积分布函数 CDFt;然后根据经验累积分布函数CDF与CDFt的最大差异对应的假设机率P-value确定当 前密钥猜测值k的得分Score[k+1]; 4) 将步骤3)中所有得分的最小值对应的k值与该待测加密算法的密钥字节数值比较, 判断该设定设备上实现该待测加密算法是否安全。
2. 如权利要求1所述的方法,其特征在于,计算所述经验累积分布函数CDF的方法为: 21) 首先对实际泄露值向量L进行排序,OrderecLUi]为排序后第i个实际泄露值的 序号; 22) 设置一字典Die,初始下标为idx= 0,键Lk=Ordered_L[l],计数值为C= 1 ; 23) 对i= 2, 3,…,size(L):如果Lk=Ordered_L[i],则C=C+1 ;否则在字典Dic中 加入键为Lk,值为idx的一个键值对,同时Q)F[idx] =C/m,并更新Lk=Ordered_L[i], idx=idx+1 ;完成对每个i的遍历后,在Die中加入键为Lk,值为idx的一个键值对Die. Add(Lk,idx) 〇
3. 如权利要求2所述的方法,其特征在于,计算所述经验累积分布函数CDFt的方法 为:
33)令CDFt[1] =Ct[1]/Num;对于ci= 2, 3,…,size(CDF),执行CDFt[ci]=CDFt[ci_l]+Ct[ci]/Num0
4. 如权利要求1或2或3所述的方法,其特征在于,得到所述实际泄露值向量£的方法 为: 41) 设置实际泄露值下标集合Gt并初始化为空; 42) 对所述实际泄露值下标分组G中每一所述假设能耗p的取值,执行步骤43); 43) 取实际泄露值下标分组G[k+1] [p+1],如果不为空,则将其归入Gt中,如果G[k+1] [P+1]为空,则返回步骤42); 44) 取出Gt中对应的实际泄露值组成实际泄露值向量L。
5. 如权利要求1或2或3所述的方法,其特征在于,所述假设能耗p的计算方法为:p =P(A(Msg,k)),和P(x)为泄露值函数,A(Msg,k)为加密过程计算中间值的算法。
6. 如权利要求1所述的方法,其特征在于,所述实际泄露值为设定设备上实现待测加 密算法产生的能量泄露值或者电磁辐射值。
7. 如权利要求1所述的方法,其特征在于,所述密钥猜测值k的取值范围为O~255。
【专利摘要】本发明公开了一种密码实现侧信道安全性快速检测方法。本方法为:1)计算实际泄露值向量L的函数CDF,以及下标字典Dic;2)对每一明文,计算其与每一密钥猜测值k对应的假设能耗p,根据p和k值将该明文的序号归入到一下标分组G中第k+1行第p+1列中;3)对于每一密钥猜测值k,从G中提取集合假设能耗非空的实际泄露值能量迹下标分组元素,然后将对应实际泄露值组成向量,根据Dic计算对应的函数CDFt;然后根据CDF与CDFt的最大差异对应的假设机率确定k的得分;4)将得分最小值对应的k值与加密算法的密钥字节数值比较,判断该设备上实现该加密算法是否安全。本发明可快速检测设备上实现所测加密算法的安全性。
【IPC分类】H04L9-06
【公开号】CN104717054
【申请号】CN201510075958
【发明人】周永彬, 郑超, 郑英显, 高旭, 李大为, 罗鹏
【申请人】中国科学院信息工程研究所, 国家密码管理局商用密码检测中心
【公开日】2015年6月17日
【申请日】2015年2月12日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1