IT201800004046A1 - Procedimento per la personalizzazione di carte a circuito integrato, corrispondente sistema e prodotto informatico - Google Patents

Procedimento per la personalizzazione di carte a circuito integrato, corrispondente sistema e prodotto informatico Download PDF

Info

Publication number
IT201800004046A1
IT201800004046A1 IT102018000004046A IT201800004046A IT201800004046A1 IT 201800004046 A1 IT201800004046 A1 IT 201800004046A1 IT 102018000004046 A IT102018000004046 A IT 102018000004046A IT 201800004046 A IT201800004046 A IT 201800004046A IT 201800004046 A1 IT201800004046 A1 IT 201800004046A1
Authority
IT
Italy
Prior art keywords
encrypted
card
image
fixed part
personalization
Prior art date
Application number
IT102018000004046A
Other languages
English (en)
Inventor
Amedeo Veneroso
Pasquale Vastano
Original Assignee
St Microelectronics Srl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by St Microelectronics Srl filed Critical St Microelectronics Srl
Priority to IT102018000004046A priority Critical patent/IT201800004046A1/it
Priority to EP19163188.6A priority patent/EP3547729B1/en
Priority to US16/366,870 priority patent/US11463864B2/en
Priority to CN201910246417.9A priority patent/CN110321739B/zh
Publication of IT201800004046A1 publication Critical patent/IT201800004046A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • H04W8/205Transfer to or from user equipment or user record carrier

Description

