Method and apparatus for encrypted remote copy for secure data backup and restoration

Information

  • Patent Application
  • 20060005048
  • Publication Number
    20060005048
  • Date Filed
    July 02, 2004
    20 years ago
  • Date Published
    January 05, 2006
    18 years ago
Abstract
Data at a primary storage system is encrypted and remote copied to a secondary storage system. A Remote Copy Configuration Information (RCCI) is created that identifies the encryption mechanism, keys, data source volume, and target volume for the remote copy. The RCCI is backed up on a trusted computer system. In one embodiment, the secondary storage system is an off-site data storage system managed by a third party. Upon detection of a failure in the primary storage system, the encrypted data and RCCI are transferred to a tertiary server, which is optionally created upon detection of the failure, and operations of the failed primary server are resumed by the tertiary server. In one embodiment, the failure is detected by loss of a heart beat signal transmitted from the primary storage system to a management server that initiates the transfers to the tertiary server.
Description
COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.


BACKGROUND OF THE INVENTION

1. Field of Invention


The present invention is related to secure data storage and restoration. The invention is yet more particularly related to data storage/backup at facilities that are not necessarily secure, such as secondary storage facilities outsourced to third parties. The invention is also related to encryption, security and backup of encryption algorithms, keys, and other storage related information, and restoration of encrypted off-site stored back-up data.


2. Discussion of Background


Data storage systems are common in all levels of modem business and personal enterprises. Maintaining data storage that is easily recoverable upon a failure is a necessity. Proprietary information, trade secrets, financial information, accounting, personal data, and other important records are all maintained electronically. Loss, corruption, or theft of that information is unacceptable and is potentially economically disastrous. To protect against such loss, a number of data storage solutions have been developed and implemented.


Many of those solutions rely upon transfer of the data, on a periodic basis, from the main data storage facility to some form of storage medium for protective custody elsewhere. The protective custody is often off-site at a second party and may be managed by a third party. The protective custody is often accessed over a network, and data owners often have little or no control over physical and/or electronic security measures implemented by the second and third parties.


“Remote copy” is one of the technologies available for replicating data at a remote storage facility. When employed, this technology will perform a data transfer from the main or local storage facility to the remote storage facility each time data is written and/or updated to a storage device of the local facility. However, remote copy, and other current implementations of backup and restore technologies have many problems in the areas of security and management of recovery.


SUMMARY OF THE INVENTION

The present inventors have realized the need for secure backup and restoration of data, particularly in systems where backups are stored off site and perhaps managed by third party vendors. The present inventors have also realized the need for reliable and secure backup of encryption information used to securely store data at off-site facilities and methods to facilitate recovery of a primary storage system upon failure.


Thus, the invention focuses on the situation where data processed at primary site is copied to secondary storage system whose management is outsourced to 3rd party organization, and data stored on the secondary storage system is encrypted by the primary storage system before being copied for fear that the data is read and stolen at secondary site maliciously.


In this situation, keys which are used to encrypt the data need to be backed up in case primary storage system fails, and the entire system is preferably organized and managed to facilitate seamless recovery.


The primary storage system encrypts data before it copies data to secondary storage system, and decrypts data and stores in it when it receives encrypted data from the secondary storage system. The primary storage system also backs up remote copy configuration information to a trusted computer system which could be a server or a tertiary storage system. Remote copy configuration information may include cryptographic keys, cryptographic algorithm ID, ID and size of target volume which stores data copied from primary storage system.


When the primary storage system fails, remote copy configuration information is loaded at tertiary storage system, and the tertiary storage system prepares for receiving encrypted data from secondary storage system-by-creating volume, loading keys and so on, based on the remote copy configuration information and then receives and decrypts encrypted data and store the data inside.


In one embodiment the present invention is a method, comprising the steps of, encrypting data, storing the encrypted data in a target volume, creating an information record comprising identifiers for each of a source location of the data encrypted, the target volume, and an encryption mechanism used to encrypt the data, and storing the information record at a location other than the source location of the data encrypted in the encrypting step.


In another embodiment, the present invention is a method comprising the steps of, receiving an authentication and encryption information record request at a secure module, verifying the authentication request at the secure module, if the request is verified, storing the requested encryption information record on a tertiary server, transferring a primary storage system's encrypted data to the tertiary server, decrypting the encrypted data using the encryption information record, and resuming operations of the primary server at the tertiary server using the decrypted data.


In yet another embodiment, the present invention comprises a data system, comprising, a primary storage system comprising at least one volume of data storage, a secondary storage system comprising at least one volume of data comprising a encrypted backup copy of the primary storage system volume, and a management server, wherein, the primary storage system further comprises cryptographic information and a decryption and restoration mechanism sufficient to decrypt and restore encrypted data from the secondary storage system to the primary storage system, and the management server maintains a back-up copy of the cryptographic information.


In yet another embodiment, the present invention comprises a data system, comprising, a primary storage system comprising at least one data volume and an encryption mechanism configured to encrypt and remote copy data stored on the primary storage system, a secondary storage system comprising at least one data volume, and a secure module, wherein the primary storage system is configured to, encrypt data stored on the primary storage system, remote copy the encrypted data to the secondary storage system, prepare a remote copy configuration information (RCCI) record identifying information about the encrypted data that is remote copied to the secondary storage system, and transfer the RCCI to the secure module.


In still yet another embodiment, the present invention comprises method, comprising the steps of, encrypting a volume of data of a primary storage system, storing the encrypted primary volume on a secondary storage system, and storing information identifying the encryption on at least one restoration capable storage system, wherein the at least one restoration capable storage system is configured to perform restoration of data from the secondary storage system.


Portions of the invention may be conveniently implemented in programming on a general purpose computer, or networked computers, and the results may be displayed on an output device connected to any of the general purpose, networked computers, or transmitted to a remote device for output or display. In addition, any components of the present invention represented in a computer program, data sequences, and/or control signals may be embodied as an electronic signal broadcast (or transmitted) at any frequency in any medium including, but not limited to, wireless broadcasts, and transmissions over copper wire(s), fiber optic cable(s), and co-ax cable(s), etc.




BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:



FIG. 1 is a block diagram of a configuration of hosts and storage systems according to an embodiment of the present invention;



FIG. 2 is an example structure and content of a Remote Copy Configuration Information (RCCI) record according to an embodiment of the present invention;



FIG. 3 is a flowchart illustrating a process flow at a tertiary storage system upon failure of a primary storage system according to an embodiment of the present invention;



FIG. 4 is a block diagram of a host, storage system, and a management server configuration according to an embodiment of the present invention;



FIG. 5 is a block diagram of a host, storage systems, and a management server configuration according to an embodiment of the present invention;



FIG. 6 is a block diagram of a host and storage system systems configuration according to an embodiment of the present invention;



FIG. 7 is a block diagram of a host, management console, and storage systems according to an embodiment of the present invention;



FIG. 8 is a block diagram of an example configuration of a secure module RCCI backup technique according to an embodiment of the present invention;



FIG. 9 is a flowchart of an example secure module RCCI backup according to an embodiment of the present invention;



FIG. 10 is a flowchart of an example process for providing a securely protected RCCI according to an embodiment of the present invention;



FIG. 11 is a flowchart of an example process for a controller according to an embodiment of the present invention;



FIG. 12 is an example flowchart of an implementation and use of an encrypted remote restore operation according to an embodiment of the present invention; and



FIG. 13 is a diagram of an arrangement of storage systems according to an embodiment of the present invention.




DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts, and more particularly to FIG. 1 thereof, there is illustrated a basic configuration of an embodiment of the present invention. Three storage systems are illustrated in FIG. 1, primary storage system 101, secondary storage system 111, and tertiary storage system 121. The basic hardware components and interconnections of each storage system may be, for example, similarly arranged. Each storage system (e.g., 101, 111, or 121) is, for example, connected to a host (e.g., host 131 for storage systems 101 and 121, and host 132 for storage system 111) through an I/O interface (e.g., I/O interfaces 107, 117, or 127 respectively). Each storage system receives read and write requests for data stored on volumes, such as 102, 103, 112, 113, 122, and 123, from the connected host (e.g., 131 or 132).


Volumes 102, 103, 112, 113, 122, and 123 can be logical volumes and do not necessarily correspond to physical entities. Further, although illustrated as co-located with corresponding hosts, the present invention includes configurations where the volumes are at physically remote locations. I/Os from the host (e.g., 131 or 132) are, for example, processed by disk controller (e.g., 104, 114, or 124). The disk controllers comprise, for example, at least a CPU (e.g., CPUs 106, 116, or 126) and memory (e.g., memories 105, 115, or 125).


Primary storage system 101 is coupled to secondary storage system 111 and tertiary storage system 121 through interfaces 108, 118, and 128. The interfaces are coupled, for example, via any of direct cabling (e.g., fiber optic, coax), a network, and wireless connectivity (e.g., IEEE 802.11). In operation, in one embodiment, primary storage system 101 is replaced with tertiary storage system 121 in the event primary storage system 101 fails. Although tertiary storage system 121 is illustrated as connected to host 131 and secondary storage system 111, in one embodiment, tertiary storage system 121 is not connected to host 131 and secondary storage system 111 until primary storage system 101 fails. Similarly, in some embodiments, tertiary storage system 121 is not connected to primary storage system 101 until it is required. Tertiary storage system 121, for example, can be configured identical to primary storage system 101 so that it can substitute for primary storage system 101 anytime, however, it is assumed hereafter that tertiary storage system 121 is used for other purposes prior to the failure.


In one embodiment, tertiary storage system 121 does not even have to exist until primary storage system 101 fails. For example, tertiary storage system 121 may be constructed from a pool of available storage space by a management server upon recognition of a failure in the primary storage system.


In an example operation, data created at host 131 is written on a volume (e.g., any of vol. 102 and vol. 103) in primary storage system 101. Then the data is encrypted and transferred to a predefined target volume. The predefined target volume is, for example, any of vol. 112 and vol. 113 in secondary storage system 111. The encryption of the data is performed using an encryption mechanism which is, for example, comprised of CPU 106 and memory 105 where an encryption algorithm and appropriate keys are deployed. The encrypted data is transferred to secondary storage system 111 via I/O interfaces 108 and 118. Secondary storage system 111 stores the encrypted data to the intended volume such as vol. 112 and vol. 113 without decrypting it, so that anyone that accesses the secondary storage system (either with proper authority or maliciously) cannot see the actual content of the data. Hereafter, it is assumed that data in volume 102 and 103 is copied to volume 112 and 113 respectively.


When primary storage system 101 needs to restore data from the secondary storage system 111, data in encrypted form is transferred to the primary storage system 101. The encryption mechanism, (e.g., CPU 106, memory 105, encryption algorithm, and keys), decrypts the transferred data and stores it in primary storage system 101. For example, primary storage system 101 sends a request to secondary storage system 111 for data that was encrypted from vol. 102 Secondary storage system locates the requested data on vol. 112 and sends it to the primary storage system for decryption and storage on vol. 102.


Tertiary storage system 121 also has encryption and decryption capability. Secondary storage system 111 does not have to be equipped with encryption and/or decryption capability. However, in some embodiments, encryption and decryption capability may be installed and utilized.


The present invention includes backup of Remote Copy Configuration Information (RCCI)for data encrypted and stored on the secondary storage system. Primary storage system 101 and tertiary storage system 121 use the Remote Copy Configuration Information (RCCI) to perform restoration of data from secondary storage system 111. The RCCI includes, for example, information about the storage location of the encrypted data, storage location of the data prior to being encrypted, and encryption information identifying how the data was encrypted, and which can be utilized to decrypt the data. FIG. 2 is an example of an RCCI.


