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 o iPad questo processo implica la conferma che l'utente si sia autenticato mediante Face ID o Touch ID o inserendo il codice del dispositivo. Face ID o Touch ID, se disponibili, sono i metodi di default, ma al loro posto è possibile utilizzare il codice in qualsiasi momento. L'autenticazione con codice viene proposta automaticamente dopo tre tentativi non riusciti di riconoscimento dell'impronta digitale o due tentativi non riusciti di riconoscimento facciale e diventa obbligatoria dopo cinque tentativi non riusciti. Il codice è richiesto anche quando Face ID o Touch ID non sono configurati o non sono abilitati 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
La comunicazione tra Secure Enclave e Secure Element avviene su un'interfaccia seriale, con Secure Element connesso al controller NFC che a sua volta è connesso al processore per le applicazioni. Anche se non sono connessi direttamente, Secure Enclave e Secure Element possono comunicare in maniera sicura utilizzando una chiave di abbinamento condivisa che viene fornita durante il processo di fabbricazione. La codifica e l'autenticazione delle comunicazioni si basano su AES, con nonce di codifica utilizzati da entrambe le parti come protezione contro i replay attack. La chiave di abbinamento è generata all'interno di Secure Enclave a partire dalla sua chiave UID e dall'identificatore univoco di Secure Element. In fabbrica, la chiave di abbinamento viene quindi trasferita da Secure Enclave a un modulo di sicurezza hardware (HSM) che dispone dei dati necessari per inserirla successivamente 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 eliminata.
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 nonce del server di Apple Pay, per le transazioni all'interno delle app.
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.