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, la clé qui permet d’accéder aux données d’iCloud (y compris aux données CloudKit chiffrées de bout en bout) est chiffrée au moyen d’une clé aléatoire robuste. Cette dernière est ensuite scindée et répartie entre le contact de récupération et Apple. Les deux parties de la clé doivent être recombinées pour permettre à l’utilisateur de récupérer la clé d’origine et de procéder à la récupération de ses données iCloud.
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. 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. Apple et le contact de récupération reçoivent de l’utilisateur le même secret d’autorisation, qui sera exigé pour procéder à la récupération. 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.