# Patent

## Title
Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network

## Abstract

A secure disk drive is disclosed comprising a disk for storing data, and an input for receiving an encrypted message from a client disk drive, the encrypted message comprising ciphertext data and a client drive ID identifying the client disk drive. The secure disk drive comprises a secure drive key and an internal drive ID. A key generator within the secure disk drive generates a client drive key based on the client drive ID and the secure drive key, and an internal drive key based on the internal drive ID and the secure drive key. The secure disk drive further comprises an authenticator for verifying the authenticity of the encrypted message and generating an enable signal, the authenticator is responsive to the encrypted message and the client drive key. The secure disk drive further comprises a data processor comprising a message input for receiving the encrypted message from the client disk drive, and a data output for outputting the ciphertext data to be written to the disk. The data processor further comprises an enable input for receiving the enable signal for enabling the data processor, and a key input for receiving the internal drive key, the internal drive key for use in generating a message authentication code. The data processor outputs reply data comprising the message authentication code. The secure disk drive outputs a reply to the client disk drive, the reply comprising the reply data and the internal drive ID.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to disk drives for computer systems. More particularly, the present invention relates to a secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network.
2. Description of the Prior Art
Security is of primary concern in network communications, particularly transactions taking place over the Internet. Highly sophisticated encryption algorithms have been employed to protect the integrity of sensitive data while in transit over public lines (transmission lines subject to inspection). The encryption algorithms are typically so reliable that it has become extremely difficult for an attacker to decipher a message that has been intercepted without access to the secret keys used to decrypt the message. Thus, attackers have focused their efforts on the destination or source computers and software involved in the transaction, either by attempting to intercept the message before encryption or after decryption, or by attempting to discover the secret keys used to decrypt the messages.
For example, an attacker may attempt to steal a disk drive from a network and then read the stored data at their leisure. Storing the data in encrypted form protects against this type of attack since the data cannot be deciphered even if the disk drive is stolen. This, however, does not protect against an attacker monitoring the encryption process as it takes place on a computer connected to the disk drive. Computers and the software running thereon are typically susceptible to various types of probing, such as with debuggers or logic analyzers, as well as virus programs which may allow access to otherwise protected information. For example, a virus program may be introduced into a computer's operating system by attaching the virus to an email.
A paper by H. Gobioff, G. Gibson, and D. Tygar entitled “Security for Network Attached Storage Devices”, Oct. 23, 1997, School of Computer Science, Carnegie Mellon University, suggests to implement the cryptographic circuitry and secret keys in tamper resistant circuitry within a disk drive where it is less susceptible to probing and virus attacks. These types of disk drives, referred to as NASD disk drives, are intended to be attached directly to a network in order to avoid the overhead associated with an intervening file server.
An overview of the security aspects suggested for a NASD disk drive is shown in FIG. 1A. A NASD disk drive 2 implements cryptography to communicate securely with a client computer 4 over a public network. Secret keys are used to encrypt and decrypt messages passed between the NASD disk drive 2 and client computer 4 so that any message intercepted in transit cannot be deciphered. In addition, the secret keys are used to transmit message authentication codes (MACs) which are used to verify the authenticity of the received messages.
To access the NASD disk drive 2, the client computer 4 sends a request 8, together with certain capability arguments, over a secure, private interface (not subject to inspection) to a file manager computer 6. The file manager computer 6 generates a secret client key 10 based on a secret working key together with the capability arguments received from the client computer 4. The secret client key 10 is transferred to the client computer 4 over the secure interface. The client computer 4 constructs an encrypted message 12 together with a MAC using the secret client key 10, and the encrypted message 12, including the capability arguments, is transferred to the NASD disk drive 2 over a public interface. The NASD disk drive 2 uses the secret working key and the capability arguments received in the message in order to reconstruct the secret client key which is then used to decrypt the encrypted message 12 as well as verify its authentication using the MAC. The NASD disk drive 2 then uses the secret client key to construct an encrypted reply 14 (including a MAC) which is transferred to the client 4. The file manager computer 6 may send a command 16 to the NASD disk drive 2 in order to change the secret working key, thereby decommissioning all of the previously issued secret client keys.
The above referenced paper suggests to implement the encryption, decryption, and message authentication facilities within the NASD disk drive 2 using tamper resistant circuitry to provide protection against probing attackers. However, the key management facilities implemented by the file manager computer 6 are still susceptible to attack, including physical probing attacks as well as attacks using virus programs which manipulate the operating system in order to reveal protected information concerning the secret keys.
The Digital Transmission Content Specification or DTCP discloses a cryptographic protocol for protecting audio/video (A/V) content from unauthorized copying as it traverses digital transmission mechanisms from device to device. Only compliant devices manufactured to support the DTCP protocol are capable of transmitting or receiving the protected A/V content. Each device is manufactured with a unique device ID and a public/private key pair which facilitate authentication and encryption/decryption of the A/V content. When a source device receives a request to transmit protected A/V content to a sink device, the source and sink devices engage in an authentication transaction. If the authentication transaction is successful, the source device generates an exchange key which is communicated to the sink device. The exchange key is used by the sink device to generate a content key associated with each A/V stream which is used to decrypt the A/V stream.
A problem with the DTCP protocol is that the A/V content is decrypted as it is received by the sink device and then stored on a storage medium in plaintext form. When the content is transferred to another device, the plaintext data is recovered from the storage medium, re-encrypted, transmitted, and again decrypted by the sink device for storage in plaintext form. Thus, the A/V content is only encrypted during transmission, which renders it susceptible to discovery by an attacker probing the devices. For example, an attacker may monitor the encryption or decryption process as they execute on a device, or an attacker may evaluate the storage medium in order to recover the A/V content in its plaintext form.
U.S. Pat. No. 5,931,947 discloses a network storage device for use in a secure array of such devices to support a distributed file system. Each device is an independent repository of remotely encrypted data to be accessed by authorized network clients. All encryption is done by the clients, rather than by the devices, and the encrypted data is stored in encrypted form. Each network storage device comprises an owner key used to generate authentication keys within the device for authenticating messages received from the clients. However, the keys used by the clients for encrypting data and generating the message authentication codes are generated external to the devices by a system administrator which is susceptible to attack.
There is, therefore, the need to improve security in network communications, particularly with respect to probing attacks and virus attacks on computer operating systems.
SUMMARY OF THE INVENTION
The present invention may be regarded as a secure disk drive comprising a disk for storing data, and an input for receiving an encrypted message from a client disk drive, the encrypted message comprising ciphertext data and a client drive ID identifying the client disk drive. The secure disk drive comprises a secure drive key and an internal drive ID. A key generator within the secure disk drive generates a client drive key based on the client drive ID and the secure drive key, and an internal drive key based on the internal drive ID and the secure drive key. The secure disk drive further comprises an authenticator for verifying the authenticity of the encrypted message and generating an enable signal, the authenticator is responsive to the encrypted message and the client drive key. The secure disk drive further comprises a data processor comprising a message input for receiving the encrypted message from the client disk drive, and a data output for outputting the ciphertext data to be written to the disk. The data processor further comprises an enable input for receiving the enable signal for enabling the data processor, and a key input for receiving the internal drive key, the internal drive key for use in generating a message authentication code. The data processor outputs reply data comprising the message authentication code. The secure disk drive outputs a reply to the client disk drive, the reply comprising the reply data and the internal drive ID.
The present invention may also be regarded as a secure disk drive comprising a disk for storing data, and an input for receiving an encrypted message from a client disk drive, the encrypted message comprising ciphertext data and a client drive ID identifying the client disk drive. The secure disk drive comprises a secure drive key and an internal drive ID. A key generator within the secure disk drive generates a client drive key based on the client drive ID and the secure drive key, and an internal drive key based on the internal drive ID and the secure drive key. The secure disk drive further comprises an authenticator for verifying the authenticity of the encrypted message and generating an enable signal, the authenticator is responsive to the encrypted message and the client drive key. The secure disk drive further comprises a data processor comprising a message input for receiving the encrypted message from the client disk drive, and a data input for receiving encrypted data read from the disk. The data processor further comprises an enable input for receiving the enable signal for enabling the data processor, and a key input for receiving the internal drive key, the internal drive key for use in generating a message authentication code. The data processor outputs reply data comprising the encrypted data read from the disk and the message authentication code. The secure disk drive outputs a reply to the client disk drive, the reply comprising the reply data and the internal drive ID.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A shows an overview of a prior art network system wherein a file manager performs key management functions for a Network Attached Storage Device (NASD).
FIG. 1B shows an overview of a computer network comprising a plurality of secure disk drives according to an embodiment of the present invention, wherein the secure disk drives implement key management and cryptographic functions for secure communication over the computer network, and the ciphertext data in the encrypted messages is not decrypted until presented to a trusted authority, such as a trusted client.
FIG. 2 shows a secure disk drive according to an embodiment of the present invention as comprising a data processor for processing encrypted messages received from client disk drives, an authenticator for authenticating the encrypted messages and enabling the data processor to write the ciphertext data in the encrypted message to the disk, and a secure drive key and a drive ID for generating keys which facilitate cryptographic facilities such as authentication, encryption and decryption.
FIG. 3 shows a secure disk drive according to an embodiment of the present invention as comprising a data processor for processing encrypted messages received from client disk drives, an authenticator for authenticating the encrypted messages and enabling the data processor to read ciphertext data from the disk, and a secure drive key and a drive ID for generating keys which facilitate cryptographic facilities such as authentication, encryption and decryption.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 2 shows a secure disk drive 20 according to an embodiment of the present invention as comprising a disk 22 for storing data, and an input 24 for receiving an encrypted message 26 from a client disk drive, the encrypted message 26 comprising ciphertext data and a client drive ID identifying the client disk drive. The secure disk drive 20 comprises a secure drive key 34 and an internal drive ID 38. A key generator 30 within the secure disk drive 20 generates a client drive key 32 based on the client drive ID and the secure drive key 34, and an internal drive key 36 based on the internal drive ID 38 and the secure drive key 34. The secure disk drive 20 further comprises an authenticator 56 for verifying the authenticity of the encrypted message 26 and generating an enable signal 50, the authenticator 56 is responsive to the encrypted message 26 and the client drive key 32. The secure disk drive further comprises a data processor 40 comprising a message input 42 for receiving the encrypted message 26 from the client disk drive, and a data output 44 for outputting the ciphertext data 46 to be written to the disk 22. The data processor 40 further comprises an enable input 48 for receiving the enable signal 50 for enabling the data processor 40, and a key input 51 for receiving the internal drive key 36, the internal drive key 36 for use in generating a message authentication code. The data processor 40 outputs reply data 54 comprising the message authentication code. The secure disk drive 20 outputs a reply 60 to the client disk drive, the reply 60 comprising the reply data 54 and the internal drive ID 38.
FIG. 1B shows a computer network comprised of secure disk drives 64 and 66 which are manufactured to support the secure communication facilities according to the embodiments of the present invention. Secure disk drive 64 comprises network communication circuitry for connecting directly to the network similar to the conventional NASD disk drive 2 of FIG. 1A, and secure disk drive 66 is connected to the network through a client computer 68. The network in the embodiment of FIG. 1B further comprises a network file manager 70 for implementing a distributed file system which may utilize secure disk drives manufactured according to the secure communication facilities of the present invention. The data transmitted between the secure disk drives, including initial messages and replies, are encrypted to facilitate message authentication and secrecy. The secure disk drives may be connected directly, or they may be connected through intermediary computers, such as client, router, or server computers. In one embodiment, intermediary computers, such as the network file manager 70 and client computer 68 of FIG. 1B, are intentionally isolated from the communication process so that the secure disk drives communicate autonomously. This embodiment protects against an attacker attempting to disrupt the network by infiltrating an intermediary computer and masquerading as a trusted authority in order to invoke a denial of service facility.
Communication between the secure disk drives involves transmitting encrypted messages between the drives and authenticating the message as they are received. In one embodiment, the secure disk drives comprise cryptographic facilities for encrypting the messages to be transmitted. For example, the secure disk drive 66 of FIG. 1B may receive plaintext data from the client computer 68 which is encrypted into ciphertext, optionally stored, and then transmitted to another secure disk drive (e.g., secure disk drive 64). When an encrypted message is received by a secure disk drive, it is not automatically decrypted as with the prior art DTCP protocol. Instead, the ciphertext in the encrypted message is processed (e.g., stored) in its encrypted form in order to maintain the mathematical protection of the encryption algorithm, thereby protecting against a probing attacker who may, for example, steal the disk drive and analyze the storage medium at leisure.
The embodiment of FIG. 2 illustrates a data transfer between two secure disk drives, wherein the secure disk drive 20 of FIG. 2 is receiving an encrypted message 26 from another secure disk drive referred to as a client disk drive. The encrypted message 26 comprises ciphertext data which is to be written to the disk 22. Before executing the write operation, however, the authenticator 56 within the secure disk drive 20 first authenticates the encrypted message 26 to verify that it has been received from a secure disk drive belonging to a trusted nexus of secure disk drives, and that the encrypted message 26 has not been tampered with during transmission. In one embodiment, the authenticator 56 also verifies the access rights associated with the encrypted message 26 received from the client disk drive. To facilitate the authentication process, each secure disk drive is manufactured with a unique drive ID 38 and a secure drive key 34. When an encrypted message is output from a secure disk drive, a message authentication code is generated using an internal drive key 36. The internal drive key 36 is generated by the key generator 30 based on the unique drive ID 38 and the secure drive key 34. The encrypted message 26 also contains the unique drive ID of the client disk drive so that the secure disk drive 20 receiving the encrypted message 26 can identify the client disk drive (the sender of the encrypted message 26).
The message authentication code may be implemented using any suitable technique. For example, in one embodiment the message authentication code is generated using well known hash message authentication codes or HMACs. In another embodiment, the encrypted message is self authenticating in that it can only be decrypted if it has been generated by a trusted authority and has not been modified during the transmission. In yet another embodiment, the authentication process involves a challenge and response sequence between the secure disk drives. The authenticator 56 of FIG. 2 comprises suitable means for implementing the authentication facility.
The client drive ID received in the encrypted message 26 may be encrypted, but it is ultimately presented to the key generator 30 in plaintext form. The key generator 30 generates a client drive key 32 based on the client drive ID and the secure drive key 34 of the receiving secure disk drive 20. The client drive key 32 may be symmetric or asymmetric depending on the design of the message authentication code. The authenticator 56 evaluates the client drive ID in the encrypted message 26 to verify that the client disk drive is part of the trusted nexus and has not been decommissioned. The authenticator 56 then uses the client drive key 32 to verify that the encrypted message 26 was in fact generated by the client disk drive which is associated with the client drive ID received in the encrypted message 26. In addition, the authenticator 56 may use the client drive key 32 to verify that the encrypted message 26 was not modified during the transmission. For example, if the message authentication code is generated using an HMAC over the entire encrypted message, then the corresponding HMAC generated by the authenticator 56 will not authenticate the message if the message is modified during the transmission or if the message is transmitted by an invalid entity.
If a received message fails to authenticate, it may indicate the secure disk drive that transmitted the message has been tampered with. In one embodiment, steps are taken to evaluate the integrity of the secure disk drive to determine if it has been compromised. For example, the file manager 70 of FIG. 1B or another secure disk drive may initiate a challenge and response verification sequence with the suspect secure disk drive. If the secure disk drive fails the challenge and response verification sequence, it is deemed compromised and is decommissioned. In an alternative embodiment, the secure disk drives are designed to detect internal tampering and will decommission themselves from the nexus when internal tampering is detected. The decommissioning function may be implemented by the file manager 70, or it may be distributed and handled autonomously by the nexus of secure disk drives. In one embodiment, a message is transmitted to the nexus of secure disk drives indicating that a compromised secure disk drive has been decommissioned.
If the authenticator 56 authenticates the encrypted message 26, then the secure disk drive 20 of FIG. 2 extracts the ciphertext data 46 from the encrypted message 26 and writes it to the disk 22. In one embodiment, the data processor 40 comprises error correction code (ECC) facilities for generating redundancy symbols appended to the ciphertext data 46 as it is written to the disk 22. The redundancy symbols are used during read-back to correct errors induced by the recording process.
After completing the write operation, the secure disk drive 20 of FIG. 2 generates an encrypted reply 60 transmitted to the client disk drive to confirm that the write operation was executed successfully. The key generator 30 generates an internal drive key 36 using the secure drive key 34 and the drive ID 38. The data processor 40 generates reply data 54 (indicating a successful write operation) and uses the internal drive key 36 to generate a message authentication code over the reply data. The reply data (including the message authentication code) together with the drive ID 38 are then transmitted to the client disk drive as the encrypted reply 60 via output 58. In the embodiment shown in FIG. 2, a multiplexer 62 first applies the reply data 54 to the output 58 and then applies the drive ID 38 to the output 58. The data processor 40 may also encrypt the reply data 54 before transmitting it to the client disk drive.
The key generator 30 comprises suitable facilities for generating the client drive key 32 and the internal drive key 36. For example, in one embodiment the key generator 30 generates the keys using well known hash functions, such as those disclosed in the MD5 Message Digest Algorithm. The secure drive key 34 may be mutable in order to reconfigure a nexus of secure disk drives, wherein the key generator 30 computes the internal drive key 36 dynamically each time it is needed by the data processor 40. In another embodiment, the secure drive key 34 is immutable and the internal drive key 36 is also static (i.e., computed one time and stored securely). In yet another embodiment, the secure drive key 34 is immutable but the internal drive key 36 is computed dynamically so that it is generated only if the secure disk drive 20 is operating correctly.
FIG. 3 illustrates a secure disk drive 72 according to an embodiment of the present invention wherein the encrypted message 26 comprises a read request generated by the client disk drive. The data processor 40 comprises a message input 42 for receiving the encrypted message 26 from the client disk drive, and a data input 64 for receiving ciphertext data 74 read from the disk 22. The data processor 40 further comprises an enable input 48 for receiving the enable signal 50 for enabling the data processor 40, and a key input 51 for receiving the internal drive key 36, the internal drive key 36 for use in generating a message authentication code. The data processor 40 outputs reply data 54 comprising the ciphertext data 74 read from the disk 22 and the message authentication code. The secure disk drive 72 outputs an encrypted reply 60 to the client disk drive, the encrypted reply 60 comprising the reply data 54 and the internal drive ID 38. In one embodiment, the secure disk drive 72 further comprises cryptographic facilities for decrypting the ciphertext data 74 into plaintext data which is supplied to a trusted authority.
The components in the secure disk drive 20 shown in FIG. 2 may be implemented in integrated circuitry or in firmware executed by a microprocessor. In one embodiment, tamper-resistant circuitry is used to implement one or more of the components, such as the secure drive key 34, the key generator 30, and/or the authenticator 56, in order to protect against a probing attacker from deriving information about the secure drive key 34. An example discussion of tamper-resistant circuitry is provided in Tygar, J. D. and Yee, B. S., “Secure Coprocessors in Electronic Commerce Applications,” Proceedings 1995 USENIX Electronic Commerce Workshop, 1995, New York, which is incorporated herein by reference. Further, implementing the key management, authentication and cryptographic facilities wholly within the secure disk drive autonomous from the operating system of a host computer renders the network less susceptible to virus attacks as compared to the file manager computer 6 in the prior art NASD implementation shown in FIG. 1A.

