imKey 安全小课堂开课啦——答关于「Kraken 安全实验室发布 Trezor 安全漏洞」的咨询

哈喽~ 各位 imKey 的小伙伴们!imKey 安全小课堂开课啦!

近日,链闻发布了一篇关于硬件钱包安全的文章《Kraken 称 Trezor 硬件钱包可利用电压故障物理破解,Trezor 回应承认该漏洞 》,引起了广大小伙伴们关注。

链闻消息,Kraken 安全实验室发布文章表示,Trezor 的硬件钱包产品 Trezor One 和 Trezor Model T 存在明显缺陷,攻击者可利用该缺陷窃取钱包数据。Kraken 在其文章中表示,黑客可以通过 15 分钟物理访问设备的情况下利用电压故障从 Trezor One 和 Trezor Model T 硬件钱包中提取密钥。Kraken 首席安全官 Nick Percoco 表示,「该漏洞是 Trezor 硬件钱包中使用的微控制器固有的」,无法通过补丁修复。

image

由此,有些小伙伴们对硬件钱包的安全性产生了怀疑,并且向我们提出了询问「imKey是否也存在利用电压故障破解密钥的漏洞呀?」所以我们决定为小伙伴们进行一次深度的讲解,希望通过我们这次的讲解可以帮助大家更深入的了解 imKey 的安全机制,更好的保护自己的数字资产。

「小板凳已经准备就绪,开始上课啦 !」

Q: imKey 是否存在利用电压故障破解密钥的漏洞?

A:imKey 不存在类似安全漏洞

那么,为什么 imKey 不存在类似的安全漏洞呢:thinking: ? 敲黑板,画重点!!!

一、造成 Trezor 安全漏洞的根源:STM32F205 微控制器

STM32系列实现了一种称为读取保护或RDP的安全机制。由于ARM Cortex-M设备上唯一的非易失性存储是闪存,因此RDP值存储在闪存的特殊页面中,否则无法通过应用程序代码进行写入。RDP值由称为选项字节的微控制器配置位定义。对应于STM32器件上三个RDP级别的三个选项字节值。

RDP等级 选项字节值 行为
0 0xAA 完全访问SRAM和闪存
1个 除0xAA和0xCC以外的任何值 读取对SRAM的访问权限,对Flash无访问权限
2 0xCC 无法访问SRAM或闪存

表1:STM32系列设备上的RDP级别和相应的选项字节值

由于STM32微控制器上唯一的非易失性存储器是闪存,因此它也是加密种子和私钥的唯一非易失性存储器,必须保护闪存不被读出。

Trezor One及其所有派生工具正确地使用了RDP功能,并在首次引导时随RDP一起提供和/或将RDP设置为RDP 2级(请参阅表1)。如果用户设备上的非开发固件始终处于RDP2(RDP级别2),这可防止攻击者访问SRAM或闪存。但是,相关实验研究证明,在启动时可以通过电压故障将RDP2降级为RDP1,一旦设备位于RDP1,就可以通过ARM SWD调试协议读取其SRAM,盗取用户私钥。具体可参见Kraken安全实验室发布的报告 Inside Kraken Security Labs: Flaw Found in Keepkey Crypto Hardware Wallet (Part 2)

Kraken 安全实验室研究表明, Trezor 等基于MCU(微控制单元)的硬件钱包其安全性不应仅基于STM32F205的安全性。

那么,如何是更优的安全解决方案?从银行系统 U盾等安全产品的成熟发展路径来看,安全芯片毫无疑问是更优的选择。

二、防电子攻击的解决方案:安全芯片

什么是安全芯片?

安全芯片就是可信任平台模块,是一个可独立进行密钥生成、加解密的装置,内部拥有独立的处理器和存储单元,可存储密钥和特征数据,为电脑提供加密和安全认证服务。用安全芯片进行加密,密钥被存储在硬件中,被窃的数据无法解密,从而保护商业隐私和数据安全

鉴于安全芯片的特性,可以用于身份识别、支付工具、加解密、信息存储等用途。

市场面上常见的比如银行金融IC卡、SIM卡、物联网的IOT芯片、ETC卡、医疗卡、社保卡等采用的皆是安全芯片的方案。故此,我们推荐采用带有安全芯片的硬件钱包。

三、imKey 防电子攻击的安全机制

imKey 硬件钱包的安全设计的核心便是采用的世界知名芯片公司英飞凌的 CC EAL 6 + 安全微控制器芯片,要知道目前在国防军事级别一般使用的是 CC EAL 6 +、CC EAL 7 +,这可以说市面上能够达到民用的最高级别的安全认证。

这款 CC EAL 6+ 安全芯片相比 MCU 有以下更显著的安全特性:

1、 双核 CPU,一个执行,一个安全检测;

2、 所有 CPU 寄存器具备掩码保护功能;

3、 所有NVM、RAM均被加密,且有专门的完整性验证保护;

4、 具备温度、电压、频率、光传感器以及专用保护网;

5、 具备DES、AES以及用于PKI运算的协处理器;

6、 真随机数发生器。

基于上述特性,可抵御的攻击有:

1、 对程序执行流程、各类存储器的错误注入攻击;

2、 对芯片进行加热、冷冻、剖片等的物理攻击;

3、 对 DES、AES、RSA 以及 ECC 的错误注入、DFA、SPA以及 SCA(侧信道攻击);

最重要的是,软件层只需要做少量的工作即可使整个产品抵御上述攻击,这里包括了防电子攻击。

imKey 提供世界领先的数字资产安全保障,硬件安全经过严格的用例测试,第三方安全设计,充分保护你的私钥安全,CC EAL 6+ 不仅是军事使用的安全级别,还意味着 imKey 安全芯片已通过 CC 安全认证的必要的测试和评估。

当然,安全芯片及其相关的评级和评估只是安全钱包的一个安全功能。有关 imkey 的安全的更多信息,我们将会在以后的文章介绍,也将持续为你答疑解惑。

如果你想了解更多有关于 imKey 的安全信息,欢迎发送至 support@imkey.im,我们的客服小姐姐将耐心的为你解答相关问题「配表情」

最后,本期小课堂就到这里啦,我们下节课再见~

PS:下一期的小课堂你想了解什么呢:thinking:

将你的想法发送至 imKey 微信公众号后台

入选的童鞋将会收到我们的开学礼品哦~

参考阅读

2 Likes