Autorisation de paiement avec Apple Pay
Sur les appareils dotés du Secure Enclave, les paiements sont possibles uniquement après avoir reçu son autorisation. Sur l’iPhone ou l’iPad, cela suppose que l’utilisateur s’identifie avec Face ID, Touch ID ou le code de l’appareil. Face ID ou Touch ID, si disponible, constitue la méthode par défaut, mais il est possible d’utiliser le code à tout moment. La vérification par code est automatiquement proposée après trois tentatives infructueuses de reconnaissance d’empreinte digitale ou deux tentatives infructueuses de correspondance faciale et exigée après la cinquième tentative infructueuse. Un code est également exigé si la fonctionnalité Face ID ou Touch ID n’est pas configurée ou n’a pas été activée pour Apple Pay. Pour effectuer un paiement avec une Apple Watch, la montre doit être déverrouillée à l’aide du code, et un double‑clic sur le bouton latéral est nécessaire.
Utilisation d’une clé de jumelage partagée
La communication entre le Secure Enclave et le Secure Element est effectuée par l’entremise d’une interface série, le Secure Element étant connecté au contrôleur CCP, lui‑même connecté au processeur d’application. Même s’ils ne sont pas directement connectés, le Secure Enclave et le Secure Element peuvent communiquer de manière sécurisée à l’aide d’une clé de jumelage partagée fournie durant le processus de fabrication. Le chiffrement et l’authentification de la communication reposent sur l’algorithme AES, et des nonces cryptographiques sont utilisés de part et d’autre pour assurer une protection contre les attaques par rejeu. La clé de jumelage est générée à l’intérieur du Secure Enclave, à partir de sa clé d’identification et de l’identifiant unique du Secure Element. Cette clé de jumelage est ensuite transférée en toute sécurité du Secure Enclave à un module de sécurité matériel (HSM, Hardware Security Module) en usine, qui dispose du matériel nécessaire pour ensuite injecter la clé de jumelage dans le Secure Element.
Autorisation des transactions sécurisées
Lorsque l’utilisateur autorise une transaction, ce qui comprend un geste communiqué directement au Secure Enclave, ce dernier envoie au Secure Element des données signées relatives au type d’authentification ainsi que des détails concernant le type de transaction (sans contact ou au sein d’apps), le tout lié à une valeur d’autorisation aléatoire (AR, Authorization Random). La valeur AR est générée dans le Secure Enclave lorsqu’un utilisateur transfère pour la première fois une carte de crédit et est conservée tant qu’Apple Pay est activé. Elle est protégée par le chiffrement et le mécanisme de protection contre les attaques par retour en arrière du Secure Enclave. Elle est transmise en toute sécurité au Secure Element au moyen de la clé de jumelage. À la réception d’une nouvelle valeur AR, le Secure Element marque toutes les cartes précédemment ajoutées comme supprimées.
Utilisation d’un cryptogramme de paiement à des fins de sécurité dynamique
Les transactions de paiement provenant d’applets de paiement comprennent un cryptogramme de paiement ainsi qu’un numéro de compte de l’appareil. Ce cryptogramme, un code unique, est calculé à l’aide d’un compteur de transactions et d’une clé. Ce compteur est incrémenté pour chaque nouvelle transaction. La clé est fournie dans l’applet de paiement pendant la personnalisation et connue du réseau de paiement ou de l’émetteur de la carte, ou les deux. En fonction du système de paiement, il est possible d’utiliser d’autres données pour les calculs, y compris :
un numéro imprévisible de terminal destiné aux transactions CCP (communication en champ proche);
un nonce généré par le serveur Apple Pay, pour les transactions effectuées dans une app.
Ces codes de sécurité sont fournis au réseau de paiement et à l’émetteur de la carte, permettant à ce dernier de vérifier chaque transaction. La longueur des codes de sécurité peut varier en fonction du type de transaction.