2022年8月6日 星期六

TPM2 + Windows 11 啟動個人電腦「淨化」與實名制

[10/12 刊載在 gnu.org 的英文版內容大致相同,但並非逐句翻譯: You, the Problem TPM2 Solves]

微軟要求電腦硬體必須支援 TPM2Google 強行推動 WEI蘋果早已施的 Private Access Tokens, 這三者即將改變 「電腦所有權」 的意義, 讓全球 (有求於雲端服務的) 電腦都乖乖接受三大作業系統公司的遠端控制。 而它們強大的控制力則共同依賴底層的一種技術: TPM2, 特別是其中 「禁止用戶取得的私鑰」 跟 PCR 這兩大關鍵。 (下詳) 簡單地說, TPM2 的真實功用並不是要讓電腦的安全性變得更值得用戶信任, 而是要迫使用戶必須透過 "remote attestation" 機制向遠端的軟體公司示誠, 證明自己的電腦上跑的是乾淨的、 可信任的原版 Windows/Android/Mac OS 作業系統, 從硬體開機的 UEFI secure boot 到作業系統驅動程式、 甚至各種系統服務都處在一個「乾淨可信任」的狀態, 使用者並沒有安裝任何 「企圖破解微軟或是Adobe等等各大廠產品」 的工具。

一、 效果

先講結論。 這種技術會造成以下的效果:

  1. 未來的雲端服務商 (例如提供 Office 365 的微軟、 提供 Acrobat/Illustrator/Photoshop 的 Adobe、 提供 OCI 的 Oracle、 ...) 可以嚴格要求訪客的電腦軟體配備, 而明確的要求 (禁止安裝哪些軟體、必須安裝哪些軟體) 則由第三方認證機構任意決定。
  2. 最有可能的第三方認證機構是作業系統提供者, 也就是這微軟、蘋果、google 這三家公司。 它們將會掌握全球電腦的最高控制權。
  3. 不只上述雲端服務商, 還有世界各國的學校、銀行、政府機關等等雲端服務提供者, 都會很樂意配合三大認證機構, 要求訪客必須取得認證。 因為他們多數會被三大公司的 「資訊安全/信任運算」 文宣說服, 而不理解這個機制的真實意義其實是讓雲端服務提供者免費幫助三大認證機構接收全球電腦的最高控制權。 這種騙局跟當初 「IE-only」 的網站犧牲自己的點閱率來幫助微軟促成壟斷有點像。
  4. 只要訪客想要用這些雲端服務, 就必須接受認證機構的遙控, 而遙控的力道等同於電腦被植入 rootkit。
  5. 這三大認證機構 (甚至是其他雲端服務提供者) 會比單一國家政府握有更遍及全球的強大權力。
  6. 讓自由軟體支援這些技術有幫助嗎? 這只是讓用戶多了一條可以被遠端遙控的管道。 但如果你修改該自由軟體的程式碼以便取回自主權, 那就無法通過第三方認證。
  7. 想要採用虛擬機、除錯器等等方式逆向工程取回電腦自主權, 這是數學上的不可能。 就像再怎麼厲害的高手也不可能破解好的加密演算法一樣。
  8. 如果拿生物界來比喻網路上的電腦, 未來網路環境上的電腦會趨相 「同質化」, 會跟生物多樣性 (biodiversity) 背道而馳。

二、 過程

更具體地說, 有兩個 (已經進行中、 看似合理無害的) 趨勢正在助長三大作業系統公司的控制力。

第一個趨勢是: 用電腦做任何事情都必須先用你的帳號連上雲端服務, 包含文書處理/修圖/修相片/查字典/語音輸入/自動翻譯/聽音樂/...等等。 作家尚未公開的小說草稿 突然被消失 你可以說這是言論管制國家特有的問題; 但是委內瑞拉所有繪圖軟體用戶 突然被告知 將無法繼續使用自己合法取得使用權的軟體, 這又該怎麼理解呢? 其實, 這兩件事對現代人共同的警告應該是: 不需要即時共筆合作的工作, 最好盡量用離線的軟體來完成, 以避免像是傀儡一樣隨時活在遠端軟體公司的掌控之中。

第二個趨勢是: 雲端帳號的存取權不只是靠密碼保護, 還要檢查硬體的 "身份證字號"。 檢查的方式不是詢問字號 (公鑰) 而是用密碼學的方式要求這一部電腦的 CPU 回答 (唯有它能用對應 「私鑰」 解答的) 謎題。 因為電腦所有權人被禁止存取自己的私鑰, 只能透過 TPM2 機制用它來回答謎題, 所以他無法把自己的身份證字號分享給親友, 甚至無法把它複製給自己開的虛擬機。 你可以說 TPM2 就像是電腦的 biometrics 生物辨識資料 一樣, 成為實名上網機制的基礎。

