Provisioning Server Subscription Cloning Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for managing subscriptions in provisioning servers fail to prevent subscription cloning across secure devices, as attackers can alter the database to load subscriptions on multiple devices, violating the requirement to prevent cloning.
Innovation Solution
A method that uses a Hardware Security Module (HSM) with an HSM key to encrypt and manage subscription scripts, ensuring that each secure device has a unique storage key, preventing the loading of scripts on multiple devices by checking for previous loadings and using encrypted APDU_putkey commands to secure key transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a simple association is added in the provisioning server to prevent loading a subscription on another secure device, then cloning is prevented under normal conditions, but an attacker can alter the database and remove this association to load the subscription on multiple devices
Solution Approach 1:
The patent introduces a Hardware Security Module (HSM) as an intermediary between the provisioning server and secure devices. The HSM securely stores and manages encryption keys, performing cryptographic operations without exposing the keys themselves. This mediator prevents attackers from directly accessing or altering key associations in the database, as the HSM controls all key operations through secure channels, thereby maintaining cloning prevention while managing complexity through specialized hardware.
Solution Approach 2:
The patent replaces the mechanical/database-based association system with a cryptographic system. Instead of relying on database records to track which subscriptions are loaded on which devices, the system uses encrypted scripts where the encryption key is stored only in the HSM. The script is encrypted with a key that only the target secure device can access via the HSM, making database alteration ineffective for cloning purposes.
2Reliability
If the storage key is stored encrypted using the HSM key and secure device key, then the script becomes unreadable on devices other than the intended one, but the key management process becomes more complex
Solution Approach 1:
The patent changes the state of the storage key from plaintext to encrypted form using the HSM key and secure device key. The script is encrypted with this stored key, and only the intended secure device can decrypt it through the HSM. This parameter change (encryption) ensures that even if the database is compromised, the script remains confidential and executable only on the authorized device, while the HSM manages the complexity of key handling.
3Reliability
If the provisioning server checks whether a script has been loaded on any secure device before loading, then cloning is prevented, but the loading process requires additional verification steps
Solution Approach 1:
The patent performs preliminary encryption of the script with the storage key before loading it to the secure device. The HSM pre-generates and securely stores the encryption key associations. During the loading process, the system only needs to verify whether the script is already loaded on another device (a simple database check) and then perform the decryption and loading operation. This preliminary preparation of cryptographic materials reduces the time required during actual subscription loading while maintaining reliable control.
Data Source
AI summary
The present invention relates to a method to manage subscriptions in a provisioning server (PS) able to communicate with a Hardware Security Module (HSM) having an HSM key (K). Said method being such that the HSM comprising a load and a reload function, the secure device key ((Ke1)K) and the storage key ((Ks)K) as encrypted and stored are provided (S1) to one of said functions, said functions outputting, the storage key ((Ks)Ke1)K) encrypted using the provided secure device (SE1) key (Ke1) and the HSM key K, and an APDU_putkey command ((APDU_PUTKEY((Ks)Ke1))Ke1), encrypted using the provided secure device (SE1) key (Ke1), to put the retrieved storage key ((Ks)Ke1) also encrypted using the provided secure device key (Ke1), the storage key as previously stored ((Ks)K) is overwritten (S6) with the storage key (((Ks)Ke1)K) encrypted using the secure device key (Ke1) and the HSM key (K) returned by the function.

