虚拟桌面中的数据安全处理方法及系统的制作方法

文档序号:6373008阅读:193来源:国知局
专利名称:虚拟桌面中的数据安全处理方法及系统的制作方法
技术领域
本发明涉及数据处理方法及系统,尤其涉及一种虚拟桌面中的数据安全处理方法及系统。
背景技术
现有的虚拟桌面的数据安全处理系统包括位于应用层的重定向模块和位于操作系统的内核层的文件系统驱动。图I示出了现有技术中示例的虚拟桌面的数据安全处理系统的逻辑框图,如图I所示,首先由虚拟桌面进程发起一个文件操作(例如D:\win7.dmp),重定向模块强行将该文件操作重定向到虚拟桌面的一个指定的专用路径上,例如采用hook钩子将文件操作重定向到C:\all_data\win7. dmp,其中,针对虚拟桌面的所有文件均存储在指定目录C: \al l_data下。与此同时,应用层的钩子模块也对文件操作进行安全处理,例 如,如果是写操作,则对待写入数据执行加密处理;如果是读操作,则对待读取数据执行解密处理。从以上可以看出,虚拟桌面现有的数据的加解密处理是在应用层实现,这样可提高安全性,同时也比较稳定,即使加解密的数据出了问题,也只会影响当前的进程,不会影响整个系统。但由于数据是在应用层进行加解密的,对于应用层来说,这个加解密的过程不是透明的,具体来说,会存在以下问题A、当在系统调用过程中访问虚拟桌面数据的时候,数据没有进行解密处理,导致读取到的数据都是密文。比如在创建进程、加载动态链接库的时候,就会遇到这个问题。为了规避这个问题,不得不把这些可执行文件都生成一份解密的文件,之后还要对解密后的可执行文件的导入表做相当麻烦的修正处理。这些解密后的文件,不管是在默认桌面还是虚拟桌面,看到的都是明文,这对于数据安全来说,是一个致命的漏洞。B、当应用程序通过文件映射读文件的时候,在系统调用中无法对数据进行解密处理,导致呈现给应用程序的数据是加密的。这样的数据,应用程序是无法使用的。为了规避这个问题,只能创建一份内存数据拷贝,把数据解密之后再返回给应用程序。由于多了一份数据拷贝,会消耗不少系统资源。同时这里只是一个模拟的行为,离真实的文件映射操作还有诸多的不同。当遇到文件映射操作模拟不了的时候,会导致文件读写失败。C、当应用程序使用异步方式读写文件的时候,为了对数据进行加解密处理,我们把所有的异步读写都改成了同步读写。这样不但影响应用程序的性能,在某些情况下,异步读写是无法转换成同步的。若做强制转换,可能导致数据不同步。D、一些安全性比较高的加密算法都是基于数据块的,即加解密前数据需要做8字节、16字节、32字节…的对齐处理。当使用这些加密算法对文件加解密处理时,如果应用程序读写数据的大小和偏移不是8字节、16字节、32字节对齐的话,数据加解密模块需要做边界修正,把不是边界对齐的读写操作转换成边界对齐的读写操作。应用程序读写数据的方式多种多样,导致每个地方都要进行边界对齐,不但工作量大,同时容易出问题,导致数据不同步。

