CN105335663B - A kind of encrypted file system based on double image file - Google Patents

A kind of encrypted file system based on double image file Download PDF

Info

Publication number
CN105335663B
CN105335663B CN201510690514.9A CN201510690514A CN105335663B CN 105335663 B CN105335663 B CN 105335663B CN 201510690514 A CN201510690514 A CN 201510690514A CN 105335663 B CN105335663 B CN 105335663B
Authority
CN
China
Prior art keywords
file
image file
real image
data
virtual image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510690514.9A
Other languages
Chinese (zh)
Other versions
CN105335663A (en
Inventor
龙毅宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201510690514.9A priority Critical patent/CN105335663B/en
Publication of CN105335663A publication Critical patent/CN105335663A/en
Application granted granted Critical
Publication of CN105335663B publication Critical patent/CN105335663B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to a kind of encrypted file system based on double image file, each of encrypted file system encryption file is corresponding, and there are one virtual virtual image files, and encryption file corresponding with virtual image file is known as real image file;When a program process carries out file I/O operation to virtual image file, encrypted file system will be converted into for the operation of the file I/O of virtual image file for the operation for corresponding to real image file in inside;By file redirection, accredited process and untrusted breath process for a kind of file type are allowed to directly carry out file I/O operation to the class file in two class file of real image file and virtual image file and an only class file respectively;When an accredited process pair one carries out digital independent or deposit write operation to real image file or virtual image file, data are decrypted or are encrypted automatically;Since accredited process and untrusted process are respectively to different file operations, therefore there is different file control block and data buffer storage, the problem of caching clearly so as to avoid violence.

Description

A kind of encrypted file system based on double image file
Technical field
The invention belongs to field of information security technology, especially a kind of encrypted file system based on double image file.
Background technology
Drive the transparent file encryption system of (File Filter Driver) that can not influence to use based on file filter device Automatically the encryption and decryption that file is realized in the case of the use habit of family are the important technicals to guarantee data security.But mesh The preceding following problem of transparent file encryption technology generally existing based on the driving of file filter device.
Current file system (such as Windows file system) is all the file system with caching, that is, when application program is read When taking the data of a file, whether file system is referring initially to the application program content to be read is cached in memory, if so, then straight It connects and returns to the data cached in memory, otherwise, file system reads certain amount file data from storage medium and (is typically Several pages of data such as pass through the page read operations of file), then on the one hand the file data of reading is cached in memory, On the other hand data needed for application program are returned into application program;When multiple processes open simultaneously same file, they Shared file it is data cached (in Windows file system, file only there are one file control block FCB, therefore it is multiple into When journey opens simultaneously same file, they share a FCB and file cache).
In the file encryption system driven based on file filter device, usually by program process be divided into accredited process and it is non-by Letter process, accredited process are set for specific file type;One accredited process is allowed to obtain respective file type The clear data of file is encrypted, and a untrusted process is not allowed to then, for example the program process of Word programs is Word texts The accredited process of shelves encryption file can obtain the clear data in Word document encryption file, and browser process conduct The untrusted process of Word document is not allowed to then obtain the clear data in Word document encryption file.In this way, when one by When letter process reads an encryption file, what is cached in memory should be clear data, and when a untrusted process reads one When a encryption file, what is cached in memory should be ciphertext data.When an accredited process and a untrusted process are alternately read When taking an encryption file, file encryption system needs the data cached in continuous emptying memory, to ensure to cache in memory There are correct data (plaintext or cipher text), this is known as violence brush caching or the clear cache problem of violence, and violence brush caching or violence are clear Caching reduces the efficiency of file operation;Further, when an accredited process and a untrusted process read one simultaneously When encrypting file, file encryption system is difficult to processing, the data at this moment cached in memory be possible to exist simultaneously in plain text and Ciphertext data, this may not only cause sensitive data to leak, but also accredited process can not work normally.
Data buffer storage problem in being encrypted for transparent file, it has been proposed that some solutions, such as Double buffer scheme, Double buffer scheme is tried so that accredited process and untrusted process read different data cached for same file, and scheme is multiple It is miscellaneous.
In fact, solving violence brush or clear caching in transparent file encryption according to traditional file filter device actuation techniques is The very high thing of extremely difficult, technical difficulty.In this regard, someone starts with to solve relevant issues from file system, i.e., directly develop one It is a meet demand for security transparent encrypted file system (one automatic realize file encryption, decryption file system), and be based on The SEFS transparent encrypted file systems of the more FCB of LayerFSD+ be such a encrypted file system (referring to based on The SEFS transparent encryption platform technologys white paper of LayerFSD technologies).SEFS transparent encryption texts based on the more FCB of LayerFSD+ Part system allows each process to have the FCB and caching of oneself, and the caching of process accredited in this way is plaintext, and the caching of untrusted process It is ciphertext.The encrypted file system of such a more FCB the problem is that:1) when multiple processes access a file simultaneously, Memory usage and file access efficiency are low;2) mode of operating system management file data and file operation is changed, for example, Operating system think same file should only there are one FCB and caching, and to the change of this file data management mode can It can encounter unexpected problem;3) there is a problem of that the data in multiple FCB and caching are inconsistent.
Invention content
The purpose of the present invention is to propose to a kind of encrypted file systems based on double image file, to overcome the prior art not Foot.
In order to achieve the object of the present invention, technical solution proposed by the invention is:
A kind of encrypted file system based on double image file, specially:
There are one corresponding virtual image files for each of described encrypted file system (necessary being) file;The void As file is a kind of virtual, untrue existing file, and the file of necessary being corresponding with virtual image file is known as reality As file;Real image file is encryption file (encrypted file);It encrypts file and original file before encrypting is having the same File type (extension name);There are one file paths, referred to as virtual file paths (non-genuine existing file for each virtual image file Path);In the virtual file paths of virtual image file include the file path of corresponding real image file, or passes through virtual image file Virtual file paths can get the file path of corresponding real image file;Real image file and the virtual image file antithesis file each other, That is a virtual image file is the antithesis file of corresponding real image file, and a real image file is the antithesis text of corresponding virtual image file Part;The program process for being allowed to directly carry out the virtual image file file I/O operation when one carries out file I/O behaviour to virtual image file When making, encrypted file system will be converted into for the operation of the file I/O of virtual image file for the text for corresponding to real image file in inside Part I/O operation.
In the encrypted file system, the program process packet of file I/O operation is carried out to real image file and virtual image file Include accredited process, untrusted process and operating system secondary file I/O operation system process (such as Windows System into Journey);The accredited process is allowed to obtain the program process of the clear data of encryption file, including is allowed to directly access real The journey encrypted the clear data of file as file acquisition or encrypt the clear data of file by accessing virtual image file indirect gain Sequence process;The untrusted process is the program process for not being allowed to obtain the clear data of encryption file, including is not allowed to It directly accesses the clear data of real image file acquisition encryption file or encrypts the bright of file by accessing virtual image file indirect gain The program process of literary data;Accredited process and untrusted process set (the operation process of such as Word programs for file type It is the accredited process of Word document, and the operation process of Internet Explorer is not then);Operating system secondary file I/O The system process of operation is not belonging to the accredited process of any file type and untrusted process;As operating system secondary file I/ When the system process of O operation assists an accredited process to carry out file I/O operation, operating system secondary file I/O operation is System process is allowed to obtain the clear data of encryption file;When the system process of operating system secondary file I/O operation assists one When a untrusted process carries out file I/O operation, the system process of operating system secondary file I/O operation, which is not allowed to obtain, to be added The clear data of ciphertext part;
For every a kind of process in the two class process of accredited process and untrusted process set by a kind of file type, quilt Allow the class file in two class file of real image file and virtual image file to corresponding file type and only a class file is direct Carrying out file I/O operation, (the accredited process of such as Word document or is only permitted to Word document reality such as Word program process As file directly carries out file I/O operation or is only permitted directly to carry out file I/O operation to Word document virtual image file; If the accredited process of Word document is only permitted directly to carry out file I/O operation, Word document to Word document real image file Untrusted process be only permitted directly to carry out file to Word document virtual image file such as the process of Internet Explorer I/O operation);The system process of operating system secondary file I/O operation be allowed to the real image file of any file type and Virtual image file directly carries out file I/O operation, and (it not only can directly carry out file I/O operation to real image file, but also can be to void As file directly carries out file I/O operation);
It is allowed to directly carry out the real image file or virtual image file of a kind of file type the program process of file I/O operation It is referred to as the real image file of respective file type or the program process of virtual image file permitted;Set by a kind of file type Fixed accredited process or untrusted process can only be respective file type two class file of real image file and virtual image file in it is a kind of The program process of file permitted;The system process of operating system secondary file I/O operation is the reality of any file type As file and virtual image file permitted program process (it be both real image file and virtual image file the program permitted into Journey);If the program process permitted is accredited process, it is known as the accredited process permitted;If the program process permitted is Untrusted process is then known as the untrusted process permitted;Arrange accredited process and untrusted process is allowed to respectively to one kind The regulation which class file in two class file of real image file and virtual image file of file type directly carries out file I/O operation claims For accredited process and untrusted process to real image file and virtual image file directly carry out file I/O operation license regulation (according to The license that accredited process and untrusted process directly carry out real image file and the virtual image file file I/O operation provides, one by Letter process or untrusted process can only be a class files in a kind of two class file of real image file and virtual image file of file type The program process permitted, for example, if according to accredited process and untrusted process to real image file and virtual image file directly into The license regulation of style of writing part I/O operation, the accredited process of Word document can only directly carry out I/O behaviour to Word document real image file Make, the untrusted process of Word document can only directly carry out I/O operation to Word document virtual image file, then, Word programs into Journey is the accredited process of Word document real image file permitted, and Internet Explorer program process is Word document The untrusted process of virtual image file permitted) (accredited process and untrusted process and the program process permitted and non-by being permitted Can program process be two different concepts, can the former refers to a program process directly or indirectly obtain a kind of files classes The clear data of the encryption file of type, the latter refer to a program process can directly to a kind of real image file of file type or A kind of directly progress file I/O operation in two class file of virtual image file;One program process can or cannot either obtain one The clear data of a encryption file, but a program process can directly or indirectly access an encryption file, because it is wanted Be the program process of real image file (encryption file) permitted or be virtual image file the program process permitted);
When a program process request opens or creates a real image file, the encrypted file system first judges to open Or it is accredited process or untrusted process to create the program process of real image file, then according to accredited process and untrusted process The license regulation that file I/O operation is directly carried out to real image file and virtual image file, determines whether program process is allowed to reality As file directly carry out file I/O operation (i.e. program process whether be the real image file that open or create the journey permitted Sequence process), if not being allowed to, the operation (outside) that program process is opened or created real image file by encrypted file system is reset To the real image file that open or create to program process correspondence virtual image file (if a program process is not real image file The program process permitted must be then the program process of the correspondence virtual image file of real image file permitted), after redirection File Open or create in operation, the file path of the real image file that program process will be opened or be created is converted into corresponding void As the virtual file paths of file;If program process is allowed to directly carry out file I/O operation, program process to real image file Directly open or create real image file;
When a program process permitted is opened or creates a virtual image file, encrypted file system is by that will open Or the virtual file paths of the virtual image file created obtain the file path of corresponding real image file, and inside encrypted file system It will be converted into the opening for real image file for the opening of virtual image file or establishment operation or creates operation;
When a program process permitted is opened or creates a real image file or virtual image file, if encryption file system System find open or create real image file, or open or create virtual image file correspondence real image file, be one it is non-plus Close file, then encrypted file system by non-encrypted real image file encryption at encryption file;
When real image file opened or created by accredited process of a program process pair permitted or virtual image file It carries out when data read operation (file I/O read operation), encrypted file system returns after decrypting the encryption data of reading;(this When, the program process permitted is the system process of accredited process and/or operating system secondary file I/O operation)
When real image file opened or created by accredited process of a program process pair permitted or virtual image file (file I/O write operation) when data deposit write operation is carried out, encrypted file system will carry out again after will depositing the clear data encryption write Data deposit write operation;(at this point, the program process permitted is accredited process and/or operating system secondary file I/O operation is System process)
When real image file opened or created by untrusted process of a program process pair permitted or virtual image text Part carries out when data read operation (file I/O read operation), and encrypted file system directly returns to the encryption data of reading;(this When, the program process permitted is the system process of untrusted process and/or operating system secondary file I/O operation)
When real image file opened or created by untrusted process of a program process pair permitted or virtual image text Part carries out (file I/O write operation) when data deposit write operation, and it is in plain text that encrypted file system, which first checks that determination will deposit the data write, Data or ciphertext data are clear datas to deposit the data write, then encrypted file system will first deposit the clear data write Data are carried out after encryption again and deposit write operation, are ciphertext data to deposit the data write, then directly carries out data and deposits write operation;(this When, the program process permitted is the system process of untrusted process and/or operating system secondary file I/O operation)
Fileinfo is carried out in real image file of a program process pair permitted or virtual image file, and operation is set It is preceding or later, file control block (File Control of the encrypted file system to real image file and virtual image file in memory Block, FCB) and data buffer storage (Cache) progress fileinfo synchronization process, the fileinfo includes file size (File Size), file allocated length (File Allocation Size), and influence the alternative document information of file I/O operation;
Carry out before data deposit write operation in real image file of a program process pair permitted or virtual image file or Later, encrypted file system synchronizes data cached (the Cached data) of real image file and virtual image file in memory Processing.
It should be noted that during a program process is opened or creates a file, progress file I/O operation, The system process of operating system secondary file I/O operation can participate in file I/O operation such as Windows System processes, such as into The Page readings of row data, Page write operations etc., at this point, the text that the system process of operating system secondary file I/O operation is carried out What the file I/O that part I/O operation is considered as opening or the program process of establishment file, progress file I/O operation is carried out operated A part, for example, if opening or establishment file, carry out file I/O operation is an accredited process, operating system auxiliary The file I/O operation that the file that the system process of file I/O operation is opened or created for accredited process is carried out is considered to be A part for accredited process file I/O operation;If opening or the program process of establishment file, progress file I/O operation being one Untrusted process, the then file that the system process of operating system secondary file I/O operation is opened or created for untrusted process The file I/O operation carried out is considered to be a part for untrusted process file I/O operation.
The license that accredited process and untrusted process directly carry out real image file and the virtual image file file I/O operation provides There are many schemes, be below two kinds of possible accredited processes and untrusted process to real image file and virtual image file directly into style of writing The license of part I/O operation provides scheme.
Accredited process and untrusted process directly carry out file I/O operation license regulation side to real image file and virtual image file Case one:
In a kind of two class process of accredited process and untrusted process for file type, only untrusted process is allowed to File I/O operation is directly carried out to the real image file of respective file type, untrusted process is not allowed to respective file type Virtual image file directly carry out file I/O operation, only accredited process is allowed to direct to the virtual image file of respective file type File I/O operation is carried out, accredited process is not allowed to directly carry out file I/O operation to the real image file of respective file type.
Accredited process and untrusted process directly carry out file I/O operation license regulation side to real image file and virtual image file Case two:
In a kind of two class process of accredited process and untrusted process for file type, only accredited process is allowed to pair The real image file of respective file type directly carries out file I/O operation, and accredited process is not allowed to the void to respective file type As file directly carries out file I/O operation, only untrusted process be allowed to the virtual image file of respective file type directly into Style of writing part I/O operation, untrusted process are not allowed to directly carry out file I/O operation to the real image file of respective file type.
When a program process permitted is opened or creates a real image file or virtual image file, encrypted file system The real image file of opening or establishment, or the correspondence real image file of opening or the virtual image file created are judged according to characteristic, It is encryption file or non-encrypted file;
When real image file opened or created by untrusted process of a program process pair permitted or virtual image text Part carries out (file I/O write operation) when data deposit write operation, and encrypted file system will deposit the file write according to characteristic judgement Data are clear data or ciphertext data.
Encrypted file system carries out real image file and the virtual image file scheme of fileinfo and data cached synchronization process There are many, it is several possible schemes below.
The scheme one of fileinfo and data cached synchronization process:
A file synchronization filter driving and a file synchronization process are introduced in encrypted file system;The file Synchronized process is a program process for operating in user's space;The file synchronization process is real image file and virtual image file The program process permitted;
A real image file or the virtual image are opened or created to one other than the file synchronization process program process permitted (minifilter of such as Windows is directed to the PostCreate processing of file Create I/O operations), file synchronization after file Filter driving checks in the file control block of the file opened or created in memory whether created customized user Context (Custom User Context), if not having, the driving of file synchronization filter creates one in file control block Customized user's context;
Fileinfo is carried out in real image file of a program process pair permitted or virtual image file, and operation is set Preceding or later, file synchronization filter drives to file synchronization process and sends out fileinfo synchronization notice;
After receiving fileinfo synchronization notice, the program process permitted is opened or created to file synchronization process into style of writing Part information setting operate targeted file antithesis file, be arranged antithesis file fileinfo so that file synchronization into After journey and the program process permitted complete fileinfo setting operation, in the file control block and data buffer storage of antithesis file Fileinfo and the program process permitted carry out file control block and data that fileinfo setting operates targeted file Fileinfo in caching is consistent (unanimously not necessarily, since it is considered that the factor of possible additional header;It is slow for data It deposits, may make the file size of data buffer storage consistent by fileinfo setting operation);
After the request of the fileinfo of file synchronization process setting file is intercepted in the driving of file synchronization filter, text is checked Whether there is customized user's context in the file control block of part in memory, if so, I/O operation sensitive information is then allowed to be arranged Request is by (transmit downwards, be configured), otherwise, directly returns to setting and operates successfully (without being updated operation);
Real image file of a program process pair permitted or virtual image file carry out file data deposit write operation it Preceding or later, file synchronization filter drives to file synchronization process and sends out file cache data synchronization notice;
After receiving file cache data synchronization notice, file synchronization process open or create the program process permitted into Row file data deposits the antithesis file of the targeted file of write operation, deposits and writes part random data (this random data deposits write operation As the signal of data cached synchronization, to distinguish fileinfo synchronization), it is then shut off antithesis file;
After the request that file synchronization process deposits file data is intercepted in the driving of file synchronization filter, including inspection file Whether customized user's context is had in the file control block deposited, if so, file in memory data cached is then emptied, Then direct returned data deposits write operation success (not transmitting downwards, really progress data deposit write operation), otherwise, without emptying Operation, direct returned data deposit write operation success;
The fileinfo or data cached simultaneously operating of real image file of file synchronization process pair or virtual image file, no Trigger new synchronization process operation (circulation synchronous is avoided to update);
It is driven if the encrypted file system includes a file encryption filter, file synchronization filter drives same It walks more new function and is driven by file encryption filter and implemented.
The scheme two of fileinfo and data cached synchronization process:
A file synchronization process is introduced in encrypted file system;The file synchronization process is one and operates in user The program process in space;The file synchronization process is the program process of real image file and virtual image file permitted;
Fileinfo is carried out in real image file of a program process pair permitted or virtual image file, and operation is set Preceding or later, encrypted file system sends out fileinfo synchronization notice to file synchronization process;
After receiving fileinfo synchronization notice, the program process permitted is opened or created to file synchronization process into style of writing Part information setting operate targeted file antithesis file, be arranged antithesis file fileinfo so that file synchronization into After journey and the program process permitted complete fileinfo setting operation, in the file control block and data buffer storage of antithesis file Fileinfo and the program process permitted carry out file control block and data that fileinfo setting operates targeted file Fileinfo in caching is consistent;
After encrypted file system receives the request of the fileinfo of file synchronization process setting file, fileinfo is completed Setting operation;
Real image file of a program process pair permitted or virtual image file carry out file data deposit write operation it Preceding or later, encrypted file system sends out file cache data synchronization notice to file synchronization process;
After receiving file cache data synchronization notice, file synchronization process open or create the program process permitted into Row file data deposits the antithesis file of the targeted file of write operation, deposits and writes part random data, is then shut off antithesis file;
After encrypted file system receives the request that file synchronization process deposits file data, file is emptied in memory Data cached, then direct returned data deposits write operation success (do not carry out data really and deposit write operation);
The fileinfo or data cached simultaneously operating of real image file of file synchronization process pair or virtual image file are not Trigger new synchronization process operation (circulation synchronous is avoided to update);
It is driven if the encrypted file system includes a file encryption filter, the text of file synchronization filter driving Part information and data cached synchronization process function are driven by file encryption filter to be implemented.
The scheme three of fileinfo and data cached synchronization process:
A file synchronization filter driving is introduced in encrypted file system;
After a program process permitted is opened or creates a real image file or virtual image file, file synchronization filtering Device driving checks in the file control block of the file opened or created in memory whether created customized user or more Literary (Custom User Context), if not having, the driving of file synchronization filter creates one in file control block and makes by oneself The user's context of justice;
Fileinfo is carried out in real image file of a program process pair permitted or virtual image file, and operation is set Preceding or later, the driving of file synchronization filter is opened or is created the program process permitted in inner nuclear layer and carries out fileinfo setting The antithesis file of targeted file is operated, checks in the file control block of antithesis file in memory whether there is customized use Family context, if so, then file synchronization filter is driven through the fileinfo of file I/O operation setting antithesis file, or The document control fileinfo in the block of antithesis file is directly set, and when the fileinfo of setting is file size or file point When with length, by calling cache management function to reset the data buffer storage size of file, so that file synchronization filter After completing fileinfo setting operation with the program process permitted, the file control block and the text in data buffer storage of antithesis file Part information and the program process permitted carry out the file control block of the targeted file of fileinfo setting operation and data are delayed Fileinfo in depositing is consistent;If without customized user's context, antithesis file is not carried out at fileinfo synchronization Reason;
Real image file of a program process pair permitted or virtual image file carry out file data deposit write operation it Preceding or later, the driving of file synchronization filter is opened or is created the program process permitted in inner nuclear layer and carries out file data and deposit to write The antithesis file of targeted file is operated, checks in the file control block of antithesis file in memory whether there is customized use Family context, if so, then the driving of file synchronization filter empties antithesis file in memory data cached, it is otherwise, then not right Antithesis file carries out data cached null clear operation;
It is driven if the encrypted file system includes a file encryption filter, the text of file synchronization filter driving Part information and data cached synchronization process function are driven by file encryption filter to be implemented.
If increasing a file encryption filter driving in the encrypted file system, the encrypted file system File encryption processing function, including accredited process and untrusted process differentiate, File Open or establishment redirection, file data add It is close and decryption, encryption file and non-encrypted file differentiate, by non-encrypted file be encrypted to encryption file, deposit write data be ciphertext also Differentiation, fileinfo and the data cached synchronization process of plaintext, in some or all of driven by file encryption filter it is real It applies.
Foregoing two kinds of accredited processes and untrusted process directly carry out file I/O to real image file and virtual image file The license regulation scheme of operation is static, i.e., an accredited process or untrusted process are fixedly allowed to be directed to a real image File or virtual image file directly carry out file I/O operation, in fact, license regulation scheme can be dynamic, i.e., one accredited Whether process or untrusted process are dynamically determined being allowed to directly carry out file for a real image file or virtual image file I/O operation is a kind of dynamic license regulation scheme below:
When an accredited process is opened or creates a real image file, the encrypted file system checks whether existing non- The real image file that current accredited process will be opened or be created is opened or created to accredited process, if so, then will current accredited process The operation for opening or creating real image file is redirected to the correspondence virtual image for the real image file that current accredited process will be opened or be created Otherwise file further checks whether to have other accredited processes openings or create current accredited process to open or create Real image file correspondence virtual image file, if so, the operation for then current accredited process being opened or being created real image file redirects The correspondence virtual image file for the real image file that open or create to current accredited process, otherwise, current accredited process is allowed to beat Open or create its real image file that open or create;
When a untrusted process is opened or creates a real image file, the encrypted file system checks whether existing The real image file that current untrusted process will be opened or be created is opened or created to accredited process, if so, then will be current untrusted Process opening or the operation for creating real image file are redirected to pair for the real image file that current untrusted process will be opened or be created Virtual image file is answered, otherwise, further checks whether to have other untrusted processes openings or create current untrusted process to want The correspondence virtual image file for the real image file opened or created, if so, then opening or creating real image file by current untrusted process Operation be redirected to the correspondence virtual image file of the real image file that current untrusted process will be opened or be created, it is otherwise, current non- Accredited process is permitted to open or creates its real image file that open or create.
Encrypted file system can record a real image file or virtual image file be current by marking in file control block It is opened or is created by accredited process or untrusted process.
In the case where dynamic permits regulation scheme, encrypted file system permits the processing of alternative document I/O operation in static state As under regulation scheme.
It can be seen that, be based on technical scheme of the present invention from the above description, 1) when multiple processes access a file simultaneously, At most there are two file caches, memory usage and file access efficiency to be all improved;2) without changing operating system pipe The mode for managing file data and file operation because from the angle of operating system, file that untrusted process accesses and it is accredited into The file that journey accesses is two different files;3) data in two FCB and caching are synchronized updates;4) it avoids frequently , without clear caching, is only there is accredited process when accredited process and untrusted process open simultaneously a file in clear caching File is opened simultaneously with untrusted process, and the modification that one of process has carried out file fileinfo and/or data is grasped When making, it can just be directed to the FCB of file and data cached progresss fileinfo update and cache clear operation.
Description of the drawings
Fig. 1 is the system principle schematic diagram of the present invention.
Fig. 2 is to implement the present invention's using the driving of file redirection filter and user's space file system under Windows System structure.
Fig. 3 is to be implemented using file encryption filter driving, the driving of file redirection filter for Network File System The system structure of the present invention.
Specific implementation mode
The specific implementation of the present invention is described with case study on implementation below in conjunction with the accompanying drawings.
Embodiment one,
Using the driving of file filter device and user's space file system (File System in User under Windows Space, FUSE) implement the present invention.
The license that accredited process and untrusted process directly carry out real image file and the virtual image file file I/O operation provides Using:Allow untrusted process directly to carry out file I/O operation to real image file, allows accredited process straight to virtual image file Tap into style of writing part I/O operation.
Fig. 2 is the system knot for implementing the present invention under Windows using the driving of file filter device and user's space file system Structure, wherein file redirection is that a file filter device drives with the driving of synchronous filtering device, and FUSE file drivings are user's spaces The file system driver of file system, FUSE user space programs are the user space programs of user's space file system;File It redirects and the driving of synchronous filtering device is responsible for implementing the differentiation of accredited process or untrusted process, according to being permitted for file I/O operation It could dictate that progress File Open or create the redirection operated and fileinfo and data cached synchronization process, and FUSE User space program is responsible for implementing file data encryption and decryption, encryption file and non-encrypted file differentiates, by non-encrypted file It is encrypted to encryption file, deposits the differentiation for writing that data are ciphertext or plaintext, the correspondence of virtual image file and real image file, and it is final File I/O operation to real image file;Real image file can be located at any position, as subscriber's main station is local, network server.
Windows file filter devices driving (filter may be used in the exploitation of file redirection and the driving of synchronous filtering device Driver) or micro-filter drives (mini-filter driver) technological development.Using Windows file filter devices driving or Micro-filter driving carries out accredited process and the judgement of untrusted process has been the technology of maturation, few narration herein;For file It redirects, the driving of Windows filters or micro-filter driving can be utilized to realize reparse point functions (referring to WDK's Simrep.c codes).
The exploitation of user's space file system can be developed using the user's space file system technology under Windows, For example, using file driving or file filter device the driving exploitation FUSE file drivings of Windows, developed with windows desktop Technological development FUSE user space programs, and by Windows between FUSE file drivings and FUSE user space programs Communication mechanism between stratum nucleare and client layer is communicated;Alternatively, it is double to carry out exploitation using existing Windows FUSE frames As file system.Under a windows environment how development of user space file system, disclosed data include on internet all It is described, herein few narration.
A kind of adoptable technical solution of the virtual file paths of the corresponding virtual image file of one real image file is:Virtual text Part catalogue real image file path, here, virtual file directory is a file mesh being not present in user's space file system Record, and the fullpath of the real image file path real image file that be process will open or create includes file reel (this where file In, the expression of inner nuclear layer may be used in the file reel instruction in the fullpath of original, can also use the expression of client layer; According to the expression of client layer, then the colon after drive is removed, such as D:It is converted into D).
Stream encryption or block encryption may be used to the encryption of file data.In order to distinguish encryption file and non-encrypted file with And storage encrypting and decrypting is for information about, head (the encryption head that encryption file attachment one can be given special, comprising characteristic information Portion).
If it includes an additional encryption overhead to encrypt file,:
When a untrusted program process opening or a real image file is created, or when an accredited program process is opened Or when creating a virtual image file, encrypted file system judges that the real image opened or created is literary according to the characteristic of encryption overhead Part, or the correspondence real image file of virtual image file opening or create, are encryption files or non-encrypted file;
When a untrusted process and the system process of operating system secondary file I/O operation are in encrypted file system One real image file carries out data when depositing write operation, and the user space program of encrypted file system is according to the characteristic of encryption overhead It is judged that deposit the file data write is clear data or ciphertext data;
When accredited process and the system process of operating system secondary file I/O operation are to a void in encrypted file system When carrying out file data reading as file, deposit write operation, FUSE file drivings or FUSE user space programs will be first to reading, depositing The initial position for writing data carries out head bias processing, is then then converted to the digital independent for corresponding real image file, deposits and write Operation;
When accredited process and the system process of operating system secondary file I/O operation are to a void in encrypted file system When carrying out file size, the setting operation of file allocated length as file, FUSE file drivings or FUSE user space programs are also wanted Corresponding head bias processing is first carried out, the file size for corresponding real image file, file allocated length are then then converted to Setting operation.
Fileinfo and data cached synchronization process in file control block and data buffer storage or by file redirection It drives with synchronous filtering device and individually completes, or by file redirection and the driving of synchronous filtering device, FUSE user space programs one It rises and completes;If being completed together with the driving of synchronous filtering device, FUSE user space programs by file redirection, FUSE user's spaces The operation process of program implements the fileinfo of file synchronization process and data cached synchronizing function.
If fileinfo and data cached synchronization process are individually completed by file redirection and the driving of synchronous filtering device, Fileinfo and data cached synchronization process should be arranged in fileinfo and data are deposited before writing and carried out, i.e., is driven in file filter device The stage of dynamic processing pre-operation (Pre-operation) carries out, this is because the driving of Windows file filter devices is at rear operation The reason stage (Post-operation), many operations cannot be carried out directly due to being limited IRQL.
If fileinfo and data cached synchronization process are by file redirection and the driving of synchronous filtering device, FUSE user's sky Between program complete together, then file redirection and the driving of synchronous filtering device are logical with the data interaction between FUSE user space programs The communication mechanism for crossing Windows inner nuclear layers and client layer is implemented.Fileinfo and data cached synchronization process can be in fileinfos Setting or data are deposited and are carried out before or after writing, if being carried out later, due to the rear operation of Windows file filter devices driving The IRQL in stage is limited, and file redirection possibly can not directly be sent out together to FUSE user space programs with the driving of synchronous filtering device Step notice, at this moment file redirection drives with synchronous filtering device to send out synchronization notice by creating the WorkItem of inner nuclear layer.
Implement the present invention in other operating systems, in some upper small difference of specific implementation, but is in general thought The same.
Embodiment two,
Implement the present invention's for the existing Network File System for being invented a local disk in user's main system Scheme.
System structure is as shown in Figure 3.
The license that accredited process and untrusted process directly carry out real image file and the virtual image file file I/O operation provides Using:Allow untrusted process directly to carry out file I/O operation to real image file, allows accredited process directly to virtual image text Part carries out file I/O operation.
Each file in Network File System is real image file, a corresponding virtual image file, the file road of virtual image file The method of the construction of diameter is similar with case study on implementation one:Real image file path is included in the path of virtual image file.
Implement a file encryption in user's main system to drive with synchronous filtering device, function includes:Accredited process and Untrusted process differentiates, File Open or establishment redirection, file data encryption and decryption, encryption file and non-encrypted file are sentenced Not, non-encrypted file is encrypted to encryption file, deposits and writes the differentiation, file control block and caching number that data are ciphertext or plaintext According to synchronization process, i.e., converted in addition to handling the concrete operations of file data and will be operated for the file I/O of virtual image file For for almost other every other functions outside the operation of the file I/O of real image file.
Implement a file redirection filter driving on the host of file server operation, function is file weight Orientation, the operation for File Serving System program being opened or being created the virtual image are redirected to corresponding real image file, i.e., will be directed to void As the file I/O operation of file is converted into the file I/O operation for real image file.
Fileinfo and data cached synchronization process can individually be completed by file encryption and the driving of synchronous filtering device, or A file synchronization program is introduced, is completed together with the driving of synchronous filtering device, file synchronization program process by file encryption.File Some main points that information and data cached synchronization process are implemented are the same as case study on implementation one.
Using file system driver technological development, (micro-filter of such as Windows drives skill for file encryption filter driving Art).
Other unaccounted particular techniques are implemented, and are it is well known that not saying certainly for those skilled in the relevant art Bright.

Claims (10)

1. a kind of encrypted file system based on double image file, it is characterized in that:
There are one corresponding virtual image files for each file in the encrypted file system;The virtual image file is a kind of virtual , untrue existing file, and the file of necessary being corresponding with virtual image file is known as real image file;The real image text Part is encryption file;Encrypt file and original file file type having the same before encrypting;There are one each virtual image files File path, referred to as virtual file paths;It include the file of corresponding real image file in the virtual file paths of virtual image file Path, or can get by the virtual file paths of the virtual image file file path of corresponding real image file;Real image file and Virtual image file antithesis file each other, i.e., a virtual image file is the antithesis file of corresponding real image file, and a real image file is The antithesis file of corresponding virtual image file;It is allowed to directly carry out the virtual image file program process pair of file I/O operation when one When virtual image file carries out file I/O operation, encrypted file system will be converted into inside for the operation of the file I/O of virtual image file For the file I/O operation of corresponding real image file.
2. the encrypted file system according to claim 1 based on double image file, it is characterized in that:
It includes accredited process, untrusted process and behaviour to carry out the program process of file I/O operation to real image file and virtual image file Make the system process of system secondary file I/O operation;The accredited process is allowed to obtain the clear data of encryption file Program process, including be allowed to directly access the clear data of real image file acquisition encryption file or by between access virtual image file Obtain the program process for the clear data for taking encryption file;The untrusted process is the plaintext for not being allowed to obtain encryption file The program process of data, including be not allowed to directly access the clear data or empty by accessing of real image file acquisition encryption file As file indirect gain encrypts the program process of the clear data of file;Accredited process and untrusted process for file type and Setting;The system process of operating system secondary file I/O operation is not belonging to the accredited process of any file type and untrusted Process;When the system process of operating system secondary file I/O operation assists an accredited process to carry out file I/O operation, behaviour The system process for making system secondary file I/O operation is allowed to obtain the clear data of encryption file;When operating system assists text When the system process of part I/O operation assists a untrusted process to carry out file I/O operation, operating system secondary file I/O behaviour The system process of work is not allowed to obtain the clear data of encryption file;
For every a kind of process in the two class process of accredited process and untrusted process set by a kind of file type, it is allowed to The class file in two class file of real image file and virtual image file and an only class file to corresponding file type directly carry out File I/O operates;The system process of operating system secondary file I/O operation is allowed to the real image file to any file type File I/O operation is directly carried out with virtual image file;
The program process for being allowed to directly carry out the real image file or virtual image file of a kind of file type file I/O operation is claimed For the real image file of respective file type or the program process of virtual image file permitted;Set by a kind of file type Accredited process or untrusted process can only be respective file type two class file of real image file and virtual image file in a class file The program process permitted;The system process of operating system secondary file I/O operation is the real image text of any file type The program process of part and virtual image file permitted;If the program process permitted is accredited process, be known as permitted by Letter process;If the program process permitted is untrusted process, it is known as the untrusted process permitted;Arrange accredited process and Untrusted process is allowed to which class file in two class file of real image file and virtual image file to a kind of file type respectively The regulation of directly progress file I/O operation is known as accredited process and untrusted process and is directly carried out to real image file and virtual image file The license regulation of file I/O operation;
When a program process request opens or creates a real image file, the encrypted file system first judges to open or create The program process for building real image file is accredited process or untrusted process, then according to accredited process and untrusted process to reality As file and virtual image file directly carry out file I/O operation license regulation, determine program process whether be allowed to real image text Part directly carries out file I/O operation, if not being allowed to, program process is opened or created real image file by encrypted file system Operation is redirected to the correspondence virtual image file for the real image file that program process will be opened or be created, the File Open after redirection Or create in operation, the file path for the real image file that program process will be opened or be created is converted into the void of corresponding virtual image file Quasi- file path;If program process is allowed to directly carry out file I/O operation to real image file, program process directly open or Create real image file;
When a program process permitted is opened or creates a virtual image file, encrypted file system is by that will open or create The virtual file paths for the virtual image file built obtain the file path of corresponding real image file, and by needle inside encrypted file system Opening or establishment operation to virtual image file are converted into the opening for real image file or create operation;
When a program process permitted is opened or creates a real image file or virtual image file, if encrypted file system is sent out Now open or create real image file, or open or create virtual image file correspondence real image file, be one non-encrypted File, then encrypted file system by non-encrypted real image file encryption at encryption file;
When real image file opened or created by accredited process of a program process pair permitted or virtual image file carry out When data read operation, encrypted file system returns after decrypting the encryption data of reading;
When real image file opened or created by accredited process of a program process pair permitted or virtual image file carry out When data deposit write operation, encrypted file system will carry out data and deposit write operation again after will depositing the clear data encryption write;
When real image file opened or created by untrusted process of a program process pair permitted or virtual image file into When row data read operation, encrypted file system directly returns to the encryption data of reading;
When real image file opened or created by untrusted process of a program process pair permitted or virtual image file into When row data deposit write operation, it is clear data or ciphertext data that encrypted file system, which first checks that determination will deposit the data write, if It is clear data to deposit the data write, then encrypted file system will carry out data and deposit to write again after will first depositing the clear data encryption write Operation, is ciphertext data to deposit the data write, then directly carries out data and deposit write operation;
Before real image file of a program process pair permitted or virtual image file carry out fileinfo setting operation or Later, encrypted file system carries out file letter to real image file and the virtual image file file control block in memory and data buffer storage Synchronization process is ceased, the fileinfo includes file size, file allocated length, and influences other texts of file I/O operation Part information;
Before or after real image file of a program process pair permitted or virtual image file progress data deposit write operation, Encrypted file system synchronizes processing to real image file and virtual image file in memory data cached.
3. the encrypted file system according to claim 2 based on double image file, it is characterized in that:
A kind of license that accredited process and untrusted process directly carry out real image file and the virtual image file file I/O operation provides It is:
In a kind of two class process of accredited process and untrusted process for file type, only untrusted process is allowed to right The real image file of file type is answered directly to carry out file I/O operation, untrusted process is not allowed to the void to respective file type Picture file directly carries out file I/O operation, and only accredited process is allowed to directly carry out the virtual image file of respective file type File I/O operates, and accredited process is not allowed to directly carry out file I/O operation to the real image file of respective file type.
4. the encrypted file system according to claim 2 based on double image file, it is characterized in that:
Accredited process and untrusted process directly carry out file I/O to real image file and virtual image file and operate a kind of license regulation It is:
In a kind of two class process of accredited process and untrusted process for file type, only accredited process is allowed to correspondence The real image file of file type directly carries out file I/O operation, and accredited process is not allowed to the text of the virtual image to respective file type Part directly carries out file I/O operation, and only untrusted process is allowed to the virtual image file of respective file type directly into style of writing Part I/O operation, untrusted process are not allowed to directly carry out file I/O operation to the real image file of respective file type.
5. the encrypted file system according to claim 2 based on double image file, it is characterized in that:
When program process permitted is opened or creates a real image file or virtual image file, encrypted file system according to Characteristic judge open or create real image file, or open or create virtual image file correspondence real image file, be plus Ciphertext part or non-encrypted file;
When real image file opened or created by untrusted process of a program process pair permitted or virtual image file into When row data deposit write operation, it is clear data or close that encrypted file system will deposit the file data write according to characteristic judgement Literary data.
6. the encrypted file system according to claim 2 based on double image file, it is characterized in that:
Encrypted file system carries out real image file and virtual image file a kind of scheme of fileinfo and data cached synchronization process It is as follows:
A file synchronization filter driving and a file synchronization process are introduced in encrypted file system;The file synchronization Process is a program process for operating in user's space;The file synchronization process is real image file and virtual image file by being permitted Can program process;
A real image file or virtual image file are opened or created to one other than the file synchronization process program process permitted Afterwards, the driving of file synchronization filter checks whether created certainly in the file control block of the file opened or created in memory The user's context of definition, if not having, the driving of file synchronization filter creates a customized use in file control block Family context;
Before real image file of a program process pair permitted or virtual image file carry out fileinfo setting operation or Later, file synchronization filter drives to file synchronization process and sends out fileinfo synchronization notice;
After receiving fileinfo synchronization notice, file synchronization process is opened or is created the program process permitted and carries out file letter Breath setting operate targeted file antithesis file, be arranged antithesis file fileinfo so that file synchronization process and After the program process permitted completes fileinfo setting operation, the file control block and the file in data buffer storage of antithesis file Information and the program process permitted carry out file control block and data buffer storage that fileinfo setting operates targeted file In fileinfo it is consistent;
After the request of the fileinfo of file synchronization process setting file is intercepted in the driving of file synchronization filter, check that file exists Whether customized user's context is had in file control block in memory, if so, the setting of I/O operation sensitive information is then allowed to be asked Pass through, otherwise, directly returns to setting and operate successfully;
Carry out before file data deposits write operation in real image file of a program process pair permitted or virtual image file or Later, file synchronization filter drives to file synchronization process and sends out file cache data synchronization notice;
After receiving file cache data synchronization notice, the program process permitted is opened or created to file synchronization process into style of writing Number of packages is deposited according to the antithesis file for depositing the targeted file of write operation and writes part random data, be then shut off antithesis file;
After the request that file synchronization process deposits file data is intercepted in the driving of file synchronization filter, file is checked in memory File control block in whether have customized user's context, if so, then emptying file in memory data cached, then Direct returned data deposits write operation success, and otherwise, without null clear operation, direct returned data deposits write operation success;
The fileinfo or data cached simultaneously operating of real image file of file synchronization process pair or virtual image file, are not triggered New synchronization process operation;
It is driven if the encrypted file system includes a file encryption filter, the synchronization of file synchronization filter driving is more New function is driven by file encryption filter to be implemented.
7. the encrypted file system according to claim 2 based on double image file, it is characterized in that:
Encrypted file system carries out real image file and virtual image file a kind of scheme of fileinfo and data cached synchronization process It is as follows:
A file synchronization process is introduced in encrypted file system;The file synchronization process is one and operates in user's space Program process;The file synchronization process is the program process of real image file and virtual image file permitted;
Before real image file of a program process pair permitted or virtual image file carry out fileinfo setting operation or Later, encrypted file system sends out fileinfo synchronization notice to file synchronization process;
After receiving fileinfo synchronization notice, file synchronization process is opened or is created the program process permitted and carries out file letter Breath setting operate targeted file antithesis file, be arranged antithesis file fileinfo so that file synchronization process and After the program process permitted completes fileinfo setting operation, the file control block and the file in data buffer storage of antithesis file Information and the program process permitted carry out file control block and data buffer storage that fileinfo setting operates targeted file In fileinfo it is consistent;
After encrypted file system receives the request of the fileinfo of file synchronization process setting file, fileinfo setting is completed Operation;
Carry out before file data deposits write operation in real image file of a program process pair permitted or virtual image file or Later, encrypted file system sends out file cache data synchronization notice to file synchronization process;
After receiving file cache data synchronization notice, the program process permitted is opened or created to file synchronization process into style of writing Number of packages is deposited according to the antithesis file for depositing the targeted file of write operation and writes part random data, be then shut off antithesis file;
After encrypted file system receives the request that file synchronization process deposits file data, the caching of file in memory is emptied Data, then direct returned data deposit write operation success;
The fileinfo or data cached simultaneously operating of real image file of file synchronization process pair or virtual image file do not trigger New synchronization process operation;
It is driven if the encrypted file system includes a file encryption filter, the file letter of file synchronization filter driving Breath and data cached synchronization process function are driven by file encryption filter to be implemented.
8. the encrypted file system according to claim 2 based on double image file, it is characterized in that:
Encrypted file system carries out real image file and virtual image file a kind of scheme of fileinfo and data cached synchronization process It is as follows:
A file synchronization filter driving is introduced in encrypted file system;
After a program process permitted is opened or creates a real image file or virtual image file, file synchronization filter drives It is dynamic to check in the file control block of the file opened or created in memory whether created customized user's context, if No, then the driving of file synchronization filter creates a customized user's context in file control block;
Before real image file of a program process pair permitted or virtual image file carry out fileinfo setting operation or Later, the driving of file synchronization filter is opened or is created the program process permitted in inner nuclear layer and carries out fileinfo setting operation Whether the antithesis file of targeted file, checking has in the file control block of antithesis file in memory on customized user Hereafter, if so, then file synchronization filter is driven through the fileinfo of file I/O operation setting antithesis file, or directly The document control fileinfo in the block of antithesis file is set, and when the fileinfo of setting is file size or file distribution length When spending, by calling cache management function to reset the data buffer storage size of file so that file synchronization filter and by After the program process of license completes fileinfo setting operation, the file control block of antithesis file and the file letter in data buffer storage Breath is carried out with the program process permitted in the file control block and data buffer storage that fileinfo setting operates targeted file Fileinfo it is consistent;If without customized user's context, fileinfo synchronization process is not carried out to antithesis file;
Carry out before file data deposits write operation in real image file of a program process pair permitted or virtual image file or Later, the driving of file synchronization filter is opened or is created the program process progress file data permitted in inner nuclear layer and deposits write operation Whether the antithesis file of targeted file, checking has in the file control block of antithesis file in memory on customized user Hereafter, if so, then the driving of file synchronization filter empty antithesis file in memory data cached, otherwise, then not to antithesis File carries out data cached null clear operation;
It is driven if the encrypted file system includes a file encryption filter, the file letter of file synchronization filter driving Breath and data cached synchronization process function are driven by file encryption filter to be implemented.
9. the encrypted file system according to claim 2 based on double image file, it is characterized in that:
If increasing a file encryption filter driving, the file of the encrypted file system in the encrypted file system Encryption function, including accredited process and untrusted process differentiate, File Open or create redirects, file data encryption and Decryption, encryption file and non-encrypted file differentiate, non-encrypted file be encrypted to encryption file, deposits that write data be ciphertext or bright Text differentiation, fileinfo and data cached synchronization process, in some or all of by file encryption filter drive implement.
10. the encrypted file system according to claim 1 based on double image file, it is characterized in that:
It is as follows for a kind of file I/O operation scheme based on dynamic license of the encrypted file system:
When an accredited process is opened or creates a real image file, the encrypted file system checks whether existing untrusted The real image file that current accredited process will be opened or be created is opened or created to process, if so, then opening current accredited process Or the operation of establishment real image file is redirected to the correspondence virtual image file for the real image file that current accredited process will be opened or be created, Otherwise, further check whether that having other accredited processes opens or create the real image that current accredited process will be opened or be created The correspondence virtual image file of file, if so, being then redirected to the operation that real image file was opened or created to current accredited process currently The correspondence virtual image file for the real image file that accredited process will be opened or be created, otherwise, current accredited process are permitted to open or create Build its real image file that open or create;
When a untrusted process is opened or creates a real image file, the encrypted file system checks whether existing accredited The real image file that current untrusted process will be opened or be created is opened or created to process, if so, then will current untrusted process The operation for opening or creating real image file is redirected to the corresponding void for the real image file that current untrusted process will be opened or be created As file, otherwise, further check whether have other untrusted processes openings or create current untrusted process and to open Or the correspondence virtual image file of the real image file created, if so, then opening or creating the behaviour of real image file by current untrusted process It is redirected to the correspondence virtual image file for the real image file that current untrusted process will be opened or be created, it is otherwise, current untrusted Process is permitted to open or creates its real image file that open or create;
When program process is opened or creates a virtual image file, encrypted file system passes through the virtual image that open or create The virtual file paths of file obtain the file path of corresponding real image file, and virtual image text will be directed to inside encrypted file system The opening of part creates opening or the establishment operation for operating and being converted into for real image file;
When program process is opened or creates a real image file or virtual image file, if encrypted file system find to open or The real image file of establishment, or open or create virtual image file correspondence real image file, be a non-encrypted file, then plus Close file system is by non-encrypted real image file encryption at encryption file;
When an accredited process or the system process pair of operating system secondary file I/O operation one are opened or created by accredited process When the real image file or virtual image file built carry out data read operation, encrypted file system returns after decrypting the encryption data of reading It returns;
When an accredited process or the system process pair of operating system secondary file I/O operation one are opened or created by accredited process When real image file or the virtual image file progress data built deposit write operation, after encrypted file system will deposit the clear data encryption write Data are carried out again deposits write operation;
When a untrusted process or the system process pair of operating system secondary file I/O operation one are opened by untrusted process Create real image file or virtual image file carry out data read operation when, encrypted file system is direct by the encryption data of reading It returns;
When a untrusted process or the system process pair of operating system secondary file I/O operation one are opened by untrusted process Or the real image file or virtual image file created carries out data when depositing write operation, encrypted file system first checks that determination will deposit the number write According to being clear data or ciphertext data, it is clear data to deposit the data write, then encrypted file system, which will first be deposited, writes Data are carried out again after clear data encryption and deposit write operation, are ciphertext data to deposit the data write, then direct progress data, which are deposited, writes Operation;
Before or after real image file of a program process pair or virtual image file carry out fileinfo setting operation, encryption File system carries out the synchronous place of fileinfo to real image file and the virtual image file file control block in memory and data buffer storage Reason, the fileinfo includes file size, file allocated length, and influences the alternative document information of file I/O operation;
Before or after real image file of a program process pair or virtual image file progress data deposit write operation, file is encrypted System synchronizes processing to real image file and virtual image file in memory data cached.
CN201510690514.9A 2015-10-22 2015-10-22 A kind of encrypted file system based on double image file Active CN105335663B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510690514.9A CN105335663B (en) 2015-10-22 2015-10-22 A kind of encrypted file system based on double image file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510690514.9A CN105335663B (en) 2015-10-22 2015-10-22 A kind of encrypted file system based on double image file

Publications (2)

Publication Number Publication Date
CN105335663A CN105335663A (en) 2016-02-17
CN105335663B true CN105335663B (en) 2018-08-03

Family

ID=55286182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510690514.9A Active CN105335663B (en) 2015-10-22 2015-10-22 A kind of encrypted file system based on double image file

Country Status (1)

Country Link
CN (1) CN105335663B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760779B (en) * 2016-02-18 2018-06-22 武汉理工大学 A kind of Two-way File encryption system based on FUSE
CN106557684B (en) * 2016-10-14 2019-09-27 北京金山安全软件有限公司 File scanning method and device and terminal equipment
CN113824694B (en) * 2021-08-24 2023-08-22 武汉联影医疗科技有限公司 File decryption method, computer device and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710345A (en) * 2009-12-22 2010-05-19 成都市华为赛门铁克科技有限公司 Method and device for storing and reading documents and access system
CN103268455A (en) * 2013-05-09 2013-08-28 华为技术有限公司 Method and device for accessing data
CN103778384A (en) * 2014-02-24 2014-05-07 北京明朝万达科技有限公司 Identity authentication based virtual terminal safety environment protection method and system
CN104021354A (en) * 2014-06-23 2014-09-03 成都卫士通信息产业股份有限公司 Data anti-leaking method in computer virtualization environment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853363B (en) * 2010-05-07 2012-08-08 飞天诚信科技股份有限公司 File protection method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710345A (en) * 2009-12-22 2010-05-19 成都市华为赛门铁克科技有限公司 Method and device for storing and reading documents and access system
CN103268455A (en) * 2013-05-09 2013-08-28 华为技术有限公司 Method and device for accessing data
CN103778384A (en) * 2014-02-24 2014-05-07 北京明朝万达科技有限公司 Identity authentication based virtual terminal safety environment protection method and system
CN104021354A (en) * 2014-06-23 2014-09-03 成都卫士通信息产业股份有限公司 Data anti-leaking method in computer virtualization environment

Also Published As

Publication number Publication date
CN105335663A (en) 2016-02-17

Similar Documents

Publication Publication Date Title
US6507911B1 (en) System and method for securely deleting plaintext data
US7185205B2 (en) Crypto-pointers for secure data storage
US9529735B2 (en) Secure data encryption in shared storage using namespaces
CN105426766B (en) A kind of file encryption system based on shadow file
JP6061170B1 (en) Computer program, secret management method and system
CN105760779B (en) A kind of Two-way File encryption system based on FUSE
US6249866B1 (en) Encrypting file system and method
CN105224882B (en) A kind of file encryption system based on bridge file system
US20060062383A1 (en) Encryption/decryption management method in computer system having storage hierarchy
EP2960808A1 (en) Server device, private search program, recording medium, and private search system
CN103745162B (en) A kind of secure network file storage system
CN105335663B (en) A kind of encrypted file system based on double image file
JPWO2010041442A1 (en) Information processing apparatus, method, program, and integrated circuit
WO2005114374A2 (en) Object-based storage
JP2006227839A (en) Storage system, data moving method and management computer
CN104301289B (en) Equipment for safety information interaction
CN109725983A (en) A kind of method for interchanging data, device, relevant device and system
CN100447765C (en) Mapping method for mobile memory device
CN110245515A (en) A kind of guard method and system towards HDFS access module
VanMeter et al. Derived virtual devices: A secure distributed file system mechanism
US11151266B2 (en) Secure data storage and access during transition operations
CN108229190A (en) Control method, device, program, storage medium and the electronic equipment of transparent encryption and decryption
JPH09251426A (en) File ciphering system and its control method, and cipher file reception system and its control method
JP2009020871A (en) External storage device
CN105590067B (en) A kind of file encryption system based on user's space file system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant