IP Library Granted Patent US 11,706,025
Granted Patent B2
US 11,706,025 · App. 17/481,599 · Granted Jul 18, 2023

Secure firmware transfer for an integrated universal integrated circuit card (iUICC)

Inventor: John A. Nix (Evanston, IL)
Assignee: IOT AND M2M TECHNOLOGIES, LLC
H04L9/0841G06F9/445H04L9/3073H04L9/3236H04L63/0442
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,706,025
App. No.
17/481,599
Granted
Jul 18, 2023
Kind
B2
Abstract

A device can (i) operate a primary platform (PP) within a tamper resistant element (TRE) and (ii) receive encrypted firmware images for operating within the primary platform. The TRE can store in nonvolatile memory of the TRE (i) a PP static private key (SK-static.PP), (ii) a server public key (PK.IDS1), and (iii) a set of cryptographic parameters. The TRE can generate a one-time PKI key pair of SK-OT1.PP and PK-OT1.PP and send the public key PK-OT1.PP to a server. The TRE can receive a one-time public key from the server comprising PK-OT1.IDS1. The TRE can derive a ciphering key using an elliptic curve Diffie Hellman key exchange and the SK-static.PP, SK-OT1.PP, PK.IDS1, and PK-OT1.IDS1 keys. The TRE can decrypt the encrypted firmware using the derived ciphering key. The primary platform can comprise a smart secure platform (SSP) and the decrypted firmware can comprise a virtualized image for the primary platform.

Claims (41)

1. A wireless device for operating an integrated universal integrated circuit card (iUICC), the wireless device comprising:

1) One or more first processors;

2) A first non-transitory computer-readable memory operatively connected to the one or more processors, the first non-transitory computer-readable memory having stored thereon:

(i) an agent for communicating with a tamper resistant element (TRE) within the wireless device and a server system; and

(ii) first machine-readable instructions that, when executed by the one or more first processors, using the agent, cause the one or more first processors to perform the steps of:

(a) querying the TRE for (i) a set of cryptographic parameters and (ii) a firmware version supported by the TRE;

(b) establishing a transport layer security (TLS) session with the server system, wherein the server system is authenticated using a first certificate for the server system;

(c) sending (i) the set of cryptographic parameters and (ii) the firmware version to the server system through the TLS session;

(d) receiving, through the TLS session, a second certificate of a server static public key for an elliptic curve Diffie-Hellman (ECDH) key exchange algorithm and the set of cryptographic parameters;

(e) sending, to the TRE, the second certificate;

(f) receiving, from the TRE, a primary platform ephemeral public key for the set of cryptographic parameters and a random number;

(g) sending, to the server system, the primary platform ephemeral public key and the random number;

(h) receiving, from the server system, a server ephemeral public key and a ciphertext of firmware for the iUICC, wherein the firmware includes a private key SK.EUICC.ECDSA; and

(i) sending, to the TRE, the server ephemeral public key and the ciphertext;

3) One or more second processors for the TRE; and

4) a second non-transitory computer-readable memory operatively connected to the one or more second processors and internal to the TRE, the second non-transitory computer-readable memory having stored thereon

(i) a certificate authority public key for the set of cryptographic parameters;

(ii) a symmetric ciphering key; and

(ii) second machine-readable instructions that, when executed by the one or more second processors cause the one or more second processors to perform steps of:

(a) verifying the second certificate using the certificate authority public key;

(b) generating a shared secret using the ECDH key exchange algorithm with the server ephemeral public key, the server static public key, and a primary platform ephemeral private key corresponding to the primary platform ephemeral public key;

(c) decrypting the ciphertext using the shared secret key in order to read the random number and the firmware for the iUICC;

(d) encrypting the firmware with the symmetric ciphering key;

(e) storing the encrypted firmware in the first non-transitory computer-readable memory which is external to the TRE; and

(f) storing a key K, a subscriber permanent identifier (SUPI), and the private key SK.EUICC.ECDSA for the firmware in the second non-transitory computer-readable memory.

2. The wireless device of claim 1 , wherein the first non-transitory computer-readable memory comprises a first nonvolatile memory connected to a first memory bus, and wherein the first memory bus is external to the TRE.

