2013年7月8日 星期一

NSA 要求微軟安置在 Windows 裡的後門... 保護智財, 無可奉告

微軟的 CAPI 可能架構 [9/15 補充: 紐約時報 Bits 部落格 也報導 NSA 把 DUAL_EC_DRBG 這個加解密會用到的後門硬塞到 NIST 國際標準組織裡面去的詳細過程。]
[2014/3/2 補充: NSA 買通資安大廠 NSA, 置入 Dual_EC_DRBG 後門 Dual EC DRBG 後門事件的歷史發展摘要及雜記Dual_EC_DRBG 後門的實際運作技術細節]

拜稜鏡計畫揭密 之賜, 大家開始注意 NSA (美國國家安全局) 的各種竊聽行為, 而一則 (連我都是初次聽到、 大吃一驚的) 十四年前舊聞, 最近也被重新挖出來討論: NSA 透過微軟 Windows 佔領你的電腦: 1 2。 也請參考 維基百科。 更精確的說法可能是: 你透過 Windows 所進行的任何加解密動作 (包含你指定的跟應用軟體自動幫你做的), 可能都要擔心會不會遭到 NSA 偷窺監聽。 目前已知 NSA 所力薦的 DUAL_EC_DRBG 加密技術 (非 Windows 預設) 確實藏有竊聽後門; 除此之外,其他部份似乎並沒有具體事證顯示 NSA 曾經啟動此機制。 文長, 也可略過歷史、 技術與猜測, 直接跳到 結論

資安公司 cryptonym 的 Andrew Fernandes 在 1999 年的 CRYPTO '99 資安會議當中發表論文指出: 自從 Win95 開始, 所有版本的 Windows 都內含一個名為 _NSAKEY 的可疑金鑰。 [映射頁面: 123] 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), 只是當時不知道這個密門有個這麼敏感的名字。 [12] 他並指出: 在 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 這首歌也許終於會有點感覺 :-)

* * * * *

