[发明专利]一种对SM3密码算法HMAC模式的侧信道能量分析方法有效
申请号: | 201310310011.5 | 申请日: | 2013-07-23 |
公开(公告)号: | CN103457719A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | 罗鹏;曹伟琼;李大为 | 申请(专利权)人: | 国家密码管理局商用密码检测中心 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L29/06 |
代理公司: | 北京东正专利代理事务所(普通合伙) 11312 | 代理人: | 刘瑜冬 |
地址: | 100036*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sm3 密码 算法 hmac 模式 信道 能量 分析 方法 | ||
技术领域
本发明提供了一种对SM3密码算法HMAC模式的侧信道能量分析方法,涉及到密码算法实现、侧信道能量分析、密码模块检测领域。为了对实现SM3密码算法HMAC模式的密码模块进行侧信道能量分析,分析和获取受保护的密钥及敏感信息,本发明提出一种针对SM3密码算法HMAC模式的侧信道能量分析方法。
背景技术
随着信息技术的发展,各种密码算法正被广泛地应用于经济、军事、行政等重要部门,保护信息的安全性。鉴于密码算法的重要性,对密码算法软硬件实现(密码模块)的分析研究对保护信息的安全具有重要的意义。近年来,多种对密码模块的攻击已广为人知,所有这些攻击的目标都是为了获取密码模块中的密钥。攻击可分为侵入式攻击、半侵入式攻击和非侵入式攻击。非侵入式攻击中的侧信道分析由于实施方便、相对成本低廉被广泛使用。侧信道分析包括计时分析、能量分析和电磁分析等。其中,侧信道能量分析是众多分析手段中最常用的方法之一,它突破了传统密码算法的分析模式,能力强大,实施相对容易。侧信道能量分析利用了密码模块能量消耗与运算数据和执行的操作之间的相关性,基于密码算法实现的能量泄露函数,建立能量模型,使用统计方法,猜测和验证密码模块使用的受保护密钥或敏感信息。侧信道能量分析方法一般包括:简单能量分析(SPA)、差分能量分析(DPA)、相关能量分析(CPA)和高阶差分能量分析(HODPA)。
其中,DPA原理是:对于N组明文/密文数据的加/解密运算,获取N条能量迹(一次密码操作过程中采集到的能量消耗测量的一个向量);对每一个猜测密钥或敏感信息K,产生相应的中间值(攻击对象),根据中间值确定选择函数;通过选择函数将能量迹集划分为两个子集;分别对两个子集对应的能量消耗取平均,并对两个平均能量消耗值求差,该均值差 为选择函数对应的中间值对能量迹的影响效果。根据统计理论,若K猜测不正确,当能量迹的个数N趋近无穷大时,两子集的均值差将趋近于零;若K猜测正确时,在能量迹中的某个样点,将会出现一个均值差的最大尖峰(绝对值最大值),通过最大尖峰可确定正确的密钥或敏感信息。CPA原理是:对于N组明文/密文数据的加/解密运算,获取N条能量迹;对每一个猜测密钥或敏感信息K,产生相应的中间值(攻击对象);根据中间值建立能量模型;通过能量模型将中间值映射为仿真能量消耗;计算仿真能量消耗与能量迹之间的线性相关系数,范围在[-1,1]之间;选取相关系数中绝对值的最大值,理论上为1,但是由于采集能量迹过程中不可避免存在噪声干扰,最大值小于1,该相关系数最大值对应的猜测值即为正确密钥或敏感信息。
对于上述两种分析方法,必须具备如下条件:必须存在W(攻击点)具有明显能量消耗特征,其中,攻击点W是由两部分因子结合运算(·)组成,一部分M为已知可变化,另一部分K为未知但是固定(即攻击获取的密钥或敏感信息),W=M.K。攻击者通过输入不同的M,产生不同的W能量消耗特征,结合W=M.K,分析出K。
基于杂凑算法的消息鉴别码(Hash-based Message Authentication code,简称HMAC)利用杂凑算法,输入一个密钥和消息,输出带认证信息的消息的摘要,用于摘要的接收方能够对摘要发送方的身份正确性和消息有效性进行验证。HMAC与普通的消息摘要的不同之处在于,摘要生成过程中密钥参与了运算。一个HMAC过程表示为:
HMAC(K,m)=H((K⊕opad)‖H((K⊕ipad)‖m)) (1)
其中,H代表一个杂凑算法(如SHA-256、SHA-1,SM3等)函数,K为鉴别密钥,m代表一个不定长的消息输入。用B来表示杂凑算法输入分组的字节长度,用L来表示杂凑算法摘要输出的字节长度(如MD5中L=16,SHA-1中L=20),鉴别密钥K的长度一般为小于等于B的正整数值,小于分组长度B时在密钥K后补0;若鉴别密钥K的长度比B大,则使用杂凑算法函数H对K进行摘要运算,输出的L长度字节串作为在HMAC中 实际使用的密钥。ipad为B字节重复的0x36,opad为B字节重复的0x5C。附图1描述了HMAC的处理过程,
IV为杂凑函数H的初始状态值,f为H中压缩函数, 为输入的消息分组,Kin,h1,h2,...,hn-1,hn,Kout为每次杂凑运算的中间状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家密码管理局商用密码检测中心,未经国家密码管理局商用密码检测中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310310011.5/2.html,转载请声明来源钻瓜专利网。