常见的功耗曲线预处理方法

news2024/11/25 14:40:03

滤波

  电子设备的功耗信息可以由电路运行时的电压、电流和电路的阻抗联合计算得到,而且纯电阻运行期间的功耗会转换为热能。在研究中,一个器件的功耗与整个加密设备的功耗成正相关;若该期间的功耗增加,则整个加密设备的功耗也成一定比例增加,反之亦然。因此,研究只需要采集一个元器件的功耗,进而观察整个设备的功耗情况。
  功耗曲线采用最为传统而简单有效的方式进行采集,即,在电源端串联一个 1 − 15 Ω 1-15\Omega 115Ω 的采样电阻,当加密设备工作时,使用高精度抗干扰的探测器采集采样电阻两端的电压,则此时的功耗可通过下式计算得到。
P = U 2 R P = \frac{U^2}{R} P=RU2
其中, U U U 为运行电压, R R R为采样电阻, P P P为采样电阻的功耗,借此观察整个设备的功耗情况。然而,实际采集到的功耗存在大量的加性噪声,故采集到的功耗曲线可由下式表示:
F ( n ) = S ( n ) + N ( n ) F(n) = S(n) + N(n) F(n)=S(n)+N(n)
其中, F ( n ) F(n) F(n)为实际采集到的功耗曲线, S ( n ) S(n) S(n) 为原始功耗信息, N ( n ) N(n) N(n) 为噪声信息。噪声信息可将其详细分为如下部分:
(1)电源噪声
  在实际电路中,给加密设备提供的电源不可能是理想电压源,电源都存在噪声;而采集的功耗曲线与电源信号直接关联,电源噪声对功耗信息有着较大的影响。因此,尽量选择较为稳定的电源作为攻击加密设备的供电电源。
(2)时钟发生器噪声
  侧信道分析攻击中,无论是加密设备的运行,还是采集设备的使用,均离不开时钟信号。如果时钟信号不稳定,可能导致采集到的功耗曲线失调,以及时钟信号可能通过元器件耦合到采集到的功耗曲线中,增加了功耗曲线的处理难度。设备时钟信号来源一般是晶振。
(3)量子化噪声
  量子化噪声是在采集功耗信息时,信号通过模数转换器时产生。采集设备的模数转换器分辨率越高,其采集到的信号越接近实际信号,因其产生的量子化噪声量越小。一般侧信道分析研究中,8位的模数转换器可满足要求。同时模数转换器还需要注意采样率,采集时需满足奈奎斯特采样定理
(4)环境噪声
  外界环境存在大量的电子设备,其在运行时会向外辐射电磁波,电磁侧信道分析方法便是利用其原理进行分析。当加密设备处于辐射较强的环境时,环境中的电磁波可能与加密设备产生耦合,最后产生感应电场叠加在功耗信息中。因此,在采集功耗曲线时,尽量保证环境对设备的影响较小。
  功耗曲线中原始功耗信息差异性较小,其与密钥相关的特征信息淹没在电子噪声中,对后续的侧信道攻击增加了巨大的难度。例如,对采集到的功耗曲线进行频域分析
功耗曲线频谱图
图1. 功耗曲线频谱图

  由上图1看出,频率点在 7.3 M H z 7.3 MHz 7.3MHz左右,存在较大的能量信息,这与采集设备的工作频率一致。信息点集中于低频部分,噪声因为设备运行频率较高而集中于高频部分,因此可选用低通滤波进行噪声处理,还可采用滑动平均进行滤波,即,通过对窗口大小范围内的波形取平均值达到滤波的效果。

