基于虚拟化技术的远程电子数据保全系统设计与实现
2019-09-24刘欣
刘欣
摘要:网络的普及,涉及互联网的侵权、犯罪行为越来越多,远程电子数据保全是一项有效的电子数据取证手段,利于更好地保护广大用户的利益。然而当前的远程电子数据保全系统都存在一些不足,例如为了克服以上不足,设计实现了一种基于虚拟化技术的数据保全系统,用户可以直接通过该系统访问需要保全数据的网站,相关操作和数据会自动保存到系统中,用户可查看、下载之前保存的电子证据。用户的数据保全环境进行定制,安全可靠。
关键词:虚拟化;数据保全;远程访问协议;负载均衡;虚拟桌面
中图分类号: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.
【通联编辑:谢媛媛】