IP Library › Granted Patent US 12,541,598
Granted Patent B2
US 12,541,598 · App. 18/632,803 · Granted Feb 3, 2026

Storage device and method of providing firmware image

Inventors: Yongjae Lee (Suwon-si, KR); Kyungwoo Noh (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F21/572G06F21/575H04L9/0894H04L9/3073H04L9/3278G06F9/4401G06F2221/033
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,541,598
App. No.
18/632,803
Filed
Apr 11, 2024
Granted
Feb 3, 2026
Kind
B2
Art Unit
2176
USPC
713/2
Abstract

A storage device includes: a non-volatile memory for storing a firmware set including a firmware image encrypted using a symmetric key and an encrypted symmetric key generated by encrypting the symmetric key using a public key; and a storage controller for controlling the non-volatile memory, wherein the storage controller includes: a physically unclonable function (PUF) chip having a unique security key; and a one-time programmable (OTP) memory for storing an encrypted secret key generated by encrypting a secret key paired with the public key using the PUF chip, wherein a firmware image is obtained by loading the firmware set, providing the encrypted secret key to the PUF chip, receiving the secret key from the PUF chip, generating the symmetric key by decrypting the encrypted symmetric key using the secret key, and decrypting the encrypted firmware image using the symmetric key.

Claims (58)

1 . A storage device, comprising:

A storage device, comprising:

a non-volatile memory configured to store a firmware set including a firmware image encrypted using a symmetric key and an encrypted symmetric key generated by encrypting the symmetric key using a public key; and

a storage controller configured to control the non-volatile memory,

wherein the storage controller comprises

a physically unclonable function (PUF) chip having a unique security key, and

a one-time programmable (OTP) memory configured to store an encrypted secret key generated by encrypting a secret key paired with the public key using the PUF chip, and

wherein the storage controller is configured to obtain the firmware image by loading the firmware set, provide the encrypted secret key to the PUF chip, receive the secret key from the PUF chip, generate the symmetric key by decrypting the encrypted symmetric key using the secret key, and decrypt the encrypted firmware image using the symmetric key.

2 . The storage device of claim 1 , wherein the storage controller is configured to

receive an update firmware set including an update firmware image encrypted using the symmetric key and the encrypted symmetric key generated by encrypting the symmetric key using the public key, and store the update firmware set in the non-volatile memory in response to an update firmware command.

3 . The storage device of claim 1 , wherein the storage controller is configured to

receive an update firmware set including an update firmware image encrypted using the symmetric key and the encrypted symmetric key generated by encrypting the symmetric key using the public key, decrypt the encrypted update firmware image in response to an update firmware command, and store the update firmware set in the non-volatile memory when the decryption is performed normally.

4 . The storage device of claim 1 , wherein the storage controller is configured to

after obtaining the firmware image, remove the received secret key and the generated symmetric key from an inside of the storage controller.

5 . The storage device of claim 1 , wherein the OTP memory is configured to

store a plurality of encrypted candidate secret keys, and

the storage controller is configured to

select one of the plurality of encrypted candidate secret keys as the encrypted secret key based on an identifier of the secret key included in the firmware set.

6 . The storage device of claim 1 , wherein the storage controller is configured to

stop decryption of the encrypted secret key in response to the encrypted secret key being a revoked secret key.

7 . The storage device of claim 1 , wherein the storage controller is configured to

receive a key injection command including a new secret key and an authenticator, verify the key injection command using the authenticator and an authentication key stored in the storage controller, provide the new secret key to the PUF chip, receive an encrypted new secret key from the PUF chip, and store the encrypted new secret key in the OTP memory.

8 . The storage device of claim 7 , wherein the OTP memory is configured to store the authentication key.

9 . The storage device of claim 7 , wherein the firmware image includes the authentication key.

10 . The storage device of claim 1 , wherein the storage controller is configured to

receive a key revocation command including a revocation command for making a request for revoking the secret key and an authenticator, verify the key revocation command using the authenticator and an authentication key stored in the storage controller, and revoke the encrypted secret key stored in the OTP memory.

11 . The storage device of claim 10 , wherein the storage controller is configured to

revoke the encrypted secret key by overwriting dummy data in a region in which the encrypted secret key is stored in the OTP memory.

12 . The storage device of claim 10 , wherein the storage controller is configured to

indicate a state in which the encrypted secret key has been revoked by storing an identifier of the encrypted secret key in a designated region in the OTP memory.

13 . A booting method of a storage device, comprising:

loading a firmware set stored in a non-volatile memory device into a buffer memory;

generating a customer secret key by decrypting an encrypted customer secret key stored in a one-time programmable (OTP) memory using a physically unclonable function (PUF) chip;

generating a customer symmetric key by decrypting an encrypted customer symmetric key included in the firmware set using the customer secret key;

generating an encrypted firmware image by decrypting a double-encrypted firmware image included in the firmware set using the customer symmetric key;

generating a vendor secret key by decrypting an encrypted vendor secret key stored in the OTP memory using the PUF chip;

generating a vendor symmetric key by decrypting an encrypted vendor symmetric key included in the firmware set using the vendor secret key;

generating a firmware image by decrypting the encrypted firmware image using the vendor symmetric key; and

executing firmware using the generated firmware image.

14 . The booting method of the storage device of claim 13 , further comprising:

outputting an error message and terminating the booting in response to the encrypted customer secret key or the encrypted vendor secret key being revoked.

15 . The booting method of the storage device of claim 13 , further comprising:

removing the customer secret key, the customer symmetric key, the vendor secret key, and the vendor symmetric key in response to the executing firmware being completed.

16 . A method of providing a firmware image, comprising:

generating a vendor symmetric key, and a first key pair including a vendor public key and a vendor secret key;

providing a first key injection command including the vendor secret key and an authenticator to a storage device, controlling the storage device to verify the first key injection command and encrypt and store the vendor secret key with a unique security key;

generating an encrypted firmware image by encrypting the firmware image using the vendor symmetric key, and generating an encrypted vendor symmetric key by encrypting the vendor symmetric key using the vendor public key;

generating a customer symmetric key, and a second key pair including a customer public key and a customer secret key;

providing a second key injection command including the customer secret key and the authenticator to the storage device, controlling the storage device to verify the second key injection command and encrypt and store the customer secret key with the unique security key;

generating a double-encrypted firmware image by encrypting the encrypted firmware image using the customer symmetric key, and generating an encrypted customer symmetric key by encrypting the customer symmetric key using the customer public key; and

providing a firmware set including the double-encrypted firmware image, the encrypted vendor symmetric key and the encrypted customer symmetric key, to the storage device.

17 . The method of providing the firmware image of claim 16 , further comprising:

periodically replacing the vendor symmetric key and the customer symmetric key.

18 . The method of providing the firmware image of claim 16 , wherein the generating the vendor symmetric key and the first key pair, and the generating the customer symmetric key and the second key pair is performed in a hardware security module (HSM).

19 . The method of providing the firmware image of claim 16 , further comprising:

inserting an authentication key corresponding to the authenticator into the firmware image.

20 . The method of providing the firmware image of claim 16 , further comprising:

injecting an authentication key corresponding to the authenticator into a one-time programmable (OTP) memory of the storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2024
From: LEE, YONGJAE; NOH, KYUNGWOO
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 067101/0046 →
Priority Claims (1)
KR 10-2023-0094464 · Jul 20, 2023 · national
Continuity (1)
Related Publication 20250028834A1 · Jan 23, 2025
References Cited (29)
US 7929692B2 · Kim et al. · 2011 [cited by applicant]
US 9558354B2 · Martinez · 2017 [cited by applicant]
US 9792439B2 · Colnot · 2017 [cited by applicant]
US 10146942B2 · Martinez et al. · 2018 [cited by applicant]
US 11307777B2 · Park et al. · 2022 [cited by applicant]
US 11455379B2 · Lai et al. · 2022 [cited by applicant]
US 11783041B2 · Park · 2023 [cited by examiner]
US 12255994B2 · Liu · 2025 [cited by examiner]
US 12375329B2 · Cai · 2025 [cited by examiner]
US 20050154912A1 · Kim · 2005 [cited by examiner]
US 20140082373A1 · Colnot · 2014 [cited by examiner]
US 20160147996A1 · Martinez · 2016 [cited by examiner]
US 20180183590A1 · Kuo · 2018 [cited by examiner]
US 20200287716A1 · Zitlaw · 2020 [cited by examiner]
US 20210012008A1 · Kim · 2021 [cited by examiner]
US 20210200874A1 · Markey · 2021 [cited by examiner]
US 20210211281A1 · Park · 2021 [cited by examiner]
US 20210312057A1 · Kloth · 2021 [cited by examiner]
US 20210319139A1 · Ruan · 2021 [cited by examiner]
US 20220405392A1 · Nix · 2022 [cited by examiner]
US 20230090664A1 · Mondello · 2023 [cited by examiner]
US 20230273977A1 · Marando · 2023 [cited by examiner]
US 20240152284A1 · Lee et al. · 2024 [cited by applicant]
US 20240187262A1 · Armour · 2024 [cited by examiner]
US 20240267211A1 · Shingala · 2024 [cited by examiner]
US 20250028834A1 · Lee · 2025 [cited by examiner]
KR 20240064493A · 2024 [cited by applicant]
Elaine Barker “Recommendation for Key Management: Part 1—General”, NIST Special Publication 800-57 Part 1 Revision 5 pp. 38-47, 5.3.6 Cryptoperiod Recommendations for Specific Key Types. [cited by applicant]
Tatu Ylonen, et al. “Security of Interactive and Automated Access Management Using Secure Shell (SSH)”, NISTIR 7966 p. 42. [cited by applicant]