打造可信硬件的三个原则
日期:2020-01-08 人气:1573
打造可信硬件的三个原则,我在这个问题上思考多年,总结出三条核心原则:
1. 复杂性是验证的敌人。缺乏散列、Merkel 可信树和数字签名等工具在开发人员和用户间转移信任,我们只能依赖自己的双眼评估硬件是否正确构造。使用工具和应用程序自动化验证不过是在迁移信任问题,因为无论工具自身能否经过验证,你都只能信任该验证工具的结果。所以,偏离肉眼查验越远,验证硬件的成本和难度就越高,呈指数型螺旋上升趋势。理想状态下,硬件要么是普通用户都能轻松验证,要么在社交网络二度以内的 “可信” 人脉技术帮助下加以验证。
2. 验证整个系统而不仅仅是组件。如果键盘和显示器有后门,验证 CPU 没什么用处。所以我们的检查范围应从用户界面一路涵盖到执行秘密计算的芯片。尽管 Keystone 和 OpenTitan 等开源安全芯片项目备受推崇,是可信硬件生态系统的重要组成部分,但单靠它们自身并不足以保护用户的隐私。
3. 让用户能够验证和封装自己的硬件。将验证和密钥生成委托给中心权威机构,会使用户暴露在各种供应链攻击面前。因此,终端用户要有足够的文档来查验自己的硬件是否正确构建。一旦经过验证且拿到密钥,还需封装硬件,以便用户无需每次设备离身之后都得再做一遍费时费力的重新验证过程。总的说来,封装越好,无需担心设备中秘密资料被实体抽出的时间也就越长。
不幸的是,第一条和第二条原则一起颠覆了我们对当今电子设备和计算机的预期。行业诞生之初,计算机制造商就一直在比拼谁往越来越小型的机器里塞入更多的功能,憋着劲儿增加计算机的复杂性。因此,我们实际上根本不可能验证现代硬件,无论开源还是闭源。相反,如果可信度是首要考虑,务必选取有限的功能集,围绕这些必需功能设计最小可行可验证产品。
您的观点