Preferably, each RCCI is associated with a pair of volumes which are a source volume specified in 208 (e.g., volume 102 in this example) of a source storage system specified in 210 (e.g., primary storage system 101) and a target volume specified in 205 (e.g., volume 112) of a target storage system specified in 209 (e.g., secondary storage system 111). In one embodiment, target and source storage system IDs (e.g., 209 and 210) are manufacturer's serial numbers that uniquely identify storage systems. The storage systems may be, for example, Hitachi Lightning 9900™ V Series enterprise class storage systems, Hitachi's Thunder 9500™ V Series systems, or other appropriate data storage systems.


RCCI 201 also includes cryptographic key 202, target volume size 203, algorithm ID 204, target volume ID 205, copy method 206 and access control information 207. Depending on the algorithm used for the encryption and decryption, cryptographic key 202 may consist of several values. For example, the Data Encryption Standard (DES) uses only one 8 byte value as both an encryption and decryption key, whereas RSA uses different keys for encryption and decryption. Volume size 203 contains the size of the volume 102.


Algorithm ID 204 is used for encryption and decryption processing. “DES EBC Mode” in algorithm ID 204 indicates an example of algorithm ID to show that each 8 byte block of data is encrypted or decrypted by DES (Data encryption standard) with ECB (Electric Cook Book) Mode, i.e. each 8 byte block is encrypted or decrypted independently. Of course, if the algorithm to be used for encryption and decryption is fixed, there is no need to have this field in RCCI.


Target volume ID 205 is an ID of volume in secondary storage system 111 where data in the volume associated with RCCI 201, in this case volume 102, is intended to be copied, in this case the target volume is 112.


Copy method 206 indicates how the remote copy is done; the examples of copy method are synchronous remote copy and asynchronous remote copy.


Access control information 207 may contain WWNs (Worldwide names) of HBA (Host Bus Adaptor) or host names which are allowed to access the volume 102.


Any of the fields of the RCCI 201 may contain values as described, or, alternatively any one or more fields may be a reference (e.g., pointer) to another file or field where the value or field item is found. For example, in one embodiment, the Algorithm ID 204 contains a pointer to the encryption algorithm. In yet another embodiment, the Algorithm ID 204 contains an indirect reference (e.g., pointer to a pointer to the encryption algorithm). In such embodiments, certain pointer values or storage locations (e.g., storage of the encryption algorithm) on both the primary storage system and backup storage system (e.g., trusted computer, tertiary, etc.) are updated to be consistent and/or point to the appropriate locations as referenced by the RCCI field values.


RCCI 201 is transferred to trusted computer system 133, which could be host 131, a smart card, or tertiary storage system 121. In some embodiments, the trusted computer system may also be embodied as a management server or a secondary storage system. Trusted computer system 133 is connected with primary storage system 101, for example, through interface 109, and tertiary storage system 121 through interface 129 when needed. This transfer is protected with security so that at least cryptographic key 202 is kept confidential. Any technologies, such as Secure Socket Layer (SSL) or Transport Layer Security (TLS), can be used to keep the confidentiality. Though SSL or TLS is basically a protocol over TCP/IP network, similar technologies can be used for other networks, such as a Fibre Channel network. The RCCI transfer session may also be authenticated between the entities involved in the session, particularly if the network is not secure. The authentication may be also performed by any number of technologies, such as SSL or TLS. RCCI 201 is stored at the trusted computer system 133. Secure storage for the RCCI 201 is provided if there is a possibility for the trusted computer system 133 to be accessed by unauthorized persons. For example, RCCI 201 can be stored in encrypted form or in a smart card which is protected with a personal identification number of privileged person.


Because RCCI is associated with one volume, there may be a plurality of RCCIs for one storage system. In one embodiment, the RCCI itself is segmented with fields for different portions of the volume to which it is associated. The segmentation of the RCCI allows for retrieval/restoration of a single or multiple segment of the volume. In another embodiment, separate RCCIs are generated for each of several segments within a volume (e.g., Vol. ID of the RCCI becomes Volume and Segment ID). The encrypted secondary site data is restored when the primary storage system fails



FIG. 3 provides an example process flow performed by tertiary storage system 121 when primary storage system 101 fails. At step 301, tertiary storage system 121 receives RCCI 201 from trusted computer system 133. If RCCI 201 has been directly transferred from primary storage system 101, i.e. tertiary storage system plays the role of 133, step 301 is omitted. RCCI 201 can be protected by authentication and/or another confidentiality technique if the network is not secure.


At step 302, tertiary storage system 121 receives a command which indicates to prepare for restoring data from secondary storage system 111. The command for restoration is received from, for example, a technician, or an automated command from a management server. In one embodiment, the command is initiated by a management server that monitors status of the primary storage systems. The command may be sent as noted above, when the primary system fails. In one embodiment, the command my be sent if the primary storage system is overloaded with data requests and the management server decides to operate in a dual storage system environment. In this embodiment, additional management server functions include, for example, synchronization of the dual storage system.


At step 303, the tertiary storage system loads a cryptographic method, such as cryptographic key 202 and/or algorithm logic indicated by algorithm ID 204 onto memory 105 and CPU 106. The cryptographic program is, for example, a DES algorithm that is accessed via the program name. In another embodiment, the algorithm is loaded into a predetermined storage place (e.g., specific address) on the tertiary system. In yet another embodiment, the cryptographic program is loaded into any free memory space (including disk space), and a reference pointer is updated to point to or otherwise identify the storage location of the cryptographic program.


At step 304, the remote copy is configured. This configuration can include creating a volume 122 whose size is indicated by 203, setting volume 112 as a remote copy source volume using target volume ID 205, restricting access to the volume 122 only to those specified in 207, and so on.


