WO2013040915A1 - 文件加密方法和装置、文件解密方法和装置 - Google Patents

文件加密方法和装置、文件解密方法和装置 Download PDF

Info

Publication number
WO2013040915A1
WO2013040915A1 PCT/CN2012/076890 CN2012076890W WO2013040915A1 WO 2013040915 A1 WO2013040915 A1 WO 2013040915A1 CN 2012076890 W CN2012076890 W CN 2012076890W WO 2013040915 A1 WO2013040915 A1 WO 2013040915A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual disk
disk
file
file system
virtual
Prior art date
Application number
PCT/CN2012/076890
Other languages
English (en)
French (fr)
Inventor
毕廷礼
Original Assignee
腾讯科技(深圳)有限公司
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
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to KR1020147001351A priority Critical patent/KR20140027475A/ko
Priority to NZ622859A priority patent/NZ622859B2/en
Priority to EP12833381.2A priority patent/EP2759943B1/en
Priority to CA2841606A priority patent/CA2841606C/en
Publication of WO2013040915A1 publication Critical patent/WO2013040915A1/zh
Priority to US14/140,531 priority patent/US9224002B2/en

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

Definitions

  • the present invention relates to data processing techniques, and more particularly to file encryption methods and apparatus, file decryption methods and apparatus. Background technique
  • file encryption technologies are: direct encryption, file transparent encryption, and system-owned encryption. Although these three encryption technologies can achieve encryption, they all have their own shortcomings.
  • Direct encryption which is used to directly encrypt files on the disk, representing WinRar.
  • the disadvantage of this direct encryption is: Manual decryption before each use of the file, and manual encryption after use, very dependent on manual operation, more complicated and cumbersome.
  • the file is transparently encrypted. It uses the Windows filter driver to dynamically encrypt and decrypt files, which overcomes the shortcomings of direct encryption and manual encryption.
  • this file transparent encryption has the following disadvantages: Since the Windows filter driver used is on top of the Windows file system driver, the use of the Windows filter driver requires extensive filtering of all file operations, which seriously affects system performance.
  • a file encryption method includes: creating a virtual disk; the method further includes:
  • the virtual disk receives a write request from the file system, encrypts data carried by the write request, and notifies the file system to write the encrypted data to the corresponding physical disk, so that the file system receives the notification from the virtual disk. Write the encrypted data to the corresponding physical disk.
  • a file decryption method includes: creating a virtual disk; the method further includes:
  • the virtual disk redirects the received read request from the file system to the physical disk, so that the file system obtains the data requested by the read request from the physical disk;
  • the virtual disk receives data acquired by the file system from the physical disk, and decrypts the received data, and sends the decrypted data to the file system, and the file system provides the decrypted data to the user end.
  • a file encryption device comprising:
  • a virtual disk creation unit for creating a virtual disk
  • a virtual disk drive unit configured to receive a write request from the file system, encrypt the data carried by the write request, and notify the file system to write the encrypted data to the corresponding physical disk, so that the file system receives the virtual disk. After the notification, the encrypted data is written to the corresponding physical disk.
  • a file decryption device comprising:
  • a virtual disk creation unit for creating a virtual disk
  • a virtual disk drive unit comprising: a redirection module and a decryption module;
  • the redirection module is configured to redirect the received read request from the file system to the physical disk, so that the file system obtains the data requested by the read request from the physical disk;
  • the decryption module is configured to receive data acquired by the file system from the physical disk, decrypt the received data, and send the decrypted data to the file system, where the file system provides the decrypted data to the user end.
  • the virtual disk is used to encrypt the data in the write request, and the virtual disk is used to decrypt the data requested by the read request, thereby improving the reliability, security and effectiveness of the file encryption.
  • FIG. 1 is a flowchart of a method for establishing a virtual disk according to an embodiment of the present invention
  • Embodiment 1 of the present invention is a basic flowchart provided by Embodiment 1 of the present invention.
  • Embodiment 3 is a detailed flowchart provided by Embodiment 1 of the present invention.
  • FIG. 4 is a structural diagram of a device according to Embodiment 1 of the present invention.
  • FIG. 5 is a basic flowchart of Embodiment 2 of the present invention.
  • FIG. 6 is a detailed flowchart of Embodiment 2 of the present invention.
  • Figure 7 is a structural diagram of a device according to Embodiment 2 of the present invention.
  • the file encryption method and device, the file decryption method and the device provided by the present invention are all based on a Windows virtual disk, wherein the virtual disk is substantially similar to the existing physical disk, and refers to a volume (Volume) in Windows, and at least one device. correspond.
  • FIG. 1 is a flowchart of a method for establishing a virtual disk according to an embodiment of the present invention. As shown in Figure 1, the process can include the following steps:
  • Step 101 Initialize a file of a physical disk corresponding to the virtual disk to be created.
  • the file of the physical disk corresponding to the virtual disk may be manually pre-configured, and the file is suffixed as "*.qbox", and is used to store data written to the virtual disk. That is, when writing data to the virtual disk, the data needs to be redirected to the file of the physical disk corresponding to the virtual disk; when a read request is sent to the virtual disk to read the data, the read request needs to be heavy. A file directed to the physical disk corresponding to the virtual disk to obtain the data requested by the read request.
  • Step 102 When the virtual disk is established, the user is required to provide a key for using the physical disk file, and verify the key provided by the user. If the verification succeeds, step 103 is performed, and the process returns to step 102. Or end the current process.
  • Step 103 Create the virtual disk.
  • the step 103 may include the following steps:
  • Step 1 Initialize the driver running in the kernel, so that the driver is subsequently driven as a virtual disk to process read requests and write requests for the virtual disk.
  • the driver can be: A type of Windows executable file with the suffix ".sys".
  • Step 2 Initialize the kernel encryption and decryption threads.
  • the thread is the basic unit of Windows task scheduling.
  • the kernel encryption thread is a thread running in the system kernel space for encryption.
  • the kernel decryption thread is a thread running in the system kernel space for decryption.
  • Steps 1 and 2 are only examples of the initialization work required to create a virtual disk under Windows. In different Windows environments, the initialization work required to create a virtual disk is different, and the present invention is not specific. limited.
  • Step 3 Create a virtual disk using the controls used to create the virtual disk.
  • control used to create the virtual disk can be implemented as the IoCteateDevice control under Windows.
  • the virtual disk created in step 3 has a unique identifier, such as ⁇ Device ⁇ HarddiskVolume2, and also has a corresponding device type, such as FILE_DEVICE_DISK, which is used to indicate that it is a disk device.
  • a drive letter in order to make the virtual disk visible in the user mode, can be assigned to the virtual disk using a drive letter assignment control such as IoCreateSymbolicLink under Windows. Also, in order to be able to see the assigned drive letter in "My Computer" of Windows, the present invention also needs to arrange a symbolic connection for this device.
  • the present embodiment 1 describes a file encryption method based on the virtual disk described above.
  • FIG. 2 is a basic flowchart of Embodiment 1 of the present invention. As shown in Figure 2, the process can include the following steps:
  • Step 201 The virtual disk receives a write request from the file system, and encrypts data carried by the write request.
  • Step 202 The virtual disk notifies the file system to write the encrypted data to the corresponding physical disk, so that the file system receives the notification from the virtual disk and writes the encrypted data to the corresponding physical disk.
  • FIG. 3 is a detailed flowchart of Embodiment 1 of the present invention. As shown in Figure 3, the process can include the following steps:
  • Step 301 The user sends a write request in the user mode by using a control for issuing a write request, such as WriteFile.
  • the write request carries the identity of the virtual disk and the data written to the virtual disk.
  • the user mode is used to indicate that the write request issued in step 301 is performed in the user space.
  • Step 302 The file system receives a write request from the user state in the kernel mode, and finds that the write request carries the identifier of the virtual disk, and sends the write request to the virtual disk.
  • the file system in the first embodiment may be a file system driver (FSD) or other module having similar functions.
  • FSD file system driver
  • the kernel mode is used to indicate that the file system receiving the write request in step 302 is performed in the kernel space.
  • Step 303 The virtual disk receives a write request from the file system, and encrypts data carried by the write request.
  • This step 303 is specifically performed by the driver of the virtual disk.
  • the current mainstream encryption algorithms are mainly divided into stream encryption algorithms and block encryption algorithms.
  • block encryption algorithms have minimum encryption length and alignment requirements, and the minimum encryption length is usually 2 to the power of N, such as 8 Bytes or 16 bytes or 32 bytes, so the minimum read and write units of the disk just guarantee that the boundaries are aligned, and there is no need to add invalid data in order to use block encryption.
  • N such as 8 Bytes or 16 bytes or 32 bytes
  • the minimum read and write units of the disk just guarantee that the boundaries are aligned, and there is no need to add invalid data in order to use block encryption.
  • the embodiment of the present invention may use the AES encryption algorithm with a higher security level in the block encryption algorithm to perform data encryption.
  • Step 304 The virtual disk determines a file in the physical disk corresponding to the virtual disk, replaces the identifier of the virtual disk in the write request with the identifier of the determined physical disk file, and then sends a write request to the file system.
  • the physical disk file determined in this step 304 is the initialized file described in step 101 above.
  • this step 304 is specifically performed by the drive of the virtual disk.
  • sending a write request to the file system is implemented by the virtual disk drive using a control such as ZWWriteFile for issuing a write request.
  • Step 305 After receiving the write request from the virtual disk, the file system writes the encrypted data in the write request to the physical disk file corresponding to the physical disk file identifier in the write request.
  • the first embodiment uses the virtual disk of the kernel state to encrypt the data, which is invisible to the user in the user state, so that even if the user logs in to Windows, the data cannot be read at will. Reliable encryption.
  • the data is encrypted only by the virtual disk, and the normal read/write performance is not affected, and the system performance is hardly affected.
  • Embodiment 1 further provides a file encryption device.
  • FIG. 4 is a structural diagram of a device according to Embodiment 1 of the present invention. As shown in Figure 4, the device includes:
  • a virtual disk creation unit for creating a virtual disk
  • a virtual disk drive unit configured to receive a write request from the file system, encrypt the data carried by the write request, and notify the file system to write the encrypted data to the corresponding physical disk, so that the file system receives the virtual disk. After the notification, the encrypted data is written to the corresponding physical disk.
  • the virtual disk is visible in the kernel mode and has a unique identifier; and, preferably, as shown in FIG. 4, the device further includes:
  • a virtual disk notification unit after the virtual disk creation unit creates a virtual disk, And before the virtual disk drive unit receives the write request, notifying the virtual disk to the disk mount management module under Windows; and/or, using a broadcast message to notify the virtual disk to the resource management module Explorer under Windows, so as to make The resource management module re-enumerates the virtual disk.
  • the virtual disk drive unit includes:
  • a receiving module configured to receive a write request from a file system
  • An encryption module configured to encrypt data carried by the write request
  • a redirection module configured to determine a file in the physical disk corresponding to the virtual disk, replace the identifier of the virtual disk in the write request with the identifier of the determined physical disk file, and then send a write request to the file system, so that the file system After receiving the write request from the virtual disk, the encrypted data in the write request is written to the physical disk file corresponding to the physical disk file identifier in the write request.
  • the virtual disk creation unit includes: an initialization module, a processing module, and a virtual disk creation module;
  • An initialization module configured to initialize a file in a physical disk corresponding to the virtual disk
  • a processing module configured to: when the virtual disk creation module is triggered to create the virtual disk, request a user to provide a key for using the physical disk file, and verify a key provided by the user, and if the verification passes, trigger the initialization
  • the module continues to perform the initialization work required to create the virtual disk, and after detecting that the initialization module completes the initialization work, triggering the virtual disk creation module to create the virtual disk;
  • a virtual disk creation module configured to create the virtual disk under the trigger of the processing module. So far, the device description provided in Embodiment 1 is completed.
  • Embodiment 2 The following describes Embodiment 2:
  • the second embodiment describes the file decryption method based on the virtual disk described above.
  • FIG. 5 is a basic flowchart provided by Embodiment 2 of the present invention. As shown in Figure 5, the process can include the following steps:
  • Step 501 The virtual disk redirects the read request received from the file system to the physical disk. Causing the file system to retrieve data requested by the read request from the physical disk.
  • Step 502 The virtual disk receives data acquired by the file system from the physical disk, decrypts the received data, and sends the decrypted data to the file system, where the file system provides the decrypted data to the user end.
  • Figure 6 is a detailed flowchart of Embodiment 2 of the present invention. As shown in Figure 6, the process can include the following steps:
  • Step 601 The user issues a read request in the user mode by using a control such as ReadFile for issuing a read request.
  • a control such as ReadFile for issuing a read request.
  • the read request carries the identity of the virtual disk.
  • Step 602 The file system receives a read request from the user state in the kernel mode, determines that the read request carries the identifier of the virtual disk, and sends the read request to the virtual disk.
  • the file system in the second embodiment may be an FSD or other module having similar functions.
  • Step 603 After receiving the read request from the file system, the virtual disk determines the file in the physical disk corresponding to the virtual disk.
  • the physical disk file determined in this step 603 is the initialized file described in the above step 101.
  • this step 603 is specifically performed by the drive of the virtual disk.
  • Step 604 The virtual disk replaces the identifier of the virtual disk in the read request with the identifier of the determined physical disk file, and sends the read request to the file system.
  • the sending of this step 604 can be implemented by a virtual disk drive using a control such as ZWReadFile for issuing a read request.
  • Step 605 After receiving the read request from the virtual disk, the file system sends a read request to the physical disk file corresponding to the physical disk file identifier carried by the read request, to obtain the request requested by the read request from the physical disk file. data. Based on the description of Embodiment 1, it can be known that, in this step 605, the data acquired by the file system is encrypted data.
  • Step 606 The virtual disk receives data acquired by the file system from the physical disk, and decrypts the received data, and sends the decrypted data to the file system.
  • the algorithm for decrypting in this step 606 corresponds to the encryption algorithm in Embodiment 1, and may also be an AES decryption algorithm with a higher security level.
  • Step 607 The file system provides the decrypted data to the client.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
  • FIG. 7 is a structural diagram of a device according to Embodiment 2 of the present invention. As shown in Figure 7, the device includes:
  • a virtual disk creation unit for creating a virtual disk
  • a virtual disk drive unit comprising: a redirection module and a decryption module;
  • the redirection module is configured to redirect the received read request from the file system to the physical disk, so that the file system obtains the data requested by the read request from the physical disk;
  • the decryption module is configured to receive data acquired by the file system from the physical disk, decrypt the received data, and send the decrypted data to the file system, where the file system provides the decrypted data to the user end.
  • the virtual disk is visible in the kernel mode and has a unique identifier; and, as shown in FIG. 7, the device further includes:
  • a virtual disk notification unit configured to notify the virtual disk to the Windows after the virtual disk creation unit creates the virtual disk and before the virtual disk drive unit receives the read request a disk mount management module; and/or, using a broadcast message to notify the virtual disk to a resource management module under Windows, so that the resource management module re-enumerates the virtual disk.
  • the redirection module may include:
  • Determining a sub-module configured to determine a file in a physical disk corresponding to the read request, and a redirecting sub-module, configured to replace the identifier of the virtual disk in the read request with the identifier of the determined physical disk file, and send the read Requesting to the file system, so that after receiving the read request from the virtual disk, the file system sends a read request to the physical disk file corresponding to the physical disk file identifier carried by the read request, to obtain the read from the physical disk file. Request the requested data.
  • the virtual disk creation unit includes: an initialization module, a processing module, and a virtual disk creation module;
  • An initialization module configured to initialize a file in a physical disk corresponding to the virtual disk
  • a processing module configured to: when the virtual disk creation module is triggered to create the virtual disk, request a user to provide a key for using the physical disk file, and verify a key provided by the user, and if the verification passes, trigger the initialization
  • the module continues to perform the initialization work required to create the virtual disk, and after detecting that the initialization module completes the initialization work, triggering the virtual disk creation module to create the virtual disk;
  • a virtual disk creation module configured to create the virtual disk under the trigger of the processing module. So far, the device description provided in Embodiment 2 is completed.
  • the virtual disk is used to encrypt the data in the write request, and the virtual disk is used to decrypt the data requested by the read request, thereby improving the reliability, security and effectiveness of the file encryption. Sex.
  • the file encryption method and device, the file decryption method and device of the invention use the virtual disk to encrypt the data in the write request and decrypt the data requested by the read request by using the virtual disk, thereby improving the reliability and security of the file encryption. And effectiveness.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种文件加密方法和装置、文件解密方法和装置。其中,文件加密方法包括:创建虚拟磁盘;所述虚拟磁盘接收来自文件系统的写请求,对写请求携带的数据进行加密,并通知文件系统将加密后的数据写入至对应的物理磁盘,以使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。本发明的文件加密方法和装置、文件解密方法和装置利用虚拟磁盘对写请求中的数据进行加密、以及利用虚拟磁盘对读请求所请求的数据进行解密,可以实现可靠、安全、有效的文件加密。

