IP Library Granted Patent US 11,991,273
Granted Patent B2
US 11,991,273 · App. 16/121,076 · Granted May 21, 2024

Storage device key management for encrypted host data

Inventors: Jacob L. Sheppard (Corona De Tucson, AZ); Igor Popov (Tucson, AZ); Roger G. Hathorn (Tucson, AZ); Bernhard Laubli (Green Valley, AZ)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L9/0838H04L9/083H04L9/0891H04L9/0894
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,991,273
App. No.
16/121,076
Granted
May 21, 2024
Kind
B2
Abstract

Key management for encrypted data. A node, such as a storage device, obtains a shared key to be used in cryptographic operations. The obtaining includes using an identifier of another node, such as a host of the computing environment, and a unique identifier of the shared key to obtain the shared key. The obtained shared key is then used in one or more cryptographic operations.

Claims (56)

1. A system for facilitating processing within a computing environment, said system comprising:

a memory; and

a node coupled to the memory, wherein the system is configured to perform a method, said method comprising:

obtaining, by the node, an authentication message from another node of the computing environment, the authentication message including a unique identifier of a shared key to be used in cryptographic operations, the shared key specifically generated for a selected node pair that includes the one node and the other node;

obtaining, by the node, the shared key from a key server coupled to the node and the other node, the obtaining comprising using the unique identifier of the shared key included in the authentication message to obtain the shared key from the key server;

using the shared key obtained from the key server in one or more cryptographic operations to, at least, authenticate a link between the node and the other node; and

using the shared key to authenticate one or more other links between the node and the other node, the shared key being a same shared key used to authenticate the link between the node and the other node, the shared key used to authenticate the one or more other links between the node and the other node being retrieved from an internal key store of the node,

wherein the shared key is used to authenticate a plurality of links between the selected node pair, the plurality of links including the link and the one or more other links between the node and the other node.

2. The system of claim 1 , wherein the node is a storage device and the other node is a host.

3. The system of claim 1 , wherein the method further comprises:

retrieving the shared key from the internal key store to be used to authenticate the one or more other links, wherein the retrieving the shared key from the internal key store comprises:

determining that an identifier of the other node is in an entry in a key structure within the internal key store;

checking, based on determining that the identifier of the other node is in the key structure, that the unique identifier is in the entry, wherein the shared key is in the internal key store based on the identifier of the other node and the unique identifier being in the entry; and

retrieving the shared key from the internal key store, based on the identifier of the other node and the unique identifier being in the entry.

4. The system of claim 1 , wherein the method further comprises storing the shared key in a key structure within the internal key store, based on obtaining the shared key from the key server.

5. The system of claim 4 , wherein the storing comprises:

creating a new entry in the key structure, based on there being no entry in the key structure having an identifier of the other node; and

storing information in the new entry, the information including the shared key.

6. The system of claim 5 , wherein the information further includes the identifier of the other node and the unique identifier of the shared key.

7. The system of claim 6 , wherein the information further includes a sequence number and an index, the sequence number and the index used to create a handle representing the shared key.

8. The system of claim 5 , wherein the storing further comprises updating the entry with the shared key, based on determining the entry exists in the key structure.

9. A computer program product for facilitating processing within a computing environment, said computer program product comprising:

at least one computer readable storage medium readable by at least one processing circuit and storing instructions for performing a method comprising:

obtaining, by a node of the computing environment, an authentication message from another node of the computing environment, the authentication message including a unique identifier of a shared key to be used in cryptographic operations, the shared key specifically generated for a selected node pair that includes the one node and the other node;

obtaining, by the node, the shared key from a key server coupled to the node and the other node, the obtaining comprising using the unique identifier of the shared key included in the authentication message to obtain the shared key from the key server;

using the shared key obtained from the key server in one or more cryptographic operations to, at least, authenticate a link between the node and the other node; and

using the shared key to authenticate one or more other links between the node and the other node, the shared key being a same shared key used to authenticate the link between the node and the other node, the shared key used to authenticate the one or more other links between the node and the other node being retrieved from an internal key store of the node,

wherein the shared key is used to authenticate a plurality of links between the selected node pair, the plurality of links including the link and the one or more other links between the node and the other node.

