密码战争

<image>

密码战争（Crypto Wars）是一个非正式术语，指美国及盟国政府企图限制公众和其他国家的资讯保密，以防其获得足以抵御国家情报机构的解密能力之加密技术，所采取的一系列措施。（特别是美国国家安全局（NSA））。该术语有时也指人权与加密的争端。

## 美国的密码技术出口管制

### 冷战时期

在冷战初期，美国及其盟国制定了一系列详尽的出口管制法规，旨在防止西方国家阵营的各种重要技术落入敌人手中，特别是东方集团。被归类为“关键（Critical）”的技术，都需要经过授权才能出口。西方各国对出口管制的协调，由输出管制统筹委员会（CoCOM，又称巴黎统筹委员会，中文简称巴统）负责。

两类技术受到了保护：只会与军事（军需品）有关的技术，以及可以同时具有军事和商业双重用途的技术。在美国，前者的出口由国务院管理，后者的由商务部管理。由于在第二次世界大战后不久，加密市场几乎完全是军事市场，因此加密技术及设备（在计算机对密码学变得重要后，也包括了加密软件）也被列为美国军需品清单第十一类—杂项（MISCELLANEOUS ARTICLES）当中（19）。在冷战时期，西方世界的多国通过巴黎统筹委员会控制了加密技术的出口。

但到了1960年代，金融机构在有线汇款领域的增长需要更强大的商业加密技术。美国政府于1975年发布的资料加密标准（DES）意味着高品质的商用加密将会变得普遍，并会开始出现严重的出口管制问题。通常，计算机制造商（例如IBM）以及其大型企业客户，需要逐案向有关单位申请出口授权许可。

### 个人电脑普及后

随着个人电脑逐渐普及，加密技术的出口管制已经成为公众关注的问题。菲尔·齐默尔曼在1991年于互联网上发布加密软件PGP，成为密码出口管制方面的首个主要的“个人挑战”。1990年代，电子商务的发展为相关法规制造了更多压力。1995年，网景推出安全通讯协定（SSL），被广泛采用，成为使用公开密钥加密保护信用卡交易的一种方法。这是后来传输层安全性协定（TLS）的前身。

SSL加密采用RC4算法，密钥长度为128位。超过40位的密钥长度在美国出口法规中被视为军需品，需要申请授权许可。

少于40位的密钥长度无需单独申请出口许可，因此网景开发了两个版本的网页浏览器。“北美版”有着完整的128位强度。通过公开SSL安全协议中的88位密钥，“国际版”的有效密钥长度减少到40位。即使是在美国，购买北美版也需要经过很麻烦的手续，大多数电脑用户最终还是购买了“国际”版本。

一台个人电脑可以在数日内破解40位密钥。出于相同的原因，IBM的Lotus Notes也发生了类似的情况。

彼得·荣格和其他公民自由主义者、隐私权倡导者所发起的一系列诉讼，加密软件在美国以外的广泛可用性，以及许多公司认为对弱加密的负面宣传限制了其销售业和电子商务的发展，这使美国放宽了一系列出口管制。最终在1996年由比尔·克林顿总统签署了13026号行政命令，将商业加密从军需品清单中转移到商业管制清单。此外该命令指出，从出口管制条例的意义上说，“软件不应被视为或对待为‘技术’”。该命令使美国商务部于2000年修订出口管理条例，大幅简化包含加密技术在内的专有和开源软件的出口。

### 现今

截至2009年，从美国出口非军事加密算法均由美国商务部（BIS）控制。即使是大众市场上的产品，仍然存在一些限制，尤其是向流氓国家和恐怖组织的出口。军用的加密设备、经过Tempest (规范)认证的电子产品、定制的加密软件，乃至加密咨询服务，仍然需要出口许可证“具有超过64位密钥长度，面向的大众市场加密商品，软件和组件”需要在依法向BIS注册（75）。以及，出口到大多数国家之前，其他物品需要由BIS进行一次性审查或通知BIS。例如，尽管不需要审查，但在互联网上公开提供开放源代码的加密软件之前，必须通知BIS。出口法规尽管已较1996年以前的标准放宽，但仍然复杂。其他国家有类似的限制，特别是签署瓦圣纳协定的国家。

## 英国的密码技术出口管制

1996年之前，英国政府会在出口商不愿使用比较弱的密码算法或较短的密钥长度时，扣留其出口许可证，并且通常不鼓励采用公钥密码算法。一场关于NHS密码算法的辩论公开了这一点。

## 相关事件

### Clipper芯片

Clipper芯片组是1990年代生产的用于手机，具有加密功能的芯片组，由NSA开发。该芯片组中有联邦政府的后门，联邦政府试图让手机制造商采用该芯片组，但没有成功。该计划最终在1996年被取消。

### A5/1（GSM通讯加密）

A5/1是在GSM移动电话标准中提供行动通信保密性的一种流密码。

