講義中場休息的「fun fact」其實一點也不輕鬆:它是 Problem 3 的全部題材,也呼應 Blanchette 對密碼學的定義——為了規範行為而寫的程式碼。一旦程式碼能夠規範行為,政府就會想規範程式碼。

法律框架:AECA、ITAR 與美國軍火清單

  • 美國《武器出口管制法》(Arms Export Control Act, AECA)授權總統管制「國防物品」的出口;實施細則是《國際武器貿易條例》(International Traffic in Arms Regulations, ITAR),由國務院主管。

  • ITAR 的美國軍火清單(United States Munitions List, USML)第 XIII 類明列「密碼裝置與軟體」,與飛彈、戰機、槍械並列。

  • 「出口」的定義極廣:把軟體上傳到可被境外存取的網路、甚至對外國人揭露技術資料,都可能構成出口。違反者最高十年徒刑或一百萬美元罰金。

  • 弔詭之處:印刷品不受管制(公開領域與出版品豁免)。同一份原始碼,印成書可以出口,存成磁片就是軍火。

三個案例

1990 年代中期,Netscape Navigator 內建的 SSL 讓線上刷卡成為可能。為了符合出口管制,Netscape 必須做兩個版本:

  • U.S. version:完整金鑰長度——128 位元 RC4(或 3DES)對稱金鑰、1024 位元以上的 RSA。

  • International version:刻意削弱——40 位元對稱金鑰、512 位元 RSA(所謂的「export-grade」加密套件 )。40 位元金鑰在當年用一台工作站幾天就能暴力破解。

取得美國版手續繁瑣,連許多美國使用者最後拿到的都是國際版。 後遺症延續了二十年:2015 年公開的 FREAK 與 Logjam 攻擊,就是利用許多伺服器與瀏覽器仍然支援這些 1990 年代的 512 位元出口級套件,由中間人把連線「降級」到可破解的強度。刻意植入的弱點,比當初的政策活得更久。

  • 1991:軟體工程師 Philip Zimmermann 釋出 Pretty Good Privacy(PGP),第一個讓一般人用家用電腦做公鑰加密 email 的免費軟體;程式被(他人)張貼到 Usenet,數日內傳遍全球。

  • 1993:加州聖荷西的聯邦大陪審團展開刑事調查,審理 PGP 的全球散布是否違反 AECA/ITAR。Zimmermann 被告知他是調查目標。

  • 1994 年 11 月 9 日:Zimmermann 自歐洲演講返美,在華盛頓杜勒斯機場被海關特別探員攔下、搜查行李並在無律師在場下長時間訊問 PGP 的出口問題。(講義簡化為「被逮捕」;精確地說是被攔查訊問,當時並未遭正式逮捕或起訴。)

  • 1995:MIT Press 出版《PGP Source Code and Internals》——整本書就是 PGP 的完整原始碼,以 OCR 友善字體排印。因為書可以合法出口,境外讀者掃描後即可重建軟體。這是對「磁片是軍火、紙本是言論」這條界線的公開挑釁。

  • 1996 年 1 月 11 日:聯邦檢察官宣布結束歷時三年的調查,不予起訴,未說明理由。

Stay(1997)的法律評論即以此案為軸,檢討 ITAR 在第一修正案(言論自由)、第五修正案(法律明確性,vagueness)與「政治問題原則」(political question doctrine)下的合憲性。詳見 Problem 3。

俄亥俄州 Case Western 大學法學教授 Peter Junger 想把自己寫的加密程式原始碼放到教學網站上,供「電腦與法律」課程使用,卻因此需要出口許可。

  • 1996 年 11 月:柯林頓簽署第 13026 號行政命令,把非軍用加密產品的出口管轄從國務院(ITAR)移轉到商務部(EAR),但明言管制理由是軟體的「功能性」而非「資訊價值」。

  • 1998:地方法院判 Junger 敗訴,認為加密原始碼「不具足夠表達性」,不受第一修正案保護。

  • 2000 年 4 月:第六巡迴上訴法院逆轉:「對熟悉程式語言的人而言,原始碼是傳達密碼學想法最有效、最精確的方式」,因此原始碼是第一修正案保護的言論;原始碼的功能性應在審查政府管制是否正當時納入考量(中度審查標準),而非用來否定其言論地位。案件發回重審。

  • 幾乎同時(2000 年 1 月),商務部大幅放寬加密出口規則,爭議在實務上失去急迫性。

Harvard Law Review 的案例評析(Fromer, 2001)則批評第六巡迴法院「一切原始碼皆為言論」的結論過於寬泛,偏離最高法院對「象徵性行為」的判準(Spence v. Washington):純粹為了執行而寫、無意與人溝通的程式碼,未必是言論。

「密碼戰爭」(Crypto Wars)第一回合的時間軸。

為什麼這段歷史屬於密碼學課程?

  • 密碼學是關於權力的:誰能讀、誰能寫、誰能證明——這正是 Rosulek「控制資訊存取」的定義。控制權的分配從來不是純技術問題。

  • 同一個物件有多重身分:一段 RSA 程式碼同時是數學、是言論、是商品、是武器。法律必須決定用哪個身分看待它,而這個決定會改變人們能做什麼。

  • 刻意的弱點是永久的:40 位元與 512 位元的出口級套件在政策結束後仍存活了二十年,最終成為 FREAK/Logjam 的入口。這對今日所有「只給好人用的後門」提案都是直接的教訓。

  • 同樣的辯論仍在進行:2016 年 Apple 與 FBI 的 San Bernardino 手機解鎖之爭、澳洲 2018 年《協助與存取法》、英國 2023 年《線上安全法》與歐盟「Chat Control」提案中關於端對端加密與客戶端掃描的爭議,都是同一場辯論的續集。

筆試較少直接考歷史細節,但可能要求你「舉例說明密碼學的社會/法律面向」或「說明刻意削弱密碼學的風險」。記住三個關鍵字:ITAR/軍火清單、Netscape 國際版 40 位元、Junger v. Daley:原始碼是言論;以及一個後果:FREAK/Logjam。