劉 芳,曹進克
(1. 鄭州工業應用技術學院信息工程學院,河南 新鄭 451100;2. 解放軍信息工程大學,河南 鄭州 450011)
隨著計算機網絡技術的飛速發展,數據通信具有越來越重要的作用,數據的共享與交換一直占據重要位置,如何對系統間的數據進行快速、安全的交換,一直都是科研工作者研究的重要課題之一[1,2]。作為云平臺重要支撐的虛擬化技術可以大大提高數據通信過程中的利用率和容錯率。當建立好虛擬機的共享數據通道后,通信兩端通過共享內存通道進行數據交換[3],除此之外,虛擬機間還可以靈活的進行內網數據通信,這種通信方式可以極大程度上提高數據的吞吐率。由于每個虛擬機都具有獨立的操作系統和存儲空間,因此就安全性而言,虛擬機具有相當出色的隔離優勢[4]。
現如今有大量學者參與到虛擬機通信數據的研究中。文獻[5]基于虛擬化技術對云平臺的虛擬機進行串口和網絡配置,結合虛擬機鏡像配置虛擬網絡,通過串口自動觸發虛擬機內部的路由,并自動實現外網的通信配置,該方法在數據通信過程中具有較高的效率。文獻[6]基于XenVMC的高效率、在線遷移等特點,設計了多核環形共享數據緩存空間,為了使通信接收方能夠進行數據并發的接收,調度多個運行的CPU,該方法在數據的吞吐率上有明顯的提高。文獻[7]設計了一種支持虛擬機代理的加速虛擬化框架,為用戶提供高效、透明API虛擬化的同時,增強用戶通信間的數據隔離性,并利用硬件虛擬化技術,通過CPU控制虛擬機間的虛擬化性能開銷,實驗結果表明,該模型與經典模型相比通信性能可以提高5倍左右。
基于以上研究,從安全方面考慮,本文圍繞虛擬機通信數據機制,提出云服務器虛擬機通信串口數據安全性監控仿真方法。采用模糊身份機制在通信數據中引入隨機掩碼,確保數據用戶身份信息的隱私性。并將云計算的信任問題轉換成虛擬機的遷移問題。
為了對串口通信提供安全保障,需要對串口通信系統進行全方面的設計。首先需要選擇合適的點對數據進行獲取;然后對截斷點實施攔截;最后對用戶數據進行加密與解密處理。串口通信系統由I/O管理器和設備驅動程序組成。I/O管理器將系統組件和應用程序連接到虛擬機上,并對設備的基礎體系結構進行定義。設備驅動程序為虛擬機提供I/O接口,接收并發送驅動指令給I/O管理器。
數據安全基于串口通信安全技術,本文設計的安全技術模塊主要包含:初始化模塊、用戶管理模塊、驅動程序模塊和數據處理模塊四部分。
初始化模塊是整個串口通信安全技術運行的基礎,主要負責檢測驅動程序是否安裝、系統是否正常工作。驅動程序文件在系統啟動時動態附加到相應的串口上,并調用其它模塊正常運行。該模塊的流程圖如圖1所示。
初始化時需要將計算機對應的串口代號傳遞給驅動程序模塊,在判斷串口代號時先檢測串口是否能夠正常工作。
用戶管理模塊是為了應用安全技術之后,能夠根據用戶需求對整個串口通信系統進行監控,主要負責調用數據處理模塊中秘鑰的添加與修改等,通過設置通信對象,方便對數據進行處理。
驅動程序模塊是串口通信安全技術的核心部分,主要負責截取串口數據,并調用數據處理模塊對數據進行加密和簽名等處理,刪除掉不需要的數據。驅動程序模塊有旁路和激活兩種狀態,用戶通過操作界面的指定,進行兩種狀態的相互切換。
發送數據時,驅動程序模塊通過調用數據處理模塊對通信數據進行攔截加密處理,其中的密鑰是用戶由密鑰表查詢并設置的,然后將加密的數據附加上標志發送出去。接收數據時,依據通信數據標志,驅動程序模調用數據處理模塊對數據進行解密處理。
數據處理模塊主要負責驅動加密卡和修改密鑰。這個部分采用公鑰算法與對稱密鑰算法相結合,完成串口通信數據的加密與密鑰的分發過程。
用戶通過管理界面將通信數據和公開的密鑰進行對稱加密,并將其持久化。在密鑰表中結合通信數據找到與之對應的公鑰,并對密鑰進行加密,將隨機生成的密鑰添加到數據后面發送出去。接收到數據后,將通信數據與密鑰做分離處理,根據私鑰解密內容。此過程中,加密的數據格式如圖2所示。

圖2 加密數據格式
“標志1”和“標志2”的目的是為了能夠將通信數據與密鑰正確的分離出來,方便后續的解密工作。假設數據和密鑰都是由0和1組成的64bit符號串,那么有

(1)
其中,a表示數據;b表示密鑰,且b8,b16,b24,…,b64是奇偶校驗位,不起作用,因此密鑰b只有56bit有效。加密過程用公式可表示為

(2)
其中,E表示初始置換;Fi表示第i次的迭代過程。公鑰算法的基礎是歐拉定理,假設整數c和a互素,那么歐拉公式可表示為
c?(a)=1(moda)
(3)
其中,?(a)表示與a互素且小于a的正整數的數量。對通信數據進行加密與解密時,其變換用公式可表示為

