Seguridad de Contactos de recuperación de cuenta
Los usuarios pueden agregar un máximo de cinco personas de confianza como contactos de recuperación de cuenta para que les ayuden a recuperar sus datos y su cuenta de iCloud, incluidos los datos encriptados de extremo a extremo (independientemente de si han activado o no la protección de datos avanzada). Ni Apple ni el contacto de recuperación tienen la información necesaria individualmente para recuperar los datos de iCloud encriptados de extremo a extremo del usuario.
La función de contactos de recuperación se diseñó tomando en cuenta la privacidad del usuario. Apple no sabe a quién elige un usuario como contacto de recuperación. Los servidores de Apple sólo obtienen información sobre un contacto de recuperación al final de un intento de recuperación después de que el usuario le pide ayuda al contacto y este comienza a ayudar con la recuperación. Una vez que se completa la recuperación, esa información no se retiene.
Proceso de seguridad de los contactos de recuperación
Cuando un usuario configura un contacto de recuperación de cuenta, la clave necesaria para acceder a los datos de iCloud del usuario, incluidos los datos de CloudKit encriptados de extremo a extremo, se encripta con una clave aleatoria segura. Esta clave aleatoria se divide después entre el contacto de recuperación y Apple. La clave original puede obtenerse durante el proceso de recuperación solamente cuando se vuelven a combinar estas dos claves, permitiendo así el acceso a los datos en iCloud del usuario.
Para configurar un contacto de recuperación, el dispositivo del usuario se comunica con los servidores de Apple para cargar la porción de la clave que Apple conservará. A continuación, establece un contenedor de CloudKit encriptado de extremo a extremo con el contacto de recuperación para compartir la porción que este requiere. Tanto Apple como el contacto de recuperación reciben el mismo secreto de autorización del usuario, el cual se requiere más tarde para la recuperación. La comunicación para invitar y aceptar contactos de recuperación se lleva a cabo a través de un canal IDS autentificado mutuamente. El contacto de recuperación almacena automáticamente la información recibida en su llavero de iCloud. Apple no puede acceder ni a los contenidos del contenedor de CloudKit ni al llavero de iCloud que almacena esta información. Al momento de compartir, los servidores de Apple visualizan solamente un ID anónimo del contacto de recuperación.
Más tarde, cuando un usuario necesite recuperar su cuenta y sus datos en iCloud, puede solicitar ayuda a su contacto de recuperación. En ese momento, el dispositivo del contacto de recuperación genera un código de recuperación, que debe proporcionar al usuario por un medio separado (por ejemplo, en persona o mediante una llamada telefónica). A continuación, el usuario ingresa este código en su dispositivo para establecer una conexión segura entre dispositivos utilizando el protocolo SPAKE2+, cuyos contenidos no son accesibles para Apple. Esta interacción la organizan los servidores de Apple, pero Apple no puede iniciar el proceso de recuperación.
Una vez que se establece la conexión segura y se completan todas las comprobaciones de seguridad necesarias, el dispositivo del contacto de recuperación devuelve su porción de la información de la clave y el secreto de autorización establecido anteriormente al usuario que solicitó la recuperación. El usuario presenta este secreto de autorización a un servidor de Apple, lo que autoriza el acceso a la información de la clave que Apple tiene. Al presentar el secreto de autorización, también se permite el restablecimiento de la contraseña de la cuenta para poder restaurar el acceso a la misma.
Por último, el dispositivo del usuario vuelve a combinar la información de la clave recibida de Apple y del contacto de recuperación de cuenta, y luego la usa para desencriptar y recuperar sus datos de iCloud.
Estas son protecciones que sirven para impedir que un contacto de recuperación inicie el proceso sin el consentimiento del usuario, lo cual incluye una revisión de actividad o inactividad de la cuenta del usuario. Si la cuenta se usa de forma activa, la recuperación mediante un contacto de recuperación también requerirá que se conozca un código reciente del dispositivo o el código de seguridad de iCloud.