?淺析美軍密碼安全裝備特點及機理
一 前 言
很早以前就從影視作品中看到這樣的一幕--美國總統、國務卿、參謀長等高官坐在五角大樓辦公室里面,現場指揮飛機用導彈攻擊地面目標,同時直觀看到攻擊后的結果,然后一起開心鼓掌微笑···。現實中真的能做到還是僅僅存在于電影電視作品?通過仔細分析美軍現役密碼裝備特點與設計實現思路, 可以確信美軍真的能做到, 美軍 C5ISR 真的就是這樣設計的,美軍是如何做到的?值得我們分析分析。
二 美軍密碼裝備的特點
C5ISR 是美軍一直追求的目標,為此美軍密碼裝備的設計指導思想是強調戰場信息互聯互通保障,為美軍實現作戰指揮綜合信息的全時段、多手段、高時效的動態安全保護,全面支持全球信息網格, 密碼系統在全球柵格網上的任何地方提供安全的信息傳遞, 為 C5ISR 、IT 和武器系統提供有保證的機密性、完整性和身份驗證服務。
根據目前已公開并收集到的情報資料匯總, 美陸海空三軍、海岸警衛隊、海軍陸戰隊等在役密碼裝備 48 種(包含系列),縱覽這些密碼裝備產品,表現出如下幾個方面的突出特點:
1 、應用面極廣
許多保密機產品說明書中都表明它不僅僅裝備于陸軍, 海軍、空軍 ···,甚至裝備于國防部、國土安全部 … . ,更有甚者,它們還廣泛裝備于遍布全球的友軍。要做到這點,背后支持它的必須具有以下能力:
1)超強的互聯互通能力
美軍陸海空密碼裝備不僅能與美軍陸海空自己的密碼裝備之間實現互聯互通, 還能跨軍兵種互通甚至與外國的互通。
比如: 美軍的 AltaSec?KG-250 與外國互通(FI)的 HAIPE (高保障 IP密碼機互通規范) ?高速 IP 網絡加密機,該保密機通過了美國國家安全局(NSA)認證, KG-250 可編程適合與外國互通(FI)。由于有了 NSA 頒發的證書, Viasat 公司就能將這款王牌密碼機提供給更廣泛的用戶團體, 其中包括美國國防部、國土安全部和經授權的其它國家。 KG-250 是首臺通過NSA 認證、擁有 Suite B I類密碼算法的高保障 IP 加密(HAIPE)設備, 也是第一種完全符合 HAIPE 互通規范和外國互通(HAIPE IS-FI)標準的產品。它允許用戶在 Suite A I 類或 Suite B I 類密碼算法之間進行變換并改進了密鑰管理功能,因而能更好地支持多國部隊作戰。借助其可編程能力,用戶在戰場上可以升級新的外國互通能力。
KG-250 同時支持密碼現代化和 HAIPE IS,代表著加密產品的重大突破。KG-250 軟件遵守 HAIPE 標準,為融合、匹配不同供應商的產品提供了機會,同時還可根據具體用戶應用選擇滿足性能、聯網與安全、環境需求的最佳產品。
2007 年 10 月, ViaSat 公司宣布獲取美國空軍加密支持組(CPSG)870萬的合同, 購置 2000 臺產品, 接受操作與存儲培訓, 購買系統測試裝置及軟件維修與支持, 計劃 2012 年 7 月完成交付。
2)超強的跨安全域能力
多款密碼裝備在美軍中同時實現保護絕密、機密、秘密甚至非密信息,美軍無論是在鏈路層還是網絡層,無論是有線還是無線終端方面均大量部署和裝備了這樣的具有多安全域、多安全級的產品。比如:
KIV- 19M 鏈路加密機:KIV- 19M 是群路加密設備(TED),提供所有密級數字數據業務的密碼保密,傳輸速率達 50Mbits/s。它可存儲 5 條不同業務算法, 可通過終端用戶進行選擇來配置。每條 KIV- 19M 的信道可獨立配置來處理業務。這樣,每條信道可使用相同或不同的算法,并且,可對每條信道獨立加密,以支持各個安全級別,包括絕密級。
ProtecD@R?網絡加密機(KG-202):KG-202 ProtecD@R 網絡加密機用于保護存儲在網絡上的靜態數據(DAR), 支持固定的和可移動的介質。美國國家安全局已授權 KG-202 可加密可移動和固定存儲設備的絕密級及以下的信息。
Sectera Edge 智能手機:Sectera Edge 智能手機通過結合無線電話和個人數字助理(PDA)的功能來保護無線語音和數據。它經過認證可以保護分類為絕密及以下的無線語音通信, 以及訪問電子郵件和分類為機密及以下網站。據稱 Sectera Edge 是唯一一款可通過單鍵按鍵在保密和非密 PDA之間切換的中小企業設備。
安全終端設備(辦公室):Office/STE 在數字和模擬網絡中提供語音和數據加密。STE 家族的用戶包括美國國防威脅減少機構、美國國防信息系統局、美國司法部和美國海軍。STE 獲得 NSA 認證, 可用于從非保密到絕密/敏感分類信息(TS/SCI)的業務通信。
2 、裝備量極大
從美軍密碼安全裝備的研制和訂貨合同金額可見, 數十億美金就完成了上百萬臺套裝備的交付和服務, 每臺套價格不足 1000 美金, 價格真心便宜。要做到如此, 必須具備極好的芯片化、模塊化、可編程、可重構能力。
美軍現役加密系統中研制和裝備了大量的模塊化和芯片化的加密設備,密碼模塊化和芯片化是美軍CM 計劃五大基石之一,通過模塊化和芯片化,更能確保安全穩健、加密算法合規性、互操作性、可釋放性和可編程性,從而實現了縮小體積、降低功耗、降低成本、增長產品生命周期的目標。
比如:美軍現役密碼模塊和芯片中有 Citadel?加密引擎、 DVP-200 數據話音保密單元、 KGV-7211 型可編程嵌入式加密裝置、可嵌入 KG-84COMSEC 模塊、 KIV-7HS/7HSA 模塊、 KIV-7HS 和 KIV-7HSA 鏈路加密模塊、 KIV-7HSB 網絡 TDMA-TIP 兼容加密模塊、 Sierra II 可編程加密模塊、AcropolisTM II 可編程密碼系統芯片等。
以 Citadel?加密引擎為例, 它為美國和國際用戶提供軍事和政府等級保護,可以嵌入到所有的現代通訊設備。它具有可配置密鑰長度和多種算法選項, 可用于導出,使得 Citadel 適用于各種通信產品。
Sierra II 可編程加密模塊由一個小型化的印刷線路組件、定制的專用集成電路(ASIC)和嵌入在無線電和其他語音和數據通信設備中的支持軟件組成,用于在傳輸和存儲之前加密機密信息,低功耗適用于電池供電的應用,具有傳統和未來的算法支持和高級可編程性。
AcropolisTM II 可編程密碼系統芯片 ASIC/模塊作為數字加密設備, 為當前及未來通信系統提供高級信息安全。設備采用美國國家標準與技術研究所(NIST)高級加密標準(AES)算法, 以滿足軍用(美國及國際用戶)和商用的加密需求, AcropolisTM II 采用電源供電, 支持算法軟件可編程,適用于軍事電臺、無線電局域網、遠程傳感器、制導彈藥、遙感勘測應用、無人機及其它設備。AcropolisTM II 對數字通信進行加、解密, 包括多種打包和未打包的數字化語音、視頻及數據通信。
在做好模塊化、芯片化、可編程、可重構的同時, 美軍密碼裝備同時獲得了體積小、功耗低、價格便宜、服役周期超長的巨大好處。
三 特點背后的機理
美軍密碼裝備呈現出的超強互通能力、超強的靈活性、規模裝備部署且價格低廉、服役周期超長、功能綜合全面、適應范圍廣闊 … 等等諸多特點,實質是在密碼相關技術上諸多“黑科技”關鍵技術支撐所致。通過一層層扒開這些安全與保密產品,我們不難發現這些技術的線索所在。
1 、架構層面的安全技術-安全協議設計
眾所周知, 通信系統要實現互聯互通性, 不是單純在終端設備上發力做好功課就能行的,必須在系統架構層面有合理的頂層規劃和設計,而這種系統層面的設計落地體現最終是落在通信協議上,密碼安全保密系統同樣如此,美軍密碼安全裝備能做到超強的互聯互通甚至跨多級安全域,必定是在協議層面做好了頂層設計。仔細閱讀保密機產品手冊,不難發現HAIPE 頻繁出現在鏈路、網絡等等加密機中, 而 SCIP 則高頻出現在終端安全產品說明書上, 可以說正是它們架構起了保密安全互通的骨架, HAIPE、SCIP 是什么?它們如何工作的呢?
1)HAIPE
HAIPE(High Assurance Internet Protocol Encryptor,高保障 IP 協議加密器),它是一種遵從美國國家安全局(NSA)制定的 HAIPE IS 規范的 1類加密設備,也是新一代因特網密文傳輸協議的工業標準。HAIPE IS 是美國防部、國家安全局為在廣域網和其它專用域網絡上實施無縫保密通信行動而制定的一套高保障 IP 加密互操作規范,其前身是 HAIP IS ( HighAssurance Internet Protocol Interoperability Specification,高保障 IP 協議互操作規范),目的是確保未來 IP 網絡加密設備的互通性, 推進各類 IPSec 加密產品標準化,尤其是對IPv6協議的支持。HAIPE IS在增強互通能力的同時,力求簡化網絡管理和配置的復雜度。HAIPE 使用的密碼系統是 NSA 指定的作為密碼現代化規劃系列的 Suite A 和 Suite B 類, HAIPE IS 規范基于 IPSec安全體系結構, 對其作了一些額外的限制和功能加強, 使得安全強度更高,互操作性更強。一個顯著的增強功能是使用預置的密鑰加密多播數據的能力, 只要進行數據傳輸之前在所有將參與多播會話的 HAIPE 設備上配置相同的密鑰即可。
HAIPE IS 不包含任何特定實現、環境或性能方面的需求。它定義一套網絡層加密實現的核心和擴展功能。核心功能定義了最低限度的基本能力:
· HAIPE 到 HAIPE 的互操作性;
· HAIPE 到網絡基礎設施的互操作性;
· HAIPE 到管理基礎設施的互操作性;
· HAIPE 到密鑰管理基礎設施的互操作性。
擴展功能定義了額外的控制和管理平面能力, 以及原有的業務流保護能力以支持原有的 HAIPE 實現。擴展功能適合于某些特定實現, 面向特定的用戶及使用場合。
HAIPE IS 規范當前裝備最多的有兩個流行的版本,一是 HAIPE IS 1.3.5,一個是 HAIPE IS 3.1.2(目前最新的版本已經升級到了4.x) ,3.X 版對 1.3.5 提供后向兼容支持。1.3.5 版只提供了基本的 IPSec 加密產品互通性操作規范框架, 而 3.X 版提供了許多前版本未支持的關鍵功能或增強。
· 支持高效帶寬變換,減少數據包封裝的間接開銷;
· 支持傳輸封裝模式,進一步減少額外開銷;
· 引入 Suite B 加密系統,擴展可利用的公開密碼算法;
· 增強的基于區分服務、擁塞通知、流標簽的 QoS 域旁路功能;
· 改進的多播代理支持,同時支持 Host 模式和 Proxy 模式;
· 采用 IPv4 、IPv6 雙棧技術,對 IPv4 和 IPv6 流量提供獨立支持
· 支持 IPv6 的流標簽旁路、自動地址分配和鄰居發現;
· 可擴展的對等體發現,引入 GDC ( Generic Discovery Client)協議, 允 許在大型網絡上 HAIPE 設備動態定位對等 HAIPE 設備并與之建立安全關 聯;
· 對所有 HAIPE 兼容設備的標準化安全網絡管理。
HAIPE 是對 IETF 的 IPSec 協議族的揚棄, 它取消了 IPSec 體系中不太實用的 AH 協議,只保留了 ESP 協議,支持 ESP 隧道模式和傳輸模式保護,IKE 協商使用專用的 HAIPE IKE,同時增強了多播支持和動態路由功能。例如使用IETF 的ESPv3 加密和封裝明文的IPv4 或IPv6 流量,使用 SNMPv3支持擴展網絡管理, 使用 RIPv2 和 RIPng 路由選擇協議提供 HAIPE 本地路由發現能力。IETF 定義了一套基于 AES (Advanced Encryption Standard)和GCM ( Galois Counter Mode)算法的加密變換,而 HAIPE IS 3.X 中指定的Suite B 加密模式也是基于 AES 和 GCM 算法。HAIPE 通過這些對 IPSec 協議的精簡和增強來提供高可靠性業務流量保護、網絡規劃和管理能力。HAIPE IS 規范繼承的 IPSec 安全組件包括:安全策略 SP、安全策略數據庫SPD、加密變換、安全關聯 SA、安全關聯數據庫 SAD、網絡地址翻譯穿越NAT T 等。增加的安全組件有:
· PEPT ( Peer Enclave Prefix Table)對等封閉網域前綴表, 指定對等 HAIPE 設備保護的封閉網域地址范圍、對等 HAIPE 設備的接口地址信息;
· LEPT ( Local Enclave Prefix Table)本地封閉網域前綴表, 指定本地 HAIPE 設備保護的封閉網域地址范圍、本地 HAIPE 設備的接口地址信息;
· MAMT ( Multicast Address Mapping Table)多播地址映射表,支持 HAIPE 實現 IP 多播功能;
· HIKE ( HAIPE IKE ) HAIPE 專用的 IKE 版本,支持 HAIPE 與同一 對等體的多 SA 協商;
· SPMT ( Security Policy Mapping Table)安全策略映射表, 用于手動配 置 SP 與 SA 的關聯,特別是支持 HAIPE 與同一對等體建立多 SA隧道;
· TFS ( Traffic Flow Security)業務流安全,支持固定包長和可變包長 兩種模式,以增加 HAIPE 加密的包開銷來換取安全度的提高;
· TMTT ( Transport Mode Topology Table)傳輸模式拓撲表, HAIPE 3.X 中支持 ESPv3 傳輸模式的新數據結構,存儲傳輸模式 SA 關聯的數據源和目標地址映射, 用于數據包入站處理時重建被傳輸模式SA 剝離的原始 IP 報頭。
HAIPE 設備及加密保護原理是怎么樣的呢?
一個 HAIPE 設備是一個典型的安全網關, 用于保護兩個封閉網絡域(Enclave,也稱為飛地) 跨越不信任的或者低密級網絡交換私密數據,實現端到端的業務流安全(機密性和完整性)。HAIPE 設備既可用作飛地或節點保護, 也可作為一個單獨的設備或者內嵌入終端或主機中。HAIPE 設備作為新一代因特網密文傳輸協議設備,兼有高安全和高性能雙重特征,高安全體現在它支持高強度加密算法 AES、MEDLEY、BATON 和完整性算法GCM-0 到GCM- 128 以及BIP-32等,高性能體現在它屬于硬件級加密設備,能夠高速處理數據包的加解密和封裝。HAIPE 設備只有兩個以太網接口,PT ( Plain Text 接口和 CT (Cipher Text)接口, PT 接口連接的被保護網絡稱作PT 網域, PT 接口與 PT 網域之間是明文通信, CT 接口連接的外部共享網絡稱為 CT 網域,CT 接口跨越 CT 網域連接到對端 HAIPE 設備的 CT 接口,本地 CT 接口與對端 CT 接口之間的數據通過 ESP 加密隧道傳輸, 對 CT 網域透明。HAIPE 設備配置復雜度較傳統 IPSec 設備大為降低,對等設備之間支持 GDC (Generic Discovery Client)動態發現。LEPT 表可通過 HAIPE 設備 PT 接口上被動 RIP 路由協議獲悉并填充, PEPT 既可以手動配置,也可以通過 GDC 動態發現協議進行獲悉并填充, 但 HAIPE 設備一般更傾向于手動配置 PEPTa HAIPE I .3.5 設備只支持 ESP 隧道模式保護, 而 HAIPE 3.X設備同時支持 ESP 隧道模式和傳輸模式保護。HAIPE ESP 隧道模式類似IPSec ESP 隧道模式,外層隧道 IP 報頭使用本地 CT 接口地址作為源 IP 地址, 遠端 CT 接口地址作為目的 IP 地址。HAIPE ESP 傳輸模式跟 IPSec ESP傳輸模式則有較大不同,出站處理時加密前剝離原數據包中的 PT IP 報頭,只加密數據載荷部分, 然后使用本地 CT 接口地址作為源 IP 地址, 遠端 CT接口地址作為目的 IP 地址重建一個新的 IP 報頭進行封裝, 這需要手動配置傳輸模式 SA 和 PT 源地址一目標地址映射,而且一個 PT 源地址一目標地址映射關聯一個單獨的傳輸模式 SA,接收方 HAIPE 設備根據入站處理的SA 及其關聯的傳輸模式拓撲表(Transport Mode Topology Table)查找對應的源 IP 地址和目標 IP 地址對以重建原來的 IP 報頭,從而進行可路由的 PT網域轉發。
兩個對等 HAIPE 設備分別前置在受保護網絡的邊緣, 當需要進行機密通信時, HAIPE 設備或手動配置或動態發現對方,完成加密參數的協商,在 CT 接口之間建立 ESP 加密隧道。通信時發送方 PT 網域的明文數據包到達 HAIPE 的 PT 接口時被送交加密和封裝模塊進行處理, 處理完畢轉至 CT接口,然后通過 ESP 隧道轉發到對端,對端 CT 接口把密文送交解封裝和解密模塊,處理完畢后轉至 PT 接口, 然后在接收方 PT 網域進行常規轉發至目的地。
2)SCIP (安全通信互操作性協議)
安全通信互操作性協議( SCIP)是用于語音和數據安全通信的多國標準,適用于電路交換的一對一連接而不是數據包交換的網絡。SCIP 源自美國政府于 2003 年提出與其他國家共享 FNBDT (未來的窄帶數字終端)的詳細信息。SCIP 支持許多不同的模式,包括采用不同密碼的國家和跨國模式。許多國家和行業開發 SCIP 設備來支持 SCIP 的跨國和國家模式。
SCIP 可在廣泛的通信系統上運行, 包括商業有線電話、軍用無線電、通信衛星、 IP 語音和幾種不同的蜂窩電話標準。因此, 除了 2400 Hz 的最小帶寬外,它不對基礎信道有任何要求。這類似于撥號調制解調器,因為一旦建立連接, 兩臺 SCIP 設備首先會協商所需的參數, 然后以可能的最佳方式進行通信。
從 2001 年開始,美國從 CONDOR 安全手機開始使用 SCIP 或 FNBDT系統, 該標準涵蓋了寬帶以及窄帶語音和數據安全性。
SCIP 由國防部數字語音處理器聯盟(DDVPC)與美國國家安全局合作設計,旨在解決早期的 NSA 語音加密系統(包括 STU-III 和安全終端設備(STE))的問題。由于當時基礎通信系統與更現代的無線系統的互操作性存在問題。盡管 STE 可以升級為可與 SCIP 一起使用,但 STU-III 無法做到。由于各個政府機構已經擁有超過 35 萬部 STU-III 電話, 每部電話的成本為數千美元,因此升級替代存在一定的阻力。
SCIP 標準包含多個組件:密鑰管理, 語音壓縮,加密以及針對語音,數據和多媒體應用的信令計劃。
密鑰管理( 120):要建立安全呼叫, 必須協商新的流量加密密鑰(TEK)。對于 1類安全性的SCIP信令使用增強的FIREFLY 消息系統進行密鑰交換。FIREFLY 是基于公鑰密碼學的 NSA 密鑰管理系統。商業級應用中有一種是采用的 Diffie-Hellman 密鑰交換。
STE 使用安全令牌將安全語音功能限制為授權用戶使用,而其他 SCIP設備僅需要 PIN 碼, 安全性為 1 類的采用 7 位 PIN 碼, 非密類采用 4 位 PIN碼。
使用語音編碼器(聲碼器) 進行語音壓縮:SCIP 可以與各種聲碼器一起使用。該標準至少需要支持混合激勵線性預測(MELP)編碼(一種稱為MELPe 的增強型 MELP 算法),并具有額外的預處理、分析器和合成器功能,以提高清晰度和噪聲魯棒性。舊的 MELP 和新的 MELPe 可以互操作,并且都以 2400 bit / s 的速度運行, 每 22.5 毫秒發送一個 54 位數據幀, 但是MELPe 具有可選的 1200 bit / s 和 600 bit / s 的附加速率。
2400 bit / s MELPe 是 SCIP 唯一需要的強制性語音編碼器。終端中可以支持其他語音編碼器。如果呼叫中涉及的所有終端都支持相同的編碼器(在呼叫建立的協商階段商定), 并且網絡可以支持所需的吞吐量, 則可以使用這些功能。G.729D 是 SCIP 終端中得到最廣泛支持的非強制性語音編碼器,因為它在較高的語音質量之間提供了很好的折衷,而又不會顯著增加所需的吞吐量。
加密( SCIP 23x):SCIP 23x 系列文檔定義了 SCIP 的多國和國內模式使用的安全性。SCIP 231 定義了可以在多國使用的基于 AES 的密碼, SCIP232 定義了替代的跨國密碼解決方案。一些國家已經定義或正在定義自己的 SCIP 國家安全模式。美國國家模式( SCIP 230):SCIP 230 定義了 SCIP 美國國家模式的密碼方案。為了安全起見, SCIP 使用在計數器模式下運行的分組密碼。為每個呼叫協商一個新的流量加密密鑰(TEK)。分組密碼被送入 64 位狀態向量( SV)作為輸入。如果密碼的分組大小大于 64 位,則添加固定填充符。
分組密碼的輸出與 MELP 數據幀進行異或運算以創建密文, 然后將其傳輸。保留狀態向量的低兩位用于數據幀長于分組密碼輸出的應用。接下來的 42 位是計數器。四位用于表示傳輸模式。這允許不止一種模式, 例如語音和數據,以相同的 TEK 同時操作。高階 16 位是發送者 ID,這允許單個通道上的多個發送者都使用相同的 TEK。由于整體 SCIP 加密實際上是一種流密碼加密,因此對于給定的 TEK,永遠不能對相同的狀態向量值使用兩次。在 MELP 數據速率下, 一個 42 位計數器允許進行三千多年無重復加密呼叫。
對于安全性為 1 類的 SCIP 使用密鑰長度為 128 位的 BATON 或其他分組長度為 128 位的密碼(例如 AES), SCIP 指定使用每個密碼輸出分組對兩個數據幀進行加密, 第一個從第 1 位開始, 第二個從第 57 位(即下一個字節邊界)開始。有些商業級別的應用使用 Triple DES 密碼。
信令計劃(210):SCIP 信令計劃對于 SCIP 的所有國家和跨國模式都是通用的。SCIP 有兩種強制性的傳輸類型,強制數據服務使用帶有前向糾錯(FEC)的 ARQ 協議來確保可靠的傳輸。接收點確認數據塊的正確接收,并在必要時可以請求重傳一個數據塊。對于語音, SCIP 只需發送語音數據幀流(通常是 MELPe 幀,但如果已在終端之間協商, 則可能是 G.729D 或其他編解碼器)。為了節省語音通話的功率, 如果沒有語音輸入, SCIP 將停止發送。大約每秒鐘發送一次。每個同步塊都發送加密計數器的低 14 位。14 位足以覆蓋超過六分鐘的淡出時間。其余狀態向量的一部分也將被發送, 以便在接收到三個同步塊后,將恢復整個狀態向量。這樣可以處理更長的 衰落,并允許具有適當 TEK 的電臺加入多電臺網絡并在 1.5 秒內同步。
可用性: 截至 2011 年 3 月, IAD 網站公開提供了一系列 SCIP 文件,包括 SCIP-210 信令標準。在此之前, SCIP 規范并未廣泛散布或易于訪問。這使得供政府使用的協議在政府或國防工業之外相當“不透明”。由于 1 類安全性的傳輸協議實施方案并沒有公開發布, 因此無法公開驗證其安全性。
2、內核層面的安全保證--算法
美軍通過對密碼機產品的模塊化、可編程可重構芯片化實現,達成了滿足性能、靈活性條件下的縮小體積、降低功耗、降低成本、增長產品生命周期的目標。由于模塊與芯片主要核心功能都是圍繞實現密碼算法,從事過密碼模塊和芯片實現的人都知道,密碼算法差異性極大,實現起來難度、性能、功耗等差別也特別大,即使在確定的密碼算法實現方面也不自覺地遵循著2/8原則,即20%的精力、資源完成了80%的實現,而剩下的80%的精力和資源面對和解決的是20%甚至更少的部分。但是,在面臨完全未知的未來的密碼算法時,這種比例關系遠勝2/8原則!為實現未知算法的可編程、可重構適配,在架構設計階段就開始面臨著巨大挑戰,靈活性直接與性能、功耗、造價沖突,無論是采用FPGA方式的實現還是采用處理器調度固化的加密要素單元方式實現的可編程、可重構,都無法真正做到無邊界的性能、功耗、靈活性平衡兼顧,那美軍是如何做到的呢?
(一)美軍密碼算法概況
美國密碼算法標準是由NIST制定,國家安全局(NSA)負責美軍密碼裝備評測和使用規劃,NSA在加密方面對絕大多數工作進行了有效分類,同時它有時也會參與標準流程制定或以其他方式發布有關加密算法。
美國國家安全局(NSA)將加密設備分為四種產品類型,將算法分為兩類。具體為:
(1)1類加密
1類加密產品是指NSA認可的,用于機密或敏感的美國政府信息的分類或受控密碼產品,包括經NSA分類或認證的用于加密和解密機密和敏感的國家安全信息的加密設備、單元或組件。
名稱 類型 標準 應用 裝備 ACCORDIAN R21-TECH-13-00 AIM\SafeXcel-3340\PSIAM AES(256-b) 分組密碼 FIPS 197 巨量 巨量 BATON 分組密碼 多種 PKCS#11\CDSA\CSSM\AIM\CYPRIS\APCO Project 25\MYK-85\Fortezza Plus\SecNet-11\Sierra\SafeXcel-3340\PSIAM BAYLESS CYPRIS BYTEMAN CYPRIS CARDIGAN CYPRIS CARDHOLDER 衛星上連加密 CYPRIS\KI-17\U-AYJ\Flight 加密芯片\MYK-16\CXS-810\CXS-2000\MCU-100\MCU-600 CARIBOU 衛星上連加密 U-TXZ\MYK-15A CRAYON AIM\CYPRIS FASTHASH 密碼HASH功能 1類hash PKCS #11\CDSA/CSSM FIREFLY/Enhanced FIREFLY EKMS公鑰密鑰產生 AIM\SafeXcel-3340\SecNet54\ViaSat\KG-25x\PSIAM GOODSPEED Sierra II HAVE QUICK Antijam LPI/LPD 話音加密 CYPRIS JACKNIFE AIM IFF Mode 5 JOSEKI R21-TECH-0062-92\R21-TECH-13-97\R21-TECH-13-98) 加密算法固件保護 AIM\ PSIAM JUNIPER 分組密碼 PKCS #11\CDSA/CSSM KEESEE AIM\CYPRIS\PSIAM Mark XII IFF IFF AIM MAYFLY 非對稱密碼 PKCS #11\CDSA/CSSM MEDLEY R21-TECH-30-01 AIM\SecNet54\SafeXcel-3340\ViaSat KG25x\PSIAM PEGASUS 衛星數據下行 KG-227\KG-228\KI-17\U-BLW\U-BLX\MYK-17\CXS-810\CXS-2000\MCU-100\MCU-600 PHALANX AIM\CYPRIS SAVILLE 窄帶加密 AIM\CYPRIS\Windster\VINSON VALLOR TTY 潛艇 AIM WALBURN 寬帶加密 PADSTONE CYPRIS\Windster WEASEL SafeXcel-3340 |
(2)2類加密
2類加密產品是指NSA認可的用于獲取敏感但非機密的美國政府信息的非密設備、單元或組件。
名稱 類型 標準 應用 裝備 CORDOBA CYPRIS\Windster KEA 非對稱密碼 R21-Tech-23-94 密鑰交換和數字簽名 Fortezza\Fortezza Plus\Palladium Secure Modem SKIPJACK 分組密碼 R21-Tech-044-91 機密算法 Fortezza\Fortezza Plus\Palladium Secure Modem |
(3)3類加密
非密設備、單元或組件,如果適當地加上了密鑰,則可用于加密或解密非密的美國敏感政府或商業信息,并保護需要與標準商業慣例一致的保護機制的系統。3類加密算法是指NIST認可的、已注冊并已發布FIPS的算法,用于獲取敏感但非密類的美國政府和商業信息。
名稱 類型 標準 使用 設備 DES 數據加密標準 分組密碼 FIPS 46-3 普遍存在 普遍存在 AES 高級加密標準 分組密碼 FIPS 197 巨量 巨量 DSA 數字簽名算法 數字簽名系統 FIPS 186 巨量 巨量 SHA 安全散列算法 密碼HASH功能 FIPS 180-2 普遍存在 普遍存在 |
(4)4類加密
4類加密算法是指由NIST注冊但未發布FIPS的算法。未經NSA或NIST認證可用于任何政府用途的未經評估的商業密碼設備、單元或組件。
在美軍及盟軍的涉及的4類加密中分別采用Suite A和Suite B兩類密碼算法,它們分別對應為:
(1)Suite A密碼
Suite A密碼是一組NSA未發布的算法,旨在用于高度敏感的通信和關鍵身份驗證系統。
據查到的公開資料統計表明,Suite A 算法主要包含(不僅限與)以下種類:
· ACCORDION
· BATON
· CDL 1
· CDL 2
· FFC
· FIREFLY
· JOSEKI
· KEESEE
· MAYFLY
· MEDLEY
· MERCATOR
· SAVILLE
· SHILLELAGH
· WALBURN
· WEASEL
(2)Suite B密碼
Suite B密碼是一組NSA認可的加密算法,可用作非機密信息和大多數機密信息的可互操作的密碼基礎。Suite B于2005年2月16日宣布,并于2016年淘汰。之后NSA發布商業國家安全算法(CNSA),它是一組用于替代NSA Suite B加密技術的算法,直到發布后量子加密標準為止。
2015年8月,NSA宣布,計劃“在不遠的將來”過渡到可抵抗量子攻擊的新密碼,“不幸的是,橢圓曲線使用量的增長與量子計算研究的持續發展相抵觸,因此有必要重新評估我們的密碼策略”。NSA建議:“對于尚未過渡到Suite B算法的那些合作伙伴和供應商,我們建議此時不要為此花費大量資金,而要為即將到來的抗量子算法過渡做準備”,預計新標準將在2024年左右發布。
據公開查到的資料表明,Suite B算法主要有:
· 密鑰長度分別為128位和256位的高級加密標準(AES)。對于流數據,AES應該與低帶寬流量的計數器模式(CTR)或高帶寬流量的Galois /計數器模式(GCM)操作模式一起使用(請參閱分組密碼操作模式)--對稱密碼
· 橢圓曲線數字簽名算法(ECDSA)--數字簽名
· 橢圓曲線Diffie-Hellman(ECDH)--密鑰協商
· 安全哈希算法2(SHA-256和SHA-384)--消息摘要
(二)美軍典型密碼算法特點
美軍廣泛使用的密碼算法涵蓋對稱密碼算法和非對稱密碼算法,對稱密碼算法中又分為分組密碼算法和序列密碼算法兩大類,數據的加解密依托對稱密碼算法進行,非對稱密碼算法主要用于數字簽名、認證和密鑰分發等,從應用面最廣的AES以及名氣比較大的SAVILLI,初步可見美軍密碼算法設計使用的一些特點。
(1)分組加密算法的典范AES
2001年11月26日,NIST正式宣布選擇Rijndael算法作為高級數據加密標準,簡稱AES。Rijndael算法是由比利時科學家Joan Daernen和Vincent Rijrnen提出的,它是一種明文分組長度和密鑰長度均可變的分組密碼算法。其明文分組長度和密鑰長度都可獨立地設定為128, 192或256比特,與密鑰相關的迭代輪數Nr分別為10、12、14輪。在AES高級加密標準規范中限定明文分組長度只能是128比特,密鑰長度可選擇三者中任意一種。
AES算法采用分組密碼的方形算法結構,對輪函數進行迭代運算。加解密過程中除了最后一輪外,每輪都執行相同的操作。加密過程的輪函數包括:字節替換、行移位、列混合和輪密鑰加四種基本運算;AES解密過程輪函數包括:逆行移位、逆字節替換、輪密鑰加和逆列混合四種基本運算。解密過程中輪函數各操作是加密過程的逆操作,但操作順序不同于加密過程。其中,輪密鑰加所用的輪密鑰是由密鑰擴展得到。加密過程中,密鑰擴展可以實時為加密操作提供加密輪密鑰;而解密過程中,需要先進行密鑰擴展,產生各輪解密輪密鑰后,再進行解密操作。其中,解密輪密鑰是逆序使用加密輪密鑰。128比特的AES算法結構如下圖所示。

