1990 年代:密碼龐克與 DES 的衰亡
自從迪菲與赫爾曼曾在史丹佛的會議室中與政府爭論 DES 密鑰長度不足之問題,已經近二十年過去了,而就各方面來看,這個演算法隨著時間依然表現出色。1977 年 1 月,DES 獲正式認定為標準後,美國及全球其他監管機構紛紛採用 DES 作為首選的加密標準;當時普遍認為這是全球最廣泛使用的加密演算法。IBM 的艾倫·孔海姆後來回憶道:「霍斯特·費斯特爾的工作無意中極大地複雜化了當前國家安全局訊號情報的任務。」多年來,儘管研究揭示了 DES 的若干弱點,但均不具備實際應用的可行性,也未引發比窮舉攻擊更易實施的嚴重安全威脅。政府每隔五年便重申 DES 為其首選的加密標準。然而,DES 原本僅打算使用到 1990 年,其持續存在很可能正是因為政府希望將 DES 維持在延命狀態,直至其密鑰託管計畫得以實現。為了向公眾證明 DES 已經過時,並促使更強大的演算法得以出現,密碼龐克們必須證明 DES 的弱點。
1993年,來自Bell Northern Research的Michael Wiener撰寫了一篇論文,其內容與近二十年前Hellman與Diffie的論文相似,詳述了一種更高效的窮舉搜尋DES密鑰空間的方法,並提供了利用定制晶片構建進行該搜尋機器的詳細方案。Wiener的DES破解機僅需耗資一百萬美元,而迪菲與赫爾曼當年的估算則為兩千萬美元。使用這樣的機器,平均只需三個半小時便能找到密鑰;且該機器可根據可用資源進一步縮短搜尋時間——若投資者投入一千萬美元,其搜尋時間可縮至僅二十一分鐘。Wiener得出結論說:「若曾經真有過只有大政府才能攻擊DES的說法,那顯然已不再成立。」
密碼龐克們密切關注著這一發展。根據Wiener的估算,一臺價值一億美元、採用平行處理的DES破解機只需兩分鐘就能定位密鑰;Zimmermann則評論道:「我無法相信國家安全局審查DES加密流量的預算少於一億美元。兩分鐘。該死。兩個他媽的分鐘。」他進一步寫道:「DES已死,死,死。」John Gilmore在密碼龐克論壇上發帖指出:「大多數有能力建造這樣機器的組織(無論是國家政府或其他形式的有組織犯罪),很可能已經建造了許多類似的機器。」
然而,儘管Wiener的論文同樣具備可信度,其對政策的影響力卻並不比迪菲與赫爾曼的論文強多少——畢竟它仍停留在理論層面。幾個月後,儘管DES已進入國家安全局所預估可被破解期限的第三年,美國政府仍再次確認DES為其加密標準,並延長使用五年。
1996 年,另一項證據進一步表明 DES 密鑰長度不足。一群包括迪菲、Matt Blaze、Ron Rivest 與 Michael Wiener 在內的密碼學家撰寫了一份報告,評估對稱加密演算法所需的最低安全密鑰長度。他們指出,為了在 1996 年抵禦政府的破解能力,至少需要 75 位元的密鑰;而 DES 的 56 位元正顯得日益過時。
為應對密鑰長度不足的問題,一項創新被提出——三重 DES,這是 DES 的一個變體,於 1990 年代中期問世。三重 DES 有兩種變型:一種是雙密鑰三重 DES,密鑰長度為 80 位元;另一種是三密鑰三重 DES,則提供 112 位元的密鑰。其運作方式是先用第一把密鑰加密,再用第二把密鑰進行解密(因為第二把密鑰並非原始密鑰,故解密結果會出現錯誤,從而增添一層加密效果),最後再用第三把密鑰(或在雙密鑰版本中重用第一把密鑰)再次加密,產生最終密文。
到了 1996 年 9 月,又有一項破解 DES 的嘗試展開。密碼龐克 Peter Trei 在郵件列表上呼籲,是時候「殺死 DES」了。他回顧指出,相較於軟體攻擊,採用定制晶片構造專用的 DES 破解機器所獲成果要好得多。雖然製造這種定制晶片成本顯著上升,但通用電腦普及,且數量龐大,這些電腦可藉由平行處理組成分散式超級電腦來搜尋 DES 密鑰。密碼龐克們可以為全國各地大學、企業及家庭中的普通電腦編寫破解程式,關鍵在於如何激勵足夠多人部署這些軟體。Trei 建議,應以現金獎勵作為找出 DES 密鑰的激勵;Ron Rivest 甚至建議 Trei 聯繫 RSA Security 的總裁 Jim Bidzos,認為若 DES 崩潰,RSA 將憑藉其演算法組合爭取市場份額,Bidzos 隨後捐贈了一萬元獎金。
儘管密碼龐克們對此充滿興奮,但他們也憂慮政府會如何詮釋、媒體會如何報導,以及公眾將如何解讀這一成果。密碼龐克 Jim Bell 曾發帖說:
「我認為這並非一個好主意。這實際上只會無意中證明破解 DES(至少在非專用硬體下)有多困難——他們可以說,『這些傢伙必須投入 1,000 至 2,000 萬美元的電腦設備運行整整一年,才能破解一條消息!』」
Mike Duvos 預見標題可能會是:「密碼龐克展示 DES 可抵抗 9,000 個 Pentium 年的摧殘仍運作如初。」但另一位以「Attila T. Hun」為筆名的用戶認為,若能贏得公眾支持將產生正面效應:「我們正在證明聯邦政府是個騙子……我們甚至可能被視為正面力量,而非邪惡勢力……不過我懷疑,因為媒體智商太低了。」密碼龐克們擔心,他們最終可能不會被描繪成揭露美國政府虛偽的數位叛亂者,而會被視為利用智慧破壞互聯網安全,從而惠及罪犯與間諜。
RSA 秘密密鑰挑戰於 1997 年 1 月宣布。這是一個已知密文挑戰;RSA 提供了消息前 24 個字元「The unknown message is:」,以便參賽者能識別何時已成功找到密鑰。雖然提供消息開頭可能被認為對攻擊者有不公平優勢,但大多數消息本身都具有一定結構,或包含如「Dear Sir or Madam,」等固定短語(即 Cribs),這些特徵可在解密資料中被搜尋到。
Peter Trei 已經開發出針對 DES 攻擊的軟體,並於 1 月底將測試版發送給其他密碼龐克,使他們能夠構建自己的 DES 破解超級電腦。由於持續的加密出口管制,為避免法律後果,Trei 在發送檔案前要求密碼龐克們提供真實姓名、地址及國籍,並確認他們了解該程式碼不得離開美國。這一措施可能限制了參與者數量,因為許多人在郵件列表中以化名運作;然而,也有部分人可能提供虛假資訊,以讓 Trei 能夠在試圖阻止出口時獲得合理否認權。Trei 推動 DES 挑戰的努力取得了成功,但他試圖領導社群攻擊 RSA 加密消息的行動則收效較差;儘管如此,他的行動激勵了來自科羅拉多州的自由程式設計師 Rocke Verser。
Verser 撰寫了一個比密碼龐克們更高效的密鑰搜尋算法,並圍繞他組成了一支名為 DES 挑戰(DESCHALL)的團隊,該團隊的大部分運算能力來自眾多成員所在的大學。當 DESCHALL 團隊遍布大陸的電腦在密鑰空間中搜尋時,美國國會正辯論著「透過加密實現安全與自由法案(SAFE Act)」,該法案將放寬加密管制。在 1997 年 3 月的辯論中,司法部刑事部門的 Robert S. Litt 表示,利用一臺價值 3,000 萬美元的超級電腦進行窮舉攻擊,國家安全局大約需要一年零八十七天才能破解一把 DES 密鑰。DESCHALL 團隊立志證明他們能做得更好,藉此揭露國家安全局的虛偽,並影響國會輿論,從而破壞出口管制、抹黑 DES。
1997 年 6 月 17 日凌晨十二點前九分鐘,一臺在鹽湖城運作的 Pentium 電腦完成了其使命。該電腦每秒嘗試 25 萬個密鑰,耐心搜尋那 72 兆兆個可能密鑰中的唯一正確密鑰,最終完成了任務。
同日,Rocke Verser 公布成功破解的 DES 消息內容為「Strong cryptography makes the world a safer place」(強大的加密技術使世界變得更安全)。Verser 描述道,「成千上萬的電腦協同合作參與了這次挑戰,這被認為是政府以外最大規模的超級計算努力之一。」他們花了四個月的時間搜尋,覆蓋了 72 兆個可能密鑰中的四分之一,搜尋速度達到每秒 70 億個密鑰。DESCHALL 團隊指出,有 78,000 個獨立 IP 位址參與了這次超級計算,每天平均動用 14,000 台電腦。「這正以實例而非數學計算證明,破解 DES 幾乎不需花費什麼成本,」Verser 的合作者 Matt Curtin 在發布時補充道。RSA 自己的新聞稿則暗示這個使用了二十年的標準即將走向終結:「這或許是最後一擊,表明它的時代已經過去。」Jim Bidzos 表示:「這證明了一個有決心的團隊,利用輕易取得的桌面電腦,就能破解 DES 加密消息,使得 56 位元的短密鑰作為國家標準在商業應用中已無法接受。」然而,正如迪菲一年後所言,「密碼系統有九條命。」
儘管許多密碼龐克對於破解 DES 的勝利感到歡欣鼓舞,但 Tim May 認為他們正逐漸偏離其「激進根源」。他於 6 月 21 日在密碼龐克論壇上發帖說:
「我認為『破解 DES』的挑戰雖然有趣,但僅僅是一個旁支花絮,而且完全在預料之中……就像許多密碼龐克的目標一樣,我遺憾地看到大家不斷退回到較低、不那麼激進的議題上……我們正在忽略更深層次的問題。」
May 主張,密碼龐克們的重點應放在廣泛開發與部署強大的密碼學和匿名化技術上,讓任何法規都無法逆轉他們的存在。他還評論道,如果參與破解 DES 的人能夠在他們的機器上「架設轉郵伺服器和匿名化服務」,那將比單純破解 DES(我們都知道 DES 是可以被破解的)更能推進密碼龐克的目標。
雖然 DESCHALL 團隊認為某些媒體對其成功的報導(例如《紐約時報》的文章)具有正面效應,但許多報導卻過度強調達成這一壯舉所需的大量資源。Matt Curtin 回憶道,CNN 相關報導的副標題為「但它花了四個月」,「大多數媒體的報導風格大致如此。」DESCHALL 的批評者則主張,破解密鑰需要動用數以萬計的電腦運算月,而這種資源大部分攻擊者無法獲得,因此公眾無需過分憂慮。即使 DESCHALL 團隊本可以指出,罪犯會利用僵屍網路來取得類似的平行處理能力,但公眾仍對互聯網的本質感到困惑,這類反駁恐怕難以獲得共鳴。
1997 年,美國 FBI 主任 Louis J. Freeh 在向國會簡報時淡化了其機構存取加密流量的能力,他說:
「如果我們把數千台電腦聯合起來,並共同運作四個月,就如最近展示的那樣,可能僅能破解一條消息的一小部分。但這對綁架案件或國家安全案件來說毫無意義。我們既沒有足夠的技術,也缺乏窮舉能力來獲取這些資訊。」
國家安全局副主任 William P. Crowell 補充道:
「對於執法機構來說,窮舉破解並非解決方案……上週,一個互聯網團伙利用 56 位元 DES 破解了一條消息。花費了 78,000 台電腦 96 天,報導標題就是『DES 具有弱加密』。」
密碼龐克們也獲得了一些政府盟友的支持。在多項密碼法規辯論中,參議院多數黨領袖 Trent Lott 為他們發聲,指出「對於強大資訊安全的需求絕不會消退」,他特別提到 DESCHALL 的努力,並補充說:「既然 56 位元加密已經被網路上團結合作的個人破解,那麼受此技術保護的資訊就變得脆弱,對資訊實施更強安全保護的需求比以往任何時候都更為迫切。」蒙大拿州參議員 Conrad Burns 亦表示:
「我們曾任由加密問題被框定為兒童色情或賭博問題。我希望各方都明白,加密安全標準的改革與這些問題無關。必須限制駭客、間諜以及那些只想搞破壞的人通過互聯網存取私人資訊。正確使用加密技術可以使偏遠地區的公民獲得與大城市居民相同的資訊、技術以及醫療保健品質;而最重要的是,這關乎確保美國企業擁有持續開發並提供全球市場領先技術所需的工具。若失去這種領導力,我們的國家安全與主權必將受到威脅。」
密碼龐克們不再與整個體制為敵。
1997 年底,隨著密鑰託管政策的失敗,DES 的終結最終宣告。新標準的研發將耗時數年——它被命名為先進加密標準(AES)。政府表示,「轉換至任何新加密標準將需要一個多年的過渡期,而 DES 對於許多應用來說仍具有足夠強度。」發布聲明中也提到好消息:「AES 將制定一個非機密、公開披露、全球免費授權的加密演算法,能夠在下個世紀持續保護敏感政府資訊。」最終,政府將採納這一基本原則:加密演算法的強度應源自其密鑰,而非演算法設計與流程的保密性;數日後,Matthew Ghio 在密碼龐克郵件列表中興奮地發帖說:「看來內部出現異議了。」電子前哨基金會的 DES 破解機書中寫道:
「AES 推遲推出的原因在於,相信國家安全局過去十年一直阻撓啟動此過程。近年來,國家安全局曾試圖讓技術界採用機密的、由其設計的加密演算法(例如 Skipjack),而不讓用戶對這些演算法進行公開審查。只有在這些努力失敗後,他們才允許國家標準與技術研究院開始 AES 的標準化流程。」
如今看來,如果國家安全局確實在人工延長 DES 的壽命,那麼這個生命支持也已被撤銷了。
1999 年 10 月底,DES 第四次被確認為聯邦資訊處理標準,但附帶條件是以三重 DES 為首選版本,而單一 DES 僅限於舊系統使用。2002 年 5 月,AES 被批准取代 DES 成為聯邦資訊處理標準。AES 128 擁有 340 兆兆兆兆個密鑰,其密鑰數量比 DES 多出 5 個六萬億倍。即使到了 2020 年,全球最快的電腦仍需耗費 5,000 萬兆年才能窮舉出正確密鑰。國家標準與技術研究院於 2005 年正式撤銷 DES,並給予政府機構兩年的寬限期以停止使用該演算法;至 2007 年 5 月,DES 終於退出歷史舞台。