CN103384195A - 一种基于xen平台桌面协议的隔离方法 - Google Patents
一种基于xen平台桌面协议的隔离方法 Download PDFInfo
- Publication number
- CN103384195A CN103384195A CN2013102785933A CN201310278593A CN103384195A CN 103384195 A CN103384195 A CN 103384195A CN 2013102785933 A CN2013102785933 A CN 2013102785933A CN 201310278593 A CN201310278593 A CN 201310278593A CN 103384195 A CN103384195 A CN 103384195A
- Authority
- CN
- China
- Prior art keywords
- function
- update
- desktop protocol
- detour
- method based
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于XEN平台桌面协议的隔离方法,属于信息安全领域,包括以下步骤:S1,截获VNC协议的图像数据;S2,对截获的图像数据进行加密;S3,对VNC客户端接收到的数据进行解密。本发明的有益效果如下:由于XEN默认提供的桌面协议是不安全的,对数据传输没有任何加密的保护措施,本方法通过分离VNC控制和数据传输命令,对VNC数据传输接收过程进行基于密钥机制的加密、解密,解决了VNC传输中的不安全问题。
Description
技术领域
本发明涉及一种基于XEN平台桌面协议的隔离方法,属于信息安全领域。
背景技术
XEN是由英国剑桥大学开发的开源虚拟机平台,它的特点是提供了一种被称为半虚拟化(para-virtualize)的虚拟化方式。在这种虚拟化方式的实现方式中,需要修改虚拟机操作***的源代码,使其通过VMM(Virtual MachineMonitor,虚拟机)提供的接口调用硬件资源,而非如传统的虚拟化方式需要提供虚拟硬件,这样就大大的提高了虚拟机运行的效率。
桌面协议是XEN中不可缺少的一个重要组成部分,桌面协议可以让用户通过远程终端的连接使用云服务器中的虚拟计算机资源,目前基于XEN的虚拟桌面产品已经在部分世界500强企业中得到广泛应用,其主要优点在于能够集中管理企业计算机资源,提高管理效率,大幅度降低管理成本等优点,华为公司基本上已经完成了对公司内部电脑的切云,得到了很好的效果。
目前为了减少性能浪费,分布式***部署于虚拟化平台,各组成模块分别部署于不同的虚拟机上已经成为一种常用的手段。为实现***的整体功能通常需要各个模块之间紧密协作,这就要求各个虚拟机之间可以安全有效地传输信息。
但是,XEN默认情况下,从VGA(Video Graphics Array,视频图形阵列)设备获取桌面图像信息,到发送到远程客户端程序过程中,都是将图像信息以帧为单位获取和发送的,默认情况下没有使用任何压缩、优化算法,并且远程鼠标和键盘的传输默认也是通过raw格式发送的。XEN默认提供桌面协议是不安全的。因此需要一种安全隔离方法,通过此安全隔离方法的防护,即使中间人能够抓去XEN桌面协议的数据包,也不能正确解析理解其内容的含义。
XEN中的桌面协议即VNC(Virtual Network Computing,虚拟网络计算机)协议实现比较简单,就是从VGA设备读取显示帧数据,然后进行编码,编码后将其直接发送到VNC客户端,其中没有任何加密保护措施。只有分离VNC控制和数据传输命令,对VNC数据传输接收过程进行基于密钥机制的加密、解密方案才能解决VNC传输中的不安全问题。
发明内容
本发明的目的为了提高XEN桌面协议的数据安全性,保证协议数据与外界的隔离性而提出的一种基于XEN平台桌面协议的隔离方法。
为了实现以上发明目的,本发明采取的技术方案如下:一种基于XEN平台桌面协议的隔离方法,包括以下步骤:
S1,截获VNC协议的图像数据;
S2,对截获的图像数据进行加密;
S3,对VNC客户端接收到的数据进行解密。
优选地:所述步骤S1包括以下步骤:VGA接口的图形控制台初始化函数对应了以下四个静态函数:vga_update_display、vga_invalidate_display、vga_screen_dump、vga_update_text;以上四个函数在调用之前回传入显示区域buffer地址,然后通过以上四个静态函数进行写入,执行线程阻塞在四个静态函数,当四个静态函数执行返回之后上层函数直接从显示区buffer获取图像数据。
优选地:所述步骤S2对数据进行加密时使用post-Hooks技术。
优选地:所述步骤S2包括以下分步骤:
S2.1定义一组Detour函数,包括dt_update函数、dt_invalidate函数、dt_screen_dump函数和dt_text_update函数;
S2.2让VNC协议中的dgraphic_console_init函数将设备对应的处理函数赋值为四个Detour函数,Detour函数被替换之后,当update操作时,首先调用Detour函数,在Detour函数被调用时,Detour函数直接调用原来的vga_update_display函数,并阻塞等待vga_update_display执行返回,当该函数返回后Detour通过post-Hooks技术完成buffer加密操作;
S2.3对dt_update函数添加加密算法,dt_update函数用于在显示更新时对图像数据进行加密;
S2.4对dt_invalidate函数添加加密算法,dt_invalidate函数用于在进行强制全屏重绘时对数据进行加密;
S2.5对dt_screen_dump函数添加加密算法,dt_screen_dump函数用于dump操作将显示图像保存为ppm格式时进行加密;
S2.6对dt_text_update函数添加加密算法,dt_text_update函数用于对文字console时进行加密。
优选地:所述步骤S2添加的加密算法为AES算法。
优选地:所述步骤S2添加的加密算法为DES算法。
优选地:所述步骤S2添加的加密算法为ECC算法。
本发明的有益效果如下:由于XEN默认提供的桌面协议是不安全的,对数据传输没有任何加密的保护措施,本方法通过分离VNC控制和数据传输命令,对VNC数据传输接收过程进行基于密钥机制的加密、解密,解决了VNC传输中的不安全问题。
附图说明
图1为XEN中VNC实现原理图;
图2为本发明实施例桌面协议隔离方法实现的过程图;
图3为本发明实施例post-Hooks过程图;
图4为本发明实施例VNC解密流程图;
图5为本发明实施例的整体流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
原理说明:
在XEN平台,对虚拟机输出信息提供了两种方式的输出Console(控制台)和虚拟VGA设备,XEN中原生的桌面协议VNC正是通过虚拟的VGA设备获取的图像显示信息。
Graphic Console层在桌面虚拟化构架中处于一种中心枢纽的地位,对上层不同的桌面协议(VNC、ICA)提供显示数据,对于下层兼容不同的虚拟硬件(s1d13745、ssd0323等),在***中所处的地位如下图1所示。
由于Graphic Console层不但屏蔽了下层的不同虚拟硬件,而且直接向上层桌面协议提供显示数据接口,因此对于任何桌面协议通用的显示数据加密方案应该从Graphic Console层入手。Graphic Console层中与显示数据直接相关的成员为TextConsole结构,该结构包含了一组与显示数据直接相关的函数指针,这些函数指针在使用时会被赋予真正的处理函数。因此,只要按照图1中对于块设备数据截获的方式对这些函数进行Detour操作,便可以完成对于显示设备数据的截获。
为了完成显示数据的Detour操作,首先要定义一组与原有函数参数完全一致的Detour函数,具体涉及到的几个Detour函数的定义如下表1所示。
表1
编号 | 函数指针类型 | Detour函数名 | 说明 |
1 | vga_hw_update_ptr | dt_update | 显示数据更新函数 |
2 | vga_hw_invalidate_ptr | dt_invalidate | 强制全屏重绘 |
3 | vga_hw_screen_dump_ptr | dt_screen_dump | Dump屏幕 |
4 | vga_hw_text_update_ptr | dt_text_update | 文字数据更新 |
以上就是Detour过程所需要的所有Detour函数,下面详细介绍如何利用以上Detour函数进行Post-Hooks具体实现。
XEN平台中的QEMU(Quick EMUlator,快速模拟器)体系中任何虚拟显示设备,在初始化TextConsole结构体时,都会调用graphic_console_init函数,该函数负责将虚拟设备的图像处理函数赋值给TextConsole中的函数指针,graphic_console_init原型定义如下:
由于所有显示设备初始化都要调用graphic_console_init函数,因此,我们只要对此函数做手脚,让该函数将设备对应的处理函数赋值为我们刚才提到的四个Detour函数,执行流程由Detour函数控制,达到Post-Hooks的效果。
本发明实施例的基于XEN平台桌面协议隔离的方法,包括以下步骤(参见图2):
S1,截获VNC协议的图像数据:通过对VNC协议数据输入、输出的截获,获取对VNC协议隔离保护的切入点。
S2,对截获的图像数据进行加密:加密过程中将使用现有技术Post-Hooks。
S3,对VNC客户端接收到的数据进行解密:经过加密后的图像信息,需要在VNC客户端进行相应的解密,才能正常使用,达到桌面协议的隔离的目的。
S1,截获图像数据,具体步骤如下:
以上四个函数作用都是对显示输出buffer(缓冲区)进行刷新,在调用之前回传入显示区域buffer地址,然后通过以上四个静态函数进行写入,执行线程阻塞在四个静态函数,当四个静态函数执行返回之后上层函数直接从显示区buffer获取图像数据;
S2,对截获的图像数据进行加密:
S2.1定义一组Detour函数,包括dt_update函数、dt_invalidate函数、dt_screen_dump函数和dt_text_update函数;
S2.2如图3所示,让VNC协议中的dgraphic_console_init函数将设备对应的处理函数赋值为四个Detour函数,Detour函数被替换之后,当update操作时,首先调用Detour函数,在Detour函数被调用时,Detour函数直接调用原来的vga_update_display函数,并阻塞等待vga_update_display执行返回,当该函数返回后Detour通过post-Hooks技术完成buffer加密操作;
S2.3对dt_update函数添加加密算法,dt_update函数用于在显示更新时对图像数据进行加密;
S2.4对dt_invalidate函数添加加密算法,dt_invalidate函数用于在进行强制全屏重绘时对数据进行加密;
S2.5对dt_screen_dump函数添加加密算法,dt_screen_dump函数用于dump操作将显示图像保存为ppm格式时进行加密;
S2.6对dt_text_update函数添加加密算法,dt_text_update函数用于对文字console时进行加密。
以上6个步骤的函数加密完成之后,便完成了全部的post-Hooks加密过程,加密过程中使用的算法是AES算法。
S3,对VNC客户端进行解密:具体步骤如下:
修改Windows下的TightVNC中的RAW、RRE以及Hextile编码方式通信的图像显示函数,被修改函数的对应的函数名如下:
ClientConnection::ReadRawRect//RAW对应函数
ClientConnection::ReadRRERect//RRE对应函数
ClientConnection::ReadHextileRect//Hextile对应函数
为了更明确以上函数修改过程,以下将实现细节抽象为伪代码,希望通过伪代码能够屏蔽细节,更清晰的描绘其处理原理,伪代码如下:
通过以上步骤即可完成对于XEN桌面协议的隔离模块的全部实现,除了AES算法,还可以使用DES算法和ECC算法。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (7)
1.一种基于XEN平台桌面协议的隔离方法,其特征是:包括如下步骤:
S1,截获VNC协议的图像数据;
S2,对截获的图像数据进行加密;
S3,对VNC客户端接收到的数据进行解密。
2.根据权利要求1所述的一种基于XEN平台桌面协议的隔离方法,其特征是:所述步骤S1包括以下步骤:VGA接口的图形控制台初始化函数对应了以下四个静态函数:vga_update_display、vga_invalidate_display、vga_screen_dump、vga_update_text;所述四个函数在调用之前回传入显示区域buffer地址,然后通过以上四个静态函数进行写入,执行线程阻塞在四个静态函数,当四个静态函数执行返回之后上层函数直接从显示区buffer获取图像数据。
3.根据权利要求1所述的一种基于XEN平台桌面协议的隔离方法,其特征是:所述步骤S2对数据进行加密时使用post-Hooks技术。
4.根据权利要求3所述的一种基于XEN平台桌面协议的隔离方法,其特征是:所述步骤S2包括以下分步骤:
S2.1定义一组Detour函数,包括dt_update函数、dt_invalidate函数、dt_screen_dump函数和dt_text_update函数;
S2.2让VNC协议中的dgraphic_console_init函数将设备对应的处理函数赋值为四个Detour函数,Detour函数被替换之后,当update操作时,首先调用Detour函数,在Detour函数被调用时,Detour函数直接调用原来的vga_update_display函数,并阻塞等待vga_update_display执行返回,当该函数返回后Detour通过post-Hooks技术完成buffer加密操作;
S2.3对dt_update函数添加加密算法,dt_update函数用于在显示更新时对图像数据进行加密;
S2.4对dt_invalidate函数添加加密算法,dt_invalidate函数用于在进行强制全屏重绘时对数据进行加密;
S2.5对dt_screen_dump函数添加加密算法,dt_screen_dump函数用于dump操作将显示图像保存为ppm格式时进行加密;
S2.6对dt_text_update函数添加加密算法,dt_text_update函数用于对文字console时进行加密。
5.根据权利要求3所述的一种基于XEN平台桌面协议的隔离方法,其特征是:所述步骤S2添加的加密算法为AES算法。
6.根据权利要求3所述的一种基于XEN平台桌面协议的隔离方法,其特征是:所述步骤S2添加的加密算法为DES算法。
7.根据权利要求3所述的一种基于XEN平台桌面协议的隔离方法,其特征是:所述步骤S2添加的加密算法为ECC算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310278593.3A CN103384195B (zh) | 2013-07-04 | 2013-07-04 | 一种基于xen平台桌面协议的隔离方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310278593.3A CN103384195B (zh) | 2013-07-04 | 2013-07-04 | 一种基于xen平台桌面协议的隔离方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103384195A true CN103384195A (zh) | 2013-11-06 |
CN103384195B CN103384195B (zh) | 2016-08-10 |
Family
ID=49491899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310278593.3A Expired - Fee Related CN103384195B (zh) | 2013-07-04 | 2013-07-04 | 一种基于xen平台桌面协议的隔离方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103384195B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639652B (zh) * | 2018-11-22 | 2021-08-27 | 贵州华云创谷科技有限公司 | 一种基于安全隔离的网间数据访问的方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217544A (zh) * | 2008-01-02 | 2008-07-09 | 浪潮电子信息产业股份有限公司 | 一种增强安全性的远程帧缓冲区协议 |
US20110099374A1 (en) * | 2009-10-27 | 2011-04-28 | Red Hat, Inc. | Authentication of a secure virtual network computing (vnc) connection |
CN103036897A (zh) * | 2012-12-20 | 2013-04-10 | 曙光云计算技术有限公司 | 瘦客户端与服务器端之间基于远程桌面连接的通信方法 |
-
2013
- 2013-07-04 CN CN201310278593.3A patent/CN103384195B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217544A (zh) * | 2008-01-02 | 2008-07-09 | 浪潮电子信息产业股份有限公司 | 一种增强安全性的远程帧缓冲区协议 |
US20110099374A1 (en) * | 2009-10-27 | 2011-04-28 | Red Hat, Inc. | Authentication of a secure virtual network computing (vnc) connection |
CN103036897A (zh) * | 2012-12-20 | 2013-04-10 | 曙光云计算技术有限公司 | 瘦客户端与服务器端之间基于远程桌面连接的通信方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639652B (zh) * | 2018-11-22 | 2021-08-27 | 贵州华云创谷科技有限公司 | 一种基于安全隔离的网间数据访问的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN103384195B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110374B2 (en) | Preventing pattern recognition in electronic code book encryption | |
CN108769027B (zh) | 安全通信方法、装置、移动终端和存储介质 | |
US10659226B2 (en) | Data encryption method, decryption method, apparatus, and system | |
CN109767375A (zh) | 图像水印嵌入和追溯的方法及*** | |
CN102033781B (zh) | 虚拟机桌面***切换方法 | |
CN103618737A (zh) | 一种云计算环境下的虚拟机vnc控制台优化方案 | |
CN111274611A (zh) | 数据脱敏方法、装置及计算机可读存储介质 | |
CN107579903B (zh) | 一种基于移动设备的图片消息安全传输方法及*** | |
CN105100248A (zh) | 一种基于数据加密和访问控制的云存储安全实现方法 | |
US20230254113A1 (en) | Correlation coefficient acquisition method, electronic device and non-transitory computer readable storage medium | |
CN111526003B (zh) | 数据加密方法、装置、存储介质和电子设备 | |
CN102404107A (zh) | 一种保障输入内容安全的方法、装置、发送端和接收端 | |
CN103795696A (zh) | 数据存取的方法及云端服务器*** | |
CN103873245B (zh) | 虚拟机***数据加密方法及设备 | |
CN103384195A (zh) | 一种基于xen平台桌面协议的隔离方法 | |
CN103701589A (zh) | 基于虚拟桌面***的信息传输方法、装置及相关设备 | |
CN115442164B (zh) | 多用户日志加解密方法、装置、设备及存储介质 | |
CN115826897A (zh) | 一种双平台双操作***的桌面智能终端 | |
CN107315970B (zh) | 一种敏感数据的交互方法及装置 | |
CN113672954A (zh) | 特征提取方法、装置和电子设备 | |
CN106357390A (zh) | 动态加密方法及装置 | |
CN113506090A (zh) | 审计数据的处理方法、装置、存储介质及电子设备 | |
CN113343254A (zh) | 基于ofd格式的保函加解密方法、装置、介质及电子设备 | |
CN102624516B (zh) | 对信息进行加解密的方法、***及网关设备 | |
US10749899B1 (en) | Securely sharing a transport layer security session with one or more trusted devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160810 Termination date: 20170704 |
|
CF01 | Termination of patent right due to non-payment of annual fee |