跳到主内容
快讯直播
AI智模界
AI 词典

侧信道攻击:不看输出也能偷走秘密

一句话定义:侧信道攻击(Side-Channel Attack)指不正面破解算法,而是从系统运行时的“副产品”——响应时间、缓存命中与否、功耗、电磁辐射、声音——里反推出密钥或敏感数据。

打个比方

你要开一个保险箱。正面硬刚是猜密码、撬锁,这叫密码分析。侧信道走的是另一条路:你坐在旁边,看开锁师傅转盘转了多久、听内部弹子落下的声音、摸箱子外壳的温度。锁本身没被破,但它泄漏的信息已经把你送到终点。

程序也一样。它几乎不可能做到“无论数据是什么,表现都完全一致”。分支会走不同路径,循环会多转几圈,内存会读到不同的缓存行——这些差异就是泄漏。

三类典型信道

信道观察什么经典场景
时间响应耗时长短逐字符比较提前返回,靠计时猜密码
缓存命中/缺失的访问速度共享 CPU 上反推密钥表落在哪块缓存
功耗电流曲线波动智能卡加密时功耗随比特值起伏

拿第一类举个具体例子。有个函数逐字节比较用户输入和密钥,一发现不匹配就立刻返回。那么“第一个字节猜对了”的那次请求,会比“第一个字节就错”多花一点点时间。重复成千上万次做统计,就能一位一位把密钥还原出来——全程不需要知道函数内部长什么样。

和相邻概念的区别

  • 后门攻击(Backdoor Attack)是模型内部被植入触发行为;侧信道完全不碰模型,只看它的外在表现。
  • 成员推断攻击(Membership AI 词典:Inference">Inference)通常要读模型的输出概率;侧信道的前提正是不看输出。
  • 密码分析攻击的是数学,侧信道攻击的是实现。

对 AI 从业者意味着什么

在大模型推理服务里,时间成了新的泄漏面。生成每个 token 的耗时可能夹带着 prompt 长度、batch 组成等信息;前缀缓存(prefix cache)命中与否,理论上能让人推断“别的用户是不是发过同样的开头”。多租户共享 GPU 时,缓存和时序的共用让隔离变得更难。这个方向还在演进,具体威胁模型以官方安全文档和相关论文为准。

能做的事情有几件:安全比较用常量时间(constant-time)函数,别用遇到不同字节就提前返回的写法;错误返回和填充尽量统一耗时;对异常频繁的探测请求做限流;把缓存命中等内部状态留在服务端,别回传给客户端。

对普通人来说,密钥不只在“被复制”时丢,也可能在“被计时”时丢。浏览器和 CPU 厂商这些年一直在为这类问题打补丁,保持系统更新仍然是最省事的那道防线。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。