在AES算法中,數據操作在狀態矩陣中進行,其中狀態矩陣是以字節為元素的二維矩陣。長度為128比特的狀態矩陣如下表所示。

AES的硬件實現具有性能好、安全強度高等優點,而且硬件實現可以根據需要選擇面積或速度優先,十分靈活方便。
從AES算法結構來看,行移位不需要邏輯門,輪密鑰加只需簡單的異或門,只有字節代換和列混合操作相對比較復雜點。當希望獲得AES的高性能實現時,重點做好字節替換和逆字節替換、列混合和逆列混合的組合電路實現即可達成。對于AES硬件高性能實現中,最主流的方式是采用輪內流水線設計的方式,可以在每輪之間插入輪外流水線寄存器,而且在每輪中也可以插入輪內流水線寄存器來縮短每輪關鍵路徑的長度,從而大幅度的提高AES的數據吞吐率。
針對AES的不同工作模式可以采用不同的硬件實現思路,比如在反饋模式下,由于數據分組在加解密過程中要按順序進行,所以數據分組加解密時都以串行的方式進行,這時提高性能主要依靠內部流水線結構處理速度的提高,因為插入流水寄存器可以分割運算單元從而提高邏輯電路時鐘頻率,而在引起面積增長很小的情況下實現良好的速度。而在非反饋模式下,由于前后數據分組的運算之間沒有依賴關系,因此前后所有的運算都可以并行執行。在非反饋的情況下,可以采用外部流水線結構,由于外部流水線技術采用并行處理數據塊的方法,以減少總的執行時間,從而提高實現速度,即提高了吞吐率。
總之,對于AES的硬件實現,根據實現的電路結構不同而不同。要不以面積換取高速(目前不需要很好的工藝就能輕松實現幾十千兆每秒的線速加解密),要不以較低速度換取更小資源占用(僅僅用兩千多個等效邏輯門就能實現完整的AES算法,功耗甚至低至完全滿足無線傳感器、智能卡等需求),這兩種方式都可以需根據實際設計需要進行靈活選擇。
(2)序列密碼算法的代表SAVILLI
盡管今天隨著IP網絡的普及與利用,分組密碼似乎有一統對稱密碼的天下的趨勢,但序列密碼的設計與分析一直依然是密碼學中的核心問題之一。序列密碼有以下幾個突出優點:其一,序列密碼算法的結構較分組密碼簡單;其二,序列密碼有較為理想的數學分析工具,如頻譜理論和技術、代數等等;其三,分組密碼的一個不足之處在于相同的明文對應相同的密文組,給密碼分析者充分利用明文語言的多余度提供了可能性。其四,目前大多數國家的軍事和外交保密通信仍然以序列密碼為主。
美軍SAVILLI序列密碼算法是由NSA和GCHQ(英國情報機構政府通訊總部)聯合設計,具有兩種工作模式:KAK(密鑰自動密鑰)和CTAK(密文自動密鑰)模式,SAVILLE基于非線性有限狀態機(支持4種配置模式),每個輸出位內部循環數十次迭代,有限狀態機的非線性部分用非線性反饋移位寄存器(NLFSR)來實現,采用120位長度的密鑰,使用8位錯誤檢測代碼來保護密鑰免受誤碼和設備故障的影響。
非線性反饋移位寄存器型序列密碼是將非線性反饋移位寄存器作為初始亂源的序列密碼,由于其硬件實現的資源開銷少,此類序列密碼在資源極端受限的環境中得到廣泛使用。基于非線性反饋移位寄存器的序列密碼算法是直到2004年歐洲NESSIE和eSTREAM計劃之后才大量出現,主要是用于抵抗基于LFSR線性性質而發展的(快速)相關攻擊與(快速)代數攻擊等。由于NLFSR的研究還處在起步階段,目前現有的方法對基于NLFSR而設計的算法都不太有效,想要恢復NLFSR的內部狀態還是非常困難的。比如eSTREAM計劃最終入選算法中的Trivium就是基于NFSR結構。由于NLFSR這些算法的內部狀態往往很大,因此從理論上講,其存在較小狀態轉移圈的概率很小,在實際中可以忽略不計。最為重要的是,基于非線性反饋移位寄存器的序列密碼算法的安全性分析,目前還沒有統一的模式和路線,因此在相當長時間內都是很主流的一類設計方案。
美軍SAVILLI序列密碼算法不是同步序列密碼,而是自同步序列密碼,自同步序列密碼的密鑰流依賴于之前的明/密文信息,有點類似于分組算法密文反饋模式的,即密文參與密鑰流的生成過程,這使得這類序列密碼的安全性從理論上分析起來非常困難。
綜合Suite A和Suite B涉及的所有密碼算法,對稱和非對稱算法非常完備、整齊且精煉,涉及算法數量并不龐雜、發散,非常收斂,這為高效、可編程、可重構的芯片化、模塊化設計實現提供了非常有力的支撐。其中分組算法以AES算法為例,算法設計本身非常簡潔(輪數不多,非線性變換的S盒也不是太大)、靈活、高效且安全,非常有利于軟件和硬件實現,非常節約實現資源,從而為降低成本和批量化打下了基礎。即便是美軍在Clipper芯片和Fortezza PC卡中使用的分組加密算法Skipjack,盡管采用的是非平衡的Feistel結構(每一輪將狀態分割為兩部分大小不相同的子分組),輪數為32輪,密鑰長度為80比特、明文和密文長度均為64比特,也體現出有快的加/解密速度和短的密鑰編制時間、僅使用異或和查表運算(實現起來簡單)、加/解密的速度不受密鑰大小影響(密鑰可擴大到1024比特)等優點;再者,序列密碼(流密碼)算法以SAVILLI算法為例,算法的實現非常簡單,便于軟硬件實施,同時序列密碼加密和解密的速度都還比較快,安全性高,沒有或只有有限的錯誤傳播,這使得它在軍事應用中得到了比較廣泛的應用。
四
結 語
美軍密碼裝備設計實現過程中至始至終透露和體現出一系列設計指導思想和哲學,值得我們借鑒和學習。
1、簡單替代復雜,展現設計精巧
美軍密碼裝備通過精巧的安全協議設計,利用通用的互聯網基礎設施全面實現了C4ISR甚至未來的C5ISR,通過收斂的算法規劃與精巧的算法設計為規模化、低成本打下了基礎。
單純從HAIPE和SCIP兩個安全協議來看,簡單、高效、適應性強,但并沒有犧牲安全性,真正體現了其安全系統頂層設計能力和水平,簡單而不簡陋,值得我們借鑒。
2、以少替代多,獲得了實惠
美軍密碼裝備總量巨大,但花錢并不多,做到這點是在底層采用了有限、收斂的算法適配廣闊的應用和海量的裝備,充分體現了少即是多的哲學,批量化、規模化的設計生產帶來了標準化、系列化的落地和成本下降收益。
在通用與專用中選擇了通用,在開放與封閉中選擇了開放,這都是省錢的好思路。通過實施與軍事和商業通信標準兼容,實現與北約、盟軍和聯軍安全通信。
3、有序、漸進升級換代,極大保護了已有投資
美軍密碼裝備更新換代數量巨大,但因得益于頂層規劃設計有方,通過有序、漸進升級,實現了新一代裝備向前兼容,比如新一代的無論是網絡加密設備還是終端用戶保密設備,硬件接口幾乎全部能向前兼容,技術體制繼承性非常好,協議與軟件采用逐步更新方式實現升級,這樣不僅節省資源實現了密碼裝備的升級換代,而且在技術上實現的是可疊加式的進步,也有利于人才培養與技術積累。以最普通的密鑰注入端口為例,早期采用的DS-102接口可滿足密鑰注入的需求,后來逐步增加升級到支持密鑰注入、跳頻、GPS、敵我識別、軟件升級,最后升級換代到DS-101接口規范,其外觀、物理尺寸并沒變,功能上涵蓋了DS-102的全部功能,并且增加了算法替換、異步數據傳輸、HDLC協議支持…等新功能,不僅節省了大量的接口硬件設計資源,而且還使得原有的密鑰注入設備不至于無法使用,最大程度保護了已有投資。
4、多方面考慮安全,確保整機與系統的安全
NSA綜合考量諸多因素以確保通信和信息的安全(NSA術語中的COMSEC和INFOSEC),除注重密碼算法規劃和設計、安全協議的設計和布局、密鑰管理的高度可靠外,NSA還異常注重以下幾個方面:
· TEMPEST--保護純文本不受電子,聲音或其他輻射的損害。
· 防篡改、自毀--即使在未經授權的情況下物理訪問加密系統或將其捕獲的情況下,也能確保安全性。
· 符合軍事規格--以適應移動平臺的尺寸、重量、功耗、MTBF和堅固性。
· 電磁脈沖防護--防止核爆炸效應,特別是電磁脈沖。
· 確保與軍事和商業通信標準兼容。
· 控制成本-確保加密設備價格合理,以便需要加密的單位都能擁有。除初始購買價格外,還有許多成本,包括操作和維護系統以及確保其安全性和密鑰分發的人力成本。
· 與北約、盟軍和聯軍實現安全通信,而不會危及安全。
5、大膽、自信,勇于創新。
美軍密碼裝備應用方面出奇地大膽,不僅體現在密碼裝備量大面廣,而且甚至將保護從非密到絕密信息的密碼安全裝備直接連接互聯網,體現了美軍的自信;在密碼裝備采用的技術體制看,也十分大膽,直接基于已經暴露眾多漏洞和安全缺陷的公開的IP網絡,無疑需要極大的勇氣;在密碼裝備的核心算法方面,密鑰管理基于公鑰算法,這在密碼現代化計劃起初的2004年前后也頗為大膽,因為當時業界對公鑰的安全性還存在一定疑慮;軍用密碼裝備用于數據加密的分組密碼算法采用公開的、和商用一樣的AES算法,展現了美軍對AES的深刻理解與高度信任,序列密碼算法采用當時還不太流行的非線性移位反饋寄存器構建,比較少見的自同步工作模式…這些都暗示美軍在密碼算法的創新和研究方面走在了業界的前面。