【資訊人權貴專欄】美國國家安全局藏了把鑰匙在 Windows 裡,每台微軟電腦都被看光光了

拜  稜鏡計畫揭密  之賜, 大家開始注意 NSA(美國國家安全局)的各種竊聽行為, 而一則(連我都是初次聽到、 大吃一驚的)十四年前舊聞, 最近也被重新挖出來討論:NSA 透過微軟 Windows 佔領你的電腦(1、 2,也請參考 維基百科)。更精確的說法可能是:你透過 Windows 所進行的任何加解密動作(包含你指定的,跟應用軟體自動幫你做的),可能都要擔心會不會遭到 NSA 偷窺監聽。

目前已知 NSA 所力薦的 DUAL_EC_DRBG 加密技術(非 Windows 預設)確實藏有竊聽後門;除此之外,其他部份似乎並沒有具體事證顯示 NSA 曾經啟動此機制。文長, 也可略過歷史、 技術與猜測, 直接跳到結論。

 

(微軟的 CAPI 可能架構)

  • Windows 加解密系統 CAPI,除了微軟有金鑰可以打開,美國國家安全局也可以?

資安公司 cryptonym 的 Andrew Fernandes 在 1999 年的 CRYPTO ’99 資安會議當中發表論文指出:  自從 Win95 開始, 所有版本的 Windows 都內含一個名為 _NSAKEY 的可疑金鑰(映射頁面:  1, 2, 3)。Windows 的加解密系統稱為 CAPI, 任何應用軟體如果需要加解密服務,例如私密 e-mail、 網路銀行、 臉書私密訊息、 ……,理論上都 應該請這個系統幫忙

許多不同的第三方廠商與(政府?)單位都有可能提供加解密演算法服務(CSP), 但這些加解密演算法必須獲得微軟的簽章認證才能被放入 CAPI 系統,以便服務上層的應用軟體。奇妙的是:Fernandes 發現看守 CAPI 造橋/維修工事路線的那扇門,不只有微軟自身的 KEY 可以打開,還有另一把名為 NSAKEY 的金鑰也可以進入。(事實上,Fernandes 只提出 KEY 與 NSAKEY 的存在;至於它的功用, 是我根據微軟官網、微軟 Scott Culp 的解說,及維基百科等資料補充上去的。下詳。)

  • Windows 加密系統是否洩漏公民隱私?微軟:我們是一家美國公司, 必須遵守美國出口法規

