The invention generally relates to data storage and, more specifically, the invention relates to sanitization of disks using encryption.
When data is deleted from a magnetic disk such as a hard drive, the data can often be recovered. A hard drive typically comprises many addressable “blocks,” or individual units of data. A file or other logical data storage unit typically comprises data written to the blocks and an entry in a file structure that includes pointers that point to the blocks storing the data. The delete function of many file systems only removes the pointers; the data itself remains intact. Even after a low-level format of a hard drive, data stored on the drive may be recoverable. In many applications, however, it may be undesirable for certain data (e.g., sensitive or confidential data) to remain recoverable after deletion. In such applications, it may be desirable to “sanitize” a mass storage device, such as a magnetic disk.
Generally, sanitization involves making the data blocks on the disk unreadable so that sensitive data is unrecoverable. Several techniques for “sanitizing” a magnetic disk are known today. One way to sanitize a hard drive is to physically destroy the drive. For example, the drive may be dismantled or otherwise physically altered. Another physical method is to degauss the disk by applying a powerful alternating magnetic field to the disk. The degaussing technique changes the orientation of the magnetic particles on the disk platter.
If the drive is to be reused, it can be sanitized by writing over the data already on the disk. This approach is known as “media overwrite” sanitization. Media overwrite sanitization may be as simple as writing logic zeros to every bit on a drive, or writing different predetermined or random patterns to the drive. Writing over the drive once is known as a “single pass” overwrite. Writing over the drive multiple times is known as “multiple pass” overwrite. Different users require different levels of sanitization. For example, a user storing sensitive information, such as confidential trade secrets, may want to perform a greater number of passes.
Several different “patterns” have been developed to perform media overwrite sanitization. A pattern is the sequence of bits (ones and zeros) that is written to the drive in order to prevent recovery of deleted data. The “Guttman” pattern is an example of a pattern used by many hard drive sanitization applications. Using a multiple pass overwrite, different patterns may be used for each pass. For example, the first pass may use a particular pattern, where the second pass may use the pattern's complement, and the third pass may use random data.
The volume 104 can be sanitized by discarding the encryption key, since the data on the volume 104 is unreadable without they key, and typical encryption standards (such as the advanced encryption standard (AES) encryption standards including AES-256 and AES-512) are computationally infeasible to compromise with currently existing technology. Removing the cryptographic interface 108 would provide further protection against undesired recovery of the deleted (encrypted) data.
A shortcoming of known sanitization techniques and system 100 is that they sanitize only at a disk-wide level of granularity. When a hard drive or other storage device is being retired or removed from use, the entire device (e.g., the entire disk drive) is sanitized to protect the data. However, in some instances, it may be desirable to sanitize only a portion of the disk drive. For example, storage users that are subject to government regulations regarding the retention of data may want to delete and sanitize only the particular files that the users are permitted to delete. The regulations may require that the user retain the other files. In some instances, it may be desirable to be able to sanitize only a portion of a file, e.g., only certain blocks. Further, in the system 100 of
The present invention includes a method and apparatus for disk sanitization using encryption. The method includes encrypting data stored on a disk, including a set of blocks, by using a first encryption key. The method further includes, in response to a request to delete the set of blocks, re-encrypting blocks stored on the disk other than the set of blocks, by using a second encryption key, and not re-encrypting the set of blocks, and deleting the first encryption key.
Other aspects of the invention will be apparent from the accompanying figures and from the detailed description which follows.
One or more embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
Described herein are methods and apparatuses for disk sanitization using encryption. Note that in this description, references to “one embodiment” or “an embodiment” mean that the feature being referred to is included in at least one embodiment of the present invention. Further, separate references to “one embodiment” or “an embodiment” in this description do not necessarily refer to the same embodiment. However, such embodiments are also not mutually exclusive unless so stated, and except as will be readily apparent to those skilled in the art from the description. For example, a feature, structure, act, etc. described in one embodiment may also be included in other embodiments. Thus, the present invention can include a variety of combinations and/or integrations of the embodiments described herein.
According to embodiments of the invention, logical data storage units such as files or portions thereof (e.g., individual blocks) may be individually deleted and sanitized. The disk on which the files are located is divided into physical disk regions, where each region can include one or more blocks of data. The contents of the disk are encrypted using a separate encryption key for each physical disk region (which can mean a separate encryption key for each block, if a region is defined as a single block). If a file or other data structure located in a first disk region and encrypted using a first encryption key is to be deleted, the logical portions (i.e., blocks) of that region that do not belong to the file are re-encrypted using a second encryption key, and the first encryption key is then deleted. The first encryption key may be deleted using overwrite sanitization or other techniques. It is to be understood that the files or data structures being deleted may span more than one disk region.
The client 204 accesses and uses a volume 206 for data service. The volume 206 may comprise one or more drives, including one or more magnetic disks such as hard drives. The client 204 communicates with the volume 206 through an encryption layer 208. The encryption layer 208 encrypts and decrypts incoming and outgoing data. The volume 206 may be encrypted using several encryption keys. According to one embodiment of the invention, each physical disk region in the volume 206 has a unique encryption key. The encryption layer 208 includes hardware and software components to aid in encryption and to store the encryption keys. The encryption layer 208 includes a cryptographic key database 210 that includes each unique encryption key for each disk region in the volume 206.
The storage server 202 may be any one of several different types of storage servers, including those that employ a NAS or Storage Area Network (SAN) approach. For example, the storage server 202 may be a filer server, or filer, that stores data in the form of files.
The processor 302 is the central processing unit (CPU) of the filer 300 and, thus, controls the overall operation of the filer 300. In certain embodiments, the processor 302 accomplishes this by executing software stored in main memory 304. The processor 302 may be, or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such devices.
The main memory 304, which is generally some form of random access memory (RAM), stores the operating system 308 of the filer 300. Techniques of the present invention may be implemented within the operating system 308, as described further below. The operating system 308 may be, for example, the ONTAP operating system by Network Appliance, Inc., of Sunnyvale, Calif. (NetApp®). Also connected to the processor 302 through the bus system 306 are a network adapter 310 and a storage adapter 312. The network adapter 310 provides the filer 300 with the ability to communicate with remote devices, such as clients and/or another filer, over a network and may be, for example, an Ethernet adapter. The storage adapter 312 allows the filer to access the external mass storage devices and may be, for example, a Fibre Channel (FC) adapter or SCSI adapter.
A cryptographic module 314 is coupled to the bus 306. The cryptographic module 314 may be considered a part of the encryption layer 208 of
The master key 316 is an integrated circuit (IC) mounted on the motherboard or a daughterboard or expansion card of the system 300. The IC storing the master key 316 may implement physical security and tamper resistant measures, such as being encased in epoxy, to prevent compromise of the stored encryption key. The master key 316 contains a master encryption key that is used to encrypt the cryptographic key database 210. Since the master key 316 is a hardware component, the cryptographic key database 210 cannot be accessed by any system other than the system 200. Further, since the master key 316 cannot be removed and used in another system, the data encrypted using the master key 316 will remain secure.
The operating system 308 also includes a user interface 406, through which a network administrator or other user can control and/or configure the filer (e.g., remotely from a management station). The user interface 406 may generate a command line interface and/or a graphical user interface for this purpose. On the client side the operating system 308 includes a network access layer 408 and, at the lowest level, a media access layer 410. The network access layer 408 implements any of various protocols used to communicate with client devices, such as network file system (NFS), common Internet file system (CIFS) and/or hypertext transport protocol (HTTP). The media access layer 410 includes one or more drivers which implemented the protocols used to communicate over the network, such as Ethernet.
On the storage device side, the operating system 308 includes a storage access layer 412 and, at the lowest level, a driver layer 414. The storage access layer 412 implements a disk storage protocol such as RAID, while the driver layer 414 implements a lower-level storage device access protocol, such as Fibre Channel or SCSI.
The file system 208 also includes a cryptographic module 416. The cryptographic module 416 interfaces with the cryptographic module 314 of
Each disk region 502 may further be divided into smaller physical denominations, such as blocks. For example, a first disk region 502a comprises several blocks 504. Each block 504 may be a file or a portion of a file, such as a 4 Kbyte segment of a file. Note that a region 502 can also be defined as a single block. A file is a logical structure that includes pointers to physical blocks on the disk 500. For example, the data comprising the file ‘A’ is stored in the blocks 504c, 504d, and 504e. When referencing the file ‘A’, the file system follows several pointers to the blocks 504c, 504d, and 504e. It is understood that although the file ‘A’ is shown in contiguous blocks 504c, 504d, and 504e, that the blocks of a specific file may be stored in a noncontiguous fashion. For example, the file ‘C’ is stored in the two nonadjacent blocks 504g and 504i. It is further understood that a file may include blocks from several disk regions 502. However, for simplicity, the file ‘A’ is described in terms of the three blocks 504c, 504d, and 504e.
In operation 602, a delete command is received by the operating system 208 (see
In operation 604, it is determined which blocks correspond to the file (or other data structure) to be deleted. As can be seen in
In operation 606, the remaining set of blocks in disk region 502a (i.e., blocks 502a, 502b, and 504f-504i, but not blocks 504c, 504d and 504e) are re-encrypted in place, by using a second (new) encryption key for disk region 502a. During the re-encryption process, the blocks are first decrypted using the first encryption key, and then encrypted using the new encryption key. The blocks 504c-504e comprising the file ‘A’ are not re-encrypted.
In operation 608, the first encryption key is deleted, and the blocks 504c-504e representing the file are marked as available, so that they may be overwritten. The first encryption key is deleted by overwriting the key in the cryptographic key database. The first encryption key may be overwritten using any one of several known techniques, including using any one of the well-known patterns (such as a “Guttman” pattern), writing zeroes over the key (“zeroing” the key), etc. According to one embodiment, the first encryption key may be overwritten only once, since the data that comprises an encryption key must be completely intact to be useful. Therefore, more robust sanitization techniques may not be necessary. Further, the cryptographic key database is encrypted using the master key 316 (see
The technique introduced above has been described in the context of a network attached storage (NAS) environment. However, these techniques can also be applied in various other contexts. For example, the techniques introduced above can be applied in a storage area network (SAN) environment. A SAN is a highly efficient network of interconnected, shared storage devices. One difference between NAS and SAN is that in a SAN, the storage server (which may be an appliance) provides a remote host with block-level access to stored data, whereas in a NAS configuration, the storage server provides clients with file-level access to stored data. Thus, the techniques introduced above are not limited to use in a file server or in a NAS environment.
Software to implement the technique introduced here may be stored on a machine-readable medium. A “machine-accessible medium”, as the term is used herein, includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant (PDA), manufacturing tool, any device with a set of one or more processors, etc.). For example, a machine-accessible medium includes recordable/non-recordable media (e.g., read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; etc.), etc.
The term “logic”, as used herein, can include, for example, hardwired circuitry, programmable circuitry, software, or any combination thereof.
This invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident to persons having the benefit of this disclosure that various modifications changes may be made to these embodiments without departing from the broader spirit and scope of the invention. The specification and drawings are accordingly to be regarded in an illustrative rather than in a restrictive sense.
This application claims the benefit of U.S. provisional patent application No. 60/636,360, filed on Dec. 14, 2004 and entitled, “Disk Sanitation Using Encryption,” which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4635145 | Horie et al. | Jan 1987 | A |
4727512 | Birkner et al. | Feb 1988 | A |
4775969 | Osterlund | Oct 1988 | A |
5235695 | Pence | Aug 1993 | A |
5269022 | Shinjo et al. | Dec 1993 | A |
5297124 | Plotkin et al. | Mar 1994 | A |
5438674 | Keele et al. | Aug 1995 | A |
5455926 | Keele et al. | Oct 1995 | A |
5485321 | Leonhardt et al. | Jan 1996 | A |
5666538 | DeNicola | Sep 1997 | A |
5673382 | Cannon et al. | Sep 1997 | A |
5774292 | Georgiou et al. | Jun 1998 | A |
5774715 | Madany et al. | Jun 1998 | A |
5805864 | Carlson et al. | Sep 1998 | A |
5809511 | Peake | Sep 1998 | A |
5809543 | Byers et al. | Sep 1998 | A |
5854720 | Shrinkle et al. | Dec 1998 | A |
5857208 | Ofek | Jan 1999 | A |
5864346 | Yokoi et al. | Jan 1999 | A |
5872669 | Morehouse et al. | Feb 1999 | A |
5875479 | Blount et al. | Feb 1999 | A |
5911779 | Stallmo et al. | Jun 1999 | A |
5949970 | Sipple et al. | Sep 1999 | A |
5961613 | DeNicola | Oct 1999 | A |
5963971 | Fosler et al. | Oct 1999 | A |
6021408 | Ledain et al. | Feb 2000 | A |
6023709 | Anglin et al. | Feb 2000 | A |
6029179 | Kishi | Feb 2000 | A |
6041329 | Kishi | Mar 2000 | A |
6044442 | Jesionowski | Mar 2000 | A |
6049848 | Yates et al. | Apr 2000 | A |
6061309 | Gallo et al. | May 2000 | A |
6067587 | Miller et al. | May 2000 | A |
6070224 | LeCrone et al. | May 2000 | A |
6098148 | Carlson | Aug 2000 | A |
6128698 | Georgis | Oct 2000 | A |
6131142 | Kamo et al. | Oct 2000 | A |
6131148 | West et al. | Oct 2000 | A |
6134660 | Boneh et al. | Oct 2000 | A |
6163856 | Dion et al. | Dec 2000 | A |
6173293 | Thekkath et al. | Jan 2001 | B1 |
6173359 | Carlson et al. | Jan 2001 | B1 |
6195730 | West | Feb 2001 | B1 |
6225709 | Nakajima et al. | May 2001 | B1 |
6247096 | Fisher et al. | Jun 2001 | B1 |
6260110 | LeCrone et al. | Jul 2001 | B1 |
6266784 | Hsiao et al. | Jul 2001 | B1 |
6269423 | Kishi | Jul 2001 | B1 |
6269431 | Dunham | Jul 2001 | B1 |
6282609 | Carlson | Aug 2001 | B1 |
6289425 | Blendermann et al. | Sep 2001 | B1 |
6292889 | Fitzgerald et al. | Sep 2001 | B1 |
6301677 | Squibb | Oct 2001 | B1 |
6304880 | Kishi | Oct 2001 | B1 |
6317814 | Blendermann et al. | Nov 2001 | B1 |
6324497 | Yates et al. | Nov 2001 | B1 |
6327418 | Barton | Dec 2001 | B1 |
6336163 | Brewer et al. | Jan 2002 | B1 |
6336173 | Day, III et al. | Jan 2002 | B1 |
6339778 | Kishi | Jan 2002 | B1 |
6341329 | LeCrone et al. | Jan 2002 | B1 |
6343342 | Carlson | Jan 2002 | B1 |
6353837 | Blumenau | Mar 2002 | B1 |
6360232 | Brewer et al. | Mar 2002 | B1 |
6389503 | Georgis et al. | May 2002 | B1 |
6397307 | Ohran | May 2002 | B2 |
6408359 | Ito et al. | Jun 2002 | B1 |
6487561 | Ofek et al. | Nov 2002 | B1 |
6496791 | Yates et al. | Dec 2002 | B1 |
6499026 | Rivette et al. | Dec 2002 | B1 |
6557073 | Fujiwara et al. | Apr 2003 | B1 |
6557089 | Reed et al. | Apr 2003 | B1 |
6578120 | Crockett et al. | Jun 2003 | B1 |
6615365 | Jenevein et al. | Sep 2003 | B1 |
6625704 | Winokur et al. | Sep 2003 | B2 |
6654912 | Viswanathan et al. | Nov 2003 | B1 |
6658435 | McCall et al. | Dec 2003 | B1 |
6694447 | Leach et al. | Feb 2004 | B1 |
6725331 | Kedem | Apr 2004 | B1 |
6766520 | Rieschl et al. | Jul 2004 | B1 |
6779057 | Masters et al. | Aug 2004 | B2 |
6779058 | Kishi et al. | Aug 2004 | B2 |
6779081 | Arakawa et al. | Aug 2004 | B2 |
6816941 | Carlson et al. | Nov 2004 | B1 |
6816942 | Okada et al. | Nov 2004 | B2 |
6834324 | Wood | Dec 2004 | B1 |
6850964 | Brough et al. | Feb 2005 | B1 |
6877016 | Hart et al. | Apr 2005 | B1 |
6898600 | Fruchtman et al. | May 2005 | B2 |
6915397 | Lubbers et al. | Jul 2005 | B2 |
6931557 | Togawa et al. | Aug 2005 | B2 |
6950263 | Suzuki et al. | Sep 2005 | B2 |
6973534 | Dawson et al. | Dec 2005 | B2 |
6978283 | Edwards et al. | Dec 2005 | B1 |
6978325 | Gibble et al. | Dec 2005 | B2 |
7007043 | Farmer et al. | Feb 2006 | B2 |
7020779 | Sutherland | Mar 2006 | B1 |
7032126 | Zalewski et al. | Apr 2006 | B2 |
7055009 | Factor et al. | May 2006 | B2 |
7096331 | Haase et al. | Aug 2006 | B1 |
7100089 | Phelps | Aug 2006 | B1 |
7111136 | Yamagami | Sep 2006 | B2 |
7111194 | Schoenthal et al. | Sep 2006 | B1 |
7127388 | Yates et al. | Oct 2006 | B2 |
7152078 | Yamagami | Dec 2006 | B2 |
7155465 | Lee et al. | Dec 2006 | B2 |
7155586 | Wagner et al. | Dec 2006 | B1 |
7200726 | Gole et al. | Apr 2007 | B1 |
7203726 | Hasegawa | Apr 2007 | B2 |
7346623 | Prahlad et al. | Mar 2008 | B2 |
20020004835 | Yarbrough | Jan 2002 | A1 |
20020016827 | McCabe et al. | Feb 2002 | A1 |
20020026595 | Saitou et al. | Feb 2002 | A1 |
20020091670 | Hitz et al. | Jul 2002 | A1 |
20020095557 | Constable et al. | Jul 2002 | A1 |
20020144057 | Li et al. | Oct 2002 | A1 |
20020166079 | Ulrich et al. | Nov 2002 | A1 |
20020199129 | Bohrer et al. | Dec 2002 | A1 |
20030004980 | Kishi et al. | Jan 2003 | A1 |
20030005313 | Gammel et al. | Jan 2003 | A1 |
20030025800 | Hunter et al. | Feb 2003 | A1 |
20030037211 | Winokur | Feb 2003 | A1 |
20030046260 | Satyanarayanan et al. | Mar 2003 | A1 |
20030120676 | Holavanahalli et al. | Jun 2003 | A1 |
20030126136 | Omoigui | Jul 2003 | A1 |
20030126388 | Yamagami | Jul 2003 | A1 |
20030135672 | Yip et al. | Jul 2003 | A1 |
20030149700 | Bolt | Aug 2003 | A1 |
20030158766 | Mital et al. | Aug 2003 | A1 |
20030182350 | Dewey | Sep 2003 | A1 |
20030188208 | Fung | Oct 2003 | A1 |
20030225800 | Kavuri | Dec 2003 | A1 |
20040015731 | Chu et al. | Jan 2004 | A1 |
20040098244 | Dailey et al. | May 2004 | A1 |
20040103147 | Flesher et al. | May 2004 | A1 |
20040167903 | Margolus et al. | Aug 2004 | A1 |
20040168034 | Homma et al. | Aug 2004 | A1 |
20040181388 | Yip et al. | Sep 2004 | A1 |
20040181707 | Fujibayashi | Sep 2004 | A1 |
20050010529 | Zalewski et al. | Jan 2005 | A1 |
20050044162 | Liang et al. | Feb 2005 | A1 |
20050063374 | Rowan et al. | Mar 2005 | A1 |
20050065962 | Rowan et al. | Mar 2005 | A1 |
20050066118 | Perry et al. | Mar 2005 | A1 |
20050066225 | Rowan et al. | Mar 2005 | A1 |
20050076070 | Mikami | Apr 2005 | A1 |
20050076261 | Rowan et al. | Apr 2005 | A1 |
20050076262 | Rowan et al. | Apr 2005 | A1 |
20050076264 | Rowan et al. | Apr 2005 | A1 |
20050097260 | McGovern et al. | May 2005 | A1 |
20050108302 | Rand et al. | May 2005 | A1 |
20050144407 | Colgrove et al. | Jun 2005 | A1 |
20050182910 | Stager et al. | Aug 2005 | A1 |
20050240813 | Okada et al. | Oct 2005 | A1 |
20060010177 | Kodama | Jan 2006 | A1 |
20060047895 | Rowan et al. | Mar 2006 | A1 |
20060047902 | Passerini | Mar 2006 | A1 |
20060047903 | Passerini | Mar 2006 | A1 |
20060047905 | Matze et al. | Mar 2006 | A1 |
20060047925 | Perry | Mar 2006 | A1 |
20060047989 | Delgado et al. | Mar 2006 | A1 |
20060047998 | Darcy | Mar 2006 | A1 |
20060047999 | Passerini et al. | Mar 2006 | A1 |
20060143376 | Matze et al. | Jun 2006 | A1 |
20060259160 | Hood et al. | Nov 2006 | A1 |
Number | Date | Country |
---|---|---|
2 256 934 | Jun 2000 | CA |
0 845 733 | Jun 1998 | EP |
0 869 460 | Oct 1998 | EP |
1 058 254 | Dec 2000 | EP |
1 122 910 | Aug 2001 | EP |
1 233 414 | Aug 2002 | EP |
1333379 | Aug 2003 | EP |
1671231 | Jun 2006 | EP |
WO-9906912 | Feb 1999 | WO |
WO-9903098 | Nov 1999 | WO |
WO 0118633 | Mar 2001 | WO |
WO-0118633 | Mar 2001 | WO |
WO 03067438 | Aug 2003 | WO |
WO-03067438 | Aug 2003 | WO |
WO 2004084010 | Sep 2004 | WO |
WO-2004084010 | Sep 2004 | WO |
WO-2005031576 | Apr 2005 | WO |
WO-2006023990 | Mar 2006 | WO |
WO-2006023991 | Mar 2006 | WO |
WO-2006023992 | Mar 2006 | WO |
WO-2006023993 | Mar 2006 | WO |
WO-2006023994 | Mar 2006 | WO |
WO-2006023995 | Mar 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20060143476 A1 | Jun 2006 | US |
Number | Date | Country | |
---|---|---|---|
60636360 | Dec 2004 | US |