劉欣
摘要:網(wǎng)絡的普及,涉及互聯(lián)網(wǎng)的侵權、犯罪行為越來越多,遠程電子數(shù)據(jù)保全是一項有效的電子數(shù)據(jù)取證手段,利于更好地保護廣大用戶的利益。然而當前的遠程電子數(shù)據(jù)保全系統(tǒng)都存在一些不足,例如為了克服以上不足,設計實現(xiàn)了一種基于虛擬化技術的數(shù)據(jù)保全系統(tǒng),用戶可以直接通過該系統(tǒng)訪問需要保全數(shù)據(jù)的網(wǎng)站,相關操作和數(shù)據(jù)會自動保存到系統(tǒng)中,用戶可查看、下載之前保存的電子證據(jù)。用戶的數(shù)據(jù)保全環(huán)境進行定制,安全可靠。
關鍵詞:虛擬化;數(shù)據(jù)保全;遠程訪問協(xié)議;負載均衡;虛擬桌面
中圖分類號:TP391? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)21-0011-04
開放科學(資源服務)標識碼(OSID):
Abstract: The network popularization, involving the Internet infringement, criminal acts more original, in order to better protect the interests of the majority of users, the electronic data preservation provided out, but the remote electronic data preservation system there are shortcomings in one way or another, in order to overcome before the deficiencies of the system, the design and implementation of a data preservation system based on virtualization technology, users can directly through the system access to the website of the preservation of the data, related to the operation and data will be automatically saved to the system. Users can also view before preservation of electronic data and download, customized to the user data preservation environment, safe and reliable.
Key words: virtualization; data preservation; remote access protocol; load balancing; virtual desktop
1 背景
隨著計算機和互聯(lián)網(wǎng)技術高速發(fā)展,各種因電子數(shù)據(jù)被篡改或電子數(shù)據(jù)的有效性遭質疑而引起的糾紛也隨之劇增,提供一種可靠、高效、方便的電子數(shù)據(jù)取證方式非常緊迫。
因此我們設計并實現(xiàn)了一套基于虛擬化的遠程電子數(shù)據(jù)保全系統(tǒng),為廣大互聯(lián)網(wǎng)使用者提供隨時隨地電子數(shù)據(jù)保全方法,系統(tǒng)支持網(wǎng)頁、郵件、聊天記錄等電子數(shù)據(jù)保全功能。系統(tǒng)為不同用戶分配定制的虛擬機;進行保全操作過程中,系統(tǒng)將自動做全過程錄像;這些過程都在系統(tǒng)本地進行。系統(tǒng)對每項保全的數(shù)據(jù)文件都計算其校驗值,確保電子數(shù)據(jù)的有效性。
2 電子數(shù)據(jù)保全技術發(fā)展現(xiàn)狀
目前國內市場上的電子數(shù)據(jù)保全服務主要包括國信電子數(shù)據(jù)保全平臺、易保全、無憂保全等。但是他們提供服務中都存在這樣或那樣的問題。有的需要和第三方合作,通過第三方獲取相關數(shù)據(jù),這樣獲取的數(shù)據(jù)可靠性相對較高,但主要針對相關企業(yè),并不適用于所有群體,例如個人用戶并不能直接使用服務;有的保全的數(shù)據(jù)由用戶上傳完成,由于用戶數(shù)據(jù)在其私有的計算機中進行的操作,操作過程中可能會因其計算機遭受攻擊或出現(xiàn)故障而導致電子數(shù)據(jù)的破壞,從而無法確保保全的電子數(shù)據(jù)的原始性和有效性;有的網(wǎng)頁數(shù)據(jù)保全僅僅是通過用戶輸入的URL去打開相關鏈接,然后進行保全操作,很多需要用戶認證的信息的網(wǎng)頁并不能夠簡單的通過URL來獲取并進行操作。再就是有的需要把電子數(shù)據(jù)上傳到保全服務器會對網(wǎng)絡帶寬提出了很高的要求,特別是對大容量的圖片、視頻文件數(shù)據(jù),更是需要非常高的網(wǎng)絡數(shù)據(jù)傳輸速率,因而限制了系統(tǒng)的普及。此外,Internet數(shù)據(jù)傳輸還具有低可靠性和不安全性。
因此本文從用戶群體出發(fā),考慮到當前技術方案的不足,重新設計了一種基于虛擬化技術的電子數(shù)據(jù)保全系統(tǒng)。
3 電子數(shù)據(jù)遠程保全系統(tǒng)
下圖為電子數(shù)據(jù)遠程保全系統(tǒng)的工作原理示意圖。
用戶可以使用個人計算機、平板電腦、手機等智能終端等進行數(shù)據(jù)保全操作。首先用戶訪問本系統(tǒng),再通過本系統(tǒng)連接待保全數(shù)據(jù)的網(wǎng)站,保全的內容包括網(wǎng)頁,電子郵件、聊天記錄等等,電子數(shù)據(jù)保全功能對用戶透明。系統(tǒng)的結構圖如下:
1) Web展現(xiàn)層為用戶提供了Web界面,是用戶執(zhí)行數(shù)據(jù)保全的入口,每個用戶只有通過注冊為用戶后,登錄系統(tǒng)才可以獲取遠程電子數(shù)據(jù)保全功能。
2) 業(yè)務邏輯層提供了對Web請求的業(yè)務邏輯處理,包括調用數(shù)據(jù)庫,調用文件服務,向Web展示層返回展示數(shù)據(jù),將請求轉發(fā)給協(xié)議轉發(fā)層等等。
3) Web服務層為虛擬機管理控制提供了Web服務接口,便于從UI界面中對虛擬機進行控制和管理。
4) 協(xié)議轉化層實現(xiàn)了協(xié)議之間的轉換,將用戶的數(shù)據(jù)保全操作中的指令在不同的傳輸協(xié)議總進行封裝和還原。
5) 虛擬控制管理層實現(xiàn)了直接面對虛擬服務器,完成了虛擬服務器的虛擬化管理,可以根據(jù)不同的需求提供不同層次的虛擬化方案,我們這里主要采用的是桌面虛擬化。
6) 數(shù)據(jù)訪問層提供了對數(shù)據(jù)庫的訪問接口,便于直接操作。
用戶通過瀏覽器訪問系統(tǒng),請求轉發(fā)給應用服務器處理,應用服務器根據(jù)請求類型,采用不同的處理方式,若需要進行數(shù)據(jù)保全,自動分配符合用戶特征的虛擬環(huán)境,用戶在虛擬環(huán)境中進行操作,對感興趣的電子數(shù)據(jù)進行保全,保全結果會自動打包、校驗、上傳的本地資料庫中,以便以后進行查看。
4 系統(tǒng)設計和實現(xiàn)
4.1 Web UI設計
為了支持不同類型的終端,采用B/S模式的結構,用瀏覽器作為客戶端,實現(xiàn)了零客戶端的部署。但由于用戶可能使用PC個人計算機、筆記本電腦、平板電腦、手機智能終端等,各種設備的屏幕大小、分辨率不同,所以為了更好地保證網(wǎng)頁在終端設備上的顯示,應用響應式網(wǎng)頁設計。
其理念是:頁面的設計與開發(fā)應當根據(jù)用戶行為以及設備環(huán)境(系統(tǒng)平臺、屏幕尺寸、屏幕定向等)進行相應的響應和調整。具體的實踐方式由多方面組成,包括彈性網(wǎng)格和布局、圖片、CSS media query的使用等。無論用戶正在使用筆記本還是iPad,我們的頁面都應該能夠自動切換分辨率、圖片尺寸及相關腳本功能等,以適應不同設備;換句話說,頁面應該有能力去自動響應用戶的設備環(huán)境。響應式網(wǎng)頁設計就是一個網(wǎng)站能夠兼容多個終端——而不是為每個終端做一個特定的版本。這樣,我們就可以不必為不斷到來的新設備做專門的版本設計和開發(fā)了。實現(xiàn)上采用了BootStrap 框架。
4.2 協(xié)議轉換功能
用戶端瀏覽器將用戶的Web 請求發(fā)送到Web服務器,服務器接收請求,將該請求解除Http的封裝,獲得用戶實際請求數(shù)據(jù)。再由負載均衡器通過數(shù)據(jù)庫獲取當前的遠程連接代理的負載情況,根據(jù)負載均衡選擇算法,將請求轉發(fā)到選中的鏈接代理;鏈接代里再通過協(xié)議轉換將用戶的自定義報文轉化為遠程訪問協(xié)議,同時由負載均衡模塊獲得提供遠程服務的虛擬桌面。
在這個過程中,Web瀏覽器到Web服務器的為了保持長連接通常有以下幾種實現(xiàn)方法:
這種長連接其實是一種“偽”長連接,本身是連接后斷開的。在服務器的程序中加入一個死循環(huán),在循環(huán)中監(jiān)測數(shù)據(jù)的變動。當發(fā)現(xiàn)新數(shù)據(jù)時,立即將其輸出給瀏覽器并斷開連接,瀏覽器在收到數(shù)據(jù)后,再次發(fā)起請求以進入下一個周期,這就是常說的長輪詢(long-polling)方式。
4.2.2使用流方式實現(xiàn)
客戶端的頁面使用一個隱藏的窗口向服務端發(fā)出一個長連接的請求。服務器端接到這個請求后做出回應并不斷更新連接狀態(tài)以保證客戶端和服務 器端的連接不過期。通過這種機制可以將服務器端的信息源源不斷地推向客戶端。這種機制在用戶體驗上有一點問題,需要針對不同的瀏覽器設計不同的方案來改進 用戶體驗,同時這種機制在并發(fā)比較大的情況下,對服務器端的資源是一個極大的考驗。
4.2.3 使用WebSocket實現(xiàn)
WebSocket 協(xié)議本質上是一個基于 TCP 的協(xié)議。為了建立一個 WebSocket 連接,客戶端瀏覽器首先要向服務器發(fā)起一個 HTTP 請求,這個請求和通常的 HTTP 請求不同,包含了一些附加頭信息,其中附加頭信息“Upgrade: WebSocket”表明這是一個申請協(xié)議升級的 HTTP 請求,服務器端解析這些附加的頭信息然后產(chǎn)生應答信息返回給客戶端,客戶端和服務器端的WebSocket 連接就建立起來了,雙方就可以通過這個連接通道自由的傳遞信息,并且這個連接會持續(xù)存在直到客戶端或者服務器端的某一方主動的關閉連接。
1) 自定義協(xié)議格式
在瀏覽器和Web服務器傳輸?shù)氖亲远x的協(xié)議,為了提高傳輸準確率、性能,盡量定義的相對簡潔。協(xié)議類型分為兩大類,命令類型、數(shù)據(jù)類型。命令類型協(xié)議主要包括了從客戶端到服務器的建立連接(connect)、鼠標操作(mouse operation)、鍵盤操作(keyboard operation) 、斷開連接(disconnect)。數(shù)據(jù)類型協(xié)議包括圖像數(shù)據(jù)(Image Data)、聲音數(shù)據(jù)(Sound Data)。
協(xié)議定義的格式如下:
Web服務器選擇哪個遠程連接代理、連接代理選擇哪個虛擬服務器是通過負載均衡算法決定的。負載均衡算法主要考慮的是遠程連接代理的負載、虛擬服務器的負載。數(shù)據(jù)庫中記錄了當前連接代理運行狀態(tài),這些信息包連接目前總共連接數(shù)、當前有效連接數(shù)、CPU占用情況、內容使用情況、網(wǎng)絡吞吐率等。通過綜合衡量代理負載,可以選擇一個相對空閑代理來處理連接請求。虛擬服務器的選擇也是相同的道理。
4.2.5 連接建立和數(shù)據(jù)傳輸流程
用戶感覺虛擬桌面直接顯示在了瀏覽器中,實際上數(shù)據(jù)經(jīng)過了上面的數(shù)據(jù)解封、數(shù)據(jù)傳輸、數(shù)據(jù)重新封裝等過程,并且在相鄰的兩者之間保持了長連接。為了提高效率就應該使自定義協(xié)議盡可能簡潔、高效。
4.3 數(shù)據(jù)保全功能
用戶接入虛擬機后,所有的操作全程自動錄像,用戶可以選擇需要保存的電子數(shù)據(jù),信息保存方式主要是頁面保存、截屏等。
錄像功能由虛擬機管理服務實現(xiàn),當用戶接入虛擬機時,虛擬管理服務將屏幕錄像功能開啟,當用戶退出虛擬機時,虛擬管理服務停止錄像。錄像功能獨立于虛擬機存在,不受用戶的干預,用以保證數(shù)據(jù)的正確性。屏幕截取、電子數(shù)據(jù)的保存由用戶參與完成,用戶選擇自己關注的數(shù)據(jù)進行保存,并截圖。用戶操作結束后,系統(tǒng)自動將用戶本次登錄后產(chǎn)生的電子數(shù)據(jù)和保存的錄像計算校驗和,并壓縮打包,上傳到文件服務器上,并將此次操作數(shù)據(jù)寫入數(shù)據(jù)庫中。
4.4 桌面虛擬化管理
桌面虛擬化依賴于服務器虛擬化,在數(shù)據(jù)中心的服務器上進行服務器虛擬化,生成大量的獨立的桌面操作系統(tǒng)(虛擬機或者虛擬桌面),同時根據(jù)專有的虛擬桌面協(xié)議發(fā)送給終端設備。通過基于開源的VirtualBox進行二次開發(fā)實現(xiàn)了靈活的桌面虛擬化管理。
4.4.1 虛擬機管理
Web服務接口對外提供了管理虛擬機的方法;虛擬機管理模塊實現(xiàn)了與虛擬機管理程序的交互,負責了具體的虛擬機操作。主要的功能包括:
1)創(chuàng)建虛擬機
動態(tài)創(chuàng)建虛擬機,并分配相關的資源。
2)銷毀虛擬機
動態(tài)銷毀虛擬機,并回收相關資源。
3)配置虛擬機參數(shù)
配置網(wǎng)絡接口、硬盤、內存等。
4)配置虛擬機遠程桌面
可以指定虛擬機遠程桌面的連接接口
5)啟動、停止虛擬機
6)虛擬機備份
4.4.2 虛擬機的分配
不同的物理服務器中創(chuàng)建的虛擬機個數(shù)不同、配置不同、虛擬機的運行狀態(tài)也不同,為了提供給用戶好的體驗,在滿足用戶請求的基礎上,應盡量選擇負載小的物理服務器。狀態(tài)維護模塊在系統(tǒng)運行中實時記錄下當前宿主服務器的狀態(tài),包括內存占用率、CPU占用率、硬盤占用率、網(wǎng)絡吞吐率、當前用戶連接數(shù)、活躍用戶數(shù)、活躍虛擬機個數(shù)等等。將記錄的數(shù)據(jù)進行匯總,取前一段時間的平均數(shù)值,加權求值,計算出能夠代表當前服務器負載的數(shù)值。連接代理通過比較物理服務器的負載數(shù)據(jù)進行選擇,并建立遠程桌面連接。
5 結束語
本文設計了一個基于虛擬化的遠程電子數(shù)據(jù)保全方法,通過桌面虛擬化,為用戶提供一個定制的數(shù)據(jù)保全環(huán)境,在該環(huán)境中用戶可以將需要保全的數(shù)據(jù)進行保全,會自動錄像,打包,計算校驗值,并上傳的服務端進行集中管理,避免了客戶端到服務端的數(shù)據(jù)傳輸時的安全性、帶寬低等問題。系統(tǒng)在試運行中感覺后續(xù)有幾方面的還可以進行擴展和優(yōu)化
1)以支持更多的遠程協(xié)議,支持更多的高效的遠程訪問協(xié)議,例如VNC 、Citrix的ICA協(xié)議等。
2)隨著虛擬化技術的發(fā)展,使用基于容器的方法進行用戶環(huán)境的定制,可能會更高效和便捷。
參考文獻:
[1] 楊平, 王平. 各類參考文獻的著錄格式及示例[J]. 計算機研究與發(fā)展, 2011(1): 88-89.
[2] 蔡維華, 馬樂, 王華, 等. 基于IGES文件的艦船航行性能數(shù)值仿真模型[J]. 計算機應用與軟件, 2012, 29(2): 192-194, 236.
[3] 孫國梓, 耿偉明, 陳丹偉, 等. 基于可信概率的電子數(shù)據(jù)取證有效性模型[J]. 計算機學報, 2011, 34(7): 1262-1274.
[4] 孫波, 孫玉芳, 張相鋒, 等. 電子數(shù)據(jù)取證研究概述[J]. 計算機科學, 2005, 32(2): 13-19.
[5] 夏榮. 云計算技術在電子數(shù)據(jù)取證領域的應用研究[J]. 信息網(wǎng)絡安全, 2011(8): 51-53.
[6] 錢偉, 沙晶. VMware虛擬磁盤結構分析及在電子數(shù)據(jù)取證中的應用[J]. 中國司法鑒定, 2011(2): 60-64.
[7] 唐娟, 王海平, 孫國梓, 等. 電子數(shù)據(jù)取證及其有效性研究[J]. 計算機工程與應用, 2006, 42(10): 115-117.
[8] 金波, 楊濤, 吳松洋, 等. 電子數(shù)據(jù)取證與鑒定發(fā)展概述[J]. 中國司法鑒定.
[9] 田佳奇. 互聯(lián)網(wǎng)金融電子數(shù)據(jù)跨入保全時代[J]. 中國國情國力, 2016(3).
[10] 趙帥, 王永全, 廖根為. 電子數(shù)據(jù)固定與保全辨析[J]. 計算機科學, 2015(B10): 110-114.
[11] 歐延實. 論電子郵件證據(jù)的保全公證[J]. 中國司法, 2010(9): 59-61.
【通聯(lián)編輯:謝媛媛】