信息安全 -- 什么是侧信道攻击

在经典大盗影片中,我们常看到这样的场景:

一名黑衣大盗屏息凝神,手指轻旋保险箱的密码锁,耳贴金属门板,通过锁芯转动的细微"咔嗒"声判断密码组合。

这种看似夸张的手法,实则是现实中侧信道攻击(Side-Channel Attack)​的雏形------攻击者不直接破解密码算法,而是通过分析设备运行时泄漏的物理信号(如功耗、电磁波、时间差等)间接获取密钥等敏感资产。

好了,全文完 -- 才怪。

但是上面这个场景就是侧信道攻击的简化版。

所谓侧信道的侧,指的就是一些可以被测量或者收集的额外信息。

还是以盗贼旋转密码锁为例,不管是盗贼还是保险箱主人,打开保险箱都需要输入密码,而输入密码这个动作本身就会传递一些信息,例如旋转时发出的声音、不同数字摩擦的力度,这些可能都会作为被收集对象用于分析,最终得出正确的密码。

那回到芯片、计算机等电子设备来说,只要上电运行,就势必会产生不同热量、电磁波、功耗甚至声音等等。

图片来源:《密码实现安全形式化验证发展现状与展望》

那我们让加密软硬件运行时,同样会产生这样的信息,这些信息被收集来分析作为攻击手段,这就是侧信道攻击。


从以上我们可以看到,侧信道泄露的信息往往是执行动作本身无意识透露的信息,比如说有人正常走路,但另一个人通过他走路的动作、速度来推断他要准备干什么、甚至他的个性等。

所以,侧信道攻击就可以根据不同的物理信号进行分类,常见的有如下五类:

  • 时间攻击(Timing Attack)​​

时间攻击就是测量算法执行的时间差异。例如,RSA处理"模乘"与"模约简"等操作耗时不同,攻击者可通过时间差反推密钥。

  • ​功耗分析攻击(Power Analysis Attack)​​

​利用电路执行不同操作时功耗波动不同。例如,AES加密中处理不同数据的功耗差异可泄露密钥,​典型手段​包括简单功耗分析(SPA)直接观察波形特征,差分功耗分析(DPA)通过统计方法从噪声中提取信号。

  • ​电磁攻击(Electromagnetic Attack)​​

​芯片运行时会释放与数据处理相关的电磁辐射。攻击者使用探头远程捕捉信号,甚至隔墙实施攻击。

  • ​缓存攻击(Cache Attack)​​

​该攻击主要是利用共享缓存资源的时间差异推测敏感信息。例如,云计算中多个虚拟机共享缓存,攻击者通过监测缓存访问时间窃取数据

  • ​故障注入攻击(Fault Attack)​​

​通过人为制造电压波动、激光照射等方式干扰设备,诱导其输出错误信息以提取密钥或者绕过安全机制。


前面我们提到,由于侧信道本身不可避免(例如功耗、辐射),要想做好防护就必须专项治理。

  • 例如在密码软硬件运行时加入随机噪声或虚拟操作,掩盖信号中的规律性,增加攻击者获取信息的难度;

  • 在设计时尽可能考虑操作执行时间均匀;

  • 通过增加电磁屏蔽来减少电磁辐射。

侧信道攻击的概念就简单介绍到这,具体如何实现,我再研究研究和大家分享。

好,这是真的全文完。

相关推荐
搬码临时工9 分钟前
使用自定义固定公网URL地址远程访问公司内网OA办公系统,本地无需公网IP和专线让外网访问
网络·网络协议·tcp/ip
星马梦缘2 小时前
计算机网络6 第六章 应用层——解决“怎么发请求、怎么回响应”的问题(邮件整体传输流程)
网络·计算机网络·域名·ftp·dns·dhcp
@CLoudbays_Martin112 小时前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php
东哥说-MES|从入门到精通3 小时前
Mazak MTF 2025制造未来参观总结
大数据·网络·人工智能·制造·智能制造·数字化
sheepwjl4 小时前
《嵌入式硬件(三):串口通信》
网络·嵌入式硬件·网络协议·串口通信
Jayyih4 小时前
嵌入式系统学习DAY28(网络编程)
网络·学习·tcp/ip
dbdr09014 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习
日更嵌入式的打工仔6 小时前
PHY的自适应协商简析
网络·嵌入式硬件·自适应·phy
XXYBMOOO7 小时前
Qt UDP 通信类详解与实现
开发语言·网络·c++·qt·网络协议·ui·udp
Jayyih8 小时前
嵌入式系统学习Day29(tcp)
网络·学习·tcp/ip