从安全芯片的选型来看Keystone产品设计的三大原则

KeystoneCN
Jul 20, 2023

--

对于一款硬件钱包产品来说,安全芯片的选择毋庸讳言是产品设计中非常重要的一环。毕竟作为一款离线储存用户私钥的安全产品,如果选用的芯片供应商出现问题,那整个产品的安全性可以说就处在“地动山摇”的边缘了。哪怕 Keystone 选用的安全芯片供应商已经是业界知名的厂商,但我们在Keystone 3 设计的过程中也没有忽略供应商出现问题的可能性。

可能大家有所不知,避免“单点失败”其实是Keystone历代产品设计过程中一个非常核心的设计原则。

本篇文章就为大家阐述Keystone如何在安全芯片选型的这个过程中贯彻我们产品的三大设计原则

避免“单点失败”——3颗安全芯片

Keystone 3 Pro是目前唯一一种整合使用了三种不同安全芯片的硬件钱包:Microchip ATECC608BMaxim DS28S60,和 Maxim MAX32520。每个安全芯片在加强硬件钱包的安全性方面都扮演着独特的角色,共同确保用户的助记词和生物识别信息的安全。

Microchip ATECC608BMaxim DS28S60 是专门用来保护助记词。它们共同为设备上助记词的提供一个安全的储存环境,其中 ATECC608B 提供硬件级别的安全性和授权,DS28S60 确保受信任的平台模块(Trusted Platform Module, TPM)始终处在工作中。

至于 Maxim MAX32520 则是Keystone 3上第三块安全芯片,它对保护指纹数据起着至关重要的作用。他负责存储和验证经过加密后的指纹数据,整个验证过程都发生在 MCU中。 (PS:只有 Keystone 3 Pro 版具有指纹功能)。

这三块安全芯片都是行业内头部公司的产品,能够在各种攻击下保护用户的数据和信息安全,例如下面几种攻击类型:

旁路攻击(Side-Channel Attacks)

通过分析设备的物理行为,如能耗和电磁辐射,来暴露设备的敏感信息,这种方式被称为旁路攻击。安全芯片通过一系列特殊的设计,旨在减少侧通道信息的泄露。像改变执行时间和执行随机掩蔽操作,这样的方式可以打乱由功耗或电磁排放泄露出的敏感信息。

功率分析攻击 (Power Analysis Attacks)

功率分析攻击试图通过在交易签名过程中读取功率消耗的变化来暴露私钥。安全芯片通过混淆操作和使用混合电路布局来降低这种风险,这使得通过功率分析恢复密钥几乎成为不可能。

冷启动攻击 (Cold Boot Attacks)

这种方式是通过利用设备在关闭后短暂时间内的内存残留来进行攻击。安全芯片通过内置模块来对抗这种威胁,这些模块可以检测到环境的突然变化,比如温度的下降,这会触发立即重置和擦除RAM。

故障攻击 (Fault Attacks)

故障攻击试图通过强制设备功能出错来提取本应安全的信息。安全元件具有内置的电压和频率异常检测模块,以保护它们免受过高电压供应或时钟频率的影响。在出现可疑活动的情况下,闪存会自动擦除,以确保私钥和其他敏感信息的安全。

攻击成本最大化 — — 独特的安全设计和随机生成助记词

除了独一无二的三块安全芯片,Keystone 3 还整合了 PCI 级别的防拆v 功能,拥有一个复杂的 “安全屋” (Security house)电路包围着核心 IC 和 SE 芯片。任何物理攻击都会导致数据清除。在接下来的几周里,我们将发布一篇深入探讨这个话题的博客。

除此之外,Keystone团队在助记词生成过程中投入了大量的精力,特别是在确保随机性这一点上,因为任何随机性的缺失都可能导致安全漏洞。为了避免单点故障并增强随机性,Keystone 3 利用了两块不同的安全芯片(Microchip ATECC608B 和 Maxim DS28S60)来生成随机数,这些随机数随后被组合到一起用来生产助记词。

用户的助记词通过他们的密码进行加密,并分别安全地保存在两个安全芯片中。用于加密的密钥是由两个安全元件派生出来的,而不是用户的直接密码。这个密钥的一部分是通过 Microchip ATECC608B 利用 KDF 函数生成的。第二部分是存储在 Maxim DS28S60 上的一个随机数。

只有当两块安全芯片都被破解,攻击者才可能提取出助记词。

此外,对安全芯片(SE)存有疑虑的用户可以选择通过掷骰子来手动生成他们的助记词。他们还可以选择手动确认第11个或第23个单词,并让 Keystone设备计算他们的第12个或第24个校验字。然而,我们建议只有那些完全了解自己行为的经验丰富的用户才使用骰子生成助记词功能。

信任最小化——完全开源及可验证性

众所周知,从上一代产品开始,Keystone 就因其对透明度和开源实践的执着而在行业中享有一定的美誉。我们目前正在与 SlowMist 和 KeyLabs 合作,仔细审查 Keystone 3 从软件到硬件设计上的每一环节。我们的目标是在10月中旬前将所有的固件代码开源,使得任何人都可以重构我们的固件,并独立评估Keystone 3的安全性。这种 “Don’t Trust, verify it.” 理念体现了我们一直以来我们在透明度和安全上的承诺。

尽管由于安全芯片供应商有相关的知识产权要求,我们没有办法开源安全芯片的相关设计。但我们仍强调“可验证性”,如在Secp256k1签名时nonce选择的具体过程,以及实现RFC6979的具体方式。由于我们把整个签名的过程完全放在硬件端,所以第三方或个人可以完全审计签名的结果。

最后

总的来说,Keystone 3 不仅继承了上一代产品所有的优点,而且还更进一步巩固了对其他竞品设计上的优势,三块安全芯片使得钱包的安全性得到了前所未有的加强。对于Keystone 来说单纯设计出一款优秀的硬件钱包不是我们的使命,我们的使命是帮助用户更好地保护手中的数字资产安全。

赶紧发推带上 #Keystone3Waitlist,来抢个早鸟位置。

--

--

KeystoneCN

此Medium是@KeystoneCN,用来保存长推文的仓库。@MetaMask 官方硬件钱包合作伙伴。Web3 安全首选!