对齐

  在采集功耗曲线时,常常在加密设备运行加密算法或是攻击算法处将触发引脚置于高电平,即触发采集器(如:示波器)开始采集功耗信息;在攻击算法结束处将触发引脚设置为低电平,停止采集功耗信息。由此采集到的功耗曲线不含其他与攻击算法无关的操作所产生的功耗,即可较为完全反映攻击算法运行时的功耗信息。
  然而,加密设备在受到电源不稳定,运行时钟源抖动,或是为了减少功耗信息的泄露,添加的一些与加密算法无关的操作或是数据,如:随机插入伪操作或乱序操作,攻击算法与触发点的偏移不固定,导致采集的功耗曲线错开,即功耗曲线失调。
  为了解决功耗曲线失调的问题,利用功耗曲线对齐技术对每一次迭代功耗曲线进行定位并裁剪特征攻击功耗曲线。
  对齐技术可分为:静态对齐与弹性对齐。静态对齐技术一般用于解决设备未加伪操作等防护措施,采集的功耗曲线因电源抖动等外界因素导致的功耗曲线失调问题。
  静态对齐技术一般使用模板匹配实现,即首先选取具有唯一性、数据依赖性的合适的数据作为模板,然后使用匹配算法进行功耗曲线对齐。
  详细分析步骤为:第一,攻击者选择某一条曲线中出现的一种模式;第二,尝试在所有其他功耗曲线中发现该模式,进行匹配。这意味着攻击者需要在每条曲线中确定最佳匹配选定模式的位置,然后平移各条曲线,使得该模式在曲线集的同一个位置出现。
  常见的功耗曲线对齐算法有:相关系数算法、最小二乘法、最小欧式距离法、余弦系数法以及 Tanimoto 系数法等。
(1)相关系数法
  相关系数算法主要用于计算数据间的线性关系,计算公式为:
ρ ( X , Y ) = c o v ( X , Y ) v a r ( X ) v a r ( Y ) \rho(X,Y)=\frac{cov(X,Y)}{\sqrt{var(X)var(Y)}} ρ(X,Y)=var(X)var(Y) cov(X,Y)
取值范围为[-1,1],相关系数绝对值越大,数据之间相关性越大,则此处为特恒功耗曲线的可能性就越大。
(2)最下二乘法
  最小二乘法是将目标功耗曲线与处理曲线之间的差值向量的平方和最小的位置作为特征匹配点。其公式为:
d i f f ( X , Y ) = ∣ ∣ X − Y ∣ ∣ diff(X,Y)=||X-Y|| diff(X,Y)=∣∣XY∣∣
  为了提高实现程序的通用性,研究最小二乘法进行改进,取最小二乘的倒数为参考依据;为了防止出现除0,其分母加上常数1,公式变为:
d i s t ( X , Y ) = 1 1 + d i f f ( X , Y ) dist(X,Y) =\frac{1}{1+diff(X,Y)} dist(X,Y)=1+diff(X,Y)1
X X X Y Y Y的差异越小,其 d i s t ( X , Y ) dist(X,Y) dist(X,Y)值越大,即此时处理曲线为特征功耗曲线的可能性越大。
  弹性对齐是一种动态对齐技术。静态对齐会通过横向平移波形使其在某一位置对齐,而弹性对齐会尝试改变波形每一个位置,从而使它们在所有位置对齐。因此弹性对齐可以有效地消除随机进程中断和随机时钟延时的影响。弹性对齐使用某种策略拉伸和压缩波形达到动态对齐的效果,这个过程通过对波形进行非线性重采样来实现。弹性对齐更适用于难以通过静态对齐得到对齐效果的波形。

压缩

  一个时钟周期,示波器可以采集多次,这取决于示波器的采集频率。根据奈奎斯特采样定理,采样率必须要达到采集的目标信号中最高频分量的两倍至上才能保证信号被无损的采集。而微处理器的信号时钟是由其时钟频率决定的,因此功耗信息中最主要分量频率就是时钟频率,而示波器的采样频率一般是时钟频率信号的几倍以上。基于上述原因,每一个时钟周期就采集了多个采样点,这些冗余的点含有的信息是重复的,过长的功耗曲线往往给功耗分析攻击的计算带来不必要的开销。即可通过压缩技术,可以在不大量损失泄露密钥相关信息的情况下减少功耗曲线的长度,换句话说,功耗曲线压缩技术的作用就是去掉功耗曲线中的冗余。
  为了上述目标,已知功耗曲线中各个点中包含了破解出密钥信息。《能量分析攻击》中 4.3节中关于密钥信息泄露的讨论已经表明在选用的微处理器中,这些信息主要会再能量消耗的尖峰中出现。对相关性尖峰的时钟周期进行分析后发现,功耗曲线的振幅基本正比于该时钟周期中发生的电平转换的次数,而在某一时刻时钟周期内的电平转换次数依赖于正在执行的操作,以及正在被处理的数据。所以,在不考虑高斯分布的电子噪声的情况下,功耗曲线的尖峰包含了实施功耗分析攻击所需要的全部信息。