一旦這兩件事成為絕大多數人的日常, 接下來軟體公司就可以步步收網。

  1. 自由韌體 (例如 libreboot) 將無法獲得認證、 不被認為是「乾淨可信任」的。
  2. 虛擬機 (包含 full vm、 Windows container 跟 Linux container) 的啟動程序必須符合某些微軟規範才可以執行 (例如 Linux 必須採用獲得微軟簽章的 UEFI bootloader、 採用某些特定版本的 kernel、 並啟動某些 systemd 服務)。
  3. 只有微軟官方版本的 linux 以及少數大廠的 linux 可以獲得認證、 符合微軟「乾淨可信任」的標準。
  4. Windows store 將成為安裝應用軟體唯一的合法管道, 其中包含願意接受微軟政策指導的自由軟體。 其他來源的應用軟體一律禁止在 Windows 上面執行。

對多數人而言, 上述幾件事當中唯一有感的, 可能只有 「限從 WS 安裝」; 其他限制一來聽不太懂, 二來對電腦操作沒有直接影響, 所以會被主流媒體及資訊教育界忽略。 至於 「限從 WS 安裝」, 一開始或許會有一些抗議的聲音, 但是因為大家已經習慣手機上相同的限制 (play store、 appstore) 所以讓全世界接受這個限制可能也不需要很久的時間。

接下來上場的可能是 「數位遙控枷鎖」 類型的技術, 包含大家最熟悉的 著作權保護遊戲防弊遠距監考 等等。 這幾件事情有兩個共通特性: (1) 遠方的軟體公司不信任電腦用戶, 所以企圖從遠端入侵並且取得用戶電腦的全面主控權。 (2) 「大家一起被大公司控制比較公平」 這樣的論述可以說服一部分的群眾放棄對自身電腦的自主權。 對於那些拒絕把電腦自主權繳械、 拒絕讓遠端軟體公司遙控的用戶而言, 在過去, 他可以採用桌面側錄軟體、 遊戲外掛或是虛擬機等等軟體來盜版、 作弊或是暫時繞過不合理的規定以及避開官方軟體的 bug, 但是在 TPM2 + Windows 11 的環境底下, 這些用戶已經無法安裝這類軟體。 事實上諸如 DeCSSWindows Media Player DRMSony rootkit 之類的 「知名原廠惡意程式碼」 被白帽駭客揭發或破解的歷史事件, 在新的環境底下已經不可能發生。 因為虛擬機除錯器等等研發工具已經受到限制, 如果 Windows Store 裡面有類似軟體的話, 也是無法解開數位遙控枷鎖的閹割版。

順理成章的下一步是: 可以繞過 DRM 的應用軟體一律被從 WS 下架。 阻撓 windows telemetry。 保護用戶隱私的軟體也很可能被下架。 與微軟競爭的應用軟體當然也可以順便被下架。

Windows 管理員帳戶的權限將會日益限縮, Windows 電腦會越來越像沒有 root 的 android、 沒有越獄的 iPhone。 (是的, 目前微軟 Windows 比這兩者都還稍微多了一些自由。) 為了簡化 複雜的「乾淨可信任」 環境管理工作 (4.4節), 許多設定會消失, 直接以預設值取代, 所有人的 windows 環境趨向同質化。 在目前的電腦環境下, 很多時候可以 改用 Linux 開機來解決 Windows 下的問題; 但是當Windows 11和 TPM2 電腦成為主流之後, 就算 Linux 可以去修改 windows 的某些設定, Windows 也會因為偵測到異動而拒絕正常開機。

有些應用軟體 (例如 Office、 某些遊戲 DRM 的數位內容、 遠距考試軟體等等) 原本只能在Windows下執行。 未來因為 Windows 底下的 Linux subsystem 受到微軟的監管控制, 所以理論上這些軟體廠也可以推出 Linux 版。 這有助於微軟說服那些喜愛 Linux 技術但不在乎自由的人們捨棄原生的 Linux、 改用 Windows 的 Linux subsystem。 不過更有可能的或許是 Linux subsystem 用戶永遠只是 Windows 下的次等公民、 這系統只是一個用來降低使用者接觸原生 Linux 意願的手段。

黑帽駭客入侵個人電腦的攻擊面確實會縮小。 然而更有可能的是他們將轉向入侵這些可以遠端遙控全球家庭與企業電腦的應用軟體公司, 因為一旦成功, 他們將取得前所未有的跨國、深入各大企業的強大控制力。 Adobe 公司的歷史記錄與特性 讓他們最容易成為黑帽駭客的頭號入侵目標。