When the remote copy is configured, tertiary storage system 121 is ready to receive command to start remote copy from secondary storage system 111 to tertiary storage system 121. In one embodiment, during the remote copy, tertiary storage system 121 receives blocks of data from secondary storage system 111, decrypts them and stores them on volume 122. Thus, in most embodiments described herein, the secondary storage system is normal storage, without need for cryptographic functionality for encrypting or decrypting data.


Restoration of target volume data is not necessarily performed through remote copy and, for example, can be performed as follows; secondary storage system 111 copies data in the volume 112 onto a tape, and the tape is physically transferred to tertiary storage system 121, and then tertiary storage system 121 reads the data in the tape. In one embodiment, secondary storage system 111 stores the encrypted data on one or more disk drives, and the disk drives themselves are transferred to the tertiary system. The data is then transferred to the tertiary storage system, or the physically transferred disk drives are installed in the tertiary storage system and are directly accessed as part of the tertiary storage system.


The RCCIs are, for example, backed up to the tertiary storage system. FIG. 4 is one of the embodiments of the invention. A management server 401 is configured to manage remote copy operations among storage systems 101, 111, and 121. FIG. 4 shows management server 401 and host 131 as separate computers. The separate computers may be directly connected via a network, serial bus, parallel port, an I/O port, etc. However, the computers and/or their processing capabilities are not necessarily physically separate from each other.


In this embodiment, it is assumed that primary storage system 101 backs up several RCCIs to tertiary storage system 121. In this embodiment, tertiary storage system 121 is used to, for example, replace the primary storage system upon failure. In the interim before failure, the tertiary storage system 121 also performs the role of trusted computer system 133 in that it backs up the RCCIs.


When primary storage system 101 becomes unavailable and management server 401 notices it, management server 401 sends a command which indicates to prepare for restoring data from secondary storage system 111 as shown in step 302. Step 302 also includes creation of a volume to store the data restoration. The volume may exist prior to the restoration, or may be created “on the fly” after the need for restoration arises. The volume may be created from a single disk or storage system, or may be created from available storage space across multiple drives and/or storage systems. Since tertiary storage system 121 has already received RCCIs, step 301 can be omitted.


When management server 401 notices the end of the preparation process, it then issues a command to start remote copy from secondary storage system 111 to tertiary storage system 121. Tertiary storage system 121 receives blocks of data from secondary storage system 111 that were originally encrypted at primary storage system 101. The tertiary storage system 121 finds associated cryptographic method, decrypts the data and stores it onto an associated volume. In one embodiment, tertiary storage system 121 starts the remote copy automatically without an instruction from management server 401.


When data restoration finishes, tertiary storage system 121 becomes ready to accept I/Os from host 131 and copy data to secondary storage system 111. Tertiary storage system 121 copies data to secondary storage system 111 after encrypting data using the same key as had been used at primary storage system 101. After the primary storage system is repaired, the encrypted data on the secondary storage system (and RCCI, if needed) are transferred to the primary storage system for restoration. In one embodiment, as soon as primary storage system fails, the RCCIs are backed up to a third computer (e.g., trusted server), so that at all times the RCCIs are backed up at a fully functional and secure location.


In one embodiment, the RCCIs are backed up to a management server. FIG. 5 shows another embodiment of the invention. Primary storage system 101 backs up RCCIs to management server 501. In this embodiment, the management server 501 plays the role of trusted computer system 133 in that the RCCIs.


When primary storage system 101 becomes unavailable and management server 501 notices it, management server 501 sends the RCCIs to tertiary storage system 121 as is specified in step 301. Preferably, communications between management server 501 and tertiary storage system 121 are protected using an encryption and authentication mechanism such as SSL.


In one embodiment, a restoration of the primary storage system is performed using the encrypted data stored at the secondary storage system. The encrypted data is copied and decrypted at the tertiary storage system similar to that described above with reference to FIG. 4, except that the RCCIs are transferred from the management server to the tertiary storage system prior to decryption of the encrypted data.


Thus, in one embodiment, the invention includes backing up RCCI(s) to a management server, monitoring of the primary server by the management server to detect possible failure, and ordering the tertiary server to begin a recovery effort to replicate the primary server using the RCCI(s) and encrypted data transferred from the secondary storage system.


In one embodiment, the RCCIs are backed up to a tertiary storage system and failover (recovery of a primary storage system failure) occurs automatically. FIG. 6 shows yet another embodiment of the invention. RCCIs are backed up to tertiary storage system 121. Tertiary storage system 121 receives heartbeat signals of primary storage system 101. The heartbeat signals allow tertiary storage system 121 to detect failure of primary storage system 101. The heartbeat signal is, for example, a plain signal indicating the primary storage system is up. In one embodiment, the heartbeat signal includes status, such as, for example, an average response time for read and/or write requests of the primary storage system. The heartbeat signal may be transmitted, for example, via a serial, parallel, bus, or network connection between the primary storage system 101 and secondary storage system 121. In one embodiment, the heartbeat signal is transmitted wirelessly. When tertiary storage system 121 detects the failure, it starts preparation for restoration and then automatically starts remote copy from secondary storage system 111.


By being equipped with the function to detect failure of the primary storage system 101, tertiary storage system 121 can start restoration process without being commanded by a management server. In this embodiment, tertiary storage system 121 is always coupled with primary storage system 101 to receive heartbeats from it.


Clustering technologies may be utilized to detect failure of pre-defined computer systems. Such technologies may be applied to detect failure of the primary storage system 101, and therefore, such technologies can be used instead of receiving heartbeats of primary storage system 101.


The present invention provides for contingencies such as loss of RCCIs at the primary storage system. FIG. 7 shows another embodiment of the invention. There may be a situation where primary storage system 101 loses some information, such as an encryption and decryption key. This results, for example, in the primary storage system being unable to perform remote copy operations to the secondary storage system 111 due to some failure, but that other functions are recoverable in a timely manner.


