检测密码模块抵御能量分析攻击能力的方法

文档序号:7755641阅读:235来源:国知局
专利名称:检测密码模块抵御能量分析攻击能力的方法
技术领域
本发明涉及信息安全技术领域,尤其是密码模块的实际安全性方面;可应用于密 码模块实现抵御能量分析攻击能力的检测,主要应用于密码系统的设计、分析与测评。
背景技术
密码模块广泛应用于各种涉及密码安全的电子产品中,如智能卡、网银钥匙、射频 识别标签等。而在实践中,大量的针对密码模块进行的攻击、破译分析研究活动,直接关系 到使用密码模块的电子产品的安全性。侧信道攻击是密码分析研究的一个重要分支。它是通过获取并分析密码模块操作 过程中的电信号或电磁信号的变化与中间数值或执行操作的关系,继而获得密钥信息的一 种密码攻击手段。研究实践表明,即使密码算法在数学意义下是安全的,任何不恰当的实现 所泄漏的侧信道信息仍会导致严重的安全隐患。能量分析攻击就是这样一种功能强大的典 型侧信道攻击。这种攻击方法实际效果显著,受到广泛关注,已成为侧信道攻击领域的热点 问题。密码模块抵御能量分析攻击的能力直接决定了相应电子产品的安全性强弱。本发明 提出了一套检测密码模块对能量分析攻击的防御能力的流程和基本方法,为密码系统的设 计、分析与评估提供了必要的基础方法和支撑工具。

发明内容
本发明提供一种检测密码模块抵御能量分析攻击能力的方法,使用该评估方法可 以对密码模块抵御能量分析攻击能力的强弱进行量化评估。在能量分析过程中,每个候选子密钥Si(l < i < η) (η为候选子密钥的个数)对 应于用于表征该子密钥正确可能性的数值,该数值被称为候选子密钥Si的参考值。本发 明的基本思路是将所有候选子密钥Si对应的参考值m/,转换为服从高斯分布的随机变量样
本I^itj如果所有的参考值;^8服从同一个或者非常近似的分布,则敌手难以通过候选子
密钥的参考值区分出正确的子密钥,即密码模块对能量分析攻击是安全的。基于上述思路,本发明的技术方案为一种检测密码模块抵御能量分析攻击能力 的方法,包括如下主要步骤1)对密码模块实施能量分析攻击,获取每个候选子密钥Si的参考值 Λ ;2)基于所有候选子密钥的参考值〈 y;, / ..., /&〉计算参考值跨度At ;3)根据参考值跨度△ t计算密码模块能量分析攻击抵御能力安全因子r ;4)根据r大小评估密码模块抵御能量分析攻击的能力,安全因子r与该能力正相 关。下面对各个步骤的具体操作做进一步的说明。首先,第1)步的具体实施流程方法为i.随机生成密钥模块的明文;ii.将明文逐一输入密码模块,执行密码操作并采集密码模块的能量迹(能耗曲 线);
iii.逐一猜测密码模块的子密钥并利用区分器得到每个候选子密钥Si对应的参 考值 Λ。其中,第ii步所述采集密码模块能量迹的方法为a)启动包含密码模块的密码设备;b)设置密码设备的输入明文;c)密码设备执行密码算法,并向示波器发送触发信号;d)示波器采样测量密码设备的能量消耗值并将采样结果传输给计算机;e)重复步骤b)至d),直到所采样的能量迹数量满足攻击需要为止。在第2)步中,首先需要根据所选用的区分器对参考值M/,做相应变换。如果采 用均值差检验作为区分器,则对参考值"Λ,做恒等变换;如果采用皮尔逊相关系数作为区分
器,则对参考值My^iAFisher变换。变换后的参考值记为纟“ ^^^,…,^‘)接着计算
参考值跨度At,方法为 其中,HJf..、和ref 分别是最大的参考值和最小的参考值的统计估计量;S为所
‘ “ ι 二 \ι.· Ii I ! M
有参考值的标准差的统计估计量,即--i7fr ;=为所有参考值的均值的
统计估计量,即=; η为候选子密钥的个数。 第3)步中密码模块能量分析攻击抵御能力安全因子r的计算方法为
-Atrco
h(t)dt + h(t)dt
-ooJAt其中,h(t)为t(n-l)分布的概率密度函数。t是统计分布。因为密码模块能量分析攻击抵御能力越强,则最大参考值I ·和最小参考值 的差异越不显著。即参考值跨度At越小,安全因子r越大;反之,参考值跨度At越
m π
大,则安全因子r越小。第4)步根据r判断密码模块抵御能量分析攻击的能力。具体的,设定r的阈值rt, 认为大于rt的密码模块对能量分析攻击是安全的,安全因子r小于阈值&的密码模块对于 能量分析攻击是不安全的。rt优选0. 01 0. 05之间的值。本发明的方法将密码模块对能量分析攻击的抵御能力量化,可以帮助准确、快速 地测评设置有密码计算功能的安全产品的安全性和安全程度。具体的,本发明可以应用于 智能卡等基于嵌入式微处理器的,广泛应用于金融、政府、社会服务等诸多领域的专用或通 用计算设备。通过本发明,可以快速检测密码模块抵御能量分析攻击的能力。本发明为同 一类型的不同密码模块产品的抗能量分析攻击能力进行横向对比,以及广泛类型的密码设 备在能量分析攻击下的安全性测评提供了有效的基本支撑工具。