发明内容
本发明要解决的技术问题在于针对现有技术中虚拟桌面无法对系统调用发起的读写操作进行安全处理的缺陷,提供一种虚拟桌面中的数据安全处理方法及系统。本发明解决其技术问题所采用的技术方案是提供了一种虚拟桌面中的数据安全处理方法,包括步骤S100、创建虚拟磁盘;S200、在应用层将文件操作重定向到所述虚拟磁盘上;S300、在内核层判断所述文件操作是否由虚拟桌面的进程发起,如果否,则拒绝所述文件操作;如果是,则允许所述文件操作并执行第一数据安全处理;S400、在内核层将所述文件操作转换成所述虚拟磁盘的操作;以及 S500、在内核层执行所述虚拟磁盘的操作,以完成所述文件操作。在依据本发明实施例的虚拟桌面中的数据安全处理方法中,所述步骤S300中,所述第一数据安全处理包括如果所述文件操作是写操作,则对待写入的数据进行加密处理;以及如果所述文件操作是读操作,则对待读取的数据进行解密处理。在依据本发明实施例的虚拟桌面中的数据安全处理方法中,所述步骤S500包括S510、将所述虚拟磁盘的操作转换成真实路径下的文件操作并执行第二数据安全处理;S520、将所述真实文件操作转换成对应的真实磁盘的操作;以及S530、执行所述真实磁盘的操作。在依据本发明实施例的虚拟桌面中的数据安全处理方法中,所述第二数据安全处理包括如果所述真实文件操作是写操作,则对待写入的数据进行加密处理;以及如果所述真实文件操作是读操作,则对待读取的数据进行解密处理。在依据本发明实施例的虚拟桌面中的数据安全处理方法中,基于AES算法执行所述第二数据安全处理。依据本发明的另一方面,还提供一种虚拟桌面中的数据安全处理系统,包括虚拟磁盘创建模块,用于创建虚拟磁盘;位于应用层的重定向模块,用于将文件操作重定向到所述虚拟磁盘上;位于内核层的文件系统过滤驱动,用于判断所述文件操作是否由虚拟桌面的进程发起,如果否,则拒绝所述文件操;如果是,则允许所述文件操作,并执行第一数据安全处理;位于内核层的文件系统驱动,用于将所述文件操作转换成所述虚拟磁盘的操作;以及位于内核层的虚拟磁盘操作模块,用于执行所述虚拟磁盘操作并执行第二数据安全处理,以完成所述文件操作。在依据本发明实施例的虚拟桌面中的数据安全处理系统中,在所述文件系统过滤驱动执行所述第一数据安全处理中
如果所述文件操作是写操作,则对待写入的数据进行加密处理;以及如果所述文件操作是读操作,则对待读取的数据进行解密处理。在依据本发明实施例的虚拟桌面中的数据安全处理系统中,所述虚拟磁盘操作模块进一步包括虚拟磁盘驱动,用于将所述虚拟磁盘操作转换成真实路径下的文件操作并执行第二数据安全处理;文件系统驱动单元,用于将所述真实文件操作转换成对应的真实磁盘的操作。在依据本发明实施例的虚拟桌面中的数据安全处理系统中,在所述真虚拟磁盘驱动执行所述第二数据安全处理中 如果所述真实文件操作是写操作,则对待写入的数据进行加密处理;以及如果所述真实文件操作是读操作,则对待读取的数据进行解密处理。在依据本发明实施例的虚拟桌面中的数据安全处理系统中,所述虚拟磁盘驱动基于AES算法执行所述第二数据安全处理。本发明产生的有益效果是由于在内核层执行第一数据安全处理,因此,对于虚拟桌面的进程,不管是应用层发起的文件操作(数据读写操作)还是系统调用发起的文件操作(数据读写操作),数据都会进行安全处理(加解密处理)。


