每年的 Defcon 黑客大会,参会者带走的不只是新漏洞和新技术,还有一枚精心设计的电子徽章——里面往往嵌着解谜、密码学挑战、隐藏彩蛋,甚至机械手表式的齿轮组。但今年这批徽章换了路数:真正的主角不是外观,而是硬件内部那颗芯片。

一颗”能看见内部”的芯片
Defcon 34 邀请硬件黑客界的传奇人物黄欣国(Andrew “bunnie” Huang)操刀徽章设计,其中搭载的是他自己设计的开源芯片 Baochip-1x。这颗芯片研发了三年,目标只有一个:让芯片的安全性可以被验证,而不是只能被相信。
黄欣国已经把 Baochip 的操作系统、固件、处理器核、加密引擎和输入输出系统的源码全部发布到 GitHub 上,供人检视和使用。更少见的是封装方式——传统芯片都被不透明塑料封死,电路无从查看;即便此前那些公开了设计和代码的开源芯片,制造环节仍是一个黑箱,用户只能相信生产过程中没有被塞进后门。Baochip 的封装允许红外光从硅片背面透过去,芯片内部结构因此可以被直接观察,并与公开的设计图纸逐一比对。大会现场,黄欣国计划演示这一手法,让参会者亲自在红外光下检查芯片。
“多年来我一直在做与信任、硅片和可验证性相关的事,”黄欣国对 WIRED 表示,”这是我一路走下来的故事线……想做出一颗能一路信任到最底层、信任到晶体管的芯片……你真的能看见芯片上的内存阵列。”
蹭一次流片,换来一颗开源芯
造一颗新芯片,光是流片就可能花掉数百万美元。转机出现在三年前:一家名为 Crossbar 的公司想做一颗开源的安全芯片,却不知从何入手,主动找上了黄欣国。他同意帮忙,条件是让他的 CPU 搭上对方的晶圆,两套设计共用同一次流片,而不必自掏腰包再跑一趟。
“在他们看来,把我放进这颗芯片里,等于一次流片拿到两个产品,”黄欣国说。他补充道,这种搭车做法在业内并不罕见,只是大家不太愿意公开讨论。
最终的成品是一颗同时集成了 Crossbar 处理器和他本人处理器的芯片。Baochip 本质上就是同一颗芯片,只是把 Crossbar 那颗微处理器关闭了——他并没有分发它的权利。Crossbar 版本使用的是专有的 ARM 核,而他的版本用的是实现开源的 RISC-V 核,指令集本身也是公开文档。两个版本共用底层基础设施与外设,只是启用不同的 CPU 核。
芯片上仍有闭源部分,主要是与台积电 22 纳米工艺相关的底层物理设计和制造要素。”但是……如果把开放程度看成一条光谱,这已经远远超过其他任何面向安全的芯片,”黄欣国说。
会后还能当安全钥匙用
以往 Defcon 徽章用的都是市面上买得到的通用芯片,这次改用定制开源硅片,起因是去年年底黄欣国与大会创办人 Jeff Moss 的一次交谈。他提到自己打算在今年夏天通过公司 Baochip 发布这颗芯片,而 Moss 意识到,这与本届大会”Agency”(自主权)的主题高度契合——Defcon 把它定义为增进自我决定权的技术选择。两人也看到了帮这颗芯片打开局面的机会:此前 Baochip 只在小范围开发版中分发过,这批 2.7 万枚徽章是它第一次大规模面世。
Moss 提了一个要求:徽章必须在会后还有用,不能变成抽屉里或垃圾填埋场里的废物。他长期不满于硬件安全令牌和加密钱包在硬件层面被攻破的现状,认为这颗芯片可能是更稳妥的替代品。
“我一直梦想着这样一件事:把你的秘密放进硬件,攻击者就算进来了,也拿不走它,”Moss 说。
徽章上可拆卸的核心模块能作为 FIDO 硬件安全令牌使用,软件层面支持基于时间的一次性密码和密码管理,还带一枚用于扫描二维码、把设备注册到认证系统的摄像头。为了配合大会的隐私规范和禁止偷拍的规定,这枚摄像头分辨率极低且是”近视眼”,芯片默认只取黑白数据,也不支持照片存储。”它非常擅长扫二维码,其他基本都干不好,”黄欣国说。
徽章并没有放弃社交属性。不同身份对应不同的灯效——普通参会者、演讲者、大会志愿者各有一套颜色和闪烁节奏,还有发给竞赛优胜者和特别嘉宾、可终身免费参会的黑色 Uber 徽章。每枚徽章从固定配色起步,与其他徽章通信后可以解锁更多颜色、组合出更复杂的闪烁图案。
安全性有多高
芯片运行一套用 Rust 编写的操作系统,具备安全启动、真随机数发生器,以及针对攻击的硬件加固特性。黄欣国认为它对远程的、非物理接触的攻击尤其有抵抗力。芯片还采用了阻变存储器(RRAM)这种非易失性存储,他说相比传统闪存,从物理层面提取其中的数据要困难得多——闪存”如果把它逐层剥到存储单元,你几乎能直接看见上面的 0 和 1″。
不过他对这颗芯片的安全能力保持克制。他估计它能扛住数万美元资源级别的攻击,但一个拥有数百万美元预算和成熟硬件分析实验室的对手很可能攻破它。”我确实认为它是目前能拿到的最安全的芯片之一,但我也认为大多数芯片在安全性上都被过度宣传了。”
他反而乐见这批芯片被参会者拿去反复折腾。”我完全预料到会有人挖出零日漏洞,”他说,在 Defcon 上发布一颗可供检视的开源芯片,这本身就是设计的一部分。
硬件规格上,Baochip-1x 采用 350MHz 的 RISC-V 处理器,配 2MB 静态内存和 4MB 阻变存储器,另有 4 颗 700MHz 的 PicoRV32 核负责输入输出。黄欣国说,这样的配置”处在能跑 Linux 的边缘”。目前芯片已能运行 MicroPython,并提供 C 与 Rust 开发套件。它现在的角色相当于一把 YubiKey 式的安全令牌,未来则有望成为硬件安全模块,或者运行其他软件。
Defcon 34 将于 8 月在拉斯维加斯举行。
来源:WIRED,作者 Kim Zetter;会议信息参考 Defcon 官方网站
发表回复