
Sécurité des contacts de récupération du compte
L’utilisateur peut ajouter jusqu’à cinq personnes de confiance comme contacts de récupération du compte afin de récupérer son compte et ses données iCloud, y compris toutes les données chiffrées de bout en bout, qu’il ait ou non activé la protection avancée des données. Ni Apple ni les contacts de récupération ne disposent eux-mêmes des informations nécessaires pour récupérer les données iCloud chiffrées de bout en bout de l’utilisateur.
La fonctionnalité Contact de récupération est conçue dans le respect de la vie privée de l’utilisateur. Les contacts de récupération choisis par l’utilisateur ne sont pas connus d’Apple. Ce n’est que vers la fin de la tentative de récupération, après que l’utilisateur a demandé de l’aide et que son contact de récupération commence à participer à l’opération, que les serveurs d’Apple reçoivent des informations sur le contact de récupération. Ces informations ne sont pas conservées au terme de la récupération.
Processus de sécurité des contacts de récupération
Lorsqu’un utilisateur configure un contact de récupération de compte, une clé associée à ce contact est générée. Cette clé protège l’accès aux données iCloud de l’utilisateur, y compris les données CloudKit chiffrées de bout en bout. Ensuite, une clé AES 256 bits aléatoire est générée et utilisée pour chiffrer la clé du contact de récupération et créer un paquet du contact de récupération. Le paquet chiffré est envoyé au contact de récupération pour être conservé, et la clé AES aléatoire est stockée avec Apple. Ni la clé AES ni le paquet ne fournissent d’informations sur la clé sous-jacente. Au moment de la récupération, une fois que l’appareil de l’utilisateur a réussi à obtenir le paquet du contact de récupération à partir de son contact de récupération ainsi que la clé AES d’Apple, il peut combiner les deux pour récupérer la clé d’origine et accéder aux données iCloud de l’utilisateur.
Pour configurer un contact de récupération de compte, l’appareil de l’utilisateur communique avec les serveurs d’Apple pour téléverser la part des informations de la clé qui sera détenue par Apple (la clé AES mentionnée ci-dessus). Un conteneur CloudKit chiffré de bout en bout est alors créé et associé au contact de récupération pour partager avec lui la partie de la clé dont il a besoin (le paquet du contact de récupération chiffré à l’aide de la clé AES). Un secret d’autorisation, créé par Apple, est également partagé avec le contact de récupération. Il sera utilisé pour récupérer le compte et aider à réinitialiser le mot de passe du compte. La communication pour inviter et accepter les contacts de récupération a lieu par le biais d’un canal d’identifiants mutuellement authentifiés. Les informations reçues sont automatiquement stockées dans le trousseau iCloud du contact de récupération. Apple n’est pas en mesure d’accéder au contenu du conteneur CloudKit ni au trousseau iCloud qui stocke l’information. Lorsque le partage a lieu, les serveurs Apple ont uniquement accès à un identifiant anonyme du contact de récupération.
Plus tard, lorsqu’un utilisateur a besoin de récupérer son compte et ses données iCloud, il peut demander de l’aide à son contact de récupération. À ce moment-là, un code de récupération est généré par l’appareil du contact de récupération, que ce dernier fournit ensuite hors bande à l’utilisateur (par exemple en personne ou par téléphone). L’utilisateur saisit ensuite le code de récupération sur son appareil pour établir une connexion sécurisée entre les appareils à l’aide du protocole SPAKE2+, dont le contenu n’est pas accessible à Apple. Cette interaction est orchestrée par les serveurs d’Apple, mais Apple ne peut pas lancer le processus de récupération.
Une fois la connexion sécurisée établie et tous les contrôles de sécurité requis effectués, l’appareil du contact de récupération renvoie sa part de l’information de la clé et le secret d’autorisation préalablement établi à l’utilisateur qui demande la récupération. L’utilisateur présente ce secret d’autorisation aux serveurs d’Apple, qui l’autorisent à accéder aux informations de la clé conservées par Apple. La présentation du secret d’autorisation autorise également la réinitialisation du mot de passe du compte pour rétablir l’accès au compte.
Enfin, l’appareil de l’utilisateur recombine les informations de la clé reçues d’Apple et du contact de récupération du compte, puis les utilise pour déchiffrer et récupérer les données iCloud.
Des mesures de sécurité sont en place pour empêcher tout contact de récupération d’entreprendre une récupération sans le consentement de l’utilisateur. Ces mesures comprennent une vérification de vivacité sur le compte de l’utilisateur. Si le compte est activement utilisé, la récupération par l’entremise d’un contact de récupération requiert également la connaissance d’un code d’appareil récent ou du code de sécurité iCloud.