拜稜鏡計畫揭密之賜,大家開始注意NSA(美國國家安全局)的各種竊聽行為, 而一則十四年前舊聞,最近也被重新挖出來討論:NSA 透過微軟 Windows佔領你的電腦。
拜稜鏡計畫揭密之賜,大家開始注意NSA(美國國家安全局)的各種竊聽行為, 而一則(連我都是初次聽到、大吃一驚的)十四年前舊聞,最近也被重新挖出來討論:NSA 透過微軟 Windows佔領你的電腦。(參考1、2、維基百科)
更精確的說法可能是:當你透過Windows所進行的任何加解密動作(包含你指定的跟應用軟體自動幫你做的),可能都要擔心會不會遭到NSA偷窺監聽。目前已知NSA所力薦的 DUAL_EC_DRBG加密技術(非Windows 預設)確實藏有竊聽後門;除此之外,其他部份似乎並沒有具體事證顯示NSA曾經啟動此機制。
從Window 95開始 所有版本Windows都有一個可疑金鑰
資安公司cryptonym的Andrew Fernandes在1999年的CRYPTO '99資安會議當中發表論文指出:自從 Windows 95開始,所有版本的Windows都內含一個名為 _NSAKEY的可疑金鑰。(相關資料1、2、3)
Windows 的加解密系統稱為CAPI,任何應用軟體如果需要加解密服務(例如私密 e-mail、網路銀行、臉書私密訊息、...)理論上都 應該請這個系統幫忙。許多不同的第三方廠商與 (政府?) 單位都有可能提供加解密演算法服務 (CSP), 但這些加解密演算法必須獲得微軟的簽章認證才能被放入 CAPI 系統以便服務上層的應用軟體。
奇妙的是,Fernandes發現看守 CAPI 造橋/維修工事路線的那扇門,不只有微軟自身的KEY可以打開,還有另一把名為NSAKEY的金鑰也可以進入。(事實上 Fernandes只提出KEY與NSAKEY的存在;至於它的功用,是我根據微軟官網、微軟Scott Culp的解說、及維基百科等資料補充上去的。下詳。)
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完整的採訪。
(下一頁:微軟不保證Windows中加解密演算法的安全)
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!