Duncan Campbell 是一位專門深度報導資安與公民隱私等等議題的記者。在 Fernandes 爆料之後,他進一步指出:早在 1998 年, 英國密碼學家 Nicko van Someren 就已經發現這個位於 ADVAPI.DLL 的密門(現在新版的 Windows 當中, 對應的檔案是 ADVAPI32.DLL),只是當時不知道這個密門有個這麼敏感的名字。(1、 2

他並指出:在 CRYPTO ’99 會議現場,Windows 開發者並沒有否認這個密門的存在,但卻拒絕討論它的功用,也不願意說明為何要暗地裡暪著用戶藏這個密門。 Campbell 還說: 事實上 Someren 還指出有第三個門的存在,這讓微軟自己該部門的負責人 Brian LaMachia 都大吃一驚。

2000 年 4 月, Campbell 在加拿大「電腦、 自由、 隱私」會議 CFP2000 上發表文章,並提出這些疑慮。因為 Campbell 先前曾為歐盟議會執筆一份「通訊監控報告」,當時也正好要為公民隱私團體 EPIC 撰寫一份報告,所以現場微軟的 Richard Purcell 很重視他的意見,表示微軟願意與他溝通。Purcell 引線,讓 Campbell 向微軟資安回應中心的 Scott Culp 提問。Campbell 的第一輪問題, 得到 Culp 的部分回應; 本文上述「造橋 / 維修工事路線」比喻, 就是依據 Culp 的回應所摘要出來的。

微軟是一家美國公司, 也因此必須遵守美國出口法規。 我們不只要確認自身的產品符合出口法規, 也被要求必須盡力確認像 CAPI 這樣(內含第三方提供加解密演算法)的技術也要符合美國出口法規。 …… 這就是這些金鑰的作用。
……
美國商業部出口管理局(BXA)負責出口相關法規,而國家安全局(NSA)則提供加解密出口相關規定的技術評估。
……
微軟不會把我們自己的私鑰告訴任何第三方 — 包含這兩個金鑰。
……
當微軟「用我們的金鑰」認證一個 CSP 的時候, 那只表示一件事: 微軟確認「第三方」廠商所提供的「BXA」出口文件無誤。 這並不表示我們確認過這個 CSP 的運作。有些 CSP — 例如微軟預設提供的 CSP — 確實經過第三方專家驗證, 但這並不是「用金鑰」認證 CSP 的必要條件。  同樣地, 一個 CSP 被「金鑰」認證過, 並不見得就表示那個 CSP 的管理者不能夠自行再修改那個 CSP。 有些 CSP 允許管理者提供更有效率的加解密函數 — 例如跟硬體加速卡結合。 只要這些修改沒有影響到 CSP 的出口法規合法性,那個金鑰認證並不需要去阻止這樣的狀況。

Campbell 繼續禮貌地追問更多細節, 包含請求 Culp 提供微軟當初送交 NSA 審核(是否符合進出口法規)的技術文件, 甚至還幫 Culp 擬了一份說辭, 請 Culp 更正並填入時間點等等細節。但 Culp 表示: 設計文件是微軟的智慧財產權 ;所有的規定都在 BXA 的官網上;我已經回答你所有的問題了, 再下去就很難談出什麼有意義的結果。

於是, Campbell 徵得 Culp 的同意之後,  把以上的通訊內容刊資安網站 cryptome。而大眾也更加確認微軟與 NSA 之間有一些不可告人的關係。

Culp 的回應當中,有一點聽起來很可疑:他說那個 NSAKEY 是個備用金鑰。Cryptome 那份 e-mail 往來的最後面,補上 Andrew Fernandes 對此的質疑。他指出: 有一種裝置叫做 crypto-box, 如果你用過這種裝置的話, 就知道私鑰被竊不是唯一的風險, 另一種風險是私鑰毀了。他分析「備用金鑰」跟一般資安專家推薦的「拆散(唯一的)私鑰給多位管理高層分開保管」兩種方式, 最後他說:「你要說我嚴厲也好, 但考量微軟超高規格的資安, 如果最後的提案竟是說要以備用金鑰而非拆散私鑰的方式來保護 CSP 系統, 那我會叫整個設計團隊回家吃自己。」(也請見 OSAll 對 Fernandes 完整的採訪 。)

  • 貴哥猜測:

以下是我的猜測: 假設除了「NSAKEY 是微軟的備用金鑰」一事之外,微軟的 Culp 所說的其他一切都是真的。請回頭看 Culp 回應當中被我用粗體字標出來的部分。用蓋橋的比喻來說,Culp 的意思就是說:微軟的金鑰認證只管制包商初次蓋橋申請一切合法;至於以後包商可能會再自行進出維修橋樑,  微軟根本就不會再次認證確認修補後的橋樑的安全性

我認為那個 NSAKEY 不是微軟自己的金鑰, 而是 NSA 的公鑰。每當 NSA(包商)要進入「維修」橋樑時,微軟就用這把公鑰確認包商身份,如果確定是 NSA,就放行,至於 NSA 進去做了什麼「維修」,按照 Culp 的說法, 那並不屬於微軟的權責範圍。

這個猜測完全符合 Culp 所說的這幾句話:「微軟根本就沒把自己的私鑰分享給 NSA」、也「從來就沒用這把金鑰簽章過任何 CSP」,因為那把金鑰的功用根本就不是用來認證簽章 CSP 的啊!

  • 結論

不論我的猜測是否正確,Culp 的首度回應及拒絕後續回應,很明確地證實了:微軟與 NSA 之間確實存有不可告人的秘密。另一個事實是:NSA 長久以來一直企圖將加解密後門硬塞到各處去 — 其中之一是暗藏後門的亂數演算法(產生金鑰時會用到)DUAL_EC_DRBG, 已被成功地塞入國家標準 NIST 及微軟的 CAPI 裡面( 1、 2)。Culp 那段粗體字的話也講得很清楚: 收錄在 Windows 裡面(也就是經過微軟簽章認證過)的加解密演算法, 微軟並不保證其安全性。

再補幾個新聞連結:

1. 每當微軟發現 Windows 的漏洞,會在修正問題之前第一時間先通知 NSA — 這不只意謂著 NSA 對 Windows 零時差漏洞免疫,也意謂著 NSA 經常可以用 Windows 的零時差漏洞主動出手攻擊 對手(中國注意)、盟友(歐盟已經在注意  — 即使影響航班交流也不怕)、及其他任何他看不爽或偷看了才爽的對象  呃…… 我是說…… 恐怖份子(1、 2)。

2. 微軟的新產品 Xbox One 要求用戶  必須站在它的鏡頭前面「校正」才能啟用、每二十四小時或更短的時間內必須連線上網、不可回收轉手出售或贈送給別人。 為什麼要有這些不近情理、 趕跑用戶的規定? 是故意要  襯托 Sony PS4 的讚  嗎?如果你的目標是賣產品,這些豬頭規定完全說不通;但如果你的目標是協助 NSA 全面監控公民,這就很有道理了。還好 後來微軟撤銷部分堅持。

3. 最近被微軟買下的 Skype,到底有沒有被美國政府監聽?微軟聲稱 skype 內容有加密;但是被媒體追問細節時,又拒絕深入回答 。也許它用的加解密服務,跟本文所談的 CAPI 有類似的後門?或是 Chess 計畫  讓 NSA 更加不費吹灰之力就長驅直入?

看過這些事證之後, 這句話你還說得出口嗎?「Windows 是安全的作業系統。」

事實上, 如果你夠在乎資訊安全, 任何看不見原始碼的作業系統都不值得信任 — 就像任何行事不透明的政黨都不值得信任一樣 — Culp 那一句「設計文件是微軟的智慧財產權」很明確地幫所有「不提供原始碼的專屬軟體廠商」明白地告訴你:我的智慧財產權,重於你的資訊安全。

老實說,就連我這麼不信任微軟、這麼相信陰謀論的人,如果十幾年前看到 NSAKEY 事件的新聞,大概也只是放在心上姑妄聽之而不太敢拿出來談 — 光是抗議 IE-only 跟 docx 專利這些明顯的問題都已經困難重重了。不過,在整理完這些連結之後,我甚至可以接受更進一步的陰謀論(如果有時間像這篇一樣詳細搜尋佐證資料的話), 或許當初微軟真的是 NSA 一手扶養長大的? (← 還有其他更多陰謀論)。

大家一再地把各種證據攤在桌上,臺灣各級政府及大學電算中心主任對於 Windows 所造成的資安問題,會不會終有反應呢? 或者,他們會繼續無動於衷、繼續裝死、讓我們更加確認: 宣稱要保護國家機密的國安修法 其實根本就沒有真正的資安專家參與、讓我們更加確認  力挺 Windows 的 CIO, 其服務的對象並不是僱主

該說的都說了;終究, 我還是得領 Office 證照卓越大學  的薪水過日子,僱主不聽,我也就只能回家獨自安心地用著開放原始碼的 Linux 而已吧。有一天, 當力挺 Windows 的資訊教授們終於覺醒時, 對於 Last Christmas – I gave you my heart 這首歌也許終於會有點感覺 :-)

  • 延伸閱讀:

【資訊人權貴專欄】假反恐之名,美國國安局大規模竊取公民通聯紀錄、監聽網路通訊內容

【資訊人權貴專欄】蘋果與美國情治單位關係曖昧,使用者隱私不保?

(圖片來源:Toni Blay, CC Licensed)

貴哥(洪朝貴)在大學裡擔任資訊管理系副教授,在他眼裡,「網路」就是顛覆恐龍世界的廿一世紀最有趣、不必開發的現成玩具。現在,他的興趣是善用網路從事社會運動。想看更多,歡迎到他的個人部落格  資訊人權貴ㄓ疑