(4)
其中,e和f表示隨機選取的整數。加密設計的原則是替換性良好,使新模塊取代舊模塊時,系統中的其它模塊不做改動,因此在通信數據安全技術設計中,對數據處理模塊進行獨立研究設計。
云計算信息安全問題不僅有云服務器固有因素造成的,也有對外執行服務過程中表現的安全性。對于云平臺而言,通信數據安全是首要問題。為了對用戶的身份信息進行隱私保護,在模糊身份機制的密文中引入隨機掩碼,確保數據用戶身份信息的隱私性。假設數據用戶身份信息屬性集合為φ,密文交互信息私密集合為φ′,兩者滿足的關系為
|φ∩φ′|≥ε
(5)
其中,ε表示交集中的屬性個數,只有滿足式(5)才能進行解密。在構建密鑰的時候,私鑰需要通過多項式構造出來,用公式可表示為

(6)
其中,h表示雙線性群的生成元;k(i)表示e-1階多項式,li表示任意整數。在對數據采取加密操作時,通過隨機方式確定密文形式,用公式表示為

(7)
其中,H′表示消息密文;{Hi}表示公開參數集合;s表示非負數集合中的隨機整數。消息接收者接收到數據后,解密過程用公式可表示為

(8)
其中,e表示雙線性映射;S表示元組值數值集合。進而需要對數據用戶身份的屬性相關性進行分析,這也是模糊身份機制的重要之處。屬性相關性是對數據用戶身份與量化屬性之間的相關性進行描述,根據各個屬性的排序和設定的閾值進行弱相關屬性的刪除,那么用戶身份信息集合所需的期望信息用公式可表示為

(9)
其中,vm表示數據用戶身份信息元組的數目;pi表示任意樣本屬于某一類屬性的概率。按照某一屬性對數據用戶身份信息的集合進行劃分得出該屬性的熵,用公式可表示為

(10)
其中,X表示屬性;smi表示第i個集合所包含第m個類的元組。那么作用于屬性X的信息增益用公式可表示為
GAI(X)=EXP(s1,s2,…,sm)-ENT(X)
(11)
云服務的基礎是數據存儲載體,因此針對這一基礎設施,以虛擬化可信平臺模塊作為基礎,進行虛擬機模塊遷移的安全性研究。
監控系統采取暗盒的形式對虛擬機進行管理,從而保證其中數據與用戶的解耦隔離,在這種安全保護措施下,云服務的信任問題轉向了虛擬機的創建與遷移上。虛擬機的安全遷移方法主要包含身份認證、相互完整性檢驗和數據傳輸三部分內容,遷移方法如圖3所示。

圖3 虛擬機遷移方法示意圖
基于用戶身份加密機制,源服務器和目的服務器的公開密鑰可以由自身信息描述獲得,而私有密鑰則是由私鑰生成器生成。一旦目的服務器的身份信息被獲取,源服務器就會通過公開密鑰對雙方的通信信息進行加密。目的服務器接收到以密文形式發送的通信數據后,利用私鑰生成器獲取自身的私鑰信息,對接收的密文進行解密。
當源服務器和目的服務器互相認證身份成功后,會進入到完整性檢驗階段。在檢驗階段,虛擬機既要度量物理平臺的環境,還要向檢驗工作者提供存儲的度量信息,通過這些度量信息,虛擬機就可以處理通信過程的安全檢驗請求。
身份認證和相互完整性檢驗過程成功后,就可以進行數據傳輸。數據傳輸前目的服務器為了表示已經做好傳輸準備,會向源服務器發送一個新生成的隨機數,源服務器接收到隨機數后,開始進行通信數據的遷移。
為了驗證本文所設計串口數據通信安全技術的可行性,以及實施安全技術對系統帶來的影響,通過實驗比較發送1kB、10kB、100kB和1000kB數據時,在不同波特率9600bps、19200bps和57600bps下速率變化的百分比。實驗結果如圖4所示。

圖4 不同波特率下速率百分比曲線
從圖中可以看出,隨著發送數據的不斷增加,通信系統速率變化百分比逐漸降低。當發送的數據超過100kB時,速率變化曲線相對較為平緩。并且當發送的數據大小相同時,波特率越大,對串口通信速率的影響就越明顯。總體而言,采用本文設計的安全技術對系統的影響在允許的范圍內,表明本文方法具有可行性。
進一步對數據用戶信息的屬性相關性進行分析,數據用戶身份的初始數據集如表1所示。

表1 初始數據集
為了對數據用戶信息進行準確地歸納與描述,將每個數據用戶視為一個獨立個體。姓名屬性是對數據用戶描述貢獻值最大的屬性,因此姓名屬性被保留;而年齡和民族等屬性可能存在多數相同值,因此將這些貢獻值較低的屬性排除,通過實驗得出屬性的判別閾值為2.5,經過屬性相關性分析,數據用戶信息描述的屬性集為{姓名,城市,電話,郵箱},并將其作為模糊身份機制加密屬性集合。將文獻[8]的密文結構標注為H1,將所提密文結構標注為H2,它們的比較如下

(12)


圖5 密文結構構造開銷
從圖中可以看出,當通信數據長度相同時,基于H2的建立時間較H1延長了大約30%,同時,對內存的占用提升了大約1.5倍,然而可以看出漲幅較為穩定。在整個檢驗過程中,大部分為H2的建立時間,因此在沒有對檢驗過程產生影響的同時,還可以較好的對通信數據進行安全性的保護。
為了對通信數據的安全性進行監控,設計了基于云服務器虛擬機通信串口數據安全監控方法。基于現有通信系統架構,對通信串口的安全技術結構進行設計。為了對數據用戶身份屬性信息進行描述,采用模糊身份加密機制,不僅避免了單一屬性對身份信息描述的不足,還能增強云服務器通信數據的安全性保護。并將云計算環境的信任問題,轉換成虛擬機的遷移問題,采用身份加密機制及虛擬遷移技術構造安全的遷移機制。最后通過實驗對本文方法進行分析,證明了本文方法對通信數據的安全性具有較好的保護程度。