One example is the case where primary storage system 101 loses only the encryption and decryption keys, and other data inside volume 102 is not damaged. In this case, RCCIs which are backed up to trusted computer system 133, such as management server 701, are sent to primary storage system 101, and primary storage system 101 loads the RCCIs on the memory 105 and CPU 106, then primary storage system 101 becomes operable. Remote copy operations from the primary storage system to the secondary storage system are suspended until RCCIs are loaded on the memory 105 again.


In several embodiment, RCCIs are backed up to a secondary storage system. FIG. 8 illustrates an embodiment of the present invention where RCCIs are backed up to secure module 802 in secondary storage system 111.


Secure module 802 can be integrated in disk controller 114 or can be separate module from disk controller 114. An advantage to integrating a secure module into the disk controller is it is generally less vulnerable to malicious attack. Data inside secure module 802 is protected securely and no access is allowed without a privileged entity's permission. An example of the implementation of secure module 802 can be a smart card. When a privileged entity makes an appropriate request, secure module 802 provides requested RCCI to a specified computer system.


Thus the present invention may be implemented such that the RCCI is backed up at the secondary storage system. Preferably, the secondary storage system is equipped with a secure module (e.g., smart card device) where the RCCI is protected by a PIN, password, etc. Recovery from such an arrangement is initiated, for example, by sending the RCCI to the tertiary storage system after appropriate authentication of an entity making a recovery request. Alternatively, the data may be decrypted at the secondary storage system using the RCCI stored in the secure module, and the decrypted data is then sent to the tertiary server. In yet another alternative, the decrypted data may be hosted at the secondary storage system and, for example, data requests/writes are communicated between a host of the primary storage system and a host associated with the secondary storage system (e.g., a data request communicated from Host 131 to the secondary storage system 111 via interface 108). In each embodiment, data transfers, whether in the form of RCCI transfers, or transfers of data decrypted at the secondary storage system are not performed unless appropriate authentication has been performed.


For example, a disk controller of the secondary storage system is configured to securely handle both authentication and the result of the authentication. In one embodiment, the authentication and result are securely handled by a smart card, and additional access controls are preferably handled via similarly secure transactions. Thus, the disk controller in combination with the smart card (or other secure module) is capable of preventing malicious or unintended access to the data. RCCI transfers to/from the secondary storage system are the sole responsibility of the secure module and are always handled securely. Encrypted data can be transferred by the disk controller alone because of the encryption. Decryption and then transfer of data outside the secondary storage system is only performed after successful authentication.



FIG. 9 illustrates a process flow where a secure module (e.g., secure module 802) provides tertiary storage system 121 with an RCCI. At step 901, secure module 802 receives an authentication request from management server 801 or tertiary storage system 121. The authentication request includes an authentication token as well as a request for RCCIs. For example, a shared secret data, data cryptographically signed with public key, or shared secret key of a DES algorithm, or the like may be utilized. In one embodiment, depending on an environment in which the storage systems are located, only an ID or a personal identification number assigned for an authenticatee may be used. Secure module 802 verifies the received authentication token at step 902. If the verification succeeds (step 903), secure module 802 sends back the requested RCCI (step 904). This RCCI is, for example, to be set on tertiary storage system 121, and tertiary storage system 121 starts preparation for restoring data from secondary storage system 111.


If the verification fails, secure module 802 declines the request for RCCIs. In one embodiment, secure module 802 may also be configured to detect consecutive failure of authentication tries and decline any further authentication try when the number of trial reaches pre-defined criteria. Secure module 802 can also have a function to send an alert (e.g., e-mail alert to a technician or manager) when a situation occurs where the number of authentication failures reaches a pre-defined criteria or some other type of attacks/failures are attributed to a certain person/user.


Preferably, the communication link between secure module 802 and management server 801 or tertiary storage system 121 is confidentially protected via an authentication technique, such as SSL or TLS.



FIG. 10 shows another process flow where secure module 802 provides disk controller 114 with a securely protected RCCI. In this flow, secure module 802 provides the RCCI to disk controller 114 at step 1004, instead of the management server 801 or tertiary storage system 121.


In one embodiment, the disk controller (e.g., disk controller 114) transfers data upon a proper request/command, for example, upon receipt of an RCCI. FIG. 11 shows a process flow of disk controller 114 when it receives an RCCI. When disk controller 114 receives RCCI 201 at step 1101, it starts transferring the data in the volume 112 which is specified in 205, for example, to a newly created volume of the tertiary storage system as explained in step 304. In one embodiment, before transferring the data, disk controller 114 decrypts the data using the key specified in 202 (step 1102).


Alternatively, in addition to authentication, which may occur concurrently or as a separate message to the disk controller 114, only information identifying the encrypted data and a storage system where the data is being restored to is sent to the disk controller 114. The disk controller 114 responds by transferring the encrypted data to a recipient storage system 121 where it is decrypted and “restored”.


When step 1102 finishes, RCCI 201, which is stored in memory 115 and/or loaded into CPU 116 in the disk controller 114, is deleted (step 1103).


When the data is transferred to another storage system (e.g. tertiary system), it is possible to discard the data in the secondary storage system because the primary storage system still holds the data awaiting to be placed back on-line. However, tertiary storage system then, particularly any updates, are backed up to another secondary storage system. In one embodiment, for updates, tertiary storage system 121 uses a different encryption key from that which was used by primary storage system 101.


Secure modules may be utilized in both primary and tertiary storage systems. In the embodiment described above, only the secondary storage system 111 has a secure module 802, because secondary storage system 111 is managed by, for example, a 3rd party organization which may not be fully secure and/or trusted. However, primary storage system 101 or tertiary storage system 121, even when located at secure or trusted facilities, may also be equipped with secure modules to protect information such as cryptographic keys securely using authentication tokens or other security techniques.



