The present invention relates to the field of information security, and in particular, to a method and an apparatus for protecting a file.
Currently, the multimedia functions of a terminal device (such as a mobile phone, a tablet computer, a media player, a game machine, a palmtop computer, or a notebook computer) are getting more and more powerful, which may easily record an audio, take a picture, or shoot a video, and store it. Take mobile phones as an example. Basically, all existing mobile phones possess functions, such as recording, photographing, and videotaping, and have a powerful storage capability. Personal information, such as a recording, a picture, and a video can be conveniently stored in a memory card of a mobile phone, which may be played by the mobile phone when necessary. Particularly, with the popularization of the open source operating system Android with Linux as the kernel among smartphones, the multimedia functions of smartphones have become more powerful.
Currently, it often occurs that a mobile phone or a mobile phone memory card is lost, and multimedia files in the lost mobile phone or the mobile phone memory card may be copied to and used on other devices at will. As the Internet is quite developed, personal information in the lost mobile phone or mobile phone memory card may easily flow to the Internet, resulting in private information leakage of a person concerned and a severe violation of personal privacy thereof, while exerting negative impact on the work and life of the person concerned. Apart from terminal devices such as a mobile phone, other terminal devices are also exposed to the problem of private information leakage after loss. However, currently there is no method available for restricting a multimedia file in a terminal device (especially a smart terminal device) or its memory card from being copied to and used on another device. Therefore, the problem that the multimedia file in the lost mobile phone or mobile phone memory card is illegally copied to and used on another device, resulting in personal private information leakage is not solved.
Embodiments of the present invention provide a method and an apparatus for protecting a file, which can solve the problem that, currently, a multimedia file in a terminal device or its memory card cannot be restricted from being copied to or used on another device, thereby easily leading to illegal leakage of personal information of a person concerned.
The technical solutions for achieving the foregoing objective are as follows:
An embodiment of the present invention provides a method for protecting a file, including:
replacing a secure file header of a file to be protected with its original file header to convert the file to be protected to a secure file; and
preventing, by the secure file header of the secure file acquired by the conversion, another peripheral from performing an access operation on content of the secure file.
An embodiment of the present invention further provides an apparatus for protecting a file, including:
a secure file header processing unit and a replacement processing unit; where
the secure file header processing unit is configured to generate a secure file header; and
the replacement processing unit is configured to replace the secure file header generated by a secure file header generation unit with an original file header of a file to be protected, so as to convert the file to be protected to a secure file, where the secure file header of the secure file prevents another peripheral from performing an access operation on content of the secure file.
It may be seen from the technical solutions provided by the embodiments of the present invention that, in the embodiments of the present invention, by replacing a secure file header with an original file header of a file to be protected, so as to convert the file to be protected to a secure file, the secure file header can prevent another peripheral from performing an access operation on content of the secure file. This method effectively restricts another peripheral from performing access operations, such as illegal read and write, on the file content, which can desirably protect the file content and avoid the problem that after a terminal device or its memory card is lost, personal private information is leaked because random access of another device to its file content cannot be restricted. In addition, in this method, as only the manner of replacing the secure file header with the original file header is used to protect the file content, the file access operation efficiency of a local device is not affected.
To illustrate the technical solutions in the embodiments of the present invention or the prior art more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments or the prior art. Apparently, the accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
For ease of understanding, the following clearly describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
In the embodiments of the present invention, an encrypted file header is acquired by compressing and encrypting an original file header of a file to be protected stored in a terminal device, then, identification information is added into the encrypted file header to acquire a secure file header, and the secure file header is replaced with the original file header of the file to be protected to convert the file to be protected to a secure file. In this way, access operations, such as read and write, on content of the secure file by another peripheral can be prevented through the secure file header of the secure file, so that even if the secure file is copied to another peripheral, accessing the content of the secure file is prevented as the content of the secure file header of the secure file fails to be decrypted, thereby achieving the purpose of protecting the file content and avoiding the problem that after a terminal device or its memory card is lost, personal private information is leaked because random access to its file content by another device cannot be prevented. In addition, in this method, as only the manner of replacing the secure file header with the original file header is used to protect the file content, the file access operation efficiency of a local device is not affected.
Step 1: Generate a secure file header by using an original file header of a file to be protected, where when no permission is granted, the secure file header is capable of restricting accessing content of a file where the secure file header is located.
The processing process of step 1 specifically is: specifying a file to be protected in a terminal device, compressing an original file header of the file to be protected, acquiring an encrypted file header by encrypting content of the compressed file header, and then, adding identification information to the encrypted file header (the added identification information is information used to identify the file as a secure file) to acquire a secure file header.
Step 2: Replace the acquired secure file header with the original file header of the file to be protected. The secure file header may be written into an initial position of the file to be protected to replace the original file header of the file, so as to convert the file to be protected to a secure file.
As the secure file after the conversion in step 2 possesses a secure file header, when no permission is granted (that is, after decryption, content of the original file header corresponding to the secure file header fails to be read), the access to content of this secure file by another device or a local device may be restricted by the secure file header.
In step 1 in the foregoing method, the specified file to be protected in the terminal device may be: any one or more of an audio file (such as a song, a recording of a recorder of a terminal device), an image file (such as a picture, a photograph generated and taken by a camera of a terminal device), a video file (such as a video, a video generated and shot by a video camera of a terminal device), a map data file, a 3D model data file, a CAD data file, and an executable file. As the coding structure of such files is more complex, if their file header parts are encrypted and restricted, and the content of the encrypted file header (such as content of the initial 1024 bytes of the file) fails to be decrypted and read, the file content cannot be cracked.
In step 1 in the foregoing method, common compression methods (such as a Z77 algorithm and a Snappy algorithm) may be adopted to compress the original file header of the file to be protected. The compression can effectively reduce its size, and makes adding the identification information that is used to identify the file as the secure file convenient.
In step 1 in the foregoing method, common encryption methods (such as an MD5 encryption algorithm and a Rijndael encryption algorithm) may be adopted to encrypt the content of the compressed file header; and the encryption may be performed by adopting any one of the following keys, including:
(1) a key acquired by encrypting, by using a password input by a subscriber, a machine unique code of a local device where the file to be protected is located;
(2) a password input by a subscriber;
(3) a machine unique code of a local device where the file to be protected is located; and
(4) a password input by a subscriber and a machine unique code of a local device where the file to be protected is located.
The password input by the subscriber and the adopted key may both be stored in a memory area of the local device where the file to be protected is located, and if the terminal device is a terminal device with a subscriber identity module (SIM card), the password input by the subscriber and the adopted key may both be stored in the subscriber identity module (SIM card) of the terminal device.
In step 1 in the foregoing method, the following manner may be adopted to add the identification information (the identification information is the information used to identify the file as the secure file) to the file header after the encryption: before adding the identification information to the encrypted file header, combine the identification information and the encrypted file header to form a secure file header, where the size of the secure file header is consistent with the size of the original file header of the file to be protected (for instance, if the original file header is 1024 bytes, the secure file header formed by the identification information and the encrypted file header is also 1024 bytes).
For the terminal device that stores the file to be protected to conveniently access the secure file converted from the file to be protected, on the basis of the foregoing method, the following step may be further included:
when the local device where the file to be protected is located performs an access operation on the content of the secure file converted from the file, after processing the secure file header of the secure file, reading its content, and after the reading is successful, allowing the access operation (such as a read or write operation on the file) on the secure file content, and otherwise, not allowing the access operation on the secure file content, and returning prompt information indicating that the operation is not allowed.
In the foregoing processing steps, to be specific, first, the file header of the file is acquired, and if it is determined that the file header includes the identification information, it may be determined according to the identification information that the file is the secure file, and the encrypted file header is acquired from the secure file header (that is, the previously acquired file header) of the secure file (as the secure file header is formed by the identification information and the encrypted file header, the encrypted file header may be acquired from the secure file header after the identification information is confirmed); and
the original file header is acquired by decrypting and decompressing the acquired encrypted file header.
During decryption, a decryption algorithm corresponding to an encryption algorithm adopted by the original file header after the encryption and the compression may be adopted, such as the MD5 encryption algorithm and the Rijndael encryption algorithm; in addition, decrypting the encrypted file header may include the following processing manners based on whether the terminal device has the subscriber identity module (SIM card):
(1) if the terminal device does not have the subscriber identity module (SIM card), the key stored in the memory area of the terminal device may be directly read to decrypt the encrypted file header; and
(2) if the terminal device has the subscriber identity module (SIM card), first, it is determined whether the subscriber identity module (SIM card) in the terminal device is registered on an operation network, and if it is registered, the key stored in the subscriber identity module (SIM card) is read and the encrypted file header is decrypted by using the key; and if it is not registered, decryption failure prompt information is returned.
The foregoing manner (2) may fully utilize an authentication mechanism between the terminal device and the operation network to protect the key stored in the subscriber identity module (SIM card), and even after the terminal device is lost, if the subscriber reports the loss of the SIM card in the terminal device with an operator, the SIM card in the terminal device cannot be registered on the operation network, so that the terminal device cannot read the key in its SIM card and cannot decrypt the secure file in the terminal device, thereby effectively protecting the content of the secure file and avoiding privacy leakage.
A decompression algorithm corresponding to a compression algorithm used for compressing the original file header may be adopted during decompression, such as the Z77 algorithm and the Snappy algorithm.
The content of the original file header of the secure file acquired after the reading is successful is replaced with the secure file header of the secure file to acquire the original file, the file content of which may be accessed in common manners, so as to directly perform access operations, such as read and write, on the original file.
The specific operation of the method of the embodiment is shown in
A mobile phone running an Android operating system is taken as an example in the following to further illustrate the foregoing method for protecting a file.
The Android operating system is an open source mobile phone platform. In an Android system, a file system can be easily modified and consequently, the method provided by the embodiment of the present invention is used to perform security protection for file content in an Android mobile phone running the Android operating system without increasing the complexity of normal use of a mobile phone, such as preventing a file on the mobile phone from being illegally copied to other machines (such as a mobile phone, a tablet computer, or a computer) for performing operations, such as read and write.
As shown in
Step 11: Specify a file to be protected in an Android mobile phone; for instance, the file to be protected may be specified in a file manager of the Android mobile phone.
Step 12: Compress a file header of the specified file to be protected, where the compression may adopt common compression methods (such as a Z77 algorithm and a Snappy algorithm).
Normally, for the file header of the file to be protected, content of the initial 1024 bytes of the file may be selected as the file header, which can ensure the security after the compression and the encryption and does not affect the file processing efficiency during subsequent decryption and read as well, and certainly the file content of any length starting from an initial position of the file may also be selected as the file header as long as it does not affect the read and write processing efficiency of a local device on the secure file converted from the file.
Step 13: Acquire the encrypted file header by encrypting the content after compressing the file header.
The encryption in step 13 may adopt common encryption algorithms (such as the MD5 encryption algorithm and the Rijndael encryption algorithm); during the encryption, a key acquired by encrypting, by using a password input by a subscriber, a machine unique code of the Android mobile phone may be adopted (a key (Key0) acquired by encrypting the machine unique code (ID) by using a password (PW0) input by the subscriber for the first time is used as the key), and store the key (Key0) in a SIM card of the Android mobile phone (such as storing it in a Key file on the SIM card); in use, if the subscriber changes the password, the original password (PW0) is encrypted by using the changed password (PWN) to acquire KeyN, and KeyN is also stored in the Key file that stores Key0 on the SIM card. The specific structure of the Key file may be shown in the following table:
The manner of storing the encryption key on the SIM card can effectively improve the security of file protection. Even if the mobile phone is lost, the Key file that stores the key on the SIM card may still be deleted by delivering a functional short message by the operator and if the SIM card of the mobile phone is changed, the Key file still cannot be read, thereby preventing others from opening a stored secure file on a lost mobile phone and better protecting private information of a person concerned.
A key for encrypting a file header in an Android mobile phone may be set in the following manners.
When the subscriber uses a recorder or a camera of an Android mobile phone for the first time, the subscriber is prompted to input a password (PW0), and the prompt information may be “Please input a password of 6 to 16 bits used to protect a recording, a picture, or a video file, and this password needs to be input when these files are decrypted”. The machine unique code (ID) is encrypted by using the password (PW0) input by the subscriber to acquire the key (Key0) to encrypt a multimedia file, and it is saved in the Key file, and the Key file is saved on a SIM card of the mobile phone. In this way, when a file is stored by using a recorder or camera program of the Android mobile phone, an audio or video file to be protected may directly be converted to a secure file and then the security of all audio files and video files recorded and pictures taken by the mobile phone can be protected.
Any one of the following may also be used as the key: (1) a password input by a subscriber; (2) a machine unique code of an Android mobile phone; or (3) a password input by a subscriber and a machine unique code of an Android mobile phone. The key may also be stored in a secure memory area of the Android mobile phone.
Step 14: Add identification information that identifies a file as a secure file in front of the encrypted file header after the encryption in step 13 to acquire the secure file header. The size of the secure file header is consistent with the size of the original file header (for instance, if the size of the original file header is 1024 bytes, the size of the secure file header is also 1024). Write the secure file header formed by the identification information and the encrypted file header into an initial position of the file to be protected to replace the original file header, so as to convert the file to be protected to the secure file.
As shown in
To facilitate a read operation of the Android mobile phone on the secure file stored in it, as shown in
Step 201: When performing a read operation on a file, read a secure file header of a secure file first.
Step 202: Acquire an encrypted file header from the secure file header (as the secure file header is formed by identification information and the encrypted file header, the encrypted file header may be acquired from the secure file header after the identification information is confirmed).
Step 203: Decrypt the acquired encrypted file header; the following manners may be adopted to decrypt the encrypted file header.
First, it is determined whether the subscriber identity module (SIM card) in the Android mobile phone is registered on an operation network, and if it is registered, read the key stored in the subscriber identity module (SIM card) and use the read key to decrypt the encrypted file header, and perform step 204; if it is not registered, return decryption failure prompt information and end the read operation of the file.
If the key is not stored in the subscriber identity module (SIM card), and, instead, it is stored in the secure memory area of the Android mobile phone, when the encrypted file header is decrypted, the key stored in the secure memory area may be directly read to decrypt the encrypted file header.
Step 204: Decompress content of the decrypted file header to acquire an original file header and read its content (specifically, the content of the decrypted file header may be decompressed to a memory of the Android mobile phone and then its content is read), and read content of the secure file according to content of the original file header.
By applying the methods in the foregoing steps 201 to 204 to the Android mobile phone, the secure read operation of a file in the Android mobile phone is realized, and the content of the secure file may be easily read directly without other additional operations by a subscriber.
To facilitate a write operation of the Android mobile phone on an opened secure file, when a write operation is performed on an opened secure file, the write operation may be performed after the opened file is converted to a secure file by adopting the foregoing steps 11 to 14. That is to say, in the Android mobile phone, the methods in the foregoing steps 11 to 14 may be adopted to re-implement the secure write operation of a file in the Android mobile phone.
In the Android mobile phone, no processing may be performed on operations, such as copying, cutting, and deleting a secure file. Instead, original file operation manners, such as copying, cutting, and deleting are adopted.
When the foregoing methods are used to protect a file in the Android mobile phone, an encryption and a decryption operation menu are added to a right click menu of the mobile phone (such as a right click menu in a file manager program of the Android mobile phone), and when the encryption operation is selected, the file is converted to a secure file, and when the decryption operation is selected, the secure file is converted to a common file, and a subscriber password needs to be input for decryption.
To change the subscriber password on the Android mobile phone, the following operation steps may be adopted.
A menu for setting a security password may be added to the settings of the Android mobile phone. The subscriber needs to input the old password (PW0) as well as the new password (PW1), and decrypt Key0 by using the old password (PW0). If the decrypted ID′ is identical with the machine unique code, the old password (PW0) is correct and the password change is successful; the old password (PW0) is encrypted by using the new password (PW1) to acquire Key1. Key0 and Key1 are stored in the Key file together. Key0 is still used to encrypt and decrypt the secure file.
When the password is to be changed again, PW1 and PW2 need to be input. Key1 is decrypted by using PW1 to acquire PW0′. Then, Key0 is decrypted by using PW0′ to acquire ID′. If ID′ is identical with the machine unique code, PW1 is correct, and the password change is successful. PW0 is encrypted by using PW2 to acquire Key2. Key0 and Key2 are stored in the Key file and Key1 is discarded.
In an unauthorized scenario, the Android mobile phone with the foregoing secure read and write functions is connected to a computer and the secure file in the mobile phone is copied to another device (such as a tablet computer or a computer). Although the secure file may be normally copied, the content (normally the length is 1024 bytes) of the secure file header cannot be interpreted because the device does not have the secure read and write functions and does not have the key for decryption as well. Therefore, valid information of the secure file cannot be acquired.
In an authorized scenario, the subscriber may first decrypt and convert the secure file in the mobile phone to a common file through a decryption operation and copy it to another device (such as a tablet computer or a computer), and then the read and write operation may be performed normally. During the implementation, the operation on the mobile phone may be set as “Decrypt and copy to . . . ”.
After a mobile phone memory card is lost or it is stolen in an unauthorized scenario, when it is used on another mobile phone or another computer, the valid information of the secure file still cannot be acquired. If the mobile phone is lost, the loss may be reported in time and the Key file that stores the key on the SIM card is deleted by delivering a functional short message by the operator to prevent unauthorized query of the content of the secure file on the mobile phone. After the mobile phone is lost, even if the loss is not reported, a subscriber who gets the mobile phone may only query the secure file on the local device. As the subscriber does not have a subscriber password for decryption, the subscriber cannot decrypt or copy the secure file to the computer or the network for use and propagation, thereby effectively restricting personal privacy leakage as a result of mobile phone loss.
By using the foregoing methods, not only a multimedia file (various audio and video files, and picture files) of a mobile phone, such as a recording file (normally in an AMR format) Android, an image file (normally in a JPG format), or a video file (normally in a 3GP format) of an Android mobile phone can be protected, but also any data file with a complex structure, including but not limited to, map data, 3D model data, or CAD data can be protected. As such files all possess a comparatively complex structure, in lack of file header information, valid content of the file is very difficult to recover. However, for files such as Txt and Bmp, as valid information may still be acquired even without a file header, the security effect is not obvious. Besides, for files with rather small file sizes, after the compression, there is no sufficient space to add a secure file header, so the secure protection processing cannot be performed.
By using the method of the embodiment of the present invention, when a terminal device such as an Android mobile phone performs a read or write operation on a stored secure file, it is dependent on a corresponding key (such as a machine unique code of the mobile phone and/or a password input by a subscriber), so that the secure file can only be normally read and written on this mobile phone and cannot be normally read and written on another machine (a mobile phone, a tablet computer, a computer, or the like) if it is not decrypted, and even if it is copied to another machine, the secure file cannot be opened for acquiring content of the file. This achieves the purpose of desirably protecting the content of the secure file and preventing personal private information leakage after the terminal device, such as a mobile phone is lost.
It can be known that, for a mobile phone or a terminal device running other operating systems, file protection can also be performed by using the method provided by the embodiment of the present invention; its implementation manner is basically the same as the implementation manner of that in the Android mobile phone, which is not described herein again. In addition, the method can also be used in the various operating systems running in a computer to implement file protection (for instance, a read and write operation of a secure file can be implemented by a read and write function of a HOOK file), so that the protected secure file can only be used on a local device and cannot be used on another device or uploaded to the Internet for use.
When the method of the embodiment is applied to an Android mobile phone, the following can be realized: (1) a recording, a picture, or a video acquired by a mobile phone can be automatically encrypted to effectively prevent leakage of personal multimedia information; (2) even if the mobile phone is lost, the personal multimedia information can also be processed securely; (3) as when a specified file to be protected is converted to a secure file, only a file header is processed (for example, the file header may be content of the 1024 bytes at an initial position of the file), the performance of an file operation is high and the operation efficiency is not affected; and (4) all the encrypted secure files are not changed in size and are transparent for file read and write of all applications and no other influences are generated.
the secure file header processing unit 21 is configured to generate a secure file header; and
the replacement processing unit 22 is configured to replace the secure file header generated by a secure file header generation unit 21 with an original file header of a file to be protected, so as to convert the file to be protected to a secure file, where the secure file header of the secure file prevents another peripheral from performing an access operation on content of the secure file.
The secure file header processing unit in the foregoing apparatus includes: a compression unit 211, an encryption unit 212, and an identification information adding unit 213, where
the compression unit 211 is configured to compress the original file header of the file to be protected;
the encryption unit 212 is configured to encrypt content of the file header compressed by the compression unit to acquire an encrypted file header; and
the identification information adding unit 213 is configured to add identification information to the encrypted file header acquired through the encryption performed by the encryption unit to acquire a secure file header.
The secure file header processing unit in the foregoing apparatus may further include: a key processing unit 214, configured to encrypt, by using a password input by a subscriber, a machine unique code of a local device where the file to be protected is located to acquire a key.
The secure file header processing unit in the foregoing apparatus may further include: a decryption unit 215 and a decompression unit 216, where
the decryption unit 215 is configured to decrypt the encrypted file header in the secure file header of the secure file; and
the decompression unit 216 is configured to decompress the content of the file header decrypted by the decryption unit to acquire the original file header.
The decryption unit 215 in the foregoing apparatus may be formed by the modules shown in
the determination processing module is configured to: when the key for decryption is acquired, if the key is stored in a subscriber identity module of the local device where the secure file is located, determine whether the subscriber identity module of the local device is registered on an operation network, and if it is registered, send an instruction for permission of reading the key to the key reading module, and if it is not registered, return prompt information indicating that the decrypted key fails to be acquired and send an instruction for ending subsequent processing; and
the key reading module is configured to read, after the instruction for permission of reading the key from the determination processing module is received, the stored key from the subscriber identity module of the local device.
The apparatus for protecting a file of the embodiment may be set in various devices, such as a mobile phone and a computer, to process the files therein and protect the files.
Based on the above, by using the method of the embodiments of the present invention, in a terminal device such as an Android mobile phone or a computer, without affecting normal use by a subscriber, the effective protection of files such as a multimedia file can be realized and content of a protected secure file in a mobile phone is not allowed to be opened on another device to achieve a purpose of avoiding private information leakage and protecting personal privacy.
The foregoing descriptions are merely exemplary specific embodiments of the present invention, but are not intended to limit the protection scope of the present invention. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in the present invention shall fall within the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
This application is a continuation of International Application No. PCT/CN2011/078428, filed on Aug. 15, 2011, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2011/078428 | Aug 2011 | US |
Child | 14090971 | US |