任仁, 謝炯, 陳曉宇, 李祺
(內(nèi)蒙古電力集團(tuán)蒙電信息通信產(chǎn)業(yè)有限責(zé)任公司,內(nèi)蒙古,呼和浩特 010000)
隨著智能手機(jī)以及其他智能終端的飛速發(fā)展,利用可移動(dòng)式便攜設(shè)備進(jìn)行辦公已成為了十分普遍的辦公方式。這樣的辦公方式不受時(shí)間和地點(diǎn)的約束,大大提高了企事業(yè)單位的工作效率[1-5]。5G技術(shù)逐漸推廣進(jìn)一步促進(jìn)了移動(dòng)辦公的發(fā)展。
利用手機(jī)等移動(dòng)終端進(jìn)行辦公時(shí),需要在移動(dòng)終端上安裝相應(yīng)的軟件,然后通過終端軟件與辦公系統(tǒng)之間進(jìn)行數(shù)據(jù)傳輸。如果辦公過程中涉及對(duì)文檔進(jìn)行編輯的工作,那么則需要額外安裝具有編輯功能的插件。當(dāng)移動(dòng)終端在利用外網(wǎng)進(jìn)行辦公時(shí),復(fù)雜的網(wǎng)絡(luò)環(huán)境會(huì)使得辦公系統(tǒng)的安全性得不到保障,容易遭受到網(wǎng)絡(luò)攻擊或病毒攻擊導(dǎo)致內(nèi)部數(shù)據(jù)泄密等情況的發(fā)生。因此,解決移動(dòng)辦公系統(tǒng)的安全性能是非常重要的。
虛擬化技術(shù)是一種云計(jì)算技術(shù),常用于移動(dòng)辦公系統(tǒng)的安全管理中[6-8]。將虛擬化技術(shù)應(yīng)用于移動(dòng)辦公系統(tǒng)中,其實(shí)是在辦公系統(tǒng)內(nèi)部服務(wù)器和移動(dòng)辦公的智能移動(dòng)終端之間增加了虛擬層。虛擬化技術(shù)通過ICA(Independent Computing Architecture)協(xié)議、RDP(Remote Desktop Protocol)協(xié)議等數(shù)據(jù)交換協(xié)議提供數(shù)據(jù)虛擬通道實(shí)現(xiàn)數(shù)據(jù)庫和終端之間的數(shù)據(jù)交換。虛擬化技術(shù)的應(yīng)用使得移動(dòng)辦公由原本的分布式部署轉(zhuǎn)變?yōu)榱思惺讲渴?,不僅提高了工作效率、簡(jiǎn)化了系統(tǒng)的維護(hù),還在優(yōu)化系統(tǒng)的安全性方面起到了重要作用。
本虛擬化移動(dòng)辦公平臺(tái)的整體架構(gòu)主要包括安全移動(dòng)臺(tái)服務(wù)器端和安全移動(dòng)平臺(tái)客戶端,如圖1所示。其中:服務(wù)器端的功能為內(nèi)部辦公數(shù)據(jù)的儲(chǔ)存、調(diào)取、管理以及工作任務(wù)的發(fā)布等;客戶端為辦公終端,其功能為接收工作任務(wù)、對(duì)工作任務(wù)進(jìn)行編輯和執(zhí)行等。安全移動(dòng)平臺(tái)服務(wù)器端包括了平臺(tái)管理模塊、身份認(rèn)證模塊、應(yīng)用發(fā)布模塊、虛擬化模塊、虛擬化窗體展現(xiàn)和管理模塊。平臺(tái)管理模塊的主要功能是對(duì)整個(gè)辦公平臺(tái)系統(tǒng)運(yùn)行的管理,包括運(yùn)行日志、維護(hù)等管理;身份認(rèn)證模塊主要是對(duì)用戶進(jìn)行管理,每個(gè)用戶對(duì)應(yīng)一個(gè)ID和密碼,用以保證內(nèi)部平臺(tái)的權(quán)限管理;應(yīng)用發(fā)布模塊的功能是進(jìn)行工作任務(wù)的發(fā)布;虛擬化模塊是實(shí)現(xiàn)虛擬化移動(dòng)辦公和虛擬化關(guān)鍵技術(shù)實(shí)現(xiàn)的主要模塊;虛擬化窗體展現(xiàn)和管理模塊主要是利用虛擬化技術(shù)將內(nèi)部系統(tǒng)的數(shù)據(jù)通過窗體進(jìn)行展示并進(jìn)行管理的功能。安全移動(dòng)平臺(tái)客戶端主要包括電腦、智能手機(jī)、平板電腦等移動(dòng)智能設(shè)備,相應(yīng)的訪問端口可以為Web瀏覽器、電腦客戶端軟件和手機(jī)客戶端軟件;針對(duì)于不同系統(tǒng)的終端,具有不同的訪問方式。
圖1 虛擬化移動(dòng)辦公平臺(tái)的整體架構(gòu)
系統(tǒng)平臺(tái)與移動(dòng)設(shè)備客戶端之間是基于交互式鏡像技術(shù)進(jìn)行數(shù)據(jù)傳輸?shù)?,因此在?shù)據(jù)傳輸過程中可以保證信息無損、功能無損;而且移動(dòng)客戶端進(jìn)行工作任務(wù)處理時(shí),僅需要進(jìn)行按鈕確認(rèn)、鼠標(biāo)操作等簡(jiǎn)單操作,工作簡(jiǎn)化,效率提升。
虛擬化移動(dòng)辦公系統(tǒng)的硬件結(jié)構(gòu)較為簡(jiǎn)單,可分為客戶端和服務(wù)器端2大類,如圖2所示??蛻舳税娔X客戶端和手機(jī)客戶端,電腦客戶端供便攜式電腦使用,手機(jī)客戶端供智能手機(jī)和平板電腦使用。服務(wù)器包括了平臺(tái)服務(wù)器、業(yè)務(wù)應(yīng)用服務(wù)器、異步信息服務(wù)器、下載服務(wù)器、上傳服務(wù)器。平臺(tái)服務(wù)器具有鏡像服務(wù)、終端資源服務(wù)和信息推送服務(wù)等功能,與業(yè)務(wù)應(yīng)用服務(wù)器之間進(jìn)行數(shù)據(jù)交換,啟動(dòng)虛擬化應(yīng)用。當(dāng)利用電腦客戶端進(jìn)行辦公時(shí),業(yè)務(wù)應(yīng)用服務(wù)器與電腦客戶端之間通過HTTP應(yīng)用層協(xié)議進(jìn)行數(shù)據(jù)交換,完成移動(dòng)化辦公,手機(jī)客戶端具有鏡像代理、本地資源代理、信息推送代理和離線應(yīng)用等功能。當(dāng)采用手機(jī)客戶端進(jìn)行辦公時(shí),根據(jù)是否需要辦公人員進(jìn)行數(shù)據(jù)編輯和操作,通過不同的途徑進(jìn)行移動(dòng)辦公。當(dāng)僅向客戶端下達(dá)簡(jiǎn)單的離線命令和數(shù)據(jù)時(shí),例如通知、公文等發(fā)布,業(yè)務(wù)應(yīng)用服務(wù)器先與異步信息服務(wù)器之間進(jìn)行數(shù)據(jù)交換,然后在通過異步信息服務(wù)器與手機(jī)客戶端之間完成數(shù)據(jù)交換;若相應(yīng)的工作任務(wù)需要辦公人員在手機(jī)客戶端完成相應(yīng)操作時(shí),比如信息補(bǔ)充、表格填寫等,則業(yè)務(wù)應(yīng)用服務(wù)器將相應(yīng)的數(shù)據(jù)信息傳遞到下載服務(wù)器,手機(jī)客戶端由下載服務(wù)器獲得相應(yīng)數(shù)據(jù);辦公人員在手機(jī)客戶端完成工作任務(wù)后,數(shù)據(jù)上傳至上傳服務(wù)器,其中包括實(shí)時(shí)數(shù)據(jù)和離線數(shù)據(jù),最終再由上傳服務(wù)器上傳至業(yè)務(wù)應(yīng)用服務(wù)器。利用手機(jī)客戶端進(jìn)行移動(dòng)辦公時(shí),業(yè)務(wù)應(yīng)用服務(wù)器與手機(jī)客戶端之間是通過鏡像通道協(xié)議完成數(shù)據(jù)以及信息的交換的。
圖2 虛擬化移動(dòng)辦公系統(tǒng)的硬件結(jié)構(gòu)
本虛擬化移動(dòng)辦公系統(tǒng)具有6個(gè)控制點(diǎn),分別為移動(dòng)終端、防火墻、移動(dòng)應(yīng)用發(fā)布平臺(tái)、網(wǎng)閘、內(nèi)網(wǎng)和應(yīng)用服務(wù)器(圖3)。每一個(gè)控制點(diǎn)均設(shè)置了安全控制點(diǎn),每個(gè)安全控制點(diǎn)均具有1個(gè),甚至是多個(gè)安全控制功能。根據(jù)控制點(diǎn)所處安全域的不同,本虛擬化移動(dòng)辦公系統(tǒng)可分割為3個(gè)區(qū)域,分別為內(nèi)部域,包含了內(nèi)網(wǎng)控制點(diǎn)和應(yīng)用服務(wù)器控制點(diǎn);接入域,包含了防火墻控制點(diǎn)、移動(dòng)應(yīng)用發(fā)布平臺(tái)控制點(diǎn)和網(wǎng)閘控制點(diǎn);移動(dòng)域,主要包含了移動(dòng)終端控制點(diǎn)。
圖3 虛擬化移動(dòng)辦公系統(tǒng)的安全架構(gòu)
移動(dòng)終端控制點(diǎn)可以依據(jù)手機(jī)號(hào)碼對(duì)終端準(zhǔn)入進(jìn)行設(shè)置。當(dāng)移動(dòng)終端對(duì)移動(dòng)專網(wǎng)發(fā)出準(zhǔn)入申請(qǐng)時(shí),控制點(diǎn)需要獲取該移動(dòng)終端的手機(jī)號(hào)碼,并核實(shí)該號(hào)碼在數(shù)據(jù)庫的數(shù)據(jù)中是否存在。如果存在,則下達(dá)準(zhǔn)入命令;如果不存在,則拒絕該終端接入。移動(dòng)終端控制點(diǎn)在終端接入移動(dòng)專網(wǎng)時(shí)對(duì)其合法性進(jìn)行了有效的控制。防火墻控制點(diǎn)主要是對(duì)移動(dòng)域和接入域之間的信息交互進(jìn)行控制,一般情況下,只有移動(dòng)終端對(duì)移動(dòng)應(yīng)用發(fā)布平臺(tái)主動(dòng)發(fā)起通信時(shí),防火墻控制點(diǎn)允許網(wǎng)絡(luò)通信;否則,拒絕網(wǎng)絡(luò)通信。移動(dòng)應(yīng)用發(fā)布平臺(tái)控制點(diǎn)的主要作用是中止移動(dòng)終端的接入請(qǐng)求。主要以2種方式進(jìn)行:其一,移動(dòng)終端的接入請(qǐng)求在移動(dòng)應(yīng)用發(fā)布平臺(tái)控制點(diǎn)被中止,然后建立移動(dòng)應(yīng)用發(fā)布平臺(tái)與應(yīng)用服務(wù)器的網(wǎng)絡(luò)通信;其二,移動(dòng)應(yīng)用發(fā)布平臺(tái)與移動(dòng)終端之間通信協(xié)議為鏡像通道協(xié)議,二者之間的通信協(xié)議在移動(dòng)應(yīng)用發(fā)布平臺(tái)控制點(diǎn)轉(zhuǎn)換為HTTP通信協(xié)議,建立移動(dòng)應(yīng)用發(fā)布平臺(tái)與應(yīng)用服務(wù)器的網(wǎng)絡(luò)通信。網(wǎng)閘控制點(diǎn)是對(duì)接入域和內(nèi)部域之間的網(wǎng)絡(luò)通信安全進(jìn)行控制。通常情況下,網(wǎng)閘允許移動(dòng)應(yīng)用發(fā)布平臺(tái)主動(dòng)對(duì)應(yīng)用服務(wù)器發(fā)起的通信,但不允許移動(dòng)應(yīng)用發(fā)布平臺(tái)直接與應(yīng)用服務(wù)器通信。移動(dòng)應(yīng)用發(fā)布平臺(tái)與網(wǎng)閘之間先建立網(wǎng)絡(luò)通信,將信息和數(shù)據(jù)傳送給網(wǎng)閘;然后網(wǎng)閘斷開與移動(dòng)應(yīng)用發(fā)布平臺(tái)之間的連接,再將數(shù)據(jù)和信息傳遞給應(yīng)用服務(wù)器。內(nèi)網(wǎng)控制點(diǎn)和應(yīng)用服務(wù)器控制點(diǎn)均屬于內(nèi)部域,一般情況下不允許與接入域和移動(dòng)域之間發(fā)生直接的信息交換,當(dāng)網(wǎng)閘主動(dòng)向應(yīng)用服務(wù)器發(fā)起接入請(qǐng)求時(shí),內(nèi)網(wǎng)控制點(diǎn)和應(yīng)用服務(wù)器控制點(diǎn)允許接入,其他情況下拒絕接入。本系統(tǒng)通過對(duì)安全與和安全控制點(diǎn)的分割,采用多層次的安全控制手段,極大程度保障了本虛擬化移動(dòng)辦公系統(tǒng)的安全管理。
本虛擬化移動(dòng)辦公系統(tǒng)的虛擬化技術(shù)是基于MIPS構(gòu)建了多層虛擬地址模型。如圖4所示,本系統(tǒng)所構(gòu)造的虛擬地址分為3層,分別為上層的User Processes層,包括Guest User和Host User進(jìn)程;中間層為Guest OS;下層為Host Hypervisor層。其中,User Processes層和User OS層均需要進(jìn)行MMU地址映射,Host Hypervisor層則不需要。該虛擬地址模型建立在最大程度上利用了MIPS的架構(gòu)優(yōu)勢(shì)。當(dāng)系統(tǒng)發(fā)生VM_exit時(shí),其處理器的控制權(quán)則由Guest OS層交到Host Hypervisor層。此時(shí),刷新TLB,進(jìn)入Host Hypervisor異常處理函數(shù)執(zhí)行。與傳統(tǒng)的虛擬地址空間模型相比,本系統(tǒng)所建立的虛擬地址空間模型進(jìn)行VM_exit處理效率更高。
圖4 虛擬空間地址分配
本系統(tǒng)將ASID劃分為Vcpuid和Pid 2個(gè)部分。其中,Vcpuid部分用作標(biāo)識(shí)Vcpu,Pid部分用作標(biāo)識(shí)不同Vcpu上運(yùn)行的User Processes。Vcpuid和Pid所占的ASID位數(shù)分別為
(1)
式中,M為ASID的位數(shù),n為Vcpu數(shù)目,Ni為第i個(gè)Vcpu上運(yùn)行的User Processes個(gè)數(shù),Vcpuid和Pid最佳比為lnn/lbNi。
本系統(tǒng)的ASID劃分法為動(dòng)態(tài)劃分法,Host Hypervisor啟動(dòng)后,由ASID.file中調(diào)取X值,那么此時(shí)Vcpuid的位數(shù)為X,Pid的位數(shù)為M-X。運(yùn)行過程,若產(chǎn)生Vcpu,則n值更新;若第i個(gè)Vcpu上運(yùn)行的User Processes個(gè)數(shù)發(fā)生變化,則更新Ni。若n值和Ni值滿足下列條件,則觸發(fā)X值重新計(jì)算模塊,如式(2):
(2)
X值重新計(jì)算模塊觸發(fā)后,基于當(dāng)前的n值和Ni值,計(jì)算當(dāng)X從1變化至M-1時(shí)每種情況下的xv和xi。Vcpu在單位時(shí)間內(nèi)的調(diào)度次數(shù)則為2m/2X×xv次,Vcpu上運(yùn)行的User Processes調(diào)度次數(shù)則為2m+1/2M-X×xi次。單位時(shí)間內(nèi),TLB的刷新次數(shù)則為式(3):
(3)
當(dāng)X∈[1,M-1]時(shí),可計(jì)算出M-1個(gè)TLB flash(X)的值,即TLB flash(1),TLB flash(2),…,TLB flash(i)…,TLB flash(M-1)。當(dāng)TLB flash(X)的值最小時(shí),代表發(fā)生TLB刷新的次數(shù)最少,則對(duì)應(yīng)的X值則為最佳X值。此時(shí)Host Hypervisor刷新TLB并對(duì)ASID進(jìn)行重新分配Vcpuid的位數(shù)和Pid的位數(shù)。另外,最佳X值還會(huì)儲(chǔ)存到ASID.file中,下一次Host Hypervisor啟動(dòng)時(shí),直接調(diào)取最佳X值。
X值的計(jì)算方法為近似計(jì)算方法。假設(shè)Vcpu在單位時(shí)間內(nèi)的調(diào)度次數(shù)為2m次,Vcpu上運(yùn)行的User Processes調(diào)度次數(shù)為2m+1次。用變量xv來標(biāo)識(shí)Vcpu的調(diào)度會(huì)否引起TLB的刷新,用xi來表示Vcpu上運(yùn)行的User Processes調(diào)度是否會(huì)引起TLB的刷新,則計(jì)算方法如式(4):
(4)
本虛擬化移動(dòng)辦公系統(tǒng)具有一系列的優(yōu)異性能,例如廣泛的適配性、高效性、安全性等。
第一,適配性。本虛擬化移動(dòng)辦公系統(tǒng)針對(duì)不同的操作系統(tǒng)建立了相應(yīng)的移動(dòng)平臺(tái),支持Android系統(tǒng)、iOS系統(tǒng)、Windows系統(tǒng)的智能手機(jī)、平板電腦、便攜式電腦等。另外,本系統(tǒng)還可以實(shí)現(xiàn)跨平臺(tái)的數(shù)據(jù)交互。另外,通過虛擬化窗體展現(xiàn)和管理模塊,本平臺(tái)還適用于各種不同像素設(shè)計(jì)的應(yīng)用界面。利用自適配引擎對(duì)虛擬化窗體進(jìn)行尺寸調(diào)整,既可以用于尺寸較大的便攜式電腦和平板電腦,也適用于尺寸較小的智能手機(jī)。
第二,高效性。該虛擬化辦公系統(tǒng)中所有的辦公工作任務(wù)都是在內(nèi)網(wǎng)中進(jìn)行的;而且,信息傳遞過程中,數(shù)據(jù)會(huì)經(jīng)過壓縮處理,流量穩(wěn)定,數(shù)據(jù)傳輸快,信息交互效率較高。另外,辦公人員進(jìn)行工作處理時(shí),相應(yīng)的操作是在服務(wù)器設(shè)備上完成,不會(huì)受到終端處理能力的限制。
第三,安全性。安全性是本虛擬化技術(shù)辦公系統(tǒng)的最突出的特點(diǎn)。由于虛擬化技術(shù)是利用虛擬通道建立平臺(tái)服務(wù)器端和客戶端之間的信息和數(shù)據(jù)交互,應(yīng)用服務(wù)器與安全平臺(tái)之間的數(shù)據(jù)傳輸在企事業(yè)單位的防火墻內(nèi)運(yùn)行;處于外網(wǎng)的移動(dòng)終端僅可以進(jìn)行屏幕操作、鍵盤操作和鼠標(biāo)操作,不會(huì)涉及企業(yè)事業(yè)的涉密數(shù)據(jù);本系統(tǒng)涉及了身份認(rèn)證模塊,進(jìn)行嚴(yán)格的權(quán)限管理,一般用戶無法訪問和編輯內(nèi)部數(shù)據(jù);企事業(yè)單位的內(nèi)部數(shù)據(jù)是儲(chǔ)存在服務(wù)器上,因此即便手機(jī)終端或電腦終端受到了病毒攻擊,也不會(huì)造成整個(gè)系統(tǒng)數(shù)據(jù)的泄密或丟失;而且,虛擬化通道是利用ICA協(xié)議建立的,同時(shí)還利用SecurelCA對(duì)數(shù)據(jù)傳輸過程進(jìn)行了128位安全加密。以上的幾個(gè)方面的特點(diǎn)均保證了本系統(tǒng)的安全性。
本研究設(shè)計(jì)了一種基于虛擬化技術(shù)的移動(dòng)辦公系統(tǒng)。該系統(tǒng)的整體架構(gòu)包括平臺(tái)管理模塊、身份認(rèn)證模塊、應(yīng)用發(fā)布模塊、虛擬化模塊、虛擬化窗體展現(xiàn)、管理模塊、Web瀏覽器、電腦客戶端軟件和手機(jī)客戶端軟件,可用于Windows系統(tǒng)、Android系統(tǒng)和iOS系統(tǒng)的移動(dòng)終端。該移動(dòng)辦公系統(tǒng)具有強(qiáng)大的適配性、高效性和安全性。該系統(tǒng)通過6個(gè)控制點(diǎn)和3個(gè)控制區(qū)域進(jìn)行安全控制,虛擬地址空間基于MIPS和ASID動(dòng)態(tài)劃分進(jìn)行建立。內(nèi)部數(shù)據(jù)平臺(tái)與外部客戶端之間利用ICA協(xié)議建立虛擬數(shù)據(jù)通道,同時(shí)利用SecurelCA進(jìn)行數(shù)據(jù)加密,完善了系統(tǒng)的安全管理。該系統(tǒng)利用多節(jié)點(diǎn)安全控制,在一定程度上降低了辦公效率,后續(xù)的研究中應(yīng)進(jìn)一步采取更有效的加密手段,減少節(jié)點(diǎn)控制數(shù)量。