基于密碼的云計算虛擬化網絡安全研究
.云計算技術是IT產業界的一場技術革命,已經成為了IT行業未來發展的方向。無論是基于開放網絡環境對公眾開放云服務的公有云,還是為企業內部用戶提供服務的私有云,都需要通過構建不同規模的數據中心作為提供云服務的基礎設施支撐。而虛擬化技術已經成為構建云計算數據中心的關鍵技術。
通過不同層次的計算資源、存儲資源和網絡通信資源的虛擬化實現資源池化,使云計算能夠在基礎設施層面實現平臺化服務(IaaS),如AmazonEC2、IBMBlueCloud、CiscoUCS等典型的IaaS產品。
使用云計算數據中心服務的用戶,需要基于瘦客戶端、移動云終端等設備完成接入,訪問其虛擬化計算資源,并進一步使用各種云計算服務。
云計算數據中心可以為不同的用戶群提供不同的服務,用戶群之間、用戶群內用戶彼此之間已經沒有了明確的物理邊界,而是基于虛擬化技術實現必要的安全隔離,這種隔離是否具備足夠的安全性,用戶數據是否具有足夠的隱私保護和訪問可控性,這些虛擬化安全問題已經成為云計算是否能夠取得廣泛應用突破的關鍵。
如何讓云中各種類型的用戶盡可能安全地使用網絡,如何讓用戶無縫地接入和使用云計算服務,如何通過虛擬化網絡技術提高數據中心網絡構建靈活性、擴展性的同時,解決好網絡安全問題,已經成為采用虛擬化技術構建云計算數據中心所必須要解決的問題。當前主流廠商有基于VLAN安全區化、防火墻虛擬化等網絡安全技術對云計算數據中心所采用的虛擬化網絡進行保護,但仍然未能解決好用戶訪問的可信以及數據交互的機密性、可控性等問題。
文中在研究基于虛擬化網絡的云計算數據中心典型架構與訪問應用模式的基礎上,從用戶安全接入、通信隔離與機密性保護等方面分析了數據中心虛擬化網絡安全需求,提出了虛擬化網絡安全技術框架,重點針對基于密碼技術強化虛擬化網絡安全,保障虛擬機之間的通信保護、信息隔離與安全交換等安全機制進行了分析與設計,提出了一種可供參考的解決方案。
1云計算虛擬化網絡技術及安全需求分析
1.1云計算虛擬化網絡典型結構與訪問應用模式
云計算的基礎架構主要包含計算(服務器)、網絡和存儲。對于網絡,從云計算整個生態環境上來說,可以分為3個層面,數據中心網絡、跨數據中心網絡以及泛在的云接入網絡。
其中數據中心網絡包括連接計算主機、存儲和4到7層服務器(如防火墻、負載均衡、應用服務器、IDS/IPS等)的數據中心局域網,以及邊緣虛擬網絡,即主機虛擬化之后,虛擬機之間的多虛擬網絡交換網絡,包括分布式虛擬交換機、虛擬橋接和I/O虛擬化等;跨數據中心網絡主要解決數據中心間的網絡連接,實現數據中心間的數據備份、數據遷移、多數據中心間的資源優化以及多數據中心混合業務提供等;泛在的云接入網絡用于數據中心與終端用戶互聯,為公眾用戶或企業用戶提供云服務。
在此,主要探討使用虛擬化網絡技術實現的數據中心網絡技術架構及其訪問應用方式。因為,數據中心大量的虛擬機通過虛擬化網絡訪問計算資源的安全可控問題,是解決云計算虛擬化網絡安全問題的關鍵。數據中心網絡包括核心層交換機、接入層交換機和虛擬交換機。在使用云計算后,數據中心的網絡需要解決數據中心內部的數據同步傳送的大流量、備份大流量、虛擬機遷移大流量問題,因此要求核心層網絡具備超大規模的數據交換能力以及足夠的萬兆接入能力。接入層交換機要求能夠支持各種靈活的部署方式和新的以太網技術,包括無損以太網技術等。
虛擬交換機是在物理服務器內部通過虛擬機管理器(Hypervisor)層虛擬出相應的交換機和網卡功能并實施管理,提供了服務器內多個虛擬主機虛擬網卡(vNIC)的互聯以及為不同的虛擬網卡流量設定不同的VLAN標簽功能,使得服務器內部如同存在一臺交換機,可以方便地將不同的網卡連接到不同的端口。Hypervisor為每個VM(虛擬主機)創建一個或者多個vNICs,聯接Hypervisor中的虛擬交換機,從而支持VM間的通信。Hypervisor還允許虛擬交換機和物理網絡接口的通信,以及和外部網絡的高效通信,典型的虛擬交換機如開源的OpenvSwitch。
以目前應用較成熟的Ctrix基于Xen的虛擬化系統為研究對象(與其他VmwareESX、KVM、Hyper-V等有所不同,可參考思路),分析用戶聯接虛擬化用戶終端,并進一步訪問數據中心計算資源的典型框架如圖2所示。
首先遠程用戶基于瘦客戶端,基于ICA等遠程桌面協議(Vmware用PCoIP)訪問數據中心服務器上的用戶虛擬終端。ICA協議是基于Xen的Ctrix虛擬化系統的專有協議,將顯示器、鍵盤、鼠標操作信息與服務器端管理域交互,可以在Hypervisor上創建、中止相應的虛擬化終端系統,獲得與本地化計算機終端操作相同的使用體驗。同時,管理域OS上還運行了所有外設的實際驅動程序,通過后端驅動模塊與系列客戶終端虛擬機OS上運行的前端驅動模塊進行交互,實現對各客戶終端虛擬機設備驅動的支持。
其次,用戶虛擬終端機之間通過虛擬網卡、虛擬化交換機(包括跨物理服務器的分布式虛擬化交換機),實現虛擬終端之間以及用戶虛擬終端與虛擬應用服務器之間的高速網絡數據交互,實現基于虛擬化的數據集中應用,并訪問各種應用服務器,或進行用戶虛擬機的遷移等。其中分布式虛擬交換機采用使底層服務器架構更透明的方法,支持不同物理服務器上虛擬交換機的跨服務器橋接,使一個服務器中的虛擬交換機能夠透明地和其他服務器中的虛擬交換機連接,使服務器間(以及它們的虛擬接口)的VM遷移更簡單。
1.2虛擬化網絡安全需求
虛擬化終端應用模式實現了數據集中應用,并提供了用戶間的數據隔離,同時又以虛擬交換機實現了用戶間的數據交互。虛擬交換機與實體交換機一樣,還提供VLan、ACL、虛擬機端口的流量策略管理、QoS等機制。根據上述云計算用戶使用數據中心的虛擬化終端,并通過虛擬化網絡進行應用訪問的典型模式描述,這里對云計算虛擬化網絡安全的需求進行了如下分析歸納:
1)用戶接入的網絡安全需求。應該保障虛擬化用戶能夠可信、可控、安全地接入數據中心啟用其對應的終端虛擬機系統。應該強化用戶接入數據中心的認證與訪問控制,提供ICA等遠程桌面協議的機密性保護。
2)虛擬機之間的網絡安全需求。與傳統的安全防護不同,虛擬機環境下,同臺物理服務器虛擬成多臺VM以后,VM之間的流量交換基于虛擬交換機進行交換,管理員對于該部分流量既不可控也不可見,但實際上根據需要,不同的VM之間需要劃分到不同的安全域,進行隔離和訪問控制,應提供保證虛擬機之間交互數據的機密性保護機制,避免通過虛擬交換機的混雜模式端口映射機制監聽到所有不同用戶群組的虛擬機之間的通信數據。
此外,還應該為虛擬機的遷移提供安全的數據傳輸通道,避免遷移過程(往往是跨物理服務器乃至跨數據中心的)造成用戶數據泄露。
3)數據中心之間的網絡安全需求。數據中心之間會有計算或存儲資源的遷移和調度,對于大型的集群計算,一般采用構建大范圍的二層互聯網絡(包括跨數據中心的分布式虛擬交換機),對于采用多個虛擬數據中心提供云計算服務,可以構建路由網絡(三層)連接。需要對數據中心網絡邊界進行防火墻、入侵檢測等常規網絡安全防護,同時對跨數據中心交互的數據進行機密性保護。
2基于密碼技術的虛擬化網絡安全解決方案
2.1基于密碼技術的虛擬化網絡安全方案框架
基于前述典型虛擬化網絡安全架構與網絡安全需求分析,文中提出了如圖3所示的基于密碼技術的虛擬化網絡安全解決方案。
虛擬化網絡安全技術框架包括基于UKey的安全虛擬化終端、服務器端高速密碼模塊(ENC)虛擬化、虛擬機數據本機存儲加密、虛擬機之間虛擬化網絡加密(VPN)、相關密碼密鑰管理等關鍵安全機制,從源頭開始,形成了基于密碼技術的網絡安全防護技術框架,確保了用戶安全地使用云計算數據中心的計算資源。
2.2網絡安全機制設計
2.2.1基于UKey的安全虛擬化終端
用戶通過廋客戶機,基于ICA等遠程桌面訪問數據中心虛擬機管理系統,使用相應的虛擬化用戶終端。根據安全需求分析,應該解決好用戶使用虛擬化終端的安全、可信、可控問題。為此,在終端使用UKey,裝載用戶身份證書用于強化身份認證,并提供對稱、非對稱密碼運算功能,與虛擬化服務器端的密碼設備配合,實現數據密碼保護。安全機制設計如下:
1)vKey的管理。虛擬機管理域運行的vKey管理模塊用于為不同的虛擬化終端分配和管理vKey設備,并實現與廋客戶端映射過來的USBKey進行捆綁。vKey管理模塊通過vKey后端驅動與Hypervisor通信,繼而和不同的用戶虛擬化終端通信。當用戶虛擬終端需要訪問vKey設備時,vKey前端驅動將密碼功能調用命令通過事件通道發送給vKey后端驅動;vKey后端驅動根據事件通道號找到相對應的vKey設備標識號,并填寫入請求包,然后將請求包發給vKey管理模塊;vKey管理模塊根據設備標識,將指令傳遞給相應的vKey模塊(vKey1-vKeyN),進一步通過UKey真實驅動,基于ICA等協議的USBKey映射實現與廋客戶機上的USBKey進行命令交互。處理完成后,vKey管理模塊進一步通過vKey后端驅動和前端驅動將處理結果返回給用戶虛擬化終端。
2)認證。對廋客戶端與虛擬化服務器端的ICA軟件模塊進行改造,將原有用戶名口令認證方式,升級為廋客戶端與虛擬化服務器端基于UKey內用戶數字證書的認證方式。客戶端UKey中與虛擬化服務器端都存有證書管理系統頒發的數字證書,實現雙向實體認證。認證交互過程的密碼運算分別由客戶端的UKey以及服務器內置的密碼模塊實現。完成基于數字證書的雙向認證后,虛擬化服務器上的虛擬終端管理域必須完成多個用戶UKey(對應到管理域的vKey)與多個虛擬化客戶端配置信息的一一對應捆綁,保障通過認證的遠程用戶能夠使用與其身份信息對應的個性化虛擬終端。
3)通信加密。ICA等遠程桌面協議提供了可配置的加密機制,如SecureICA,用于在ICA客戶端和服務器端協議數據的加密。如果與Ctrix等廠商深入合作,可以進一步升級完善加密機制,使密碼算法符合相關應用領域的密碼要求(如替換為商用領域的標準SM1-SM4密碼算法),從而由UKey和服務器端密碼模塊內置的特定密碼算法,實現ICA協議數據傳輸的加密保護。
2.2.2服務器端高速密碼模塊虛擬化
顯然,服務器端的高速密碼模塊需要實現密碼模塊的虛擬化——密碼模塊資源池化,能夠為包括管理域OS及用戶虛擬化終端提供多個vENC模塊,結合vKey實現用戶各自的密鑰管理,滿足對虛擬機系統多租戶的密碼服務支持。具體機制說明如下:
1)虛擬機管理器(Xen)之上的管理域包含ENC的物理驅動程序(ENC真實驅動)和vENC后端驅動。每個用戶虛擬化終端或虛擬化服務器系統包含vENC前端驅動,這個驅動程序與管理域的ENC驅動程序(稱為準虛擬化或PV驅動程序)配合工作,實現ENC模塊面向多用戶虛擬機或服務器的設備虛擬支持。
2)進一步可采用一種適合服務器I/O虛擬化的Single-RootI/OVirtualization(SR-IOV)技術,允許虛擬機管理器(hypervisor)簡單地將ENC虛擬功能映射到VM上,以實現本機ENC設備性能和隔離安全效果,不需要任何透傳技術就能達到很高的性能。
3)ENC模塊本身可以采用對多租戶并發使用的密鑰管理機制。通過設置可并發支持的用戶密鑰空間(如32組、64組用戶密鑰并發支持),接收來自不同用戶虛擬機vKey上存放的工作密鑰(U-WK)。ENC模塊本身也通過證書管理系統獲得自身的設備證書及公私鑰對(PKENC/SK-ENC,其中私鑰SK-ENC安全內置在ENC模塊中)。vKey通過將U-WK基于ENC模塊的公鑰加密得到U-WK’=ECC(PK-ENC,U-WK)(假設采用的是ECC橢圓曲線公鑰密碼算法),將U-WK’置入ENC模塊的用戶密鑰空間中,使ENC模塊能夠高效地實現多租戶數據加密的并發支持。
2.2.3虛擬機數據本機存儲加密
虛擬化數據集中應用情況下,用戶數據通過虛擬機之間的隔離機制實現了一定程度的隔離保護,但總體而言,明態存在于數據中心服務器端,這對于云服務的推廣造成困難。可以采用UKey映射為相應虛擬化終端的vKey后,利用建立虛擬加密磁盤或文件系統加密(類似EFS)等機制,實現用戶虛擬機終端上存儲數據的本地加密。但由于采用ICA等協議映射及大量網絡數據交互的原因,必然導致實際效率降低。為此,可以將vKey與服務器上的高速密碼模塊(ENC)結合,利用vKey管理和加載用戶密鑰以及ENC虛擬化后提供給用戶虛擬機終端上的vENC設備,實現用戶虛擬化終端本地數據存儲的加密,這樣存儲加密效率將大為提高。
2.2.4虛擬化網絡加密VPN
如前面的需求分析,虛擬化用戶終端系統彼此之間以及與虛擬化服務器系統之間的網絡數據傳輸通過虛擬交換機進行,雖然具備和內存帶寬相當的高速交換能力,但缺少機密性保護,需要從網絡通信的源頭——虛擬機系統,實現VPN網絡加密機制,保障用戶虛擬機端到端的網絡通信安全,具體安全機制說明如下:
1)虛擬機間端到端VPN網絡加密。
可以通過虛擬機管理域的VM管理模塊,為虛擬機配置網絡安全策略,虛擬機啟動運行后通過安全策略執行模塊執行這些網絡安全策略。網絡安全策略可以針對一個用戶群組的用戶統一制定,也可以針對單個用戶虛擬機單獨制定。安全策略內容包括虛擬機應該針對哪些網絡明通、哪些網絡密通、密通時采用隧道還是傳輸封裝模式、網絡加密工作密鑰的更換周期、哪些情況下阻斷網絡訪問以及缺省情況下網絡訪問策略等。用戶虛擬機上的安全策略執行模塊通過在虛擬機網絡協議棧上進行過濾的方式進行網絡訪問策略判別與安全處理(Linux系統采用在NetFilter框架中增加VPN處理模塊實現,Windows系統采用加載基于NDIS的VPN處理模塊實現)。對于需要加密的數據包,采用vENC提供的加密調用接口進行加密后發出;對于需要接收并解密的數據包,同樣調用相應的解密接口脫密后提交給用戶虛擬機上層協議棧。安全策略執行模塊根據安全策略,通過網絡協議層IP數據包過濾并自動觸發的方式,對需要執行加密策略而尚無相應工作密鑰(N-WK)的數據,由協議過濾模塊觸發事件,啟動安全策略執行模塊應用層的密鑰協商或密鑰交換過程。可在對方交換的證書公鑰保護下完成N-WK的交換,并按照安全策略要求定時更換N-WK。
2)跨數據中心的VPN保護。由于跨數據中心的網絡安全防護邊界比較明確,其網絡數據傳輸密碼保護可以采用常規的VPN來解決。
3)基于VPN通道保護下的虛擬機遷移安全。針對跨物理服務器進行虛擬機遷移,主要通過虛擬機管理域之間的通信來實現。不同物理服務器的虛擬機管理域之間可采用類似用戶虛擬機之間構建端到端加密VPN通道的方式,構建網絡安全傳輸通道。通過虛擬機管理域之間的VPN通道,使用戶虛擬機在實施運行態遷移時,所有需要傳遞的狀態信息、用戶數據信息、網絡配置信息、安全策略信息等獲得加密保護。
2.3相關密碼密鑰管理
上述基于密碼技術的虛擬化終端及網絡安全機制,都需要解決好密碼密鑰管理的問題[6],分別說明如下:
1)針對ICA協議加密的密鑰管理。ICA協議的加密在廋客戶機與虛擬機管理域之間進行。客戶端UKey中與服務器的密碼模塊ENC中都存有證書管理系統頒發的數字證書,且UKey與ENC模塊都具備對稱密碼運算、簽名驗簽等密碼服務功能。雙方通過改造ICA協議,實現基于證書的雙向認證,并采用典型的基于證書進行對稱密鑰交換的協議完成ICA協議數據加密密鑰的協商。工作密鑰更換可采用一次(登錄使用)一密的方式。
2)針對用戶數據存儲加密的密鑰管理。在用戶終端創建虛擬加密磁盤或加載加密文件系統模塊時,通過調用vKey產生工作密鑰U-WK,基于ICA等協議的映射關系,密鑰實際存放在用戶UKey中。并且通過vENC模塊提供的接口,將U-WK基于ENC模塊的公鑰保護下,置入ENC模塊中供存儲數據加密使用,使用完畢后清除ENC中的U-WK,確保用戶數據密鑰掌握在自己手中。
3)VPN加密時的密鑰協商與保護。虛擬機之間建立端到端VPN加密通道,密鑰協商時采用交換各自用戶UKey中的證書,并基于非對稱密碼體制完成網絡加密工作密鑰(N-WK)的協商或交換,N-WK交換時可采用數字信封的方式保護。
3方案效能與特點分析
基于密碼技術,文中提出了虛擬化網絡的安全解決方案。該方案能夠為虛擬化網絡從源頭提供機密性、安全隔離、虛擬機用戶可信認證等關鍵安全保障,解決了限制云計算數據中心服務廣泛應用的關鍵安全風險。其安全特點如下:
1)為基于虛擬化網絡構建的數據中心提供了信息源頭的可信與機密性保障。
2)基于虛擬機技術、用戶虛擬終端存儲加密、端到端網絡加密機制,在數據機制應用模式下,提供了用戶終端間計算環境和數據的有效安全隔離,以及安全可控的數據交換。
3)通過虛擬機管理域之間的網絡加密通道,提供了虛擬機遷移的安全保障。
4)能夠與傳統網絡安全防護手段結合,適應云計算跨多個數據中心的網絡安全防護需求。
4結語
安全問題一直是影響云計算應用發展的關鍵問題。基于虛擬化網絡技術構建數據中心,滿足數據集中安全應用需要,是一種典型的適應未來規模化、網絡化云應用的模式。文中基于密碼技術提出了虛擬化網絡安全解決方案框架,對構建安全的云計算基礎設施(IAAS)有重要參考價值。下一步應研究該方案與其他網絡安全機制(如防火墻、IDS)的虛擬化(資源池化)技術的結合,共同構建具備綜合網絡安全防護效能的虛擬化網絡安全防護系統。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。