(1)最大值提取法
  提取功耗曲线每个时钟周期内的最大位置,此时的能量消耗尖峰的值与芯片在当前时钟周期所消耗的能量成正比,因此有理由选取该点作为其所在时钟周期的代表。压缩量取决于采集目标设备时示波器的采样频率与微处理器频率的比。
(2)整合法
  该方法使用功耗曲线中尖峰及其附近的点,而不只是出现的最大尖峰的点。有效性取决于各个点的有效性,同样也依赖于信号分量和噪声分量间的大小关系。将时间间隔的长度称为阈值的话,处理的效果事实上取决于阈值的长短,而这个大小实际上很难掌握。整合方法有:原始整合、绝对值整合、平方和整合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/881790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

具身智能:融合感知、思考与行动的未来之路

在当今科技飞速发展的时代,具身智能(Embodied Intelligence)作为一种新兴的概念,引起了广泛的关注和研究。具身智能将感知、思考和行动紧密结合起来,为机器人和智能系统带来了前所未有的能力和潜力。本文将介绍具身智能…

python基础05 循环 变量 函数组合案例

目录 1. 前言: 2. 案例详情: -> 2.1 案例拆解 ---> 2.1.1 主页功能: ---> 2.1.2 查余额: ---> 2.1.3 存钱 ---> 2.1.4 取钱 ---> 2.1.5 返回首页重试[可有可无] ---> 2.1.6 退出 3. 实现代码(python版) 4. 运行结果: -> 4.1 文字式 想写…

okcc对接ASR平台,okcc客户投诉的安全问题

客户投诉: 客户为什么要投诉?实际上分为两种情况,一是客户被冒犯到不能容忍导致的投诉,二是恶意投诉。降低客户被冒犯投诉的概率,无非就是选择客户、规范用语、降低频度;减少恶意投诉,回避是实践证明最有效…

飞行动力学-第16节-part1-机动飞行中的稳定性 之 基础点摘要

飞行动力学-第16节-part1-机动飞行中的稳定性 之 基础点摘要 1. 机动2. 重心位置3. 翼载荷4. 参考资料 1. 机动 法向过载( n L W n\frac{L}{W} nWL​)超过1的飞行轨迹。 铅垂面的拉升机动水平面内的协调转弯 根据叠加原理,分解为: 定常拉升 平飞 …

数字孪生,HDR如何提取

现在有很多的地方使用全景图,这些全景图是动态展示的720图片,无法通过浏览器点击下载到本地。 今天给你们安利一款好用的、免费的、可下载720全景图的网站。 步骤一 打开这个网址https://krpano.scenegram.cn/(全景管家)&#xf…

十一、避开客户端控件——收集用户数据

文章目录 一、HTML表单1.1 长度限制1.2 基于脚本的确认1.3 禁用的元素 二、浏览器拓展2.1 常见的浏览器拓展技术2.2 攻击浏览器扩展的方法 一、HTML表单 应用程序使用客户端控件限制客户端提交的数据的另一个主要控制对象,是由客户端计算机自己收集的数据。 HTML表单…

win11如何去掉桌面快捷方式的小箭头(原创)

begin 打开注册表,Windows搜索框里搜 注册表编辑器(register editor),打开.. 找到 接着跟进.. 新建一个项名, Shell Icons 继续.... 值设为29 双击开页面 输入数据 %windir%\System32\shell32.dll,-51 到此,保存,到桌面,小箭头还是没有消失 ctrl shift esc 打开 任务管理…

Java课题笔记~ SpringMVC注解式开发

2.1 Controller 传统的配置式开发中的控制器Controller类必须实现Controller接口,并实现接口中的HandleRequest()方法,还需要再配置文件中配置处理器映射,且一个处理器(控制器)只能有一个方法,为了实现程序…

