CN103020537A - 数据加密方法和装置、数据解密方法和装置 - Google Patents
数据加密方法和装置、数据解密方法和装置 Download PDFInfo
- Publication number
- CN103020537A CN103020537A CN2011102838965A CN201110283896A CN103020537A CN 103020537 A CN103020537 A CN 103020537A CN 2011102838965 A CN2011102838965 A CN 2011102838965A CN 201110283896 A CN201110283896 A CN 201110283896A CN 103020537 A CN103020537 A CN 103020537A
- Authority
- CN
- China
- Prior art keywords
- virtual disk
- disk
- file
- file system
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012795 verification Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 11
- 230000007547 defect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供了数据加密方法和装置、数据解密方法和装置。其中,数据加密方法包括:创建虚拟磁盘;所述虚拟磁盘接收来自文件系统的写请求,对写请求携带的数据进行加密,并通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。
Description
技术领域
本发明涉及数据处理技术,特别涉及数据加密方法和装置、数据解密方法和装置。
背景技术
目前,比较常用的加密技术主要有:直接加密、文件透明加密和系统自带加密。这三种加密技术虽然都能实现加密,但都有各自的缺点,下面一一描述:
直接加密,其用于直接对磁盘中的文件进行加密,代表软件为WinRar。但是,该直接加密的缺点是:每次使用文件前进行手工解密,使用完毕后再手工进行加密,非常依赖于手工操作,比较复杂、繁琐。
文件透明加密,其使用Windows过滤驱动对文件进行动态加密、解密,克服了直接加密需要手工加密解密的缺点。但是,该文件透明加密具有以下缺点:由于使用的Windows过滤驱动处于Windows文件系统驱动之上,因此,使用Windows过滤驱动之后还需要对所有文件操作进行大规模的过滤操作,严重影响系统性能。
基于上面描述可以看出,一种可靠、安全、有效的文件加密方法是当前亟待解决的技术问题。
发明内容
本发明提供了数据加密方法和装置,以避免现有加密的缺点,实现可靠、安全、有效的数据加密。
本发明还相应提供了与上述数据加密方法和装置对应的数据解密方法和装置,以实现利用虚拟磁盘进行数据解密,不影响文件的读性能。
本发明提供的技术方案包括:
一种数据加密方法,包括:创建虚拟磁盘;该方法还包括:
所述虚拟磁盘接收来自文件系统的写请求,对写请求携带的数据进行加密,并通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。
一种文件解密方法,包括:创建虚拟磁盘;该方法还包括:
A,所述虚拟磁盘将接收的来自文件系统的读请求重定向至物理磁盘,以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
B,所述虚拟磁盘接收文件系统从所述物理磁盘获取的数据,并对接收的数据进行解密,将解密后的数据发送给文件系统,由文件系统提供解密后的数据给用户端。
一种文件加密装置,包括:
虚拟磁盘创建单元,用于创建虚拟磁盘;
虚拟磁盘驱动单元,用于接收来自文件系统的写请求,对写请求携带的数据进行加密,并通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。
一种文件解密装置,包括:
虚拟磁盘创建单元,用于创建虚拟磁盘;
虚拟磁盘驱动单元,包括:重定向模块和解密模块;其中,
所述重定向模块,用于将接收的来自文件系统的读请求重定向至物理磁盘,以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
解密模块,用于接收文件系统从所述物理磁盘获取的数据,并对接收的数据进行解密,将解密后的数据发送给文件系统,由文件系统提供解密后的数据给用户端。
由以上技术方案可以看出,本发明中,利用虚拟磁盘对写请求中的数据进行加密、以及利用虚拟磁盘对读请求所请求的数据进行解密,这一方面克服了直接加密需要手工加密解密的缺点,另一方面,克服了文件透明加密中使用Windows过滤驱动加密所带来的缺陷,即避免了现有加密的缺点,实现了可靠、安全、有效的数据加密。
附图说明
图1为本发明实施例提供的虚拟磁盘建立方法流程图;
图2为本发明实施例1提供的基本流程图;
图3为本发明实施例1提供的详细流程图;
图4为本发明实施例1提供的装置结构图;
图5为本发明实施例2提供的基本流程图;
图6为本发明实施例2提供的详细流程图;
图7为本发明实施例2提供的装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的文件加密方法和装置、文件解密方法和装置均基于Windows虚拟磁盘,其中,所谓虚拟磁盘其实质与现有的物理磁盘类似,其指Windows里面的卷(Volume),与至少一个设备对应。
在描述本发明提供的文件加密方法和装置、文件解密方法和装置之前,先描述如何建立虚拟磁盘:
参见图1,图1为本发明实施例提供的虚拟磁盘建立方法流程图。如图1所示,该流程可包括以下步骤:
步骤101,对待建立的虚拟磁盘所对应的物理磁盘的文件进行初始化。
本步骤101中,虚拟磁盘所对应的物理磁盘的文件可由人工预先配置,其具体为后缀为“*.qbox”的文件,用于存放向该虚拟磁盘写入的数据。也就是说,当向虚拟磁盘写入数据时,需要将该数据重定向至该虚拟磁盘对应的物理磁盘的文件;当向该虚拟磁盘发送读请求以读取数据时,需要将该读请求重定向至该虚拟磁盘对应的物理磁盘的文件,以获取该读请求所请求的数据。
步骤102,在建立所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则执行步骤103,否则,返回步骤102,或者结束当前流程。
步骤103,创建所述虚拟磁盘。
本步骤103在具体实现时,可包括以下步骤:
步骤1,初始化运行在内核的驱动,以使该驱动后续作为虚拟磁盘的驱动,来处理针对该虚拟磁盘的读请求、写请求。这里,该驱动可为:Windows可执行程序文件的一种,后缀名为“.sys”。
步骤2,初始化内核加密、解密线程。
这里,线程为Windows任务调度的基本单位,内核加密线程为运行在系统内核空间用于加密的线程,内核解密线程为运行在系统内核空间用于解密的线程。
需要说明的是,步骤1和步骤2仅是Windows下创建虚拟磁盘所需要的初始化工作的一种举例,在不同的Windows环境中,该创建虚拟磁盘所需要的初始化工作不同,本发明并不具体限定。
步骤3,使用用于创建虚拟磁盘的控件创建虚拟磁盘。
本步骤3中,用于创建虚拟磁盘的控件具体实现时可为Windows下的IoCteateDevice控件。
另外,本步骤3创建的虚拟磁盘具有唯一的标识,比如为\Device\HarddiskVolume2,也具有对应的设备类型,比如为FILE_DEVICE_DISK,用于表示是磁盘设备。
如此,通过上述步骤1至步骤3,能够实现步骤103创建虚拟磁盘的操作。
优选地,本发明中,为了使该虚拟磁盘在用户态可见,可使用盘符分配控件比如Windows下的IoCreateSymbolicLink为虚拟磁盘分配盘符。并且,为了在windows的“我的电脑”里面能够看到该分配的盘符,本发明还需要给这个设备安排一个符号连接。
至此,涉及虚拟磁盘创建的主要工作已经执行。但是,考虑到本发明提供的虚拟磁盘的即插即用特性,还需要通知所述虚拟磁盘至Windows下的磁盘挂载管理模块(MountManger);和/或,使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块(Explorer),以使所述资源管理模块重新枚举该虚拟磁盘。
如此,之后用户可按照类似对普通物理磁盘的读写操作对该虚拟磁盘执行读写操作,只不过在对该虚拟磁盘执行读写操作时,该虚拟磁盘会将该读写操作重定向至其对应的物理磁盘文件,具体在下文实施例1和实施例2进行描述。
实施例1:
本实施例1基于上面描述的虚拟磁盘来描述数据加密方法。
参见图2,图2为本发明实施例1提供的基本流程图。如图2所示,该流程可包括以下步骤:
步骤201,虚拟磁盘接收来自文件系统的写请求,对写请求携带的数据进行加密。
步骤202,虚拟磁盘通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。
为使图2所示的流程更加清楚,下面通过图3对图2所示流程进行详细描述:
参见图3,图3为本发明实施例1提供的详细流程图。如图3所示,该流程可包括以下步骤:
步骤301,用户使用如WriteFile等用于发出写请求的控件在用户态发出写请求。
该写请求携带了虚拟磁盘的标识,以及向虚拟磁盘写入的数据。
其中,所述用户态用于表示步骤301中发出写请求是在用户空间执行的。
步骤302,文件系统在内核态接收来自用户态的写请求,发现所述写请求携带了所述虚拟磁盘的标识,则向虚拟磁盘发送该写请求。
具体地,本实施例1中的文件系统可为文件系统驱动(FSD)或者其他具有类似功能的模块。
其中,所述内核态用于表示步骤302中文件系统接收写请求是在内核空间执行的。
步骤303,虚拟磁盘接收来自文件系统的写请求,对写请求携带的数据进行加密。
本步骤303具体由虚拟磁盘的驱动执行的。
另外,在windows系统下,磁盘的读写始终是以簇为单位的,一个簇的大小大于512字节且小于64k字节,并且为2的N次幂。在windows系统下NTFS文件系统的默认簇大小是4096字节,FAT32文件系统的默认簇大小是512字节。因为磁盘的这个特性,可以很方便的使用目前的各种主流算法来对数据进行加密。
其中,目前主流的加密算法主要分为流加密算法和块加密算法,相比于流加密算法,块加密算法有最小加密长度和对齐要求,其最小加密长度通常是2的N次幂,比如8字节或16字节或32字节,这样磁盘的最小读写单位刚好可以保证边界是对齐的,不需要为了使用块加密而增加无效数据。而通常透明加密里面为了使用块加密算法不得不在后面追写一些无效数据来实现边界对齐。优选地,考虑到数据的安全性,本发明实施例可使用块加密算法中安全级别较高的AES加密算法进行数据加密。
步骤304,虚拟磁盘确定自身对应的物理磁盘中的文件,用确定的物理磁盘文件的标识替换写请求中虚拟磁盘的标识,之后发送写请求至文件系统。
本步骤304确定的物理磁盘文件,即为上述步骤101所述的经过初始化的文件。
另外,本步骤304具体由虚拟磁盘的驱动执行的。其中,发送写请求至文件系统,是由该虚拟磁盘驱动使用如ZWWriteFile等用于发出写请求的控件实现的。
步骤305,文件系统接收到来自虚拟磁盘的写请求后,将该写请求中加密后的数据写入至写请求中物理磁盘文件标识对应的物理磁盘文件。
至此,即完成图3所示的流程。
由于虚拟磁盘仅在内核态可见,因此,本实施例1利用内核态的虚拟磁盘对数据加密,是用户态中的用户看不到的,这样,即使用户登录Windows也不可以随意读取,实现了可靠的加密效果。
另外,本实施例1中,仅利用虚拟磁盘对数据加密,不影响普通的读写性能,对系统性能几乎无影响。
至此,完成实施例1提供的方法描述。对应该实施例1提供的方法,本实施例1还提供了文件加密装置。
参见图4,图4为本发明实施例1提供的装置结构图。如图4所示,该装置包括:
虚拟磁盘创建单元,用于创建虚拟磁盘;
虚拟磁盘驱动单元,用于接收来自文件系统的写请求,对写请求携带的数据进行加密,并通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。
其中,所述虚拟磁盘在内核态可见,具有唯一的标识;并且,优选地,如图4所示,该装置进一步包括:
虚拟磁盘通知单元,用于在所述虚拟磁盘创建单元创建虚拟磁盘之后、且在虚拟磁盘驱动单元接收写请求之前,通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;和/或,使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块Explorer,以使所述资源管理模块重新枚举该虚拟磁盘。
本实施例1中,所述虚拟磁盘驱动单元包括:
接收模块,用于接收来自文件系统的写请求;
加密模块,用于对写请求携带的数据进行加密;
重定向模块,用于确定所述虚拟磁盘对应的物理磁盘中的文件,用确定的物理磁盘文件的标识替换写请求中虚拟磁盘的标识,之后发送写请求至文件系统,以使所述文件系统接收到来自虚拟磁盘的写请求后,将该写请求中加密后的数据写入至写请求中物理磁盘文件标识对应的物理磁盘文件。
本实施例中,所述虚拟磁盘创建单元包括:初始化模块、处理模块和虚拟磁盘建立模块;其中,
初始化模块,用于对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
处理模块,用于在触发所述虚拟磁盘建立模块创建所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则触发所述初始化模块继续执行创建所述虚拟磁盘所需要的初始化工作,在检测到所述初始化模块完成所述初始化工作后,触发所述虚拟磁盘建立模块创建所述虚拟磁盘;
虚拟磁盘建立模块,用于在所述处理模块的触发下创建所述虚拟磁盘。
至此,完成实施例1提供的装置描述。
下面对实施例2进行描述:
实施例2:
本实施例2基于上面描述的虚拟磁盘来描述数据加密方法。
参见图5,图5为本发明实施例2提供的基本流程图。如图5所示,该流程可包括以下步骤:
步骤501,虚拟磁盘将接收的来自文件系统的读请求重定向至物理磁盘,以使文件系统从所述物理磁盘中获取所述读请求所请求的数据。
步骤502,虚拟磁盘接收文件系统从所述物理磁盘获取的数据,并对接收的数据进行解密,将解密后的数据发送给文件系统,由文件系统提供解密后的数据给用户端。
为使图5所示的流程更加清楚,下面通过图6对图5所示流程进行详细描述:
参见图6,图6为本发明实施例2提供的详细流程图。如图6所示,该流程可包括以下步骤:
步骤601,用户使用如ReadFile等用于发出读请求的控件在用户态发出读请求。
该读请求携带了虚拟磁盘的标识。
步骤602,文件系统在内核态接收来自用户态的读请求,判断出所述读请求携带了所述虚拟磁盘的标识,则将所述读请求发送至所述虚拟磁盘。
具体地,本实施例2中的文件系统可为FSD或者其他具有类似功能的模块。
步骤603,虚拟磁盘接收到来自文件系统的读请求后,确定自身对应的物理磁盘中的文件。
本步骤603确定的物理磁盘文件,即为上述步骤101所述的经过初始化的文件。
另外,本步骤603具体由虚拟磁盘的驱动执行的。
步骤604,虚拟磁盘用确定的物理磁盘文件的标识替换读请求中虚拟磁盘的标识,并发送该读请求至文件系统。
本步骤604的发送可由虚拟磁盘驱动使用如ZWReadFile等用于发出读请求的控件实现的。
步骤605,文件系统接收到来自虚拟磁盘的读请求后,向与该读请求携带的物理磁盘文件标识对应的物理磁盘文件发送读请求,以从该物理磁盘文件中获取所述读请求所请求的数据。
基于实施例1的描述可以知道,本步骤605中,文件系统获取的数据为加密的数据。
步骤606,虚拟磁盘接收文件系统从所述物理磁盘获取的数据,并对接收的数据进行解密,将解密后的数据发送给文件系统。
本步骤606中实现解密的算法与实施例1中加密算法对应,比如也可为安全级别较高的AES解密算法。
步骤607,文件系统提供解密后的数据给用户端。
至此,完成图6所示的流程。
下面对本实施例2中提供的文件解密装置的结构进行描述。
参见图7,图7为本发明实施例2提供的装置结构图。如图7所示,该装置包括:
虚拟磁盘创建单元,用于创建虚拟磁盘;
虚拟磁盘驱动单元,包括:重定向模块和解密模块;其中,
所述重定向模块,用于将接收的来自文件系统的读请求重定向至物理磁盘,以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
解密模块,用于接收文件系统从所述物理磁盘获取的数据,并对接收的数据进行解密,将解密后的数据发送给文件系统,由文件系统提供解密后的数据给用户端。
其中,所述虚拟磁盘在内核态可见,具有唯一的标识;并且,如图7所示,所述装置进一步包括:
虚拟磁盘通知单元,用于在所述虚拟磁盘创建单元创建虚拟磁盘之后、且在虚拟磁盘驱动单元接收读请求之前,通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;和/或,使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块,以使所述资源管理模块重新枚举该虚拟磁盘。
另外,优选地,如图7所示,所述重定向模块可包括:
确定子模块,用于接收到读请求后,确定自身对应的物理磁盘中的文件;
重定向子模块,用于用确定的物理磁盘文件的标识替换读请求中虚拟磁盘的标识,并发送该读请求至文件系统,以使文件系统接收到来自虚拟磁盘的读请求后,向与该读请求携带的物理磁盘文件标识对应的物理磁盘文件发送读请求,以从该物理磁盘文件中获取所述读请求所请求的数据。
本实施例中,所述虚拟磁盘创建单元包括:初始化模块、处理模块和虚拟磁盘建立模块;其中,
初始化模块,用于对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
处理模块,用于在触发所述虚拟磁盘建立模块创建所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则触发所述初始化模块继续执行创建所述虚拟磁盘所需要的初始化工作,在检测到所述初始化模块完成所述初始化工作后,触发所述虚拟磁盘建立模块创建所述虚拟磁盘;
虚拟磁盘建立模块,用于在所述处理模块的触发下创建所述虚拟磁盘。
至此,完成实施例2提供的装置描述。
由以上技术方案可以看出,本发明中,利用虚拟磁盘对写请求中的数据进行加密、以及利用虚拟磁盘对读请求所请求的数据进行解密,这一方面克服了直接加密需要手工加密解密的缺点,另一方面,克服了文件透明加密中使用Windows过滤驱动加密所带来的缺陷,即避免了现有加密的缺点,实现了可靠、安全、有效的数据加密。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (18)
1.一种数据加密方法,其特征在于,创建虚拟磁盘;该方法包括:
所述虚拟磁盘接收来自文件系统的写请求,对写请求携带的数据进行加密,并通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。
2.根据权利要求1所述的方法,其特征在于,所述虚拟磁盘在内核态可见,具有唯一的标识;
在创建虚拟磁盘之后、且在虚拟磁盘接收来自文件系统的写请求之前进一步包括:
通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;和/或,
使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块,以使所述资源管理模块重新枚举该虚拟磁盘。
3.根据权利要求2所述的方法,其特征在于,所述文件系统通过以下步骤发送写请求给虚拟磁盘包括:
文件系统在内核态接收来自用户态的写请求,判断出所述写请求携带了所述虚拟磁盘的标识,则将所述写请求发送至所述虚拟磁盘。
4.根据权利要求2所述的方法,其特征在于,所述虚拟磁盘通知文件系统将加密后的数据写入至对应的物理磁盘包括:所述虚拟磁盘确定自身对应的物理磁盘中的文件,用确定的物理磁盘文件的标识替换写请求中虚拟磁盘的标识,之后发送写请求至文件系统;
所述文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘包括:所述文件系统接收到来自虚拟磁盘的写请求后,将该写请求中加密后的数据写入至写请求中物理磁盘文件标识对应的物理磁盘文件。
5.根据权利要求1至4任一所述的方法,其特征在于,所述创建虚拟磁盘包括:
对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
在创建所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则执行创建所述虚拟磁盘所需要的初始化工作,在完成初始化后使用用于创建虚拟磁盘的控件创建虚拟磁盘。
6.一种文件解密方法,其特征在于,创建虚拟磁盘;该方法包括:
A,所述虚拟磁盘将接收的来自文件系统的读请求重定向至物理磁盘,以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
B,所述虚拟磁盘接收文件系统从所述物理磁盘获取的数据,并对接收的数据进行解密,将解密后的数据发送给文件系统,由文件系统提供解密后的数据给用户端。
7.根据权利要求6所述的方法,其特征在于,所述虚拟磁盘在内核态可见,具有唯一的标识;
在创建虚拟磁盘之后、且在执行步骤A之前进一步包括:
通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;和/或,
使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块,以使所述资源管理模块重新枚举该虚拟磁盘。
8.根据权利要求7所述的方法,其特征在于,步骤A中,文件系统通过以下步骤发送读请求至虚拟磁盘:
文件系统在内核态接收来自用户态的读请求,判断出所述读请求携带了所述虚拟磁盘的标识,则将所述读请求发送至所述虚拟磁盘。
9.根据权利要求7所述的方法,其特征在于,步骤A包括:
所述虚拟磁盘接收到读请求后,确定自身对应的物理磁盘中的文件,用确定的物理磁盘文件的标识替换读请求中虚拟磁盘的标识,并发送该读请求至文件系统;
所述文件系统接收到来自虚拟磁盘的读请求后,向与该读请求携带的物理磁盘文件标识对应的物理磁盘文件发送读请求,以从该物理磁盘文件中获取所述读请求所请求的数据。
10.根据权利要求6至9任一所述的方法,其特征在于,所述创建虚拟磁盘包括:
对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
在建立所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则执行创建所述虚拟磁盘所需要的初始化工作,在完成初始化后使用用于创建虚拟磁盘的控件创建虚拟磁盘。
11.一种文件加密装置,其特征在于,该装置包括:
虚拟磁盘创建单元,用于创建虚拟磁盘;
虚拟磁盘驱动单元,用于接收来自文件系统的写请求,对写请求携带的数据进行加密,并通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。
12.根据权利要求11所述的装置,其特征在于,所述虚拟磁盘在内核态可见,具有唯一的标识;该装置进一步包括:
虚拟磁盘通知单元,用于在所述虚拟磁盘创建单元创建虚拟磁盘之后、且在虚拟磁盘驱动单元接收写请求之前,通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;和/或,使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块,以使所述资源管理模块重新枚举该虚拟磁盘。
13.根据权利要求12所述的装置,其特征在于,所述虚拟磁盘驱动单元包括:
接收模块,用于接收来自文件系统的写请求;
加密模块,用于对写请求携带的数据进行加密;
重定向模块,用于确定所述虚拟磁盘对应的物理磁盘中的文件,用确定的物理磁盘文件的标识替换写请求中虚拟磁盘的标识,之后发送写请求至文件系统,以使所述文件系统接收到来自虚拟磁盘的写请求后,将该写请求中加密后的数据写入至写请求中物理磁盘文件标识对应的物理磁盘文件。
14.根据权利要求11至13任一所述的装置,其特征在于,所述虚拟磁盘创建单元包括:初始化模块、处理模块和虚拟磁盘建立模块;其中,
初始化模块,用于对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
处理模块,用于在触发所述虚拟磁盘建立模块创建所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则触发所述初始化模块继续执行创建所述虚拟磁盘所需要的初始化工作,在检测到所述初始化模块完成所述初始化工作后,触发所述虚拟磁盘建立模块创建所述虚拟磁盘;
虚拟磁盘建立模块,用于在所述处理模块的触发下创建所述虚拟磁盘。
15.一种文件解密装置,其特征在于,该装置包括:
虚拟磁盘创建单元,用于创建虚拟磁盘;
虚拟磁盘驱动单元,包括:重定向模块和解密模块;其中,
所述重定向模块,用于将接收的来自文件系统的读请求重定向至物理磁盘,以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
解密模块,用于接收文件系统从所述物理磁盘获取的数据,并对接收的数据进行解密,将解密后的数据发送给文件系统,由文件系统提供解密后的数据给用户端。
16.根据权利要求15所述的装置,其特征在于,所述虚拟磁盘在内核态可见,具有唯一的标识;所述装置进一步包括:
虚拟磁盘通知单元,用于在所述虚拟磁盘创建单元创建虚拟磁盘之后、且在虚拟磁盘驱动单元接收读请求之前,通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;和/或,使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块,以使所述资源管理模块重新枚举该虚拟磁盘。
17.根据权利要求15所述的装置,其特征在于,所述重定向模块包括:
确定子模块,用于接收到读请求后,确定自身对应的物理磁盘中的文件;
重定向子模块,用于用确定的物理磁盘文件的标识替换读请求中虚拟磁盘的标识,并发送该读请求至文件系统,以使文件系统接收到来自虚拟磁盘的读请求后,向与该读请求携带的物理磁盘文件标识对应的物理磁盘文件发送读请求,以从该物理磁盘文件中获取所述读请求所请求的数据。
18.根据权利要求15至17任一所述的装置,其特征在于,所述虚拟磁盘创建单元包括:初始化模块、处理模块和虚拟磁盘建立模块;其中,
初始化模块,用于对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
处理模块,用于在触发所述虚拟磁盘建立模块创建所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则触发所述初始化模块继续执行创建所述虚拟磁盘所需要的初始化工作,在检测到所述初始化模块完成所述初始化工作后,触发所述虚拟磁盘建立模块创建所述虚拟磁盘;
虚拟磁盘建立模块,用于在所述处理模块的触发下创建所述虚拟磁盘。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110283896.5A CN103020537B (zh) | 2011-09-22 | 2011-09-22 | 数据加密方法和装置、数据解密方法和装置 |
PCT/CN2012/076890 WO2013040915A1 (zh) | 2011-09-22 | 2012-06-14 | 文件加密方法和装置、文件解密方法和装置 |
CA2841606A CA2841606C (en) | 2011-09-22 | 2012-06-14 | File encryption method and device, file decryption method and device |
EP12833381.2A EP2759943B1 (en) | 2011-09-22 | 2012-06-14 | File encryption method and device, file decryption method and device |
KR1020147001351A KR20140027475A (ko) | 2011-09-22 | 2012-06-14 | 파일 암호화 방법과 장치, 파일 복호화 방법과 장치 |
NZ622859A NZ622859B2 (en) | 2011-09-22 | 2012-06-14 | File encryption method and device, file decryption method and device |
JP2014530078A JP2014530371A (ja) | 2011-09-22 | 2012-06-14 | ファイル暗号化方法及び装置、ファイル復号方法及び装置 |
US14/140,531 US9224002B2 (en) | 2011-09-22 | 2013-12-25 | Method and apparatus for file encryption/decryption |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110283896.5A CN103020537B (zh) | 2011-09-22 | 2011-09-22 | 数据加密方法和装置、数据解密方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103020537A true CN103020537A (zh) | 2013-04-03 |
CN103020537B CN103020537B (zh) | 2015-07-22 |
Family
ID=47913835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110283896.5A Active CN103020537B (zh) | 2011-09-22 | 2011-09-22 | 数据加密方法和装置、数据解密方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9224002B2 (zh) |
EP (1) | EP2759943B1 (zh) |
JP (1) | JP2014530371A (zh) |
KR (1) | KR20140027475A (zh) |
CN (1) | CN103020537B (zh) |
CA (1) | CA2841606C (zh) |
WO (1) | WO2013040915A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745170A (zh) * | 2014-01-02 | 2014-04-23 | 浙江云巢科技有限公司 | 磁盘数据的处理方法及装置 |
CN106685981A (zh) * | 2017-01-13 | 2017-05-17 | 北京元心科技有限公司 | 多系统的数据加密传输方法及装置 |
CN108182129A (zh) * | 2018-01-24 | 2018-06-19 | 杭州字节信息技术有限公司 | 一种基于移动终端镜像还原数据信息的数字取证系统及方法 |
CN108304695A (zh) * | 2018-01-30 | 2018-07-20 | 云易天成(北京)安全科技开发有限公司 | 面向文件外发的数据防泄漏控制方法、系统 |
CN109325355A (zh) * | 2018-01-11 | 2019-02-12 | 白令海 | 基于虚拟磁盘的移动终端数据安全存储方法 |
CN110598429A (zh) * | 2019-08-30 | 2019-12-20 | 百富计算机技术(深圳)有限公司 | 数据加密存储和读取的方法、终端设备及存储介质 |
CN111984554A (zh) * | 2020-07-31 | 2020-11-24 | 新华三技术有限公司成都分公司 | 一种数据处理方法及装置 |
CN113326526A (zh) * | 2021-06-23 | 2021-08-31 | 杭州弗兰科信息安全科技有限公司 | 一种数据访问方法、装置、设备及存储介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020537B (zh) | 2011-09-22 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 数据加密方法和装置、数据解密方法和装置 |
CN103516722B (zh) * | 2013-09-17 | 2016-08-17 | 亚欧宝龙信息安全技术(湖南)有限公司 | 一种用户级文件自动加解密方法及装置 |
US9904803B2 (en) * | 2015-03-25 | 2018-02-27 | Intel Corporation | Technologies for hardening data encryption with secure enclaves |
JP6270780B2 (ja) * | 2015-06-25 | 2018-01-31 | 横河レンタ・リース株式会社 | データ管理装置、データ管理方法、及びデータ管理プログラム |
US10097534B2 (en) * | 2015-08-28 | 2018-10-09 | Dell Products L.P. | System and method to redirect hardware secure USB storage devices in high latency VDI environments |
DE102016213104A1 (de) * | 2016-07-18 | 2018-01-18 | bitagentur GmbH & Co. KG | Token-basiertes Authentisieren mit signierter Nachricht |
CN111400778A (zh) * | 2020-03-12 | 2020-07-10 | 山东超越数控电子股份有限公司 | 一种虚拟磁盘文件的加密方法、系统、设备及介质 |
CN112214778A (zh) * | 2020-10-21 | 2021-01-12 | 上海英方软件股份有限公司 | 一种通过虚拟文件实现本地文件离散加密的方法及系统 |
KR102491403B1 (ko) * | 2021-09-02 | 2023-01-27 | 주식회사 엘지유플러스 | 물리적 복제 불가능 기능 기반 가입자 식별 모듈 보안 강화 방법 및 그를 위한 장치 및 시스템 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1373424A (zh) * | 2001-11-29 | 2002-10-09 | 上海格尔软件股份有限公司 | 在Windows环境下虚拟磁盘的方法 |
CN1553347A (zh) * | 2003-05-28 | 2004-12-08 | 联想(北京)有限公司 | 一种计算机数据保护方法 |
CN1794210A (zh) * | 2006-01-05 | 2006-06-28 | 北京中讯锐尔科技有限公司 | 移动存储设备的数据安全存储和处理方法 |
CN101398824A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现数据处理后存储的方法 |
CN101499038A (zh) * | 2008-01-30 | 2009-08-05 | 精品科技股份有限公司 | 可控存取资讯储存装置、资讯存取控制方法与资讯保护方法 |
CN101847184A (zh) * | 2009-12-16 | 2010-09-29 | 深圳市虹安信息技术有限公司 | 采用加密沙箱的文件加密方法 |
CN101853363A (zh) * | 2010-05-07 | 2010-10-06 | 北京飞天诚信科技有限公司 | 一种文件保护方法及系统 |
CN101877246A (zh) * | 2009-04-28 | 2010-11-03 | 许燕 | 加密u盘实现方法 |
CN102053925A (zh) * | 2009-11-04 | 2011-05-11 | 许燕 | 硬盘数据加密实现方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1063551A (ja) * | 1996-08-16 | 1998-03-06 | Nec Off Syst Ltd | 情報処理装置 |
KR100596135B1 (ko) * | 2004-02-24 | 2006-07-03 | 소프트캠프(주) | 가상 디스크를 이용한 응용 프로그램 별 접근통제시스템과 그 통제방법 |
US8386798B2 (en) * | 2008-12-23 | 2013-02-26 | Unisys Corporation | Block-level data storage using an outstanding write list |
JP5379520B2 (ja) * | 2009-02-27 | 2013-12-25 | サイエンスパーク株式会社 | ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム |
TWI411934B (zh) * | 2009-05-05 | 2013-10-11 | Via Tech Inc | 資料處理系統及其相關密碼管理方法及資料讀取與寫入方法 |
CN103020537B (zh) | 2011-09-22 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 数据加密方法和装置、数据解密方法和装置 |
-
2011
- 2011-09-22 CN CN201110283896.5A patent/CN103020537B/zh active Active
-
2012
- 2012-06-14 JP JP2014530078A patent/JP2014530371A/ja active Pending
- 2012-06-14 EP EP12833381.2A patent/EP2759943B1/en active Active
- 2012-06-14 KR KR1020147001351A patent/KR20140027475A/ko active Search and Examination
- 2012-06-14 CA CA2841606A patent/CA2841606C/en active Active
- 2012-06-14 WO PCT/CN2012/076890 patent/WO2013040915A1/zh active Application Filing
-
2013
- 2013-12-25 US US14/140,531 patent/US9224002B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1373424A (zh) * | 2001-11-29 | 2002-10-09 | 上海格尔软件股份有限公司 | 在Windows环境下虚拟磁盘的方法 |
CN1553347A (zh) * | 2003-05-28 | 2004-12-08 | 联想(北京)有限公司 | 一种计算机数据保护方法 |
CN1794210A (zh) * | 2006-01-05 | 2006-06-28 | 北京中讯锐尔科技有限公司 | 移动存储设备的数据安全存储和处理方法 |
CN101398824A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现数据处理后存储的方法 |
CN101499038A (zh) * | 2008-01-30 | 2009-08-05 | 精品科技股份有限公司 | 可控存取资讯储存装置、资讯存取控制方法与资讯保护方法 |
CN101877246A (zh) * | 2009-04-28 | 2010-11-03 | 许燕 | 加密u盘实现方法 |
CN102053925A (zh) * | 2009-11-04 | 2011-05-11 | 许燕 | 硬盘数据加密实现方法 |
CN101847184A (zh) * | 2009-12-16 | 2010-09-29 | 深圳市虹安信息技术有限公司 | 采用加密沙箱的文件加密方法 |
CN101853363A (zh) * | 2010-05-07 | 2010-10-06 | 北京飞天诚信科技有限公司 | 一种文件保护方法及系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745170B (zh) * | 2014-01-02 | 2017-01-04 | 浙江云巢科技有限公司 | 磁盘数据的处理方法及装置 |
CN103745170A (zh) * | 2014-01-02 | 2014-04-23 | 浙江云巢科技有限公司 | 磁盘数据的处理方法及装置 |
CN106685981A (zh) * | 2017-01-13 | 2017-05-17 | 北京元心科技有限公司 | 多系统的数据加密传输方法及装置 |
CN106685981B (zh) * | 2017-01-13 | 2021-03-23 | 北京元心科技有限公司 | 多系统的数据加密传输方法及装置 |
CN109325355A (zh) * | 2018-01-11 | 2019-02-12 | 白令海 | 基于虚拟磁盘的移动终端数据安全存储方法 |
CN108182129A (zh) * | 2018-01-24 | 2018-06-19 | 杭州字节信息技术有限公司 | 一种基于移动终端镜像还原数据信息的数字取证系统及方法 |
CN108182129B (zh) * | 2018-01-24 | 2020-08-07 | 杭州字节信息技术有限公司 | 一种基于移动终端镜像还原数据信息的数字取证系统及方法 |
CN108304695A (zh) * | 2018-01-30 | 2018-07-20 | 云易天成(北京)安全科技开发有限公司 | 面向文件外发的数据防泄漏控制方法、系统 |
CN110598429A (zh) * | 2019-08-30 | 2019-12-20 | 百富计算机技术(深圳)有限公司 | 数据加密存储和读取的方法、终端设备及存储介质 |
CN110598429B (zh) * | 2019-08-30 | 2021-07-13 | 百富计算机技术(深圳)有限公司 | 数据加密存储和读取的方法、终端设备及存储介质 |
CN111984554A (zh) * | 2020-07-31 | 2020-11-24 | 新华三技术有限公司成都分公司 | 一种数据处理方法及装置 |
CN111984554B (zh) * | 2020-07-31 | 2023-03-28 | 新华三技术有限公司成都分公司 | 一种数据处理方法及装置 |
CN113326526A (zh) * | 2021-06-23 | 2021-08-31 | 杭州弗兰科信息安全科技有限公司 | 一种数据访问方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9224002B2 (en) | 2015-12-29 |
CA2841606A1 (en) | 2013-03-28 |
US20140108795A1 (en) | 2014-04-17 |
EP2759943A4 (en) | 2015-04-22 |
CA2841606C (en) | 2017-03-21 |
KR20140027475A (ko) | 2014-03-06 |
EP2759943B1 (en) | 2020-12-30 |
JP2014530371A (ja) | 2014-11-17 |
WO2013040915A1 (zh) | 2013-03-28 |
CN103020537B (zh) | 2015-07-22 |
EP2759943A1 (en) | 2014-07-30 |
NZ622859A (en) | 2015-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103020537B (zh) | 数据加密方法和装置、数据解密方法和装置 | |
US10708051B2 (en) | Controlled access to data in a sandboxed environment | |
KR101760617B1 (ko) | 컴퓨터 프로그램, 비밀관리방법 및 시스템 | |
US11695806B2 (en) | Intercepting calls for encryption handling in persistent access multi-key systems | |
US20170277898A1 (en) | Key management for secure memory address spaces | |
US9619161B2 (en) | Storage system having security storage device and management system therefor | |
WO2017190084A1 (en) | Offloading storage encryption operations | |
US20140129848A1 (en) | Method and Apparatus for Writing and Reading Hard Disk Data | |
US9182982B1 (en) | Techniques for creating an encrypted virtual hard disk | |
CN103617399A (zh) | 一种数据文件保护方法及装置 | |
WO2017129660A1 (en) | Secure data storage | |
JP2004295358A (ja) | 情報処理装置、その暗号処理システム及び外部記憶装置の制御方法 | |
CN108229190B (zh) | 透明加解密的控制方法、装置、程序、存储介质和电子设备 | |
CN103605934B (zh) | 一种可执行文件的保护方法及装置 | |
CN112749383A (zh) | 软件认证方法和相关产品 | |
JP2009064055A (ja) | 計算機システム及びセキュリティ管理方法 | |
US12058259B2 (en) | Data storage device encryption | |
US11995223B2 (en) | Data storage device encryption | |
NZ622859B2 (en) | File encryption method and device, file decryption method and device | |
KR102297476B1 (ko) | 응용 프로그램의 자원을 보호하는 방법 및 장치 | |
US8578142B2 (en) | System and method for shared data storage | |
CN109190416A (zh) | 一种优盘数据加密摆渡机及摆渡方法 | |
KR20150031939A (ko) | 메모리의 보안 설정 방법 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230913 Address after: 100090 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 2, 518044, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |