Autorizzazione dei pagamenti con Apple Pay
Per i dispositivi che dispongono di Secure Enclave, i pagamenti saranno consentiti solo dopo che Secure Enclave li avrà autorizzati. Su iPhone, su iPad o su un Mac con Touch ID (o abbinato a una tastiera Magic Keyboard con Touch ID), ciò richiede la conferma che l’utente abbia eseguito l’autenticazione tramite biometria o con il codice o la password del dispositivo. L’autenticazione biometrica, se disponibile, è il metodo di default, ma il codice o la password possono essere usati in qualsiasi momento e vengono automaticamente offerti dopo tre tentativi non riusciti di riconoscimento dell’impronta digitale o (su iPhone e iPad) dopo due tentativi non riusciti di riconoscimento del volto. Dopo cinque tentativi non riusciti, viene richiesto il codice o la password. Il codice o la password sono richiesti anche quando l’autenticazione biometrica non è configurata oppure è attivata per Apple Pay. Per effettuare un pagamento su Apple Watch, il dispositivo dev’essere sbloccato con il codice e l’utente deve premere due volte il tasto laterale.
Utilizzare una chiave di abbinamento condivisa
Secure Enclave e Secure Element comunicano tramite un’interfaccia seriale, utilizzando una crittografia e un’autenticazione basate su AES e valori anti-replay crittografici per evitare attacchi di tipo replay. Sebbene i due componenti non siano collegati direttamente, comunicano in modo sicuro tramite una chiave di abbinamento condivisa fornita durante la produzione. Durante tale processo, Secure Enclave genera la chiave di abbinamento dalla propria chiave UID e dall’ID unico di Secure Element. Quindi trasferisce la chiave di abbinamento in modo sicuro su un modulo di sicurezza hardware (HSM) nella fabbrica. Questo modulo di sicurezza hardware infine inserisce la chiave di abbinamento in Secure Element.
Autorizzare una transazione sicura
Quando l’utente autorizza una transazione, che include un gesto fisico comunicato direttamente a Secure Enclave, quest’ultimo invia i dati firmati relativi al tipo di autenticazione e i dettagli sul tipo di transazione (contactless o all’interno di app) a Secure Element, legandoli a un valore Authorization Random (AR). Il valore AR è generato in Secure Enclave quando l’utente fornisce per la prima volta una carta di credito e resta in vigore finché la funzionalità Apple Pay è attiva, protetto dalla codifica e dal meccanismo anti‑rollback di Secure Enclave. Viene trasmesso in maniera protetta a Secure Element facendo uso della chiave di abbinamento. Alla ricezione di un nuovo valore AR, Secure Element contrassegna ogni carta aggiunta in precedenza come annullata.
Utilizzare un crittogramma di pagamento per una sicurezza dinamica
Le transazioni di pagamento originate dalle applet di pagamento includono un crittogramma di pagamento e un numero identificativo del dispositivo. Tale crittogramma, un codice utilizzabile una sola volta, viene calcolato tramite un contatore di transazioni e una chiave. Il contatore di transazioni viene incrementato per ogni nuova transazione. La chiave viene fornita nell’applet di pagamento durante la personalizzazione ed è conosciuta dalla rete di pagamento e/o dall’emittente della carta. A seconda dello schema di pagamento, per il calcolo possono essere utilizzati anche altri dati, tra cui:
Un numero non prevedibile per il terminale, per le transazioni NFC.
Un valore anti-replay del server di Apple Pay, per le transazioni all’interno delle app.
I risultati della verifica dell’utente, ad esempio le informazioni ottenute dal metodo di verifica del titolare della carta (CVM).
I codici di sicurezza vengono forniti al circuito di pagamento e all’emittente in modo da consentire a quest’ultimo la verifica di ogni transazione. La lunghezza dei codici può variare in base al tipo di transazione.