安全研究人员在1994年的报告中说：“在1980年代中期，北约讯号情报机构之间就GSM的加密是否应该拥有较高的安全性，有着激烈的争论。德国方面认为应该如此，因为的德国边界有很长一部分与华沙公约组织接壤，但其他北约成员国没有这个状况，目前采用的算法是法国设计。”

根据Jan Arild Audestad教授的说法，在1982年开始的标准化过程中，A5/1最初被提议密钥长度为128位。在当时，128位的安全性被预计至少能持续15年；而截至2014年，128位仍是安全的。Audestad、Peter van der Arend和表示，英国坚持使用较弱的加密，豪格称英国代表告诉他这是安全的。为了让英国特工更容易实现窃听，英国建议使用48位的密钥长度，而西德希望使用更强的加密来防止东德间谍活动。最终的折衷的方案的56位密钥长度。通常意义上，56位长度的密钥是$2^{128-56}=2^{72}=4.7 \times 10^{21}$次，比128位长度的密钥容易被破解。

### DES挑战

在被广泛采用的资料加密标准（DES）中，IBM最初计划其密钥长度为128位。披露的文件指出，NSA曾企图说服IBM使用48位的密钥长度。而最终的折衷方案是密钥长度为64位，其中8位是奇偶校验位，因此实际有效密钥长度为56位。DES早在1977年就被认为是不安全的，并且在2013年爱德华·史诺登泄漏的文件中表明它实际上很容易被NSA破解，但仍被国家标准技术研究所（NIST）所推荐。DES挑战是RSA Security发起的一系列蛮力攻击竞赛，目的是强调资料加密标准（DES）缺乏安全性。作为挑战成功的参赛者之一，电子前哨基金会（EEF）开发了一个专业的DES破解机，昵称“深译”（Deep Crack）。

1997年，NIST开始竞选DES的替代品，最终在2000年发布了高级加密标准（AES）。截至2019年，AES仍被认为是安全的，NSA认为AES足以保护归类为“最高机密”级别的信息。

### Bullrun计划

由于担心密码学的普遍使用，NSA着手暗中影响和削弱加密标准，以及获取主密钥——通过协议、法律强制力或是计算机网络研究（黑客攻击）的手段。

据《纽约时报》报道：“到了2006年，通过破解保护性的VPN，该局已攻破了三家外国航空公司、一个旅行预订系统、一个外国政府的核能部门，以及另一个外国政府互联网服务的通讯系统。到了2010年，英国反制加密的Edgehill计划已成功破解了30个目标的VPN，而且设立了再破解300个的目标”

作为Bullrun计划的一部分，NSA也积极致力于“将安全漏洞插入到目标所使用的商用加密系统、IT系统、网络和端点通信设备中”。《纽约时报》报道说，随机数生成器Dual_EC_DRBG包含NSA的一个后门，这使NSA可以通过该随机数生成器来攻破加密。尽管在该标准发布后不久，Dual_EC_DRBG就已被知晓是一种不安全且缓慢的随机数生成器，并且在2007年发现了潜在的NSA后门，没有这些缺陷的随机数生成器替代品也已经过认证并广泛可用，但RSA Security仍继续在公司的BSAFE toolkit和产品中使用了Dual_EC_DRBG，直至2013年9月。虽然RSA Security否认有意在BSAFE中插入后门，但其没有解释为何在2006和2007年Dual_EC_DRBG的明显缺陷被发现后仍继续使用。有自称内部人士表示，RSA Security接受了NSA的一笔1000万美元付款，以将该随机数生成器设为默认设置。泄漏的NSA备忘录中称这个任务是“需要精妙应对的挑战”，并写到“最终， NSA成为了唯一的编撰者。”。

到2010年，NSA已开发出针对互联网加密流量的“开创性的手段”。GCHQ的一份文件警告说，“这些手段是信号情报项目中最脆弱的一部分，不慎披露这一简单的“事实”可能会警醒对手，并立即导致该手段的无效化。” 另一份内部文件指出，“它们不存在‘必要知悉’”。包括布鲁斯·施奈尔和克里斯托弗·索霍安在内的许多专家纷纷猜测，这是指对RC4的成功攻击，这种1987年的加密算法仍在至少50%的SSL/TLS的流量中使用，并考虑到RC4有数个已知的弱点，这是一个合理的途径。其他人则猜测，NSA已获得破解1024位RSA和迪菲-赫尔曼密钥交换公钥的能力。一组研究人员指出，一些非一次性的1024位素数在迪菲-赫尔曼密钥交换的实现中广泛重用，且NSA对这些素数进行了预先计算，以利用它们来实时的攻破加密。

