摘要:
服務器密碼機已廣泛應用于網絡與信息系統,為應用實體提供加/解密、安全認證等密碼服務。本文以服務器密碼機為重點,介紹了服務器密碼機的定義與類型、架構原理、部署方式和運維管理等內容;以服務器密碼機為密評對象,概要介紹了對其實施密評的主要內容、思路和方法等,可為密評人員開展相關密評工作提供借鑒和參考。
基本概念
01
服務器密碼機的定義
服務器密碼機,是指運用密碼技術對信息實施加/解密處理和安全認證的密碼設備,它能夠以獨立或組合方式為多個應用實體提供密碼服務,服務器密碼機的主要功能包括密碼運算、密鑰管理、用戶管理、設備管理、審計管理等。服務器密碼機具備相應的用戶管理機制,可直接面向用戶調用。
02
常見服務器密碼機類型
關于密碼機分類,根據不同的側重點可以有不同的分類方式,本文僅從密碼機功能應用層面的角度,介紹其類別以及服務器密碼機類型。
按密碼機功能應用所處網絡協議層面劃分,可分為物理層密碼機、鏈路層密碼機、IP層密碼機、傳輸層密碼機和應用層密碼機等類別。
密評工作實踐中,應用層密碼機最為常見,服務器密碼機屬應用層密碼機。服務器密碼機通常分為三大類型:通用型服務器密碼機、用于證書認證領域的簽名驗簽服務器密碼機、用于金融行業的金融數據密碼機。
簽名驗簽服務器密碼機和金融數據密碼機,從硬件組成角度而言,與通用服務器密碼機并無區別,主要針對特定應用場景,在通用型服務器密碼機基礎上,進一步封裝了特定接口,以便于應用者調用。
目前,云計算技術廣泛發展應用,用于云平臺上的云服務器密碼機廣泛部署應用。云服務器密碼機借助虛擬化技術,采用基于內核的安全隔離與防護技術,通過硬件和虛擬機之間的中間件,使每一個運行于云服務器密碼機硬件平臺上的虛擬密碼機可以提供與硬件密碼機相同的密碼運算功能。一臺高性能硬件密碼平臺,可以虛擬出多臺密碼機,這種方式使云計算平臺只需配置較少的硬件密碼設備,即可實現幾十倍的密碼運算服務能力。云服務器密碼機的應用,不僅可大大降低設備的能耗、節省大量的設備投資,還能為云平臺提供方便的管理和運維方式。
通用型服務器密碼機、簽名驗簽服務器密碼機、金融數據密碼機和云服務器密碼機均支持國密、國際算法(支持國密算法(SM3-01、SSF33/SSF10/SCB2等金融算法),并兼容國際加密規范的算法(DES/3DES/AES);可并行處理數字簽名驗簽(SM2/RSA)、摘要算法(SM3/SHA-1/SHA-256/MD5)),支持兩種密鑰管理方式(支持PC機上的密鑰管理方式和IC卡的密鑰管理方式;實現專鑰專用,保證用戶密鑰及應用系統的安全性)。其中:
(1)通用型服務器密碼機:可為多領域提供密碼運算服務,支持金融、證券、稅務、郵政等領域應用,其特點為:(2)簽名驗簽服務器:主要應用于證書認證領域,其特點為:
(3)金融數據密碼機:主要應用于金融行業,其特點為:
架構原理
01
軟硬件架構
服務器密碼機作為基礎的密碼機產品,主要為應用提供最為基礎和底層的密鑰管理和密碼計算服務,下圖為服務器密碼機軟硬件架構。
服務器密碼機,包括客戶端軟件和服務器端兩個部分。服務器端一般由硬件平臺、操作系統、功能組件、密碼服務接口等組成,其中:
① 硬件平臺:包括CPU、內存、硬盤、網卡、密碼卡等,整個硬件平臺為軟件功能模塊提供基礎支持;
② 操作系統:包括操作系統和密碼卡驅動,為硬件和功能組件提供運行環境;
③ 功能組件:包括密碼計算模塊、密鑰管理模塊等,為密碼機加解密、密鑰的生成、存儲、備份、恢復、銷毀等操作提供服務;
④ 密碼服務接口:即服務器密碼機的應用編程接口,應用通過該接口調用密碼設備,向上層提供基礎密碼服務,遵循GM/T 0018。
服務器密碼機內運行一個主服務程序,該服務在開機時自動啟動,可以接收密碼機應用接口發起的會話連接請求,并在握手后建立業務會話,然后向應用提供密碼運算服務。服務程序與密碼機應用接口之間采用TCP/IP協議進行通信,接收到應用接口的請求數據包后,根據命令碼的不同,調用相應的算法模塊完成密碼運算,并將運算結果返回密碼機應用接口,然后密碼機應用接口將該運算結果反饋給密碼應用系統。
服務器密碼機會話的維護基于Linux的多進程機制,這種機制具有較好的健壯性,某一個會話的異常不會影響到整個服務的穩定性,也不會影響到其他業務會話進程,適合于長連接的業務調用模式。為提高客戶端接口與密碼機服務程序之間的工作效率和穩定性,密碼機支持在建立業務會話時同時建立多個TCP/IP連接,這些連接可以復用,客戶端不同的進程或線程通過資源互斥鎖[2]進行網絡連接的分配,對應到密碼機內部的某個會話進程進行業務處理。
02
密鑰管理
服務器密碼機,通常具有密鑰產生、安裝、存儲、使用、銷毀以及備份和恢復等管理功能。
密鑰類型
(1)服務器密碼機和簽名驗簽服務器的密鑰類型,通常可劃分為三層結構,分別是:管理密鑰、設備密鑰/用戶密鑰/密鑰加密密鑰、會話密鑰。密鑰結構圖和類型說明分別如下圖及下表所示。
(2)金融數據密碼機基于對稱密鑰,其密鑰類型可劃分為三層結構,分別是:主密鑰、次主密鑰、數據密鑰。密鑰結構圖和類型說明分別如下圖及下表所示。
密鑰生命周期及要求
服務器密碼機的密鑰管理功能,可實現對密鑰的全生命周期管理。對于不同種類的密鑰,其生命周期的管理也有不同要求。密鑰生命周期及要求見下表。
服務器密碼機生命周期
服務器密碼機生命周期分為初始態和就緒態兩種狀態,未安裝設備密鑰的服務器密碼機設備處于初始態,已安裝設備密鑰的服務器密碼機處于就緒態。從初始態轉換到就緒態的過程稱為初始化,初始化過程要求在服務器密碼機出廠之前完成。服務器密碼機設備生命周期見下表。
03
硬件實現密碼的優勢
(1)安全性更好:現代密碼算法的安全核心依賴于密鑰的安全,受軟件健壯性和運行環境復雜性的影響,相比較硬件而言,密碼軟件實現面臨著更為多樣的安全威脅。除了軟件自身的漏洞之外,攻擊者還可以利用操作系統的漏洞、CPU固件漏洞等破壞隔離機制或竊取內存殘余,進而獲取泄露的密鑰數據。
(2)加密效率更高:加密算法往往含有許多對位串的復雜操作,密碼運算不同于通用計算機內部的常見操作,如目前廣泛使用的DES和RSA算法,計算過程均包含許多在微處理器上低效的操作步驟,即使經過許多密碼編制人員努力,令密碼算法更適合于軟件實現,專用硬件依舊在速度上占據優勢。目前主流的基于硬件實現的商用加密平臺,數據加密效率可達到10^6—10^8條/秒數量級。
(3)對系統性能影響小:由于硬件實現密碼的完整計算過程,均通過硬件完成,系統僅調用硬件對性能影響有限。而軟件實現密碼,無論是在用戶態還是內核態,均需占用大量的系統計算資源,尤其涉及到對大量數據加解密或進行頻繁的加解密操作時,對系統性能的影響較明顯。
部署方式及安全保障要求
服務器密碼機常見部署方式有直連模式、網絡連接模式、線路加密模式、總線模式和云部署模式,每種方式適用不同的應用場景,具體如下:
01
直連模式和網絡連接模式
直連模式指將服務器密碼機與服務器直接連接,是服務器密碼機最常見、最簡單的部署方式,通常用于對服務器關鍵數據的加密存儲和完整性保護。如圖1所示,應用服務器可通過網口直接與服務器密碼機進行連接調用,管理終端通過管理口本地連接對服務器密碼機進行管理。與直連模式類似的還有網絡連接模式,如圖2、3所示,網絡連接模式將服務器密碼機通過(專用路由器)專用交換機與服務器進行連接,可實現一臺服務器密碼機與多臺服務器連接,適用于應用關鍵數據加密需求不大或調用加密機不頻繁的情況下,更充分的利用服務器密碼機的加密資源。
圖1 直連模式
圖2網絡連接模式-常規連接
圖3網絡連接模式-跨網段連接
02
線路加密模式
線路加密模式是指在本地業務服務端和網絡邊界設備(通過邊界路由器或交換機連接)分別部署連接服務器密碼機,通過調用服務器密碼機,實現本地業務服務端與網絡邊界設備之間的通信加密和訪問控制。該模式通常用于信息系統安全區的廣域網邊界防護,如上級控制系統與下級控制系統之間的通過廣域網通信時的身份鑒別、數據傳輸機密性、完整性保護,如圖4所示。
圖4 線路加密模式
03
總線模式和云部署模式
總線模式和云部署模式類似,通常用于密碼資源池和云服務器密碼機的連接。總線模式部署示例如圖5所示,根據系統密碼應用需求,通過集群部署方式,部署包含服務器密碼機、簽名驗簽服務器等在內的密碼基礎實施,通過總線形式向上層應用系統提供統一的密碼保障服務。
圖5 總線模式
云部署模式示例如圖6所示,通過在云平臺部署云服務器密碼機集群,基于虛擬化技術,通過VSM授權管理系統和云密碼服務管理系統,為云上租戶應用系統提供密碼運算資源和管理功能。
圖6 云部署模式
在應用業務多樣化的環境下,傳統的密碼機部署方式很難靈活的適應業務需求變化;同時傳統的硬件密碼設備在云環境中部署具有一定障礙,很難滿足云計算環境下彈性部署、動態調配密碼資源的需求;除此之外,傳統密碼設備集成還存在應用密鑰管理和使用分散、運維成本高等問題。總線模式和云部署模式利于整合密碼資源、提供統一的密碼資源管理與統一的密碼服務接入規范,可為同一網絡環境下多個系統的應用業務提供規范、統一、高效的密碼技術支撐。
04
安全保障要求
為保障服務器密碼機被安全調用,服務器密碼機部署調用應采取以下安全措施:1)應通過專用交換機(路由器)調用服務器密碼機,避免通過業務交換機(路由器)調用;并在交換機(路由器)上設置相應的訪問控制策略,劃分不同應用服務器之間的訪問權限,保證服務器密碼機報文傳輸安全,防止非授權訪問;2)若服務器密碼機部署在安全的、可控的內部網絡環境時,可采用TCP/IP接入;3)若服務器密碼機部署在不可信的網絡環境或跨網絡調用時,應采用IPSec/ 協議建立安全的傳輸通道,保證傳輸安全。
運維管理
01
管理要求
(1)遠程管理要求
????① 服務器密碼機的遠程管理功能,只能用于遠程監控,包括參數和狀態查詢等。
② 其他管理功能,不允許遠程管理。遠程管理,應按照國家密碼管理主管部門的要求進行管理。
(2)管理安全要求
① 服務器密碼機應設置管理員,滿足相應管理權限可進行管理操作。
② 管理員應持有身份信息的硬件裝置,進行管理操作前應通過身份鑒別。
③ 對管理操作具備日志審計功能。
(3)設備管理要求
① 設備初始化:除必須由廠商進行的操作外,系統配置、密鑰的生成和管理、管理員的產生等,均應由用戶方設備管理人員完成。
② 設備檢查:應對密碼運算部件等關鍵部件進行正確性檢查;應對存儲的密鑰等敏感信息進行完整性檢查;在檢查不通過時,應報警并停止工作。
③ 對外接口:服務器密碼機,應分別提供服務接口和管理接口。
④ 系統加固:服務器密碼機所使用的操作系統,應進行安全加固,裁減一切不需要的模塊,關閉所有不需要的端口和服務。
02
本地管理示例
服務器密碼機的管理員用戶通常分為三種身份,管理員、安全員和操作員,三種用戶具有較高權限,均要求使用智能密碼鑰匙或密碼卡進行身份鑒別。其中,管理員可創建安全員和操作員及應用密鑰的生成和增刪,安全員可對操作員的權限進行管理并查看日志審計,操作員可對服務器密碼機進行網絡、系統等常規設置進行修改。
下面,基于國信中心密評室自建的密評仿真環境,以-A服務器密碼機為對象常見的密碼算法體制有什么,以COM口直連方式,介紹管理員對服務器密碼機的管理過程。
-A服務器密碼機管理系統的管理功能列表有七項,分別是:用戶登錄、系統管理、權限管理、密鑰管理、服務管理、備份恢復和安裝向導,如下圖7所示。
圖7密碼機管理界面
(1)用戶登錄功能
可供不同權限的用戶進行登錄;系統管理功能,主要包括查看和修改設備基本信息、設備維護信息、設備運行信息、查看和修改設備網絡配置;安裝向導功能,可幫助首次使用密碼機的用戶完成服務器密碼機的基本配置,如圖8、9、10所示。
圖8 密碼機系統管理功能
圖9 密碼機安裝向導
圖10 密碼機網絡配置
(2)權限管理功能
主要包括查看當前管理員或操作員的登錄狀態、用戶登錄、修改用戶口令、查看、增刪管理員和操作員、查看權限設置表等,如圖11所示。
圖11密碼機權限管理功能
(3)密鑰管理功能
主要包括密鑰初始化、RSA密鑰管理、ECC密鑰管理、對稱密鑰管理、密鑰備份/恢復等,如圖12、13、14所示。
圖12密碼機密鑰管理功能
圖13 RSA密鑰狀態
圖14密鑰備份功能
(4)服務管理功能
主要包括查看服務狀態、修改服務配置、白名單管理和手動啟動或停止當前服務等,如圖15所示。
圖15密碼機服務管理功能
(5)備份和恢復功能
包括備份密鑰信息、恢復密鑰信息等,如圖16所示。
圖16密碼機備份和恢復功能
03
調用方式
(1)服務器密碼機
服務器密碼機主要的調用方式,包括函數調用(API調用)方式、消息請求(請求響應)方式和Web方式。其中:
1)函數調用方式主要根據GM/T 0018-2012 《密碼設備應用接口規范》標準中規定的函數通過代碼實現接口調用;
2)消息請求方式主要通過相應協議以響應請求的方式實現調用;
3)Web方式主要通過客戶端的方式實現接口調用。
應用服務器可直接通過密碼服務接口調用服務器密碼機,向服務器密碼機發送明文,服務器密碼機接收明文后,由功能組件中的密鑰管理模塊生成密鑰,使用密鑰對明文進行加密,將加密后的密文發送到應用服務器端;密鑰管理模塊可對密鑰進行存儲、備份、恢復、銷毀等管理操作。
管理員也可通過應用服務器登錄密碼核心服務(客戶端管理軟件),通過服務器密碼機接口調用密碼機,將明文進行加密后發送至Web服務端(管理入口),從而實現對服務器密碼機的遠程管理。
下面,以國信中心密評實驗室密評仿真驗證平臺中用戶登錄調用服務器密碼機實現用戶身份鑒別為例,對服務器密碼機調用數據進行分析,服務器密碼機調用方式為函數調用方式。身份鑒別流程如圖17所示。
圖17 調用服務器密碼機的用戶身份鑒別流程
用戶使用智能密碼鑰匙登錄應用的過程為:應用服務器先向智能密碼鑰匙發起鑒別請求,應用服務器接收到智能密碼鑰匙返回的用戶信息和公鑰證書等數據后生成隨機數,隨機數經智能密碼鑰匙簽名后將簽名值返回應用服務器,再由應用服務器交由服務器密碼機進行驗簽。圖17中②和④表示的數據流為智能密碼鑰匙通過USB接口傳輸至應用服務器的數據常見的密碼算法體制有什么,其余過程均通過在應用服務器抓包展現,如圖18至圖22。
圖18服務器發送驗證請求(圖17過程①)
圖19服務器發送驗證請求(圖17過程③)
圖20服務端發送隨機數(圖17過程③)
圖21服務端發送簽名值(圖17過程⑤)
圖22 登錄成功(圖17過程⑥)
(2)云服務器密碼機
應用系統通過調用云服務器密碼機提供的標準API函數(符合GM/T 0018-2012)來使用云服務器密碼機的服務,虛擬機調用虛擬密碼機的安全通過虛擬機和VMM(運行在硬件和虛擬機之間的中間軟件層)之間的隔離特性來保障。因虛擬密碼機調用密碼機硬件資源的過程對上層應用透明,故云服務器密碼機的調用形式與實體密碼機基本一致,均使用標準API函數來實現對密碼機的調用,這方便了應用開發者快速的使用密碼機所提供的安全功能。在虛擬機中,應用程序調用虛擬密碼機(運行在VMM內存空間)實現密碼功能,所有的密碼計算和密鑰管理都在這個外置的虛擬密碼機中實現。這種調用方式保證了密鑰不會出現在虛擬機內存中,即使虛擬機被攻破,攻擊者也無法突破虛擬機和VMM之間的隔離機制,進而非法獲取VMM中的密鑰。
密評實施
在密評實施過程中,重點對服務器密碼機應用的合規性進行測評;針對設備和計算安全層面涉及服務器密碼機本身的安全測評,直接采信密碼產品認證結果(通過認證的服務器密碼機符合GM/T 0030《服務器密碼機技術規范》和GM/T 0028《密碼模塊安全技術要求》)。
01
服務器密碼機應用合規性測評思路
指標要求:信息系統中使用的密碼產品應符合法律法規的相關要求。
測評內容:服務器密碼機應用合規性測評,主要涉及服務器密碼機產品合規性測評和服務器密碼機選型、部署、調用、運維管理合規性測評等2方面內容。
實施思路:
(1)服務器密碼機產品合規性測評
1)通過訪談、查看產品認證證書等方式,核查受測系統部署使用的服務器密碼機是否通過認證,是否具有產品認證證書,產品認證證書是否在有效期內(此處的有效期要求是指系統責任單位采購服務器密碼機時,服務器密碼機的產品認證證書應在有效期內);
2)通過訪談、查看產品認證證書、實地核查、配置核查等方式,核查受測系統實際部署使用的服務器密碼機是否與認證證書上的型號一致。
(2)服務器密碼機選型、部署、調用和運維管理合規性測評
1)通過查看產品認證證書、實際核查等方式,核查受測系統部署使用的服務器密碼機產品安全級別是否滿足系統密碼應用安全等級要求;
2)通過系統拓撲分析、實際核查等方式,分析服務器密碼機在系統中的部署位置是否合理(服務器密碼機部署要求在本文“3.部署方式”章節有詳細描述);
3)測評人員通過訪談、配置核查、工具測試等方式,對受測系統中各層面的密碼應用流程進行梳理,明確服務器密碼機被調用的環節,經受測系統責任單位授權同意后,在服務器密碼機與調用設備之間合理選擇設置工具測試接入點,設置合理可行的測試用例,捕獲服務器密碼機被調用時的通信數據,結合業務流程和GM/T 0018-2012 《密碼設備應用接口規范》,分析服務器密碼機是否被有效調用,調用是否符合GM/T 0018-2012 《密碼設備應用接口規范》要求(服務器密碼機調用數據分析示例在本文“4.3 調用方式”章節有詳細描述,在此不做贅述)。
4)通過實際核查、配置核查、工具測試等方式,分析服務器密碼機本身的運維管理是否合規(具體要求在本文“4.運維管理”章節有詳細描述,在此不做贅述)。
02
設備和計算層面服務器密碼機測評思路
服務器密碼機作為密碼產品,是設備和計算層面身份鑒別、訪問控制信息完整性和日志記錄完整性等3個測評單元的測評對象,此處的測評原則是采信密碼產品認證結果(通過認證的服務器密碼機符合GM/T 0030《服務器密碼機技術規范》和GM/T 0028《密碼模塊安全技術要求》)。具體測評實施思路如下:(1)身份鑒別指標要求:應采用密碼技術對登錄設備的用戶進行身份鑒別,保證通信實體身份的真實性;測評內容:分析設備管理員登錄服務器密碼機時是否使用合規的密碼技術進行身份鑒別;實施思路:通過訪談、實地登錄測試查看是否使用密碼技術對管理員登錄服務器密碼機進行身份鑒別。若“不符合”,需區分受測系統部署的服務器密碼機是否支持遠程運維;僅支持本地運維時,需分析在受測系統服務器密碼機所部署的機房,物理和環境安全是否可對該測評項面臨的風險進行彌補,若機房物理和環境安全層面身份鑒別不存在高風險,可酌情降低風險;支持遠程運維時,則判定為“高風險”。(2)訪問控制信息完整性指標要求:宜采用密碼技術保證系統資源訪問控制信息的完整;測評內容:分析服務器密碼機管理員用戶權限列表是否使用合規的密碼技術進行完整性保護;實施思路:若受測系統中的服務器密碼機通過產品認證,且在系統驗收時證書在有效期內,則其訪問控制信息完整性判定為“符合”,否則判為“不符合”。(3)日志記錄完整性指標要求:宜采用密碼技術保證日志記錄的完整性;測評內容:主要分析服務器密碼機的設備操作日志是否使用合規的密碼技術進行完整性保護;實施思路:若受測系統中的服務器密碼機通過產品認證,且在系統驗收時證書在有效期內,則其日志記錄完整性判定“符合”,否則判為“不符合”。
結束語
本文主要介紹了服務器密碼機的定義及類型、架構原理、部署方式和運維管理等內容,依據密評要求和自身實踐經驗,概要介紹了密評實施中關于服務器密碼機的測評內容和測評實施,可為密評機構密評人員開展相關測評提供借鑒。
本文撰寫過程中,在搜集整理有關文獻資料、回顧總結以往密評項目案例的基礎上,利用國信中心密評實驗室的仿真試驗環境進行數據分析驗證,為本文的成稿提供了基礎條件支撐,實踐也證明,實驗室仿真試驗環境建設,在密評項目實施、密評技術研究和手段能力建設等方面,均可起到重要作用、產生應用效益。
國信中心密評實驗室,期望通過多種方式和途徑,與密評機構的同行交流探討密評實施及有關技術問題,分享認識體會與實踐經驗,大家共同努力,創新發展密評技術,不斷提升綜合能力,積極為國家網絡安全和密碼事業發展貢獻力量。
注釋
[1]OCSP(The )是一種驗證證書狀態的一種方式,也是CRL( list)證書吊銷的一種替代方式。
[2]在編程中,引入了對象互斥鎖的概念,來保證共享數據操作的完整性。每個對象都對應于一個可稱為" 互斥鎖" 的標記,這個標記用來保證在任一時刻,只能有一個線程訪問該對象。
參考文獻
文案:朱凌 / 付饒 / 魏薇 / 吳俊陽編輯:林青
審核:吳冬宇
點贊在看轉發是對我們最好的支持