## Claims

1. A secure disk drive comprising:
(a) a disk for storing data;
(b) an input for receiving an encrypted message from a client disk drive, the encrypted message comprising ciphertext data and a client drive ID identifying the client disk drive;
(c) a secure drive key;
(d) an internal drive ID;
(e) a key generator for generating a client drive key based on the client drive ID and the secure drive key, and an internal drive key based on the internal drive ID and the secure drive key;
(f) an authenticator for verifying the authenticity of the encrypted message and generating an enable signal, the authenticator responsive to the encrypted message and the client drive key;
(g) a data processor comprising:
a message input for receiving the encrypted message from the client disk drive;
a data output for outputting the ciphertext data to be written to the disk;
an enable input for receiving the enable signal for enabling the data processor;
a key input for receiving the internal drive key, the internal drive key for use in generating a message authentication code; and
a reply output for outputting reply data, the reply data comprising the message authentication code; and

(h) an output for outputting a reply to the client disk drive, the reply comprising the reply data and the internal drive ID.

2. The secure disk drive of claim 1, wherein the secure drive key is immutable.

3. The secure disk drive of claim 1, wherein the secure drive key is mutable.

4. The secure disk drive of claim 1, wherein the authenticator comprises a means for verifying the access rights of the client drive ID.

5. The secure disk drive of claim 1, wherein the secure drive key comprises tamper resistant circuitry.

