Remarque : Les développeurs doivent obtenir un droit pour utiliser la plateforme CCP et SE. Cela permet de garantir que seuls les développeurs qui maintiennent leur engagement de respecter les normes de confidentialité et sécurité peuvent utiliser la plateforme CCP et SE.
La plateforme CCP et SE fournit l’accès à des fonctionnalités matérielles et logicielles qui permettent aux développeurs de fournir des transactions sécurisées aux utilisateurs de l’iPhone.
Secure Element
Le Secure Element est un circuit intégré conforme aux normes de l’industrie, exécutant la plateforme Java Card. Certifié à la fois en conformité avec les normes EMVCo et Common Criteria, il prend en charge les applets Java Card, y compris ceux approuvés pour la plateforme CCP et SE. Il contient également un applet spécial pour la gestion de l’autorisation et de l’activation des applets de la plateforme CCP et SE. Les données d’informations d’identification peuvent être chiffrées et envoyées à ces applets au moyen de clés uniques. Ces données sont stockées dans les applets et sécurisées à l’aide des fonctionnalités de sécurité du Secure Element. Lors des transactions, le terminal communique directement avec le Secure Element au moyen du contrôleur de communication en champ proche (CCP).
Contrôleur CCP
Le contrôleur CCP gère les protocoles de CCP et achemine la communication entre le processeur d’application et le Secure Element, et entre le Secure Element et le terminal de point de vente. Le contrôleur CCP veille à ce que toutes les transactions sans contact soient réalisées par un terminal situé à proximité immédiate de l’appareil. Seules les demandes émanant d’un terminal dans le champ sont considérées comme des transactions sans contact par le contrôleur CCP.
Une fois la transaction autorisée par le détenteur de la carte à l’aide de Face ID, de Touch ID ou d’un code du téléphone, les réponses sans contact préparées par l’applet de la plateforme CCP et SE dans le Secure Element sont acheminées exclusivement vers le champ CCP par le contrôleur. Les renseignements sur les transactions sans contact sont donc transmis uniquement au champ CCP local et ne sont jamais divulgués au processeur d’application.
Secure Enclave
Secure Enclave gère les processus d’authentification et d’intention sécurisée de l’utilisateur, permettant de procéder à une transaction qui a été autorisée. La communication entre le Secure Enclave et le Secure Element se fait par l’entremise d’une interface série. Le Secure Enclave est connecté au contrôleur CCP, qui à son tour est connecté au processeur d’application. Bien qu’ils ne soient pas directement connectés, le Secure Enclave et le Secure Element peuvent communiquer de manière sécurisée au moyen d’un secret partagé généré au moment de l’exécution, qui peut être utilisé pour assurer la confidentialité et l’intégrité sur le lien de communication, en fonction des besoins.
Serveurs d’Apple
Les serveurs Apple hébergent les paquets d’applets approuvés des partenaires de la plateforme CCP et SE. Ils gèrent également la configuration et la création de domaines de sécurité et d’applets dans le Secure Element, y compris ceux utilisés par la plateforme CCP et SE.
Les développeurs doivent obtenir un groupe d’applets et une configuration de produit approuvés qui prennent en charge leurs informations d’identification pour utiliser la plateforme CCP et SE. Avant d’être livrés à Apple pour une installation sécurisée sur le Secure Element, tous les applets doivent faire l’objet d’un examen de sécurité par un laboratoire d’évaluation de sécurité tiers accrédité. Après avoir été livrés à Apple, le paquet d’applets et la configuration du produit associé sont examinés et doivent être approuvés avant de pouvoir être utilisés avec la plateforme CCP et SE. Après l’approbation, le paquet d’applets est signé et hébergé sur les serveurs d’Apple.
Les développeurs sont également responsables d’obtenir toute autre certification ou qualification nécessaire pour leurs applets en fonction de leur cas d’utilisation et de leurs plans d’exploitation, telles que celles requises par la loi, la réglementation ou les exploitants de réseaux de paiement.
Le développeur de la plateforme CCP et SE est responsable de protéger la sécurité du processus d’attribution de nouvelles informations d’identification à un utilisateur. Il pourrait s’agir d’étapes telles que l’authentification de l’utilisateur dans son app iOS, la protection et la validation des données sensibles saisies par l’utilisateur, la communication avec les serveurs, l’approbation de l’ajout d’un titre, la provision d’informations d’identification et le traitement des données de personnalisation. Le développeur est également responsable de s’assurer que sa solution est conforme à la réglementation applicable et aux normes industrielles relatives à la sécurité du transfert et de l’utilisation des informations d’identification.
Lorsque l’app iOS demande la création de nouvelles données d’identification, la plateforme CCP et SE envoie la demande aux serveurs Apple. Si l’applet associé à la configuration du produit demandé n’a pas encore été téléchargé dans le Secure Element, un serveur d’Apple exécute le téléchargement du paquet signé dans le Secure Element. Ensuite, une nouvelle instance d’applet est installée dans un domaine de sécurité isolé du Secure Element qui sera utilisé pour le stockage de nouvelles informations d’identification. Après l’installation, le gestionnaire de services de confiance choisi par le développeur peut personnaliser de façon confidentielle l’instance de l’applet avec toutes les données d’identification nécessaires, telles que les clés et les numéros de compte.
Les fonctionnalités de sécurité matérielle et logicielle du Secure Element permettent de protéger les données d’identification de la plateforme CCP et SE, tant au repos que pendant l’utilisation. Les développeurs s’assurent que leurs applets Secure Element sont mis en œuvre de manière sécurisée, respectent les lignes directrices en matière de sécurité et utilisent pleinement les fonctions de sécurité disponibles sur la plateforme dans le but de protéger adéquatement les données d’identification.
La plateforme CCP et SE limite l’accès aux configurations de produits et aux instances d’applets aux apps iOS qui leur sont associées. En conséquence, aucune app ne peut interagir avec eux pour les utiliser ou les modifier. Seules les apps iOS associées sont autorisées à :
Demander la création d’une instance d’applet
Personnaliser, mettre à jour et envoyer des commandes aux instances d’applets
Exécuter des transactions
Demander la suppression d’une instance d’applet
Puisque les apps doivent obtenir l’autorisation de l’utilisateur pour toutes les transactions, la plateforme CCP et SE fournit une méthode qui permet aux développeurs d’apps de veiller à ce que cette autorisation soit accordée. Les utilisateurs autorisent les transactions à l’aide de la biométrie ou d’un code, en combinaison à un geste communiqué au Secure Enclave. Après l’approbation, le Secure Enclave envoie des données d’authentification au Secure Element. Le Secure Element vérifie ensuite ceci et avise l’applet d’activer l’interface CCP. Le développeur de la plateforme CCP et SE doit mettre en œuvre son app iOS et son applet Secure Element conformément aux spécifications fournies par Apple pour utiliser le mécanisme d’autorisation des transactions et effectuer des transactions en toute sécurité.
Afin d’exécuter une transaction, l’app iOS doit être au premier plan et l’iPhone doit être déverrouillé. Lorsqu’une app iOS est définie comme l’app sans contact par défaut dans Réglages, l’app est lancée automatiquement quand l’utilisateur appuie deux fois sur le bouton latéral (pour les appareils Face ID) ou le bouton principal (pour Touch ID) et après l’authentification de l’utilisateur (si l’iPhone est verrouillé).
De plus, l’app iOS de la plateforme CCP et SE du développeur est responsable d’informer l’utilisateur avec clarté concernant les données d’identification à utiliser pour chaque transaction et d’afficher tous les détails de transaction utiles.
À l’aide des API de la plateforme CCP et SE, les développeurs peuvent mettre à jour ou supprimer leurs informations d’identité, de même qu’envoyer les commandes adaptées à leur applet à partir de leur app iOS. Les développeurs peuvent également ajouter des fonctionnalités pour suspendre ou dissocier leurs informations d’identification, mais cette option est indépendante de la plateforme CCP et SE.
Toutes les informations d’identification du Secure Element sont effacées de façon sécurisée lorsque l’utilisateur :
se déconnecte d’iCloud;
supprime son code d’appareil;
efface son appareil en utilisant Effacer contenu et réglages ou à distance avec Localiser;
demande la suppression de son compte Apple à partir de la page Données et confidentialité d’Apple.
Les utilisateurs peuvent également retirer certaines informations d’identification de leur iPhone en supprimant l’app iOS associée.