FIG. 12 is an example flow chart of an implementation and use of an encrypted remote restore operation according to an embodiment of the present invention. At step 1200, a failure of a primary storage system (e.g., primary storage 101) is detected. The detected failure may be, for example, failure of a disk drive in the primary storage system (e.g., head crash, motor failure, or other malfunction), a controller failure, malicious virus, electrical spike affecting operation of the primary storage. The failure is detected, for example, by the management server (e.g., missing heartbeat and/or built-in-test (BIT) results, periodic maintenance, etc.).


At step 1210, a repair message is issued. If a BIT or other diagnostic routine is run, the results are, for example, included in the repair message. The diagnostic results may take the form of orders to perform specific operations to get the storage 'system back on-line. The orders may include, for example, a command to reboot one or more servers, reboot a disk controller, activate further diagnostics and/or advise a technician or other support personnel of a faulty drive or other potential problems in need of further investigation.


At step 1220, it is determined whether or not the problem is timely repairable. In this context, timely repairable is if an estimated time to get the primary storage system back on-line is less than an estimated time before the volume needs to be accessed in a manner that requires all data in the volume to be available. The decision may be based, for example, on how the data is backed up (e.g., particulars of a remote encrypted copy), historical accesses to the volume, and an estimated time to repair. For example, if the volume is backed up as a single non segmented volume, historical data accesses to the volume are frequent, and the estimated time to repair is long (e.g., replacement of a disk drive), then the problem is not timely repairable. On the other hand, if the historical accesses are infrequent, and the estimated time to repair is short (e.g., a single server re-boot), then the problem is timely repairable. Further, if immediate data needs from the volume can be met with “smaller” restorations of specifically identified segments of the volume, and the encrypted remote copy of the volume has enough information to be able to restore the immediate needs, the problem is also timely repairable.


If the problem is not timely repairable, the primary storage system is backed up from an encrypted remote copy consistent with any of the previously described or equivalent restoration processes (step 1215). If the problem has been determined to be timely repairable and there are no immediate data needs, the management server (or other server) focuses on preparing for incoming data needs, or requests for data from the primary storage system that arrive after the failure (step 1250). The management server may also run additional BITs or diagnostics that do not conflict with repair being done to help insure that the problem or problem area was correctly identified. If the problem is repaired, no further diagnostics are needed, and the process completes (step 1255), otherwise a loop is implemented to continually check for new data needs. In one embodiment, the additional diagnostics are interrupted if data needs are received while the additional diagnostics are running.


