密鑰託管:Clipper晶片的起源

為了提供密鑰交換和保密性,NSA在1990年代初期悄然進行Clipper晶片的開發,這個計劃是在司法部的要求下啟動的,但也與NIST 1989年的請求有關。

密鑰託管是一種監管形式,旨在解決加密戰爭中的核心技術問題:在提供強大加密技術來保護公民免受數位威脅的同時,讓政府擁有“例外存取”(後門)機制。關於密鑰託管,主要有兩個理論問題。首先,密碼學家多次質疑加密算法中的例外存取方法的實用性。任何形式的存取方法或加密弱點,理論上也是非政府行為者可以利用的漏洞。其次,密鑰託管依賴於對政府不會濫用它所擁有的存取權限的信任——在美國,這在當時是非常困難的,因為水門事件及其他損害政府可信度的事件仍歷歷在目。進入21世紀,特朗普政府也展示了為何在沒有驗證機制的情況下,不應信任政府。因此,要讓密鑰託管有任何機會獲得公民的接受,必須建立一個透明且強大的監督機制,而開放性和安全性/情報操作常常是直接衝突的。在考慮密鑰託管或任何安全控制或監管時,實施應該依賴於風險計算。風險是更大,讓技術不受監管,還是進行監管,但接受與監管相關的所有風險——密鑰託管的主要風險是政府濫用權力,這種濫用可能會促成民主的侵蝕。Ron Rivest在1997年寫信給參議員時提出了這一點。Rivest爭辯說,只有在能夠做到的情況下,並且監管的好處超過了成本,技術才應該受到監管。Rivest認為,密碼學並不符合這些條件,因為監管加密技術就像“試圖命令大海退去。”Rivest評論道,密鑰託管就像是“將你的阻燃材料浸泡在汽油中”,這樣做可能會導致“你原本想防止的災難性故障。”Rivest還指出,如果有組織的犯罪腐敗了“只幾個官員或法官……我們的國家信息基礎設施的安全性[可能最終]會在有組織犯罪‘回收’的密鑰的火焰中消失。”

Clipper並不是NSA第一次嘗試將其算法嵌入商業產品中。1980年代中期的商業COMSEC認證計劃(CCEP)是一個項目,旨在允許選定的行業夥伴將美國機密算法嵌入到其產品中,這些產品隨後將通過NSA認證。Jim Bidzos表示,CCEP就像是“Clipper在黑盒子裡”;該算法無法被檢查來驗證是否存在隱藏的NSA存取機制。該項目最終未能成功,因為業界已經大量投資於DES設備,基於美國秘密技術的解決方案無法服務國際市場。對這一計劃需要進一步研究。

更近一步,1992年,FBI的先進電信單位寫了一篇名為《新興電信技術對執法影響》的報告,以加強他們的論點,這可能是為了應對即將到來的克林頓政府對Clipper政策可能提出的挑戰。這份機密文件闡述了執法部門面臨的挑戰:“電信行業的技術進步將促進可負擔的…加密技術設備的開發和生產,這些設備將應用於語音、數據和影像傳輸。”報告解釋說,已經部署了防止政府存取的電信加密產品。FBI預測,在最壞的情況下,到1994年,只有40%的攔截產品將是未加密的,而到1995年將沒有可用的產品。FBI強調攔截的價值,指出1985年到1991年,電話竊聽帶來了7000宗定罪,導致2.95億美元的罰款、7.56億美元的追回款項、賠償金和沒收款,以及18億美元的預防經濟損失。FBI提倡一個國家級的密碼學戰略,“為合法使用者提供無法被對手擊敗的加密保護”,同時確保“加密設備和系統能夠被執法部門實時解密”;最具爭議的是,FBI主張政策應該“禁止無法滿足該標準的加密技術。”FBI認為,“允許不受監管的優秀加密技術使用將建立一個進行犯罪活動的電子避難所,不受法律程序的約束。”

在選舉年1992年,推出這一有爭議的密鑰託管計劃將是不明智的。理想的情況是,Clipper應該在新總統任期開始時推出,給予兩年的時間讓任何公眾的不安在期中選舉前平息。FBI和NSA也意識到,在現任布希政府的情況下推進Clipper的“陷阱”,最嚴重的風險是,如果“可利用的”晶片在即將上任的克林頓政府批准解決方案之前曝光,將會造成嚴重後果。FBI局長William Sessions得到了建議:

如果這種情況發生,可能會導致他們被推向否認先前布希政府的做法,以避免爭議,而不是克林頓政府與我們共同努力,說服國會和公眾我們立場的優點。

然而,這裡有一個問題。在1992年底,AT&T準備推出一款比市場上任何產品都更先進的安全電話。這是首次將安全電話推向大眾市場,並且到1993年4月,可能會生產10,000部。AT&T的電話安全設備(TSD)3600型使用DES加密,它便攜,並且可以連接到任何有線電話。FBI的一份簡報中將3600技術描述為“優於並且比類似的電話加密設備更易於使用”,而且價格為1000美元,是類似設備價格的一半。該設備的大小如同一本小書,重量也不重;它只需兩個按鈕和一個LCD顯示屏,使用者只需按下“go secure”按鈕,即可加密,將音頻數位化並加密位元流。

這樣的技術加速正好與NSA和FBI的願望相反。在克林頓就職之前,需要進行干預。總檢察長將AT&T問題交給了FBI局長Sessions。Clipper晶片的開發加速進行。政府需要要求AT&T在3600中使用Clipper晶片,而不是使用DES,以確保市場力量不會使他們的密鑰託管計劃變得無關緊要。Sessions致電AT&T的主管,如果他們同意在3600中使用Clipper,政府將以900萬美元的價格購買9,000部。這個誘因起作用了,至少目前市場得到了控制。

