知识卡片
把"互不信任"直接内置进架构本身,而不是依赖信任关系来保证安全
内容
Xenoservers项目一开始就假设顾客和资源提供商互不信任——顾客不能破坏提供商的机器,提供商也不能篡改顾客的工作,这和当时网格计算流行的”先建立复杂信任关系再共享资源”的思路完全相反。反直觉的地方在于:不信任反而是一种更强的安全特征,因为一旦把”互不信任”当作默认假设写进架构,需要被信任的组件数量就会被压缩到最少,安全性也就变成了架构的默认产物,而不必依赖持续维护的信任协议或人为的信任判断。这提示一个更通用的安全设计原则:与其花精力去论证”这个组件值得信任”,不如直接设计成”就算它不可信也不会造成破坏”,后者往往更省心,也更难被绕过。
参考来源
《架构之美》第7章《Xen和虚拟化之美》