堅持採用原生 Linux、 *BSD、 React OS 等等自由作業系統的用戶們, 仍舊可以保有離線辦公/查字典/聽音樂的權利, 也不需要活在 「軟體大廠隨時可能更改各種權限」 的恐懼當中。 但是因為各種好用的服務 (例如 Office 365) 甚至政府/學校/銀行服務都要求以雲端帳號登入, 這些堅持電腦自主權人士能夠離線獨立完成的事也越來越少。 Email成為自由世界與老大哥世界之間少數還可以共同溝通的管道之一, 也有可能成為老大哥企圖採用新技術封鎖的下一個戰場。

希望這些預言都不會成真。 但是根據歷史的經驗, 掌握資訊科技的權貴們不太可能放棄幾乎已經到手的美食; 多數的科技工具用戶們也不太會願意 (甚至不知道需要) 付出昂貴的學習代價 (例如 邁向自由穩健走) 來換取資訊人權。 這篇文章會是 Cassandra 的吶喊 嗎? 三五年之後大家就會知道了。

三、 延申閱讀及技術文件導讀

[8/7 更新] 這幾篇英文警告文很白話, 並沒有談太多技術:

  1. Windows 11 & the next generation of DRM, what is REALLY going on?
  2. Windows 11: TPMs and Digital Sovereignty

想要進一步稍微了解 TPM2 技術的強大, 需要先略懂 非對稱式密碼學。 支援 TPM2 的 CPU 裡面有一對金鑰, 其中的公鑰就是上述的身分證字號, 而私鑰則藏在 CPU 硬體裡面, 連電腦擁有人都無法讀取, 所以無法代替別人的電腦回答 remote attestation 的問題。 密碼學原本是拿「沒有快速解的數學問題」來保護隱私 (例如 RSA); 很諷刺地, 在 TPM2 的 CPU 底下, 它卻被反過來作為監控的工具。 可以說 TPM2 的 "功用" 就像是 CPU 的指紋或是 步態 之類的生物辨識資訊 (biometrics): 你無力改變它, 卻很便利別人用它來指認你。 只不過現在透過它監控你的不是 國家機器, 而是資訊科技大廠。

[2023/10/28] 根據 TPM Key Hierarchy 這篇, tmp2 上最原始的 "身分證字號" (endorement key 的公鑰) "絕少" (請在該文件搜尋 "rarer") 被直接拿來用 (例如做數位簽章), 所以上面生物辨識的比喻在大多數時候也許有一點過火。 大多數場合, tpm2 應該比較像實聯制而不是完全的實名制; google 宣稱 他們的 WEI 努力保護用戶隱私 (請在該頁搜尋 tracking) 也許是有可能做到的。

至於大廠如何確認你的電腦處於 「乾淨可信任」 的狀態? 想像一列用來當作監獄的火車。 光是確保每一節車廂的門都上鎖, 這是不夠的。 車箱間的通道也不能有破綻。 一部具有遙控數位枷鎖功能 (可以防止用戶盜版、遊戲作弊、考試作弊) 的電腦, 就像是一列舒適的火車監獄。 具有 TPM2 功能的 CPU 就是火車頭; 具有 secure boot 功能的 UEFI、 Windows 11作業系統、 微軟認可的硬體驅動程式、 微軟認可的媒體播放器就是一節接著一節的車廂。 中間甚至可能穿插一節或多節微軟認可的虛擬機 (hypervisor + guest OS)。 如果用戶能夠拆開兩節車廂間的通道、 插入他自己設計的車廂 (虛擬機), 那他就有機會藉此逃脫這個監獄。 TPM2 當中的 platform configuration register (PCR) 就是用來封鎖車廂間通道的機制。 它跟一般通用的 CPU 暫存器很不一樣: 只允許重置 (reset) 與擴充 (extend) 而不允許存入任意的值, 這種奇怪設計的目的, 就是要確保車廂間的通道也無法被用戶動手腳。

有一篇 IEEE 論文的主題就是 用 TPM2 來設計 DRM。 資訊人 -- 現代的權貴 -- 可以公開討論如何用資訊科技來控制人類, 並且藉此提高學術地位, 這是很有趣的社會現象。 反正多數人看不懂; 看得懂得多半會選擇站在權貴這邊。 這篇文章 對 「用戶失去主控權」 的後果輕描淡寫; 對 TPM2+DRM 的未來採取 (過於) 樂觀的看法。 站在大眾這邊的學者則指出: PCR 的設計適用於可執行檔; 但若要用在scripts那會非常挑戰 (4.3 - 4.4)。