Description

文件加密方法和装置、 文件解密方法和装置 本申请要求于 2011 年 9 月 22 日提交中国专利局、 申请号为 2011102838965、 发明名称为 "数据加密方法和装置、 数据解密方法和装置" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域
本发明涉及数据处理技术, 特别涉及文件加密方法和装置、 文件解密方 法和装置。 背景技术
目前, 比较常用的文件加密技术主要有: 直接加密、 文件透明加密和系 统自带加密。 这三种加密技术虽然都能实现加密, 但都有各自的缺点, 下面 一一描述:
直接加密, 其用于直接对磁盘中的文件进行加密, 代表软件为 WinRar。 但是, 该直接加密的缺点是: 每次使用文件前进行手工解密, 使用完毕后再 手工进行加密, 非常依赖于手工操作, 比较复杂、 繁瑣。
文件透明加密, 其使用 Windows过滤驱动对文件进行动态加密、 解密, 克服了直接加密需要手工加密解密的缺点。 但是, 该文件透明加密具有以下 缺点: 由于使用的 Windows过滤驱动处于 Windows文件系统驱动之上, 因 此,使用 Windows过滤驱动之后还需要对所有文件操作进行大规模的过滤操 作, 严重影响系统性能。
基于上面描述可以看出, 一种可靠、 安全、 有效的文件加密方法是当前 亟待解决的技术问题。 发明内容
本发明的目的是提供一种文件加密方法和装置, 以实现可靠、 安全、 有 效的文件加密。 本发明的另一目的是提供一种与上述文件加密方法和装置对应的文件 解密方法和装置,以实现利用虚拟磁盘进行文件解密,不影响文件的读性能。
本发明的目的是通过以下技术方案实现的:
一种文件加密方法, 包括: 创建虚拟磁盘; 该方法还包括:
所述虚拟磁盘接收来自文件系统的写请求, 对写请求携带的数据进行加 密, 并通知文件系统将加密后的数据写入至对应的物理磁盘, 以使文件系统 接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物理磁盘。
一种文件解密方法, 包括: 创建虚拟磁盘; 该方法还包括:
A, 所述虚拟磁盘将接收的来自文件系统的读请求重定向至物理磁盘, 以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
B , 所述虚拟磁盘接收文件系统从所述物理磁盘获取的数据, 并对接收 的数据进行解密, 将解密后的数据发送给文件系统, 由文件系统提供解密后 的数据给用户端。
一种文件加密装置, 包括:
虚拟磁盘创建单元, 用于创建虚拟磁盘;
虚拟磁盘驱动单元, 用于接收来自文件系统的写请求, 对写请求携带的 数据进行加密, 并通知文件系统将加密后的数据写入至对应的物理磁盘, 以 使文件系统接收到来自虚拟磁盘的通知后将加密后的数据写入至对应的物 理磁盘。
一种文件解密装置, 包括:
虚拟磁盘创建单元, 用于创建虚拟磁盘;
虚拟磁盘驱动单元, 包括: 重定向模块和解密模块; 其中,
所述重定向模块, 用于将接收的来自文件系统的读请求重定向至物理磁 盘, 以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
解密模块, 用于接收文件系统从所述物理磁盘获取的数据, 并对接收的 数据进行解密, 将解密后的数据发送给文件系统, 由文件系统提供解密后的 数据给用户端。 由以上技术方案可以看出, 本发明中, 利用虚拟磁盘对写请求中的数据 进行加密、 以及利用虚拟磁盘对读请求所请求的数据进行解密, 提高了文件 加密的可靠性、 安全性和有效性。 附图概述
为了更清楚地说明本发明实施例的技术方案, 下面将对实施例描述中所 需要使用的附图作筒单地介绍, 显而易见地, 下面描述中的附图仅仅是本发 明的一些实施例, 对于本领域的普通技术人员来讲, 在不付出创造性劳动的 前提下, 还可以根据这些附图获得其他附图。
图 1为本发明实施例提供的虚拟磁盘建立方法流程图;
图 2为本发明实施例 1提供的基本流程图;
图 3为本发明实施例 1提供的详细流程图;
图 4为本发明实施例 1提供的装置结构图;
图 5为本发明实施例 2提供的基本流程图;
图 6为本发明实施例 2提供的详细流程图;
图 7为本发明实施例 2提供的装置结构图。
本发明的较佳实施方式
下面结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不 是全部的实施例。 基于本发明的实施例, 本领域普通技术人员在没有做出创 造性劳动前提下所获得的所有其他实施例, 都属于本发明的保护范围。
下面将结合附图对本发明实施例作进一步地详细描述。
本发明提供的文件加密方法和装置、 文件解密方法和装置均基于 Windows虚拟磁盘, 其中, 所谓虚拟磁盘其实质与现有的物理磁盘类似, 其 指 Windows里面的卷( Volume ) , 与至少一个设备对应。
在描述本发明提供的文件加密方法和装置、 文件解密方法和装置之前, 先描述如何建立虚拟磁盘:
参见图 1 , 图 1为本发明实施例提供的虚拟磁盘建立方法流程图。 如图 1所示, 该流程可包括以下步骤:
步骤 101 , 对待建立的虚拟磁盘所对应的物理磁盘的文件进行初始化。 本步骤 101中, 虚拟磁盘所对应的物理磁盘的文件可由人工预先配置, 其具体为后缀为 "*.qbox" 的文件, 用于存放向该虚拟磁盘写入的数据。 也 就是说, 当向虚拟磁盘写入数据时, 需要将该数据重定向至该虚拟磁盘对应 的物理磁盘的文件; 当向该虚拟磁盘发送读请求以读取数据时, 需要将该读 请求重定向至该虚拟磁盘对应的物理磁盘的文件, 以获取该读请求所请求的 数据。
步骤 102, 在建立所述虚拟磁盘时, 要求用户提供使用所述物理磁盘文 件的密钥, 并验证用户提供的密钥, 如果验证通过, 则执行步骤 103 , 否贝' J , 返回步骤 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所示的流程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于 一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施 例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体( Read-Only Memory, ROM )或随机存^ ^己忆体 ( Random Access Memory, RAM )等。
下面对本实施例 2中提供的文件解密装置的结构进行描述。
参见图 7 , 图 7为本发明实施例 2提供的装置结构图。 如图 7所示, 该 装置包括:
虚拟磁盘创建单元, 用于创建虚拟磁盘;
虚拟磁盘驱动单元, 包括: 重定向模块和解密模块; 其中,
所述重定向模块, 用于将接收的来自文件系统的读请求重定向至物理磁 盘, 以使文件系统从所述物理磁盘中获取所述读请求所请求的数据;
解密模块, 用于接收文件系统从所述物理磁盘获取的数据, 并对接收的 数据进行解密, 将解密后的数据发送给文件系统, 由文件系统提供解密后的 数据给用户端。
其中, 所述虚拟磁盘在内核态可见, 具有唯一的标识; 并且, 如图 7所 示, 所述装置进一步包括:
虚拟磁盘通知单元, 用于在所述虚拟磁盘创建单元创建虚拟磁盘之后、 且在虚拟磁盘驱动单元接收读请求之前,通知所述虚拟磁盘至 Windows下的 磁盘挂载管理模块; 和 /或, 使用广播消息通知所述虚拟磁盘至 Windows下 的资源管理模块, 以使所述资源管理模块重新枚举该虚拟磁盘。
另外, 优选地, 如图 7所示, 所述重定向模块可包括:
确定子模块,用于接收到读请求后,确定自身对应的物理磁盘中的文件; 重定向子模块, 用于用确定的物理磁盘文件的标识替换读请求中虚拟磁 盘的标识, 并发送该读请求至文件系统, 以使文件系统接收到来自虚拟磁盘 的读请求后, 向与该读请求携带的物理磁盘文件标识对应的物理磁盘文件发 送读请求, 以从该物理磁盘文件中获取所述读请求所请求的数据。
本实施例中, 所述虚拟磁盘创建单元包括: 初始化模块、 处理模块和虚 拟磁盘建立模块; 其中,
初始化模块, 用于对所述虚拟磁盘所对应的物理磁盘中的文件进行初始 化;
处理模块, 用于在触发所述虚拟磁盘建立模块创建所述虚拟磁盘时, 要 求用户提供使用所述物理磁盘文件的密钥, 并验证用户提供的密钥, 如果验 证通过, 则触发所述初始化模块继续执行创建所述虚拟磁盘所需要的初始化 工作, 在检测到所述初始化模块完成所述初始化工作后, 触发所述虚拟磁盘 建立模块创建所述虚拟磁盘;
虚拟磁盘建立模块, 用于在所述处理模块的触发下创建所述虚拟磁盘。 至此, 完成实施例 2提供的装置描述。
由以上技术方案可以看出, 本发明中, 利用虚拟磁盘对写请求中的数据 进行加密、 以及利用虚拟磁盘对读请求所请求的数据进行解密, 提高了文件 加密的可靠性、 安全性和有效性。
以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范围并不 局限于此, 任何熟悉本技术领域的技术人员在本发明披露的技术范围内, 可 轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明 的保护范围应该以权利要求书的保护范围为准。
工业实用性 本发明文件加密方法和装置、 文件解密方法和装置, 利用虚拟磁盘对写 请求中的数据进行加密、 以及利用虚拟磁盘对读请求所请求的数据进行解 密, 提高了文件加密的可靠性、 安全性和有效性。

Claims

权 利 要 求 书
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任一所述的装置, 其特征在于, 所述虚拟磁 盘创建单元包括: 初始化模块、 处理模块和虚拟磁盘建立模块; 其中, 初始化模块, 用于对所述虚拟磁盘所对应的物理磁盘中的文件进行初始 化;
处理模块, 用于在触发所述虚拟磁盘建立模块创建所述虚拟磁盘时, 要 求用户提供使用所述物理磁盘文件的密钥, 并验证用户提供的密钥, 如果验 证通过, 则触发所述初始化模块继续执行创建所述虚拟磁盘所需要的初始化 工作, 在检测到所述初始化模块完成所述初始化工作后, 触发所述虚拟磁盘 建立模块创建所述虚拟磁盘;
虚拟磁盘建立模块, 用于在所述处理模块的触发下创建所述虚拟磁盘。
PCT/CN2012/076890 2011-09-22 2012-06-14 文件加密方法和装置、文件解密方法和装置 WO2013040915A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
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
EP12833381.2A EP2759943B1 (en) 2011-09-22 2012-06-14 File encryption method and device, file decryption method and device
CA2841606A CA2841606C (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 (2)

Application Number Priority Date Filing Date Title
CN201110283896.5 2011-09-22
CN201110283896.5A CN103020537B (zh) 2011-09-22 2011-09-22 数据加密方法和装置、数据解密方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/140,531 Continuation US9224002B2 (en) 2011-09-22 2013-12-25 Method and apparatus for file encryption/decryption

Publications (1)

Publication Number Publication Date
WO2013040915A1 true WO2013040915A1 (zh) 2013-03-28

Family

ID=47913835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/076890 WO2013040915A1 (zh) 2011-09-22 2012-06-14 文件加密方法和装置、文件解密方法和装置

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103516722A (zh) * 2013-09-17 2014-01-15 亚欧宝龙信息安全技术(湖南)有限公司 一种用户级文件自动加解密方法及装置
US9224002B2 (en) 2011-09-22 2015-12-29 Tencent Technology (Shenzhen) Company Limited Method and apparatus for file encryption/decryption
CN112214778A (zh) * 2020-10-21 2021-01-12 上海英方软件股份有限公司 一种通过虚拟文件实现本地文件离散加密的方法及系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 新华三技术有限公司成都分公司 一种数据处理方法及装置
CN113326526B (zh) * 2021-06-23 2023-04-25 杭州弗兰科信息安全科技有限公司 一种数据访问方法、装置、设备及存储介质
KR102491403B1 (ko) * 2021-09-02 2023-01-27 주식회사 엘지유플러스 물리적 복제 불가능 기능 기반 가입자 식별 모듈 보안 강화 방법 및 그를 위한 장치 및 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553347A (zh) * 2003-05-28 2004-12-08 联想(北京)有限公司 一种计算机数据保护方法
CN1794210A (zh) * 2006-01-05 2006-06-28 北京中讯锐尔科技有限公司 移动存储设备的数据安全存储和处理方法
CN101398824A (zh) * 2007-09-26 2009-04-01 新奥特硅谷视频技术有限责任公司 利用虚拟文件系统技术实现数据处理后存储的方法
CN101877246A (zh) * 2009-04-28 2010-11-03 许燕 加密u盘实现方法
TW201040775A (en) * 2009-05-05 2010-11-16 Via Tech Inc Data processing systems and password management methods and data reading and written methods thereof
CN102053925A (zh) * 2009-11-04 2011-05-11 许燕 硬盘数据加密实现方法

Family Cites Families (9)

* 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 情報処理装置
CN1154050C (zh) * 2001-11-29 2004-06-16 上海格尔软件股份有限公司 在Windows环境下虚拟磁盘的方法
KR100596135B1 (ko) * 2004-02-24 2006-07-03 소프트캠프(주) 가상 디스크를 이용한 응용 프로그램 별 접근통제시스템과 그 통제방법
CN101499038B (zh) * 2008-01-30 2011-09-07 精品科技股份有限公司 可控存取资讯储存装置、资讯存取控制方法与资讯保护方法
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 サイエンスパーク株式会社 ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム
CN101847184A (zh) * 2009-12-16 2010-09-29 深圳市虹安信息技术有限公司 采用加密沙箱的文件加密方法
CN101853363B (zh) * 2010-05-07 2012-08-08 飞天诚信科技股份有限公司 一种文件保护方法及系统
CN103020537B (zh) 2011-09-22 2015-07-22 腾讯科技(深圳)有限公司 数据加密方法和装置、数据解密方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553347A (zh) * 2003-05-28 2004-12-08 联想(北京)有限公司 一种计算机数据保护方法
CN1794210A (zh) * 2006-01-05 2006-06-28 北京中讯锐尔科技有限公司 移动存储设备的数据安全存储和处理方法
CN101398824A (zh) * 2007-09-26 2009-04-01 新奥特硅谷视频技术有限责任公司 利用虚拟文件系统技术实现数据处理后存储的方法
CN101877246A (zh) * 2009-04-28 2010-11-03 许燕 加密u盘实现方法
TW201040775A (en) * 2009-05-05 2010-11-16 Via Tech Inc Data processing systems and password management methods and data reading and written methods thereof
CN102053925A (zh) * 2009-11-04 2011-05-11 许燕 硬盘数据加密实现方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9224002B2 (en) 2011-09-22 2015-12-29 Tencent Technology (Shenzhen) Company Limited Method and apparatus for file encryption/decryption
CN103516722A (zh) * 2013-09-17 2014-01-15 亚欧宝龙信息安全技术(湖南)有限公司 一种用户级文件自动加解密方法及装置
CN103516722B (zh) * 2013-09-17 2016-08-17 亚欧宝龙信息安全技术(湖南)有限公司 一种用户级文件自动加解密方法及装置
CN112214778A (zh) * 2020-10-21 2021-01-12 上海英方软件股份有限公司 一种通过虚拟文件实现本地文件离散加密的方法及系统

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2013040915A1 (zh) 文件加密方法和装置、文件解密方法和装置
US11270006B2 (en) Intelligent storage devices with cryptographic functionality
EP3198500B1 (en) Trusted computing
EP2572309B1 (en) Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
US8838961B2 (en) Security credential deployment in cloud environment
US20190080099A1 (en) Performing operations on intelligent storage with hardened interfaces
WO2016106566A1 (zh) 虚拟化系统中加解密的方法、装置和系统
US20080114980A1 (en) System, method and apparatus for using standard and extended storage devices in two-factor authentication
US20140143550A1 (en) Securing speech recognition data
US20160188896A1 (en) Secure host interactions
US7995759B1 (en) System and method for parallel compression of a single data stream
JP2010507328A (ja) セキュアデバイス認証システム及び方法
WO2014059575A1 (zh) 输入输出操作的处理方法和装置
US20160344749A1 (en) Method and apparatus for protecting computer files from cpu resident malware
US20150082027A1 (en) Drm method and drm system for supporting offline sharing of digital contents
CN114611133A (zh) 存储设备及其数据存储管理方法
US9152505B1 (en) Verified hardware-based erasure of data on distributed systems
US9742759B2 (en) Seamless authentication mechanism for user processes and web services residing on common host
WO2017067513A1 (zh) 数据处理方法及存储网关
WO2013181960A1 (zh) 一种基于虚拟化的安全存储方法、终端及系统
US8738935B1 (en) Verified erasure of data implemented on distributed systems
US8607046B1 (en) System and method for signing a message to provide one-time approval to a plurality of parties
US20220326975A1 (en) Transparent data reduction in private/public cloud environments for host encrypted data
KR20040020175A (ko) 공개키 암호화 알고리즘을 적용하여 콘텐츠 파일을커널모드에서 복호화하는 방법, 이를 이용하여뷰어프로그램의 plug-in 지원에 비종속적인 DRM클라이언트 프로그램
NZ622859B2 (en) File encryption method and device, file decryption method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12833381

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012833381

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2841606

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 20147001351

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2014530078

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE