你能信任你的電腦嗎?
作者:理查·史托曼你的電腦應該聽從誰的指令?大多數人認為他們的電腦應該聽從他們的,而不是聽從其他人的。大型媒體公司(包括電影公司和唱片公司),以及微軟和英特爾等電腦公司,正在計劃一項稱為「信任運算」的計畫,目的是讓你的電腦聽從他們的,而不是你。(微軟的這個方案版本被稱為 Palladium。)專有程式以前就包含過惡意功能,但這個計畫將使其普及化。
專有軟體從根本上意味著你無法控制它的運作;你無法研究原始碼,也無法修改它。聰明的商人找到利用他們的控制權來讓你處於劣勢的方法,這並不令人驚訝。微軟已經這樣做了好幾次:一個版本的 Windows 被設計成向微軟報告你硬碟上的所有軟體;最近 Windows Media Player 的一個「安全性」升級要求使用者同意新的限制。但微軟並非獨自如此:KaZaa 音樂分享軟體被設計成讓 KaZaa 的商業夥伴可以將你電腦的使用權出租給他們的客戶。這些惡意功能通常是秘密的,但即使你知道它們的存在,也很難移除它們,因為你沒有原始碼。
在過去,這些都是孤立事件。「信任運算」將使這種做法普及。「背叛運算」是一個更合適的名稱,因為該計畫旨在確保你的電腦會系統性地違抗你。事實上,它的設計目的是阻止你的電腦作為通用電腦運作。每個操作都可能需要明確的許可。
背叛運算的技術構想是,電腦包含一個數位加密和簽名裝置,而金鑰對你保密。專有程式將使用這個裝置來控制你可以執行哪些其他程式、你可以存取哪些文件或資料,以及你可以將哪些程式傳遞給它們。這些程式將透過網際網路不斷下載新的授權規則,並自動將這些規則強加於你的工作。如果你不允許你的電腦定期從網際網路取得新的規則,某些功能將自動停止運作。
當然,好萊塢和唱片公司計劃將背叛運算用於數位權利管理(DRM),以便下載的影片和音樂只能在指定的電腦上播放。分享將完全不可能,至少使用你從這些公司獲得的授權檔案是這樣。你們,大眾,應該同時擁有分享這些東西的自由和能力。(我預計會有人找到產生未加密版本的方法,並上傳和分享它們,所以 DRM 不會完全成功,但這不能成為該系統的藉口。)
讓分享變得不可能已經夠糟糕了,但情況變得更糟。有計劃將相同的設施用於電子郵件和文件——導致電子郵件在兩週後消失,或者文件只能在一家公司的電腦上閱讀。
想像一下,如果你收到老闆的電子郵件,告訴你做一些你認為有風險的事情;一個月後,當事情適得其反時,你無法使用該電子郵件來證明決定不是你的。「白紙黑字」無法保護你,當命令是用會消失的墨水寫成時。
想像一下,如果你收到老闆的電子郵件,說明一項非法或道德上令人髮指的政策,例如撕毀你公司的審計文件,或允許對你的國家構成危險的威脅向前推進。今天,你可以將此發送給記者並揭露該活動。有了背叛運算,記者將無法閱讀該文件;她的電腦會拒絕聽從她的指令。背叛運算成為腐敗的天堂。
Microsoft Word 等文書處理軟體可以在儲存文件時使用背叛運算,以確保沒有競爭對手的文書處理軟體可以閱讀它們。今天,我們必須透過費力的實驗來找出 Word 格式的秘密,以便讓自由文書處理軟體能夠閱讀 Word 文件。如果 Word 在儲存文件時使用背叛運算來加密文件,自由軟體社群將沒有機會開發軟體來閱讀它們——而且即使我們可以,這樣的程式甚至可能被《數位千禧年著作權法》所禁止。
使用背叛運算的程式將透過網際網路不斷下載新的授權規則,並自動將這些規則強加於你的工作。如果微軟或美國政府不喜歡你在文件中寫的內容,他們可以發布新的指示,告訴所有電腦拒絕讓任何人閱讀該文件。每台電腦在下載新的指示時都會服從。你的寫作將受到 1984 式的回溯性刪除。你可能自己也無法閱讀它。
你可能會認為你可以找出背叛運算應用程式會做的骯髒事,研究它們有多痛苦,並決定是否接受它們。即使你可以找出這些,接受這筆交易也是愚蠢的,但你甚至不能期望這筆交易保持不變。一旦你開始依賴使用該程式,你就會上癮,他們也知道這一點;然後他們就可以改變交易。有些應用程式會自動下載升級,這些升級會做一些不同的事情——而且他們不會給你選擇是否升級。
今天,你可以透過不使用專有軟體來避免受到限制。如果你執行 GNU/Linux 或其他自由作業系統,並且如果你避免在其上安裝專有應用程式,那麼你就可以掌控你的電腦所做的事情。如果一個自由程式有惡意功能,社群中的其他開發人員會將其移除,你可以使用修正後的版本。你也可以在非自由作業系統上執行自由應用程式和工具;這未能完全給你自由,但許多使用者這樣做。
背叛運算使自由作業系統和自由應用程式的存在面臨風險,因為你可能根本無法執行它們。某些版本的背叛運算會要求作業系統必須經過特定公司的特別授權。自由作業系統將無法安裝。某些版本的背叛運算會要求每個程式都必須經過作業系統開發人員的特別授權。你無法在這樣的系統上執行自由應用程式。如果你真的想出了方法,並告訴了別人,那可能構成犯罪。
已經有美國法律提案要求所有電腦都支援背叛運算,並禁止舊電腦連接網際網路。《CBDTPA》(我們稱之為「只消費別嘗試編程法案」)就是其中之一。但即使他們沒有在法律上強迫你轉換到背叛運算,接受它的壓力也可能非常巨大。今天,人們經常使用 Word 格式進行交流,儘管這會導致幾種類型的問題(請參閱「我們可以終止 Word 附件」)。如果只有背叛運算機器才能閱讀最新的 Word 文件,許多人會轉向它,如果他們僅從個人行為的角度來看待這種情況(接受或放棄)。為了反對背叛運算,我們必須團結起來,作為集體選擇來面對這種情況。
有關背叛運算的更多資訊,請參閱「信任運算」常見問題解答。
要阻止背叛運算,需要大量公民組織起來。我們需要你的幫助!請支持「設計瑕疵」,FSF 反對數位權利管理的運動。
後記
電腦安全領域以不同的方式使用「信任運算」這個詞——注意兩種含義之間的混淆。
GNU 計劃發行 GNU Privacy Guard,這是一個實作公開金鑰加密和數位簽名的程式,你可以使用它來發送安全且私密的電子郵件。探索 GPG 與背叛運算有何不同,並了解是什麼使一個有幫助而另一個如此危險,這是有意義的。
當有人使用 GPG 向你發送加密文件,而你使用 GPG 解碼它時,結果是一個未加密的文件,你可以閱讀、轉發、複製,甚至重新加密以安全地發送給其他人。背叛運算應用程式會讓你閱讀螢幕上的文字,但不讓你產生一個未加密的文件,你可以以其他方式使用。GPG 是一個自由軟體套件,它讓使用者可以使用安全功能;是他們使用它。背叛運算的設計目的是對使用者施加限制;是它使用他們。
背叛運算的支持者將他們的論述重點放在它的有益用途上。他們所說的通常是正確的,只是不重要。
像大多數硬體一樣,背叛運算硬體可以用於無害的目的。但是這些功能可以用其他方式實作,而無需背叛運算硬體。背叛運算為使用者帶來的主要區別是不良後果:操縱你的電腦來對付你。
他們說的是真的,我說的也是真的。將它們放在一起你會得到什麼?背叛運算是一個奪走我們自由的計畫,同時提供微小的利益來分散我們對將要失去的東西的注意力。
微軟將 Palladium 視為一種安全措施,並聲稱它可以防止病毒,但這種說法顯然是錯誤的。微軟研究院在 2002 年 10 月的一次簡報中指出,Palladium 的規格之一是現有的作業系統和應用程式將繼續執行;因此,病毒將繼續能夠做它們今天可以做的所有事情。
當微軟員工在提到與 Palladium 相關的「安全」時,他們的意思並不是我們通常所理解的那個詞:保護你的機器免受你不想要的東西的侵害。他們的意思是保護你機器上的資料副本,使其免受你以其他人不希望的方式存取。簡報中的一張投影片列出了 Palladium 可以用來保存的幾種類型的秘密,包括「第三方秘密」和「使用者秘密」——但它將「使用者秘密」放在引號中,認識到這在 Palladium 的背景下有點荒謬。
簡報頻繁使用其他我們經常與安全背景相關聯的術語,例如「攻擊」、「惡意程式碼」、「欺騙」,以及「信任」。它們都沒有通常的含義。「攻擊」並不意味著有人試圖傷害你,它意味著你試圖複製音樂。「惡意程式碼」意味著你安裝的程式碼,目的是做一些其他人不希望你的機器做的事情。「欺騙」並不意味著有人在愚弄你,它意味著你在愚弄 Palladium。等等。
Palladium 開發人員先前的聲明指出,基本前提是,無論是誰開發或收集資訊,都應該完全控制你如何使用它。這將代表對過去的道德和法律體系觀念的革命性顛覆,並創造一個前所未有的控制系統。這些系統的具體問題並非偶然;它們源於基本目標。這是我們必須拒絕的目標。
截至 2015 年,散播任何東西副本的主要方法是透過網際網路,特別是透過網路。如今,想要對世界實施 DRM 的公司希望透過與網路伺服器對話以取得副本的程式來強制執行它。這意味著他們決心控制你的瀏覽器以及你的作業系統。他們這樣做的方式是透過「遠端證明」——一種功能,你的電腦可以使用該功能向網路伺服器「證明」它正在執行的軟體,這樣你就無法偽裝它。它要證明的軟體將包括網路瀏覽器(以證明它實作了 DRM,並且不給你任何提取未加密資料的方法)、核心(以證明它不提供任何修補正在執行的瀏覽器的方法)、啟動軟體(以證明它不提供任何在啟動時修補核心的方法),以及任何其他與 DRM 公司對你的統治安全相關的事物。
在邪惡帝國統治下,你可以減少其對你有效權力的唯一裂縫是找到一種方法來隱藏或偽裝你正在做的事情。換句話說,你需要一種方法對帝國的秘密警察撒謊。「遠端證明」是一項計畫,旨在強迫你的電腦在公司網路伺服器詢問電腦你是否解放了它時,向其說實話。
截至 2015 年,背叛運算已在 PC 中以「信任平台模組」的形式實作;然而,由於實際原因,TPM 已被證明完全未能實現為遠端證明提供平台的目標,以驗證數位權利管理。因此,公司使用其他方法實作 DRM。目前,「信任平台模組」根本沒有用於 DRM,並且有理由認為將它們用於 DRM 是不可行的。具有諷刺意味的是,這意味著「信任平台模組」目前唯一的用途是無害的次要用途——例如,驗證是否有人偷偷地更改了電腦中的系統。
因此,我們得出結論,截至 2015 年可供 PC 使用的「信任平台模組」並不危險,並且沒有立即理由不將其包含在電腦中或在系統軟體中支援它。
這並不意味著一切都很順利。其他用於阻止電腦所有者更改其中軟體的硬體系統正在某些 ARM PC 以及可攜式電話、汽車、電視和其他裝置中的處理器中使用,這些系統與我們預期的完全一樣糟糕。
這也不意味著遠端證明不是一種威脅。如果有一天某個裝置成功實作了它,那將對使用者的自由構成嚴重威脅。目前的「信任平台模組」之所以無害,只是因為它在使遠端證明可行的嘗試中失敗了。我們絕不能認為未來所有的嘗試也會失敗。
截至 2022 年,TPM2,一個新的「信任平台模組」,確實支援遠端證明,並且可以支援 DRM。我在 2002 年警告過的威脅已經變得非常真實。
遠端證明實際上正在被「Google SafetyNet」(現在是「Play Integrity API」的一部分)使用,它驗證在監聽手機中運行的 Android 作業系統是否為 Google 官方版本。
這種惡意功能已經使得在 GrapheneOS 上無法運行某些銀行應用程式,GrapheneOS 是 Android 的修改版本,它消除了 Android 通常包含的一些(但不是全部)非自由軟體。
Android 的自由版本,例如 Replicant,肯定會遇到相同的障礙。如果你足夠重視你的自由,以至於安裝 Replicant,你可能也會拒絕容忍你的電腦上有任何非自由應用程式(無論是否為銀行應用程式)。然而,Google 窺探使用者是否修改了他們的作業系統,並以此為基礎來決定使用者可以用它做什麼,這是不公正的。
本文發表於《自由軟體,自由社會:理查·史托曼精選文集》。