10. The computer program product of claim 9 , wherein the method further comprises storing the shared key in a key structure within the internal key store, based on obtaining the shared key from the key server.

11. The computer program product of claim 9 , wherein the method further comprises:

retrieving the shared key from the internal key store to be used to authenticate the one or more other links, wherein the retrieving the shared key from the internal key store comprises:

determining that an identifier of the other node is in an entry in a key structure within the internal key store;

checking, based on determining that the identifier of the other node is in the key structure, that the unique identifier is in the entry, wherein the shared key is in the internal key store based on the identifier of the other node and the unique identifier being in the entry; and

retrieving the shared key from the internal key store, based on the identifier of the other node and the unique identifier being in the entry.

12. The computer program product of claim 10 , wherein the storing comprises:

creating a new entry in the key structure, based on there being no entry in the key structure having an identifier of the other node; and

storing information in the new entry, the information including the shared key.

13. A computer-implemented method of facilitating processing within a computing environment, said computer-implemented method comprising:

obtaining, by a node of the computing environment, an authentication message from another node of the computing environment, the authentication message including a unique identifier of a shared key to be used in cryptographic operations, the shared key specifically generated for a selected node pair that includes the one node and the other node;

obtaining, by the node, the shared key from a key server coupled to the node and the other node, the obtaining comprising using the unique identifier of the shared key included in the authentication message to obtain the shared key from the key server;

using the shared key obtained from the key server in one or more cryptographic operations to, at least, authenticate a link between the node and the other node; and

using the shared key to authenticate one or more other links between the node and the other node, the shared key being a same shared key used to authenticate the link between the node and the other node, the shared key used to authenticate the one or more other links between the node and the other node being retrieved from an internal key store of the node,

wherein the shared key is used to authenticate a plurality of links between the selected node pair, the plurality of links including the link and the one or more other links between the node and the other node.

14. The computer-implemented method of claim 13 , further comprising storing the shared key in a key structure within the internal key store, based on obtaining the shared key from the key server.

15. The computer-implemented method of claim 13 , further comprising:

retrieving the shared key from the internal key store to be used to authenticate the one or more other links, wherein the retrieving the shared key from the internal key store comprises:

determining that an identifier of the other node is in an entry in a key structure within the internal key store;

checking, based on determining that the identifier of the other node is in the key structure, that the unique identifier is in the entry, wherein the shared key is in the internal key store based on the identifier of the other node and the unique identifier being in the entry; and

retrieving the shared key from the internal key store, based on the identifier of the other node and the unique identifier being in the entry.

16. The computer-implemented method of claim 14 , wherein the storing comprises:

creating a new entry in the key structure, based on there being no entry in the key structure having an identifier of the other node; and

storing information in the new entry, the information including the shared key.

17. The system of claim 1 , wherein the shared key is a shared unique secret key generated exclusively for the selected node pair.

18. The system of claim 1 , wherein the shared key used to authenticate the one or more other links between the node and the other node is retrieved from the internal key store of the node, instead of the node requesting the shared key from the key server to authenticate the one or more other links.

19. The computer program product of claim 9 , wherein the shared key used to authenticate the one or more other links between the node and the other node is retrieved from the internal key store of the node, instead of the node requesting the shared key from the key server to authenticate the one or more other links.

20. The computer-implemented method of claim 13 , wherein the shared key used to authenticate the one or more other links between the node and the other node is retrieved from the internal key store of the node, instead of the node requesting the shared key from the key server to authenticate the one or more other links.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ATTORNEY DOCKET NUMBER PREVIOUSLY RECORDED AT REEL: 046819 FRAME: 0830. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 26, 2018
From: SHEPPARD, JACOB L.; POPOV, IGOR; HATHORN, ROGER G.; LAUBLI, BERNHARD
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047155/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2018
From: SHEPPARD, JACOB L.; POPOV, IGOR; HATHORN, ROGER G.; LAUBLI, BERNHARD
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046819/0830 →
Continuity (1)
Related Publication 20200076585A1 · Mar 5, 2020
Cited By (2)
US 12,489,613 US 12,688,276