安全芯片的侧信道分析

电磁侧信道攻击与公开研究揭示的认证硬件安全边界。

本文有以下語言版本:

Author logo
Patrick Dike-Ndulue
Post image

大多数硬件安全失效都发生在芯片层面,包括固件、供应链、配套软件或用户行为。在绝大多数已记录的事件中,安全芯片(Secure Element)通常是被绕过,而不是被直接攻破。本系列前几篇文章对此进行了详细论述。
 

但实际上,芯片本身也曾被攻破。我们发现有直接物理攻击安全芯片的公开记录。这些攻击针对芯片自身的密码运算,提取密钥,即使芯片具备专门设计的硬件防护,也未能阻止攻击成功。
 

本文梳理了电磁侧信道研究领域最具代表性的案例。
 

什么是电磁侧信道攻击?

电磁侧信道攻击是一种通过监测芯片在执行密码运算时的无线电辐射,推测其所用密钥的技术手段。
 

这种攻击利用了这样一个事实:物理芯片在进行密码操作时,会通过可观测的物理现象(如功耗、时序变化、电磁辐射)泄露与正在处理的密钥相关的信息。

在理想的常数时间密码算法中,所有操作无论输入数据如何,耗时与功耗都完全一致。这是抵御时序与功耗侧信道的标准防护措施。制造商必须让信号表现一致,避免泄露任何可观测差异。

难点在于,要让整个密码实现真正做到常数时间非常困难,微小的偏差很容易被引入且难以察觉。
 

安全芯片侧信道分析案例


案例一:NXP A700X / Google Titan 安全密钥

电磁侧信道  ·  NinjaLab  ·  USENIX Security 2021  ·  CVE-2021-3011

NXP A700X 是NXP半导体P5x系列中的一款安全芯片,该系列广泛应用于银行智能卡、身份证件和硬件认证令牌。A700X芯片被用于Google Titan Security Key,即Google用于账户保护和FIDO U2F认证的硬件双重认证令牌。该芯片同样见于Yubico的YubiKey NEO和Feitian的认证产品。
 

芯片的主要任务是在设备注册时生成并存储私有ECDSA密钥,并用该密钥签名认证挑战。FIDO U2F协议明确要求私钥永不离开设备,且不存在合法的导出接口。
 

攻击执行过程

为在无源代码的情况下理解NXP的ECDSA实现,研究人员首先使用了NXP J3D081——这是一款开源JavaCard平台,采用与A700X相同的密码库。

他们对J3D081上的算法结构进行了逆向分析,获得了定位A700X芯片易受攻击计算环节所需的参考数据。
 

物理准备:使用热风枪和手术刀去除Titan外壳,暴露NXP A700X芯片。EM探针紧贴芯片表面放置。整个过程中设备保持正常工作,无需永久性改动。
 

数据采集:通过向Titan发送认证挑战,触发约6000次ECDSA签名操作,每次操作记录一条EM轨迹。全部采集过程约耗时6小时。
 

密钥恢复:离线处理EM轨迹,利用基于格的密钥恢复算法成功提取出ECDSA私钥。随后,研究人员利用恢复的密钥制作了可模拟物理Titan的克隆软件,可用于任何已注册账户的认证。
 

所用设备:Langer近场EM探针、Thorlabs三轴微操控器、Pico Technology PicoScope示波器。总设备成本约为13,000美元。
 

物理访问需求:需要数小时操作时间,需拆开Titan外壳,留下可见痕迹。设备本身仍可正常使用,甚至可归还受害者。
 

该攻击揭示了什么

NXP A700X案例是从专为防止密钥泄露设计的芯片中,直接成功提取私钥的实例。FIDO U2F协议“私钥永不离开设备”的安全保证被芯片物理实现泄露的信息所攻破。

NXP P5x系列曾获得CC认证,最后一次评估在2015年。此次攻击对当前硬件的影响有限,但对理解CC认证可能遗漏的风险具有重要参考价值。
 


案例二:Infineon SLE78 / EUCLEAK(YubiKey 5系列)

电磁侧信道  ·  NinjaLab  ·  CHES 2024  ·  CVE-2024-45678

Infineon SLE78是全球部署最广泛的安全芯片系列之一。它是YubiKey 5系列(全球最流行的硬件安全密钥)中的核心芯片,同时还广泛应用于:

  • 电子护照,
  • 银行智能卡,
  • 汽车钥匙系统,
  • 物联网认证基础设施,
  • 加密货币硬件钱包。

SLE78获得了CC EAL6+认证,这是商用领域可获得的第二高安全级别,也是高安全需求行业的标准。该芯片在不同产品配置下共通过了约80次CC评估。

Infineon的密码库为专有实现,已编译进芯片固件,未公开文档。
 

漏洞发现:开放平台方法

NinjaLab的Thomas Roche借鉴2021年Google Titan研究的方法,首先研究了Feitian——一种基于相似Infineon SLE78芯片、采用与YubiKey 5相同密码库的开放可编程平台。

在Feitian平台上确认漏洞后,Roche转向实际的YubiKey 5Ci设备。

  • 物理准备:打开YubiKey外壳,将EM探针靠近SLE78芯片表面。设备保持可用。

  • 数据采集:在执行ECDSA签名操作时采集EM轨迹,这与每次YubiKey认证时的操作一致。

  • 密钥恢复:每条轨迹捕捉了模逆运算过程中的EM信号。利用基于格的算法成功恢复了ECDSA私钥。

  • 设备成本:约10,000欧元,包括用于离线处理的笔记本电脑。

  • 物理访问窗口:几分钟即可完成所需EM数据采集,离线处理则不再需要物理接触。

该研究揭示了什么

这意味着YubiKey可被克隆。具备临时物理访问权限、专业探针设备和离线计算能力的高级攻击者,可以制作出生成有效认证响应的软件副本,适用于YubiKey已注册的任何账户。

评估方法可能未包含足够灵敏的EM测量设备,CC EAL评估人员也可能将分析重点放在签名流程的不同数学环节。

EUCLEAK是目前最直接的公开证据,表明CC EAL6+认证仅代表芯片在评估中针对已知技术和特定威胁模型进行了测试。
 

两起侧信道案例的启示

NXP A700X攻击与EUCLEAK共同构成了直接物理攻击安全及相关芯片的公开记录。两起案例针对不同厂商,采用相同技术,均取得成功。

芯片

攻击手法

年份

主要发现

    

NXP P5x系列(CC EAL4+)

EM侧信道(SCA)

2021

成功提取ECDSA私钥;FIDO令牌可被克隆且难以察觉。NXP ECC密码库的标量乘法未实现常数时间导致漏洞。

Infineon SLE78(CC EAL6+)

EM侧信道(通过EEA时序分析)

2024

从EAL6+认证芯片中提取ECDSA私钥。该漏洞在14年及约80次CC评估中未被发现。

 

这正是安全芯片设计的根本挑战:密码算法本身正确还远远不够,实现必须常数时间、具备充分屏蔽,并能抵抗侧信道分析。

结论

本文所述的两起攻击都要求研究人员能在数分钟或数小时内实际接触目标设备,使用价值1万至1.3万欧元的专业实验室设备,并具备电磁侧信道分析与格密码分析的专家级知识。这些攻击无法远程实施,且不会对设备造成明显损坏。
 

对于普通硬件钱包用户而言,你面临的现实威胁并非拥有Langer探针和信号处理套件的国家级实验室,而是网络钓鱼、社交工程、恶意软件和助记词存储被攻破。

 

主要参考资料

案例一 — NXP A700X / Google Titan:

案例二 — Infineon SLE78 / EUCLEAK:

Author logo
作者 Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
經審核 Rukkayah Jigam

Writer & editor covering digital assets and product updates.