FBI局長Sessions於1993年2月19日代表由FBI、NSA和司法部組成的工作小組,寫信給克林頓總統新任命的特別顧問、國家安全委員會情報計劃高級主任George Tenet。這封最高機密信函告訴Tenet:

“最近通信技術的進步,特別是電信技術,以及加密技術的可用性和使用的增加,威脅到有效執法的能力,並且在許多情況下可能會完全妨礙。”

需要技術解決方案來應對這一威脅,"這些解決方案需要被納入所有加密產品中。為了確保這一點,必須立法強制使用政府批准的加密產品或遵守政府的加密標準。”

Clipper晶片在1993年4月15日由克林頓總統在一份機密指令中授權,他表示:“執法機構可以存取託管的密鑰,這一事實不會對美國公眾隱瞞。”克林頓寫道:“我並不打算阻止私人部門開發,或政府批准,其他能有效保證隱私和安全密鑰託管系統的微電路或算法。”Clipper的目標是提供實時語音、傳真和數據加密,以及攔截能力。與此同時,克林頓發布了一份總統審查指令,指示進行一項跨機構審查,涵蓋多個加密技術議題,包括密鑰託管的影響,以及它是否可以在軟體中實現。十個月後,該審查評估現行的出口管制“符合國家利益,並應繼續維持。”白宮隨後公開宣布了Clipper。Clipper被呈現為一個“自願計劃,旨在提高電話通信的安全性和隱私,同時滿足執法機構的合法需求。”這種自願性質表明,克林頓政府認為強制性計劃可能不會為公眾所接受,或者與威脅不成比例。或者,這可能是一個計劃,首先建立Clipper,然後再將密鑰託管變為強制性。該公告提出:

“我們需要‘Clipper晶片’和其他方法,既能為守法公民提供他們所需的加密技術,又能防止犯罪分子利用它來隱藏非法活動。”

白宮認為在相互競爭的利益之間找到了平衡:

“政府並不是說,‘因為加密威脅到公共安全和有效執法,我們將完全禁止它’……也不是說‘每個美國人理所當然地有權擁有無法破解的商業加密產品’。這種評估中存在一種虛假的‘緊張’情況,將這個問題誤認為是一個‘非此即彼’的選擇。事實上,兩者的擔憂是可以並且實際上是通過合理、平衡的方法來和諧平衡的,正如我們在‘Clipper晶片’中所提議的。”

公告解釋說,這款“最先進的微電路”是由“政府工程師”開發的:

“每個包含該晶片的設備將擁有兩個唯一的‘密鑰’,這些密鑰將是授權政府機構解碼設備所加密的消息所需的。當設備製造完成後,這兩個密鑰將分別存放在由總檢察長設立的兩個‘密鑰託管’數據庫中。對這些密鑰的存取將僅限於擁有合法授權進行竊聽的政府官員。”

該公告聲明,Clipper“並未賦予執法機構任何新的權限來訪問美國公民私人對話的內容。”隨後,宣布託管的密鑰將存儲在NIST和財政部的自動化系統部門,因為他們“擁有保護敏感信息的能力,同時能夠在竊聽遇到加密通信時及時回應。”公告指出,總檢察長將採購幾千部AT&T的Clipper設備來“展示其有效性”,並進一步增強對該技術的信任。“受人尊敬的專家”將被授予訪問Clipper算法的權限,以“評估其能力並公開報告其發現”,儘管該算法對公眾保密。AT&T的Ed Hickey另行表示,Clipper將為其客戶提供“遠遠超過的保護,以對抗駭客或竊聽者試圖攔截通話。”Hickey補充道,Clipper將“支持政府保護公眾的努力,也支持公眾的隱私權。”

這一公告登上了《紐約時報》的頭版,NSA的參與由John Markoff報導。Clipper最初是NSA的內部術語,而非官方產品名稱,但政府開始使用這個術語並且這個名稱被固定下來。這個名稱不太理想,並成為許多批評的基礎,William Safire後來在《紐約時報》寫道,政府的這一倡議“剪掉了個人自由的翅膀。”

Clipper的編程將在加利福尼亞州Mykotronx的一個特別創建的敏感分區信息設施(SCIF)內執行。Mykotronx在1991年底被選中完成Clipper晶片的邏輯設計。根據白宮的說法,Mykotronx之所以被選中,是因為他們“擁有快速設計定制加密晶片的專業能力……安全設施和[最高機密]的清算人員。”VSLI Technology,也位於加利福尼亞州,被選為晶片鑄造廠,“主要基於其製造抗逆向工程微電路的技術能力。”

這兩個80位的“種子”密鑰將在Mykotronx的SCIF內的兩台分開的計算機上生成,然後轉移到軟碟中,再插入一台計算機中生成最終的80位組合編程密鑰或單位密鑰,用於插入Clipper晶片。除了單位密鑰外,每個Clipper晶片還擁有一個唯一的序列號。Clipper晶片的價格為每批10,000個30美元。Clipper的運行速度為每秒12兆位(百萬位)。

當兩個Clipper設備需要互動時,它們首先協商一個會話密鑰,用於加密64位數據塊。一個執法訪問字段(LEAF)使用晶片的單位密鑰來加密會話密鑰,並與晶片的序列號結合,再用家庭密鑰(所有Clipper晶片共有的密鑰)進行加密。為了解密流量,政府代理人使用家庭密鑰解密LEAF,並提取發送晶片的序列號。代理人將序列號和合法的搜查令交給託管機構,後者釋放這兩部分密鑰,允許代理人提取會話密鑰並解密消息。