Bullrun计划受到了争议，因为有观点认为，NSA在其NOBUS（Nobody but us)政策下故意插入或自己保留漏洞而不披露，会影响守法的美国公民以及NSA的目标。从理论上讲，国家安全局有两个工作：防止影响美国的漏洞，以及发现以打击美国为目标的漏洞；但是正如布鲁斯·施奈尔所论证的，NSA似乎优先考虑发现（甚至创建）并自行保留而不披露漏洞。布鲁斯·施奈尔呼吁将NSA分解，以使负责加强加密的小组不会屈服于想要攻破其目标之加密的小组。

### 智能手机的上存储数据的加密

在2013年，美国前中央情报局雇员爱德华·斯诺登爆出棱镜计划后，很多分析认为该棱镜计划透露出，情报机构可合法地命令Google和苹果公司绕开特定Android或iOS智能手机上的数据加密措施被人们所知。对此，Google和苹果公司在2014年左右重新设计了其加密方式，使他们也没有能力绕过加密，仅在知晓用户密码的前提下才能解锁手机。

即是有逮捕令时也无法访问嫌犯的数据，这对执法人员来说是难以接受的，包括奥巴马政府的总检察长埃里克·霍尔德在内的各个执法官员均对此强烈谴责。最具代表性的一则回应是，芝加哥警察部门说：“苹果手机将成为恋童癖的首选”。《华盛顿邮报》发表社论，坚持“智能手机用户必须接受，只要搜索令有效，用户就不可以凌驾于法律之上”，并且在同意后门受到普遍的不欢迎之后，建议利用一个“金钥匙（golden key）”形式的后门，来让警察凭手令解锁数据。

联邦调查局局长詹姆士·柯米列举了一些案例以支持解密智能手机的需求的看法。

布鲁斯·施奈尔将加密智能手机存储数据的权利争议称为“第二次密码战争”（Crypto Wars II），而科利·多克托罗称其为“密码战争的复兴”（Crypto Wars redux）。

美国加利福尼亚州和纽约州皆有议员提出法案，提议禁止销售采用不可破解的加密技术的智能手机。截至2016年2月，尚无任何法案通过。

2016年2月，联邦调查局获得一份法院命令，要求苹果公司开发并进行数位签章一份新软件，以使联邦调查局能够解锁在2015年圣贝纳迪诺枪击案中其中一名枪手处提取的iPhone 5c。苹果对此命令提出质疑。最终，FBI雇用了第三方人员来破解该手机。另见苹果公司与联邦调查局加密争端。

2016年4月，黛安·范士丹和理查·波尔提出了一项十分含糊的法案，该法案可能使所有形式的被定性为刑事犯罪。

2019年12月，美国参议院司法委员会举行了一次关于加密和合法访问的听证会，重点是智能手机上存储的加密资料。地方检察官Cyrus Vance Jr.，Matt Tait教授，苹果公司的Erik Neuenschwander和Facebook的Jay Sullivan作证。主席林赛·格雷厄姆在开幕词中表示:“我们所有人都希望使用能够保护我们隐私的设备。（all of us want devices that protect our privacy.）” 他还说，执法部门应该能够读取设备上存储的加密数据，并威胁说如果必要的话，可以通过立法“你们要想办法做到这件事，否则我们就会帮你们去做。（You’re going to find a way to do this or we’re going to do this for you.）”。"

### 配备端到端加密和负责任加密的消息软件

2017年10月，美国司法部副部长Rod Rosenstein呼吁将“负责任的加密”作为一项解决方案来解决日益“走入暗处”的问题。此术语意指法院命令和警察措施中的“窃听”正日益无效化，因为强有力的端到端加密已越来越多地添加到广泛使用的即时通讯软件中。负责任的加密意味着公司需要引入，使他们可以在客户忘记密码的情况下为其提供一种恢复其加密数据的方式，从而避免永久丢失。按照Rosenstein的论证，这种局面下只留给用户无奈是不负责任的。作为有益的副作用，指示通讯软件业者解密数据，然后公司将能够遵守命令提供这些数据。由业者而不是政府机构从回收来的关键证物解析出存储数据，被视为一个额外的保障措施。

### “前门”（多重托管）

2015年，国家安全局局长Michael S. Rogers建议在加密中引入“前门”而不是“后门”来进一步分权密钥托管。这样，密钥将分为两半，其中一半由政府机构保存，另一半由负责加密产品的公司保存。如此，政府仍必须获得搜查令才能从公司取得另一半密钥，并且该公司也无法滥用密钥托管之权来访问用户数据。专家们没有留下深刻印象。

### 轻量级加密

2018年，NSA推广了“轻量级加密”的使用，尤其是其面向的物联网设备的密码算法和Speck。但由于密码学专家委员会的严厉批评，激起了人们对NSA拥有如何破解攻破这些算法的非公开方法的担忧，这些密码算法的ISO标准化尝试失败了。

### 2015年英国呼吁禁止无“后门”的加密算法

在2015年查理周刊总部枪击案发生后，时任英国首相戴维·卡梅伦呼吁取缔非后门加密技术，称不应有“我们无法阅览”的“通信方式”。美国总统奥巴马对此观点表示赞同。