劉欣


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