下面将结合附图及实施例对本发明作进一步说明,附图中图I示出了现有技术中示例的虚拟桌面的数据安全处理系统的逻辑框图;图2示出了依据本发明实施例的虚拟桌面的数据安全处理系统的逻辑框图;图3示出了系统中各个磁盘的结构示意图;图4示出了依据本发明实施例的虚拟桌面中的数据安全处理方法的流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。图2示出了依据本发明实施例的虚拟桌面的数据安全处理系统的逻辑框图,如图2所示,该数据安全处理系统包括虚拟磁盘创建模块(图中未示出)、重定向模块100、文件系统过滤驱动200、文件系统驱动300以及虚拟磁盘操作模块400。其中,重定向模块100位于应用层中,文件系统过滤驱动200、文件系统驱动300以及虚拟磁盘操作模块400位于操作系统(简称系统)的内核层中。首先,虚拟磁盘创建模块采用现有的任意适合的虚拟磁盘技术创建针对该虚拟桌面的虚拟磁盘,挂接到系统中,这样系统上就多了一个磁盘Z。由于磁盘Z是虚拟的,没有对应的真实磁盘扇区做数据载体,它的数据载体是真实磁盘中的一个文件。图3示出了系统中各个磁盘的结构示意图,如图3所示,虚拟磁盘Z的数据载体例如是真实磁盘D中的一个文件,D:\Vdisk. dat,这些对于应用程序来说是透明的。虚拟磁盘一旦创建之后,后续的任何文件操作或虚拟桌面进程将不再需要重新创建虚拟桌面。
当系统启动虚拟桌面后,虚拟桌面的进程可以发起文件操作,对某个文件执行读操作或写操作。本文中将以D盘下的文件D:\win7. dmp的文件操作为例进行讨论。但是,本领域的技术人员应当知晓,本发明适用于虚拟桌面中的任何文件操作。重定向模块100将文件操作重定向到虚拟磁盘上。具体而言,虚拟桌面进程读写文件的时候,重定向模块100负责把文件操作重定向到虚拟磁盘上。如图3所示,对磁盘C的文件操作都重定向到Z:\raisk这个路径下,对磁盘D的文件操作都重定向到Z:\DDisk这个路径下。具体到示例中,将D盘下的文件D:\win7. dmp的文件操作重定向到虚拟磁盘下的路径Z:\DDisk\win7. dmp中。从这里可以看出,本发明中的重定向模块100不同于现有技术中的重定向模块100。现有技术的重定向模块100将文件操作重定向到另一个真实磁盘的路径下,例如C:\all_data ;与此同时,重定向模块100还进一步对文件进行安全处理,例如加密或解密处理。而本发明中的重定向模块100将文件操作重定向到虚拟磁盘,且并不对文件进行安全处理。具体到示例中,D:\win7. dmp这个文件已经被重定向,文件重定 向模块100把文件路径改成重定向后的路径Z:\DDisk\win7. dmp。在系统的内核层,文件系统过滤驱动200首先对发起文件操作的进程进行安全检查,判断文件操作是否由虚拟桌面的进程发起,如果否,则拒绝文件操作。如果是,则允许文件操作,与此同时针对该文件执行第一数据安全处理。具体而言,在执行第一数据安全处理的过程中,如果该文件操作是写操作,则对待写入的数据进行加密处理;如果文件操作是读操作,则对待读取的数据进行解密处理。从这里可以看出,由于执行第一数据安全处理的文件系统过滤驱动200位于系统的内核层,因此,对于虚拟桌面的进程,不管是应用层发起的文件操作(数据读写操作)还是系统调用发起的文件操作(数据读写操作),数据都会进行安全处理(加解密处理)。另外,在进行第一数据安全处理之前,文件系统过滤驱动200还会对发起文件操作的进程进行安全检查,判断文件操作是否由虚拟桌面的进程发起,因此非虚拟桌面的进程进行文件操作时,不会进行加解密处理或者禁止读写操作。文件系统驱动300将文件操作转换成虚拟磁盘的操作。具体而言,文件系统驱动300会把针对文件Z:\DDisk\win7. dmp的文件操作转换成虚拟磁盘扇区的操作,然后把请求发给虚拟磁盘操作模块400。虚拟磁盘操作模块400包括虚拟磁盘驱动410、文件系统驱动单元420以及真实磁盘操作驱动430。因为虚拟磁盘的数据载体是真实磁盘上的一个文件,例如D:\Vdisk. dat,所以虚拟磁盘驱动410要把虚拟磁盘的操作请求转换成对文件D: \Vdisk. dat的操作请求。即虚拟磁盘驱动410将虚拟磁盘操作转换成对应物理磁盘路径下的真实文件操作。与此同时,虚拟磁盘驱动410还执行第二数据安全处理,S卩如果上述真实文件操作是写操作,则对待写入的数据进行加密处理;如果真实文件操作是读操作,则对待读取的数据进行解密处理。优选地,该虚拟磁盘驱动410基于AES (Advanced Encryption Standard)算法执行上述第二数据安全处理。AES加密算法(使用128,256和512位元密钥的版本)的安全性,在设计结构及密钥的长度上俱已到达保护机密资讯的标准。文件系统驱动单元420将真实文件操作转换成对应的真实磁盘的操作。具体而言,文件系统驱动单元420把针对文件D: \Vdisk. dat操作转换成对应的真实磁盘扇区的操作(即真实磁盘操作),然后把请求发给真实磁盘驱动。真实磁盘操作驱动430执行真实磁盘操作。真实磁盘操作驱动430完成上述真实磁盘扇区操作请求,从真实磁盘扇区(文件D: \Vdisk. dat在D盘中对应的磁盘扇区)中读取数据或者把数据写入到磁盘扇区中,从而完成虚拟桌面的进程发起的文件操作。图4示出了依据本发明实施例的虚拟桌面中的数据安全处理方法的流程图,下面将按步骤阐述该虚拟桌面中的数据安全处理方法。S100、采用现有的任意适合的虚拟磁盘技术创建针对该虚拟桌面的虚拟磁盘,挂接到系统中,这样系统上就多了一个磁盘Z。其中,可例如采用虚拟磁盘创建模块实施该步骤。由于磁盘Z是虚拟的,没有对应的真实磁盘扇区做数据载体。图3示出了系统中各个磁盘的结构示意图,如图3所示,虚拟磁盘Z的数据载体例如是真实磁盘D中的一个文件,D:\Vdisk. dat,这些对于应用程序来说是透明的。虚拟磁盘一旦创建之后,后续的任何文件操作或虚拟桌面进程将不再需要重新创建虚拟桌面。当系统启动虚拟桌面后,虚拟桌面的进程可以发起文件操作,对某个文件执行读操作或写操作。本文中将以D盘下的文件D:\win7. dmp的文件操作为例进行讨论。但是, 本领域的技术人员应当知晓,本发明适用于虚拟桌面中的任何文件操作。S200、将文件操作重定向到虚拟磁盘上,该步骤在应用层中实施,并可例如采用重定向模块100实施该步骤。具体而言,虚拟桌面进程读写文件的时候,重定向模块100负责把文件操作重定向到虚拟磁盘上。如图3所示,对磁盘C的文件操作都重定向到Z:\CDisk这个路径下,对磁盘D的文件操作都重定向到Z:\DDisk这个路径下。具体到示例中,将D盘下的文件D: \win7. dmp的文件操作重定向到虚拟磁盘下的路径Z: \DDisk\win7. dmp中。从这里可以看出,本发明中的重定向模块100不同于现有技术中的重定向模块。现有技术的重定向模块将文件操作重定向到另一个真实磁盘的路径下,例如C:\all_data ;与此同时,重定向模块还进一步对文件进行安全处理,例如加密或解密处理。而本发明中的重定向模块100将文件操作重定向到虚拟磁盘,且并不对文件进行安全处理。具体到示例中,D:\win7. dmp这个文件已经被重定向,文件重定向模块100把文件路径改成重定向后的路径 Z:\DDisk\win7. dmp。S300、在系统的内核层,首先对发起文件操作的进程进行安全检查,判断文件操作是否由虚拟桌面的进程发起,如果否,则拒绝文件操作。如果是,则允许文件操作,与此同时针对该文件执行第一数据安全处理。其中,可例如采用文件系统过滤驱动200实施该步骤。具体而言,在执行第一数据安全处理的过程中,如果该文件操作是写操作,则对待写入的数据进行加密处理;如果文件操作是读操作,则对待读取的数据进行解密处理。从这里可以看出,由于执行第一数据安全处理的文件系统过滤驱动200位于系统的内核层,因此,对于虚拟桌面的进程,不管是应用层发起的文件操作(数据读写操作)还是系统调用发起的文件操作(数据读写操作),数据都会进行安全处理(加解密处理)。另外,在进行第一数据安全处理之前,文件系统过滤驱动200还会对发起文件操作的进程进行安全检查,判断文件操作是否由虚拟桌面的进程发起,因此非虚拟桌面的进程进行文件操作时,不会进行加解密处理或者禁止读写操作。S400、在系统的内核层,将文件操作转换成虚拟磁盘的操作,其中,可例如采用文件系统驱动300实施该步骤。具体而言,文件系统驱动300会把针对文件Z: \DDisk\win7.dmp的文件操作转换成虚拟磁盘扇区的操作,然后把请求发给虚拟磁盘操作模块400。步骤S500进一步包括步骤S510、S520和S530,可在系统的内核层实施步骤S500,下面将详细阐述该步骤。S510、在系统的内核层,将虚拟磁盘操作转换成对应物理磁盘路径下的真实文件操作并执行第二数据安全处理。因为虚拟磁盘的数据载体是真实磁盘上的一个文件,例如D:\Vdisk. dat,所以虚拟磁盘驱动410要把虚拟磁盘操作的操作请求转换成对文件D:\Vdisk. dat的操作请求。即虚拟磁盘驱动410将虚拟磁盘操作转换成对应物理磁盘路径下的真实文件操作。与此同时,虚拟磁盘驱动410还执行第二数据安全处理,即如果虚拟磁盘的文件操作是写操作,则对待写入的数据进行加密处理;如果虚拟磁盘的文件操作是读操作,则对待读取的数据进行解密处理。优选地,该虚拟磁盘驱动410基于AES (AdvancedEncryption Standard)算法执行上述第二数据安全处理。AES加密算法(使用128, 256和512位元密钥的版本)的安全性,在设计结构及密钥的长度上俱已到达保护机密资讯的标准。S520、在系统的内核层,文件系统驱动单元420将真实文件操作转换成对应的真实磁盘的操作。具体而言,文件系统驱动单元420把针对文件D: \Vdisk. dat操作转换成对应的真实磁盘扇区的操作(即真实磁盘操作),然后把请求发给真实磁盘驱动。 S530、真实磁盘操作驱动430执行真实磁盘操作。真实磁盘操作驱动430完成上述真实磁盘扇区操作请求,从真实磁盘扇区(文件D: \Vdisk. dat在D盘中对应的磁盘扇区)中读取数据或者把数据写入到磁盘扇区中,从而完成虚拟桌面的进程发起的文件操作。从以上可以看出,在本发明虚拟桌面中的数据安全处理方法及系统中引入了虚拟磁盘技术,原因是读写磁盘数据的时候,都要进行扇区对齐的,否则的话将产生边界修正的问题。在本发明的数据处理方法及系统中,将虚拟桌面所有重定向的数据都存放到虚拟磁盘下,读写的时候由文件系统过滤驱动进行第一次加解密处理(即第一数据安全处理),之后再通过虚拟磁盘驱动对虚拟磁盘的数据进行二次的加解密处理(即第二数据安全处理)。因为在读写虚拟磁盘的时候进行加解密处理,从而可以避免边界修正的问题。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
权利要求
1.一种虚拟桌面中的数据安全处理方法,其特征在于,包括步骤 S100、创建虚拟磁盘; S200、在应用层将文件操作重定向到所述虚拟磁盘上; S300、在内核层判断所述文件操作是否由虚拟桌面的进程发起,如果否,则拒绝所述文件操作;如果是,则允许所述文件操作并执行第一数据安全处理; S400、在内核层将所述文件操作转换成所述虚拟磁盘的操作;以及 S500、在内核层执行所述虚拟磁盘的操作,以完成所述文件操作。
2.根据权利要求I所述的虚拟桌面中的数据安全处理方法,其特征在于,所述步骤S300中,所述第一数据安全处理包括 如果所述文件操作是写操作,则对待写入的数据进行加密处理;以及 如果所述文件操作是读操作,则对待读取的数据进行解密处理。
3.根据权利要求I所述的虚拟桌面中的数据安全处理方法,其特征在于,所述步骤S500包括 S510、将所述虚拟磁盘的操作转换成真实路径下的文件操作并执行第二数据安全处理; S520、将所述真实文件操作转换成对应的真实磁盘的操作;以及 S530、执行所述真实磁盘的操作。
4.根据权利要求3所述的虚拟桌面中的数据安全处理方法,其特征在于,所述第二数据安全处理包括 如果所述真实文件操作是写操作,则对待写入的数据进行加密处理;以及 如果所述真实文件操作是读操作,则对待读取的数据进行解密处理。
5.根据权利要求4所述的虚拟桌面中的数据安全处理方法,其特征在于,基于AES算法执行所述第二数据安全处理。
6.一种虚拟桌面中的数据安全处理系统,其特征在于,包括 虚拟磁盘创建模块,用于创建虚拟磁盘; 位于应用层的重定向模块,用于将文件操作重定向到所述虚拟磁盘上;位于内核层的文件系统过滤驱动,用于判断所述文件操作是否由虚拟桌面的进程发起,如果否,则拒绝所述文件操;如果是,则允许所述文件操作,并执行第一数据安全处理;位于内核层的文件系统驱动,用于将所述文件操作转换成所述虚拟磁盘的操作;以及位于内核层的虚拟磁盘操作模块,用于执行所述虚拟磁盘操作并执行第二数据安全处理,以完成所述文件操作。
7.根据权利要求6所述的虚拟桌面中的数据安全处理系统,其特征在于,在所述文件系统过滤驱动执行所述第一数据安全处理中 如果所述文件操作是写操作,则对待写入的数据进行加密处理;以及 如果所述文件操作是读操作,则对待读取的数据进行解密处理。
8.根据权利要求6所述的虚拟桌面中的数据安全处理系统,其特征在于,所述虚拟磁盘操作模块进一步包括 虚拟磁盘驱动,用于将所述虚拟磁盘操作转换成真实路径下的文件操作并执行第二数据安全处理;文件系统驱动单元,用于将所述真实文件操作转换成对应的真实磁盘的操作。
9.根据权利要求8所述的虚拟桌面中的数据安全处理系统,其特征在于,在所述真虚拟磁盘驱动执行所述第二数据安全处理中 如果所述真实文件操作是写操作,则对待写入的数据进行加密处理;以及 如果所述真实文件操作是读操作,则对待读取的数据进行解密处理。
10.根据权利要求9所述的虚拟桌面中的数据安全处理系统,其特征在于,所述虚拟磁盘驱动基于AES算法执行所述第二数据安全处理。
全文摘要
本发明公开了一种虚拟桌面中的数据安全处理方法及系统,方法包括步骤创建虚拟磁盘;在应用层将文件操作重定向到虚拟磁盘上;在内核层判断文件操作是否由虚拟桌面的进程发起,如果是,则允许文件操作访问并执行第一数据安全处理;在内核层将文件操作转换成虚拟磁盘的操作;以及在内核层执行虚拟磁盘的操作,以完成文件操作。由于在内核层执行第一数据安全处理,因此,对于虚拟桌面的进程,不管是应用层发起的文件操作还是系统调用发起的文件操作,数据都会进行安全处理。
文档编号G06F21/00GK102821094SQ201210235110
公开日2012年12月12日 申请日期2012年7月9日 优先权日2012年7月9日
发明者程方全, 陈铭霖 申请人:深圳市深信服电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1