Method, system, and program for securely providing keys to encode and decode data in a storage cartridge
First Claim
1. A method for accessing data in a read/write storage medium within one of a plurality of storage cartridges mounted into a plurality of interface devices, comprising:
- providing an association of at least one coding key to the plurality of storage cartridges, wherein the at least one coding key comprises a Most Recently Used (MRU) key generated by scrambling a list of entries in a random manner, wherein the MRU key initially comprises a list of every possible byte value scrambled in the random manner;
encrypting the at least one coding key and storing the encrypted at least one coding key in at least one of the storage cartridges;
receiving, by a receiving interface device comprising one of the plurality of interface devices, an Input/Output (I/O) request to a target storage cartridge comprising one of the plurality of storage cartridges, wherein the receiving interface device has a controller comprising at least one of hardware logic in a hardware device and a processor that executes logic or code to perform operations;
mounting, by the receiving interface device, the target storage cartridge in response to the I/O request;
reading, by the receiving interface device, the encrypted coding key from the mounted target storage cartridge;
transmitting, by the receiving interface device, the read encrypted coding key to a host;
receiving, by the receiving interface device, a host encrypted coding key encrypted with an encryption key of the receiving interface device, wherein the host encrypted coding key comprises the encrypted coding key, transmitted by the interface device to the host, which is decrypted by the host and re-encrypted by the host with the encryption key of the receiving interface device;
decrypting, by the receiving interface device, the host encrypted coding key to produce the coding key to use for the I/O request;
performing a read or write operation in response to the I/O request by decoding read data or coding write data using the coding key; and
performing, by the receiving interface device, read and write operations for multiple subsequent I/O requests by using, by the receiving interface device, the coding key to decode read data and code write data for multiple subsequent I/O requests to the target storage cartridge, wherein the coding key comprising the MRU key is used to encode data by replacing literals in the data with a pointer to a matching entry in the MRU key.
0 Assignments
0 Petitions
Accused Products
Abstract
Provided is a method, system, and program for enabling access to data in a storage medium within one of a plurality of storage cartridges capable of being mounted into a interface device. An association is provided of at least one coding key to a plurality of storage cartridges. A determination is made of one coding key associated with one target storage cartridge, wherein the coding key is capable of being used to access data in the storage medium within the target storage cartridge. The determined coding key is encrypted. The coding key is subsequently decrypted to use to decode and code data stored in the storage medium.
52 Citations
22 Claims
-
1. A method for accessing data in a read/write storage medium within one of a plurality of storage cartridges mounted into a plurality of interface devices, comprising:
-
providing an association of at least one coding key to the plurality of storage cartridges, wherein the at least one coding key comprises a Most Recently Used (MRU) key generated by scrambling a list of entries in a random manner, wherein the MRU key initially comprises a list of every possible byte value scrambled in the random manner; encrypting the at least one coding key and storing the encrypted at least one coding key in at least one of the storage cartridges; receiving, by a receiving interface device comprising one of the plurality of interface devices, an Input/Output (I/O) request to a target storage cartridge comprising one of the plurality of storage cartridges, wherein the receiving interface device has a controller comprising at least one of hardware logic in a hardware device and a processor that executes logic or code to perform operations; mounting, by the receiving interface device, the target storage cartridge in response to the I/O request; reading, by the receiving interface device, the encrypted coding key from the mounted target storage cartridge; transmitting, by the receiving interface device, the read encrypted coding key to a host; receiving, by the receiving interface device, a host encrypted coding key encrypted with an encryption key of the receiving interface device, wherein the host encrypted coding key comprises the encrypted coding key, transmitted by the interface device to the host, which is decrypted by the host and re-encrypted by the host with the encryption key of the receiving interface device; decrypting, by the receiving interface device, the host encrypted coding key to produce the coding key to use for the I/O request; performing a read or write operation in response to the I/O request by decoding read data or coding write data using the coding key; and performing, by the receiving interface device, read and write operations for multiple subsequent I/O requests by using, by the receiving interface device, the coding key to decode read data and code write data for multiple subsequent I/O requests to the target storage cartridge, wherein the coding key comprising the MRU key is used to encode data by replacing literals in the data with a pointer to a matching entry in the MRU key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for accessing data in a read/write storage medium within one of a plurality of storage cartridges and to communicate with a host, comprising:
-
an interface device having a controller for performing operations, wherein the controller comprises at least one of hardware logic in a hardware device and a processor that executes logic or code to perform operations, the operations comprising; receiving an Input/Output (I/O) request to a target storage cartridge comprising one of the plurality of storage cartridges, wherein at least one coding key is associated with the plurality of storage cartridges, wherein encrypted coding keys are stored in the storage cartridges, wherein the coding key comprises a Most Recently Used (MRU) key generated by scrambling a list of entries in a random manner, wherein the MRU key initially comprises a list of every possible byte value scrambled in the random manner; mounting the target storage cartridge in response to the I/O request; reading the encrypted coding key from the mounted target storage cartridge; transmitting the read encrypted coding key to the host; receiving a host encrypted coding key encrypted with an encryption key of the interface device, wherein the host encrypted coding key comprises the encrypted coding key, transmitted by the interface device to the host, which is decrypted by the host and re-encrypted by the host with the encryption key of the interface device; decrypting the host encrypted coding key to produce the coding key to use for the I/O request; performing a read or write operation in response to the I/O request by decoding read or coding write data using the coding key; and performing read and write operations for multiple subsequent I/O requests by using the coding key to decode read data and code write data for multiple subsequent I/O requests to the target storage cartridge, wherein the coding key comprising the MRU key is used to encode data by replacing literals in the data with a pointer to a matching entry in the MRU key. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. An article of manufacture comprising at least one of a non-transitory computer readable storage media including code for an Input/Output (I/O Manager) and hardware device controller that when executes accesses data in a read/write storage medium within one of a plurality of storage cartridges mounted into a plurality of interface devices, to communicate with a host, and to perform operations, the operations comprising:
-
providing, by the I/O manager, an association of at least one coding key to the plurality of storage cartridges, wherein the at least one coding key comprises a Most Recently Used (MRU) key generated by scrambling a list of entries in a random manner, wherein the MRU key initially comprises a list of every possible byte value scrambled in the random manner; encrypting, by the I/O manager, the coding keys and storing the encrypted coding keys in the storage cartridges; receiving, by the controller, an Input/Output (I/O) request to a target storage cartridge comprising one of the plurality of storage cartridges; mounting, by the controller, the target storage cartridge in response to the I/O request; reading, by the controller, the encrypted coding key from the mounted target storage cartridge; transmitting, by the controller, the read encrypted coding key to the host; receiving, by the controller, a host encrypted coding key encrypted with an encryption key of an interface device, wherein the host encrypted coding key comprises the encrypted coding key, transmitted by the interface device to the host, which is decrypted by the host and re-encrypted by the host with the encryption key of the interface device; decrypting, by the controller, the host encrypted coding key to produce the coding key to use for the I/O request; performing, by the controller, a read or write operation in response to the I/O request by decoding read or coding write data using the coding key; and performing, by the controller, read and write operations for multiple subsequent I/O requests by using, by the controller, the coding key to decode read data and code write data for multiple subsequent I/O requests to the target storage cartridge, wherein the coding key comprising the MRU key is used to encode data by replacing literals in the data with a pointer to a matching entry in the MRU key. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification