NZ622859B2 - File encryption method and device, file decryption method and device - Google Patents
File encryption method and device, file decryption method and device Download PDFInfo
- Publication number
- NZ622859B2 NZ622859B2 NZ622859A NZ62285912A NZ622859B2 NZ 622859 B2 NZ622859 B2 NZ 622859B2 NZ 622859 A NZ622859 A NZ 622859A NZ 62285912 A NZ62285912 A NZ 62285912A NZ 622859 B2 NZ622859 B2 NZ 622859B2
- Authority
- NZ
- New Zealand
- Prior art keywords
- virtual disk
- file
- disk
- module
- file system
- Prior art date
Links
- 230000000875 corresponding Effects 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims description 17
- 230000001960 triggered Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
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/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
- 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
- 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
Abstract
Disclosed are a file encryption method and device and a file decryption method and device. The file encryption method comprises creating a virtual disk. The virtual disk receiving a write request from a file system, encrypting data carried in the write request, and notifying the file system of writing the encrypted data into a corresponding physical disk, so that the file system writes the encrypted data into the corresponding physical disk after receiving the notification from the virtual disk. The file encryption method and device, the file decryption method and device of the present invention adopt a virtual disk to encrypt the data in the write request, and adopt a virtual disk to decrypt data requested by a read request, so as to implement reliable, safe, and effective file encryption. ng the encrypted data into a corresponding physical disk, so that the file system writes the encrypted data into the corresponding physical disk after receiving the notification from the virtual disk. The file encryption method and device, the file decryption method and device of the present invention adopt a virtual disk to encrypt the data in the write request, and adopt a virtual disk to decrypt data requested by a read request, so as to implement reliable, safe, and effective file encryption.
Description
FILE ENCRYPTION METHOD AND DEVICE, FILE
DECRYPTION METHOD AND DEVICE
The application claims priority of a CN patent application
serial No. 201110283896.5, titled “method and apparatus for file
encryption/decryption” and filed on September 22, 2011, which
application is incorporated by reference herein in its entirety.
FIELD OF THE INVENTION
The present invention relates to data processing technique, and
more particularly to a method and an apparatus for file
encryption/decryption.
BACKGROUND OF THE INVENTION
Currently, more commonly used file encrypting methods are:
direct encryption, transparent file encryption, and the encryption interface
provided by the operating system. These three encryption methods are all
capable of achieving file encryption; however, each of them has its own
shortcomings described as follows.
Direct encryption is used to directly encrypt files in the disk,
and WinRar™ is a typical representative. However, the shortcoming of
direct encryption is: encrypted files should be manually decrypted every
time before using the files, and also the decrypted files need to be
manually encrypted after using. This method heavily depends on manual
operation and the whole procedure is complex and cumbersome.
Transparent file encryption uses filter driver of Windows to
encrypt/decrypt files, which overcomes the shortcoming of direct
encryption that the files should be manually encrypted/decrypted.
6412181_1 (GHMatters) P96604.NZ MILESF
However, transparent file encryption still has the shortcoming that the
filter driver of Windows exists on the file system driver of Windows. As
a result, it is necessary to take a lot of filtering operations to all the files if
the filter driver is used, and these filtering operations seriously affect
system performance.
According to the above description, an urgent problem need to
be solved is provide a reliable, safe and effective file encrypting method.
SUMMARY OF THE INVENTION
The object of the present invention is to provide a file
encrypting method and apparatus, thereby achieving highly-reliable, safe
and effective file encryption.
Another object of the present invention is to provide a file
decrypting method and apparatus corresponding to the above file
encrypting method and apparatus, thereby achieving file decryption using
a virtual disk without reducing reading performance of the file.
The objects of the present invention is achieved by the
following technical solutions:
In a first broad aspect the invention provides a file encrypting
method, comprising a step of creating a virtual disk after initializing a
physical disk file corresponding to the virtual disk, the virtual disk being
visible in a kernel mode and having a unique identifier; the method further
comprising:
notifying the virtual disk to a disk management module of an
operating system, and/or notifying the virtual disk to a resource
management module of the operating system using a broadcasting
message thereby notifying the resource management module to
re-enumerate the virtual disk;
6412181_1 (GHMatters) P96604.NZ MILESF
receiving, in the virtual disk, a writing request from a file system;
encrypting data in the writing request; and
notifying the file system to write the encrypted data into a corresponding
physical disk, so that the file system writes the encrypted data into the
corresponding physical disk after receiving a notification from the virtual
disk.
In a second broad aspect the invention provides a file
decrypting method, comprising a step of creating a virtual disk after
initializing a physical disk file corresponding to the virtual disk, the virtual
disk being visible in a kernel mode and having a unique identifier; the
method further comprising:
notifying the virtual disk to a disk management module of an
operating system, and/or notifying the virtual disk to a resource
management module of the operating system using a broadcasting
message thereby notifying the resource management module to
re-enumerate the virtual disk;
A, the virtual disk redirecting a reading request, which is received
from a file system, to a physical disk so that the file system fetches data
required by the reading request from the physical disk;
B, the virtual disk receiving the data fetched by the file system from
the physical disk, decrypting the received data, and sending the decrypted
data to the file system so that the file system provides the decrypted data
to a user end.
In a third broad aspect the invention provides a file encrypting
apparatus, comprising:
a virtual disk creating unit configured for creating a virtual disk after
initializing a physical disk file corresponding to the virtual disk, wherein
the virtual disk is visible in a kernel mode and has a unique identifier;
6412181_1 (GHMatters) P96604.NZ MILESF
a virtual disk notifying unit configured for notifying the virtual disk
to a disk management module of an operating system, and/or notifying the
virtual disk to a resource management module of the operating system
using a broadcasting message thereby notifying the resource management
module to re-enumerate the virtual disk;
a virtual disk driving unit configured for:
receiving a writing request from a file system,
encrypting data in the writing request, and notifying the file system to
write the encrypted data into a corresponding physical disk;
wherein the file system writes the encrypted data into the
corresponding physical disk after receiving a notification from the virtual
disk.
In a fourth broad aspect the invention provides A file
decrypting apparatus, comprising:
a virtual disk creating unit, configured for creating a virtual disk after
initializing a physical disk file corresponding to the virtual disk, wherein
the virtual disk is visible in a kernel mode and has a unique identifier
a virtual disk notifying unit configured for notifying the virtual disk
to a disk management module of an operating system, and/or notifying the
virtual disk to a resource management module of the operating system
using a broadcasting message thereby notifying the resource management
module to re-enumerate the virtual disk;
a virtual disk driving unit, comprising a redirecting module and a
decrypting module; wherein
the redirecting module is configured for redirecting a reading request
received from a file system to a physical disk, so that the file system
fetches data required by the reading request from the physical disk; and
the decrypting module is configured for receiving the data fetched by
6412181_1 (GHMatters) P96604.NZ MILESF
the file system from the physical disk, decrypting the received data and
sending the decrypted data to the file system so that the file system may
provide the decrypted data to a user end.
As shown in the technical solutions stated above, in the
present invention, data in the writing request is encrypted with the virtual
disk, the data required by the reading request is decrypted with the virtual
disk, and this method improves reliability, safety and effectiveness of file
encryption.
BRIEF DESCRIPTION OF THE DRAWINGS
To illustrate the technical solution according to embodiments
of the present invention more clearly, drawings to be used in the
description of the embodiments are described in brief as follows.
Obviously, the drawings in the following description are merely some
embodiments of the present invention. It is to be noted that for those
ordinarily skilled in the art, other drawings can be fetched according to
these drawings without doing any creative work.
is a flowchart of a method for creating virtual disk
according to an embodiment of the present invention;
is an abstract flowchart provided by embodiment 1 of
the present invention;
is a detailed flowchart provided by embodiment 1 of
the present invention;
is a block diagram of an apparatus provided by
embodiment 1 of the present invention;
is an abstract flowchart provided by embodiment 1 of
the present invention;
is a detailed flowchart provided by embodiment 1 of
6412181_1 (GHMatters) P96604.NZ MILESF
the present invention;
is a block diagram of an apparatus provided by
embodiment 2 of the present invention.
PREFERRED EMBODIMENTS OF THE PRESENT INVENTION
The technical solution in the embodiments of the present
invention will be described clearly and completely accompanying with
drawings of embodiments of the present invention as follows.
Apparently, the described embodiments are only a part of the
embodiments of the present invention, but not all the embodiments.
Based on the embodiments of the present invention, all other embodiments
achieved by those ordinarily skilled in the art without doing any creative
work, should be included in the scope of the present invention.
The embodiments of the present invention will be further
described in detail accompanying with drawings as follows.
The method and apparatus for file encryption, and the method
and apparatus for file decryption provided by the present invention are
based on Windows virtual disk. The socalled virtual disk is substantially
similar to the known physical disk, which refers to volumes in Windows
and corresponds to at least one device.
Before describing the method and apparatus for file encryption,
and the method and apparatus for file decryption, how to create the virtual
disk is firstly described:
Referring to is a flow chart of a method for
creating virtual disk provided by an embodiment of the present invention.
As shown in the flow may include the following steps:
Step 101, initializing a physical disk file corresponding to the
virtual disk to be created.
6412181_1 (GHMatters) P96604.NZ MILESF
In step 101, the physical disk file corresponding to the virtual
disk may be pre-configured manually, and the file may have a suffix of
“.qbox”. The physical disk file is used to store the data written into the
virtual disk. That is, when writing data into the virtual disk, it is necessary
to redirect the data to the physical disk file. When sending a reading
request to the virtual disk for reading the data, it is necessary to redirect
the reading request to the physical disk file for reading the data required
by the reading request.
Step 102, when creating the virtual disk, requesting the user to
provide a key for using the physical disk file and verifying the key
provided by the user. If the verification is passed, a step 103 should be
executed. Otherwise, return to step 102 or end the current flow.
Step 103, creating the virtual disk.
In an implemention example, the step 103 may include the
following steps:
Step 1, initializing the driver run in the kernel, so that the
driver serves as a driver of the virtual disk in the following process. The
driver processes the reading and writing requests to the virtual disk. Here,
the driver may be a kind of executable file of Windows and has a suffix of
“.sys”.
Step 2, initializing kernel encrypting/decrypting threads.
Here, a thread is a basic unit of Windows task scheduling, the
kernel encrypting thread is the thread that run in the system kernel space
and used to encrypt, and the kernel decrypting thread is the thread that run
in the system kernel space and used to decrypt.
It is to be noted that step 1 and step 2 are only an example of
the initialization process for creating the virtual disk in Windows. In other
Windows environments, the initialization processes for creating the virtual
6412181_1 (GHMatters) P96604.NZ MILESF
disk are different, and the present invention is not limited to the example.
Step 3, creating the virtual disk using a control for creating
virtual disks.
In an example, the control used to create virtual disks in step 3
is the IoCteateDevice control of Windows.
Additionally, the virtual disk created in step 3 has a unique
identifier, such as \Device\HaarddiskVolume2, and also has a
corresponding device type, for example, FILE_DEVICE_DISK, which
represents a disk device.
Thus, by above steps 1 to 3, the operation of creating the
virtual disk in step 103 is achieved.
Preferably, in the present invention, to make the virtual disk is
visible in a user mode, the virtual disk can be assigned with a driver letter
using a driver letter assigning control such as the “IoCreateSymbolicLink”
control in Windows. Furthermore, in order to make the assigned driver
letter can be seen in the “My Computer” view of Windows, it is necessary
to establish a driver letter connection for the device.
At this point, the main steps for creating the virtual disk are
already executed. However, considering the plug-and-play feature of the
virtual disk provided by the present invention, it is necessary to notify the
virtual disk to a disk management module of Windows (MountManger);
and/or notify a resource management module (explorer) using
broadcasting message so that the explorer re-enumerates the virtual disk.
So, the user is able to perform the reading and writing
operations to the virtual disk in a similar way to the physical disk, but the
virtual disk would redirect the reading/writing requests to the
corresponding physical disk file when performing the reading/writing
operations. The detail process is described in the following embodiment
6412181_1 (GHMatters) P96604.NZ MILESF
1 and embodiment 2.
Embodiment 1:
This embodiment describes a file encrypting method based on
the above virtual disk.
Referring to is an abstract flowchart of
embodiment 1. As shown in the flow may include the following
steps:
Step 201, the virtual disk receives the writing request from the
file system and encrypts the data in the writing request.
Step 202, the virtual disk notifies the file system to write the
encrypted data into the corresponding physical disk so that the file system
writes the encrypted data into the corresponding physical disk after
receiving a notification from the virtual disk.
To illustrate the flow shown in more clearly, the flow is
further explained in detail with reference to
Referring to is a detailed flowchart illustrating
the flow of embodiment 1. As shown in the flow may include the
following steps:
Step 301, a user launches a writing request, using a control for
launching writing requests such as WriteFile, in a user mode.
The writing request includes an identifier of the virtual disk
and the data to be written into the virtual disk.
The user mode indicates that the writing request launched in
step 301 is executed in a user space.
Step 302, the file system, in a kernel mode, receives the
writing request from the user mode, if the writing request includes the
identifier of the virtual disk; the file system sends the writing request to
the virtual disk.
6412181_1 (GHMatters) P96604.NZ MILESF
Specifically, the file system in embodiment 1 may be a file
system driver (FSD) or other modules having similar functions.
The kernel mode indicates that, in step 302, the writing request
is received by the file system in a kernel space.
Step 303, the virtual disk receives the writing request from the
file system and encrypts the data in the writing request.
Step 303 is performed by the driver of the virtual disk.
Additionally, under Windows system, reading/writing
operations of disks are performed in the unit of clusters. The size of a
cluster is greater than 512 bytes and less than 64k bytes, and values the N
power of 2. The default cluster size of the NTFS file system of Windows
is 4096 bytes, and the default cluster size of the FAT32 file system is 512
bytes. Due to this feature of disks, it is easily to encrypt data using the
mainstream encrypting algorithms.
Currently, the mainstream encrypting algorithms include the
stream encrypting algorithm and the block encrypting algorithm.
Compared with the stream encrypting algorithm, the block encrypting
algorithm has minimum encryption length and alignment requirements.
The minimum encryption length is generally N power of 2, i.e. 8, 16 or
32 bytes. In this way, the boundaries of the minimum reading/writing unit
of disks are aligned exactly and it is not necessary to fill invalid data to use
block encryption. Generally, transparent file encryption needs to fill
invalid data for using block encryption algorithm. Preferably, considering
the data security, block encryption algorithm that has high level security,
such as AES encryption algorithm, is used to encrypt data in the present
embodiment.
Step 304, the virtual disk ascertains the physical disk file
corresponding to the virtual disk itself, then the virtual disk replaces the
6412181_1 (GHMatters) P96604.NZ MILESF
identifier of the virtual disk in the writing request with the identifier of the
physical disk file, then the virtual disk sends the writing request to the file
system.
The ascertained physical disk file in step 304 is the initialized
file in step 101.
Additionally, step 304, for example, is executed by the driver
of the virtual disk. The step of sending the writing request to the file
system is executed by the driver of the virtual disk using a control for
sending writing requests such as ZWWriteFile.
Step 305, the file system receives the writing request from the
virtual disk, and then the file system writes the encrypted data in the
writing request into the physical disk file, which is specified by the file
identifier in the writing request.
Then, the flow shown in is completed.
As the virtual disk is visible only in the kernel mode, the
embodiment 1 utilizes the virtual disk in the kernel mode to encrypt data
and the virtual disk is invisible for the user in the user mode. Thus, even if
the user logs into the Windows, the data in the virtual disk can’t be read
and a reliable data encrypting method is achieved.
Additionally, in the embodiment 1, the method only uses the
virtual disk to encrypt data and the virtual disk does not affect the general
reading/writing performance. Thus, the method barely affects performance
of the operating system.
Here, the method provided in the embodiment 1 is described
as above. Corresponding to the method provided in the embodiment 1, a
file encrypting apparatus is further provided.
Referring to is a block diagram of a file
encrypting apparatus provided in the embodiment 1. As shown in
6412181_1 (GHMatters) P96604.NZ MILESF
the apparatus includes a virtual disk creating unit and a virtual disk driving
unit.
The virtual disk creating unit is configured for creating a
virtual disk.
The virtual disk driving unit is configured for receiving a
writing request from a file system, encrypting data in the writing request,
and notifying the file system to write the encrypted data into a
corresponding physical disk so that the file system writes the encrypted
data into the corresponding physical disk after receiving the notification
from the virtual disk.
The virtual disk is visible in the kernel mode and has a unique
identifier. Preferably, as shown in the apparatus further includes a
virtual disk notifying unit.
The virtual disk notifying unit is configured for notifying the
virtual disk to a disk management module of Windows, after the virtual
disk creating unit creating the virtual disk and before the virtual disk
driving unit receiving the writing request; and/or notifying a resource
management module of Windows using broadcasting message such that
the resource management module re-enumerates the virtual disk.
In the embodiment 1, the virtual disk driving unit includes a
receiving module, an encrypting module and a redirecting module.
The receiving module is configured for receiving the writing
request from the file system.
The encrypting module is configured for encrypting the data in
the writing request.
The redirecting module is configured for ascertains the
physical disk file corresponding to the virtual disk, replacing the identifier
of the virtual disk in the writing request with the identifier of the physical
6412181_1 (GHMatters) P96604.NZ MILESF
disk file, and then sending the writing request to the file system. As a
result, the file system writes the encrypted data in the writing request into
the physical disk file corresponding to the identifier in the writing request,
after receiving the writing request from the virtual disk.
In this embodiment, the virtual disk creating unit includes an
initializing module, a processing module and a virtual disk creating
module.
The initializing module is configured for initializing the
physical disk file corresponding to the virtual disk.
The processing module is configured for requesting the user to
provide a key for using the physical disk file and verifying the key
provided by the user when the virtual disk creating module is triggered to
create the virtual disk. If the verification is passed, the initializing module
triggers the initializing module to proceed with the initialization that is
required to create the virtual disk, and triggers the virtual disk creating
module to create the virtual disk after detecting that the initializing module
finished the initialization process.
The virtual disk creating module is configured for creating the
virtual disk when triggered by the processing module.
The apparatus provided in the embodiment 1 is described as
above.
An embodiment 2 is described as follows.
Embodiment 2:
The embodiment 2 describes a file decrypting method based
on the virtual disk described above.
Referring to is an abstract flowchart of the
embodiment 2 according to this invention. As shown in the flow
includes the following steps.
6412181_1 (GHMatters) P96604.NZ MILESF
Step 501, the virtual disk redirects the reading request received
from the file system to the physical disk so that the file system fetches the
data required by the reading request from the physical disk.
Step 502, the virtual disk receives the data fetched by the file
system from the physical disk, decrypts the data, and then sends the
decrypted data to the file system. The file system provides the decrypted
data to a user end.
To illustrate the flow shown in more clearing, the flow
shown in is described in detail with the reference to
Referring to is a detailed flowchart of the
embodiment 2 according to this invention. As shown in the flow
includes the following steps.
Step 601, a user launches a reading request, using a control for
launching reading requests such as ReadFile, in a user mode.
The reading request includes an identifier of the virtual disk.
Step 602, the file system, in a kernel mode, receives the
reading request from the user mode, if the reading request includes the
identifier of the virtual disk; the file system sends the reading request to
the virtual disk.
Specifically, the file system in the embodiment 2 may be a
FSD or other modules having similar functions.
Step 603, the virtual disk ascertains the physical disk file
corresponding to the virtual disk itself after receiving the reading request
from the file system.
The ascertained physical disk file in step 603 is the initialized
file as described in step 101.
Additionally, step 603 is executed by the driver of the virtual
disk.
6412181_1 (GHMatters) P96604.NZ MILESF
Step 604, the virtual disk replaces the identifier of the virtual
disk in the reading request with the identifier of the physical disk file in
the reading request, and then sends the reading request to the file system.
The reading request in step 604 may be send by the driver of
the virtual disk using a control for sending reading requests such as
ZWReadFile.
Step 605, the file system sends the reading request to the
physical disk file corresponding to the identifier in the reading request,
after receiving the reading request form the virtual disk. The reading
request is send for fetching data required by the reading request from the
physical disk file.
According to the description of embodiment 1, in step 605, the
data fetched by the file system is encrypted data.
Step 606 the virtual disk receives the data fetched by the file
system from the physical disk, decrypts the data, and then sends the
decrypted data to the file system.
The decrypting algorithm used in step 606 is matched to the
encrypting algorithm in the embodiment 1. For example, the decrypting
algorithm may also be an AES decrypting algorithm that has a high level
of security.
Step 607, the file system provides the decrypted data to a user
end.
The flow shown in is described as above.
It is to be noted, for those ordinarily skilled in the art, the
whole or part of the steps in the above methods can be achieved by
instructing hardware to perform with computer programs. The computer
programs can be stored in a computer readable medium. When the
programs are executed, the flow of the method is above embodiments are
6412181_1 (GHMatters) P96604.NZ MILESF
performed. The storage medium may be a hard disk, a compact disk, a
read-only memory (ROM) or a random access memory (RAM), etc.
A file decrypting apparatus provided in the embodiment 2 is
described as follows.
Referring to is a block diagram of the
embodiment 2 of this invention. As shown in the apparatus
includes a virtual disk creating unit and a virtual disk driving unit.
The virtual disk creating unit is configured for creating the
virtual disk.
The virtual disk driving unit includes a redirecting module and
a decrypting module.
The redirecting module is configured for redirecting a reading
request sent from a file system to a physical disk, so that the file system
fetches data required by the reading request from the physical disk.
The decrypting module is configured for receiving the data
fetched by the file system from the physical disk, decrypting the received
data and sending the decrypted data to the file system. As such, the file
system may provide the decrypted data to a user end.
The virtual disk is visible in the kernel mode and has a unique
identifier. As shown in the apparatus further includes a virtual disk
notifying unit.
The virtual disk notifying unit is configured for notifying the
virtual disk to a disk management module of Windows, after the virtual
disk creating unit creating the virtual disk and before the virtual disk
driving unit receiving the reading request; and/or notifying a resource
management module of Windows using broadcasting message such that
the resource management module re-enumerates the virtual disk.
Preferably, as shown in the redirecting module further
6412181_1 (GHMatters) P96604.NZ MILESF
includes an ascertaining sub-module and a redirecting sub-module.
The detecting sub-module is configured for ascertaining the
physical disk file corresponding to the detecting sub-module itself after
receiving the reading request.
The redirecting sub-module is configured for replacing the
identifier of the virtual disk in the reading request with the identifier of the
ascertained physical disk file, and then sending the reading request to the
file system. The file system receives the reading request from the virtual
disk, and then sends the reading request to the physical disk file
corresponding to the identifier in the reading request for fetching data
required by the reading request.
In this embodiment, the virtual disk creating unit includes an
initializing module, a processing module and a virtual disk creating
module.
The initializing module is configured for initializing the
physical disk file corresponding to the virtual disk.
The processing module is configured for requesting the user to
provide a key for using the physical disk file and verifying the key
provided by the user when the virtual disk is triggered to create the virtual
disk. If the verification is passed, the initializing module triggers the
initializing module to proceed with the initialization that is required to
create the virtual disk, and triggers the virtual disk creating module to
create the virtual disk after detecting that the initializing module finished
the initialization process.
The virtual disk creating module is configured for creating the
virtual disk when triggered by the processing module.
The apparatus in the embodiment 2 is described as above.
As shown in the technical solutions described above, in this
6412181_1 (GHMatters) P96604.NZ MILESF
invention, the virtual disk is used to encrypt the data in the writing request
and to decrypt the data in the reading request. That improves reliability,
security and effectiveness of file encryption.
The contents described above are only preferred embodiments
of the present invention, but the scope of the present invention is not
limited to the embodiments. Any ordinarily skilled in the art would
make any modifications or replacements to the embodiments in the scope
of the present invention, and these modifications or replacements should
be included in the scope of the present invention. Thus, the scope of the
present invention should be subjected to the claims.
INDUSTRIAL PRACTICALITY
The file encrypting/decrypting methods and apparatus of this
invention use the virtual disk to encrypt the data in the writing request and
decrypt the data in the reading request. That improves reliability, security
and effectiveness of file encryption.
6412181_1 (GHMatters) P96604.NZ MILESF
Claims (18)
1. A file encrypting method, comprising a step of creating a virtual disk after initializing a physical disk file corresponding to the virtual disk, the virtual disk being visible in a kernel mode and having a unique identifier; the method further comprising: notifying the virtual disk to a disk management module of an operating system, and/or notifying the virtual disk to a resource management module of the operating system using a broadcasting message thereby notifying the resource management module to re-enumerate the virtual disk; receiving, in the virtual disk, a writing request from a file system; encrypting data in the writing request; and notifying the file system to write the encrypted data into a corresponding physical disk, so that the file system writes the encrypted data into the corresponding physical disk after receiving a notification from the virtual disk.
2. The file encrypting method according to claim 1, wherein the file system sends the writing request to the virtual disk by steps of: the file system receiving, in the kernel mode, the writing request from a user mode; if the writing request includes the identifier of the virtual disk, the file system sending the writing request to the virtual disk.
3. The file encrypting method according to claim 1, wherein the step of notifying the file system to write the encrypted data into a corresponding physical disk comprises: ascertaining a physical disk file corresponding to the virtual disk 6412181_1 (GHMatters) P96604.NZ MILESF itself; replacing the identifier of the virtual disk in the writing request with the identifier the physical disk file; and sending the writing request to the file system; wherein the step of the file system writes the encrypted data into the corresponding physical disk after receiving a notification from the virtual disk comprises: the file system writing the encrypted data in the writing request into a physical disk file corresponding to the identifier in the writing request after receiving the writing request from the virtual disk.
4. The file encrypting method according to any one of claims 1-3, wherein the step of creating a virtual disk after initializing a physical disk file corresponding to the virtual disk comprises: initializing the physical disk file corresponding to the virtual disk; requesting a user to provide a key for using the physical disk file; verifying the key provided by the user; executing the initializing process required for creating the virtual disk if verification has passed; and creating the virtual disk using a control for creating virtual disk after finishing the initialization process.
5. A file decrypting method, comprising a step of creating a virtual disk after initializing a physical disk file corresponding to the virtual disk, the virtual disk being visible in a kernel mode and having a unique identifier; the method further comprising: notifying the virtual disk to a disk management module of an operating system, and/or notifying the virtual disk to a resource management module of the operating system using a broadcasting message 6412181_1 (GHMatters) P96604.NZ MILESF thereby notifying the resource management module to re-enumerate the virtual disk; A, the virtual disk redirecting a reading request, which is received from a file system, to a physical disk so that the file system fetches data required by the reading request from the physical disk; B, the virtual disk receiving the data fetched by the file system from the physical disk, decrypting the received data, and sending the decrypted data to the file system so that the file system provides the decrypted data to a user end.
6. The file decrypting method according to claim 5, wherein in the step A, the file system sends the reading request to the virtual disk by steps of: the file system receiving, in the kernel mode, the reading request from a user mode; if the reading request includes the identifier of the virtual disk, the file system sending the reading request to the virtual disk.
7. The file decrypting method according to claim 5, wherein the step A comprises: ascertaining a physical disk file corresponding to the virtual disk itself; replacing the identifier of the virtual disk in the reading request with the identifier of the physical disk file; and sending the reading request to the file system; the file system sending the reading request to the physical disk file corresponding to the identifier in the reading request, after receiving the reading request from the virtual disk, for fetching data required by the reading request from the physical disk file. 6412181_1 (GHMatters) P96604.NZ MILESF
8. The file decrypting method according to any one of claims 5-7, wherein the step of creating a virtual disk after initializing a physical disk file corresponding to the virtual disk comprises: initializing the physical disk file corresponding to the virtual disk; requesting a user to provide a key for using the physical disk file; verifying the key provided by the user; executing the initializing process required for creating the virtual disk if verification has passed; and creating the virtual disk using a control for creating virtual disk after finishing the initialization process.
9. A file encrypting apparatus, comprising: a virtual disk creating unit configured for creating a virtual disk after initializing a physical disk file corresponding to the virtual disk, wherein the virtual disk is visible in a kernel mode and has a unique identifier; a virtual disk notifying unit configured for notifying the virtual disk to a disk management module of an operating system, and/or notifying the virtual disk to a resource management module of the operating system using a broadcasting message thereby notifying the resource management module to re-enumerate the virtual disk; a virtual disk driving unit configured for: receiving a writing request from a file system, encrypting data in the writing request, and notifying the file system to write the encrypted data into a corresponding physical disk; wherein the file system writes the encrypted data into the corresponding physical disk after receiving a notification from the virtual disk. 6412181_1 (GHMatters) P96604.NZ MILESF
10. The file encrypting apparatus according to claim 9, wherein the virtual disk driving unit comprising: a receiving module, configured for receiving the writing request from the file system; an encrypting module, configured for encrypting the data in the writing request; a redirecting module, configured for: ascertaining a physical disk file corresponding to the virtual disk itself; replacing the identifier of the virtual disk in the writing request with the identifier the physical disk file; and sending the writing request to the file system; wherein the file system writes the encrypted data in the writing request into the physical disk file corresponding to the identifier in the writing request after receiving the writing request from the virtual disk.
11. The encrypting apparatus according to either claim 9 or 10, wherein the virtual disk creating unit comprises: an initializing module, a processing module and a virtual disk creating module, wherein: the initializing module is configured for initializing the physical disk file corresponding to the virtual disk; the processing module is configured for requesting the user to provide a key for using the physical disk, verifying the key provided by the user, triggering the initializing module to proceed with the initialization process that is required to create the virtual disk if the verification having passed, and triggering the virtual disk creating module to create the virtual disk after the initializing module finishing the initialization process. the virtual disk creating module is configured for creating the virtual disk when triggered by the processing module. 6412181_1 (GHMatters) P96604.NZ MILESF
12. A file decrypting apparatus, comprising: a virtual disk creating unit, configured for creating a virtual disk after initializing a physical disk file corresponding to the virtual disk, wherein the virtual disk is visible in a kernel mode and has a unique identifier; a virtual disk notifying unit configured for notifying the virtual disk to a disk management module of an operating system, and/or notifying the virtual disk to a resource management module of the operating system using a broadcasting message thereby notifying the resource management module to re-enumerate the virtual disk; a virtual disk driving unit, comprising a redirecting module and a decrypting module; wherein the redirecting module is configured for redirecting a reading request received from a file system to a physical disk, so that the file system fetches data required by the reading request from the physical disk; and the decrypting module is configured for receiving the data fetched by the file system from the physical disk, decrypting the received data and sending the decrypted data to the file system so that the file system may provide the decrypted data to a user end.
13. The file decrypting apparatus according to claim 12, wherein the redirecting module comprises: an ascertaining sub-module configured for ascertaining the physical disk file corresponding to the detecting sub-module itself after receiving the reading request; a redirecting sub-module configured for replacing the identifier of the virtual disk in the reading request with the identifier of the ascertained physical disk file, and then sending the writing request to the file system; 6412181_1 (GHMatters) P96604.NZ MILESF where the file system sends the reading request to the physical disk file corresponding to the identifier in the reading request for fetching data required by the reading request after receiving the reading request from the virtual disk .
14. The file decrypting apparatus according to either claim 12 or 13, wherein the virtual disk creating unit comprises: an initializing module, a processing module and a virtual disk creating module, wherein: the initializing module is configured for initializing the physical disk file corresponding to the virtual disk; the processing module is configured for requesting the user to provide a key for using the physical disk, verifying the key provided by the user, triggering the initializing module to proceed with the initialization process that is required to create the virtual disk if the verification having passed, and triggering the virtual disk creating module to create the virtual disk after the initializing module finishing the initialization process. the virtual disk creating module is configured for creating the virtual disk when triggered by the processing module.
15. A file encrypting method substantially as herein described with reference to the accompanying drawings.
16. A file decrypting method substantially as herein described with reference to the accompanying drawings.
17. A file encrypting apparatus substantially as herein described with reference to the accompanying drawings. 6412181_1 (GHMatters) P96604.NZ MILESF
18. A file decrypting apparatus substantially as herein described with reference to the accompanying drawings. 6412181_1 (GHMatters) P96604.NZ MILESF
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110283896.5 | 2011-09-22 | ||
CN201110283896.5A CN103020537B (en) | 2011-09-22 | 2011-09-22 | Data encrypting method, data encrypting device, data deciphering method and data deciphering device |
PCT/CN2012/076890 WO2013040915A1 (en) | 2011-09-22 | 2012-06-14 | File encryption method and device, file decryption method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
NZ622859A NZ622859A (en) | 2015-05-29 |
NZ622859B2 true NZ622859B2 (en) | 2015-09-01 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9224002B2 (en) | Method and apparatus for file encryption/decryption | |
US10708051B2 (en) | Controlled access to data in a sandboxed environment | |
KR101852724B1 (en) | Computer programs, secret management methods and systems | |
US9342705B1 (en) | Systems and methods for searching shared encrypted files on third-party storage systems | |
US8924739B2 (en) | System and method for in-place encryption | |
US9215067B2 (en) | Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters | |
US9824220B2 (en) | Secure execution of software modules on a computer | |
JP2016523421A (en) | Method, data processing program, computer program product, and data processing system for handling guest events in a system controlled by a hypervisor | |
AU2012204448A1 (en) | System and method for in-place encryption | |
US9182982B1 (en) | Techniques for creating an encrypted virtual hard disk | |
WO2017129660A1 (en) | Secure data storage | |
EP2425369A1 (en) | Memory device and method for adaptive protection of content | |
US20190377878A1 (en) | Secure Drive | |
CN103605934B (en) | Protection method and device for executable files | |
US20180314837A1 (en) | Secure file wrapper for tiff images | |
JP2009064055A (en) | Computer system and security management method | |
US9515819B2 (en) | Pluggable cryptography | |
CN111159726A (en) | Full disk encryption and decryption method and system based on UEFI (unified extensible firmware interface) environment variable | |
US9177160B1 (en) | Key management in full disk and file-level encryption | |
US10606985B2 (en) | Secure file wrapper for TIFF images | |
NZ622859B2 (en) | File encryption method and device, file decryption method and device | |
Vojtěšek | Analýza rescue souboru BestCrypt Volume Encryption | |
JP2013092960A (en) | Information processor and information processing method |