软件有签名哈希值等方法验证其完整性,但你如何能验证硬件,确保它们是可信赖的没有被纂改?著名硬件黑客黄欣国(andrew 'bunnie' huang)在上周末举行的混沌计算机俱乐部会议(36c3 )上讨论了这个问题。
数年前,黄欣国和朋友构建了开源笔记本电脑 novena,在此过程中他们意识到构建一个完全可信的开源硬件非常困难,即使你能制造自己的 cpu 和 ssd,你也无法确保它们是值得信任的,因为你没办法确保供应链的每一个环节你的硬件没有遭到纂改。甚至在产品送到客户手中前,送货的司机、海关的官员以及仓库的工人都可能接触硬件,有机会纂改硬件。
他的结论是开放硬件和闭源硬件的可信度没什么差别。软件有近乎完美的信任转移机制,比如验证哈希值,但硬件没办法采用这些方法。
他描述了构建可信任硬件的三个原则:复杂性是验证的敌人;不能只验证元件而要验证整个系统;赋权终端用户去验证和密封硬件。他和朋友发起了 betrusted 项目去实践这三个原则。
试用申请