DESCRIZIONE dell’invenzione industriale intitolata:
“Procedimento per la personalizzazione di carte a circuito integrato, corrispondente sistema e prodotto informatico”
TESTO DELLA DESCRIZIONE
Campo tecnico
Le forme di realizzazione della presente descrizione si riferiscono a soluzioni per la personalizzazione di carte a circuito integrato, in particolare carte UICC, comprendenti lo scaricamento in una data carta di un insieme di dati che comprende una parte fissa corrispondente ad una pre-personalizzazione della carta e dati di personalizzazione specifici della data carta da introdurre in detta parte fissa.
Le forme di realizzazione della presente descrizione si riferiscono in particolare alla Euicc (Embedded Universal Integrated Circuit Card o Carta a Circuito Integrato Universale incorporata).
Sfondo
Le Universal Integrated Circuit Cards, o Carte a Circuito Integrato Universale, (UICC), a cui viene sovente fatto riferimento come a carta di Modulo di Identità di Abbonato (Subscriber Identity Module, SIM) card, sono ampiamente utilizzate per permettere ai dispositivi mobili di accedere a servizi forniti dagli Operatori di Rete Mobile (Mobile Network Operator, MNO).
Figura 1 mostra una possibile architettura di un’apparecchiatura utente o apparecchiatura mobile 10, quale un dispositivo mobile, ad es. uno smartphone o un tablet, o un modulo di comunicazione mobile solitamente da utilizzare in sistemi incorporati.
Generalmente, il dispositivo 10 comprende uno o più processori 102 connessi ad una o più memorie 104. Il dispositivo 10 comprende inoltre almeno un’interfaccia di comunicazione mobile 106 per la comunicazione radio su un canale radio.
Ad esempio, l’interfaccia di comunicazione mobile 106 può comprendere un GSM (Global System for Mobile Communications, o Sistema Globale per Comunicazioni Mobili), ricetrasmettitore CDMA (Code Division Multiple Access, o Accesso Multiplo a Divisione di Codice), W-CDMA (Wide Bande Code Division Multiple Access, o Accesso Multiplo a Divisione di Codice a Banda Larga), UMTS (Universal Mobile Telecommunications System o Sistema Universale di Telecomunicazioni Mobili), HSPA (High-Speed Packet Access o Accesso al Pacchetto ad Alta Velocità) e/o un ricetrasmettitore LTE (Long Term Evolution o Evoluzione di Lungo Termine).
Un dispositivo mobile comprende sovente anche un’interfaccia utente 110, quale uno schermo tattile o tastiera. Al contrario, un modulo di comunicazione da utilizzare ad es., in sistemi incorporati, quali sistemi di allarme, contatori del gas o altri tipi di sistemi di controllo e/o monitoraggio remoti, sovente non comprende un’interfaccia utente 110, ma un’interfaccia di comunicazione 112 al fine di scambiare dati con un ulteriore unità di elaborazione di un sistema incorporato. Ad esempio, in questo caso, l’interfaccia 112 può essere un’interfaccia di comunicazione digitale, quale ma non limitata ad un’interfaccia di comunicazione UART (Universal Asynchronous Receiver-Transmitter o Ricevitore-Trasmettitore Asincrono Universale), SPI (Serial Parallel Interface o Interfaccia Periferica Seriale), I2C (Inter Integrated Circuit o Circuito Inter-Integrato) e/o USB (Universal Serial Bus o Bus Seriale Universale). Generalmente, l’unità di elaborazione 102 può anche essere direttamente il processore principale di un sistema incorporato. In questo caso l’interfaccia 112 si può utilizzare per scambiare dati con uno o più sensori e/o attuatori. Ad esempio, in questo caso, l’interfaccia 112 si può implementare per mezzo di una o più interfacce analogiche e/o porte digitali di ingresso/uscita dell’unità di elaborazione 102.
Nella memoria 104 si può memorizzare ad es. un sistema operativo OS che è eseguito dal processore 102 e che gestisce le funzioni generali del dispositivo 10, quali la gestione dell’interfaccia utente 110 e/o dell’interfaccia di comunicazione 112 e la costituzione di una connessione con la stazione base BS della rete servente tramite l’interfaccia 106. La memoria 104 può anche contenere applicazioni che sono eseguite dal sistema operativo OS. Ad esempio, nel caso di un dispositivo mobile, la memoria 104 comprende sovente un’applicazione di navigazione web o web browser WB.
Per stabilire una connessione con la stazione base BS, il dispositivo 10 è accoppiato ad un’unità di elaborazione 108 configurata per gestire l’identificazione d’utente. Ad esempio, solitamente un dispositivo mobile comprende un’possessore di carta per ricevere una carta comprendente un Modulo di Identità di Abbonato (SIM), che è solitamente chiamato carta SIM. Ad esempio, oggigiorno è sovente utilizzata una Carta a Circuito Integrato Universale (UICC) 108, che è una carta intelligente o smart card sovente utilizzata, ma non limitata a, in reti GSM, UMTS, LTE, W-CDMA, 5G. L’UICC assicura l’integrità e sicurezza di tutti i tipi di dati personali e contiene tipicamente alcune centinaia di kilobyte.
Ad esempio, un’UICC 108 può contenere un’applicazione SIM, un’applicazione USIM, un’applicazione ISIM, un’applicazione CSIM al fine di fornire maggiori servizi al possessore di carta come la memorizzazione di una rubrica telefonica ed altre applicazioni.
Di conseguenza, il riferimento ad un modulo SIM nel seguito della presente descrizione intende comprendere moduli per le suddette reti e si applica anche al caso in cui un tale modulo SIM sia fornito su una carta SIM. Inoltre, la presente descrizione si applica anche ai cosiddetti moduli SIM da Machine-to-Machine (M2M).
Coloro esperti della tecnica apprezzeranno che la comunicazione tra il dispositivo 10 e il modulo SIM 108 segue il principio principale/asservito o master/slave, in cui il dispositivo 10 rappresenta il master e il modulo SIM 108 lo slave. Per questa ragione, il dispositivo 10 invia i dati comandi al modulo SIM 108 e il modulo SIM riconosce il comando.
Come mostrato in Figura 2, un modulo SIM 108 comprende sovente uno o più processori 1082, ad es. sotto forma di un co-processore, ed una o più memorie 1084 per eseguire applicazioni memorizzate nella memoria 1084 del modulo 108.
Ad esempio, il modulo SIM 108 può comprendere in aggiunta all’applicazione del Modulo di Identità di Abbonato (segno di riferimento SIM in Figura 2) almeno un’ulteriore applicazione APP, che può essere ad esempio un’applet Java. Ad esempio, questa applicazione APP può essere configurata per comunicare (solitamente tramite il processore 102 e eventualmente il sistema operativo OS) con l’interfaccia di comunicazione mobile 106 al fine di inviare dati a e/o ricevere dati dal dispositivo 10 per conto di un host remoto 30.
Per questo scopo, l’host 30 può essere connesso tramite una rete 20 alla stazione base BS. Di conseguenza, la connessione tra l’host 30 e l’UICC 108 si può stabilire per mezzo della rete 20, la stazione base BS e l’interfaccia di comunicazione 106.
Generalmente, la comunicazione si può avviare tramite l’host 30 o richiedere tramite l’UICC 108.
Ad esempio, l’applicazione APP può essere un’applicazione web server, che riceve richieste dal web browser WB di un dispositivo mobile 10 ed ottiene rispettivi contenuti da un host remoto 30, quale un web server.
L’applicazione APP può anche essere un’applicazione di autenticazione. In questo caso, l’host 30 può inviare una richiesta di autenticazione all’UICC 108 tramite il dispositivo e l’UICC 108 invierà una risposta di autenticazione all’host 30 tramite lo stesso dispositivo.
Si possono memorizzare nella memoria 108 uno o più profili di operatori di reti mobili. Ciascun profilo è rappresentato da un’area di memoria nella memoria 1084 della carta SIM per archiviare applicazioni APP, quale una rispettiva applet per ciascun profilo. I contenuti della memoria 108, e in particolare della memoria non volatile 1084 si possono indicare interamente come informazioni di carta che corrispondono ad un’immagine di dati di dati di carta CD.
Di conseguenza, una carta UICC comprende solitamente un microprocessore ed una memoria, comprendendo tipicamente una porzione non volatile ed una volatile. Tale memoria, ad esempio una memoria flash, si può dividere in pagine di memoria. Tale memoria è configurata per memorizzare dati quali un sistema operativo, applets ed un profilo MNO che un dispositivo mobile può utilizzare per registrarsi ed interagire con un MNO. Le UICC possono essere introdotte in modo rimovibile in una fessura o slot di un dispositivo, cioè un dispositivo mobile, o esse possono anche essere incorporate direttamente nei dispositivi, in questo caso esse sono chiamate eUICC. Le carte eUICC sono utili poiché per loro natura sono progettate per ricevere remotamente profili MNO.
Tali profili, ed anche le altre informazioni di carta devono tuttavia essere personalizzati con dati specifici della carta, quali le chiavi di autenticazione. La personalizzazione di profili nelle carte UICC ed eUICC è un’attività abbastanza sensibile e complessa da utilizzare, anche perché per via dei requisiti di sicurezza è necessario proteggere tutti i dati, ad esempio attraverso il criptaggio. Inoltre la quantità di dati utilizzati per personalizzare le carte UICC ed eUICC aumenta continuamente nel tempo.
Infine, nuove tecniche come l’OFL (Open Firmware Loader o Caricatore di Open Firmware) e l’iUICC introducono procedure di personalizzazione anche in corrispondenza del lato OEM (Original Equipment Manufacturer/Produttore di Apparecchiature Originali) e tramite OTA (On the Air/Via Etere).
Di conseguenza un problema è di ottimizzare la personalizzazione di carte UICC ed eUICC, entrambi in termini di rendimento e di condivisione di dati.
Più specificatamente, una difficoltà è introdotta dal fatto che i dati di personalizzazione di una UICC o eUICC sono realizzati tramite due componenti
- una parte “fissa”, che è uguale per un dato insieme o lotto di carte
- una parte “variabile”, con dati di personalizzazione all’interno.
La parte fissa è tipicamente più grande della porzione variabile.
La parte variabile è diffusa all’interno dell’immagine dei dati che sono copiati nella carta.
Tipicamente vi sono due procedimenti principali di personalizzazione.
Un primo procedimento prevede che un’immagine singola sia scaricata per la parte fissa su uno specifico lotto di carte.
Successivamente una sequenza di personalizzazioni è costruita ad hoc carta per carta, ad esempio i dati con la rispettiva chiave di autenticazione, sono scritti nella carta.
Questo procedimento è di applicazione generale, ma non molto efficiente in termini di rendimento poiché l’esecuzione dei comandi di personalizzazione può essere lenta e dipendente da applicazione. Come esempio, specifiche informazioni di personalizzazione possono far parte di un comando di installazione di applicazione, così il tempo di esecuzione della personalizzazione sarebbe il tempo di esecuzione dell’installazione dell’applicazione.
Un altro procedimento prevede che un’immagine singola sia scaricata dalla parte fissa su uno specifico lotto di carte. Un’altra immagine contenente i dati di personalizzazione è scaricata in un sottoinsieme della memoria; il sistema operativo necessita successivamente di spostare tali dati verso gli indirizzi appropriati. Questo procedimento è più specifico poiché il sistema operativo ha l’esigenza di sapere dove devono essere memorizzati i dati di personalizzazione ed ha limitazioni nell’applicabilità quando l’entità da personalizzare sulla carta è un’applicazione non gestita direttamente dal produttore del sistema operativo.
Sintesi
Sulla base della descrizione precedente, è sentita l’esigenza di soluzioni che superano uno o più degli svantaggi precedentemente sottolineati.
Secondo una o più forme di realizzazione, tale scopo è conseguito attraverso procedimenti aventi le caratteristiche specificatamente esposte nelle rivendicazioni che seguono. Le forme di realizzazione riguardano inoltre un sistema correlato per la personalizzazione di profili in carte a circuito integrato così come un corrispondente prodotto informatico correlato, caricabile nella memoria di almeno un computer e comprendente porzioni di codice software per eseguire le fasi del procedimento quando il prodotto è eseguito su un computer.
Come qui utilizzato, il riferimento ad un tale prodotto informatico intende essere equivalente al riferimento ad un mezzo leggibile su computer contenente istruzioni per controllare un sistema di computer per coordinare le prestazioni del procedimento. Il riferimento “ad almeno un computer” è evidentemente inteso per evidenziare l’eventualità che la presente descrizione venga implementata in una maniera distribuita/modulare.
Le rivendicazioni sono parte integrante dell’insegnamento tecnico della descrizione qui fornita.
Come menzionato in precedenza, la presente descrizione fornisce soluzioni riguardanti un procedimento per la personalizzazione di carte a circuito integrato, comprendente una procedura di simulazione comprendente le fasi di: simulare lo scaricamento di un’immagine singola corrispondente ad una parte fissa, simulare l’esecuzione di una sequenza di comandi di personalizzazione per introdurre un insieme di dati di personalizzazione nell’immagine singola ottenendo un’immagine di carta comprendente la parte fissa e i dati di personalizzazione, criptare detta immagine di carta ottenendo un’immagine criptata singola, l’immagine criptata singola essendo successivamente scaricati in una memoria della data carta.
In forme di realizzazione diverse, il procedimento qui descritto può comprendere il fatto che detto criptaggio sia eseguito da un HSM con una stessa chiave di trasporto disponibile in corrispondenza della data carta.
In forme di realizzazione diverse, il procedimento qui descritto può comprendere il fatto che detto scaricamento di un’immagine criptata singola in una memoria della data carta comprenda trasmettere una riproduzione detta immagine criptata singola e scaricare dalla macchina di produzione detta immagine criptata singola nella memoria della data carta.
In forme di realizzazione diverse, il procedimento qui descritto può comprendere eseguire una pluralità di procedure di simulazione per una pluralità di carte diverse che condividono una stessa parte fissa ottenendo una pluralità di immagini singole criptate comprendendo inoltre: confrontare detta pluralità di immagini singole criptate, mentre dette immagini singole criptate sono uguali identificare e memorizzare porzioni della parte fissa, quando dette immagini singole criptate sono diverse identificare e memorizzare porzioni dei dati di personalizzazione, eseguire una reimpostazione o reset del criptaggio delle immagini di carte, su uno stato iniziale, iniziando nuovamente il decriptaggio di dette immagine carte dopo la porzione diversa, quando detto confronto è completo, inviare le istruzioni memorizzate della parte fissa e le porzioni memorizzate dei dati di personalizzazione.
In forme di realizzazione diverse, il procedimento qui descritto può comprendere il fatto che detto confronto delle immagini singole criptate sia eseguito tramite pagine di memoria o tramite blocchi aventi la dimensione dei blocchi di testo non crittografato immessi nell’operazione di criptaggio.
La presente descrizione fornisce anche soluzioni riguardanti un sistema per la personalizzazione di carte a circuito integrato, in particolare carte eUICC, comprendenti almeno un’unità di simulazione ed una macchina di produzione configurata per implementare il procedimento secondo qualsiasi delle suddette forme di realizzazione.
In forme di realizzazione diverse, il sistema qui descritto può comprendere il fatto che detta unità di simulazione sia implementata su un server o sistema di server separato dalla macchina di produzione.
La presente descrizione fornisce anche soluzioni riguardanti un prodotto informatico che si può caricare nella memoria di almeno un processore e comprende porzioni di codice software per implementare il procedimento secondo qualsiasi delle forme di realizzazione precedenti.
Breve descrizione delle figure
Le forme di realizzazione della presente descrizione verranno ora descritte facendo riferimento ai disegni annessi, che sono forniti puramente a titolo di esempio non limitativo ed in cui:
- Figure 1 e 2 sono già state descritte in precedenza; - Figura 3 mostra uno schema a blocchi di un sistema che implementa il procedimento qui descritto;
- Figura 4 mostra schematicamente un elemento del sistema di Figura 3;
- Figura 5 mostra un diagramma di flusso che illustra una forma di realizzazione del procedimento qui descritto;
- Figura 6 mostra un diagramma di flusso che illustra un’altra forma di realizzazione del procedimento qui descritto;
- Figura 7 mostra uno schema a blocchi di un sistema che implementa il procedimento qui descritto.
Descrizione Dettagliata
Nella seguente descrizione, numerosi dettagli specifici sono dati per fornire una comprensione approfondita di forme di realizzazione. Le forme di realizzazione si possono mettere in pratica senza uno o vari dettagli specifici, o con altri procedimenti, componenti, materiali, ecc. In altri casi, strutture materiali, o operazioni ben noti non sono mostrati o descritti nel dettaglio per evitare di rendere poco chiari gli aspetti delle forme di realizzazione.
Il riferimento per tutta questa descrizione ad “una forma di realizzazione”significa che una particolare caratteristica, struttura, o peculiarità descritta in abbinamento alla forma di realizzazione è compresa in almeno una forma di realizzazione. Di conseguenza, gli aspetti della frase “in una forma di realizzazione” in vari posti per tutta questa descrizione non fanno necessariamente tutti riferimento alla stessa forma di realizzazione. Inoltre, le particolari caratteristiche, strutture, o peculiarità si possono combinare in qualsiasi maniera appropriata in una o più forme di realizzazione.
Le intestazioni qui fornite sono solo per comodità e non interpretano l’ambito o significato delle forme di realizzazione.
La soluzione qui descritta fornisce sostanzialmente una simulazione delle fasi di scaricamento di un’immagine singola corrispondente a detta parte fissa e l’esecuzione di una sequenza di dati di personalizzazione nel profilo memorizzato nella carta, al fine di ottenere un’immagine di dati singola, che, dopo un criptaggio, è fisicamente scaricata nella memoria della carta.
Ora, con riferimento a Figura 3B è schematicamente rappresentato un sistema per la personalizzazione di profili in carte a circuito integrato, indicato interamente con il numero di riferimento 60.
Tale sistema 60 comprende un blocco che rappresenta un ufficio di personalizzazione 11, che è un’entità che, basandosi ad esempio su un file di ingresso di dati di personalizzazione da un client, ad es. un MNO, contenente insiemi diversi di dati di personalizzazione PP1,...PPi...PPn per carte diverse 501...50i...50n, prepara corrispondenti sequenze di personalizzazione SPP, in SPP1,...SPPi...SPPn ad hoc per ciascuna carta. In Figura 3 è rappresentata l’i-esima carta a circuito integrato 50i, i essendo un indice che va da 1 a n, il numero di carte a circuito integrato da personalizzare. L’ufficio di personalizzazione 11 può corrispondere ad una squadra di tecnici, che scrive le sequenze di personalizzazione SSP, o in alcuni casi ciò si può eseguire automaticamente tramite un sistema di elaborazione che incorpora l’ufficio di personalizzazione 11. La sequenza di personalizzazione SPP comprende tipicamente una pluralità di elenchi di comandi, ciascun elenco di comandi essendo in grado di modificare una i-esima carta con corrispondenti i-esimi dati di personalizzazione PPi. Mentre nella tecnica anteriore, come menzionato tali sequenze di personalizzazione SSP sono scritte direttamente nell’immagine di dati corrispondente alla carta fissa, il sistema 10 comprende almeno un modulo di simulazione 12a, che è ad esempio ospitato in un server o sistema di server.
Tale modulo di simulazione 12 riceve l’i-esima sequenza di personalizzazione SSPi e dati della parte fissa FDP, per una data i-esima carta, e simula, tramite un sottomodulo di simulazione di parte fissa 121, la creazione di un’immagine di una parte fissa FP, mentre nel successivo sottomodulo di simulazione di personalizzazione 122 è simulata l’introduzione in tale immagine di una parte fissa FP, di dati variabili V1, V2, V3 secondo la sequenza di personalizzazione SSPi, in modo che si ottenga un’immagine singola CI da memorizzare nella carta 50i. Tale immagine singola CI è successivamente criptata in un sottomodulo di criptaggio 123, nell’esempio che implementa un criptaggio di Algoritmo di Cifratura AES-CBC (Advanced Encryption Standard (AES) in Cipher Algorithm in Cipher Block Chaining/Standard di Criptaggio Avanzato (Advanced Encryption Standard, AES) �in Modalità di Funzionamento di Cifrari a Blocchi (CBC))) per ottenere un’immagine criptata singola ECI.
L’immagine criptata singola ECI quando completata è scaricata dal modulo di simulazione 12 in una macchina di produzione 13, che memorizza l’immagine criptata singola ECI come dati di carta nell’i-esima carta UICC 50i, specificatamente nella memoria non volatile 1084 della memoria 108. La macchina di produzione 13 che produce una tale carta specifica è nota dall’esperto della tecnica. Essa esegue entrambe le operazioni meccaniche (costruzione della carta, processo di serigrafia per stampare specifiche informazioni sulle facce della carta,…) ed elettriche (scaricamento nella carta dei contenuti della memoria, ad esempio scaricamento nella memoria di un’immagine di dati).
In Figura 4 è mostrata l’immagine criptata ECI e contiene le parti variabili V1, V2, V3, inserite secondo l’i-esima sequenza SPPi, nella parte fissa FP.
In Figura 5 è mostrato un diagramma di flusso che rappresenta una forma di realizzazione del procedimento qui descritto, indicato interamente con il riferimento 200.
In una fase 210 è eseguita una fase di simulazione dello scaricamento di un’immagine singola corrispondente alla parte fissa FP. Nell’esempio mostrato, anche con riferimento a Figura 3, sono forniti dati della parte fissa FPD, ad es. in corrispondenza del sottomodulo 121 del blocco di simulazione 12 ed è simulato lo scaricamento, cioè scrittura, dell’immagine di dati della parte fissa in una memoria non volatile simulata di una carta simulata. Tali dati della parte fissa FPD sono inviati dall’ufficio di personalizzazione 11 al blocco di simulazione 12, e corrispondono ad una sequenza di pagine di memoria, tali pagine di memoria formando dati della parte fissa FPD che sono memorizzati attraverso il sottomodulo 121 nella memoria non volatile della carta simulata in corrispondenza del blocco di simulazione 12, che è incorporato ad esempio da una memoria flash, organizzata in pagine o blocchi. In questo caso il sottomodulo 121 può essere assente o rappresentare semplicemente il funzionamento di accesso alla parte fissa FP precaricata nel blocco di simulazione 12.
Tuttavia, in una forma di realizzazione diversa, tale fase 210 può comprendere il fatto che la parte fissa, FP sia precaricata nel blocco di simulazione 12, cioè è caricata prima del caricamento nel blocco di simulazione delle sequenze di comandi SPP1…SPPn. Il fatto di avere il blocco di simulazione 12 preconfigurato, cioè precaricato, con la parte fissa FP rende più veloci le operazioni di simulazione. Successivamente, è eseguito uno script corrispondente all’i-esima sequenza SPPi (si veda la fase 220 nel seguito). I dati della parte fissa FPD contengono anche gli altri dati che compongono l’intera immagine da scaricare nella carta 50i, comprendente il sistema operativo e le applicazioni.
Successivamente in una fase 220 è effettuata l’esecuzione di simulazione di una sequenza di comandi di personalizzazione SPP) per introdurre un insieme di dati di personalizzazione nell’immagine singola rappresentata dalla parte fissa FP detto scaricamento era stato simulato nella fase 210 precedente, in cui è fornita la sequenza SPP per una data carta 50 ed è eseguita l’operazione di simulazione di modifica dell’immagine di dati della parte fissa (sottomodulo 122). Si ottiene un’immagine di carta singola CIi.
In una fase 230 l’immagine di carta singola CI è criptata in un’immagine di carta criptata ECI. Al fine di consentire un ambiente appropriatamente sicuro, le immagini saranno criptate quando spostate da un server, ad es. il blocco di simulazione 12 di Figura 3, ad un altro, ad es. macchina di produzione 13. Come menzionato si può utilizzare il criptaggio AES-CBC. Il criptaggio 230 è eseguito da un HSM (Hardware Security Module, o Modulo di Sicurezza Hardware), che può corrispondere al sottomodulo 123 di Figura 3, ed ha una stessa chiave di trasporto della data i-esima carta 50i in cui deve essere scaricata l’immagine di carta criptata ECI. In questo modo solo l’HSM 123 può criptare e solo la data i-esima carta UICC 50i può decriptare.
Di conseguenza, è definita una procedura di simulazione 205, comprendente tali fasi 210-230, che produce come uscita un’immagine di carta criptata ECI.
In una fase 240 l’immagine di carta criptata ECI è successivamente trasmessa alla macchina di produzione 13, che, in una fase 250 scarica il nell’immagine di carta criptata ECI nella data carta 50i.
La soluzione descritta in generale con riferimento a Figure 3-5 produce un’immagine criptata singola, che comprende tutti i dati, dal sistema operativo ai dati di personalizzazione. La soluzione è più efficiente in termini di rendimento poiché l’esecuzione dei comandi di personalizzazione è eseguita in corrispondenza del simulatore.
In questo contesto, si può inoltre considerare che la quantità di dati che necessitano essere trasmessi è molto alta. Al fine di trasmettere dati per un numero n di 1.000.000 di 1.2 MB carte, che può essere un tipico volume per una personalizzazione, sono richiesti 1.2 TB di dati. La trasmissione di tale quantità alle macchine di produzione, cioè le macchine che scaricano l’immagine finale su ciascuna carta, potrebbe essere il collo di bottiglia della produzione.
È quindi qui descritta una forma di realizzazione del procedimento, che riduce tale quantità di dati da trasmettere considerando che le immagini di due carte a circuito integrato possono differire l’una dall’altra solo in alcune porzioni, ad es. le porzioni variabili V1, V2, …, Mentre le loro parti fisse sono uguali.
Tuttavia, il criptaggio dell’immagine ECI rende difficile comprendere quale parte è fissa e quale è variabile poiché l’immagine ECI è criptata. Con alcuni algoritmi di criptaggio quale l’AES-CBC, non è possibile identificare i dati variabili, poiché una modifica influisce interamente su i rimanenti dati criptati, anche quelli della parte fissa.
In Figura 6 è mostrato un diagramma schematico che rappresenta le operazioni della forma di realizzazione 200’ del procedimento qui descritto, che identifica rispettivamente le porzioni, nell’esempio FP1, FP2, FP3, FP4 della parte fissa FP e le porzioni dei dati variabili V1, V2…, Nell’esempio V11, V12, V13 e V21, V22, V23 per dati variabili V1 e V2 res utilizzando un approccio di scarico incrementale.
Tale forma di realizzazione fornisce sostanzialmente l’esecuzione dello scaricamento di almeno due immagini di carta criptata ECI1 e ECI2 in parallelo su diversi simulatori UICC 121, 122, confrontando le due immagini di carta criptata ECI1 e ECI2 mentre esse sono emesse dai moduli di criptaggio. Quando un’immagine criptata ad es. ECI1 differisce dall’altra, allora una parte o porzione di personalizzazione di una parte di personalizzazione è identificata nell’ECI1, e memorizzata in un corrispondente file variabile euicc1_var1.enc. Ed analogamente è identificata una porzione di una parte di personalizzazione nell’ECI2 e memorizzata in un corrispondente file variabile euicc2_var1.enc.
Tale parte o porzione di personalizzazione identificata della parte di personalizzazione è successivamente saltata, successivamente il processo di criptaggio 230 è reimpostato sullo stato iniziale ed un nuovo criptaggio dell’immagine della carta è avviato su entrambi i simulatori 12a, 12b. Il salto della parte o porzione di personalizzazione dell’operazione della parte di personalizzazione è eseguito ad esempio una pagina alla volta dei contenuti della memoria non volatile. Di conseguenza, il criptaggio è reimpostato per avviarsi dalla successiva pagina di memoria dell’immagine criptata. In forme di realizzazione diverse si può eseguire tale fase di confronto invece di una pagina di memoria alla volta, confrontando un blocco di bit di immagine criptata aventi la dimensione su blocchi di testo non crittografato immessi nell’operazione di criptaggio, ad es. una dimensione di blocco di bit di ingresso che la matrice di stato del processo di criptaggio AES può gestire alla volta, una dimensione che dovrebbe variare da 128 a 256 bit. Di conseguenza, l’operazione di confronto comprende eseguire dette operazioni di confronto delle immagini singole criptate ECI1, ECI2 tramite pagine di memoria o tramite blocchi aventi la dimensione dei blocchi di testo non crittografato immessi nell’operazione di criptaggio.
Inoltre con riferimento a Figura 7, dove uno schema a blocchi che mostra alcune delle entità e le operazioni della forma di realizzazione 200’ del procedimento qui descritto, il procedimento comprende le seguenti operazioni.
I dati della parte fissa FPD sono forniti ad entrambi i simulatori 121, 122, che eseguono corrispondenti due procedure di simulazione parallele 2051, 2052 emettendo rispettive immagini di carta criptata ECI1, ECI2 e comprendenti fasi parallele 2101, 2102 di scrittura simulata dell’immagine di dati della parte fissa, come nella fase 210 precedente. Come menzionato, la parte fissa FP si può non caricare assieme ai comandi SPPi nel blocco di simulazione 12, la simulazione essendo invece preconfigurata, cioè precaricata, al fine di ottenere una simulazione più veloce. Da tali fasi 2101, 2102 si ottiene una stessa parte fissa FP per i due simulatori 12.
Sono successivamente eseguite fasi parallele 2201, 2202 corrispondenti alla fase 220, cioè sono fornite rispettive sequenze SPPi per date carte 501 e 502 ed è eseguita l’operazione di simulazione di modifica dell’immagine di dati della parte fissa. Si ottengono due rispettive immagini di carta singola CI1, CI2.
Sono successivamente eseguite fasi parallele 2301, 2302 corrispondenti alla fase 230, in cui le immagini di carta singola CI1, CI2 sono criptate in rispettive immagini di carta criptata ECI1, ECI2.
Successivamente, nelle fasi parallele 2321, 2322 sono prese in sequenza le j-esime pagine P1j, P2j, j essendo un indice che varia da 1 a N, dove N è il numero di pagine che compone le immagini di carta criptata ECI, delle rispettive immagini di carta criptata ECI1, ECI2 e inviate ad una fase di confronto 234. La dimensione di una pagina ad esempio è di 256 byte.
La fase di confronto 234 confronta le due pagine P1j, P2j. Se le due pagine P1j, P2j sono uguali, allora le pagine sono considerate come appartenenti ad una porzione, ad es. FP1, della parte fissa FP ed è eseguita una fase 236 di memorizzazione della pagina in un file euicc_fix1.enc dedicato ad una porzione FP1 della parte fissa FP. Naturalmente poiché la pagina è la stessa, e memorizzata una sola pagina in un solo file.
Successivamente in una fase 239 si verifica se le pagine P1j, P2j sono le ultime delle immagini di carta criptata ECI1, ECI2.
In caso negativo, il controllo è restituito alle fasi 2321, 2322 che estraggono le seguenti pagine, P1j+1, P2j+1 per il confronto 234. Ciò significa che, nell’estendere solitamente la porzione FP1 della parte fissa FP per svariate pagine, tali varie pagine sono scritte in sequenza nel file della parte fissa euicc_fix1.enc. Con FT si indica una struttura di dati per la memorizzazione di tali file di parte fissa.
In caso affermativo, il controllo è passato alla fase di trasmissione 240’, che verrà illustrata in una parte successiva della descrizione.
Se la fase di confronto 234 indicasse che le pagine P1j, P2j sono diverse, allora le due pagine diverse P1j e P2j sono memorizzate in due rispettivi file variabili euicc1_var1.enc e euicc2_var1.enc
inoltre nella fase 238 le fasi di criptaggio 2301, 2302, sono reimpostate, cioè il vettore di inizializzazione dell’AES-CBC è reimpostato e il criptaggio è avviato dalla pagina successiva dell’ECI dopo la pagina che differisce, cioè se la pagina diversa è P1j, P2j, allora il criptaggio è reimpostato ed inizia dalle pagine P1j+, P2j+1.
Se vi sono pagine continue diverse, esse sono introdotte in sequenza nello stesso file.
Di conseguenza, se, come mostrato in Figura 7, la prima immagine criptata ECI1 comprende le porzioni FP1, FP2, FP3, FP4 della parte fissa FP e porzioni diverse V11, V12, V13, e la seconda immagine criptata ECI2 comprende le porzioni FP1, FP2, FP3, FP4 della parte fissa FP e porzioni diverse V21, V22, V23, per la parte fissa FP e memorizzata in un singolo insieme FF, comprendente i file euicc_fix1.enc, euicc_fix2.enc, euicc_fix3.enc, euicc_fix4.enc, che assieme corrispondono all’immagine della parte fissa FP. Le porzioni diverse generano due insiemi di file, VF1, corrispondenti ai file euicc1_var1.enc, euicc1_var2.enc euicc1_var3.enc, e l’insieme del file VF2, corrispondente ai file euicc2_var1.enc euicc2_var2.enc, euicc2_var3.enc, che corrispondono rispettivamente alle porzioni diverse V11, V12, V13 e V21, V22, V23.
Come menzionato quando la fase di prova 239 segnala che l’intera immagine ECI1, ECI2 è stata elaborata nella fase di confronto 238, il controllo è passato alla fase di trasmissione 240’, che prende il singolo insieme FF per la parte fissa FP e i due insiemi VF1, VF2 per le parti diverse e li invia alla macchina di produzione 13.
La macchina di produzione 13 in una fase 250’ scrive in ciascuna carta 501, 502 la parte fissa FP e il corrispondente insieme di parti diverse VF1 o VF2.
La soluzione descritta ha di conseguenza vari vantaggi rispetto alle soluzioni della tecnica anteriore.
Rispetto all’esecuzione tramite carte reali dei comandi di personalizzazione, si ottiene un’esecuzione di personalizzazione molto più veloce che aumenta il rendimento.
Inoltre si riduce la quantità di memoria da trasferire, poiché i file criptati della parte fissa sono trasmessi solo una volta per due o più carte, un aspetto che nuovamente può ridurre il rendimento.
La soluzione qui descritta utilizzante la trasmissione criptata, aumenta la sicurezza.
Inoltre la soluzione descritta non ha i dati di personalizzazione limitati ad una specifica area di memoria e non ha un impatto sul sistema operativo.
Naturalmente, senza pregiudizio per il principio dell’invenzione, i dettagli di costruzione e le forme di realizzazione possono variare ampiamente rispetto a ciò che è stato descritto e qui illustrato puramente a titolo di esempio, senza così discostarsi dall’ambito della presente invenzione, come definito dalle successive rivendicazioni.
La soluzione qui descritta, come indicato, si può applicare ad un circuito integrato nella carta, in particolare carte UICC e eUICC rimovibili, ma anche a carte a circuito integrato utilizzate per smart card impiegate in applicazioni diverse dalla comunicazione mobile, quali carte di credito e smart card per scopi di identificazione/accesso.

Claims (8)

  1. RIVENDICAZIONI 1. Procedimento per la personalizzazione di carte a circuito integrato, comprendente una procedura di simulazione (205) comprendente le fasi di: simulare (210) lo scaricamento di un’immagine singola corrispondente ad una parte fissa (FP), simulare (220) l’esecuzione di una sequenza di comandi di personalizzazione (SPP) per introdurre un insieme di dati di personalizzazione nell’immagine singola (FP) ottenendo un’immagine di carta (CIi) comprendente la parte fissa (FP) e i dati di personalizzazione, criptare (230) detta immagine di carta ((CIi)) ottenendo un’immagine singola criptata (ECIi), l’immagine singola criptata (ECIi) essendo successivamente scaricata (240, 250) in una memoria della data carta (50i).
  2. 2. Procedimento secondo la rivendicazione 1 in cui detto criptaggio (230) è eseguito da un HSM con una stessa chiave di trasporto disponibile in corrispondenza della data carta.
  3. 3. Procedimento secondo la rivendicazione 1 in cui detto scaricamento (240, 250) di un’immagine singola criptata (ECIi) in una memoria della data carta (50i) comprende trasmettere ad una macchina di produzione (13) detta immagine singola criptata (ECIi) e scaricare (250) dalla macchina di produzione detta immagine singola criptata (ECIi) nella memoria della data carta (50i).
  4. 4. Procedimento per la personalizzazione di carte a circuito integrato che eseguono una pluralità di procedure di simulazione (2051, 2052) secondo la rivendicazione 1 per una pluralità di carte diverse che condividono una stessa parte fissa (FP) ottenendo una pluralità di immagini singole criptate (ECI1, ECI2) comprendente inoltre: confrontare (234) detta pluralità di immagini singole criptate (ECI1, ECI2), mentre dette immagini singole criptate (ECI1, ECI2) sono uguali identificare e memorizzare (236) porzioni (FP1…FP4) della parte fissa (FP), quando dette immagini singole criptate (ECI1, ECI2) sono diverse identificare e memorizzare porzioni (V11…V13, V21….V23) dei dati di personalizzazione (VF1, VF2), eseguire una reimpostazione del criptaggio (2301, 2302) delle immagini di carta (CI1, CI2), su uno stato iniziale, avviare nuovamente il criptaggio (2301, 2302) di dette immagini di carta (CI1, CI2) dopo la porzione diversa, quando detto confronto (234) è completo (239), inviare (250’) le porzioni memorizzate della parte fissa (FP) e le porzioni memorizzate (V11…V13, V21….V23) dei dati di personalizzazione (VF1, VF2).
  5. 5. Procedimento secondo la rivendicazione 1 in cui detto confronto delle immagini singole criptate (ECI1, ECI2) è eseguito tramite pagine di memoria o tramite blocchi aventi la dimensione dei blocchi di testo non crittografato immessi nell’operazione di criptaggio.
  6. 6. Sistema per la personalizzazione di carte a circuito integrato, comprendente almeno un’unità di simulazione (12) ed una macchina di produzione (13) configurata per implementare il procedimento secondo qualsiasi delle rivendicazioni precedenti da 1 a 5.
  7. 7. Sistema secondo la rivendicazione 6, caratterizzato dal fatto che esso comprende detta unità di simulazione (12) è implementato su un server un sistema di server separato dalla macchina di produzione (13).
  8. 8. Prodotto informatico che si può caricare nella memoria di almeno un processore e comprende porzioni di codice software per implementare il procedimento secondo qualsiasi delle Rivendicazioni da 1 a 6.
IT102018000004046A 2018-03-28 2018-03-28 Procedimento per la personalizzazione di carte a circuito integrato, corrispondente sistema e prodotto informatico IT201800004046A1 (it)

Priority Applications (4)

Application Number Priority Date Filing Date Title
IT102018000004046A IT201800004046A1 (it) 2018-03-28 2018-03-28 Procedimento per la personalizzazione di carte a circuito integrato, corrispondente sistema e prodotto informatico
EP19163188.6A EP3547729B1 (en) 2018-03-28 2019-03-15 Method for the personalization of integrated circuit cards, corresponding system and computer program product
US16/366,870 US11463864B2 (en) 2018-03-28 2019-03-27 Method for the personalization of integrated circuit cards, corresponding system and computer program product
CN201910246417.9A CN110321739B (zh) 2018-03-28 2019-03-27 集成电路卡的个性化方法、对应的系统和计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102018000004046A IT201800004046A1 (it) 2018-03-28 2018-03-28 Procedimento per la personalizzazione di carte a circuito integrato, corrispondente sistema e prodotto informatico

Publications (1)

Publication Number Publication Date
IT201800004046A1 true IT201800004046A1 (it) 2019-09-28

Family

ID=62455788

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102018000004046A IT201800004046A1 (it) 2018-03-28 2018-03-28 Procedimento per la personalizzazione di carte a circuito integrato, corrispondente sistema e prodotto informatico