(本文也刊載於 泛科學T 客邦

手邊沒電腦; 口頭推薦本文嗎? 可以請您的朋友搜尋 「nsakey 後門」 或 「nsakey 微軟」。

23 則留言:

  1. 史諾登:NSA和德國 一窩的
    http://udn.com/NEWS/WORLD/WOR3/8014183.shtml

    探訪北韓萬景臺革命學院
    http://big5.china.com/gate/big5/news.china.com/zh_cn/hd/11127798/20130704/17927187_2.html

    照片中的北韓學生,正在使用ACER電腦,希望不是內建Windows,我開始擔心起金小胖的生命安危了。


    回覆刪除
  2. 請問格主:
    目前除了Windows作業系統,因市佔率過高而不得不用外,可有其他較不受監控疑慮的自由軟體系統(如Debian?)可讓個人下載安裝使用?

    回覆刪除
    回覆
    1. Debian、Ubuntu、CentOS、Fedora、...
      一些常見的Linux發行版都符合這些
      目前Linux新手使用最多的應是Ubuntu

      只是最近的版本有起一些爭議,除此之外都還好:
      http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=61652

      刪除
    2. DistroWatch.com
      http://distrowatch.com/
      這裏有許多發行版。

      教育部的 ezgo 光碟
      http://ezgo.westart.tw/ezgoX/

      Windows作業系統市佔率過高,讓老闆花錢買,回家用自由軟體就好。

      刪除
    3. 就是因為格主您所PO出來的那則新聞,再加上許多的自由軟體,從被商業公司「贊助」,到進而被商業公司「掌控」,讓小弟覺得已經不是那麼的「純」了。若不影響終端使用者還好,若在終端使用者開機後,還可以出現商業廣告或連線到商業公司消費網頁,那就靠杯了。

      刪除
    4. 而且,絕大部分的自由軟體發源地都在美國,這個國家自以為是的「世界警察」觀念,讓人很想吐它一把口水!可是我們並不知道標榜「自由」的軟體,有沒有被美國國安監控單位給掌控或滲入,偏偏我們國家多年來就只會花錢買微軟的系統及相關應用軟體來用,近20年了也茍安於現狀,不想發展本國的電腦系統以防被他國掌控,每年國考的「資訊處理」公務員,也不知道到底是要他們做些什麼?徒然浪費資源和納稅人的錢,我真懷疑政府高官裡有美國的漢奸!

      刪除
    5. 標榜「自由」的軟體,通常會開放原始碼,樓上的匿名可以檢查一下原始碼,就可以知道有沒有後門。如果樓上的匿名買了新筆電回來還要灌回Windows 7,那就真的靠杯了。

      各國政府都使用發源「美國」的軟體,企業界用得更多。

      刪除
    6. 樓上的匿名:請看這篇
      http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=202&blogId=1 #誰要看你的程式碼?
      大程式原始碼動輒幾萬行,需要非常多的精力才能瞭解,檢查

      刪除
    7. 至少他給了你機會檢查程式原始碼,其他非Open source的軟體連這個機會都沒有的。

      在Open source界一直都是多人合作,一個人可能沒能力看完整個Linux程式碼,但是有更多更多的人也能看到程式碼,且還有程式版本系統,任何程式碼的改動都會在系統中有紀錄。只要有夠多的人在看,基本上就是盡力確保程式本身沒有奇怪的東西在裡面。

      我們現在身處的世界有很多沒有辦法百分之百保證的事情,這並不是Open source的原罪。

      刪除
    8. #誰要看你的程式碼?Tetralet | 17 五月, 2008 20:20
      樓上的匿名應該還在用XP上網吧?

      樓上的匿名如果要檢查原始碼,原始碼掃瞄工具可以節省你非常多的精力。

      刪除
    9. #誰要看你的程式碼?
      簡單地摘要: 「陽光是最佳的消毒劑」 並不意謂著所有東西照過陽光就沒事了。

      然後如果結論就是 「所以我們不需要陽光」.. 那就需要複習一下基本的邏輯推論了。

      刪除
    10. 微軟為俄安全部門提供軟件原始代碼
      http://big5.rusnews.cn/eguoxinwen/eluosi_keji/20100707/42828646.html

      刪除
  3. 洪老師要不要考慮寫一個關於 Minecraft當個創世神 這個遊戲的看法?
    網站 ->http://minecraft.net/
    暫且別提遊戲內容好了(很好玩沒錯XD

    這遊戲是個用Java寫的**付費**遊戲,它的授權是利用帳號,每次登入時跟一個中央認證伺服器確認來登入,而不是靠著賣DVD跟S/N的。
    但是,只要稍加調整,可以繞過認證的機制(出人意料的簡單,只要改掉launcher的一個parameter就好)
    換句話說,它可以「默許」盜版的存在。
    而繞過去打開遊戲,玩到的內容99%跟正版一樣。
    (除了無法連線到有認證功能的伺服器(這遊戲沒有「官方伺服器」,任何人都可以架一個伺服,國外還有人專門host給這遊戲的vps(伺服器端是以GPL釋出的)))
    甚至有人表示「買不起」,作者也說:「去盜版就好,但別忘了要感覺不好(?)」
    https://twitter.com/notch/status/157261795139125248

    很多人都說這作者不針對「默許」盜版這點去做修正,會導致沒人想買正版。
    但事實上是,因為有很多人可以體驗到完整的遊戲,所以讓它變成世界上銷量最好的單機遊戲之一。
    很多人在體驗過盜版了以後,意識到自己用盜版是不應該的,就會花19.95歐元去購買正版。
    如果你就連在這遊戲的其他(非官方)討論區說「玩盜版就好了,幹嘛買正版」之類的,還會遭到群眾砲轟(?


    而且基本上,雖然它不是Open Source,但是他的原始碼是公開的,任何人都可以研究它的內容。
    也有很多人去寫「外掛」,但是不同的是,作者歡迎外掛的存在,而且有幾度還跟外掛作者合作,將外掛內容加到遊戲裡。
    (官方不允許發佈修改後的遊戲檔案,但是官方歡迎你發佈「要修改的檔案」。)



    這遊戲的作者充分展現了沒有萬惡的DRM(DRM-Free)又可以賺錢(事實上作者十分討厭DRM),也發揮了一部分的Open Source的精神(雖然不能直接發佈修改)。



    洪老師,你怎麼看?(?

    附上參考資料:http://forum.gamer.com.tw/C.php?page=1&bsn=18673&snA=44283

    回覆刪除
    回覆
    1. 先說喔,我有正版帳號,
      別說我是盜版XD

      刪除
    2. 哈哈 「去盜版就好,但別忘了要感覺不好(?)」 作者的回覆真可愛。 朝開放的方向走、 靠粉絲與社群創造出一個尊重作者的文化, 這才是正確的方向啊! 不僅真正有利於社會整體, 對作者自己也有利。

      這並不是完全開放的自由軟體, 但可以是一個很好的半開放的例子。 您的留言就已經是一篇很值得拿來引用的文章了啊 :-)

      刪除
  4. 好自私又偏激的文章……

    回覆刪除
    回覆
    1. 好無聊的留言......

      刪除
    2. 從未在這留言,看到這種圾垃忍不住要回覆,你是白痴還是腦殘?還是某公司或機構的打手?
      你知道自私的定義嗎?這文章到底哪裡自私?
      偏激也不覺啊,質疑微軟的地方是有根有據
      你這種垃圾應該立刻切腹,不要留在這世上害人,兼浪費地球資源

      刪除
    3. 看到這種垃圾就應該撿起來丟在垃圾桶裏。

      垃圾桶會偷讀路人手機…英禁止
      http://www.libertytimes.com.tw/2013/new/aug/14/today-int9.htm

      刪除
  5. 德國資訊專家認為使用 Windows 8 過於危險
    http://avpclub.alone.tw/discuz/viewthread.php?tid=47191

    回覆刪除
    回覆
    1. TPM、HSM 已經被廣泛運用,有危險的應該是 Windows 8 的後門,現在的 TPM 不用可以關閉。

      刪除
  6. NSA暗中开发强大信息解码技术
    http://cn.nytimes.com/usa/20130906/c06nsa/

    回覆刪除
    回覆
    1. 美破解加密 改網安標準呼聲起
      http://news.rti.org.tw/index_newsContent.aspx?nid=448733

      明鏡:NSA可存取多數智慧手機資料
      http://news.rti.org.tw/index_newsContent.aspx?nid=448754

      刪除