原创

信息安全(三):侧信道攻击

温馨提示:
本文最后更新于 2026年02月16日,已超过 38 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

 

一、引言

想象一下这样的场景:

小偷没有撬开你的保险柜,也没有破解密码锁的算法,但他通过听锁芯转动的声音观察键盘的磨损痕迹测量开锁时间的长短,最终猜出了你的密码。

这就是侧信道攻击的本质——不攻击算法本身,而是攻击算法实现时产生的"副作用"。随着云计算、AI服务、IoT设备的普及,侧信道攻击已从实验室走向现实,成为信息安全领域最危险的威胁之一。

二、什么是侧信道攻击?

1.定义

侧信道攻击是一种通过分析密码系统物理实现过程中泄漏的信息(如时间、功耗、电磁辐射等)来推断敏感数据(如密钥)的攻击方法。

2.与传统攻击的对比

攻击类型

攻击目标

攻击方式

难度

传统密码攻击

算法数学结构

暴力破解、数学分析

极高

侧信道攻击

物理实现泄漏

信号采集、统计分析

中-高

三、功耗分析攻击

1.原理

加密芯片在执行不同运算时,功耗波形会有细微差异。攻击者通过高精度采集这些波形,结合统计分析,可以推断出正在处理的密钥位。

2.三种主要类型

类型

全称

原理

成功率

SPA

简单功耗分析

直接观察功耗波形识别操作模式

70-85%

DPA

差分功耗分析

统计分析多次操作的功耗差异

90-99%

CPA

相关功耗分析

使用相关性分析提高精度

95%+

3.典型目标

  • 智能卡(银行卡、身份证)
  • 加密芯片(HSM、TPM)
  • IoT设备
  • 硬件钱包(加密货币)

4.防御策略

  • 功耗均衡:使不同操作的功耗曲线一致
  • 噪声注入:添加随机噪声干扰信号采集
  • 掩码技术:对敏感数据添加随机掩码
  • 随机时钟:打乱操作时序

四、缓存攻击

1.原理

现代CPU使用缓存加速内存访问。攻击者通过监测缓存命中/失效模式,可以推断出受害者程序访问的内存地址,进而窃取密钥。

2.三种经典攻击技术

技术

原理

适用场景

Prime+Probe

填充缓存后探测访问模式

共享缓存环境

Flush+Reload

刷新缓存后重新加载监测

共享内存页

Evict+Time

驱逐缓存后测量时间差

远程攻击

3.典型目标

  • 云服务器(多租户环境)
  • 虚拟机
  • 浏览器(Spectre/Meltdown)
  • SGX可信执行环境

4.防御策略

  • 缓存分区:为不同租户分配独立缓存
  • 租户隔离:敏感计算独占物理主机
  • 缓存刷新:上下文切换时刷新缓存
  • 硬件改进:CPU厂商修复推测执行漏洞

五、时序攻击

1.原理

加密算法在不同输入下的执行时间存在差异。攻击者通过精确测量这些时间差,可以推断出密钥信息。

2.典型攻击场景

场景

原理

风险等级

密码比较

逐字节比较,匹配越多时间越长

4

RSA解密

不同密钥位导致不同执行路径

5

签名验证

验证失败时间早于成功

4

3.防御策略

  • 恒定时间算法:确保所有分支执行时间相同
  • 随机延迟:添加随机等待时间
  • 常量比较:密码比较使用常量时间函数

六、电磁攻击

1.原理

电子设备运行时会产生电磁辐射,这些辐射信号携带了设备内部运算的信息。攻击者使用天线和软件无线电设备捕获这些信号进行分析。

2.攻击参数

参数

范围

攻击频率

10MHz - 3GHz

攻击距离

几厘米至几米

设备成本

软件无线电(SDR) 1,000 - 10,000 元

3.典型目标

  • 手机
  • POS机
  • 路由器
  • 加密模块
  • 智能卡读卡器

4.防御策略

  • 电磁屏蔽:加装金属屏蔽罩
  • 数据混淆:打乱数据处理顺序
  • 噪声注入:添加随机噪声干扰
  • 物理隔离:限制设备访问距离

七、网络流量分析

1.原理

即使通信内容被加密,流量元数据(包大小、时序、序列模式)仍然可见。攻击者通过分析这些元数据,可以推断出敏感信息。

2.典型目标

  • AI聊天服务
  • 加密通信应用
  • 视频会议
  • 在线购物
  • 医疗数据传输

3.防御策略

  • 随机填充:添加随机数据使包大小一致
  • Tokens批处理:批量发送而非流式传输
  • 流量混淆:添加虚假流量干扰分析
  • 恒定速率:保持恒定传输速率

八、侧信道攻击防御

防御侧信道攻击需要构建四层纵深防御体系:在硬件层,采用功耗均衡、电磁屏蔽、随机时钟等物理防护技术,从源头减少信息泄漏;在软件层,使用恒定时间编程、掩码技术、安全加密库,确保代码不暴露时序和缓存特征;在系统层,通过虚拟机隔离、缓存分区、可信执行环境(TEE)等措施,防止多租户环境下的资源竞争攻击;在审计层,定期进行代码审查、漏洞扫描、渗透测试和合规检查,确保持续发现并修复潜在风险。只有软硬结合、多层联动、持续监控,才能有效抵御侧信道攻击,保障信息系统安全。

正文到此结束