Country Status (4)

Country Link
US (1) US11463864B2 (it)
EP (1) EP3547729B1 (it)
CN (1) CN110321739B (it)
IT (1) IT201800004046A1 (it)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT201900017561A1 (it) * 2019-09-30 2021-03-30 St Microelectronics Srl "Procedimento per introdurre dati di personalizzazione in memorie non volatile di una pluralità di circuiti integrati, in particolare in carte a circuito integrato, corrispondente sistema e prodotto informatico"
EP4283508A1 (en) * 2022-05-26 2023-11-29 STMicroelectronics S.r.l. Method for introducing personalization data in non volatile memories of a plurality of integrated circuits, in particular in integrated circuit cards, corresponding system and computer program product

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993007697A1 (en) * 1991-09-30 1993-04-15 Comvik Gsm Ab Method for personalisation of an active card
US20090124287A1 (en) * 2005-07-11 2009-05-14 Dieter Weiss Retrospective Implementation of Sim Capabilities In a Security Module
FR3011652A1 (fr) * 2013-10-07 2015-04-10 Oberthur Technologies Procede de personnalisation d'un element securise
WO2016164632A1 (en) * 2015-04-10 2016-10-13 Apple Inc. Apparatus and methods for electronic subscriber identity module (esim) installation and interoperability

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2461613A1 (en) * 2010-12-06 2012-06-06 Gemalto SA Methods and system for handling UICC data
EP2696531B1 (en) * 2012-08-08 2019-07-17 Nxp B.V. Initialization of embedded secure elements
CN108028749B (zh) * 2015-05-16 2019-01-22 西蒙乐思有限公司 用于虚拟化可再编程的通用集成电路芯片的装置、方法以及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993007697A1 (en) * 1991-09-30 1993-04-15 Comvik Gsm Ab Method for personalisation of an active card
US20090124287A1 (en) * 2005-07-11 2009-05-14 Dieter Weiss Retrospective Implementation of Sim Capabilities In a Security Module
FR3011652A1 (fr) * 2013-10-07 2015-04-10 Oberthur Technologies Procede de personnalisation d'un element securise
WO2016164632A1 (en) * 2015-04-10 2016-10-13 Apple Inc. Apparatus and methods for electronic subscriber identity module (esim) installation and interoperability

