[发明专利]一种面向侧信道密码能量泄漏信号的攻击方法及系统有效
申请号: | 201910902511.5 | 申请日: | 2019-09-24 |
公开(公告)号: | CN110460425B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 周新平;乔珂欣;王洁;张永峰;马哲 | 申请(专利权)人: | 北京银联金卡科技有限公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00 |
代理公司: | 北京北新智诚知识产权代理有限公司 11100 | 代理人: | 满靖 |
地址: | 100041 北京市石*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 信道 密码 能量 泄漏 信号 攻击 方法 系统 | ||
1.一种面向侧信道密码能量泄漏信号的攻击方法,其特征在于,所述方法包括:
采集能量泄漏信号,选择能量模型及要攻击的中间值;
建立假设能量消耗矩阵并利用子密钥猜测将能量数据分类,得到分类结果,包括:选取密钥猜测值和明文数据,根据所述密钥猜测值和所述明文数据建立假设能量消耗矩阵;
计算复杂度:;
其中,N为能量泄漏曲线的条数,Q为示波器的采样精度,BS为分组密码的分组长度,T为每条能量泄漏曲线所包括的采样点数;其中,所述能量数据为所述能量泄漏曲线上的时间点所对应的数据;
根据原始能量曲线上的时间点t,从能量泄漏曲线P取第t列,具体的从能量泄漏曲线取第t列的采样P[:][t];
从所述假设能量消耗矩阵中取每个猜测子密钥对应的行;
根据所述第t列和所述猜测子密钥对应的行对所述能量数据进行分类,得到所述分类结果,包括:对原始能量曲线上的时间点t,从能量泄漏曲线取第t列的采样P[:][t];从假设能量消耗矩阵HP[g][i]中取每个密钥猜测值g对应的行HP[g][:],根据HP[g][:]对P[:][t]进行分类,得到z类,分类结果为Pz;
在根据假设能量消耗矩阵HP的采样P[:][t]对能量数据分类后,利用检验工具Anderson Darling对所述分类结果和原始能量曲线进行数据处理,得到统计值,包括:将分类结果Pz分别与P[:][t]合并得到序列Y;
分别将每个分类结果与P[:][t]合并,利用下式求解出若干统计值st[i]:
其中,求解每个统计值st[i];其中,Yt代表序列Y中小于等于第t个元素的元素个数,s代表划分的类别的元素个数;i为类别个数,重复计算后得到每个类别的统计值,N为能量泄漏曲线条数;
对每类统计值求和后求均值,得到每个猜测子密钥在时间点的区分器值:具体的,将均值赋值给当前密钥猜测值g在当前位置t的区分器值,
ds[g][t]是st的平均值,st为统计值;
判断是否对所有猜测子密钥遍历:若是则判断是否在所有时间点上对所述能量数据遍历,若所述能量数据未在所有时间点上遍历,则在未遍历的时间点上对能量数据分类;若未对所有所述猜测子密钥遍历完成,则对未遍历的猜测子密钥进行所述能量数据分类;
若所有时间点上对所述能量数据遍历完成,从若干所述区分器值中选择最大区分器值,其对应的横坐标为子密钥;
对所述子密钥和真实密钥进行比较以判断密码设备是否安全。
2.根据权利要求1所述的面向侧信道密码能量泄漏信号的攻击方法,其特征在于,所述采集能量泄漏信号,包括:
每次采集时产生一随机数据,对所述随机数据进行加密或解密,对加密或解密时产生的能量泄漏曲线进行采集;
重复采集动作,采集到的能量泄漏矩阵为所述能量泄漏信号;
其中,所述能量泄漏信号包含多条能量泄漏曲线,每条所述能量泄漏曲线由正整数个时间点组成。
3.根据权利要求2所述的面向侧信道密码能量泄漏信号的攻击方法,其特征在于,所述对所述子密钥和真实密钥进行比较以判断密码设备是否安全,包括:
将所述子密钥与真实密钥作对比以判断此次攻击过程中在所述能量泄漏矩阵下是否成功攻击出真实密钥。
4.一种面向侧信道密码能量泄漏信号的攻击系统,能够实现如权利要求1-3所述的任一种面向侧信道密码能量泄漏信号的攻击方法,其特征在于,包括:
信号采集及能量模型选择单元,用于采集能量泄漏信号,选择能量模型,选择要攻击的中间值;每次采集时产生一随机数据,对所述随机数据进行加密或解密,对加密或解密时产生的能量泄漏曲线进行采集;重复采集动作,采集到的能量泄漏矩阵为所述能量泄漏信号;其中,所述能量泄漏信号包含多条能量泄漏曲线,每条所述能量泄漏曲线由正整数个时间点组成;
分类单元,用于建立假设能量消耗矩阵并利用子密钥猜测将能量数据分类,得到分类结果;具体用于选取并根据猜测子密钥和明文数据建立假设能量消耗矩阵;根据所述假设能量消耗矩阵对能量数据分类,得到所述分类结果;其中,所述能量数据为,所述信号采集及能量模型选择单元获取的所述能量泄漏曲线上的时间点所对应的数据;所述分类单元包括,列获取子单元,用于根据所述原始能量曲线上的时间点t,从能量泄漏曲线P取第t列,具体的从能量泄漏曲线取第t列的采样P[:][t];具体的,对原始能量曲线上的时间点t,从能量泄漏曲线取第t列的采样P[:][t];从HP[g][i]中取每个密钥猜测值g对应的行HP[g][:];根据HP[g][:]对P[:][t]进行分类;合并分结果和P[:][t]得到序列Y;
行获取子单元,用于从所述假设能量消耗矩阵中取每个所述猜测子密钥对应的行;
分类结果获取子单元,用于根据所述列获取子单元获取的第t列和行获取子单元获取的所述猜测子密钥对应的行对所述能量数据进行分类,得到所述分类结果,具体的,根据假设能量消耗矩阵HP的采样P[:][t]对能量数据分类;
统计值获取单元,用于利用AD对所述分类单元得到的分类结果和原始能量曲线进行数据处理,得到统计值;具体的,通过AD获取每个所述分类结果,将每个所述分类结果与所述原始能量曲线进行计算,得到统计值;其中,每个分类结果和其在原始能量曲线对应列进行求解时得到的结果为所述统计值;
区分器值获取单元,用于对所述统计值获取单元获取的统计值求均值,得到猜测子密钥在时间点的区分器值;具体的,对每个猜测子密钥进行能量数据分类,根据其对应的分类结果分别获取每类统计值;对所述每类统计值求均值,得到每个猜测子密钥在时间点的所述区分器值;
遍历判断单元,用于判断是否对所有猜测子密钥遍历,若是则判断是否在所有时间点上对所述能量数据遍历,若否则对未遍历的猜测子密钥进行能量数据分类;还用于,若猜测子密钥中未在所有时间点遍历,则在未遍历的时间点上对能量数据分类;
子密钥获取单元,用于若遍历判断单元判断遍历完成,则从所述区分器值获取单元获取的若干所述区分器值中选择最大区分器值,其对应的横坐标为子密钥;
安全性判断单元,用于对所述子密钥获取单元获取的子密钥和真实密钥进行比较以判断此次攻击过程中在所述能量泄漏矩阵下是否成功攻击出真实密钥,若否则判断密码设备安全。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京银联金卡科技有限公司,未经北京银联金卡科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910902511.5/1.html,转载请声明来源钻瓜专利网。