If the problem is determined to be timely repairable and there are immediate data needs, the management server locates a “small” server (e.g., a portion of the management server's system, a remote server, etc.) suitable for storage of the immediate data needs (step 1260). The immediate data needs are identified within the primary storage by, for example, partition and segment numbers, and the RCCI(s) having the appropriate decryption information (including algorithm and keys) for the identified partitions and segments are located (step 1270). And, at step 1280, a partial restore of at least the immediate data needs is performed on the “small” server. The partial restore operates, for example, similar to any of the above described restoration processes and targets a portion of the volume containing the immediate data needs.



FIG. 13 is a diagram of an arrangement of storage systems according to an embodiment of the present invention. A bank of primary storage systems 1300 and a tertiary storage system 1310 are coupled to a management server 1320. The primary and/or tertiary storage systems are, for example, constructed using a set of Hitachi Lightning 9900™ V Series enterprise class storage systems. Smaller storage systems such as Hitachi's Thunder 9500™ V Series systems, and storage systems from other manufacturers may also be utilized. The storage systems are configured as described above, including software and/or firmware and/or hardware configured according to one or more of the embodiments described herein. Each primary storage system is, for example, individually backed up as described above to an off-site, possibly 3rd party, storage system (e.g., storage system 1330). RCCI keys for each storage system backed up are stored in at least one of the tertiary storage system 1310 and/or management server 1320. A wirelessly transmitted heartbeat signal 1340 from each of the primary storage systems is sent to the management server 1320 which monitors the health of each primary storage system. A failure on any of the primary storage systems initiates a data backup (“restore”) of the failed storage unit to the tertiary storage system 1310. In one embodiment, a tertiary storage system is not used, but free space on each of the remaining primary storage systems is pooled (e.g., under the management of the management server 1320) and used to form a virtual volume to which the restoration of the failed storage system is performed.


Although the present invention has been described herein mainly with reference to data storage systems, the devices and processes of the present invention may be applied to other types of systems having a data storage component or having data to be securely stored off site.


In describing preferred embodiments of the present invention illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the present invention is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents which operate in a similar manner. For example, when describing a data storage system, any device or system capable of storing data, along with appropriate communication and/or other processing capabilities as described herein may be substituted. Example data storage systems include, but are not limited to, disk drives (e.g., optical, magnetic), tape drives, hosts, servers, clients, web servers, data warehousing, virtual storage devices, Internet storage devices, RAID devices, or other devices having an equivalent function or capability, whether or not listed herein. Furthermore, the inventors recognize that newly developed technologies not now known may be substituted for the described parts and still not depart from the scope of the present invention. All other described items, including, but not limited to hosts, controllers, servers, communications systems, etc should also be considered in light of any and all available equivalents.


Portions of the present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art.


Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art based on the present disclosure.


The present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to control, or cause, a computer to perform any of the processes of the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, mini disks (MD's), optical discs, DVD, CD-ROMS, micro-drive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices (including flash cards), magnetic or optical cards, nanosystems (including molecular memory ICs), RAID devices, remote data storage/archive/warehousing, or any type of media or device suitable for storing instructions and/or data.


Stored on any one of the computer readable medium (media), the present invention includes software, for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, and user applications. Ultimately, such computer readable media further includes software for performing the present invention, as described above.


Included in the programming (software) of the general/specialized computer or microprocessor are software modules for implementing the teachings of the present invention, including, but not limited to, encryption and decryption of data, communicating and saving data, including cryptographic keys and/or RCCI records, requesting data from secondary, tertiary, and/or other storage systems, testing data storage systems, including BITs and heartbeat determinations, managing the processing described herein, and the display, storage, or communication of results according to the processes of the present invention (e.g., notifying technicians or management programs of system health, status of backups, etc.).


The present invention may suitably comprise, consist of, or consist essentially of, any of element (the various parts or features of the invention, (e.g., servers, storage systems, controllers, communication systems, programs, and processes) and their equivalents as described herein. Further, the present invention illustratively disclosed herein may be practiced in the absence of any element, whether or not specifically disclosed herein. Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

Claims
  • 1. A method, comprising the steps of: encrypting original data stored at a source volume with an encryption algorithm; storing the encrypted data in a target volume; creating an encryption information record comprising identifiers for each of the source volume of the original data, the target volume, and the encryption algorithm used to encrypt the original data; and storing the encryption information record at a location other than the source volume of the original data.
  • 2. The method according to claim 1, wherein: the source location of the encrypted data comprises a source volume of a primary storage system; the target volume comprises a volume of a secondary storage system; the step of storing the encrypted data comprises a remote copy operation from an output of an encryption mechanism executing the encryption algorithm to the target volume of the secondary storage system; and the information record further comprises a Remote Copy Configuration Information (RCCI) comprising a volume ID of the source location of the original data, a volume ID of the target volume, and an ID and key(s) of an encryption algorithm used to encrypt the original data.
  • 3. The method according to claim 2, wherein the encryption algorithm ID comprises an indirect reference to the encryption algorithm.
  • 4. The method according to claim 1, wherein the step of storing the information record comprises storing the information record on a trusted storage system.
  • 5. The method according to claim 4, wherein the step of storing the information record further comprises transferring the information record from a primary storage system to the trusted storage system using a secure transfer.
  • 6. The method according to claim 1, wherein the step of storing the encrypted data comprises storing the encrypted data in the target volume on a remote storage system.
  • 7. The method according to claim 6, wherein the remote storage system is managed by a third party.
  • 8. The method according to claim 2, wherein the information record comprises a plurality of RCCIs.
  • 9. The method according to claim 8, wherein the step of storing the information record comprises storing the plurality of RCCIs on a trusted computer system.
  • 10. The method according to claim 1, further comprising the steps of: detecting a failure in a primary storage system; transferring the encrypted data from the target volume to a tertiary storage system; decrypting the encrypted data; and restoring functionality of the primary storage system at the tertiary storage system using the decrypted data.
  • 11. The method according to claim 10, further comprising the step of backing up the information record upon detection of the failure.
  • 12. The method according to claim 10, further comprising the step of transferring the information record from a trusted computer system to the tertiary storage system.
  • 13. The method according to claim 10, wherein the tertiary storage system is the storage location of the information record.
  • 14. The method according to claim 1, further comprising the steps of: detecting a failure on a primary storage system; restoring at least a portion of the encrypted data on a tertiary storage system; and meeting storage and retrieval needs of the primary storage system through the tertiary storage system.
  • 15. The method according to claim 14, wherein: the step of restoring comprises, transferring at least a portion of the encrypted data from the target volume to the tertiary storage system, transferring the stored information record to the tertiary storage system, and decrypting at least a portion of the encrypted data onto a volume of the tertiary storage system.
  • 16. The method according to claim 14, further comprising the step of creating the tertiary storage system.
  • 17. The method according to claim 16, wherein the tertiary storage system is created after detecting the failure.
  • 18. The method according to claim 16, wherein the step of creating the tertiary storage system comprises pooling free storage space from at least one available storage system.
  • 19. The method according to claim 10, wherein the failure detection is performed using clustering technology.
  • 20. The method according to claim 10, further comprising the steps of: determining if the failure includes loss of the information record at the primary storage system; and if the failure includes loss of the information record, then restoring the information record from the non source location.
  • 21. The method according to claim 10, wherein said step of detecting a failure comprises monitoring a heartbeat of the primary storage system.
  • 22. The method according to claim 21, wherein the heartbeat is wirelessly transmitted from the primary storage system to a management server configured to monitor a plurality of primary storage systems.
  • 23. The method according to claim 11, wherein the step of backing up the information record comprises storing a plurality of RCCIs on a smart card integrated into a disk controller.
  • 24. The method according to claim 12, wherein said step of transferring the information record comprises transferring the information record from a smart card to the tertiary storage system.
  • 25. The method according to claim 10, wherein: said step of transferring the encrypted data comprises the steps of, creating a volume on the tertiary storage system; setting the target volume as a remote copy source volume using the target volume identifier; and performing a remote copy from the remote copy source volume to the volume created on the tertiary storage system.
  • 26. The method according to claim 25, further comprising the step of initiating the transfer upon receipt of an RCCI at a disk controller of the remote copy source volume.
  • 27. The method according to claim 25, further comprising the step of restricting access of the volume created on the tertiary server to a host identified in the information record.
  • 28. The method according to claim 25, wherein: the information record includes a size of the original volume; and the step of creating a volume on the tertiary storage system comprises creating a volume at least equal to the size of the original volume as specified in the information record.
  • 29. The method according to claim 1, wherein: said method is embodied in a set of computer instructions stored on a computer readable media; said computer instructions, when loaded into a computer, cause the computer to perform the steps of said method.
  • 30. The method according to claim 29, wherein said computer instruction are compiled computer instructions stored as an executable program on said computer readable media.
  • 31. The method according to claim 1, wherein said method is embodied in a set of computer readable instructions stored in an electronic signal.
  • 32. A method, comprising the steps of: receiving an authentication request for storing an encryption information record from a primary storage system at a secure server, said encryption information record comprising identifiers for each of a source volume in the primary storage system storing original data, a target volume storing encrypted data of the original data, and an encryption algorithm used to encrypt the original data; verifying the authentication request at the secure server; if the authentication request is verified, storing the encryption information record on the secured server; transferring encrypted data from the target volume to a tertiary storage system; decrypting the encrypted data using the encryption information record at a tertiary server of the tertiary storage system; and resuming operations of the primary storage system at the tertiary server using the decrypted data.
  • 33. The method according to claim 32, wherein the primary storage system, the tertiary storage system, and a system hosting the secure server are physically separate systems.
  • 34. The method according to claim 32, wherein the encryption information record is stored at the primary storage system and backed up at the secure server.
  • 35. The method according to claim 32, wherein the authentication request is initiated by a management server that monitors a heartbeat of the primary storage system.
  • 36. The method according to claim 32, wherein the authentication request comprises an authentication token.
  • 37. The method according to claim 32, wherein the encryption information record comprises at least one RCCI.
  • 38. A data system, comprising: a primary storage system comprising at least one source volume of data storage stored with original data; a secondary storage system comprising at least one target volume of data storage stored with an encrypted backup copy of the original data; and a management server; wherein: the primary storage system further comprises cryptographic information and a decryption and restoration mechanism to decrypt and restore encrypted data from the secondary storage system to the primary storage system, said cryptographic information including identifiers for each of said source volume of the original data, said target volume, and an encryption algorithm used to encrypt the original data; and the management server maintains a back-up copy of the cryptographic information.
  • 39. The data system according to claim 38, wherein the management server is configurable as a tertiary storage system comprising at least one volume of data storage and a restoration mechanism to decrypt and restore encrypted data from the secondary storage system to the tertiary storage system.
  • 40. The data system according to claim 38, further comprising: an encryption and save device configured to encrypt the data stored on the primary storage system and save the encrypted data to the secondary storage system.
  • 41. The data system according to claim 38, wherein the management server further comprises a monitoring device configured to monitor heartbeat signals transmitted from the primary storage system.
  • 42. The data system according to claim 38, wherein the management server is configured to restore the source volume at a tertiary storage system upon loss of a heartbeat signal from the primary storage system.
  • 43. A data system, comprising: a primary storage system comprising at least one data volume and an encryption mechanism configured to encrypt and remote copy original data stored on the primary storage system; a secondary storage system comprising at least one data volume; and a secure system; wherein the primary storage system is configured to encrypt data stored on the primary storage system, remotely copy the encrypted data to the secondary storage system, prepare a remote copy configuration information (RCCI) record identifying information the encrypted data that is remotely copied to the secondary storage system, and transfer the RCCI to the secure system, and said RCCI record includes identifiers for each of an source volume in the primary storage system storing the original data, an target volume in the secondary storage system storing the encrypted data, and an encryption algorithm used to encrypt the original data.
  • 44. The data system according to claim 43, wherein the secure system is a secure module that is part of the secondary storage system.
  • 45. The data system according to claim 43, wherein the secure system comprises a trusted computer system.
  • 46. The data system according to claim 43, wherein the secure system is a secure module comprising a smart card device integrated into a disk controller of the secondary storage system.
  • 47. The data system according to claim 43, wherein the secure system is part of a tertiary storage system comprising at least one data volume and is configured to decrypt encrypted data transferred from the secondary storage system to the tertiary storage system.
  • 48. The data system according to claim 43, further comprising a management server configured to create a tertiary server upon detection of a failure in the primary storage system, and restore data of the primary storage system to the tertiary storage system by decrypting encrypted data from the secondary storage system using RCCIs corresponding to the encrypted data.
  • 49. The data system according to claim 48, wherein the management server comprises a monitoring device configured to monitor heart beat signals from the primary storage system.
  • 50. A method, comprising the steps of: encrypting original data stored in a source volume of data of a primary storage system; storing the encrypted data to a target volume on a secondary storage system; and storing information identifying the encryption on at least one restoration capable storage system, said information identifying the encryption including identifiers for each of the source volume, the target volume, and an encryption algorithm used to encrypt the original data, wherein said at least one restoration capable storage system is configured to perform restoration of the encrypted data from the secondary storage system.
  • 51. The method according to claim 50, wherein the at least one restoration capable storage system comprises the primary storage system and a tertiary storage system.
  • 52. The method according to claim 51, wherein only the primary storage system and the tertiary storage system are configured to perform restoration of data from the secondary storage system.
  • 53. The method according to claim 50, wherein the information identifying the encryption comprises a Remote Copy Configuration Information (RCCI) record comprising a source volume ID, a target volume ID, an encryption algorithm ID, and at least one encryption key.
  • 54. The method according to claim 53, wherein the RCCI record includes at least one pointer.
  • 55. The method according to claim 53, wherein the encryption algorithm ID comprises a pointer to an encryption algorithm.
  • 56. The method according to claim 53, wherein the RCCI record further includes volume information, and access control information.
  • 57. The method according to claim 56, wherein the volume information comprises the volume IDs and volume sizes.
  • 58. The method according to claim 53, wherein the RCCI record further includes a volume size, a copy method, access control information, a target storage system ID, and a source storage system ID.
  • 59. A method comprising the steps of: encrypting original data stored in a source volume; creating an information record identifying an encryption mechanism and a key used to encrypt the original data; and storing the information record in a target volume, wherein the information record includes identifiers for each of the source volume, the target volume, and an encryption algorithm used to encrypt the original data.
  • 60. The method according to claim 59, wherein the step of storing comprises storing the information record at both a source location of the original data and at a second location different from the source location.
  • 61. The method according to claim 60, wherein the second location comprises a trusted system.
  • 62. The method according to claim 59, further comprising the step of performing a remote copy of the encrypted data.
  • 63. The method according to claim 62, wherein the step of performing a remote copy transfers the encrypted data to a storage system without encryption or decryption facilities operative on the encrypted data.
  • 64. The method according to claim 62, wherein the step of performing a remote copy transfers the encrypted data to an unsecure storage system.
  • 65. The method according to claim 62, wherein the step of performing a remote copy transfers the encrypted data to a storage system accessible over a public network.