- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
让CPU消耗成为密码学安全的X光机;
目录
①一些需要提前了解的知识
②最初目的与成果
③一个大胆的想法以及付出的行动
④想法不太灵,验证一下吧!
⑤不死心,寻求更优秀的方案
⑥搞事情,是吧~~~
⑦再次踏上征程
⑧躺平吧,你没那种命!!!;
①一些需要提前了解的知识;
侧信道攻击的原理
侧信道攻击不是破解密码算法本身,而是通过观测实现算法时泄露出来的“物理或运行痕迹”比如时间、功耗、电磁波、缓存行为、声学或热量等,从这些信号中恢复秘密。
简单陈述:就是利用加密算法加解密时,使用密钥在某一段时间,某一段代码产生了某种信号的波动,这种波动与这个密钥每个字节的大小有相关性。通过统计来找到这种相关性,从而破解密码。;
举例:
?时间(Timing):操作执行时间随数据/密钥不同而变化。
?功耗/电磁(Power/EM):加密设备执行指令时的瞬时功耗或辐射与内部数据相关。
?缓存/微架构(Cache/Micro-arch):共享CPU缓存、分支预测等硬件状态泄露访存/控制流信息。
?处理器计数器/性能计数器(PMU):指令计数、分支错失等性能事件。
?声学/振动/热(Acoustic/Vibration/Thermal):CPU、键盘、机器运转产生的声音或温度模式。
?电源线耦合/TEMPEST类(侧面电磁泄露)。;
常见攻击方法
?观测/采集:对目标设备大量/精确采样(时间序列、功耗曲线、缓存命中/未命中)。
?预处理:去噪、对齐、分段、选择感兴趣点(POI)。
?泄露模型与统计分析:建立泄露模型(如某比特的汉明重量、某字节的S-box输出),然后用统计方法估计密钥。
?SPA(SimplePowerAnalysis):直接从单次或少量曲线中目测或简单分析得出信息。
?DPA(DifferentialPowerAnalysis):对大量曲线做统计差分以放大与密钥相关的微小差异。
?CPA(CorrelationPowerAnalysis):使用Pearson相关等把预测的泄露量(基于猜测密钥)与测量数据进行相关性检验。
?模板攻击/机器学习:事先建立“指纹(模板)”,或用ML/DL模型分类/回归以恢复密钥。;
中间值
u设计选择函数fPKguess要计算的量,它是把已知输入与密钥候选映射到会被泄露的“可观测实体”。
例:
在AES中,中间值常见的是S-box的输出(例如第一轮S-box输出),或加密过程某次内存索引值;
在RSA中,中间值可以是临时的乘积或私钥位决定的乘法/平方操作的操作标志。
u要点:选择的中间值必须直接或间接影响物理泄露(寄存器值、总线数据、分支决策、内存访问地址等)。;;
这里和中间值其实是一样的定义。
常见目标操作示例:
AESS-box输出(一个字节):v=SBOXPbyte⊕kbyte。这是CPA/DPA中经典逐字节攻击的选择函数。
AES的寄存器写入/T-table访问索引:v=index=Pbyte⊕kbyte(若查表直接使用索引作为地址访问)。;;
②最初目的与成果;
故事的开始,总是非常简单的,只是一个想脱离硬件做一个线上的模拟平台,让侧信道教学研究变得简单。
算法:AES、SM4、RSA、ECC、SM2、Dilithium,轨迹生成:
模拟使用算法中一段中间值函数产生更容易匹配攻击代码。
模拟轨迹构建流程:
第一步:生成基础功耗轨迹
第二步:生成算法操作时间线
第三步:叠加操作功耗到基础轨迹;
第一步:生成基础功耗轨迹
目的:创建代表芯片静态功耗的基线
方法:-生成长度为N(通常1000-2500点)的常数数组,值为基础功耗(如50mW)-根据enable_noise开关决定是否添加高斯白噪声-噪声标准差通常为2.0mW,模拟芯片的固有噪声
数学模型:
基础功耗轨迹定义为:
Pbase(t)=P0+N(0,σ2),t=1,2,…,L
其中:-P0为基础功耗常数(单位:mW)-N(0,σ2)为均值为0、标准差为σ的高斯白噪声-L为轨迹长度(
原创力文档


文档评论(0)