以下是較技術的文章。 前兩篇是警告文, 裡面提到很多技術名詞; 後兩篇則是純技術文。

  1. Remote attestation is coming back. How much freedom will it take?
  2. The dangers of Microsoft Pluton
  3. The Trusted Platform Module Key Hierarchy
  4. Remote Attestation With Tpm2 Tools

8 則留言:

  1. 把延伸閱讀整理一下, 並且增加一點技術解說。 有些讀者以為總會有高手可以破解 TPM2。 不可能。 TPM2 與 RSA 一樣, 都是數學上的不可能破解。 如果有人破解, 那必然需要動到 CPU 硬體, 絕對不會是很容易推廣的技術。 最最起碼會比 linux 開機隨身碟更難推廣。 至於上層的 DRM 等等, 就要看軟體公司的程式碼有沒有 bug。 對用戶限制越少的 DRM 越有機會有 bug; 對用戶限制越多的 DRM 會越難找到 bug。 但是對高手而言,現在連想要觀察軟體有沒有 bug 都會更加困難重重, 因為無法跑任意的虛擬機。

    回覆刪除
  2. 不過現階段似乎還有著TPM(intel)與Pluton(Microsoft+AMD)間的路線之爭,就是不曉得2邊競爭下有沒有機會讓使用者的自由度大一些?而目前Pluton可關閉且未強制啟用(但6000系的Rembrandt上應該還是有ftpm以符合Windows 11的安裝需求?)
    https://www.techbang.com/posts/94615-more-bullish-on-tpm-intel-12th-generation-core-processors-do

    回覆刪除
  3. 哇,這個有趣:中國用戶無法升級 Windows 11 因國安理由禁用 TPM 晶片 https://unwire.hk/2021/10/17/china-microsoft-windows-11-chip-issue-tpm/fun-tech/ 不得不稱讚中共,這是正確的考量! 我自家的韭菜怎麼可以讓美國人割?

    回覆刪除


  4. 個人認為一個嚴重的問題是沒有足夠的自由硬體與韌體,像是手機就不能自己重灌選擇自己要的作業系統,以致於可以有各種荒謬的限制,例如ios可以禁止用戶進行通話錄音,現在android也跟進,這其實是很反常的,電腦應該沒有權力限制擁有者要使用什麼功能,遺憾的是大多數人似乎沒有意識到電腦服從於遠端的軟體公司而不服從自己的擁有者是一件很荒謬的事情,沒有自由硬體,其實有自由軟體似乎也不能完全擺脫監控(像之前版主提到的intel me),也許arm系也應建立類似x86的uefi的統一介面?從另一個角度來看,同樣另人遺憾的是,ios雖然是一個幾乎沒有自由的作業系統,但其由於嚴格的限制(似乎所有軟體都要apple簽章?)似乎反而沒有類似windows的勒索病毒大災情(當然這有可能是微軟太爛的原因)?

    回覆刪除
  5. 收回「從另一個角度來看,同樣另人遺憾的是,ios雖然是一個幾乎沒有自由的作業系統,但其由於嚴格的限制(似乎所有軟體都要apple簽章?)似乎反而沒有類似windows的勒索病毒大災情(當然這有可能是微軟太爛的原因)?」這段,剛才沒注意到文中有提到「黑帽駭客入侵個人電腦的攻擊面確實會縮小。 然而更有可能的是他們將轉向入侵這些可以遠端遙控全球家庭與企業電腦的應用軟體公司」,抱歉

    回覆刪除
  6. 個人覺得如果有一天微軟不演了禁止禁用uefi的secure boot那大概會是最大的災難,還有自由韌體有些地方真的越來越少,之前在灌debian的時候發現幾乎網卡都只有非自由驅動,現在drm也越來越狡猾,直接鎖硬體(例如hdmi的hdcp或本文的TPM2),但也就完全不演擺明這個硬體是服從商業公司的限制工具,而使用者還要自己花錢給自己買手銬。

    回覆刪除
  7. 另外一個和中國有關,但與本文較無關的事件,中共國聯想還曾經搞過直接用bios改windows os檔案,重灌也沒用https://blog.gslin.org/archives/2015/08/13/5919/%E8%81%AF%E6%83%B3%E7%9A%84-bios-%E6%9C%83%E8%87%AA%E5%8B%95%E5%AE%89%E8%A3%9D%E8%BB%9F%E9%AB%94%EF%BC%8C%E5%8D%B3%E4%BD%BF%E4%BD%A0%E6%95%B4%E5%8F%B0%E9%87%8D%E7%81%8C/,https://3c.ltn.com.tw/news/19857

    回覆刪除
  8. 正在寫一篇 google WEI 的文章,順便重新整理這篇 tpm2, 把大趨勢/結論寫在最前面。

    回覆刪除

因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。