IP Library › Granted Patent US 12,120,097
Granted Patent B2
US 12,120,097 · App. 17/889,782 · Granted Oct 15, 2024

Authenticating key-value data pairs for protecting node related data

Inventors: Martin Schmatz (Rueschlikon, CH); Navaneeth Rameshan (Zurich, CH); Patricia M. Sagmeister (Adliswil, CH)
Assignee: International Business Machines Corporation
H04L63/0435H04L9/0631H04L9/0822H04L9/321
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 12,120,097
App. No.
17/889,782
Granted
Oct 15, 2024
Kind
B2
Abstract

A computer-implemented method according to one embodiment includes using a first symmetric key to encrypt a second symmetric key. The first symmetric key is securely loaded inside a hardware security module (HSM) by a key management service before the encryption of the second symmetric key, and a cloud provider only has access to encrypted bits of the first symmetric key. Key data of a key-value-pair of the second symmetric key is used as additional authenticated data (AAD) for the encryption of the second symmetric key. The second symmetric key is used to encrypt value data of the key-value-pair. The method further includes storing the encrypted second symmetric key, the AAD used in the encryption of the second symmetric key, and tag bits created during the encryption of the second symmetric key, to thereafter use for verifying node related data.

Claims (66)

1. A computer-implemented method, comprising:

using a first symmetric key to encrypt a second symmetric key,

wherein the first symmetric key is securely loaded inside a hardware security module (HSM) by a key management service before the encryption of the second symmetric key,

wherein a cloud provider only has access to encrypted bits of the first symmetric key;

wherein key data of a key-value-pair of the second symmetric key is used as additional authenticated data (AAD) for the encryption of the second symmetric key;

using the second symmetric key to encrypt value data of the key-value-pair; and

storing the encrypted second symmetric key, the AAD used in the encryption of the second symmetric key, and tag bits created during the encryption of the second symmetric key, to thereafter use for verifying node related data.

2. The computer-implemented method of claim 1 , comprising:

receiving the node related data of a node, wherein the node related data includes tag bits of the node and an AAD of the node;

using the first symmetric key to decrypt an encrypted third symmetric key associated with the node related data; and

determining an authenticity of the decrypted third symmetric key, wherein the authenticity of the decrypted third symmetric key is determined based on a first comparison of the tag bits of the node with the tag bits created during the encryption of the second symmetric key, and based on a second comparison of the AAD of the node with the AAD used in the encryption of the second symmetric key.

3. The computer-implemented method of claim 2 , wherein the decrypted third symmetric key is determined to be authentic in response to a determination that the AAD of the node matches with the AAD used in the encryption of the second symmetric key in the first comparison, and a determination that the tag bits of the node match with the tag bits created during the encryption of the second symmetric key in the second comparison.

4. The computer-implemented method of claim 3 ,

comprising:

in response to the determination that the decrypted third symmetric key is authentic, using the decrypted third symmetric key to decrypt the encrypted value data of the key-value-pair; and

performing a verification operation on the received node related data.

5. The computer-implemented method of claim 3 , wherein the third symmetric key is the second symmetric key.

6. The computer-implemented method of claim 3 , wherein the decrypted third symmetric key is determined to be not authentic in response to a determination that the AAD of the node do not match with the AAD used in the encryption of the second symmetric key in the first comparison and/or a determination that the tag bits of the node do not match with the tag bits created during the encryption of the second symmetric key in the second comparison, and comprising: in response to a determination that the decrypted third symmetric key is not authentic, not using the decrypted third symmetric key to decrypt the encrypted value data of the key-value-pair; and outputting a warning that the received node related data failed authentication.

7. The computer-implemented method of claim 1 , wherein securely loading the first symmetric key inside the HSM by the key management service before the encryption of the second symmetric key includes:

loading an encrypted instance key encryption key (IKEK) of a database to the HSM,

using a master key encryption key (MKEK) of the HSM to decrypt the encrypted IKEK in the HSM,

loading the first symmetric key to the HSM from the database, wherein the first symmetric key is encrypted in the database, and

using the decrypted IKEK to decrypt the encrypted first symmetric key.

8. The computer-implemented method of claim 1 , wherein

Advanced Encryption Standard with Galois/Counter Mode (AES-GCM) encryption is used to encrypt the second symmetric key.

9. The computer-implemented method of claim 1 , comprising:

executing a verifier of an attestable trusted execution environment (TEE) to verify the node related data in a cloud computing environment inside the TEE.

10. The computer-implemented method of claim 1 , wherein the encryption of the second symmetric key is an authenticated encryption with associated data (AEAD), wherein the key data of the key-value-pair of the second symmetric key is used as the AAD for the AEAD encryption of the second symmetric key.

11. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable and/or executable by a computer to cause the computer to:

use, by the computer, a first symmetric key to encrypt a second symmetric key,

