IP Library › Granted Patent US 10,402,169
Granted Patent B2
US 10,402,169 · App. 15/648,234 · Granted Sep 3, 2019

Method and system of secure random seed generation for a cryptographically secure pseudo-random number generator

Inventors: William D. Leara (Round Rock, TX); Richard Christopher Thompson (Cedar Park, TX); Nikhil Manohar Vichare (Austin, TX)
Assignee: Dell Products L.P.
G06F7/58G06F7/582G06F7/588H03K3/84H04L9/00
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,402,169
App. No.
15/648,234
Granted
Sep 3, 2019
Kind
B2
Abstract

A method and system for generating a secure random seed uses chemical processes in a battery of an information handling system as an entropy source for randomness. The secure random seed may be used by a pseudo-random number generator to create a secure pseudorandom bit stream usable to generate secure encryption keys.

Claims (83)

1. An information handling system, comprising:

a main processor;

a battery;

an embedded controller (EC) further comprising an EC processor; and

memory media accessible to the EC processor and storing instructions executable by the EC processor for:

determining a first cell voltage of the battery as a 16-bit value;

determining a second cell voltage of the battery as a 16-bit value;

concatenating the first cell voltage and the second cell voltage to obtain a cell voltage value as a 32-bit value;

determining a remaining battery capacity of the battery as a 16-bit value;

determining a battery voltage of the battery as a 16-bit value;

determining a relative state of charge (SOC) of the battery as a 32-bit value;

determining an absolute SOC of the battery as a 32-bit value;

performing an exclusive or (XOR) of the cell voltage value with the remaining battery capacity to generate a first value as a 32-bit value;

performing an XOR of the first value with the battery voltage to generate a second value as a 32-bit value;

performing an XOR of the relative SOC left-shifted by one bit with the absolute SOC to generate a third value as a 32-bit value;

shifting the third value to most significant bits of a 64-bit value to generate a fourth value; and

performing an XOR of the fourth value with the second value to generate a 64-bit secure random seed, wherein an entropy source for the secure random seed includes the battery.

2. The information handling system of claim 1 , wherein determining the first cell voltage further comprises:

obtaining a cell voltage in Volts from a measurement of the first cell; and

using least significant 16-bits of the cell voltage as the first cell voltage.

3. The information handling system of claim 1 , wherein determining the second cell voltage further comprises:

obtaining a cell voltage in Volts from a measurement of the second cell; and

using least significant 16-bits of the cell voltage as the second cell voltage.

4. The information handling system of claim 1 , wherein determining the remaining battery capacity further comprises:

obtaining a remaining battery capacity value in milliwatt hours from a measurement of the battery; and

using least significant 16-bits of the remaining battery capacity value as the remaining battery capacity.

5. The information handling system of claim 1 , wherein determining the battery voltage further comprises:

obtaining a battery voltage value in Volts from a measurement of the battery; and

using least significant 16-bits of the battery voltage value as the battery voltage.

6. A method for secure communication, the method comprising:

determining a first cell voltage of a battery of an information handling system as a 16-bit value;

determining a second cell voltage of the battery as a 16-bit value;

concatenating the first cell voltage and the second cell voltage to obtain a cell voltage value as a 32-bit value;

determining a remaining battery capacity of the battery as a 16-bit value;

determining a battery voltage of the battery as a 16-bit value;

determining a relative state of charge (SOC) of the battery as a 32-bit value;

determining an absolute SOC of the battery as a 32-bit value;

performing an exclusive or (XOR) of the cell voltage value with the remaining battery capacity to generate a first value as a 32-bit value;

performing an XOR of the first value with the battery voltage to generate a second value as a 32-bit value;

performing an XOR of the relative SOC left-shifted by one bit with the absolute SOC to generate a third value as a 32-bit value;

shifting the third value to most significant bits of a 64-bit value to generate a fourth value;

performing an XOR of the fourth value with the second value to generate a 64-bit secure random seed, wherein an entropy source for the secure random seed includes the battery;

inputting the secure random seed to a pseudo-random number generator to generate a 64-bit pseudorandom bit stream;

generating an encryption key using the 64-bit pseudo-random bit stream as an input; and

using the encryption key to encrypt a network communication sent by the information handling system.

7. The method of claim 6 , wherein determining the first cell voltage further comprises:

obtaining a cell voltage in Volts from a measurement of the first cell; and

using least significant 16-bits of the cell voltage as the first cell voltage.

8. The method of claim 6 , wherein determining the second cell voltage further comprises:

obtaining a cell voltage in Volts from a measurement of the second cell; and

using least significant 16-bits of the cell voltage as the second cell voltage.

9. The method of claim 6 , wherein determining the remaining battery capacity further comprises:

obtaining a remaining battery capacity value in milliwatt hours from a measurement of the battery; and

using least significant 16-bits of the remaining battery capacity value as the remaining battery capacity.

10. The method of claim 6 , wherein determining the battery voltage further comprises:

obtaining a battery voltage value in Volts from a measurement of the battery; and

using least significant 16-bits of the battery voltage value as the battery voltage.

11. Non-transitory computer readable memory media storing instructions executable by a processor for:

determining a first cell voltage of a battery of an information handling system as a 16-bit value;

determining a second cell voltage of the battery as a 16-bit value;

concatenating the first cell voltage and the second cell voltage to obtain a cell voltage value as a 32-bit value;

determining a remaining battery capacity of the battery as a 16-bit value;

determining a battery voltage of the battery as a 16-bit value;

determining a relative state of charge (SOC) of the battery as a 32-bit value;

determining an absolute SOC of the battery as a 32-bit value;

performing an exclusive or (XOR) of the cell voltage value with the remaining battery capacity to generate a first value as a 32-bit value;

performing an XOR of the first value with the battery voltage to generate a second value as a 32-bit value;

performing an XOR of the relative SOC left-shifted by one bit with the absolute SOC to generate a third value as a 32-bit value;

shifting the third value to most significant bits of a 64-bit value to generate a fourth value; and

performing an XOR of the fourth value with the second value to generate a 64-bit secure random seed, wherein an entropy source for the secure random seed includes the battery.

12. The memory media of claim 1 , wherein determining the first cell voltage further comprises:

obtaining a cell voltage in Volts from a measurement of the first cell; and

using least significant 16-bits of the cell voltage as the first cell voltage.

13. The memory media of claim 11 , wherein determining the second cell voltage further comprises:

obtaining a cell voltage in Volts from a measurement of the second cell; and

using least significant 16-bits of the cell voltage as the second cell voltage.

14. The memory media of claim 11 , wherein determining the remaining battery capacity further comprises:

obtaining a remaining battery capacity value in milliwatt hours from a measurement of the battery; and

using least significant 16-bits of the remaining battery capacity value as the remaining battery capacity.

15. The memory media of claim 11 , wherein determining the battery voltage further comprises:

obtaining a battery voltage value in Volts from a measurement of the battery; and

using least significant 16-bits of the battery voltage value as the battery voltage.

16. The memory media of claim 11 , wherein the processor is an embedded controller processor in an information handling system that further comprises a main processor.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043775/0082) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2017
From: LEARA, WILLIAM DANIEL; THOMPSON, RICHARD CHRISTOPHER; VICHARE, NIKHIL MANOHAR
To: DELL PRODUCTS L.P.
Reel/Frame 043177/0063 →
Continuity (1)
Related Publication 20190238329A1 · Aug 1, 2019