即将到来的通用计算内战(2012)

2020-10-25 03:58:02

即使我们赢得了拥有和控制我们的计算机的权利,一个两难的问题仍然存在:所有者欠用户什么权利?

这场演讲于8月在谷歌发表,并于2012年7月在Long Now基金会发表。下面是笔记的文字记录。

2011年底,我在柏林的28C3大会上做了一次演讲,题目是“即将到来的通用计算之战”(The Coming War on General Purpose Computing";

·计算机和互联网无处不在,世界越来越多地由它们构成。

·我们过去有不同类别的设备:洗衣机、录像机、手机、汽车,但现在我们只有不同情况下的电脑。例如,现代汽车是我们放在身体里的电脑,波音747是会飞的Solaris盒子,而助听器和起搏器是我们放在身体里的电脑。

·这意味着,我们未来所有的社会政治问题都会有一台电脑--一个想成为监管者的人会说这样的话:

这就是说:给我做一台通用计算机,它能运行除一个让我抓狂的程序之外的所有程序。

但是有一个问题。我们不知道如何制造一台可以运行我们能编译的所有程序的计算机,除了激怒监管机构、破坏商业模式或教唆犯罪分子之外。

我们对这类设备的最接近估计是一台装有间谍软件的计算机--如果你做了错事,这台计算机可以调停并说:“我不能让你这么做,戴夫。”

这样的计算机运行的程序被设计成对设备的所有者隐藏,并且所有者不能超越或杀死这些程序。换句话说:DRM。数字版权管理。

由于两个重要原因,这些计算机不是一个好主意。首先,他们解决不了问题。对于坏人来说,打破数字版权管理并不难。版权战争的教训是,DRM总是以近乎即时的方式被打破。

数字版权管理只有在我不能让你这么做的情况下才有效,戴夫计划是保密的。一旦世界上最老练的攻击者解开了这个秘密,其他所有人也都可以使用它。

确定您的计算机上有哪些软件是良好的计算机安全性的基础,除非您知道计算机上运行的是什么软件,否则您无法知道您的计算机的软件是否安全。

我不能让你这么做,戴夫,这样做会产生一个巨大的安全漏洞:任何劫持该设施的人都可以对你的电脑做一些你无法发现的事情。(译注:我不能让你这么做,戴夫)植入电脑会产生巨大的安全漏洞:任何劫持该设施的人都可以对你的电脑做一些你找不到的事情。

此外,一旦一个政府认为它已经解决了DRM的一个问题--它的所有固有弱点--就会产生一种反常的动机,使告诉人们可能破坏DRM的事情成为非法行为。

你知道,像DRM是如何工作的。或者这里是DRM中的一个缺陷,它可以让攻击者秘密地通过你的网络摄像头或通过你的麦克风收听。

在28C3之后,我从各个杰出的计算机科学家、技术专家、公民自由主义者和安全研究人员那里得到了很多反馈。在这些领域内,人们普遍认为,在其他条件不变的情况下,当计算机所有者能够控制在计算机上运行的软件时,计算机更安全,社会也更好地服务。

目前大多数计算机都安装了Trusted Platform Module。这是安装在主板上的安全协处理器。TPM的规范被公布,一个行业团体证明符合这些规范。

只要规范是好的(并且行业团体是勤奋的),就有可能合理地确定您的计算机中有一个真正的、功能性的、忠实地执行规范的TPM。

TPM的安全性如何?它包含秘密:加密密钥。但它也是安全的,因为它的设计是明显的篡改。如果您试图从TPM中提取密钥,或者从计算机中移除TPM并将其替换为骗人的TPM,这对计算机的所有者来说将是非常明显的。

对TPM的一个威胁是,骗子(或政府、警察部队或其他对手)可能会试图危害您的计算机-篡改证据是让您知道您的TPM何时被篡改的证据。

现在,一旦你的电脑以这种方式被攻破,你可能会有很大的麻烦。所有连接到计算机上的传感器-麦克风、摄像头、加速度计、指纹识别器、GPS-都可能在您不知情的情况下打开。把数据传给坏人了。

您计算机上的所有数据(敏感文件、存储的密码和Web历史记录)?它要么落到坏人手中,要么被抹去。

对您的计算机的所有击键--您的密码!--都可能会被记录下来。所有连接到您计算机上的外围设备-打印机、扫描仪、SCADA控制器、核磁共振机、3D打印机-都可能被秘密操作或微妙地更改。

想象一下,如果其他外围设备包括汽车或航空电子设备,会是什么样子。或者你的视神经,你的耳蜗,你的腿部残肢。

当您的计算机启动时,TPM可以要求引导加载程序提供其自身的签名哈希,并验证哈希上的签名是否来自信任方。一旦您信任引导加载程序能够忠实地执行其职责,您就可以要求它检查操作系统上的签名,一旦验证,操作系统就可以检查在其上运行的程序的签名。

这确保您知道您的计算机上正在运行哪些程序-并且任何秘密运行的程序都通过利用引导加载程序、操作系统或其他组件中的缺陷来管理该技巧,而不是因为在您的系统中插入了新的缺陷来创建对您隐藏东西的工具。

这总让我想起笛卡尔:他一开始就说,他分不清什么是真的,什么是假的,因为他不确定他是否真的存在。

他找到了一种方法来证明他的存在,并且他可以相信他的感官和他的推理能力。

在找到了可以站稳脚跟的一小块稳定的确定性后,他建立了一个逻辑的脚手架,并将其附着在上面,直到他建造了一座完整的大厦。

同样,TPM是稳定确定性的核心:如果它在那里,它可以可靠地通知您计算机上的代码。

现在,你可能会发现听到像我这样的人热情地谈论TPM是一件很奇怪的事情。毕竟,正是这些技术使得锁定手机、平板电脑、游戏机甚至一些个人电脑成为可能,这样它们就不能运行所有者选择的软件。

越狱通常意味着找到某种方法来击败TPM或类似TPM的技术。那么,我到底为什么要在我的计算机中安装TPM呢?

您的TPM附带了一组它信任的签名密钥,除非您的引导加载程序由TPM信任方签名,否则您无法运行它。此外,由于引导加载程序决定启动哪个操作系统,因此您无法控制计算机中的软件。

你告诉你的TPM你信任哪个签名密钥--比如Ubuntu、EFF、ACLU和Wikileaks--它就会告诉你在你的磁盘上找到的引导加载器是否已经由这些各方中的任何一方签名。它可以忠实地报告它找到的任何其他引导加载程序上的签名,并且它让您自己决定是否要信任上面的任何一个或全部。

大致来说,这两个场景与iOS和Android的工作方式相对应:iOS只允许您运行苹果批准的代码;Android允许您勾选框来运行任何您想要的代码。然而,关键的是,Android缺乏在开机前对软件进行一些加密工作的功能,无法告诉你你认为你将要运行的代码是否真的就是你将要运行的代码。

在这个世界里,我们正在讨论的计算机可以看到和听到你的声音,我们把身体插入其中,它们被外科手术植入我们体内,它们在哪里驾驶我们的飞机和汽车,确定性是一个重要的问题。

这就是为什么我喜欢TPM的想法,假设它是在确定性模式下实现的,而不是在锁定模式下实现的。

如果这一点不清楚,可以这样想:当政府和行业的控制狂人要求远程控制您的计算机的能力时,就会发生对通用计算的战争。

抵抗这种攻击的人也是控制狂--就像我一样--但他们碰巧相信设备所有者应该控制他们的计算机

控制需要知识。如果你想确保歌曲只能传输到iPod上,而不能从iPod上移出,iPod需要知道(它所连接的)PC给它的指令是从苹果批准的iTunes发出的。它需要知道它们不是来自模仿iTunes的东西,这样才能让iPod允许它访问这些文件。

如果你想确保我的PVR不会录制我刚刚付费的只看一次的视频点播电影,你需要能够确保接收视频的调谐器只会与制造商承诺在节目中使用请勿录制标志的经批准的设备通话。

如果我想确定你没有通过我的网络摄像头监视我,我需要知道驱动程序是什么,以及他们是否遵守当我的摄像头运行时小绿色活动灯总是亮着的惯例。

如果我想确保您没有通过我的键盘获取我的密码,我需要确保操作系统在显示我的系统上没有任何键盘记录程序时没有撒谎。

无论你想要自由,还是想要奴役,你都需要控制。为此,你需要这些知识。

这就是即将到来的通用计算之战。但现在我想调查一下如果我们赢了会发生什么。

我们可能会面临一个有趣的前景。我称之为即将到来的通用计算内战。

让我们规定,自由一方在通用计算战争中的胜利将导致计算机让它们的所有者知道在它们上面运行的是什么。计算机将忠实地报告它们找到的任何引导加载程序的散列和相关签名,控制计算机上运行的内容,并允许它们的所有者指定允许谁对其引导加载程序、操作系统等进行签名。

如果你的世界是由计算机组成的,那么设计一台超越其所有者决策的计算机就会对人权产生重大影响。今天,我们担心伊朗政府可能会要求对计算机进行进口控制,以便只有那些能够进行不可检测的监视的计算机才能在其境内运行。明天,我们可能会担心英国政府是否会要求英国国家医疗服务体系(NHS)资助的人工耳蜗植入物被设计成阻止接收极端主义语言,或者记录和报告这种语言,或者两者兼而有之。

首次销售原则是消费者法的一项重要内容。它说,一旦你买了东西,它就属于你,你应该有用它做任何你想做的事情的自由,即使这会损害卖家的收入。DRM的反对者喜欢这样的口号,你买了它,你就拥有了它。

财产权是一个令人难以置信的有力论据。这在美国更是如此,在美国,强有力的财产权执法被视为所有社会补救措施的基础。

硅谷的情况更是如此。在硅谷,如果一位自由意志主义者认为,国家的主要(或唯一合法)职能是强制执行产权和围绕政府的合同,那么在这里,你不可能不打击自由意志主义者。

这就是说,如果你想赢得一场书呆子之战,财产权是你武器库里的一件强大的武器。不只是书呆子打架!

这就是为什么抄袭者对知识产权这个术语如此敏感的原因。这个带有意识形态色彩的合成术语在20世纪70年代作为监管垄断的替代而流行起来,因为让国会帮助你监管你的财产要比让它们帮助执行你的垄断容易得多。

人权和财产权都要求计算机不能为政府、公司或其他外部机构的远程控制而设计。两者都确保允许所有者指定他们要运行的软件。自由选择他们将暂停其计算机安全的脚手架的确定性的核心。

请记住,安全性是相对的:如果您可以控制您的计算环境,您自由使用音乐的能力就不会受到攻击。然而,这侵蚀了音乐行业自己的安全性,即按使用向你收取某种形式的租金,为你购买的音乐支付租金。

如果你选择脚手架悬挂的核心,你就可以控制和保护自己免受攻击者的攻击。如果政府、RIAA或孟山都选择了核心,他们就会获得控制权和权力,以确保自己不受你的攻击。

在这种进退两难的情况下,我们知道自己站在哪一边。我们同意最低限度应该让业主知道和控制他们的电脑。

计算机的用户并不总是与计算机的所有者拥有相同的利益-而且,我们将越来越多地成为我们不拥有的计算机的用户。

你在哪里解决所有者和用户之间的冲突将是科技史上最有意义的意识形态问题之一。据我所知,要指导这些决定并没有简单的答案。

·如果这是我的电脑,我应该有绝对权利向任何想要使用它的人口述使用条款。如果你不喜欢,那就找别人的电脑来用。

这在实践中是如何运作的呢?通过初始化例程、篡改证据、法律和物理控制的某种组合。例如,当您第一次打开计算机时,您初始化了一个良好的秘密密码,该密码可能由您的私钥签名。

没有该密钥,任何人都不能更改您的计算机的TPM将从其接受引导加载程序的可信方列表。我们可以将为了引导设备所有者未批准的操作系统而颠覆此系统的行为定为非法。这样的法律将使间谍软件变得真正非法,甚至比现在更非法,还将禁止秘密安装DRM。

我们可以对TPM进行设计,这样如果你将其移除或篡改,它就会变得非常明显--例如,给它一个易碎的外壳,这在制造之后很难更换,所以对于电脑的所有者来说,很明显有人对设备进行了修改,可能会使它处于未知和不可信赖的状态。我们甚至可以锁定这个案子。

考虑一下自动驾驶汽车。当然,现在已经有很多这样的产品,都是由谷歌和其他公司设计的。这很容易理解,一方面,自动驾驶汽车是一个令人难以置信的伟大发展。我们是糟糕的司机,车把我们的屎都杀了。它是美国5-34岁人群的头号死因。

我被车撞了。我已经把一辆车撞坏了。我愿意规定,人类根本没有驾车的权利。

这也是很容易理解的,我们可能会对人们能够自制自己的汽车固件感到紧张。一方面,我们希望汽车的来源是开放的,因为我们想让它受到广泛的审查。另一方面,可以这样说,如果汽车使用只信任政府认证的固件的锁定引导加载程序,那么它们会更安全。

现在我们又回到你是否有权决定你的计算机在做什么的问题上。

首先,它不会奏效。随着版权战的爆发,固件锁对专门的攻击者来说并不是很有效。那些想要用定制固件散布混乱的人将能够做到这一点。

更重要的是,这不是一个好的安全方法:如果车辆安全模型依赖于所有其他车辆都表现良好,而意外情况永远不会出现,我们就死定了。

自动驾驶汽车在对待自己的行为时必须保守,而对他人行为的期望则必须自由。

这是你在第一天接受驾驶教育时得到的同样的建议,即使汽车是自动驾驶的,它仍然是很好的建议。

比方说,我们试图通过要求国家(或类似国家的实体)认证巡航其车道的设备的固件来保护我们的物理道路。我们如何制定一项政策来解决我们(同样重要的)比喻道路上的设备-PC、手机、平板电脑和其他设备的固件锁与之相当?

毕竟,通用网络意味着核磁共振成像、宇宙飞船和空中交通管制系统与来自珠江三角洲的垃圾邮件发送者出售的游戏机、与Arduino相连的放屁机器和狡猾的偷窥者摄像头共享这条信息高速公路。

这是一个棘手得多的问题。如果联邦航空局强制要求某个747的固件,它可能会想要这些747的设计,以便它和它单独控制它们的引导加载程序的签名密钥。同样,核管理委员会(Nuclear Regulatory Commission)将希望对反应堆堆的固件拥有最终决定权。

这可能是一个问题,原因与禁止修改汽车固件的原因相同:它确立了这样一种想法,即解决问题的好方法是让当局控制你的软件。

但可能飞机和核武器已经受到了如此严格的监管,以至于额外的一层监管不会泄露到日常生活的其他领域--核武器和飞机受到其行业独有的非同寻常的无通知检查和报告要求的约束。

其次,所有者控制有一个更大的问题:使用计算机但不拥有计算机的人怎么办?

总的来说,这不是IT行业很同情的一群人。

我们投入了大量精力来阻止无主用户无意中损坏他们正在使用的计算机、下载菜单栏、将他们在互联网上找到的随机垃圾键入终端、插入感染了恶意软件的U盘、安装插件或不可信的证书,或者在网络外围打洞。

精力也花在阻止用户故意做坏事上。他们安装键盘记录器和间谍软件来诱骗未来的用户,盗用机密,窥探网络流量,破坏他们的机器并禁用防火墙。

这里有一个对称性。部署DRM及其近亲的人认为您不能也不应该信任您在自己的计算机上设置策略。同样,IT系统是由计算机所有者部署的,他们认为不能信任计算机用户在他们使用的计算机上设置策略。

作为一名前系统管理员和首席信息官,我不会假装用户不是一个挑战。但是,我们有充分的理由将用户视为有权在他们不拥有的计算机上设置策略。

当我们要求所有者自由时,我们这样做的原因有很多,但一个重要的原因是,计算机程序员无法预料到他们的代码可能会遇到的所有意外情况-当计算机同意时,你可能仍然需要说不。

这是一个想法,业主拥有当地的情况意识,不能完美地捕捉到一系列嵌套的IF/THEN语句。

·弗里德里希·哈耶克(Friedrich Hayek)认为,专业知识是一种分散的东西,你更有可能发现做出良好决策所需的情境意识非常接近决策本身--权力下放比集中化能带来更好的结果。

·卡尔·马克思(Karl Max)相信工人对其工作环境主张的合法性,他说,劳动的贡献与资本的贡献同等重要,并要求将工人视为劳动环境的合法所有者。

.