斯诺登使用的加密软件 GPG 背后的故事

故事
15 min read
poster

2014 年 10 月,纪录片《第四公民》上映,可能好多人对这部纪录片并不熟悉,但当你看到电影海报,一定会想起 2013 年引爆全球的棱镜门事件。

这是一部非常独特的纪录片,因为导演 Laura Poitras 不仅仅是该片的导演,同时也是棱镜门事件的主人公之一(另外两人分别是英国《卫报》的记者 Glenn Edward Greenwald,前中央情报局职员 Edward Joseph Snowden)。2013年6月,Poitras 飞往香港与 Snowden 会面,而在此之前,两人已经匿名通信了数月之久。

Snowden-Laura

他们用了一款名叫 GPG 的加密软件,Poitras 与 Snowden 正是使用这个软件加密信息的。在好奇心驱使下,我查了一些有关 GPG 的资料,我发现 GPG 这款软件的背后,还隐藏着另一个故事,其精彩程度绝不亚于一部谍战小说。

文章 📝

PGP 的故事

要想了解 GPG,先要从 PGP 说起。

PGP 是由菲利普·齐默尔曼( Philip Zimmermann )个人编写的密码软件,它的全称是 Pretty Good Privary(相当好的隐私)。

Philip Zimmermann

齐默尔曼于 20 世纪 70 年代中期在佛罗里达的亚特兰大大学就读,学的是物理和计算机,毕业后他投身于的计算机行业。

80 年代,是一个让人忧虑的年代。苏联入侵阿富汗,美国总统里根的连任以及愈演愈烈的冷战局势,美苏两国积攒了几十年的核武器,足够威胁全人类的生命安全。那时,社会上流行一个叫“核冬天”的理论:美国的科学家对全面核战争的后果进行研究,初步研究发现,一场全面核战爆发后,被核武器毁灭的城市,将释放出遮天蔽日的烟尘,让全球变冷。

潜在的核战争危机如同达摩克利斯之剑悬在每个人的头顶。齐默尔曼考虑移民新西兰,他认为一旦爆发核战争,新西兰是世上唯一剩下的几个地方之一。然而,就在他取得护照和签证后,他和他的妻子却去参加了核武器冻结组织(Nuclear Weapons Freeze Campaign)举行的会议,这次会议改变了他的移民计划,他决定留下来成为一名反核斗士,齐默尔曼在核武器冻结组织中担任软件工程师和军事政策分析师。1986 年,为了抗议美国进行核试验,他因分发传单,故意跨进内华达核试验场的警戒线,被警察逮捕,和他一起被捕的人还有卡尔·萨根和其他 400 多名反对者。

1987 年 12 月 8 日,美、苏两国签署了《中导条约》(全称《 美苏关于消除两国中程导弹和中短程导弹条约 》)。按条约的规定,两国核武器库中的中程(射程 1000~5500 千米)和中短程(射程 500~1000 千米)战术核导弹及其发射装置和辅助设备将全部销毁。

后来随着东西方关系缓和,齐默尔曼对核战的担心减少了,但他对社会活动的热情丝毫不减。他转向了另一个方向,开始关注信息革命和加密技术。

1991 年,参议院第 266 号法案中有一项决议:要求所有的加密工具中要为政府提供可以访问的后门,以便政府能够读取任何人的加密信息。尽管该法案仍在立法的过程中,齐默尔曼意识到,如果这项决议成为真正的法律,对于所有人来说,尤其像他们这样的社会活动家,个人隐私将不复存在。

盖子盖上之前,必须将精灵放出来。齐默尔曼着手开发 PGP,并于同年 6 月,对外公布了 PGP 。齐默尔曼让他的朋友将 PGP 分发到各种 BBS 论坛以及互联网上(当时的互联网只是一个学术研究网络,但仍能覆盖全球)。起初,PGP 只是在密码学爱好者中有所影响,但不久,它就被更广泛的互联网爱好者下载,杂志开始整页报道关于 PGP 的内容,渐渐地,PGP 渗入到了数字世界的每一个角落,人们开始用它加密自己的文件,齐默尔曼也开始收到了很多赞扬他发明的邮件。

正当他在世界各地赢得追随者的时候,RSA 数据安全公司公开指责 PGP 侵权,原因是 PGP 使用了 RSA 加密算法,未获得授权。关于专利的问题,齐默尔曼自己是知道的,他只是想把这个问题暂时搁置,他认为 PGP 是为个人打造的免费软件,并非商业软件,在利益上和 RSA 数据公司也没有竞争,因此他希望能获得免费授权。

然而专利之争并不是最大的麻烦。1993 年 2 月,两个 FBI 调查员拜访了齐默尔曼,他们指控齐默尔曼涉嫌非法出口武器,随后以涉嫌违反《武器出口管制法》为由,开始对齐默尔曼展开刑事调查。

