IP Library › Granted Patent US 12,301,711
Granted Patent B2
US 12,301,711 · App. 18/211,965 · Granted May 13, 2025

Single-use password generation

Inventors: James Ruane (San Jose, CA); Robert W. Strong (Folsom, CA)
Assignee: Micron Technology, Inc.
H04L9/0863H04L9/0825H04L9/0869H04L9/3226
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,301,711
App. No.
18/211,965
Granted
May 13, 2025
Kind
B2
Abstract

A request for password generation is received from a host system. In response to receiving the request, a password derivation key is generated based on a key derivation seed. A password is derived from the password derivation key, and a wrapping key is derived from the password. The wrapping key is used to wrap an authorization state indication, which is stored in local memory. Encrypted data is generated based on an encryption of the key derivation seed using an asymmetric encryption key. The encrypted data is provided in response to the request.

Claims (53)

1. A system comprising:

a memory component; and

a processing device, operatively coupled with the memory component, to perform operations comprising:

receiving, from a host system, a request for password generation;

in response to receiving the request, generating a key derivation seed for deriving a password, the key derivation seed comprising a random or pseudo-random number generated by a random or pseudo-random number generator;

generating a password object based on the key derivation seed for deriving the password, the generating of the password object comprising encrypting binary data and a hash of the binary data, the binary data comprising the key derivation seed; and

providing a response to the request, the response comprising the password object.

2. The system of claim 1 , wherein the operations further comprise scrambling one or more fields of the password object using a scramble key.

3. The system of claim 1 , wherein the operations further comprise encoding the password object using a binary-to-text encoding scheme.

4. The system of claim 1 , wherein the password object comprises an object header and encrypted data, the encrypted data being based on an encryption of the key derivation seed.

5. The system of claim 4 , wherein the generating of the password object comprises:

constructing the object header; and

concatenating the encrypted data and the object header to form the password object.

6. The system of claim 1 , wherein the binary data comprises at least one: a version, a wrap type, configuration information, a password length, a timestamp, device information, and a scramble key.

7. The system of claim 1 , wherein the binary data comprises one or more non-random data fields.

8. The system of claim 1 , wherein the operations further comprise:

wrapping an authorization state indication using a wrapping key; and

storing the wrapped authorization state indication in the memory component.

9. The system of claim 8 , wherein the operations further comprise:

receiving an authentication request comprising the password;

deriving an unwrapping key from the password;

unwrapping the wrapped authorization state indication using the unwrapping key; and

providing, in response to the authentication request, the authorization state indication based on the unwrapping.

10. The system of claim 9 , wherein the operations further comprise:

receiving supplemental text from a user;

generating a password derivation key by providing the key derivation seed and the supplemental text as a seed for a key derivation function; and

deriving the password from the password derivation key.

11. A method comprising:

receiving, from a host system, a request for password generation;

in response to receiving the request, generating, by a processing device, a key derivation seed for deriving a password, the key derivation seed comprising a random or pseudo-random number generated by a random or pseudo-random number generator;

generating, by the processing device, a password object based on the key derivation seed for deriving the password, the generating of the password object comprising encrypting binary data and a hash of the binary data, the binary data comprising the key derivation seed; and

providing a response to the request, the response comprising the password object.

12. The method of claim 11 , further comprising scrambling one or more fields of the password object using a scramble key.

13. The method of claim 11 , further comprising encoding the password object using a binary-to-text encoding scheme.

14. The method of claim 11 , wherein the password object comprises an object header and encrypted data, the encrypted data being based on an encryption of the key derivation seed.

15. The method of claim 14 , wherein the generating of the password object comprises:

constructing the object header; and

concatenating the encrypted data and the object header to form the password object.

16. The method of claim 11 , wherein the binary data comprises at least one: a version, a wrap type, configuration information, a password length, a timestamp, device information, and a scramble key.

17. The method of claim 14 , wherein the binary data comprises one or more non-random data fields.

18. The method of claim 11 , further comprising:

wrapping an authorization state indication using a wrapping key; and

storing the wrapped authorization state indication in a memory component that is operatively coupled with the processing device.

19. The method of claim 18 , further comprising:

receiving an authentication request comprising the password;

deriving an unwrapping key from the password;

unwrapping the wrapped authorization state indication using the unwrapping key; and

providing, in response to the authentication request, the authorization state indication based on the unwrapping.

20. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, configure the processing device to perform operations comprising:

receiving, from a host system, a request for password generation;

in response to receiving the request, generating a key derivation seed for deriving a password, the key derivation seed comprising a random or pseudo-random number generated by a random or pseudo-random number generator;

generating a password object based on the key derivation seed for deriving the password, the generating of the password object comprising encrypting binary data and a hash of the binary data, the binary data comprising the key derivation seed; and

providing a response to the request, the response comprising the password object.

Continuity (3)
Continuation 17685161 · Mar 2, 2022
Continuation 16677270 · Nov 7, 2019
Related Publication 20230336337A1 · Oct 19, 2023
References Cited (29)
US 8059814B1 · Duane · 2011 [cited by applicant]
US 9043604B2 · Brickell et al. · 2015 [cited by applicant]
US 9306741B1 · Brainard · 2016 [cited by examiner]
US 10313333B2 · Ibrahim et al. · 2019 [cited by applicant]
US 10341341B2 · Fairbanks et al. · 2019 [cited by applicant]
US 11271731B2 · Ruane et al. · 2022 [cited by applicant]
US 20030084292A1 · Pierce · 2003 [cited by examiner]
US 20050235145A1 · Slick · 2005 [cited by examiner]
US 20120137137A1 · Brickell et al. · 2012 [cited by applicant]
US 20150242657A1 · Kim · 2015 [cited by applicant]
US 20160330195A1 · Paert · 2016 [cited by applicant]
US 20160350238A1 · Ford · 2016 [cited by examiner]
US 20170317828A1 · Reinhold · 2017 [cited by applicant]
US 20200092097A1 · Chiu · 2020 [cited by examiner]
US 20210143992A1 · Ruane et al. · 2021 [cited by applicant]
US 20210176053A1 · Santos · 2021 [cited by examiner]
US 20220191015A1 · Ruane et al. · 2022 [cited by applicant]
CN 107078904A · 2017 [cited by applicant]
CN 107667499A · 2018 [cited by applicant]
CN 114830110A · 2022 [cited by applicant]
DE 112020005474T5 · 2022 [cited by applicant]
WO WO2021092461A1 · 2021 [cited by applicant]
“Chinese Application Serial No. 202080085398.7, Office Action mailed Jan. 6, 2023”, with machine English translation, 13 pages. [cited by applicant]
“International Application Serial No. PCT/US2020/059508, International Preliminary Report on Patentability mailed May 19, 2022”, 6 pgs. [cited by applicant]
“International Application Serial No. PCT/US2020/059508, International Search Report mailed Feb. 24, 2021”, 3 pgs. [cited by applicant]
“International Application Serial No. PCT/US2020/059508, Written Opinion mailed Feb. 24, 2021”, 4 pgs. [cited by applicant]
“Optimal asymmetric encryption padding”, https://en.wikipedia.org/wiki/Optimal_asymmetric_encryption_padding, (Accessed on Mar. 3, 2021), 3 pgs. [cited by applicant]
Barker, Elaine, “Recommendation for Key Management:”, Part 1—General SP 800-57 Part 1 Rev. 5, (May 2020), 3 pgs. [cited by applicant]
Chen, Lily, “Recommendation for Key Derivation Using Pseudorandom Functions”, Computer Security Division Information Technology Laboratory, (Oct. 2009), 21 pgs. [cited by applicant]