IP Library Granted Patent US 10,841,081
Granted Patent B2
US 10,841,081 · App. 15/979,937 · Granted Nov 17, 2020

Threshold oblivious pseudorandom function in a key management system

Inventors: Jason K. Resch (Chicago, IL); Hugo M. Krawczyk (Tarrytown, NY); Patricia Sagmeister (Adliswil, CH); Martin Schmatz (Rueschlikon, CH); Mark D. Seaborn (Algonquin, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L9/0662H04L9/0819H04L63/062H04L2209/04
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 10,841,081
App. No.
15/979,937
Granted
Nov 17, 2020
Kind
B2
Abstract

A computing device is configured to divide an Oblivious Pseudorandom Function (OPRF) key to generate a plurality of N partial keys, distribute a respective one of the plurality of N partial keys to a corresponding plurality of N Key Management System (KMS) units. The computing device receives from a threshold number T of KMS units, a plurality T partial blinded keys, wherein the plurality T partial blinded keys are based on processing of a value of a blinded key received by a respective KMS unit and a corresponding stored partial key of the N partial keys, combines the plurality T of partial blinded keys into the blinded key, processes the blinded key based on the blinding key in accordance with an OPRF unblinding operation to generate a key and accesses secure information based on the key.

Claims (53)

1. A computing device comprising:

an interface configured to interface and communicate with a communication system; memory that stores operational instructions; and

processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:

divide an Oblivious Pseudorandom Function (OPRF) key to generate a plurality of N partial keys;

distribute, via the communication system, a respective one of the plurality of N partial keys to a corresponding plurality of N Key Management System (KMS) units, the plurality of N partial keys distributed according to a distribution protocol for storage in the N KMS units;

receive, via the communication system and from a threshold number T of the KMS units, a plurality T of partial blinded keys, wherein the plurality T of partial blinded keys are based on processing of a value of a blinded key received by a respective KMS unit and a corresponding stored partial key of the N partial keys;

combine the plurality T of partial blinded keys into the blinded key;

process the blinded key based on the blinding key in accordance with an OPRF unblinding operation to generate a key; and

access secure information based on the key.

2. The computing device of claim 1 , wherein the distribution protocol includes generating the OPRF key at one location with the N partial keys computed and sent separately to one of the plurality of N KMS units.

3. The computing device of claim 1 , wherein the distribution protocol includes the plurality of N KMS units cooperating to derive the N partial keys of the OPRF key without the OPRF key existing in any single location.

4. The computing device of claim 1 , wherein the blinded key received by a respective KMS unit is included in a specific request to a threshold T number of distinct KMS units.

5. The computing device of claim 1 , wherein the blinded key received by a respective KMS unit is included as a single request to an intermediate layer, with the intermediate layer then selecting at least a threshold T number of KMS units to send a specific request to.

6. The computing device of claim 1 , wherein the computing device includes any of: a wireless smart phone, a cellular phone, a laptop, a personal digital assistant, a tablet, a personal computers (PC), a work station, a video game device, or another computing device including a Hardware Security Module (HSM).

7. The computing device of claim 1 , wherein the communication system includes at least one of a wireless communication system, a wire lined communication system, a nonpublic intranet system, a public internet system, a local area network (LAN), a wireless local area network (WLAN), a wide area network (WAN), a satellite communication system, a fiberoptic communication system, or a mobile communication system.

8. A method for secure processing, the method comprising:

dividing an Oblivious Pseudorandom Function (OPRF) key to generate a plurality of N partial keys;

distributing, via a communication system, a respective one of the plurality of N partial keys to a corresponding plurality of N Key Management System (KMS) units, the plurality of N partial keys distributed according to a distribution protocol for storage in the N KMS units;

receiving, via the communication system and from a threshold number T of the KMS units, a plurality T of partial blinded keys, wherein the plurality T of partial blinded keys are based on processing of a value of a blinded key received by a respective KMS unit and a corresponding stored partial key of the N partial keys;

combining the plurality T of partial blinded keys into the blinded key;

processing the blinded key based on the blinding key in accordance with an OPRF unblinding operation to generate a key; and

accessing secure information based on the key.

9. The method of claim 8 , wherein the distribution protocol includes generating the OPRF key at one location with the N partial keys computed and sent separately to one of the plurality of N KMS units.

10. The method of claim 8 , wherein the distribution protocol includes the plurality of N KMS units cooperating to derive the N partial keys of the OPRF key without the OPRF key existing in any single location.

11. The method of claim 8 , wherein the blinded key received by a respective KMS is included in a specific request to a threshold T number of distinct KMS units.

12. A system comprises:

an interface configured to interface and communicate with a communication system; memory that stores operational instructions; and

processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:

transmit, for installation, N distinct partial keys of an Oblivious Pseudorandom Function (OPRF) key to each of N distinct KMS units, using a distribution protocol;

transmit an Oblivious Key Access Request (OKAR) to at least a threshold number T of the N distinct KMS units;

perform a validation of the OKAR for at least a threshold number T of the N distinct KMS units;

for a validated OKAR:

receive an OKAR response from a corresponding one of the T number of the KMS units, the OKAR response using a root partial key combined with a blinded input to compute a blinded partial-key;

when at least a threshold number T of validated OKAR responses are received, combine the at least a threshold number T of validated OKAR responses to obtain a blinded OPRF output; and unblind the blinded OPRF output to recover an OPRF output to be used as a key; and

perform encryption or decryption operations with the key.

13. The system of claim 12 further comprising operational instructions to derive the N distinct partial keys based on a partial-key identifier.

14. The system of claim 13 , wherein the Oblivious Key Access Request (OKAR) includes one or more of:

a requester identifier;

a root key identifier;

a blinded input B where B=BlindingFunction(partial-key identifier);

authenticating information, or a challenge to the KMS unit.

15. The system of claim 14 , wherein the authenticating information includes one or more of:

credentials;

a password;

a token;

a response to a challenge;

a signature; or

a digital certificate.

16. The system of claim 15 , wherein the response to a challenge requires a KMS unit to prove its identity or correctness of operation.

17. The system of claim 15 , wherein the validation of the OKAR includes any of: ensuring credentials are correct for a requester identifier or ensuring a requester is authorized to access a key derived from a given root key identifier.

18. The system of claim 12 , wherein, when the validation indicates that a KMS unit is not authorized, receiving an error response from the KMS unit.

19. The system of claim 12 further comprises, when using an OPRF to derive a blinded partial-key reflects the KMS unit computing a blinded partial-key S, as S=OPRF(rootkey-partial, B).

20. The system of claim 12 further comprises, when a challenge is provided by a requester to the KMS unit, the KMS unit generating a response to the challenge and returning a response to the requester including the blinded partial-key and the challenge.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2018
From: RESCH, JASON K.; KRAWCZYK, HUGO M.; SAGMEISTER, PATRICIA; SCHMATZ, MARTIN; SEABORN, MARK D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045807/0424 →
Continuity (1)
Related Publication 20190356475A1 · Nov 21, 2019
Cited By (1)
US 12,537,671