
Sicurezza della piattaforma NFC e SE
La piattaforma NFC e SE è una soluzione sicura creata da Apple che consente agli sviluppatori autorizzati di fornire funzionalitĂ allâinterno delle proprie app per iOS. Sui dispositivi con iOS 18.1 o versioni successive, gli sviluppatori possono archiviare credenziali in Secure Element. Tali credenziali supportano soluzioni per i pagamenti, lâaccesso, i mezzi pubblici, i programmi fedeltĂ e i biglietti. Gli sviluppatori devono proteggere la privacy e i dati degli utenti, compresi i dettagli delle carte. La piattaforma fornisce funzionalitĂ di sicurezza dallâhardware di iPhone, dal software e dai server Apple. Gli sviluppatori possono utilizzare Secure Element, i sensori biometrici, Secure Enclave e i server Apple per proteggere le credenziali durante le seguenti fasi di utilizzo:
Nota: gli sviluppatori devono ricevere unâautorizzazione per poter utilizzare la piattaforma NFC e SE. In questo modo, solo gli sviluppatori autorizzati, disposti a soddisfare gli standard di privacy e sicurezza, possono utilizzare la piattaforma NFC e SE
Sicurezza dei componenti della piattaforma NFC e SE
La piattaforma NFC e SE fornisce lâaccesso a funzionalitĂ hardware e software che consentono agli sviluppatori di offrire transazioni sicure agli utenti di iPhone.
Secure Element
Secure Element è un circuito integrato creato secondo gli standard del settore su cui è in esecuzione la piattaforma Java Card. Ă stato certificato da EMVCo e Common Criteria e supporta applet Java Card standard, comprese quelle approvate per la piattaforma NFC e SE. Include inoltre unâapplet speciale per gestire lâautorizzazione e lâattivazione delle applet della piattaforma NFC e SE. I dati delle credenziali possono essere crittografati e inviati a tali applet utilizzando chiavi uniche. Questi dati sono archiviati allâinterno delle applet e protetti utilizzando le funzionalitĂ di sicurezza di Secure Element. Durante le transazioni, il terminale comunica direttamente con Secure Element attraverso il controller NFC (Near Field Communication).
Controller NFC
Il controller NFC gestisce i protocolli Near Field Communication e instrada la comunicazione tra il processore per le applicazioni e Secure Element e tra Secure Element e il terminale POS. Il controller NFC aiuta a garantire che le transazioni contactless siano eseguite utilizzando un terminale che si trovi in prossimitĂ del dispositivo. Solo le richieste provenienti da un terminale entro il raggio di azione sono contrassegnate dal controller NFC come transazioni contactless.
Dopo che lâavanzamento di una transazione è stato autorizzato dallâutente tramite Face ID, Touch ID o il codice del telefono, le risposte contactless preparate dallâapplet dalla piattaforma NFC e SE allâinterno di Secure Element vengono instradate esclusivamente dal controller NFC e dal campo NFC. Di conseguenza i dettagli delle transazioni contactless sono circoscritti nel campo NFC locale e non sono mai esposti al processore per le applicazioni.
Secure Enclave
Secure Enclave gestisce lâautenticazione dellâutente e protegge i processi di intenti sul dispositivo, consentendo lâavanzamento delle transazioni autorizzate. La comunicazione tra Secure Enclave e Secure Element avviene attraverso unâinterfaccia seriale, in cui Secure Element è collegato al controller NFC, che a sua volta è collegato al processore per le applicazioni. Sebbene non siano direttamente collegati, Secure Enclave e Secure Element possono comunicare in modo sicuro utilizzando un segreto condiviso generato in fase di esecuzione, che può essere usato per fornire riservatezza e integritĂ per il collegamento di comunicazione quando necessario.
Server Apple
I server Apple contengono i pacchetti di applet approvati dei partner della piattaforma NFC e SE. Inoltre, gestiscono la configurazione e la creazione di domini e applet di sicurezza in Secure Element, compresi quelli utilizzati dalla piattaforma NFC e SE.
Applet e configurazioni
Per usare la piattaforma NFC e SE, gli sviluppatori devono disporre di un pacchetto di applet e di una configurazione di prodotto approvati per supportare le proprie credenziali. Prima di essere consegnate ad Apple per lâinstallazione sicura su Secure Element, tutte le applet devono superare un controllo di sicurezza effettuato da un laboratorio di valutazione di terze parti accreditato. Dopo la consegna ad Apple, il pacchetto di applet e la configurazione di prodotto associata vengono controllati e devono essere approvati prima di poter essere usati con la piattaforma NFC e SE. Una volta approvato, il pacchetto di applet viene firmato e archiviato sui server Apple.
Inoltre, gli sviluppatori sono tenuti a ottenere in maniera indipendente qualsiasi altra certificazione o qualifica per le proprie applet in base ai relativi casi di utilizzo e piani operativi, ad esempio quelle richieste dalla legge, dalle normative o dagli operatori delle reti di pagamento.
Fornitura delle credenziali
Uno sviluppatore che utilizza la piattaforma NFC e SE ha la responsabilitĂ di proteggere la sicurezza della procedura tramite cui gli utenti forniscono nuove credenziali. Ciò potrebbe includere passaggi come lâautenticazione dellâutente nellâapp iOS, la protezione e la convalida di dati sensibili inseriti dallâutente, le comunicazioni con i server, lâapprovazione per lâaggiunta di credenziali, lâavvio della fornitura delle credenziali e la gestione dei dati per la personalizzazione. Lo sviluppatore ha inoltre la responsabilitĂ di garantire che la propria soluzione soddisfi qualsiasi normativa e standard del settore applicabili correlati alla sicurezza della fornitura e dellâuso delle credenziali.
In seguito alla richiesta da parte dellâapp iOS di creare una nuova credenziale, la piattaforma NFC e SE invia tale richiesta ai server Apple. Se lâapplet associata alla configurazione di prodotto richiesta non è ancora stata scaricata in Secure Element, un server Apple avvia il download del pacchetto firmato in Secure Element. Successivamente, viene istallata una nuova istanza dellâapplet allâinterno di un dominio di sicurezza isolato in Secure Element, che verrĂ utilizzato per archiviare le nuove credenziali. Dopo lâinstallazione, il TSM (Trusted Service Manager) scelto dallo sviluppatore può personalizzare in modo confidenziale lâistanza dellâapplet con gli eventuali dati necessari per le credenziali, come chiavi e numeri di account.
Archiviazione e accesso sicuri
Le funzionalitĂ di sicurezza hardware e software di Secure Element sono disponibili per proteggere le credenziali della piattaforma NFC e SE sia a riposo che durante lâuso. Gli sviluppatori garantiscono che le proprie applet in Secure Element siano implementate in modo sicuro, seguano le linee guida di sicurezza e utilizzino pienamente le funzionalitĂ di sicurezza disponibili fornite dalla piattaforma per proteggere in modo adeguato i dati delle credenziali.
La piattaforma NFC e SE circoscrive lâaccesso alle configurazioni di prodotto e alle istanze delle applet esclusivamente alle app per iOS a loro associate. Di conseguenza, nessuna app non autorizzata può interagire con esse per modificarle o usarle. Solo le app iOS associate possono:
Richiedere la creazione di istanze di applet.
Personalizzare, aggiornare e inviare comandi alle istanze di applet.
Avviare transazioni.
Richiedere lâeliminazione di istanze di applet.
Autorizzazione delle transazioni
Le app devono ottenere lâautorizzazione dellâutente per tutte le transazioni; la piattaforma NFC e SE offre agli sviluppatori uno strumento per garantire che ciò si verifichi. Gli utenti autorizzano le transazione tramite lâautenticazione biometrica o un codice, uniti a un gesto fisico per Secure Enclave. In seguito allâapprovazione, Secure Enclave invia i dati di autenticazione a Secure Element. Successivamente, Secure Element li verifica e richiede allâapplet di attivare lâinterfaccia NFC. Lo sviluppatore che utilizza la piattaforma NFC e SE deve implementare la propria app per iOS e lâapplet per Secure Element seguendo le specifiche fornite da Apple per poter utilizzare il meccanismo di autorizzazione delle transazioni ed eseguire le transazioni.
Per avviare una transazione, lâapp per iOS deve essere in primo piano e iPhone deve essere sbloccato. Se unâapp per iOS è impostata come app di default per le operazioni contactless in Impostazioni, questa viene avviata automaticamente quando lâutente preme due volte il tasto laterale (sui dispositivi con Face ID) o il tasto Home (sui dispositivi con Touch ID) e dopo lâautenticazione dellâutente (se iPhone è bloccato).
Inoltre, lâapp per iOS dello sviluppatore che utilizza la piattaforma NFC e SE ha la responsabilitĂ di fornire allâutente informazioni chiare sulle credenziali da utilizzare nella transazione e di mostrare qualsiasi dettaglio rilevante.
Gestione del ciclo di vita
Utilizzando le API della piattaforma NFC e SE, gli sviluppatori possono eliminare le credenziali o aggiornarne i dati, quindi inviare i comandi desiderati alla propria applet dallâapp per iOS. Possono anche aggiungere funzionalitĂ per sospendere o scollegare le credenziali, ma tale possibilità è indipendente dalla piattaforma NFC e SE.
Tutte le credenziali in Secure Element vengono cancellate in modo sicuro quando lâutente:
Esce da iCloud.
Rimuove il codice del dispositivo.
Inizializza il dispositivo utilizzando âInizializza contenuto e impostazioniâ o da remoto tramite Dovâè.
Richiede lâeliminazione dellâApple Account dalla pagina Dati e privacy di Apple.
Gli utenti possono anche rimuovere credenziali specifiche da iPhone eliminando lâapp per iOS associata.