Secure firmware transfer for an integrated universal integrated circuit card (iUICC)
Inventors
Assignees
Vobal Technologies LLC • Network 1 Technologies Inc • IoT and M2M Technologies LLC
Interested in licensing this patent?
MTEC can help explore whether this patent might be available for licensing for your application.
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.
Core Innovation
The invention relates to a wireless device for operating an integrated universal integrated circuit card (iUICC) using an internal tamper resistant element (TRE). A first set of processors interacts with the TRE to query cryptographic parameters and a firmware version supported by the TRE, and to coordinate an authenticated transfer of firmware with a server system.
The process includes establishing a TLS session with server system authentication using a certificate and exchanging certificates and key material related to an elliptic curve Diffie-Hellman (ECDH) key exchange algorithm. The wireless device sends the cryptographic parameters and firmware version through the TLS session, receives a certificate of a server static public key and the cryptographic parameters, and sends the received certificate to the TRE.
The wireless device receives from the TRE a primary platform ephemeral public key and a random number, forwards the primary platform ephemeral public key and the random number to the server system, and receives from the server system a server ephemeral public key and a ciphertext of firmware. The wireless device forwards the server ephemeral public key and the ciphertext to the TRE for cryptographic processing.
Inside the TRE, the second set of processors verifies the received certificate using a certificate authority public key for the set of cryptographic parameters, generates a shared secret using ECDH 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, and decrypts the ciphertext using the shared secret key to read the random number and the firmware. The TRE encrypts the firmware with a symmetric ciphering key and stores the encrypted firmware in the first non-transitory computer-readable memory external to the TRE, while storing a key K, a subscriber permanent identifier (SUPI), and a private key SK.EUICC.ECDSA for the firmware in the second non-transitory computer-readable memory internal to the TRE.
Claims Coverage
The document provides one independent claim with three inventive features combining TRE-based cryptographic processing with TLS-authenticated server interaction and ECDH-based shared secret generation for decrypting and securely re-encrypting iUICC firmware.
Tls-authenticated server exchange with tre-queried parameters
A first non-transitory memory stores an agent for communicating with a TRE and a server system, and instructions cause processors to query the TRE for cryptographic parameters and a firmware version supported by the TRE, establish a TLS session authenticated using a first certificate for the server system, and send the cryptographic parameters and the firmware version through the TLS session.
Certificate and ecdh key material exchange across insecure channel
Instructions cause the wireless device to receive a second certificate of a server static public key for an ECDH key exchange algorithm and the set of cryptographic parameters, send the second certificate to the TRE, receive from the TRE a primary platform ephemeral public key and a random number, send the primary platform ephemeral public key and the random number to the server system, and receive from the server system a server ephemeral public key and a ciphertext of firmware, then send the server ephemeral public key and the ciphertext to the TRE.
Tre verification, ecdh shared secret generation, and firmware re-encryption with key storage
Second processors internal to the TRE verify the second certificate using the certificate authority public key, generate a shared secret using ECDH with the server ephemeral public key, the server static public key, and a primary platform ephemeral private key, decrypt the ciphertext using the shared secret key to read the random number and the firmware, encrypt the firmware with the symmetric ciphering key, store the encrypted firmware external to the TRE, and store a key K, a subscriber permanent identifier (SUPI), and a private key SK.EUICC.ECDSA for the firmware in the TRE memory.
Across the single independent claim, inventive coverage centers on TLS-authenticated exchange of server data combined with TRE-queried cryptographic parameters and supported firmware version, certificate and ECDH key material exchange, and TRE-based certificate verification, ECDH shared secret generation, firmware decryption, re-encryption, and secure storage of K, SUPI, and SK.EUICC.ECDSA.
Stated Advantages
Not explicitly described in patent.
Documented Applications
Not explicitly described in patent.
Interested in licensing this patent?