一个加密软件怎么就成“军火”了?因为自二战以来,美国政府认为高强度加密工具对国家安全构成严重威胁,《武器出口管制法》将加密工具列为战争武器,受到出口管制,在机械化加密时代,加密工具是一台有形的机械设备(比如恩尼格码密码机),但到了数字化时代,加密工具就是一个计算机程序,所以出口包括 PGP 在内的加密软件需要获得专门许可。

pgp-book

在对他调查期间,1995 年,齐默尔曼以一种富有想象力的方式挑战这些规定,他决定利用书面文字和软件之间的差异来避开出口管制,齐默尔曼在麻省理工学院出版社的帮助下出版了《PGP Source Code and Internals》一书。以图书的形式出版了一个包含完整 C 语言源代码的计算机程序。齐默尔曼为他的图书获得了出口许可,全世界的人都可以从这本书中得到源码指令来构建自己的 PGP 软件,PGP 很快成为了世界范围内事实上的数据加密标准。书籍不是软件,就好比汽车的设计图纸不是汽车,出口图书被视为出口一种知识而不是一款密码设备,这算是对此次调查最直接的回应。

对齐默尔曼和 PGP 的调查引发了一场关于在信息时代加密的积极作用和消极作用的争论。一方认为 PGP 在信息时代中可以保护个人隐私权,另一方认为强大的加密软件如果被犯罪分子使用,后果不堪设想。执法者对于权力是贪婪的,他们希望限制强大密码术的使用,可是如果密码技术被政府机构垄断,意味着普通人在强大的公权力面前完全处于裸奔的状态。归根结底,这是一次关乎个人隐私权力与公共权力之间的争论,是一个社会伦理学问题,想深入了解的朋友可以阅读《密码故事-人类智力的另类较量》这本书,这里不做展开,我们直接说结论,争论的结果是支持加密自由的人占了上风,更多的人愿意将个人隐私牢牢地掌握在自己手中。

随着调查的进行,越来越多的人们加入到了支持齐默尔曼的行列,其中包括许多密码学家。他们成立了一个基金会来负担齐默尔曼的律师费用。同时 FBI 的调查,让 PGP 声名大噪,反而加速了软件的传播。许多人下载 PGP 只是为了看看到底是怎么回事,毕竟这是连美国政府都害怕的加密软件,其中不少人最终成为了它的用户

这个案件因为 PGP 独特的发放方式变得异常复杂,庭审的过程中,律师们围绕一些问题反反复复争论:首先 PGP 并非由本人发行,而是由第三方发行;其次 PGP 只是在美国国内发行,并没有在国外发行,如果有敌对国家的人从麻省理工学院的服务器下载了 PGP,齐默尔曼需要承担责任吗?事实上,齐默尔曼只是把一个 PGP 程序的副本给了一个朋友,这个朋友只是把它安装在一台美国的计算机上,而碰巧的是这台计算机连接着互联网,敌对国可能下载它,也可能不会下载它,那么齐默尔曼犯有“出口PGP”的罪吗?

最后,政府放弃了诉讼,事实上联邦调查局意识到已经太晚了——PGP 早已逃入互联网,而且齐默尔曼受到了许多大机构的支持,比如麻省理工学院出版社,他出版的图书散发到世界各地,起诉齐默尔曼等于起诉麻省理工学院出版社。

联邦调查局不愿起诉的另一个原因是,齐默尔曼很可能被叛无罪。他们没有发现任何实质性的证据,比如能证明齐默尔曼出口 PGP 的磁盘设备,或者证明齐默尔曼将装有 PGP 的电脑出口到敌对国等等。在没有确凿证据的情况下,联邦调查局的起诉不会得到任何好处。1996 年,这场持续了三年的刑事调查终于结束了。这场诉讼让齐默尔曼在计算机界成了英雄,PGP 获得了空前地关注。

pgp-book

照片拍摄于 1996 年司法部撤诉后
  • 1996 年,在政府撤诉后,齐默尔曼成立了 PGP 公司,并顺利从 RSA 公司取得了 RSA 算法授权,从而解决了专利问题,自此之后,PGP 成为了合法的商业软件。
  • 1997 年,PGP 公司被 Network Associates (NAI)收购,齐默尔曼作为高级研究员留任三年。
  • 2002 年,PGP 被一家名为 PGP Corporation 的新公司从 NAI 手中收购,齐默尔曼一直担任该公司的特别顾问直到
  • 2010 年,PGP Corporation 被 Symantec 收购了。

这场有关加密技术的争论,直接影响了当时美国对于加密技术的政策,也间接影响到了其他国家关于加密技术的看法。就 PGP 本身来说,它的创新之处并不是密码学领域的创新,PGP 用到的算法都是已经公布了的加密算法,真正的创新之处在于,它让拥有家用电脑的人都能使用这些工具,让普通人也能用上最先进的、军事级别的加密

