IP Library Granted Patent US 11,075,753
Granted Patent B2
US 11,075,753 · App. 16/508,410 · Granted Jul 27, 2021

System and method for cryptographic key fragments management

Inventor: Refael Angel (Jerusalem, IL)
Assignee: AKEYLESS SECURITY LTD.
H04L9/0869G06F21/602
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,075,753
App. No.
16/508,410
Granted
Jul 27, 2021
Kind
B2
Abstract

A system, a method and a computer program product and a system, for Key Fragment Management (KFM). The KFM system comprises a plurality of KFM instances and a client device. At least two KFM instances are executed on execution platforms of two different service providers. Each KFM instance retains a root key fragment. The client device is configured to perform a cryptographic process relating to a data item using a data-specific key. Each KFM instance is configured to generate a data-specific key fragment based on a data identifier of the data item and based on the root key fragment in response to the client device requesting to generate the data-specific key for the data item. The data-specific key is generated based on a plurality of data-specific key fragments generated by the each KFM instances.

Claims (53)

1. A method comprising:

obtaining a data identifier of a data item;

transmitting the data identifier to a plurality of Key Fragment Management (KFM) instances, wherein each KFM instance retains a root key fragment, wherein each KFM instance is configured to generate a data-specific key fragment by:

deriving, using the data identifier and the root key fragment, a pseudo-identifier, whereby obtaining a plurality of pseudo-identifiers from the plurality of KFM instances; and

deriving, using the pseudo-identifier and the root key fragment, the data-specific key fragment;

obtaining from the plurality of KFM instances, a plurality of data-specific key fragments;

generating a data-specific key based on the plurality of data-specific key fragments;

performing a cryptographic process, wherein the cryptographic process is an encryption of the data item using the data-specific key to provide an encrypted data item; and

storing the encrypted data item and storing the plurality of pseudo-identifiers in a manner allowing retrieval thereof for the encrypted data item.

2. The method of claim 1 , wherein said obtaining the data identifier comprises generating a non-deterministic data identifier.

3. The method of claim 1 , wherein at least two KFM instance are provided by two different service providers.

4. The method of claim 1 further comprises:

obtaining, in a local environment, a user key fragment,

wherein said generating the data-specific key is performed in the local environment and based on the plurality of data-specific key fragments and based on the user key fragment.

5. The method of claim 1 , wherein said obtaining the data identifier comprises applying a hash function on the data item.

6. The method of claim 1 , wherein each KFM instance is configured to generate at least a portion of a respective root key fragment independently.

7. The method of claim 1 , wherein each KFM instance is configured to generate a respective root key fragment using a random function.

8. The method of claim 1 , wherein a root key that is an aggregation of the root key fragments is never assembled.

9. The method of claim 1 ,

wherein each root key fragment comprises a static key fragment and an ephemeral key fragment, wherein a root key is an aggregation of the static key fragments and ephemeral key fragments;

wherein the method further comprises updating at least a portion of the ephemeral key fragments of the KFM instances without modifying the root key.

10. A method comprising:

obtaining a data identifier of a data item;

transmitting the data identifier to a plurality of Key Fragment Management (KFM) instances, wherein each KFM instance retains a root key fragment, wherein each KFM instance is configured to generate a data-specific key fragment by:

deriving, using the data identifier and the root key fragment, a pseudo-identifier, whereby obtaining a plurality of pseudo-identifiers from the plurality of KFM instances; and

deriving, using the pseudo-identifier and the root key fragment, the data-specific key fragment;

obtaining from the plurality of KFM instances, a plurality of data-specific key fragments;

generating a data-specific key based on the plurality of data-specific key fragments;

performing a cryptographic process, wherein the cryptographic process is a decryption of an encrypted data item using the data-specific key to obtain the data item;

wherein said obtaining the data identifier comprises retrieving the plurality of pseudo-identifiers for the encrypted data item; and

wherein said transmitting comprises transmitting the plurality of pseudo-identifiers to the plurality of KFM instances, wherein each KFM instance is configured to generate the data-specific key fragment based on the pseudo-identifier and based on the root key fragment using a single derivation process.

11. A computer program product comprising a non-transitory computer readable storage medium retaining program instructions, which program instructions when read by a processor, cause the processor to perform a method comprising:

obtaining a data identifier of a data item;

transmitting the data identifier to a plurality of Key Fragment Management (KFM) instances, wherein each KFM instance retains a root key fragment, wherein each KFM instance is configured to generate a data-specific key fragment by:

deriving, using the data identifier and the root key fragment, a pseudo-identifier, whereby obtaining a plurality of pseudo-identifiers from the plurality of KFM instances; and

deriving, using the pseudo-identifier and the root key fragment, the data-specific key fragment

obtaining from the plurality of KFM instances, a plurality of data-specific key fragments;

generating a data-specific key based on the plurality of data-specific key fragments; and

performing a cryptographic process relating to the data item using the data-specific key, wherein the cryptographic process is an encryption of the data item using the data-specific key to provide an encrypted data item, and

storing the encrypted data item and storing the plurality of pseudo-identifiers in a manner allowing retrieval thereof for the encrypted data item.

12. A Key Fragment Management (KFM) system comprising:

one or more processors and memory, wherein said one or more processors are configured to:

obtain a data identifier of a data item;

transmit the data identifier to a plurality of Key Fragment Management (KFM) instances, wherein each KFM instance retains a root key fragment, wherein each KFM instance is configured to generate a data-specific key fragment by:

deriving, using the data identifier and the root key fragment, a pseudo-identifier, whereby obtaining a plurality of pseudo-identifiers from the plurality of KFM instances; and

deriving, using the pseudo-identifier and the root key fragment, the data-specific key fragment;

obtain from the plurality of KFM instances, a plurality of data-specific key fragments;

generate a data-specific key based on the plurality of data-specific key fragments;

perform a cryptographic process, wherein the cryptographic process is an encryption of the data item using the data-specific key to provide an encrypted data item; and

store the encrypted data item and storing the plurality of pseudo-identifiers in a manner allowing retrieval thereof for the encrypted data item.

13. The KFM system of claim 12 , wherein comprising:

wherein said one or more processors are configured to:

decrypt the encrypted data item using the data-specific key to obtain the data item, wherein the decryption is performed after the plurality of pseudo-identifiers for the encrypted data item are retrieved and after the plurality of pseudo-identifiers are transmitted to the plurality of KFM instances, wherein each KFM instance is configured to generate the data-specific key fragment based on the pseudo-identifier and based on the root key fragment using a single derivation process.

Assignments (5)
SECURITY INTEREST Recorded Aug 4, 2025
From: AKEYLESS SECURITY LTD.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 071924/0440 →
SECURITY INTEREST Recorded Aug 19, 2024
From: AKEYLESS SECURITY LTD
To: HSBC BANK PLC
Reel/Frame 068329/0397 →
RELEASE OF SECURITY INTEREST Recorded Jul 25, 2024
From: KREOS CAPITAL VII AGGREGATOR SCSP; MIZRAHI TEFAHOT BANK LTD. (LOS ANGELES BRANCH)
To: AKEYLESS SECURITY LTD.
Reel/Frame 068083/0970 →
SECURITY INTEREST Recorded Feb 16, 2023
From: AKEYLESS SECURITY LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP; MIZRAHI TEFAHOT BANK LTD
Reel/Frame 062714/0296 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2019
From: ANGEL, REFAEL
To: AKEYLESS SECURITY LTD.
Reel/Frame 049783/0355 →
Continuity (2)
Provisional Application 62696472 · Jul 11, 2018
Related Publication 20210067334A1 · Mar 4, 2021