安全研究人员发现,受底层算法漏洞的影响,大量用于身份验证的硬件证书设备(U盾,加密狗,令牌、智能卡等)等收到影响,可能包括使用英飞凌制造的SLE78以及nfineon Optiga Trust M和Infineon Optiga TPM的后续微控制器等的此类设备。研究人员已经确认,YubiKey 5硬件令牌设备收到该漏洞影响,漏洞源于老版本的固件底层使用了英飞凌加密库。
YubiKey 5 是基于 FIDO 标准的双因素身份验证中使用最广泛的硬件令牌,它包含一个加密缺陷,当攻击者临时物理访问该设备时,该缺陷会使手指大小的设备容易受到克隆。
这次发现的加密算法漏洞为侧通道漏洞,存在于大量其他身份验证设备中使用的小型微控制器中,包括银行、电子护照和安全区域访问中使用的智能卡。研究人员表示使用上述提到的三个微控制器以及英飞凌加密库中任何一个的任何设备都包含相同的漏洞。
无法解决YubiKey制造商Yubico发布的消息称,经过专业的安全实验室NinjaLab对YubiKey 5系列进行的逆向工程并设计了克隆攻击的详细分析报告:所有运行5.7 版之前固件的YubiKey(5月发布并用自定义加密库取代了英飞凌加密库)都容易受到攻击。
但是不幸的是,YubiKey上的密钥固件设计之初是无法更新。所以这些YubiKey永远会受到影响。
如果使用者依赖这种固件(虫虫也有一个,但是不是依赖),而且是安全级别比较高的用途,则必须重新购买新的YubiKey盾。
通报证实:“攻击者可以利用此问题作为复杂且有针对性的攻击的一部分来恢复受影响的私钥。”“攻击者需要实际拥有YubiKey、安全密钥或YubiHSM、了解其想要攻击的账户以及专用设备来执行必要的攻击。
根据使用案例攻击者可能还需要一些其他信息包括用户名、PIN、帐户密码或身份验证密钥。”
侧通道攻击是基于一些非常规手段,比如固件物理特性中表现出来一些数据结果来进行攻击,例如设备的电磁辐射、光通量、声音信息、数据缓存或完成泄露密码秘密的任务所需的时间。比如针对时间信息规律信息,侧通道用过模求逆的数学计算期间所花费的时间量。
英飞凌加密库未能实现称为恒定时间的常见侧通道防御,因为它执行涉及椭圆曲线数字签名算法的模块化反转操作。
恒定时间需要确保所有不同的执行过程中敏感的加密操作时间是统一的(或者完全随机的),而跟特定的加密的密钥或者加密数据信息完全没有有任何的相关性(线性的或者非线性的)。
漏洞根据披露信息显示,该漏洞的侧通道位于英飞凌扩展欧几里得算法的实现中,该算法是一种用于计算模逆的方法。通过使用示波器测量令牌自我验证时的电磁辐射,研究人员可以检测微小的执行时间差异,从而揭示令牌的临时ECDSA密钥(也称为随机数)。进一步的分析后,研究人员能够提取支撑Ukey整体安全性的秘密ECDSA密钥。
在目前的工作中,NinjaLab在制造商的任何安全微控制器系列上的英飞凌9的ECDSA实现中发现了一个新的侧通道漏洞。该漏洞存在于ECDSA临时密钥(或随机数)模块化反转中,更准确地说,存在于英飞凌实施的扩展欧几里得算法(简称EEA)。据悉是EEA的实现首次被证明容易受到旁道分析(与EEA二进制版本相反)。通过实际实验证明了该漏洞的利用,发现只需访问设备几分钟,然后通过离线阶段安全人员花了大约24小时;
如果攻击开发方面有更多的工程工作,则需要不到一小时的时间。
通过对Feitian 10开放式JavaCard智能卡进行旁道分析,对英飞凌的实现进行了长时间的了解后,在YubiKey 5Ci(Yubico的FIDO硬件令牌)上测试了该攻击。所有YubiKey 5系列(2024年5月6日固件更新5.7 11之前)均受到该攻击的影响。
事实上,所有依赖在英飞凌安全微控制器上运行的英飞凌加密库ECDSA的产品都会受到该攻击的影响。2010年到2024年,估计该漏洞在英飞凌顶级安全芯片中存在超过14年。从这些芯片和密码库的易受攻击部分经历了大约80次AVA VAN 4(针对TPM)或AVA VAN 5(针对其他)级别的CC认证评估(以及略少于30次的证书维护)。
这个加密库是高度机密的(即使它的API也是秘密的,需要与Infineon签署NDA 才能知道API)。除了英飞凌之外,没有人知道加密库的详细信息,尤其是其对策选择。
该加密库与许多其他加密库一样,实现了ECDSA(FIDO的核心加密功能,但也用于许多不同的应用程序/协议)。ECDSA方案内部有多个子函数调用,其中之一是ECDSA临时密钥的模块化反转。这是一项非常敏感的操作:任何有关ECDSA临时密钥的信息泄露最终都会泄露ECDSA秘密密钥。
在英飞凌密码库中,模块化反转不是恒定时间:不同的临时密钥将导致不同的反转执行时间。当获取运行该功能的芯片的电磁辐射时,可以提取整个反演计算过程中执行时间的微小差异。这些小的定时泄漏使我们能够提取临时密钥,然后提取秘密密钥。
这些攻击需要价值约11,000美元的设备以及对电气和密码工程的深入了解。攻击的难度意味着它可能只能由国家或具有相当资源的其他实体进行,并且只能在针对性很强的情况下进行。尽管攻击在野外广泛使用的可能性极低,同时,其广泛用途的双因素身份验证和一次性密码功能不会受到影响,因为它们不使用库中易受攻击的部分。
NinjaLab的报告概述了克隆攻击的完整流程:
攻击者窃取受FIDO保护的受害者应用程序帐户的登录名和密码(例如,通过网络钓鱼攻击)。
攻击者在有限的时间内物理访问受害者的设备,而受害者却没有注意到。
由于被盗受害者的登录名和密码(对于给定的应用程序帐户),攻击者在执行旁道测量时会根据需要多次向设备发送身份验证请求。
攻击者悄悄地将FIDO设备还给受害者。
攻击者对测量结果执行旁道攻击,并成功提取链接到受害者应用程序帐户的 ECDSA 私钥。
攻击者可以在没有FIDO设备且受害者不知情的情况下登录受害者的应用程序帐户。换句话说,攻击者为受害者的应用程序帐户创建了FIDO设备的克隆。只要合法用户不撤销其身份验证凭据,此克隆就会授予对应用程序帐户的访问权限。
然而,该清单忽略了一个关键步骤,即拆解YubiKey并暴露内部的逻辑板。这需要去除其塑料钥匙外壳并暴露逻辑板的部分来完成的,该逻辑板充当存储加密秘密的安全元件。从那里,攻击者可以将芯片连接到硬件和软件,这些硬件和软件在使用密钥来验证现有帐户时进行测试。
测试完成后,攻击者会将芯片密封在新的外壳中并将其返回给受害者。
这些攻击违反FIDO兼容密钥的基本保证,即它们存储的秘密加密材料无法被任何其他设备读取或复制。这种保证至关重要,因为FIDO密钥用于各种安全关键环境,例如军事和企业网络中的环境。
也就是说,符合FIDO的身份验证是最可靠的身份验证形式之一,不易受到凭证网络钓鱼或中间对手攻击。只要密钥不落入技术精湛、装备精良的攻击者手中,它就仍然是最强大的身份验证形式之一。还值得注意的是,克隆令牌只是获得对帐户或设备的未经授权的访问所需的两个主要步骤之一。攻击者还必须获取用于第一个身份验证因素的用户密码。这些要求意味着物理密钥仍然是最安全的身份验证方法之一。
为了发现侧通道,研究人员对英飞凌密码库进行了逆向工程,这是一个经过严格强化的代码集合,制造商煞费苦心地保密。该库的详细描述可能会引起密码学研究人员分析它在其他安全设备中如何工作的浓厚兴趣。
另外:YubiKey运行的固件版可通过使用Yubico Authenticator应用程序。主屏幕左上角显示钥匙的系列和型号。受影响的版本的YubiKey 5C NFC 版本 5.7.0以前版本,下面是虫虫,版本为5.2.7的key肯定受影响。
YubiKeys提供可选的用户身份验证保护,包括要求用户提供PIN码或指纹或面部扫描。为了使用这些附加措施对YubiKeys进行克隆攻击,攻击者还需要拥有用户验证因素。
另外,根据这个漏洞的潜在影响面,目前还不能确定,可能还有大量其他安全设备依赖于三个易受攻击的英飞凌安全模块并使用英飞凌加密库,截止发文时候英飞凌官方尚未发布任何建议,也没有回复要求提供建议的电子邮件。目前,也没有已知的CVE来跟踪该漏洞。