Also Published As

Publication number Publication date
CN110321739A (zh) 2019-10-11
CN110321739B (zh) 2023-01-20
US20190306697A1 (en) 2019-10-03
US11463864B2 (en) 2022-10-04
EP3547729A1 (en) 2019-10-02
EP3547729B1 (en) 2022-01-12

Similar Documents

Publication Publication Date Title
CN106465460B (zh) 用于支持嵌入式uicc上的globalplatform使用的方法和设备
CN103514010B (zh) 自动应用更新
CN103843006B (zh) 用于向用户终端配备操作系统的方法和设备
CN104426967B (zh) 一种跨平台和跨设备的移动应用开发系统
ITUB20151246A1 (it) Procedimento per gestire una pluralita' di profili in modulo sim, e corrispondente modulo sim e prodotto informatico
US9223559B2 (en) Information processing apparatus, electronic control unit, information processing method, and program
CN106465121A (zh) 电子用户身份模块配置
CN109814854A (zh) 项目框架生成方法、装置、计算机设备和存储介质
IT201600069354A1 (it) Procedimento per effettuare una gestione remota di un modulo sim a sottoscrizione multipla, e corrispondente modulo sim e prodotto informatico
CN108469986A (zh) 一种数据迁移方法及装置
IT201800004046A1 (it) Procedimento per la personalizzazione di carte a circuito integrato, corrispondente sistema e prodotto informatico
CN103455349A (zh) 应用程序访问智能卡的方法和装置
CN102710412A (zh) 加密算法兼容管理的方法及装置
CN105745621A (zh) 在服务器上仿真测试分布式应用
CN109672519A (zh) 一种密码装置及其数据加解密方法
EP3716667B1 (en) Method for managing profiles in embedded universal integrated circuit cards, corresponding system and computer program product
CN103716400A (zh) 基于虚拟机实现移动办公的方法及系统
CN109857571A (zh) 剪贴板控制方法及装置
US10803373B2 (en) Information processing apparatus and information processing method
KR102114431B1 (ko) 모바일 터미널의 내장 보안 요소에 서브스크립션을 로딩하는 방법
IT201800009905A1 (it) Procedimento per la generazione di dati personalizzati di profile package in carte a circuito integrato, corrispondente sistema e prodotto informatico
IT201800004293A1 (it) Procedimento di gestione di sistemi operativi multipli in carte a circuito integrato, corrispondente sistema e prodotto informatico
CN111079153B (zh) 安全建模方法、装置、电子设备及存储介质
US20170262385A1 (en) Method and apparatus for data storage service
US20230351050A1 (en) Method and apparatus for custom development of payment application, computer device, and storage medium