WO2016085532A1 - Secure file deletion - Google Patents
Secure file deletion Download PDFInfo
- Publication number
- WO2016085532A1 WO2016085532A1 PCT/US2015/012057 US2015012057W WO2016085532A1 WO 2016085532 A1 WO2016085532 A1 WO 2016085532A1 US 2015012057 W US2015012057 W US 2015012057W WO 2016085532 A1 WO2016085532 A1 WO 2016085532A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- block
- reference count
- zero
- assigned
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Definitions
- FIG. 1 is a block diagram of an example computing device 100 for secure file deletion.
- Computing device 100 may generally represent any type of computing system capable of reading machine-executable instructions. Examples of computing device may include, without limitation, a desktop computer, a notebook computer, a tablet computer, a server, a thin client, a mobile device, a personal digital assistant (PDA), a phablet, and the like.
- PDA personal digital assistant
- Computing device 100 may be a tertiary storage device such as, but not limited to, a tape library, an optical jukebox, and the like.
- computing device 100 may be a Direct Attached Storage (DAS) device, a Network Attached Storage (NAS) device, a tape drive, a magnetic tape drive, a data archival storage system, or a combination of these devices.
- DAS Direct Attached Storage
- NAS Network Attached Storage
- computing device 100 may be a file storage system or file archive system.
- secure file deletion module 106 may again generate random data equal to block size of the block, and overwrite the block with randomly generated data, whereafter the reference count of the block may be decremented by a single unit. The aforesaid process may be repeated until both the reference count of the block and the file size become zero.
- the method 200 may be executed on a computing device such as computer system 100 of FIG. 1 . However, other computing systems may be used as well.
- a request may be received for deleting a file.
- a hard link of the file to be deleted may be added to a special directory.
- a reference count of the block may be decremented by a single unit, wherein the reference count of the block was previously incremented with a value corresponding to a value assigned to an attribute of the file.
- a determination may be made whether the reference count of the block is zero.
- the block may be released for further use.
- a determination may be made whether file size of the file is zero.
- the file size of the file is zero, the hard link of the file may be deleted from the special directory.
Abstract
Some examples relate to secure file deletion. In an example, request may be received for deleting a file. A hard link of the file to be deleted may be added to special directory. A block assigned to the file overwritten with randomly generated data equal to size of the block. A reference count of the block may be decremented by a single unit, the reference count of the block was previously incremented with a value corresponding to a value assigned to an attribute of the file. A determination may be made whether the reference count of the block is zero. If reference count of the block is zero, the block may be released for further use. A determination may be made whether file size of the file is zero. If file size of file is zero, the hard link of the file may be deleted from the special directory.
Description
SECURE FILE DELETION
Background
[001] Increased adoption of computing devices such as desktops, laptops, mobile phones, smart phones, Personal Digital Assistants (PDAs), and the like, has led to a digital world where users, both enterprise and individuals, prefer to store their data whether it is a document, a spreadsheet, a photograph, etc. in a data file. Needless to say, this has led to millions of files being created and stored each day on millions of devices. However, there may be many reasons such as personal, business, regulatory, etc. when a user may wish to permanently delete or erase a file from a computing or storage device.
Brief Description of the Drawings
[002] For a better understanding of the solution, embodiments will now be described, purely by way of example, with reference to the accompanying drawings, in which:
[003] FIG. 1 is a block diagram of an example computing device for secure file deletion;
[004] FIG. 2 is a flow chart of an example method of secure file deletion; and [005] FIG. 3 is a block diagram of an example system for secure file deletion. Detailed Description
[006] A large amount of data stored these days is in the form of data files or "files", which are typically organized by a file system. A file system is an integral part of an operating system. It provides the underlying structure that
a computing device uses to organize data on a storage medium. A computer file or "file" is the basic component of a file system. Each piece of data on a storage device may be called a "file". A file may contain data, such as text files, image files, video files, and the like, or it may be an executable file or program.
[007] Files may be organized by storing related files in a directory or subdirectory. A directory or sub-directory is also a file. The term "directory" (or "file directory), as used herein, may include a file that contains references (for example, names) to other files. Thus, a directory may be considered as a container for files.
[008] A file system may be associated with a volume, which is, generally, a single accessible storage area on a single partition of a storage medium, such as a hard disk, optical disc, NAND flash memory, etc. A volume may be divided into blocks, which is a sequence of bits or bytes. Many file systems use blocks to store file and directories. In an instance, a file or directory may be stored over several blocks that may be located at various places on a volume. In other words, a directory may be spread over different physical areas of a storage medium.
[009] Thus, a file system provides a useful mechanism for a user to organize data. However, there may be times or reasons when a user may wish to delete a file from a computing or storage device. Typically, an option to delete a file or directory is made available to a user as part of a computer or system application. However, many a times a deleted file is not completely erased from a system, and there are tool and utilities available that may help recover a deleted file. Needless to say this is not an ideal scenario from a user's (business or individual) perspective since data (for example, confidential or sensitive data) that may have been deleted by a user may persist in the hardware of the system, which could be recovered and potentially misused by another user for improper gains and benefits.
Therefore, it is desirable to have a solution that performs secure deletion i.e. erasure of data after its nominal deletion.
[0010] To address this requirement, the present disclosure describes various examples for securely deleting a file. In an example, a computing or storage device may receive a request for deleting a file. Upon such receipt, a hard link of the file may be added to a special directory. A file deletion module may then overwrite a block assigned to the file with randomly generated data equal to size of the block. After the block is overwritten, a reference count of the block may be decremented by a single unit, wherein the reference count of the block is previously incremented with a value corresponding to a value assigned to an attribute of the file. A determination is then made whether the reference count of the block is zero. If the reference count of the block is zero, the block may be released for further use. A further determination may be made to ascertain whether size of the file (i.e. file size) is zero. If the file size is zero, the hard link of the file may be deleted from the special directory.
[0011] FIG. 1 is a block diagram of an example computing device 100 for secure file deletion. Computing device 100 may generally represent any type of computing system capable of reading machine-executable instructions. Examples of computing device may include, without limitation, a desktop computer, a notebook computer, a tablet computer, a server, a thin client, a mobile device, a personal digital assistant (PDA), a phablet, and the like.
[0012] In an example, computing device 100 may include a processor and a memory. Processor may be any type of Central Processing Unit (CPU), microprocessor, or processing logic that may interpret and executes machine-readable instructions stored in memory.
[0013] Memory may be a random access memory (RAM), Synchronous DRAM (SDRAM), Double Data Rate (DDR), Rambus DRAM (RDRAM), Rambus RAM, and the like. In an example, memory may be a non-transitory memory.
[0014] In an example, computing device 100 may be a storage device or system. Computing device 100 may be a primary storage device such as, but not limited to, random access memory (RAM), read only memory (ROM), processor cache, or another type of dynamic storage device that may store information and machine-readable instructions that may be executed by a processor. For example, Synchronous DRAM (SDRAM), Double Data Rate (DDR), Rambus DRAM (RDRAM), Rambus RAM, etc. Computing device 100 may be a secondary storage device such as, but not limited to, a floppy disk, a hard disk, a CD-ROM, a DVD, a pen drive, a flash memory (e.g. USB flash drives or keys), a paper tape, an Iomega Zip drive, and the like. Computing device 100 may be a tertiary storage device such as, but not limited to, a tape library, an optical jukebox, and the like. In another example, computing device 100 may be a Direct Attached Storage (DAS) device, a Network Attached Storage (NAS) device, a tape drive, a magnetic tape drive, a data archival storage system, or a combination of these devices. In an example, computing device 100 may be a file storage system or file archive system.
[0015] In the example of FIG. 1 , computing device 100 may include a recipient module 102, a link module 104, a secure file deletion module 106, and a file system 108. In an example, the aforesaid components of computing device 100 may be implemented as machine-readable instructions stored on a machine-readable storage medium. The machine-readable storage medium storing such instructions may be integrated with the computing device 100, or it may be an external medium that may be accessible to the computing device 100.
[0016] The term "module" may refer to a software component (machine readable instructions), a hardware component or a combination thereof. A module may include, by way of example, components, such as software components, processes, tasks, co-routines, functions, attributes, procedures, drivers, firmware, data, databases, data structures, Application Specific Integrated Circuits (ASIC) and other computing devices. A module may reside on a volatile or non-volatile storage medium and configured to interact with a processor of a computing device (e.g. 100).
[0017] In the example of FIG. 1 , recipient module 102 may receive a request to delete a data file from a file system. Such request may be received from a user of computing device (for example, 100) or it may be a system generated request. In an example, recipient module 102 may include a user interface to receive a request from a user to delete a file. Upon receipt of a request to delete a data file, the recipient module 102 may remove the file from its namespace. However, storage space occupied by the file on a storage medium is not deallocated. On the other hand, in an example, a flag may be set on the file to indicate that the file has been deleted, and the operation of erasure is pending. The file system (for example, 108) may be notified that the blocks of the file may not be released for further use unless they are overwritten by a specific number of times. In an example, such number may be specified by a user who initiates the file deletion request. In another example, the number may be system generated.
[0018] A user may specify the number of times a block of file may be overwritten before it is released at the time of providing a file deletion request for the file. In an example, a user may specify such number via a file attribute of the file. For instance, the file system (for example, 108) may be modified to support a new file attribute that may be referred to as "Secure delete". The file attribute may be defined to accept a value that specifies the number of times a block of file may be overwritten before it is released for further use. In an instance, a user may specify the value for a file at the time of providing a file
deletion request for the file. In other words, a user may define a value for the "Secure delete" attribute of a file while deleting the file. In order to notify the file system that the block of this file should not be released unless it is overwritten a given number of times i.e. as specified by the "Secure delete" attribute, the reference count of the block may be incremented with a value corresponding to a value assigned to the attribute of the file. In other words,, the reference count of the block may be incremented with a value equal to the value assigned to the "Secure delete" attribute.
[0019] Further to removal of the file from its namespace, link module 104, which may be in communication with recipient module 102, may add a hard link of the file to a special directory. A hard link is the file system representation of a file by which more than one path references a single file in the same volume. In other words, a hard link may be defined as an additional name for an existing file. In other words,, a hard link is another name given to same data.
[0020] Link module 104 may add a hard link of the file for which a file deletion request is received to a special file directory. In an example, the file directory may be a hidden namespace (i.e. a hidden directory) that may be read through a file system utility. A hidden name space for the special directory, which may store the hard links for all those files that are requested to be deleted, prevents users from accidently overwriting files in this directory.
[0021] Once a hard link of the file, for which a file deletion request is received, is added to a special directory, secure file deletion module 106 may generate random data equal to block size of a block assigned to the file. Secure file deletion module 106 may then overwrite the block with randomly generated data. In an instance, secure file deletion module 106 may overwrite the block from the end of the file. After the block is overwritten, secure file deletion module 106 may decrement a reference count of the block by a single unit. As mentioned earlier, the reference count of the block was previously incremented with a value corresponding to a value assigned to the "Secure
delete" attribute of the file. After the block is overwritten once, the reference count is decremented by a single unit. Secure file deletion module 106 may now determine whether the reference count of the block is zero. In other words, whether the reference count of the block has become zero after it was decremented. If it is determined that the reference count of the block is zero, secure deletion module 106 may release the block for further use by the file system. Also, in such case, secure file deletion module 106 may truncate the file and decrease the file size depending on the size of the block released. On the other hand, if it is determined that the reference count of the block is not zero, secure deletion module 106 may again generate random data equal to block size of the block, and overwrite the block with randomly generated data, whereafter the reference count of the block is decremented by a single unit. The aforesaid process may be repeated until the reference count of the block is zero.
[0022] In an example, decrementing of the block reference count may be done atomically with the communication of completed data flushing to a log. In an example, if the file system (for example, 108) is a journaling file system, all metadata changes related to a file may be logged in a journal so that they can be redone or undone in case of a system crash. With the feature of data consistency, all journal transactions (i.e. metadata changes) that require flushing of the data may write a special record in the journal indicating the completion of data flushing. In case a system crashes before this special record gets flushed to the disk, the metadata changes for this transaction are undone on system recovery. If the special record is seen in the log during post-crash recovery then that transaction is redone. Thus, in an example, decrementing of the reference count of file blocks is carried out in sync with writing of that special record. This ensures that blocks are released to the file system as and when their erasure gets completed.
[0023] Once the reference count of a block reaches zero, secure file deletion module 106 may determine whether size of the file (i.e. file size) is zero. In
other words, a determination may be made whether file size of the file to be deleted has become zero due to truncation performed by the secure file deletion module 106 subsequent to the reference count of the block reaching zero. If it is determined that file size is zero, secure file deletion module 106 may delete the hard link of the file from the hidden directory. In other words, secure file deletion module 106 may erase or permanently delete the file from the computing device.
[0024] On the other hand, if it is determined that file size is not zero, secure file deletion module 106 may again generate random data equal to block size of the block, and overwrite the block with randomly generated data, whereafter the reference count of the block may be decremented by a single unit. The aforesaid process may be repeated until both the reference count of the block and the file size become zero.
[0025] The aforementioned determination of file size of the file to be deleted ensures that the process to securely delete the file continues even in case of a system failure or crash. In an example, since the file system (for example, 108) may be a journaling file system with data consistency, flushing of dirty kernel pages are ordered wherein first the data is flushed to disk, followed by the journal and then the metadata. This ordering ensures that files do not contain garbage data due to unflushed data buffers. In such type of file systems, the size of a file is a true indication of the amount of flushed data. Hence, after recovering from a system crash, secure file deletion module may determine the size of a file that is undergoing deletion and continue overwriting of data from thereon. Secure file deletion module may continue to do this until the value specified under the "Secure delete" attribute is satisfied (i.e. until the erasure cycle is complete), and the file is no longer visible in the special directory.
[0026] In an example, secure file deletion module 208 may be a user daemon process. Also, the user-space design of the secure file deletion module may
allow random data generating algorithms to be changed based on user requirements, which does not require any change in the kernel.
[0027] In an example, file system 108 may be a journaling file system. Some non-limiting examples of a journaling file system may include New Technology File System (NTFS), Boot File System (BFS), ReiserFS, and Ext3.
[0028] FIG. 2 is a flow chart of an example method 200 for secure file deletion.
The method 200, which is described below, may be executed on a computing device such as computer system 100 of FIG. 1 . However, other computing systems may be used as well. At block 202, a request may be received for deleting a file. At block 204, a hard link of the file to be deleted may be added to a special directory. At block 206, a block assigned to the file overwritten with randomly generated data equal to size of the block. At block 208, a reference count of the block may be decremented by a single unit, wherein the reference count of the block was previously incremented with a value corresponding to a value assigned to an attribute of the file. At block 210, a determination may be made whether the reference count of the block is zero. At block 212, if the reference count of the block is zero, the block may be released for further use. At block 214, a determination may be made whether file size of the file is zero. At block 216, if the file size of the file is zero, the hard link of the file may be deleted from the special directory. The aforementioned example method allows releasing of data blocks to the file system as and when they get erased, rather than waiting for the whole file to get erased.
[0029] FIG. 3 is a block diagram of an example system 300 for secure file deletion. System 300 includes a processor 302 and a machine-readable storage medium 304 communicatively coupled through a system bus. Processor 302 may be any type of Central Processing Unit (CPU), microprocessor, or processing logic that interprets and executes machine-
readable instructions stored in machine-readable storage medium 304. Machine-readable storage medium 304 may be a random access memory (RAM) or another type of dynamic storage device that may store information and machine-readable instructions that may be executed by processor 302. For example, machine-readable storage medium 304 may be Synchronous DRAM (SDRAM), Double Data Rate (DDR), Rambus DRAM (RDRAM), Rambus RAM, etc. or storage memory media such as a floppy disk, a hard disk, a CD-ROM, a DVD, a pen drive, and the like. In an example, machine- readable storage medium 304 may be a non-transitory machine-readable medium. In an example, machine-readable storage medium 304 may be remote but accessible to system 300. 30] Machine-readable storage medium 304 may store instructions 306, 308, 310, 312, 314, 316, 318, 320, 322, and 324. In an example, instructions 306 may be executed by processor 302 to assign a value to an attribute of a file, wherein the value assigned to the attribute of the file defines number of times a block assigned to the file is to be overwritten before it is released for further use. Instructions 308 may be executed by processor 302 to increment a reference count of the block with a value corresponding to the value assigned to the attribute of the file. Instructions 310 may be executed by processor 302 to receive a request for deleting the file. Instructions 312 may be executed by processor 302 to add a hard link of the file to a special directory. Instructions 314 may be executed by processor 302 to overwrite a block assigned to the file with randomly generated data equal to size of the block. Instructions 316 may be executed by processor 302 to decrement the reference count of the block by a unit. Instructions 318 may be executed by processor 302 to determine if the reference count of the block is zero. Instructions 320 may be executed by processor 302 to release the block for further use if the reference count of the block is zero. Instructions 322 may be executed by processor 302 to determine if file size of the file is zero. Instructions 324 may be executed by processor 302 to delete the hard link of the file from the special directory if the file size of the file is zero.
[0031] For the purpose of simplicity of explanation, the example method of FIG. 2 is shown as executing serially, however it is to be understood and appreciated that the present and other examples are not limited by the illustrated order. The example systems of FIGS. 1 , and 3, and method of FIG. 2 may be implemented in the form of a computer program product including computer-executable instructions, such as program code, which may be run on any suitable computing device in conjunction with a suitable operating system (for example, Microsoft Windows, Linux, UNIX, and the like). Embodiments within the scope of the present solution may also include program products comprising non-transitory computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, such computer-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM, magnetic disk storage or other storage devices, or any other medium which can be used to carry or store desired program code in the form of computer-executable instructions and which can be accessed by a general purpose or special purpose computer. The computer readable instructions can also be accessed from memory and executed by a processor.
[0032] It should be understood that the above-described examples of the present solution is for the purpose of illustration only. Although the solution has been described in conjunction with a specific embodiment thereof, numerous modifications may be possible without materially departing from the teachings and advantages of the subject matter described herein. Other substitutions, modifications and changes may be made without departing from the spirit of the present solution. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
Claims
1 . A method of secure file deletion, comprising:
receiving a request for deleting a file;
adding a hard link of the file to a special directory;
overwriting a block assigned to the file with randomly generated data equal to size of the block;
decrementing a reference count of the block by a single unit, wherein the reference count of the block is previously incremented with a value corresponding to a value assigned to an attribute of the file;
determining if the reference count of the block is zero;
if the reference count of the block is zero, releasing the block for further use;
determining if file size of the file is zero; and
if the file size of the file is zero, deleting the hard link of the file from the special directory.
2. The method of claim 1 , wherein the value assigned to the attribute of the file defines number of times a block assigned to the file is to be overwritten before it is released for further use.
3. The method of claim 1 , wherein the block assigned to the file is overwritten from end of the file.
4. The method of claim 1 , further comprising deleting file namespace of the file upon receiving the request for deleting the file.
5. The method of claim 1 , further comprising, if the reference count of the block is not zero, repeating overwriting of the block assigned to the file with randomly generated data equal to size of the block, and decrementing the reference count of the block by a single unit after each overwriting, until the reference count of the block is zero.
6. The method of claim 1 , further comprising assigning the value to the attribute of the file, wherein the value assigned to the attribute of the file defines number of times a block assigned to the file is to be overwritten before it is released for further use.
7. A system for secure file deletion, comprising:
a recipient module to receive a request to delete a file from a file system; a link module to add a hard link of the file to a hidden directory; and a secure file deletion module to:
overwrite a block assigned to the file with randomly generated data equal to size of the block;
decrement a reference count of the block by a single unit, wherein the reference count of the block is previously incremented with a value corresponding to a value assigned to an attribute of the file;
determine if the reference count of the block is zero;
if the reference count of the block is zero, release the block for further use;
determine if file size of the file is zero; and
if the file size of the file is zero, delete the hard link of the file from the hidden directory.
8. The system of claim 7, further comprising a user interface to receive the value assigned to the attribute of the file from a user.
9. The system of claim 7, wherein the secure file deletion module to, if the reference count of the block is not zero, repeat overwrite of the block assigned to the file with randomly generated data equal to size of the block, and decrement the reference count of the block by a single unit after each overwrite, until the reference count of the block is zero.
10. The system of claim 7, wherein the secure file deletion module is a user space daemon.
1 1 . A non-transitory machine-readable storage medium comprising instructions for secure file deletion, the instructions executable by a processor to:
assign a value to an attribute of a file, wherein the value assigned to the attribute of the file defines number of times a block assigned to the file is to be overwritten before it is released for further use;
increment a reference count of the block with a value corresponding to the value assigned to the attribute of the file;
receive a request for deleting the file;
add a hard link of the file to a special directory;
overwrite a block assigned to the file with randomly generated data equal to size of the block;
decrement the reference count of the block by a unit;
determine if the reference count of the block is zero;
if the reference count of the block is zero, release the block for further use;
determine if file size of the file is zero; and
if the file size of the file is zero, delete the hard link of the file from the special directory.
12. The storage medium of claim 1 1 , wherein the reference count of the block is decremented by a single unit upon determination that file data of the file is completely flushed to a disk consequent to overwrite of the block assigned to the file with the randomly generated data.
13. The storage medium of claim 1 1 , wherein the determination is made by analyzing a special record created in a journal of the file system consequent to overwrite of the block assigned to the file with the randomly generated data.
14. The storage medium of claim 1 1 , wherein the directory is a hidden namespace.
15. The storage medium of claim 1 1 , wherein the block assigned to the file is overwritten from end of the file.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN5932CH2014 | 2014-11-26 | ||
IN5932/CHE/2014 | 2014-11-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016085532A1 true WO2016085532A1 (en) | 2016-06-02 |
Family
ID=56074865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2015/012057 WO2016085532A1 (en) | 2014-11-26 | 2015-01-20 | Secure file deletion |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016085532A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115688187A (en) * | 2023-01-04 | 2023-02-03 | 中科方德软件有限公司 | Safety management method and device for hard link data, electronic equipment and computer readable storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070208915A1 (en) * | 2004-11-30 | 2007-09-06 | Tran Peter H | System for secure erasing of files |
US20080010326A1 (en) * | 2006-06-15 | 2008-01-10 | Carpenter Troy A | Method and system for securely deleting files from a computer storage device |
US20100138619A1 (en) * | 2007-05-02 | 2010-06-03 | Avelino Andretti Benavides | Secure Erasure of Digital Files |
WO2013143353A1 (en) * | 2012-03-26 | 2013-10-03 | International Business Machines Corporation | Using different secure erase algorithms to erase chunks from file associated with different security levels |
US20140129785A1 (en) * | 2009-01-14 | 2014-05-08 | Cms Products Inc. | Security Erase of a Delete File and of Sectors Not Currently Assigned to a File |
-
2015
- 2015-01-20 WO PCT/US2015/012057 patent/WO2016085532A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070208915A1 (en) * | 2004-11-30 | 2007-09-06 | Tran Peter H | System for secure erasing of files |
US20080010326A1 (en) * | 2006-06-15 | 2008-01-10 | Carpenter Troy A | Method and system for securely deleting files from a computer storage device |
US20100138619A1 (en) * | 2007-05-02 | 2010-06-03 | Avelino Andretti Benavides | Secure Erasure of Digital Files |
US20140129785A1 (en) * | 2009-01-14 | 2014-05-08 | Cms Products Inc. | Security Erase of a Delete File and of Sectors Not Currently Assigned to a File |
WO2013143353A1 (en) * | 2012-03-26 | 2013-10-03 | International Business Machines Corporation | Using different secure erase algorithms to erase chunks from file associated with different security levels |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115688187A (en) * | 2023-01-04 | 2023-02-03 | 中科方德软件有限公司 | Safety management method and device for hard link data, electronic equipment and computer readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9910620B1 (en) | Method and system for leveraging secondary storage for primary storage snapshots | |
US9703640B2 (en) | Method and system of performing incremental SQL server database backups | |
EP2780796B1 (en) | Method of and system for merging, storing and retrieving incremental backup data | |
US20120084272A1 (en) | File system support for inert files | |
US9280578B1 (en) | Combining transactions in a metadata transaction log | |
JP5731000B2 (en) | Method and system for performing individual restore of a database from a differential backup | |
US10229006B1 (en) | Providing continuous data protection on a storage array configured to generate snapshots | |
US10108356B1 (en) | Determining data to store in retention storage | |
US20180157674A1 (en) | Distributed nfs metadata server | |
US8621165B1 (en) | Method and apparatus for providing a volume image backup of selected objects | |
WO2017041654A1 (en) | Method and apparatus for writing and acquiring data in distributed storage system | |
US8433863B1 (en) | Hybrid method for incremental backup of structured and unstructured files | |
JP7395227B2 (en) | Data backup methods, devices, servers and computer programs | |
US9921765B2 (en) | Partial snapshots in virtualized environments | |
WO2016085532A1 (en) | Secure file deletion | |
KR100987320B1 (en) | Data processing apparatus and Data procssing method, using FAT file system capable of fast file recovery | |
US10452496B2 (en) | System and method for managing storage transaction requests | |
WO2016122699A1 (en) | Failure atomic update of application data files | |
US10896168B2 (en) | Application-defined object logging through a file system journal | |
US10922277B1 (en) | Logging file system metadata changes using a single log hold per cached block of metadata | |
WO2017122313A1 (en) | Computer system and computer which provide client with information which is displayed as object history | |
US11010332B2 (en) | Set-based mutual exclusion using object metadata tags in a storage appliance | |
Cheon et al. | Exploiting multi-block atomic write in SQLite transaction | |
US10521405B2 (en) | Policy and configuration data for a user directory | |
US10706012B2 (en) | File creation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15862898 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15862898 Country of ref document: EP Kind code of ref document: A1 |