朱曉華
(長(zhǎng)春吉大正元信息技術(shù)股份有限公司,北京 100086)
近年來,隨著云計(jì)算、大數(shù)據(jù)、5G、數(shù)據(jù)中心、物聯(lián)網(wǎng)等應(yīng)用場(chǎng)景的涌現(xiàn),數(shù)據(jù)成為繼土地、勞動(dòng)力、資本、技術(shù)之后的第五大生產(chǎn)要素[1],數(shù)字化成為國(guó)民經(jīng)濟(jì)發(fā)展的新引擎,而云作為新一代信息技術(shù)要素的重要實(shí)體,更是數(shù)字信息時(shí)代連接一切的“樞紐”。
在云場(chǎng)景中,密碼技術(shù)在身份識(shí)別、安全隔離、信息加密、完整性保護(hù)和抗抵賴性等方面具有不可替代的重要作用。為確保密碼算法的自主可控,降低敏感信息泄露和信息系統(tǒng)遭受攻擊的風(fēng)險(xiǎn),國(guó)家密碼管理局制定并發(fā)布了一系列的國(guó)產(chǎn)加密算法及相關(guān)密碼行業(yè)標(biāo)準(zhǔn),大力倡導(dǎo)信息安全核心產(chǎn)品的國(guó)產(chǎn)化,并出臺(tái)相關(guān)政策強(qiáng)制要求在國(guó)家信息安全建設(shè)過程中使用國(guó)產(chǎn)化信息安全密碼產(chǎn)品,以期實(shí)現(xiàn)在云計(jì)算環(huán)境中國(guó)密算法及產(chǎn)品使用的普及和加強(qiáng)。在云計(jì)算環(huán)境中,傳統(tǒng)IT 架構(gòu)部署的密碼產(chǎn)品服務(wù)器應(yīng)用模式難以發(fā)揮密碼優(yōu)勢(shì)[2],正確合理的云環(huán)境密碼應(yīng)用模式是保障云場(chǎng)景數(shù)據(jù)安全最有效、最可靠的手段。
同時(shí),數(shù)字時(shí)代海量的數(shù)據(jù)要求通信網(wǎng)絡(luò)向大帶寬、高速率、低延遲、高可靠的方向演進(jìn)[3],而存儲(chǔ)和計(jì)算則向云與數(shù)據(jù)中心轉(zhuǎn)移,因此只有將更高速的密碼技術(shù)應(yīng)用到云與數(shù)據(jù)通信系統(tǒng)中,才能避免密碼成為影響網(wǎng)絡(luò)速率和帶寬的瓶頸。而傳統(tǒng)的高速密碼技術(shù),主要以實(shí)現(xiàn)數(shù)據(jù)中心、骨干網(wǎng)絡(luò)等高速數(shù)據(jù)加解密或者安全套接層加/卸載為目標(biāo),以高速芯片/現(xiàn)場(chǎng)可編程門陣列、模組、整機(jī)的重設(shè)計(jì)或性能提升為工程手段,其完整的實(shí)現(xiàn)路徑一般都比較長(zhǎng),成本也相對(duì)較高,如果涉及芯片的重設(shè)計(jì)及流片,更是一般中小、創(chuàng)新企業(yè)難以承受和投入的。
本文將通過分析云環(huán)境中的安全風(fēng)險(xiǎn)及面臨的新挑戰(zhàn),嘗試以相對(duì)低廉和易實(shí)現(xiàn)的技術(shù)路徑,簡(jiǎn)要闡明在用戶云環(huán)境中應(yīng)用高速數(shù)字簽名的實(shí)踐方法,并結(jié)合已有的云簽驗(yàn)服務(wù)平臺(tái)和云簽驗(yàn)服務(wù)器產(chǎn)品技術(shù),在虛擬化層面實(shí)現(xiàn)資源池化和統(tǒng)一管理,實(shí)現(xiàn)安全密碼服務(wù)的高性能,滿足日益增長(zhǎng)的用戶數(shù)據(jù)安全需求。
云計(jì)算的安全性、可靠性以及可管理性的要求,遠(yuǎn)高于一般傳統(tǒng)、獨(dú)立的業(yè)務(wù)系統(tǒng)[4],云場(chǎng)景的虛擬化、多租戶、彈性計(jì)算等特點(diǎn)對(duì)數(shù)字簽名應(yīng)用提出了更高的要求。首先,應(yīng)用都部署在云上,需要保證信息的完整性和機(jī)密性;其次,多個(gè)應(yīng)用系統(tǒng)使用同一套簽名系統(tǒng),需要保證用戶數(shù)據(jù)的充分隔離;最后,應(yīng)用系統(tǒng)繁多,需要做到密碼資源的動(dòng)態(tài)合理分配。
云平臺(tái)的建設(shè)把業(yè)務(wù)系統(tǒng)部署方式由分散部署改為集中部署,云平臺(tái)自身異構(gòu)化復(fù)雜,并且隨著承載運(yùn)行的云上業(yè)務(wù)應(yīng)用系統(tǒng)的逐漸增多,對(duì)數(shù)字簽名服務(wù)的速率要求也越來越高,提供高性能的數(shù)字簽名運(yùn)算服務(wù)非常必要。通常,在云場(chǎng)景下對(duì)數(shù)字簽名運(yùn)算速率的要求比常規(guī)的本地部署至少高一個(gè)數(shù)量級(jí)左右,因此除了集群部署,單臺(tái)數(shù)字簽名設(shè)備的性能也需提升,而在當(dāng)前的網(wǎng)絡(luò)通信應(yīng)用中,主流的數(shù)字簽名服務(wù)器性能大部分還集中在簽名驗(yàn)簽30 kTPS 及以下的中低速率。
鑒于云平臺(tái)具有虛擬化、分布式、資源集中等特點(diǎn),云環(huán)境下相應(yīng)的密碼服務(wù)也要做出相應(yīng)調(diào)整,如對(duì)密碼服務(wù)虛擬化、密碼服務(wù)動(dòng)態(tài)遷移等方面進(jìn)行優(yōu)化構(gòu)建,云平臺(tái)中與之相對(duì)應(yīng)的數(shù)字簽名服務(wù)模式也需進(jìn)行規(guī)范化設(shè)計(jì)。
云計(jì)算中的數(shù)字簽名服務(wù)十分重要,一旦中斷將會(huì)影響云平臺(tái)及其上眾多應(yīng)用的正常運(yùn)行,因此對(duì)數(shù)字簽名服務(wù)的可用性要求更高,即要求云環(huán)境中的數(shù)字簽名應(yīng)用需要具備更高的系統(tǒng)持續(xù)服務(wù)能力。
實(shí)現(xiàn)上述目標(biāo)的核心思路是將密碼作為云環(huán)境中的基礎(chǔ)資源,以云簽驗(yàn)服務(wù)器作為基礎(chǔ)設(shè)施,以云簽驗(yàn)服務(wù)平臺(tái)進(jìn)行密碼資源統(tǒng)一管理,并對(duì)外統(tǒng)一提供服務(wù)。
由高性能云簽驗(yàn)服務(wù)器虛擬多臺(tái)簽名服務(wù)器,并與云簽驗(yàn)管理平臺(tái)結(jié)合進(jìn)行云化部署,作為云基礎(chǔ)提供密碼服務(wù),既可以進(jìn)行獨(dú)立管理,也可以配合云平臺(tái)進(jìn)行管理。整體應(yīng)用架構(gòu)如圖1 所示。
圖1 整體應(yīng)用架構(gòu)
其中,云簽驗(yàn)平臺(tái)可以通過整合、共享和動(dòng)態(tài)分配密碼設(shè)備資源,為用戶提供按需分配、動(dòng)態(tài)擴(kuò)展的數(shù)字簽名安全服務(wù),從而實(shí)現(xiàn)安全設(shè)備資源的可伸縮擴(kuò)展,保證安全服務(wù)的連續(xù)性,以此顯著降低企業(yè)安全設(shè)施資源的投資成本和維護(hù)成本,增強(qiáng)安全服務(wù)的可靠性以及實(shí)現(xiàn)安全設(shè)施資源的利用效率最大化。
云簽驗(yàn)服務(wù)器作為整個(gè)系統(tǒng)底層密碼算力實(shí)體,直接影響整個(gè)系統(tǒng)的可部署性及實(shí)施成本。云簽驗(yàn)服務(wù)器由云簽驗(yàn)管理服務(wù)、虛擬簽名服務(wù)器和簽名客戶端組成,虛擬簽名服務(wù)器和簽名客戶端均可獨(dú)立提供數(shù)字簽名、數(shù)字信封等服務(wù)(如圖2 所示)。單臺(tái)服務(wù)器既可提供服務(wù),也可與云平臺(tái)結(jié)合進(jìn)行部署。
圖2 云簽驗(yàn)服務(wù)器架構(gòu)
虛擬簽名服務(wù)器包括簽名服務(wù)器和簽名服務(wù)端工具包(Verification Server Tool Kit,V-STK),對(duì)外提供服務(wù)時(shí),應(yīng)用數(shù)據(jù)通過V-STK 傳入簽名服務(wù)器,處理后再經(jīng)由V-STK 傳出,以供應(yīng)用系統(tǒng)獲?。还芾韱T可通過Web 方式登錄控制臺(tái),對(duì)證書及其相關(guān)參數(shù)進(jìn)行配置,以提高服務(wù)管理效率。V-STK 提供Java 接口、COM 接口、C 接口,方便調(diào)用用戶的應(yīng)用系統(tǒng)。在應(yīng)用密鑰隔離方面,系統(tǒng)支持硬件級(jí)虛擬化技術(shù),將硬件密碼模塊虛擬化并映射到各虛擬簽名服務(wù)器,將業(yè)務(wù)系統(tǒng)的密鑰置于虛擬密碼模塊中,各虛擬簽名服務(wù)器間的虛擬密碼模塊是彼此隔離的,不可互相訪問。
簽名客戶端(如圖3 所示)為獨(dú)立運(yùn)行的組件,如簽名客戶端工具包(Verification Client Tool Kit,V-CTK)和移動(dòng)證書工具包(Mobile Client Tool Kit,M-CTK),對(duì)外提供服務(wù)時(shí),應(yīng)用客戶端通過V-CTK 提供的接口函數(shù)將數(shù)據(jù)傳入,處理后再經(jīng)由接口函數(shù)傳出。V-CTK為客戶端插件,支持標(biāo)準(zhǔn)軟證書、硬證書。M-CTK 為移動(dòng)端插件,支持標(biāo)準(zhǔn)軟證書、硬證書,支持Android 和iOS 系統(tǒng)。云簽驗(yàn)服務(wù)器通過輕量目錄訪問協(xié)議(Lightweight Directory Access Protocol,LDAP)/ 在線證書狀態(tài)協(xié)議(Online Certificate Status Protocol,OCSP)查詢和校驗(yàn)證書的有效性。
圖3 簽名客戶端部署結(jié)構(gòu)
云簽驗(yàn)平臺(tái)基于主流云計(jì)算框架進(jìn)行設(shè)計(jì),采用虛擬化、微服務(wù)、集群等技術(shù),將管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)與計(jì)算節(jié)點(diǎn)完美地融為一體。
如圖4 所示,管理節(jié)點(diǎn)通過集中管控,可高效擴(kuò)充存儲(chǔ)能力及運(yùn)算能力,使存儲(chǔ)能力、運(yùn)算速度均大大提高。存儲(chǔ)節(jié)點(diǎn)通過加密技術(shù)將私鑰獨(dú)立且安全地存儲(chǔ)在密碼卡中,并將私鑰在其他存儲(chǔ)節(jié)點(diǎn)進(jìn)行備份,構(gòu)成集群以達(dá)到高可用性,其中任何一個(gè)存儲(chǔ)節(jié)點(diǎn)出現(xiàn)故障,平臺(tái)都可以通過集群中的備份繼續(xù)正常提供服務(wù)。計(jì)算節(jié)點(diǎn)通過獨(dú)立高效的密碼運(yùn)算以支撐高并發(fā)的業(yè)務(wù)處理,同時(shí)通過流量控制技術(shù)可以在不停止業(yè)務(wù)的情況下進(jìn)行擴(kuò)容,計(jì)算節(jié)點(diǎn)使用模板技術(shù)創(chuàng)建新節(jié)點(diǎn)使部署時(shí)間縮短到分鐘級(jí),計(jì)算能力和存儲(chǔ)能力隨服務(wù)節(jié)點(diǎn)的數(shù)量增加而呈線性增長(zhǎng)。
圖4 云簽驗(yàn)服務(wù)平臺(tái)架構(gòu)
2.4.1 單節(jié)點(diǎn)高速數(shù)字簽名技術(shù)
通過優(yōu)化CPU、內(nèi)存、網(wǎng)卡、硬盤、密碼卡等硬件性能及虛擬化技術(shù),進(jìn)一步調(diào)整對(duì)軟硬件密碼運(yùn)算的分配與協(xié)同等,在單臺(tái)設(shè)備中獲得最優(yōu)的數(shù)字簽名運(yùn)算性能,并以此為基礎(chǔ)構(gòu)建密碼資源池,集群化對(duì)外輸出更為客觀的密碼運(yùn)算,從而為云計(jì)算等海量業(yè)務(wù)場(chǎng)景提供高性能的密碼支撐。
2.4.2 簽名資源池彈性調(diào)度
云簽驗(yàn)平臺(tái)設(shè)計(jì)了多種靈活的密碼運(yùn)算資源節(jié)點(diǎn)調(diào)度算法,在應(yīng)用系統(tǒng)使用的密碼運(yùn)算資源不足時(shí),可以將云簽驗(yàn)服務(wù)器剩余的運(yùn)算資源或?qū)⑵渌褂觅Y源量不大的應(yīng)用系統(tǒng)的資源調(diào)配給當(dāng)前應(yīng)用系統(tǒng);云簽驗(yàn)平臺(tái)可以支持模塊熱插拔,當(dāng)系統(tǒng)運(yùn)行期間出現(xiàn)密碼速率不足時(shí),可以隨時(shí)增加硬件資源,管理員只需簡(jiǎn)單的操作就可以完成資源的擴(kuò)展,并且不影響業(yè)務(wù)的正常運(yùn)行或使用。
2.4.3 簽名服務(wù)高可用技術(shù)
云簽驗(yàn)平臺(tái)應(yīng)用了數(shù)據(jù)多副本容錯(cuò)、計(jì)算節(jié)點(diǎn)同構(gòu)可互換等措施來保障服務(wù)的高可靠性,通過增加冗余單元提高系統(tǒng)持續(xù)服務(wù)的能力。虛擬設(shè)備或物理設(shè)備一旦出現(xiàn)故障,管理系統(tǒng)可以將虛擬設(shè)備或物理設(shè)備進(jìn)行克隆或漂移,從而保證業(yè)務(wù)的不間斷運(yùn)行。
本文以云簽驗(yàn)服務(wù)系統(tǒng)在某政務(wù)云場(chǎng)景中的應(yīng)用舉例,在該應(yīng)用場(chǎng)景中要求以集群的方式達(dá)成整個(gè)云簽驗(yàn)服務(wù)系統(tǒng)峰值簽名速率350 kTPS 以上的超高性能,因此基于原標(biāo)準(zhǔn)產(chǎn)品單臺(tái)簽名速率42 kTPS 的基礎(chǔ)性能,需要進(jìn)行大幅優(yōu)化和提升。否則將使得集群的云簽驗(yàn)服務(wù)器臺(tái)數(shù)過多,導(dǎo)致客戶實(shí)施成本高企。
本次作為性能優(yōu)化標(biāo)的的云簽驗(yàn)服務(wù)器,其初始狀態(tài)配備x86 架構(gòu)CPU、雙內(nèi)存與機(jī)械硬盤。初始狀態(tài)數(shù)字簽名處理性能如表1所示。
表1 初始狀態(tài)數(shù)字簽名性能數(shù)據(jù)
由此可見,初始狀態(tài)CPU 利用效率較低,根據(jù)木桶效應(yīng)原理,屬于整體硬件配置性能未達(dá)到充分協(xié)調(diào),配置中存在明顯的性能短板。
針對(duì)上述整機(jī)配置特點(diǎn),總體優(yōu)化思路從以下3 個(gè)方面著手:一是通過調(diào)整整機(jī)的硬件配置,不斷補(bǔ)齊性能短板,充分發(fā)揮硬件性能;二是通過虛擬化技術(shù)的選型提升性能利用率;三是通過軟硬件協(xié)同優(yōu)化,進(jìn)一步平衡和提升利用效率。
3.2.1 硬件配置優(yōu)化
在初始狀態(tài)的基礎(chǔ)上,通過理論計(jì)算和實(shí)驗(yàn)驗(yàn)證的方式將內(nèi)存數(shù)增加一倍,同時(shí),將機(jī)械硬盤調(diào)整為固態(tài)硬盤,在光卡提升為萬(wàn)兆的基礎(chǔ)上,進(jìn)一步將CPU 進(jìn)行升級(jí),從而使性能獲得明顯提升,數(shù)字簽名速率接近翻倍。
3.2.2 虛擬化技術(shù)選型優(yōu)化
本次虛擬化技術(shù)選型優(yōu)化主要是以Docker取代基于內(nèi)核的虛擬機(jī)(Kernel-based Virtual Machine,KVM),初始狀態(tài)基于KVM虛擬化技術(shù),雖然做到了完全虛擬化,但是KVM 相對(duì)較大的資源消耗以及效率影響,使得虛擬化后的性能具有明顯損耗。而Docker 則相對(duì)輕量化得多,得益于Docker 的低系統(tǒng)開銷,實(shí)際驗(yàn)證整體性能有15%左右的提升,顯然還是比較可觀的。
3.2.3 軟硬件協(xié)同優(yōu)化
軟硬件協(xié)同優(yōu)化的核心思路是將密碼計(jì)算任務(wù)以合理化的比例分配于密碼卡和CPU(即以軟件的方式承擔(dān)一部分密碼運(yùn)算),對(duì)CPU和密碼卡的運(yùn)算資源進(jìn)行充分挖掘和利用。
綜合采用以上優(yōu)化措施后,CPU 利用效率提升至接近100%,單臺(tái)云簽驗(yàn)服務(wù)器數(shù)字簽名性能提升至96.6 kTPS,采用4 臺(tái)云簽驗(yàn)服務(wù)器集群就可以滿足客戶應(yīng)用場(chǎng)景的性能要求,在沒有顯著增加成本的基礎(chǔ)上性能可提升至原來的2.3倍。
通過以上的研發(fā)與性能調(diào)優(yōu),云簽驗(yàn)服務(wù)器實(shí)現(xiàn)了更高速數(shù)字簽名處理性能,整體調(diào)優(yōu)后測(cè)試數(shù)據(jù)如表2 所示。
表2 高速數(shù)字簽名性能提升數(shù)據(jù)
由此可見,優(yōu)化后不僅業(yè)務(wù)密碼應(yīng)用性能得到大幅提升,CPU 性能也被充分挖掘,整機(jī)硬件性能得到進(jìn)一步協(xié)調(diào)發(fā)揮。
以云簽驗(yàn)服務(wù)器為代表的商用密碼設(shè)備,其綜合性能的提升應(yīng)該從整機(jī)的維度進(jìn)行綜合考量,并且應(yīng)結(jié)合業(yè)務(wù)應(yīng)用實(shí)際。因?yàn)樵趯?shí)際的業(yè)務(wù)應(yīng)用中,單純密碼卡的加解密性能僅是綜合性能中的一個(gè)環(huán)節(jié),還存在業(yè)務(wù)邏輯的解析、網(wǎng)絡(luò)數(shù)據(jù)的加載卸載等瓶頸,設(shè)法消除各個(gè)環(huán)節(jié)的明顯短板或瓶頸,使得整機(jī)按業(yè)務(wù)場(chǎng)景需要的硬件配置協(xié)調(diào)達(dá)到最優(yōu),才是實(shí)現(xiàn)整個(gè)系統(tǒng)密碼業(yè)務(wù)性能指標(biāo)的關(guān)鍵。對(duì)于客戶實(shí)際應(yīng)用而言,以整機(jī)硬件配置調(diào)整和軟硬件交互優(yōu)化的方式,集群部署提升系統(tǒng)整體性能,這無(wú)疑是易實(shí)施和低成本的。
云計(jì)算是國(guó)家關(guān)鍵信息基礎(chǔ)設(shè)施,一旦遭到破壞將對(duì)國(guó)家安全、社會(huì)穩(wěn)定、經(jīng)濟(jì)繁榮和民生改善造成嚴(yán)重?fù)p失。在“互聯(lián)網(wǎng)+”的大背景下,業(yè)務(wù)信息系統(tǒng)融合了大量跨部門、跨平臺(tái)的數(shù)據(jù),存在用戶假冒、數(shù)據(jù)篡改、信息泄露等安全風(fēng)險(xiǎn),易遭受網(wǎng)絡(luò)攻擊。如何為業(yè)務(wù)信息系統(tǒng)提供更加可靠的安全保障,是當(dāng)前業(yè)務(wù)信息系統(tǒng)建設(shè)發(fā)展過程中亟須解決的問題。
在云環(huán)境中需要普及國(guó)密技術(shù)及算法,密碼技術(shù)是保障信息安全的關(guān)鍵核心技術(shù)[5],可確保密碼算法的自主可控,降低敏感信息泄露和信息系統(tǒng)遭受攻擊的風(fēng)險(xiǎn)。鑒于云平臺(tái)具有虛擬化、分布式、資源集中等特點(diǎn),云環(huán)境下相應(yīng)的密碼服務(wù)也要進(jìn)行相應(yīng)調(diào)整,如對(duì)密碼設(shè)備的高性能、密碼服務(wù)虛擬化、密碼服務(wù)動(dòng)態(tài)遷移等方面進(jìn)行設(shè)計(jì)。
云簽驗(yàn)服務(wù)系統(tǒng)的應(yīng)用模式可以有效適用于云環(huán)境對(duì)數(shù)字簽名應(yīng)用的安全要求。在統(tǒng)一硬件的基礎(chǔ)上,通過云簽驗(yàn)服務(wù)平臺(tái)對(duì)外統(tǒng)一提供數(shù)字簽名服務(wù)的方式,實(shí)現(xiàn)數(shù)字簽名服務(wù)的彈性擴(kuò)展和按需定制,并可根據(jù)應(yīng)用需求快速調(diào)整和組合數(shù)字簽名服務(wù)系統(tǒng)并完成部署。同時(shí),作為基礎(chǔ)的單一云簽驗(yàn)服務(wù)器可根據(jù)實(shí)際業(yè)務(wù)應(yīng)用性能的需要,選取合適的硬件進(jìn)行配置并優(yōu)化,實(shí)現(xiàn)以集群的方式快速和低成本地滿足用戶場(chǎng)景的高速或高性能數(shù)字簽名應(yīng)用需求。