主页 > 信息天文 >美国国家安全局藏了把钥匙在 Windows 里,每台微软电脑 >

美国国家安全局藏了把钥匙在 Windows 里,每台微软电脑


2020-07-30


美国国家安全局藏了把钥匙在 Windows 里,每台微软电脑

拜  稜镜计画揭密  之赐, 大家开始注意 NSA(美国国家安全局)的各种窃听行为, 而一则(连我都是初次听到、 大吃一惊的)十四年前旧闻, 最近也被重新挖出来讨论:NSA 透过微软 Windows 佔领你的电脑(1、 2,也请参考 维基百科)。更精确的说法可能是:你透过 Windows 所进行的任何加解密动作(包含你指定的,跟应用软体自动帮你做的),可能都要担心会不会遭到 NSA 偷窥监听。

目前已知 NSA 所力荐的 DUAL_EC_DRBG 加密技术(非 Windows 预设)确实藏有窃听后门;除此之外,其他部份似乎并没有具体事证显示 NSA 曾经启动此机制。文长, 也可略过历史、 技术与猜测, 直接跳到结论。

 

美国国家安全局藏了把钥匙在 Windows 里,每台微软电脑(微软的 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 的回应所摘要出来的。

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 里面(也就是经过微软签章认证过)的加解密演算法, 微软并不保证其安全性。

再补几个新闻连结:

看过这些事证之后, 这句话你还说得出口吗?「Windows 是安全的作业系统。」

事实上, 如果你够在乎资讯安全, 任何看不见原始码的作业系统都不值得信任 — 就像任何行事不透明的政党都不值得信任一样 — Culp 那一句「设计文件是微软的智慧财产权」很明确地帮所有「不提供原始码的专属软体厂商」明白地告诉你:我的智慧财产权,重于你的资讯安全。

老实说,就连我这幺不信任微软、这幺相信阴谋论的人,如果十几年前看到 NSAKEY 事件的新闻,大概也只是放在心上姑妄听之而不太敢拿出来谈 — 光是抗议 IE-only 跟 docx 专利这些明显的问题都已经困难重重了。不过,在整理完这些连结之后,我甚至可以接受更进一步的阴谋论(如果有时间像这篇一样详细搜寻佐证资料的话), 或许当初微软真的是 NSA 一手扶养长大的? (← 还有其他更多阴谋论)。

大家一再地把各种证据摊在桌上,台湾各级政府及大学电算中心主任对于 Windows 所造成的资安问题,会不会终有反应呢? 或者,他们会继续无动于衷、继续装死、让我们更加确认: 宣称要保护国家机密的国安修法 其实根本就没有真正的资安专家参与、让我们更加确认  力挺 Windows 的 CIO, 其服务的对象并不是僱主 ?

该说的都说了;终究, 我还是得领 Office 证照卓越大学  的薪水过日子,僱主不听,我也就只能回家独自安心地用着开放原始码的 Linux 而已吧。有一天, 当力挺 Windows 的资讯教授们终于觉醒时, 对于 Last Christmas – I gave you my heart 这首歌也许终于会有点感觉 :-)

延伸阅读:

假反恐之名,美国国安局大规模窃取公民通联纪录、监听网路通讯内容

苹果与美国情治单位关係暧昧,使用者隐私不保?

(图片来源:Toni Blay, CC Licensed)



上一篇:
下一篇: