










摘要:國產商用密碼技術是保障業務信息系統安全的核心技術,關系著信息系統重要數據的安全。文章重點介紹國產商用密碼算法及其工作模式,結合國家標準《信息安全技術 信息系統密碼應用基本要求》GB/T 39786—2021三級技術指標要求,建立一個滿足身份鑒別、重要數據傳輸機密性和完整性、重要數據存儲機密性和完整性以及抗抵賴功能需求的模擬應用系統,在每個技術層面提出基于商用密碼技術解決方法。
關鍵詞:國產商用密碼技術;模擬系統;解決方法
中圖分類號:TP309文獻標志碼:A
0 引言
近年來,隨著商用密碼在網絡與信息系統中的廣泛應用,其維護國家主權、安全和發展利益的作用日益凸顯。2023年7月1日,新修訂的《商用密碼管理條例》,對《中華人民共和國密碼法》的第三章商用密碼相關制度進行了進一步細化。在商用密碼的不斷推廣和應用過程中,如何用好、用對商用密碼技術,應對網絡與信息系統面臨的安全風險,切實提升網絡與信息系統的安全,逐漸成為政府、企業信息系統運營者關注的重點。《信息安全技術 信息系統密碼應用基本要求》GB/T 39786—2021(以下簡稱《基本要求》)為信息系統密碼應用的規劃、建設、運行及密評提供了具體指導,讓各領域與行業將《基本要求》與自身的密碼應用需求結合進行密碼技術的應用和管理,從技術要求和管理要求2個維度保證信息系統安全。文章依據《基本要求》,從物理和環境安全、網絡和通信安全、設備和技術安全以及應用和數據安全這4個技術要求維度展開探討,研究為信息系統商用密碼技術應用提供具體的解決方法和思路。
為了加強對《基本要求》的理解并積累商用密碼應用經驗,文章基于某企業項目管理系統,綜合運用各類密碼產品[1-2]和密碼服務,構建一個企業內部辦公的密碼應用模擬系統,通過在各技術層面實現商用密碼算法、技術和協議,使模擬系統具備身份認證、簽名驗簽、數據傳輸機密性和完整性、數據存儲機密性和完整性保護和抗抵賴等安全防護能力。信息系統采用B/S與C/S多終端類型混合服務架構,PC端通過安全瀏覽器、移動端通過App訪問登錄,實現業務全流程的商用密碼技術應用。
1 商用密碼算法簡介
2010—2016年,國家密碼管理局依次公布了密碼雜湊算法SM3、序列密碼算法ZUC、公鑰密碼算法SM2、對稱加密算法SM4和公鑰密碼算法SM9等商用密碼算法,文章中的模擬系統均采用國產商用密碼算法,該系列算法安全強度均能滿足現階段商用密碼的應用要求——安全強度大于80 bit,經過正確應用可以為信息系統提供有效的安全保障。
現階段商用密碼算法和國際常用密碼算法安全強度如表1—3所示。
其中MD5、DES、SHA-1、RSA(不足2048 bit)等國際密碼算法安全強度不足,已經無法保證重要數據的安全性,但很多信息系統依然選擇這些密碼算法對重要數據進行保護,一旦被惡意利用,可能會導致信息系統面臨風險。因此,文章建議采用安全強度大于80 bit的商用密碼算法保護信息系統。
我國于2008年發布了有關分組密碼算法的工作模式國家標準《信息安全技術分組密碼算法的工作模式》GB/T 17964—2008 。在分組密碼算法中,根據分組數據塊鏈接的組合模式不同,可以分為以下7種工作模式:電碼本(Electronic Code Book,ECB)模式、密文分組鏈接(Cipher Block Chaining,CBC)模式、密文反饋(Cipher Feedback,CFB)模式、輸出反饋(Output Feedback,OFB)模式、計數器(Counter,CTR)模式、分組鏈接(Block Chaining,BC)模式、帶非線性函數的輸出反饋(Output Feedback with a Nonlinear Function,OFBNLF)模式。其中,ECB模式由于具有“泄露明文”的缺陷,其用于長消息加密可能不安全,可用于短消息(密鑰)的加密[3]。在對業務數據、日志數據、鑒別數據等重要數據進行安全保護時可考慮CBC、CFB、OFB、CTR等模式。
2 模擬系統中的密碼應用場景
為了防止非法人員登錄模擬系統,應采用密碼技術鑒別登錄系統人員身份的真實性;為防止系統重要數據在傳輸和存儲過程中被外部攻擊者非法獲取或篡改,應對傳輸和存儲的重要數據作加密處理和完整性校驗;為防止數據收發方否認數據接收或發送行為,否認所作的重要操作和交易,應對數據原發、接收及其他重要操作行為進行基于密碼技術的抗抵賴保護。
模擬系統部署了經過商用密碼認證機構認證合格的密碼產品,確保了系統的安全性和穩定性。在本地環境中,模擬系統按照密碼產品的安全策略或使用手冊說明的部署條件正確部署,涉及的密碼產品包含智能密碼鑰匙、協同簽名移動軟件開發工具包(Software Development Kit,SDK)、簽名驗簽服務器、協同簽名服務器、服務器密碼機、時間戳服務器、證書認證系統、安全套接層(Secure Socket Layer,SSL)協議虛擬專用網絡(Virtual Private Network ,VPN)、互聯網安全協議(Internet Protocol Security,IPSec)VPN。模擬系統主要包括物理環境監控區、安全管理區、無線接入區、密碼支撐基礎設施區、異地網絡服務區和業務應用區,其拓撲如圖1所示。
文章著重關注應用層面的密碼應用需求,以身份鑒別、重要數據傳輸以及存儲機密性和完整性、不可否認性功能展開探討。
2.1 身份鑒別
關于模擬系統中用戶身份鑒別密碼的應用需求,依據《基本要求》中的應用和數據層面的相關要求,可采用動態口令機制、基于對稱密碼算法或密碼雜湊算法的消息鑒別碼機制或基于公鑰密碼算法的數字簽名機制等密碼技術對登錄用戶進行身份鑒別。考慮到智能密碼鑰匙的便捷性以及普遍性,模擬系統選擇采用基于公鑰密碼算法的數字簽名機制對登錄用戶進行身份鑒別,相對于其他方式,該方式更易于操作,用戶接受度更高。
2.2 數據傳輸機密性和完整性
在網絡邊界處的端到端或端到站的場景中,網絡層面普遍采用TLS 1.1及以上版本的SSL協議或傳輸層密碼協議(Transport Layer Cryptography Protocol,TLCP)[4]建立安全傳輸通道。而在站到站的場景中,網絡層面普遍采用IPSec協議建立安全傳輸通道,比如2個機房之間的數據傳輸。在內網中,同樣需要采取密碼技術對重要數據進行安全保護,信息系統可以調取服務器密碼機的接口對身份鑒別信息(如口令)、個人信息(如身份證號)和重要業務數據加密傳輸。在模擬系統中,采用GMTLS協議為傳輸的重要數據進行機密性和完整性保護。
2.3 數據存儲機密性和完整性
信息系統調用服務器密碼機接口,利用密碼技術的加密手段對存儲在數據庫中的重要字段進行機密性保護,利用基于對稱密碼算法或密碼雜湊算法的消息鑒別碼機制或基于公鑰密碼算法的數字簽名機制等密碼技術對重要字段進行完整性保護。信息系統也可以采用透明數據庫加密系統作用于數據庫的安全防護。透明數據庫加密系統由服務器密碼機與密碼模塊提供密碼運算支持,在數據庫服務器上部署透明數據庫加密插件,以合規方式登錄數據庫的運維管理員可以查看明文數據庫表,而通過非法途徑盜取數據庫的攻擊者只能看到密文。透明數據庫加密系統原理是由透明數據庫加密插件與服務器密碼機進行雙向身份鑒別后,將工作密鑰以數字信封的方式傳入透明數據庫加密插件緩存,對整個數據庫用工作密鑰進行加密和哈希保存,比如用戶以合規方式登錄數據庫,由插件的工作密鑰進行完整性校驗后,解密即可看到明文。
在文章所建立的模擬系統中,系統中的重要數據類別可分為個人信息數據、鑒別數據和重要業務數據,信息系統通過調用服務器密碼機,對數據庫中的重要數據列表進行加密存儲和完整性校驗。
2.4 不可否認性
企業內部存在重要文件生成、更新、流轉、審批、發布和銷毀等操作,其中重要的操作行為須采用基于公鑰密碼算法的數字簽名機制對操作行為進行不可否認性防護。
在模擬系統中,采用公鑰密碼算法的數字簽名機制對文件生成、更新、審批和銷毀等關鍵操作行為進行數字簽名。
3 密碼應用流程設計
模擬系統就以上4種典型密碼應用場景展開搭建,綜合以上場景的密碼應用需求以及《基本要求》的技術要求,涵蓋C/S和B/S的基于“挑戰—響應”身份鑒別、網絡層面的安全傳輸通道、不可否認性等密碼應用場景。
3.1 身份鑒別功能實現
模擬系統以PC端與移動終端為主。PC端登錄用戶持有智能密碼鑰匙登錄模擬系統,PC端安裝國密瀏覽器,登錄用戶在登錄界面采用“用戶名+口令”以及智能密碼鑰匙的登錄方式進入模擬系統。用戶身份鑒別流程如圖2所示,具體登錄步驟如下:(1)安全瀏覽器向簽名驗簽服務器請求隨機數random;(2)在智能密碼鑰匙內對返回的隨機數random值作簽名;(3)國密瀏覽器將用戶名、口令、簽名值以及對應的用戶簽名公鑰證書發送至簽名驗簽服務器;(4)簽名驗簽服務器對簽名值、用戶簽名公鑰證書以及在本地存放的隨機數random值進行簽名驗簽;(5)驗簽成功后,發送鑒別成功的消息至安全瀏覽器,用戶即可登錄模擬系統。
在安全瀏覽器數據包中可查看到模擬系統中的交互過程,傳輸的隨機數random值和對應的簽名值如圖3所示,在getRandom以及login數據包中可看到隨機數random值以及對應的簽名值。
除了以上常見做法外,現如今流行采用安全認證網關單向代理信息系統對用戶PC端進行身份鑒別。安全認證網關單向代理信息系統流程如圖4所示。登錄用戶采用智能密碼鑰匙即USBKey與安全瀏覽器的方式登錄信息系統,PC端須安裝安全認證網關客戶端。身份鑒別流程如下:(1)安全瀏覽器向信息系統服務端發送訪問請求;(2)信息系統服務端跳轉至安全認證網關服務端;(3)安全認證網關客戶端識別USBKey,同時用戶輸入證書的個人身份識別碼(Personal Identification Number,PIN),安全認證網關客戶端識別到USBKey中的用戶證書,通過數字證書技術和“挑戰—響應”的機制認證。在認證成功后,依照安全認證網關中存放的用戶角色與證書唯一編號的對應表,用戶即可登錄模擬系統。
移動終端常用協同簽名系統保證移動端用戶的身份鑒別。移動端協同簽名流程如圖5所示。在移動終端安裝協同客戶端密碼模塊,該密碼模塊中存放用戶證書以及對應的部分用戶私鑰。移動端用戶的身份鑒別流程如下:(1)協同簽名客戶端向服務端發送訪問請求;(2)協同簽名服務端在接收到訪問請求后,發送隨機數至客戶端;(3)協同客戶端密碼模塊中的部分用戶私鑰對隨機數簽名,返回用戶證書、簽名分量v1至協同簽名服務端;(4)協同簽名服務端利用另一部分的用戶私鑰簽名得到簽名分量v2合并簽名值v,利用用戶公鑰證書、簽名值v以及對應的隨機數這3個元素進行驗簽;(5)驗簽通過后,在移動終端的用戶即可登錄信息系統,反之則不通過。
3.2 數據傳輸機密性和完整性實現
模擬系統依靠網絡層的SSL VPN以及IPSec VPN來保證傳輸機密性和完整性,采用符合要求的密碼技術建立網絡通信信道,保證模擬系統的傳輸機密性和完整性安全。
通過Wireshark網絡協議分析器抓取模擬系統的GMTLS協議,GMTLS協議數據包如圖6所示。可以看出協議采用的密碼套件為ECC_SM4_CBC_SM3。其中,ECC默認為SM2公鑰密碼算法[5],用于身份鑒別、數字簽名、密鑰交換等,SM4_CBC密碼算法用于保證傳輸過程中重要數據的機密性,HMAC_SM3密碼算法用于保證傳輸過程中重要數據的完整性。
3.3 數據存儲機密性和完整性實現
模擬系統采用傳統的密碼技術以保證數據庫中重要字段的機密性和完整性,信息系統所在的應用服務器調用服務器密碼機對數據庫中的鑒別信息、個人信息和重要業務數據字段進行加密存儲和簽名存儲。
截取數據庫中某一個數據列表,用戶手機號碼存儲列表如圖7所示,手機號采用SM4_CBC密碼算法進行機密性保護,密文存儲在數據庫中。
3.4 不可否認性實現
模擬系統中涉及用戶操作行為的抗抵賴需求。因此,采用簽名驗簽服務器保證業務用戶審批行為和公文簽發行為的不可否認性,某公文驗證通過結果如圖8所示。
4 結語
文章介紹了采用合規密碼技術保證企業項目管理安全的模擬系統,結合國產商用密碼技術,從產品選擇和部署方式上,解決了身份鑒別、數據傳輸機密性和完整性、數據存儲機密性和完整性和不可否認性的建設與改造難題;在密碼技術與本地信息系統的運用上,提供了多種解決方法。由于文章未能考慮某些特定行業的數據實時性需求,在重要數據類別分類以及密碼應用需求方面還需要重新定義,比如采集類數據由于并發量大[6]、實時性要求高以及對數據保密性要求不高等業務應用特點,僅需進行完整性保護,可順應實際情況選擇合適的密碼應用技術。
參考文獻
[1]市場監管總局,國家密碼管理局.《商用密碼產品認證目錄(第一批)》[EB/OL].(2020-05-11)[2024-01-26].https://www.oscca.gov.cn/sca/xwdt/2020-05/11/content_1060749.shtml.
[2]市場監管總局,國家密碼管理局.《商用密碼產品認證目錄(第二批)》[EB/OL].(2022-07-14)[2024-01-26].https://www.oscca.gov.cn/sca/xwdt/2022-07/14/content_1060931.shtml.
[3]郭亞軍,宋建華,李莉,等.信息安全原理與技術[M].北京:清華大學出版社,2017.
[4]國家市場監督管理總局,國家標準化管理委員會.信息安全技術 傳輸層密碼協議(TLCP):GB/T 38636—2020[S].北京:中國標準出版社,2020.
[5]國家密碼管理局.SSL VPN技術規范:GM/T 0024—2014[S].北京:中國標準出版社,2014.
[6]霍煒,郭啟全,馬原.商用密碼應用與安全性評估[M].北京:電子工業出版社,2020.
Cryptographic application security construction based on commercial cryptographic
application standards
Abstract:The domestic commercial cryptographic technology is the core technology to ensure the security of business information systems, and that is related to the security of important system data. This article mainly introduces the domestic commercial cryptographic algorithms and working modes. In combination with the technical index requirements of third level in GB/T 39786—2021 “Information Security Technology - Baseline for Information System Cryptography Application”, a simulation application system that meets the requirements of identity authentication, confidentiality and integrity of important data transmission and storage, as well as anti-repudiation function is established locally. The solutions based on commercial cryptographic technology are provided for each technical level.
Key words: domestic commercial cryptographic technology; simulation system; solution