科技基础教程:公开金钥加密

过去八十几年来,现代化电脑计算、网路发展、加密技术呈爆炸性成长,这皆是由军方及学术界合作而来的成果,有时也会有合作厂商的帮助。这三个领域的技术发展已形成新型态的科技,甚至可能改变人性的连结方式。这在两派人马之间创造了摩擦,一派代表军方,他们认为这些技术应该限制在安全利益的用途上,另一派则是看见了这些技术的潜能,他们认为新技术可用于如促进人权发展的高远目标。

Whitfield Diffie Martin Hellman 在 1976 年发表了 “New Directions in Cryptography”,他们在引言中指出,利用电脑的沟通方式将会把全世界的人们连结在一起,且个人之间的沟通(非军方或财务组织)将会需要确保其安全性。他们为老旧的密码传输加密法提供了解决方案,而这段话则写在引言之中。他们所描述的系统能让两个从来没见过面的人,在不被第三方监听的情况下彼此沟通。

他们提议使用数学的函数来建立一对金钥,一个是公开的金钥,另一个则是私密的。公开的金钥,可供众人检视,将用来为讯息加密,而只有拥有私密金钥的人可以解密。Diffie 和 Hellman 解决了金钥交换的问题,但他们没有解决使用单向函数的问题。

这个问题引起了三位麻省理工学者的兴趣: Ron Rivest, Adi ShamirLeonard Adleman

他们花了将近一年的时间,试着找出解决方法。在 1977 年四月,他们一起度过逾越节,三人把酒言欢。在那天晚上,Rivest 严重失眠。Rivest 花了整晚的时间研究出 RSA 加密演算法RSA 则为三人姓氏开头的字母:Rivest, Shamir Adleman。在三人验证并改善此系统后,在 1977 年的八月,他们正式发表了成果,并在同年的12月于麻省理工学院注册专利。根据这项专利,Rivest, Shamir Adleman 在 1982 年成立了一家名为 RSA Security 的公司,以宣扬 RSA 加密演算法。

不过,这些成就并不怎么受到军方的欢迎。加密工具一直是美国军品管制清单 (U.S. Munitions List) 上的项目,且早在 1977 年时,美国国家安全局 (NSA) 就已表态,他们认为民间研发的加密工具,例如公开金钥加密和 RSA,具有威胁性。

同时,在 1980 年代,电脑和网路已从政府机关和大学实验室走入一般家庭与办公室。

美国众议院有一项法案,欲限制大众使用金钥加密,这让科罗拉多州一名反核的抗议者 ─ Phil Zimmerman,开始研究将公开金钥加密法应用至 email 传输上,他后来称这个专案为“人权专案 (human rights project)”。Zimmerman 认为 RSA 加密演算法无法用在实验室以外的地方,因此他“借”了这个演算法,建立另一种杂凑加密演算法 Bass-O-Matic。Bass-O-Matc 这个名称来自于电视节目“周六夜现场”里的一个小喜剧。

1991 年的六月,Zimmerman 发表了“Pretty Good Privacy”,也就是第一版的 PGP,使用 Bass-O-Matic 为电子邮件加密。Zimmerman 在他的文章中写道:“最好每个人都能习惯性地为电子邮件加密,不管那个人有无犯罪。如此一来,就不会有人为了隐私而加密电子邮件时,引起别人的怀疑。”他将加密形容为“团结一致”的一种形式。

在发布至网路上的几个小时内,PGP 即走入了全世界。

不过,这也让 Zimmerman 被卷进了麻烦之中,在美国海关和 RSA 加密演算法都出了问题。

首先,因为 PGP 在美国境外发售,将 PGP 发表到网路上的行为让 Zimmerman 被指控为“贩售军火”。针对这个问题,他想出了独特的解决方法:将 PGP 的原始码透过麻省理工出版,在美国宪法第一条修正案的保护下贩售。想要 PGP 资料的人们可以选择买书,把印有 PGP 资料的那几页撕下来,拿去影印或是直接打进电脑里。

而在美国法院将宪法第一修正案的保护范围延伸至所有软体原始码后,美国海关的问题才算是解决了。

Zimmerman 的第二个麻烦是,他使用了 RSA 的技术,这侵犯了 RSA 的专利。这个麻烦比较难解决。PGP 第三版为没有专利的 DSA ElGamal 演算法舍弃了 RSA 。接着,新的 PGP 公司与拥有 RSA 授权的 Viacrypt 合并,但专利问题让 PGP 遇到一些收购上的问题。

同时,Netscape 正在研发使用了 RSA 的新技术。

Netscape 的问题不在于电子邮件加密上。PGP 仅为应用层面的工具。Netscape 提供的是传输层安全协定,Netscape 工程师所研发的工具是 Secure Socket Layer,即 SSL。他们没有将第一版发布在 Netscape 以外的地方,第二版于 1995 年发布,但因为严重的安全性问题,Netscape 又开始制作第三版。

Netscape 的工程师 Phil Karlton Alan Freier 与密码研究员 Paul Kocher 一起合作,当 Kocher 还在史丹佛大学主修生物学时,曾在 Martin Hellman 那兼差过。他们三人随即发表了 SSL 第三版。

1997 年,Zimmerman 带着 PGP 到国际网路工程研究团队 (Internet Engineering Task Force;简称 IETF),希望能制订一个 OpenPGP 的标准。

所以,在今日,RSA 加密演算法的专利已释出,而 OpenPGP 已成为网路标准系统。

在 1999 年,SSL 协定成为了网路标准,并改名为 TLS

Diffie 和 Hellman 对网路未来发展的预测获得验证,而他们革命性的发现也促成了 RSA 的诞生。这个发展确实能让军方当权者侷促不安。

不过,Phil Zimmerman 那“希望所有的电子邮件都能加密”的愿望并未实现。TLS 层级的安全性已超出加密电子邮件所需要的程度,但 TLS/SSL 尚未普及至全世界。

公开金钥加密是无价的人权保护工具。而大众加密工具与狭小的法律、军方利益仍是讨论的议题。加密技术尚未普及,其所带来的冲突也还无法解决。