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.