The present invention relates generally to data storage devices, and more particularly but not by limitation to encryption/decryption keys on data storage systems with no non-volatile key storage memory.
Data storage devices typically provide a storage medium for storing user and other data. When it is desirable to protect such data from unauthorized access, software applications (typically within an attached computer system) perform the encryption and pass the encrypted data to the data storage device for storage. Recently, hardened security storage devices have been introduced, which perform at least a portion of the encryption/decryption operations within the storage device. Often such systems employ an encryption/decryption key that is stored in a non-volatile memory within the storage device, such as an electrically erasable programmable read only memory (EEPROM).
Unfortunately, data storage devices that employ an encryption key that is stored in such a non-volatile memory (or that is stored on a remote server, for example) can be susceptible to physical attack. For example, the encryption/decryption key may be discovered by intercepting and analyzing messages between the attached computer system and the data storage device. Alternatively, the key can be discovered by physically opening the storage device and probing the storage device itself. Some conventional applications have attempted to address the latter security hole by storing the encryption key in a memory that is erased when the storage device housing is opened. However, if it is known that such security measures are in place, it is possible to bypass the security feature and thereby thwart the protective measure.
Therefore, there is an ongoing need for secure data storage where the key is not susceptible to physical attack. Embodiments of the present invention provide solutions to these and other problems, and offer other advantages over the prior art.
A storage device dynamically generates an encryption/decryption key for use by the storage device. The storage device has a storage medium, a key generator and a controller. The key generator generates an encryption/decryption key from selected bits of program code within the storage device. The controller controls access to the storage medium and applies the encryption/decryption key to encrypt and decrypt data written to or read from the storage medium.
Other features and benefits that characterize embodiments of the present invention will be apparent upon reading the following detailed description and review of the associated drawings.
In one embodiment, controller 202 can be implemented as part of an application specific integrated circuit (ASIC) 208. The ASIC 208 includes a read-only memory (ROM) 210 that stores program code 212, which is installed or written to the ROM 210 during manufacturing. Program code 212 can include boot level program code accessed by the storage device 100 on startup, for example. The program code 212 generally remains unchanged over time. ASIC 208 also includes a key generator 214 and optimally includes encryption algorithms 216 and device specific inputs 218.
The key generator 214 produces an encryption/decryption key based in part on information contained within the ASIC 208. For example, the key generator 214 can produce the encryption/decryption key based on device specific inputs 218 such as, for example, a reader head resistance, a writer coil resistance, a drive serial number, or other device specific information, including random outputs of comparator bits within the ASIC 208. The encryption/decryption key can be generated based on a bit map as discussed below. The controller 202 utilizes the encryption algorithms 216 and the encryption/decryption key to encrypt user data. The encrypted user data can then be written to the storage medium 206 via the read-write mechanism 204.
In general, by generating an encryption/decryption key entirely within ASIC 208, the encryption/decryption key cannot be ascertained by probing. Moreover, since the key can be generated dynamically, there is no stored key to be discovered. The hash value of the key, even if it is recovered, cannot be used to recreate the encryption/decryption key. Since data entering the storage device is processed within the ASIC 208, the key is not revealed to devices external to the storage device 100.
One advantage of applying the bit map 304 to the ROM code 400 is that the resulting bit string is produced entirely within the storage device, and preferably entirely within an ASIC. The resultant bit string can be the encryption/decryption key or can then be assembled into a key, depending on the specific implementation. As long as the ROM code 400 is kept secret, the encryption/decryption key is kept secret.
In some conventional hard disc drives, expensive non-volatile memory is often used to maintain keys to be used when encrypting or decrypting information. Unfortunately, the memory is usually attached to the rest of the electronics by an electronic data path which can be observed using appropriate instruments (such as a probe), which allows the key to be exposed to theft. Additionally, the memory adds a fixed production cost to the device, which cannot always be justified on the basis of something as small and infrequently used as an encryption key.
Embodiments of the present invention provide a simple solution to this problem. Namely, the resulting encryption/decryption key is dynamically produced by the storage device and is known only within the storage device itself (or more specifically within the ASIC 208). For cost sensitive applications such as hard disc drives, the present invention enables security functions to be supported with a minimal additional cost. Specifically, the drive specific information, such as the serial number, are already within conventional devices, as is the ROM code required to operate the storage device on startup. Thus, embodiments of the present invention provide a means for generating a secure key dynamically, so that related security enhancements can be provided with minimal additional cost or effort.
In particular, it is important that the key not vary over time so that data can be stored and then accessed by the controller 202 when desired. If the bit values change, data on the storage medium becomes inaccessible to the controller 202 because the decryption key would be lost. Consequently, the comparator 508 compares the hashed key value from the newly created key bit sequence against a stored hash value prior to forwarding the key to the controller 202.
As previously discussed, additional steps, such as hashing the generated encryption/decryption and comparing the hashed key value against a stored hash value may be added to the process in order to verify a key before use by a controller within the storage device. Additionally, a user key, a fingerprint or other user-specific information may be incorporated into a key to encrypt data for user-specific application. In one embodiment, for example, a fingerprint device may be utilized for generating a unique fingerprint-based digital signature that can be concatenated with the extracted bit sequence to produce the encryption/decryption key. In that embodiment, data stored on the storage device is accessible only to a user with that fingerprint.
Embodiments of the present invention provide advantages over stored key systems where the key is provided to the controller by electronic loop or connection. Such conventional systems can be hacked or sniffed to identify the key by tapping the appropriate wire connection. By generating a key dynamically from information stored entirely within the storage device and by maintaining the key within an application-specific integrated circuit, there is no exposed wire to be tapped. Consequently, the key is dynamically generated and used by the controller in a much more secure manner.
It is to be understood that even though numerous characteristics and advantages of various embodiments of the invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail, especially in matters of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. For example, the particular elements may vary depending on the particular application for the key generating system while maintaining substantially the same functionality without departing from the scope and spirit of the present invention. In addition, although the preferred embodiment described herein is directed to a dynamic key generation system for encrypting and decrypting data with a data storage device, it will be appreciated by those skilled in the art that the teachings of the present invention can be applied to any system that uses an encryption/decryption key for which protection of the key is desirable, without departing from the scope and spirit of the present invention.
Number | Name | Date | Kind |
---|---|---|---|
5915025 | Taguchi et al. | Jun 1999 | A |
6457126 | Nakamura et al. | Sep 2002 | B1 |
6473861 | Stokes | Oct 2002 | B1 |
6687375 | Matyas et al. | Feb 2004 | B1 |
6968459 | Morgan et al. | Nov 2005 | B1 |
7092954 | Ramesh | Aug 2006 | B1 |
7165152 | Blumenau et al. | Jan 2007 | B2 |
7165180 | Ducharme | Jan 2007 | B1 |
7397917 | Chen et al. | Jul 2008 | B2 |
7941769 | Hu | May 2011 | B1 |
7970138 | Cocchi et al. | Jun 2011 | B2 |
20020046342 | Elteto et al. | Apr 2002 | A1 |
20020169960 | Iguchi et al. | Nov 2002 | A1 |
20030009694 | Wenocur et al. | Jan 2003 | A1 |
20030046593 | Xie et al. | Mar 2003 | A1 |
20040093505 | Hatakeyama et al. | May 2004 | A1 |
20040172532 | Silverbrook | Sep 2004 | A1 |
20050147242 | Rueping | Jul 2005 | A1 |
20050262361 | Thibadeau | Nov 2005 | A1 |
20060025952 | Buhr | Feb 2006 | A1 |
20060034457 | Damgaard et al. | Feb 2006 | A1 |
20060075262 | Kim et al. | Apr 2006 | A1 |
Number | Date | Country |
---|---|---|
10143441 | May 1998 | JP |
2002171504 | Jun 2002 | JP |
2004178312 | Jun 2004 | JP |
2005354602 | Dec 2005 | JP |
9938078 | Jul 1999 | WO |
2004046935 | Jun 2004 | WO |
Number | Date | Country | |
---|---|---|---|
20070192631 A1 | Aug 2007 | US |