wherein the first symmetric key is securely loaded inside a hardware security module (HSM) by a key management service before the encryption of the second symmetric key,

wherein a cloud provider only has access to encrypted bits of the first symmetric key;

wherein key data of a key-value-pair of the second symmetric key is used as additional authenticated data (AAD) for the encryption of the second symmetric key;

use, by the computer, the second symmetric key to encrypt value data of the key-value-pair; and

store, by the computer, the encrypted second symmetric key, the AAD used in the encryption of the second symmetric key, and tag bits created during the encryption of the second symmetric key, to thereafter use for verifying node related data.

12. The computer program product of claim 11 , the program instructions readable and/or executable by the computer to cause the computer to:

receive, by the computer, the node related data of a node, wherein the node related data includes tag bits of the node and an AAD of the node;

use, by the computer, the first symmetric key to decrypt an encrypted third symmetric key associated with the node related data; and

determine, by the computer, an authenticity of the decrypted third symmetric key, wherein the authenticity of the decrypted third symmetric key is determined based on a first comparison of the tag bits of the node with the tag bits created during the encryption of the second symmetric key, and based on a second comparison of the AAD of the node with the AAD used in the encryption of the second symmetric key.

13. The computer program product of claim 12 , wherein the decrypted third symmetric key is determined to be authentic in response to a determination that the AAD of the node matches with the AAD used in the encryption of the second symmetric key in the first comparison, and a determination that the tag bits of the node match with the tag bits created during the encryption of the second symmetric key in the second comparison.

14. The computer program product of claim 13 , the program instructions readable and/or executable by the computer to cause the computer to:

in response to the determination that the decrypted third symmetric key is authentic, use, by the computer, the decrypted third symmetric key to decrypt the encrypted value data of the key-value-pair; and

perform, by the computer, a verification operation on the received node related data.

15. The computer program product of claim 13 , wherein the third symmetric key is the second symmetric key.

16. The computer program product of claim 13 , wherein the decrypted third symmetric key is determined to be not authentic in response to a determination that the AAD of the node do not match with the AAD used in the encryption of the second symmetric key in the first comparison and/or a determination that the tag bits of the node do not match with the tag bits created during the encryption of the second symmetric key in the second comparison, and the program instructions readable and/or executable by the computer to cause the computer to: in response to a determination that the decrypted third symmetric key is not authentic, not use, by the computer, the decrypted third symmetric key to decrypt the encrypted value data of the key-value-pair; and output, by the computer, a warning that the received node related data failed authentication.

17. The computer program product of claim 11 , wherein securely loading the first symmetric key inside the HSM by the key management service before the encryption of the second symmetric key includes:

loading an encrypted instance key encryption key (IKEK) of a database to the HSM,

using a master key encryption key (MKEK) of the HSM to decrypt the encrypted IKEK in the HSM,

loading the first symmetric key to the HSM from the database, wherein the first symmetric key is encrypted in the database, and

using the decrypted IKEK to decrypt the encrypted first symmetric key.

18. The computer program product of claim 11 , wherein Advanced Encryption Standard with Galois/Counter Mode (AES-GCM) encryption is used to encrypt the second symmetric key.

19. The computer program product of claim 11 , the program instructions readable and/or executable by the computer to cause the computer to: execute, by the computer, a verifier of an attestable Trusted Execution Environment (TEE) to verify the node related data in a cloud computing environment inside the TEE.

20. A system, comprising:

a hardware processor; and

logic integrated with the hardware processor, executable by the hardware processor, or integrated with and executable by the hardware processor, the logic being configured to:

use a first symmetric key to encrypt a second symmetric key,

wherein the first symmetric key is securely loaded inside a hardware security module (HSM) by a key management service before the encryption of the second symmetric key,

wherein securely loading the first symmetric key inside the HSM by the key management service before the encryption of the second symmetric key includes:

loading an encrypted instance key encryption key (IKEK) of a database to the HSM;

using a master key encryption key (MKEK) of the HSM to decrypt the encrypted IKEK in the HSM;

loading the first symmetric key to the HSM from the database, wherein the first symmetric key is encrypted in the database; and

using the decrypted IKEK to decrypt the encrypted first symmetric key,

wherein a cloud provider only has access to encrypted bits of the first symmetric key;

wherein key data of a key-value-pair of the second symmetric key is used as additional authenticated data (AAD) for the encryption of the second symmetric key;

use the second symmetric key to encrypt value data of the key-value-pair; and

store the encrypted second symmetric key, the AAD used in the encryption of the second symmetric key, and tag bits created during the encryption of the second symmetric key, to thereafter use for verifying node related data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2022
From: SCHMATZ, MARTIN; RAMESHAN, NAVANEETH; SAGMEISTER, PATRICIA M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 060856/0306 →
Continuity (1)
Related Publication 20240064130A1 · Feb 22, 2024
Cited By (1)
US 12,744,763