什么是 OpenPGP ?

因为 PGP 大量使用了受专利保护的 RSA 和 IDEA 加密技术,任何想在商业上使用 PGP 的人都需要向专利的持有者支付许可费用,人们想要一个对公众和企业都能免费的加密系统。

齐默尔曼在 1998 年提出了一个解决方案,他的公司 PGP Corporation 向负责互联网标准的机构互联网工程任务组(IETF)提交了一份名为 OpenPGP 的设计OpenPGP 定义了标准,任何人都可以遵循这套标准来开发加密软件,可以选择不同的加密算法,这样做的好处是,遵循 OpenPGP 标准的软件之间可以自由安全的通信。

什么是 GPG?

GPG 的全称是 GnuPG, GnuPG 是 OpenPGP 标准的一个开源实现,于 1999 年由德国开发者 Werner Koch 向公众发布。

有 Linux 操作系统使用经验的人,可能对 GPG 这个命令行工具并不陌生,大多数 Linux 操作系统的发行版都内置了这款工具。

GPG 非常容易和其他应用程序集成,有大量的前端应用程序和库可用。由于是开源软件,意味着用户可以自由地运行,拷贝,分发,学习,修改并改进该软件。源码与相关程序点 这里 下载。

书籍 📚

图解密码技术

code-turing

称这本书为密码学入门第一书毫不过分,这是一本普通人也能读懂的密码书,刻意避免使用复杂的数学公式描述问题,而是用简单易懂的插图将复杂问题简单化,建议阅读第三版(加入了比特币的内容)。在如今这个信息爆炸的时代,我们每个人都和信息安全脱不了干系,因此能正确理解「密码能做什么,不能做什么」对于培养安全意识是非常重要的。

密码故事——人类智力的另类较量

the-code-book

正如书名,这是一本故事书,而非密码学的技术书,用故事将密码的演化史串连起来,从剃头密码一直到量子密码,里面既不乏史实,又把密码学不同阶段的技术说得很明白。

电影 📽

第四公民 Citizenfour (2014)

citizenfour

电影上映于 2014 年 10 月,距离“棱镜门”事件过去刚刚一年多,同时该片也获得了第八十七届奥斯卡最佳纪录片奖。影片的三个主人公分别是:导演 Laura Poitras,英国《卫报》的记者 Glenn Edward Greenwald 和前中央情报局职员 Edward Joseph Snowden。片名“第四公民”(citizen four)正是 Snowden 早期与 Poitras 邮件沟通时使用的匿名代号。2013 年 6 月,Poitras 与 Snowden 匿名交流了数月之后,第一次飞往香港与 Snowden 会面,她用随身携带的摄像机真实地记录了当时的场景,而 Poitras 与 Greenwald 也因报道“棱镜门”事件荣获普利策奖

模仿游戏 The Imitation Game (2014)

the-imitation-game

不可否认,计算机发明出来,就是为了破译密码。二战期间,纳粹德军使用了一种叫做恩尼格玛(Enigma)的密码机来加密消息,这是一种高级的机械加密系统。为了破解恩尼格玛,英国政府召集了一批数学家、逻辑学家等高级人才,图灵(Alan Mathison Turing)就是其中之一。破解战场情报好比和时间赛跑,图灵创作了一台加速破解恩尼格码的机器,在这台机器的帮助之下,从而使得军情六处对德国的军事计划了如指掌。但是军情六处以机密为由隐瞒了图灵小组的存在和成就。后世科学家估计,图灵小组的杰出工作,使盟军提前至少两年战胜了轴心国。

国家公敌 Enemy of the State (1998)

enemy-of-the-state

这是一部超级爽片,主人公前 100 分钟势单力薄,最后半小时,在前国家安全局探员的帮助下以其人之道还治其人之身,电影的故事、节奏、剧情十分精彩,这里就不剧透了。电影也表达了一个在高科技的加持之下,不受监督的权力滥用,从头到脚的监控带来的社会伦理问题,但也不算是问题,电影本身给出了答案。

言论 🔊
齐默尔曼定律

2013 年,一篇关于齐默尔曼定律的文章援引了齐默尔曼的话,他在谈到摩尔定律时说道:「技术往往会自然地朝着易于监控的方向发展,计算机追踪我们的能力每 18 个月就会增加一倍」。

菲利普·齐默尔曼

我们正生活在密码术的黄金时代,用现代密码术制造的密码,很可能已经远远超出了所有已知密码术能破译的范围。而且,我认为这种情况会一直存在下去。

参考资料
杨奇的博客 微信公众号
微信公众号
杨奇的博客
评论