6. The secure disk drive of claim 1, wherein the key generator comprises tamper resistant circuitry.

7. The secure disk drive as recited in claim 1, wherein the authenticator comprises tamper resistant circuitry.

8. The secure disk drive as recited in claim 1, wherein the data processor further comprises cryptographic facilities.

9. A secure disk drive comprising:
(a) a disk for storing data;
(b) an input for receiving an encrypted message from a client disk drive, the encrypted message comprising ciphertext data and a client drive ID identifying the client disk drive;
(c) a secure drive key;
(d) an internal drive ID;
(e) a key generator for generating a client drive key based on the client drive ID and the secure drive key, and an internal drive key based on the internal drive ID and the secure drive key;
(f) an authenticator for verifying the authenticity of the encrypted message and generating an enable signal, the authenticator responsive to the encrypted message and the client drive key;
(g) a data processor comprising:
a message input for receiving the encrypted message from the client secure disk drive;
a data input for receiving ciphertext data read from the disk;
an enable input for receiving the enable signal for enabling the data processor;
a key input for receiving the internal drive key, the internal drive key for use in generating a message authentication code; and
a reply output for outputting reply data, the reply data comprising the ciphertext data read from the disk and the message authentication code; and

(h) an output for outputting a reply to the client disk drive, the reply comprising the reply data and the internal drive ID.

10. The secure disk drive of claim 9, wherein the secure drive key is immutable.

11. The secure disk drive of claim 9, wherein the secure drive key is mutable.

12. The secure disk drive of claim 9, wherein the authenticator comprises a means for verifying the access rights of the client drive ID.

13. The secure disk drive of claim 9, wherein the secure drive key comprises tamper resistant circuitry.

14. The secure disk drive of claim 9, wherein the key generator comprises tamper resistant circuitry.

15. The secure disk drive as recited in claim 9, wherein the authenticator comprises tamper resistant circuitry.

16. The secure disk drive as recited in claim 9, wherein the data processor further comprises cryptographic facilities.