创建预留成本中心与指定工厂不一致

创建预留成本中心与指定工厂不一致 这种情况SAP会警告提示,可以强制通过。 如果公司不允许跨公司领料,可以将消息号 M7517的类型从W改为为E tcode:OMCQ SPRO->物料管理->库存管理和实际库存->定义系统消息的属性->系统信息设置

如何快速便捷收集市场信息?电商API来帮你

电商API(Application Programming Interface,应用程序编程接口)是为了促进不同电商平台之间数据共享和交互而设计的一种技术。通过使用电商API,可以快速便捷地收集市场信息,提升电商运营效率,增加竞争力。 …

根据指定日期获取周,月,季度,年的第一天和最后一天

1. 根据指定日期获取周,月,季度,年的第一天和最后一天 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;/*** 根据给定时间获取周、月度、季度、年度开始结束时间*…

OSPF在广播类型的网络拓扑中DR和BDR的选举

指定路由器(DR): 一个网段上的其他路由器都和指定路由器(DR)构成邻接关系,而不是它们互相之间构成邻接关系。 备份指定路由器(BDR): 当DR出现问题,由BDR接…

数字化转型能带来哪些价值?

数字化转型可以为个人、企业和整个社会带来广泛的价值。以下是数字化转型的一些主要优势: 1.提高效率和生产力:重复任务的自动化和简化流程可以提高效率和生产力。这使员工能够专注于更具战略性和增值性的活动。 2.增强的客户体验:数字化转…

荣耀X40 GT真机调试APP,HBuilder X刷新不到设备

今天使用荣耀X40GT进行真机调试App的时候,hbuilder怎么都刷不出来设备,经历一番风雨最终连接成功,特此记录一下。 我的设备Android版本12,MagicOS版本7.0,进行了如下配置: 1、打开“设置”-》“系统和更新”…

视频批量处理利器,轻松实现高效倒放功能

亲爱的视频编辑者们,您是否曾遇到需要将大量视频进行倒放处理的情况?但是手动一个个倒放操作繁琐又耗时,让您感到头疼?现在,我们为您推出一款全新的视频批量处理利器,让您的倒放操作变得轻松高效 第一步。…

深入源码分析kubernetes informer机制(四)DeltaFIFO

[阅读指南] 这是该系列第四篇 基于kubernetes 1.27 stage版本 为了方便阅读,后续所有代码均省略了错误处理及与关注逻辑无关的部分。 文章目录 client-go中的存储结构DeltaFIFOdelta索引 keyqueue push操作delta push 去重 queue pop操作 总结 client-go中的存储结构…

雷军的代码,成为金山火苗,WPS的逆风翻盘,却要靠工具

苦练内功 “雷军写代码”冲上热搜。 作为中国科技界的大佬,一直享有“雷布斯”的称谓。 早年的成长经历也激励着一批批年轻人,挥洒青春,艰苦奋斗。 雷军在今年的演讲上一张海报,让很多再次看到了雷军早年写的“代码”&#xf…

CRMEB商城系统:便捷、安全、多样化的购物方式

商城系统是当今社会商业发展的重要组成部分,它以数字化、网络化的方式提供商品和服务。商城系统通过互联网技术,将商品和消费者紧密连接,方便了购物的流程和效率。 商城系统的特点之一是无国界化。传统实体商店通常受限于地理位置和时间&…

4.文件操作和IO

文章目录 1.认识文件1.1树型结构组织 和 目录1.2文件路径(Path)1.3其他知识 2.Java 中操作文件2.1File 概述2.1.1属性2.1.2构造方法2.1.3方法 2.2代码示例2.2.1示例1-get 系列的特点和差异2.2.2示例2-普通文件的创建、删除2.2.3示例3-普通文件的删除2.2.…

解决“ug12.0许可证错误-97”问题

解决“UG12.0许可证错误-97”问题的具体如下: 1、以管理员的身份打开UG许可证文件"lmtools",先点击"Config Services",再点击下图中箭头指向的”Browse"按钮。 2、进入“D:\PRogram Files\UGS\UGSLicensing”文件夹…