3. The wireless device of claim 2 , wherein the second non-transitory computer-readable memory comprises a second nonvolatile memory connected to a second memory bus, and wherein the second memory bus is internal to the TRE.

4. The wireless device of claim 3 , wherein the second nonvolatile memory comprises an internal nonvolatile memory (iNVM) for the TRE.

5. The wireless device of claim 1 , wherein the one or more first processors cannot read from the second non-transitory computer-readable memory.

6. The wireless device of claim 1 , wherein the first non-transitory computer-readable memory includes at least a portion of the second non-transitory computer-readable memory.

7. The wireless device of claim 6 , wherein the one or more second processors access the second non-transitory computer-readable memory using a memory controller operating within the TRE.

8. The wireless device of claim 1 , wherein a nonvolatile memory within the wireless device includes both the first non-transitory computer-readable memory and the second non-transitory computer-readable memory, and wherein first blocks for the nonvolatile memory are assigned to the first non-transitory computer-readable memory, and wherein second blocks are assigned to the second non-transitory computer-readable memory.

9. The wireless device of claim 8 , wherein the one or more second processors access the second blocks using a memory controller operating within the TRE.

10. The wireless device of claim 1 , wherein the one or more second processors communicate with the one or more first processors using an interface controller within the TRE and a system bus within the wireless device.

11. The wireless device of claim 1 , wherein the TRE comprises a Smart Secure Platform (SSP), and wherein the TRE includes a primary platform.

12. The wireless device of claim 11 , wherein the primary platform operates within a Trusted Execution Environment (TEE) for the one or more first processors.

13. The wireless device of claim 1 , wherein the TRE comprises a secure enclave for the wireless device.

14. The wireless device of claim 1 , further comprising, in step f) for the one or more first processors, receiving, from the TRE, a primary platform identity, and, in step g) for the one or more first processors, sending, to the server system, the primary platform identity.

15. The wireless device of claim 1 , further comprising for the one or more second processors, (g) conducting an authenticated key agreement (AKA) with a wireless network using the key K.

16. The wireless device of claim 1 , wherein, after reading the firmware for the iUICC in step (c) for the one or more second processors, the TRE operates as an embedded universal integrated circuit card (eUICC).

17. The wireless device of claim 1 , further comprising the second non-transitory computer-readable memory having stored thereon (iv) third machine-readable instructions for a java virtual machine, wherein the firmware comprises a Java applet for the java virtual machine.

Assignments (8)
CHANGE OF ADDRESS Recorded Sep 10, 2025
From: NETWORK-1 TECHNOLOGIES, INC.
To: NETWORK-1 TECHNOLOGIES, INC.
Reel/Frame 072827/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2025
From: IOT AND M2M TECHNOLOGIES, LLC
To: NETWORK-1 TECHNOLOGIES, INC.
Reel/Frame 070752/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2025
From: VOBAL TECHNOLOGIES, LLC
To: IOT AND M2M TECHNOLOGIES, LLC
Reel/Frame 070736/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2025
From: VOBAL TECHNOLOGIES, LLC
To: IOT AND M2M TECHNOLOGIES, LLC
Reel/Frame 070727/0173 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2025
From: IOT AND M2M TECHNOLOGIES, LLC
To: VOBAL TECHNOLOGIES, LLC
Reel/Frame 070716/0029 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2024
From: VOBAL TECHNOLOGIES, LLC
To: IOT AND M2M TECHNOLOGIES, LLC
Reel/Frame 069059/0050 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2024
From: IOT AND M2M TECHNOLOGIES, LLC
To: VOBAL TECHNOLOGIES, LLC
Reel/Frame 068760/0835 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2021
From: NIX, JOHN
To: IOT AND M2M TECHNOLOGIES, LLC
Reel/Frame 057561/0224 →
Continuity (3)
Continuation 16683242 · Nov 13, 2019
Provisional Application 62767585 · Nov 15, 2018
Related Publication 20220006625A1 · Jan 6, 2022
Cited By (1)
US 12,710,946