CN103020537B - 数据加密方法和装置、数据解密方法和装置 - Google Patents

数据加密方法和装置、数据解密方法和装置 Download PDF

Info

Publication number
CN103020537B
CN103020537B CN201110283896.5A CN201110283896A CN103020537B CN 103020537 B CN103020537 B CN 103020537B CN 201110283896 A CN201110283896 A CN 201110283896A CN 103020537 B CN103020537 B CN 103020537B
Authority
CN
China
Prior art keywords
virtual disk
disk
file
data
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.)
Active
Application number
CN201110283896.5A
Other languages
English (en)
Other versions
CN103020537A (zh
Inventor
毕廷礼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to CN201110283896.5A priority Critical patent/CN103020537B/zh
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to JP2014530078A priority patent/JP2014530371A/ja
Priority to CA2841606A priority patent/CA2841606C/en
Priority to NZ622859A priority patent/NZ622859B2/en
Priority to KR1020147001351A priority patent/KR20140027475A/ko
Priority to PCT/CN2012/076890 priority patent/WO2013040915A1/zh
Priority to EP12833381.2A priority patent/EP2759943B1/en
Publication of CN103020537A publication Critical patent/CN103020537A/zh
Priority to US14/140,531 priority patent/US9224002B2/en
Application granted granted Critical
Publication of CN103020537B publication Critical patent/CN103020537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2113Multi-level security, e.g. mandatory access control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier

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 (14)

1.一种数据加密方法,其特征在于,创建与物理磁盘对应的虚拟磁盘,所述虚拟磁盘在内核态可见,具有唯一的标识;该方法包括:
通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;
使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块,以使所述资源管理模块重新枚举该虚拟磁盘;
所述虚拟磁盘接收来自文件系统的写请求,对写请求携带的数据进行加密,并通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。
2.根据权利要求1所述的方法,其特征在于,所述文件系统通过以下步骤发送写请求给虚拟磁盘包括:
文件系统在内核态接收来自用户态的写请求,判断出所述写请求携带了所述虚拟磁盘的标识,则将所述写请求发送至所述虚拟磁盘。
3.根据权利要求1所述的方法,其特征在于,所述虚拟磁盘通知文件系统将加密后的数据写入至对应的物理磁盘包括:所述虚拟磁盘确定自身对应的物理磁盘中的文件,用确定的物理磁盘文件的标识替换写请求中虚拟磁盘的标识,之后发送写请求至文件系统;
所述文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘包括:所述文件系统接收到来自虚拟磁盘的写请求后,将该写请求中加密后的数据写入至写请求中物理磁盘文件标识对应的物理磁盘文件。
4.根据权利要求1至3任一所述的方法,其特征在于,所述创建虚拟磁盘包括:
对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
在创建所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则执行创建所述虚拟磁盘所需要的初始化工作,在完成初始化后使用用于创建虚拟磁盘的控件创建虚拟磁盘。
5.一种文件解密方法,其特征在于,创建与物理磁盘对应的虚拟磁盘,所述虚拟磁盘在内核态可见,具有唯一的标识;该方法包括:
通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;
使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块,以使所述资源管理模块重新枚举该虚拟磁盘;
A,所述虚拟磁盘将接收的来自文件系统的读请求重定向至物理磁盘,以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
B,所述虚拟磁盘接收文件系统从所述物理磁盘获取的数据,并对接收的数据进行解密,将解密后的数据发送给文件系统,由文件系统提供解密后的数据给用户端。
6.根据权利要求5所述的方法,其特征在于,步骤A中,文件系统通过以下步骤发送读请求至虚拟磁盘:
文件系统在内核态接收来自用户态的读请求,判断出所述读请求携带了所述虚拟磁盘的标识,则将所述读请求发送至所述虚拟磁盘。
7.根据权利要求5所述的方法,其特征在于,步骤A包括:
所述虚拟磁盘接收到读请求后,确定自身对应的物理磁盘中的文件,用确定的物理磁盘文件的标识替换读请求中虚拟磁盘的标识,并发送该读请求至文件系统;
所述文件系统接收到来自虚拟磁盘的读请求后,向与该读请求携带的物理磁盘文件标识对应的物理磁盘文件发送读请求,以从该物理磁盘文件中获取所述读请求所请求的数据。
8.根据权利要求5至7任一所述的方法,其特征在于,所述创建虚拟磁盘包括:
对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
在建立所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则执行创建所述虚拟磁盘所需要的初始化工作,在完成初始化后使用用于创建虚拟磁盘的控件创建虚拟磁盘。
9.一种文件加密装置,其特征在于,该装置包括:
虚拟磁盘创建单元,用于创建与物理磁盘对应的虚拟磁盘,所述虚拟磁盘在内核态可见,具有唯一的标识;
虚拟磁盘驱动单元,用于接收来自文件系统的写请求,对写请求携带的数据进行加密,并通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘;
虚拟磁盘通知单元,用于在所述虚拟磁盘创建单元创建虚拟磁盘之后、且在虚拟磁盘驱动单元接收写请求之前,通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;以及,使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块,以使所述资源管理模块重新枚举该虚拟磁盘。
10.根据权利要求9所述的装置,其特征在于,所述虚拟磁盘驱动单元包括:
接收模块,用于接收来自文件系统的写请求;
加密模块,用于对写请求携带的数据进行加密;
重定向模块,用于确定所述虚拟磁盘对应的物理磁盘中的文件,用确定的物理磁盘文件的标识替换写请求中虚拟磁盘的标识,之后发送写请求至文件系统,以使所述文件系统接收到来自虚拟磁盘的写请求后,将该写请求中加密后的数据写入至写请求中物理磁盘文件标识对应的物理磁盘文件。
11.根据权利要求9或10所述的装置,其特征在于,所述虚拟磁盘创建单元包括:初始化模块、处理模块和虚拟磁盘建立模块;其中,
初始化模块,用于对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
处理模块,用于在触发所述虚拟磁盘建立模块创建所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则触发所述初始化模块继续执行创建所述虚拟磁盘所需要的初始化工作,在检测到所述初始化模块完成所述初始化工作后,触发所述虚拟磁盘建立模块创建所述虚拟磁盘;
虚拟磁盘建立模块,用于在所述处理模块的触发下创建所述虚拟磁盘。
12.一种文件解密装置,其特征在于,该装置包括:
虚拟磁盘创建单元,用于创建与物理磁盘对应的虚拟磁盘,所述虚拟磁盘在内核态可见,具有唯一的标识;
虚拟磁盘驱动单元,包括:重定向模块和解密模块;其中,
所述重定向模块,用于将接收的来自文件系统的读请求重定向至物理磁盘,以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
解密模块,用于接收文件系统从所述物理磁盘获取的数据,并对接收的数据进行解密,将解密后的数据发送给文件系统,由文件系统提供解密后的数据给用户端;
虚拟磁盘通知单元,用于在所述虚拟磁盘创建单元创建虚拟磁盘之后、且在虚拟磁盘驱动单元接收读请求之前,通知所述虚拟磁盘至Windows下的磁盘挂载管理模块;以及,使用广播消息通知所述虚拟磁盘至Windows下的资源管理模块,以使所述资源管理模块重新枚举该虚拟磁盘。
13.根据权利要求12所述的装置,其特征在于,所述重定向模块包括:
确定子模块,用于接收到读请求后,确定自身对应的物理磁盘中的文件;
重定向子模块,用于用确定的物理磁盘文件的标识替换读请求中虚拟磁盘的标识,并发送该读请求至文件系统,以使文件系统接收到来自虚拟磁盘的读请求后,向与该读请求携带的物理磁盘文件标识对应的物理磁盘文件发送读请求,以从该物理磁盘文件中获取所述读请求所请求的数据。
14.根据权利要求12或13所述的装置,其特征在于,所述虚拟磁盘创建单元包括:初始化模块、处理模块和虚拟磁盘建立模块;其中,
初始化模块,用于对所述虚拟磁盘所对应的物理磁盘中的文件进行初始化;
处理模块,用于在触发所述虚拟磁盘建立模块创建所述虚拟磁盘时,要求用户提供使用所述物理磁盘文件的密钥,并验证用户提供的密钥,如果验证通过,则触发所述初始化模块继续执行创建所述虚拟磁盘所需要的初始化工作,在检测到所述初始化模块完成所述初始化工作后,触发所述虚拟磁盘建立模块创建所述虚拟磁盘;
虚拟磁盘建立模块,用于在所述处理模块的触发下创建所述虚拟磁盘。
CN201110283896.5A 2011-09-22 2011-09-22 数据加密方法和装置、数据解密方法和装置 Active CN103020537B (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201110283896.5A CN103020537B (zh) 2011-09-22 2011-09-22 数据加密方法和装置、数据解密方法和装置
CA2841606A CA2841606C (en) 2011-09-22 2012-06-14 File encryption method and device, file decryption method and device
NZ622859A NZ622859B2 (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 파일 암호화 방법과 장치, 파일 복호화 방법과 장치
JP2014530078A JP2014530371A (ja) 2011-09-22 2012-06-14 ファイル暗号化方法及び装置、ファイル復号方法及び装置
PCT/CN2012/076890 WO2013040915A1 (zh) 2011-09-22 2012-06-14 文件加密方法和装置、文件解密方法和装置
EP12833381.2A EP2759943B1 (en) 2011-09-22 2012-06-14 File encryption method and device, file decryption method and device
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 CN103020537A (zh) 2013-04-03
CN103020537B true 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)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020537B (zh) 2011-09-22 2015-07-22 腾讯科技(深圳)有限公司 数据加密方法和装置、数据解密方法和装置
CN103516722B (zh) * 2013-09-17 2016-08-17 亚欧宝龙信息安全技术(湖南)有限公司 一种用户级文件自动加解密方法及装置
CN103745170B (zh) * 2014-01-02 2017-01-04 浙江云巢科技有限公司 磁盘数据的处理方法及装置
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
CN106685981B (zh) * 2017-01-13 2021-03-23 北京元心科技有限公司 多系统的数据加密传输方法及装置
CN109325355A (zh) * 2018-01-11 2019-02-12 白令海 基于虚拟磁盘的移动终端数据安全存储方法
CN108182129B (zh) * 2018-01-24 2020-08-07 杭州字节信息技术有限公司 一种基于移动终端镜像还原数据信息的数字取证系统及方法
CN108304695A (zh) * 2018-01-30 2018-07-20 云易天成(北京)安全科技开发有限公司 面向文件外发的数据防泄漏控制方法、系统
CN110598429B (zh) * 2019-08-30 2021-07-13 百富计算机技术(深圳)有限公司 数据加密存储和读取的方法、终端设备及存储介质
CN111400778A (zh) * 2020-03-12 2020-07-10 山东超越数控电子股份有限公司 一种虚拟磁盘文件的加密方法、系统、设备及介质
CN111984554B (zh) * 2020-07-31 2023-03-28 新华三技术有限公司成都分公司 一种数据处理方法及装置
CN112214778A (zh) * 2020-10-21 2021-01-12 上海英方软件股份有限公司 一种通过虚拟文件实现本地文件离散加密的方法及系统
CN113326526B (zh) * 2021-06-23 2023-04-25 杭州弗兰科信息安全科技有限公司 一种数据访问方法、装置、设备及存储介质
KR102491403B1 (ko) * 2021-09-02 2023-01-27 주식회사 엘지유플러스 물리적 복제 불가능 기능 기반 가입자 식별 모듈 보안 강화 방법 및 그를 위한 장치 및 시스템

Citations (5)

* Cited by examiner, † Cited by third party
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 联想(北京)有限公司 一种计算机数据保护方法
CN101499038A (zh) * 2008-01-30 2009-08-05 精品科技股份有限公司 可控存取资讯储存装置、资讯存取控制方法与资讯保护方法
CN101847184A (zh) * 2009-12-16 2010-09-29 深圳市虹安信息技术有限公司 采用加密沙箱的文件加密方法
CN101853363A (zh) * 2010-05-07 2010-10-06 北京飞天诚信科技有限公司 一种文件保护方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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 소프트캠프(주) 가상 디스크를 이용한 응용 프로그램 별 접근통제시스템과 그 통제방법
CN1794210A (zh) * 2006-01-05 2006-06-28 北京中讯锐尔科技有限公司 移动存储设备的数据安全存储和处理方法
CN101398824A (zh) * 2007-09-26 2009-04-01 新奥特硅谷视频技术有限责任公司 利用虚拟文件系统技术实现数据处理后存储的方法
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 サイエンスパーク株式会社 ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム
CN101877246A (zh) * 2009-04-28 2010-11-03 许燕 加密u盘实现方法
TWI411934B (zh) * 2009-05-05 2013-10-11 Via Tech Inc 資料處理系統及其相關密碼管理方法及資料讀取與寫入方法
CN102053925A (zh) * 2009-11-04 2011-05-11 许燕 硬盘数据加密实现方法
CN103020537B (zh) 2011-09-22 2015-07-22 腾讯科技(深圳)有限公司 数据加密方法和装置、数据解密方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 联想(北京)有限公司 一种计算机数据保护方法
CN101499038A (zh) * 2008-01-30 2009-08-05 精品科技股份有限公司 可控存取资讯储存装置、资讯存取控制方法与资讯保护方法
CN101847184A (zh) * 2009-12-16 2010-09-29 深圳市虹安信息技术有限公司 采用加密沙箱的文件加密方法
CN101853363A (zh) * 2010-05-07 2010-10-06 北京飞天诚信科技有限公司 一种文件保护方法及系统

Also Published As

Publication number Publication date
WO2013040915A1 (zh) 2013-03-28
US20140108795A1 (en) 2014-04-17
EP2759943B1 (en) 2020-12-30
JP2014530371A (ja) 2014-11-17
NZ622859A (en) 2015-05-29
KR20140027475A (ko) 2014-03-06
CA2841606A1 (en) 2013-03-28
CN103020537A (zh) 2013-04-03
CA2841606C (en) 2017-03-21
US9224002B2 (en) 2015-12-29
EP2759943A1 (en) 2014-07-30
EP2759943A4 (en) 2015-04-22

Similar Documents

Publication Publication Date Title
CN103020537B (zh) 数据加密方法和装置、数据解密方法和装置
US11669637B2 (en) Decentralized token table generation
US9171145B2 (en) Protecting cryptographic secrets using file system attributes
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US20190238323A1 (en) Key managers for distributed computing systems using key sharing techniques
CN102271037B (zh) 基于在线密钥的密钥保护装置
US20130173916A1 (en) Secure storage system for distributed data
CN105260668A (zh) 一种文件加密方法及电子设备
CN1592877A (zh) 用于对大容量存储设备上数据加密/解密的方法和装置
WO2014162264A1 (en) Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters
CN103294969A (zh) 文件系统挂载方法和装置
CN111310213A (zh) 一种业务数据保护方法、装置、设备及可读存储介质
CN105468940A (zh) 软件保护方法及装置
CN108491724A (zh) 一种基于硬件的计算机接口加密装置及方法
CN104933361A (zh) 一种登录密码的保护装置及方法
CN111177773A (zh) 一种基于网卡rom的全盘加解密方法及系统
CN113545021B (zh) 预先授权设备的注册
Loftus et al. Android 7 file based encryption and the attacks against it
TWI789291B (zh) 用於認證在儲存裝置和主機裝置之間的資料傳輸之模組和方法
CN113316915B (zh) 解锁数据存储设备
CN102831080A (zh) 一种移动存储设备的数据安全防护方法
CN104951407A (zh) 一种可加密u盘及其加密方法
CN101763485A (zh) 数据保护方法
KR101703847B1 (ko) 휴대용 단말에서 컨텐츠를 보호하는 방법, 상기 방법을 컴퓨터 프로그램으로 기록하기 위한 기록매체, 및 휴대단말 보안 시스템
CN108171086A (zh) 一种基于硬件加密卡的硬盘分区加密方法

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