摘要:密碼是保障網絡空間安全的核心技術和基礎支撐,利用密碼在安全認證、加密保護、信任傳遞等方面的重要作用,可有效減少信息系統安全隱患。《中華人民共和國密碼法》的頒布實施,推動了商用密碼應用發展的進程。商用密碼應用安全性評估對規范密碼應用和保障信息系統安全具有重大意義。基于此,通過梳理分析商用密碼應用安全性評估過程中存在的問題,研究提出相應的實踐方法,從而提高商用密碼應用安全性評估的效率。

1、基本情況

1.1 商用密碼應用安全性評估

商用密碼應用安全性評估(以下簡稱“密評”)是指對采用商用密碼技術、產品和服務集成建設的網絡與信息系統密碼應用的合規性、正確性、有效性進行評估 。

《密碼法》 第二十七條規定“法律、行政法規和國家有關規定要求使用商用密碼進行保護的關鍵信息基礎設施,其運營者應當使用商用密碼進行保護,自行或者委托商用密碼檢測機構開展商用密碼應用安全性評估”。《商用密碼應用安全性評估管理辦法(試行)》第三條規定“涉及國家安全和社會公共利益的重要領域網絡和信息系統的建設、使用、管理單位(以下簡稱責任單位)應當健全密碼保障體系,實施商用密碼應用安全性評估。重要領域網絡和信息系統包括:基礎信息網絡、涉及國計民生和基礎信息資源的重要信息系統、重要工業控制系統、面向社會服務的政務信息系統,以及關鍵信息基礎設施、網絡安全等級保護第三級及以上信息系統”。第十條規定“關鍵信息基礎設施、網絡安全等級保護第三級及以上信息系統,每年至少評估一次,測評機構可將商用密碼應用安全性評估與關鍵信息基礎設施網絡安全測評、網絡安全等級保護測評同步進行”。《國家政務信息化項目建設管理辦法(國辦發〔2019〕57 號)》中對政務信息系統的商用密碼應用與評估工作提出了相應要求。由此可知,關基、政務等領域必須開展商用密碼應用建設與評估工作。

為了有效推進密評工作,在密碼相關主管部門的推動下,GB/T 39786—2021《信息安全技術 信息系統密碼應用基本要求》、GM/T 0115—2021《 信 息 系 統 密 碼 應 用 測 評 過 程 指 南》、GM/T 0116—2021《信息系統密碼應用測評要求》《商用密碼應用安全性評估量化評估規則》《信息系統密碼應用高風險判定指引》和《商用密碼應用安全性評估 FAQ》等標準和指導性文件相繼出臺,為密評工作的快速開展奠定了良好基礎。

1.2 密評目前存在的主要問題

密碼技術應用具有專業性較強、技術復雜度高的特點,通常與業務系統聯系緊密。在專業、復雜的環境中,按照測評要求準確獲取測評內容并分析測評結果,對密評人員業務能力考驗較大。現有標準和指導性文件在一定程度上解決了密評工作中較為集中、困惑的問題,但針對測評具體對象采用何種測評方法卻缺乏相應指導,仍然存在下述主要問題。

一是測評對象數據抓包過程中,如何快速部署抓包工具。抓包工具的安裝和部署是獲得測評數據的前提條件。密評人員需依據被測系統的網絡拓撲架構,快速準確地識別出測評對象,例如:網絡通信設備、密碼設備等,并結合被測系統實際情況確定測評工具接入點。

二是抓包數據分析過程中,如何高效提取關鍵測評信息。針對已抓取的通信數據,密評人員需要快速識別出該數據包是否符合測評要求,例如:如何判斷通信雙方的主體是否正確、一次通信過程是否完整、使用的密碼算法和數字證書是否合規、數字證書是否為雙證書等。

三是如何快速識別應用層的重要加密數據。由于應用層的數據識別與網絡層數據識別不同,針對應用層的數據,密評人員如何判斷應用層是否對數據進行加密,以及根據密文如何判斷應用層使用了何種密碼算法等。

2、實踐方法

為解決密評工作中面臨的實際問題,中國電子技術標準化研究院密評團隊通過對標準和指導文件的深入解讀,結合具體密評實踐活動,歸納總結了下述測評方法,供業內同行參考。

2.1 抓包工具的部署

抓包是密評實踐活動中的必要內容。抓包工具有多種,包括:Wire Shark、SnifferPro、Snoop、Burpsuite 和 Tcpdump 等。密評實踐活動中多采用 WireShark等工具以抓包的方式進行數據的采集和分析。WireShark 是一個網絡封包分析軟件,網絡封包分析軟件的功能是捕獲網絡封包,并盡可能顯示出最為詳細的網絡封包資料。Wireshark 使 用 WinPCAP/NpCAP 作 為 接 口, 獲取網卡通信報文信息,其基本工作流程如下:

(1)選擇捕獲接口。根據業務數據傳輸路徑,選擇對應的網卡進行數據監聽捕獲。

(2)設置捕獲過濾器。通過設置捕獲過濾器,從大量網絡數據中獲取所需網絡報文數據,在分析數據時可避免其他數據的干擾,節約時間。

(3)采用顯示過濾器。密評人員使用捕獲過濾器過濾后的數據,通常還是比較復雜。為了使過濾的數據包更細致,可使用顯示過濾器進行再次過濾。

(4)采用著色規則。通常使用顯示過濾器過濾后的數據,都是有用的數據包。如想突顯某個會話,可以使用著色規則高亮顯示。

WireShark 通常安裝在測評終端上,通過監聽特定網卡的方式進行網絡報文的檢測。根據其部署安裝的位置不同,主要有直接采集和鏡像采集兩種模式。

如圖 1 所示,直接采集模式下,WireShark通常部署在訪問終端,即測評終端。通過監聽其用于業務通信的網卡來直接獲取終端與其他通信端之間傳輸的報文信息。

圖 1 直接采集模式

如圖 2 所示,鏡像模式下,需要將交換機用于信息交互的若干接口報文以鏡像的方式克隆到鏡像觀察口,進而由連接到該觀察口的終端進行數據監聽。上述應用模式適用于一對多的場景。以堡壘機管理多個業務服務器、數據庫服務器為例:為了檢測堡壘機與多個服務器之間的通信過程,通常需要在堡壘機或者服務器中安裝抓包工具逐個檢測。在鏡像模式中,可直接通過堡壘機與服務器連接的交換機接口進行鏡像,通過上述方式獲取堡壘機與服務器之間通信的報文信息并分析。這種“旁路外掛”鏡像的工作模式,無須在測評對象中逐個安裝抓包工具,一次即可獲取所有通信報文,既不影響現有業務,同時提高了測評效率。

圖 2 鏡像采集模式

2.2 報文過濾的技巧

由于網絡通信頻繁,在實際抓包中往往不同的報文混雜在一起,如圖 3 所示。一次業務互動通常由多個報文通信來完成,而網絡通信的頻繁性可能導致多個通信報文分散開來,無法直接對捕獲的報文進行集中分析。

為了快速準確地從雜亂的通信報文中獲取測評對象的通信過程,需要借助抓包軟件的過濾功能進行報文過濾。

圖 3 抓包報文

過濾報文如圖 4 所示,通過指定協議、交互的 IP 地址以及交互的端口,可快速剝離出一次完整的握手過程(每次交互終端之間可能有多個連接進行,通過指定端口能夠快速過濾到某一個連接交互過程)。以 WireShark 為例,常用的過濾信息如表 1 所示。

圖 4 過濾報文

表 1 報文過濾信息

在報文過濾時,賦值比較采用“==”進行標識,多個過濾條件可通過 &&(與)、||(或)等邏輯符進行組合設置。

2.3 數字證書的認證方式

數字證書通常由證書認證(Certificate Authority,CA)機構統一發放和管理,通過公鑰基礎設施(Public Key Infrastructure,PKI)體系實現身份的真實性和操作行為的不可否認性。目前國內證書認證體系均采用雙證書機制,即同時具備簽名證書、加密證書以及各自的私鑰,并嚴格按照其密鑰使用方法在業務中規范應用。證書認證機構以證書鏈來鑒別數字證書是否由其簽發,并通過證書撤銷列表(Certificate Revocation List,CRL)/ 在 線 證 書 狀 態 協 議(Online Certificate Status Protocol,OCSP)等方式提供證書狀態查詢認證服務。

以 SSL VPN(Virtual Private Network)產品數字證書檢測為例,根據商用密碼相關行業標準,SSL VPN 產品需采用數字證書進行通信雙方的身份鑒別。在密評實踐活動中,除了要確認 SSL VPN 產品是否具備商用密碼產品認證證書并核查證書的合規性,還需要進一步抓包、檢測通信內容,確保產品使用的正確性及有效性。參照 GM/T 0024—2014《SSL VPN 技術規范》的相關要求,需對如圖 5 所示的相關內容進行審核。

圖 5 證書報文內容

服務端響應的報文中至少包括 2 張證書,且這 2 張證書的順序應為簽名數字證書在前,加密數字證書在后。如圖 5 所示,本次通信過程中共涉及 4 張證書,分別是對應 SSL VPN 服務端的簽名、加密實體證書以及其上一級 CA 的證書(由于標準中沒有明確上一級證書鏈與通信實體證書的排序,可能會存在多種情況)。密評人員應從通信報文中導出上述證書,檢查證書的簽發是否來自合法的第三方 CA 機構或來自采用合規密碼產品的自建CA,并按照圖6完成數字證書的認證。

圖 6 數字證書的認證流程

數字證書認證流程具體如下:

(1)密評人員針對導出的證書,首先判斷證書是否由可信的 CA 機構頒發。可信 CA 機構一般分為兩類,分別是依法設立的第三方 CA 機構和采用合規數字證書認證系統自建的機構。技術層面通常采用白名單機制來設置 CA 可信域。將信任的 CA 根證書或多級證書鏈添置在白名單內,對數字證書進行鑒別時,從當前白名單中檢索待認證數字證書頒發機構的根證書或證書鏈。能夠在白名單中檢索到記錄的,則會進行后續證書認證處理;反之則視當前數字證書為非法證書,身份不可信,業務即刻終止。通過數字簽名驗證技術,可判斷當前數字證書是否由已在白名單中的根證書或證書鏈對應的私鑰進行簽發。認證通過的數字證書,則視為身份來源可信的證書,將進入后續證書狀態檢測流程;反之,當前數字證書為非法證書。

(2)密評人員可通過查看 CRL 判斷該證書是否已被撤銷。例如:通過輕量級目錄訪問協議(Lightweight Directory Access Protocol,LDAP)查詢證書相關信息,該協議用于查詢、下載數字證書以及 CRL,并進一步確認當前數字證書是否已經被列入至 CRL 中;或者通過向在線證書 狀 態 協 議(Online Certificate Status Protocol,OCSP)服務器查詢該證書是否被撤銷,服務器返回的響應消息表明該證書的撤銷狀態(正常、撤銷或者未知)。OCSP相較于CRL的實時性更高,密評人員可根據實際情況選擇合適的驗證方式。若驗證結果順利通過,則進入證書自身屬性的驗證環節;否則,該證書的狀態不符合測評要求。

(3)密評人員判斷證書的主要信息是否符合測評要求,例如:查看證書的有效期(開始、截止時間)是否滿足測評時間要求、密鑰用法(簽名和加密)是否正確等。若證書自身屬性判斷結果均順利通過,則完成證書認證過程;否則,不符合測評要求。

2.4 應用層重要數據的讀取

應用層是以網絡層為承載進行數據傳輸,若網絡層已經完成了諸如部署 VPN 產品等密碼技術應用的改造,通過抓包獲取的數據多是密文,無法便捷地識別應用傳輸的數據編碼格式。

為了有效識別應用層數據傳輸是否做了對應的密碼保護,針對 B/S 和非 B/S 模式下的應用層通信可以參考下述測試方法:

(1)B/S 模式下,終端往往通過瀏覽器來訪問服務端業務,可以通過瀏覽器自身的調試模式獲取瀏覽器與服務端之間的傳輸數據。如圖 7 和圖 8 所示,通過上述抓包方式即可看到頁面中輸入的信息已經在應用層進行了處理,變成了密文。

圖 7 應用系統數據錄入界面

圖 8 B/S 模式下抓包頁面

(2) 非 B/S 模 式 下, 通 常 需 要 VPN 產 品完 成 接 入 后 方 可 進 行 業 務 訪 問。VPN 產品完成接入后,會在本地創建一個虛擬網卡,通過WireShark 等抓包工具監聽該虛擬網卡,即可獲取到應用層數據的通信內容。虛擬網卡通常以TAP/TUN 技術來實現 VPN 報文的封裝和解封,通過監聽該虛擬網卡,即可清楚地監測到加密前發送以及解密后接收到的報文信息。

以 VPN 產品接入內網并在內網 X.X.X.243地址服務器的 8089 端口訪問業務為例進行說明。應用系統用戶需先進入 VPN 產品的登錄頁面,如圖 9 所示。然后啟動抓包工具,針對 VPN 產品虛擬出的 TAP 網卡進行抓包,同時在該頁面上進行登錄操作,獲取應用層通信數據,如圖 10所示,登錄完成后才可正常訪問業務應用。

圖 9 內網服務登錄頁面

圖 10 虛擬網卡抓包

上述示例中的瀏覽器是客戶端應用,對于其他非瀏覽器的應用,采用上述方法可以達到同等效果。

3、結語

本文簡單介紹了密碼應用安全性評估的相關背景情況,指出了現階段密評實踐中存在的主要問題,針對上述問題,中國電子技術標準化研究院密評團隊結合自身工作經驗,從抓包工具的部署、報文過濾的技巧、數字證書的認證和加密后的應用層重要數據的讀取等方面提出了可行的解決方法。上述方法均具備一定的普適性和可落地性,方便業內人員參閱并實踐。

下一步,將進一步加強密碼技術應用和安全性評估研究,與產學研用更多力量深度合作交流,依托工業和信息化部商用密碼應用產業促進聯盟,研究密碼相關標準與評估方法,提升評估的準確性和高效性,為密碼應用推廣及安全性評估貢獻力量。