图1是本发明的检测密码模块抵御能量分析攻击能力的方法的流程2是能量分析攻击原理3是能量分析攻击中能量迹的基本测量配置4是能量分析攻击基本配置中各设备间的交互顺序
具体实施例方式检测密码模块抵御能量分析攻击能力的方法,包括1)对密码模块实施能量分析攻击,获取每个候选子密钥Si的参考值"Λ ;2)基于所有候选子密钥的参考值〈〃<1,〃吹2,..., 乂(1〉计算参考值跨度Δ t ;3)根据参考值跨度△ t计算密码模块能量分析攻击抵御能力安全因子r ;4)根据r大小评估密码模块抵御能量分析攻击的能力,安全因子r与该能力正相关。参见图1,其具体的流程方法如下SlOl 通过对密码模块实施能量分析攻击获取每个候选子密钥Si的参考值"Λ。S102 获取候选子密钥的参考值的最大值、和最小值?i 。S103 计算所有参考值的标准差,
其中,
为所有参
考值的均值,即《sf = , 以,;η为候选子密钥的个数。S104 按如下公式计算参考值跨度Il = sV Γ</ ■-
sS105 计算密码模块能量分析攻击抵御能力安全因子r 其中,h(t)为t(n-l)分布的概率密度函数。S106 根据安全因子的大小评估密码模块抵御能量分析攻击的能力。安全因子r 越大,则表明密码模块能量分析攻击抵御能力越强;安全因子r越小,则表明密码模块能量 分析攻击抵御能力越弱。若密码模块能量分析攻击抵御能力大于给定的安全阈值rt,则认 为该密码模块对能量分析攻击是安全的,否则是不安全的。通常,安全阈值rt取值为0. 01 至 0. 05。其中,步骤SlOl是通过对密码模块实施能量分析攻击获取每个候选子密钥Si的 参考值 Λ,这个过程就是执行能量分析攻击的过程。其具体原理参见图2,包括如下步骤i.随机生成密码模块的明文;ii.在密钥S。的作用下,当目标设备执行q次加密操作时,敌手采样得到q条能量 迹Lq= [I1, I2, ... , IJ0对于每一条能量迹Ii (i = 1,2,...,q),敌手保存相应的明文Xi 到向量 Xq = [χ” x2,...,xq]中。iii.对于每一个子密钥猜测Si e S,做如下操作
6
a)对于向量Xq = [X1, X2, ... , xq]中的每一个明文Xi和子密钥猜测S,敌手预测 目标设备中的中间值ν;,并保存在向量< =K名,…乂]中。b)对于向量中< =[ …乂]的每一个中间值ν;,敌手根据能量泄露模型计算其相 应的能耗泄漏<,并将其存入向量=[ ···,<]。c)敌手根据统计方法计算子密钥猜测Si对应的参考值"Λ。iiii.用对参考值做相应的变换(当采用均值差检验做区分器时,对参考值做恒 等变换;当采用皮尔逊相关安全因子做区分器时,对参考值做Fisher变换)使得每一个子
密钥猜测对应的参考值可用正态分布来刻画,设调整后的结果为< I JT/;.,,..,ι ^ >。第ii步需要测量密码模块的执行密码操作时的能量迹,需要搭建一套专用的能 量消耗测量环境。测量配置的主要部件包括电源、时钟发生器、密码设备、测量电路(EM探头/探 针)、一台数字示波器和一台PC,如图3所示。测量电路为数字采样示波器提供信号,该信 号与密码设备的瞬时能量消耗成正比。PC用于对密码设备和数字示波器进行控制、存储测 量获得的能量迹,并对能量迹进行分析。密码设备执行密码操作时,为了测量设备的能量消耗,上述基本组件需要按照如 下的基本流程进行交互,如图4所示。首先,步骤(1)密码设备上电并接收时钟信号。此 时,设备已经处于可操作状态并且可以接受命令的启动状态。接下来,在步骤(2)中,PC对 示波器进行配置。在步骤(3)中,设置密码设备的输入明文,密码设备开始执行密码算法, 并向示波器发送触发信号。算法执行期间,执行步骤(4)示波器测量密码设备的能量消耗 值,能量消耗值通过测量电路测量。在步骤(5)中,PC从设备中获取密码算法的输出,最后 执行步骤(6)PC从示波器中获取采样到的能量迹。不断重复步骤(2)至步骤(6),直到所采 样的能量迹数量满足攻击需要为止。需要特别强调的是本发明同样适用于电磁攻击等其他类型的攻击。尽管为说明目 的公开了本发明的具体实例和附图,其目的在于帮助理解本发明的内容并加以实施,但是 本领域的技术人员可以理解在不脱离本发明及所附的权利要求的精神和范围内,各种替 换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容, 本发明要求保护的范围以权利要求书界定的范围为准。
权利要求
检测密码模块抵御能量分析攻击能力的方法,包括如下步骤1)对密码模块实施能量分析攻击,获取每个候选子密钥si的参考值2)基于所有候选子密钥的参考值计算参考值跨度Δt;3)根据统计量Δt计算密码模块能量分析攻击抵御能力安全因子r;4)根据r大小评估密码模块抵御能量分析攻击的能力。FDA0000023909880000011.tif,FDA0000023909880000012.tif
2.根据权利要求1所述的检测密码模块抵御能量分析攻击能力的方法,其特征在于所述第1)步骤的具体方法如下 i.随机生成密钥模块的明文; 将明文逐一输入密码模块,执行密码操作并采集密码模块的能量迹;iii.逐一猜测密码模块的子密钥并利用区分器得到每个候选子密钥Si对应的参考值O
3.根据权利要求2所述的检测密码模块抵御能量分析攻击能力的方法,其特征在于第 步所述采集密码模块能量迹的方法为a)启动包含密码模块的密码设备;b)设置密码设备的输入明文;c)密码设备执行密码算法,并向示波器发送触发信号;d)示波器采样测量密码设备的能量消耗值并将采样结果传输给计算机;e)重复步骤b)至d),直到所采样的能量迹数量满足攻击需要为止。
4.根据权利要求1所述的检测密码模块抵御能量分析攻击能力的方法,其特征在于第 2)步骤的具体方法为首先对参考值&做相应变换,变换后的参考值为On;〗—.第二步计算参考值跨度At:其中,t和..分别是最大的参考值和最小的参考值的统计估计量;s为所有参[ . __________考值的标准差的统计估计量,即、=. —为所有参考值的均值的统计\ 了.Fe /估计量,即一 . Σ1;· η为候选子密钥的个数。- - ,
5.根据权利要求4所述的检测密码模块抵御能量分析攻击能力的方法,其特征在于根 据区分器对参考值 人做相应变换。
6.根据权利要求5所述的检测密码模块抵御能量分析攻击能力的方法,其特征在于采 用均值差检验作为区分器,则对参考值 人做恒等变换。
7.根据权利要求5所述的检测密码模块抵御能量分析攻击能力的方法,其特征在于采 用皮尔逊相关系数作为区分器,则对参考值 人做Fisher变换。
8.根据权利要求1所述的检测密码模块抵御能量分析攻击能力的方法,其特征在于 第3)步中密码模块能量分析攻击抵御能力安全因子r的计算方法为 其中,h(t)为t(n-l)分布的概率密度函数。
9.根据权利要求1或8任一所述的检测密码模块抵御能量分析攻击能力的方法,其特 征在于在所述第4)步中设置安全因子r的阈值rt,确定安全因子r大于阈值rt的密码模 块对于能量分析攻击是安全的;安全因子r小于阈值^的密码模块对于能量分析攻击是不 安全的。
10.根据权利要求9所述的检测密码模块抵御能量分析攻击能力的方法,其特征在于 所述阈值rt优选0. 01 0. 05之间的值。
全文摘要
本发明公开一种检测密码模块抵御能量分析攻击能力的方法,包括如下步骤1)对密码模块实施能量分析攻击,获取每个候选子密钥si的参考值2)基于所有子密钥的参考值计算参考值跨度Δt;3)根据参考值跨度Δt计算密码模块能量分析攻击抵御能力安全因子r;4)根据r值的大小来度量密码模块抵御能量分析攻击的能力。抵御能力与安全因子r正相关。基于本发明,可以准确、快速地度量含有密码模块的计算设备的抗能量分析攻击的安全性和安全程度,为密码模块的设计、分析与测评提供必要的基础方法和支撑工具。
文档编号H04L12/24GK101924600SQ20101024160
公开日2010年12月22日 申请日期2010年7月30日 优先权日2010年7月30日
发明者刘继业, 周永彬, 陈海宁, 黄金刚 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1