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

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

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

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

好了,全文完 -- 才怪。

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

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

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

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

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

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


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

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

  • 时间攻击(Timing Attack)​​

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

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

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

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

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

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

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

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

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


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

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

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

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

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

好,这是真的全文完。

相关推荐
zyu677 小时前
03-Docker存储和网络
网络·docker·容器
Arciab8 小时前
51单片机_LCD1602液晶显示
网络·嵌入式硬件·51单片机
DX_水位流量监测10 小时前
大坝安全监测之渗流渗压位移监测设备技术解析
大数据·运维·服务器·网络·人工智能·安全
电商API&Tina10 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
童话的守望者10 小时前
dc8靶场通关
网络
寂寞恋上夜10 小时前
异步任务怎么设计:轮询/WebSocket/回调(附PRD写法)
网络·人工智能·websocket·网络协议·markdown转xmind·deepseek思维导图
Tao____10 小时前
基于Ruoyi开发的IOT物联网平台
java·网络·物联网·mqtt·网络协议
chao_66666612 小时前
解决 PowerShell 中文乱码问题
网络·学习·powershell
喵了meme12 小时前
Linux学习日记24:Linux网络编程基础
linux·网络·学习
Yan-英杰13 小时前
BoostKit OmniAdaptor 源码深度解析
网络·人工智能·网络协议·tcp/ip·http