《3-11736-计时攻击防护策略.pdf》由会员分享,可在线阅读,更多相关《3-11736-计时攻击防护策略.pdf(25页珍藏版)》请在三个皮匠报告上搜索。
1、1黄显明 博士20230615计时攻击防护策略及其在安全芯片中的应用计时攻击防护策略及其在安全芯片中的应用Timing Attack Countermeasures and Its Application in Security Chips2Copyright Infineon Technologies AG 2023.All rights reserved.15 6月 2023计时攻击概述1计时攻击的防范策略2测试与验证3总结4演讲内容演讲内容3Copyright Infineon Technologies AG 2023.All rights reserved.15 6月 2023计时攻击
2、概述1计时攻击的防范策略2测试与验证3总结4演讲内容演讲内容4一个简单的心理实验一个简单的心理实验 要求测试人员随意地把$28和$10分别放入如下两口不同颜色的锅中$28$10$10$28 然后请测试人员根据他的实际放入情况进行一个简单运算:蓝锅内的金额*10+橙锅内的金额*7 最后请测试人员告诉他的计算结果是奇数还是偶数。计算结果足以判断每个锅中的金额吗?5实验分析实验分析实际上28 7+10 10=296计算结果是偶数 10 7+28 10=350计算结果也是偶数 通过观测测试人员计算时所花费的时间长短来进行判断,对一般人来说,计算28 7+10 10=296 一定要比计算10 7+28
3、10=350 需要花费更长的时间。通过分析运算时间就可以从侧面推断出隐藏的放入状态。6Copyright Infineon Technologies AG 2023.All rights reserved.15 6月 2023观测攻击观测攻击例如:功耗分析、计时攻击操纵攻击操纵攻击例如:物理修改,探测逻辑攻击逻辑攻击例如:协议误用,缓冲区溢出微芯片领域的攻击分类微芯片领域的攻击分类半侵入式攻击半侵入式攻击例如:激光错误注入,电源尖峰7Copyright Infineon Technologies AG 2023.All rights reserved.15 6月 2023 半导体世界里,微控制
4、器的功耗会随代码序列和处理的数据集而变化,通过功耗信息的采集,结合检查处理时间的差异,可以在不安全的系统中恢复出机密信息。业界称之为计时攻击。一个不安全的微控制器系统,表现出由于不安全的硬件或软件而导致的数据依赖性。可以区分出加法、乘法和乘幂运算,甚至较大的值也可以与较小的值区分开。如果不保证对特定值的测试以及程序代码中随后的依赖分支的安全,则会出现相同的问题。一个最简单的计时攻击的例子 电影中经常出现的按位破解密码的场景-在紧张的情况下,主角用笔记本连接到系统,然后出现刷密码的界面,然后滚动密码,然后看到从左到右,密码一个个被确定,最后到完全匹配正确。某个函数负责比较用户输入的密码和存放在系
5、统内密码是否相同,如果该函数是从第一位开始比较,发现不同就立即返回。那么通过计算返回的速度就知道了大概是哪一位开始不同的,密码破解复杂度会成千上万倍甚至百万千万倍的下降。最简单的防护策略是:“发现错误的时候并不立即返回,而是设一个标志位,直到完全比较完两个字符串再返回”。计时攻击概述计时攻击概述8Copyright Infineon Technologies AG 2023.All rights reserved.15 6月 2023一个最简单的计时攻击的例子一个最简单的计时攻击的例子PIN-VerifyGet PIN1.Digit ok?3.Digit ok?2.Digit ok?4.Dig
6、it ok?Return OKReturn FALSEYesYesYesYesNoNoNoNoPIN-VerifyGet PIN1.Digit ok?3.Digit ok?2.Digit ok?4.Digit ok?Return OKReturn FALSEYesYesYesYesNoNoNoNoSet DummyClear ERROR-FLAGSet ERROR-FLAGSet DummySet ERROR-FLAGSet DummySet ERROR-FLAGSet DummySet ERROR-FLAGERROR-FLAGset?YesNo9Copyright Infineon Tech