科技基礎教程:公開金鑰加密

過去八十幾年來,現代化電腦計算、網路發展、加密技術呈爆炸性成長,這皆是由軍方及學術界合作而來的成果,有時也會有合作廠商的幫助。這三個領域的技術發展已形成新型態的科技,甚至可能改變人性的連結方式。這在兩派人馬之間創造了摩擦,一派代表軍方,他們認為這些技術應該限制在安全利益的用途上,另一派則是看見了這些技術的潛能,他們認為新技術可用於如促進人權發展的高遠目標。

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 尚未普及至全世界。

公開金鑰加密是無價的人權保護工具。而大眾加密工具與狹小的法律、軍方利益仍是討論的議題。加密技術尚未普及,其所帶來的衝突也還無法解決。