
Repositorio de claves de custodia
El repositorio de claves de custodia se utiliza para la sincronización con iTunes y para la gestión de dispositivos móviles (MDM). Este repositorio de claves permite que iTunes realice una copia de seguridad y la sincronización sin necesidad de que el usuario introduzca un código, y permite que una solución MDM borre de forma remota el código de un usuario. Se almacena en el ordenador utilizado para la sincronización con iTunes o en la solución MDM que gestiona de forma remota el dispositivo.
El repositorio de claves de custodia mejora la experiencia del usuario durante la sincronización del dispositivo, que podría requerir el acceso a todas las clases de datos. La primera vez que un dispositivo bloqueado con contraseña se conecta a iTunes, el usuario tiene que introducir un código. Entonces, el dispositivo crea un repositorio de claves de custodia que contiene las mismas claves de clase que se utilizan en el dispositivo, y se protege con una clave recién creada. El repositorio de claves de custodia y la clave que lo protege se reparten entre el dispositivo y el host o servidor; los datos almacenados en el dispositivo residen en la clase “Protegido hasta la primera autenticación del usuario”. Por eso, es necesario introducir el código del dispositivo antes de que el usuario realice la primera copia de seguridad con iTunes después de un reinicio.
En caso de una actualización de software remota (OTA), el usuario tiene que introducir su código al inicio del proceso. Este se utiliza para crear de forma segura un identificador de desbloqueo de un solo uso, que desbloquea el repositorio de claves del usuario después de la actualización. Este identificador no se puede generar si no se introduce el código de usuario; todos los identificadores generados anteriormente quedan invalidados si se cambia el código de usuario.
Los identificadores de desbloqueo de un solo uso sirven para instalar con o sin supervisión una actualización de software. Se encriptan con una clave derivada del valor actual de un contador monótono de Secure Enclave, el UUID del repositorio de claves y el UID de Secure Enclave.
En el caso de los dispositivos con SoC anteriores al A9, el incremento del contador de identificadores de desbloqueo de un solo uso de Secure Enclave invalida todos los identificadores existentes. El contador se incrementa cuando se utiliza un identificador, después de desbloquear por primera vez un dispositivo reiniciado, cuando se cancela una actualización de software (por parte del usuario o del sistema) o cuando el temporizador de políticas de un identificador ha caducado.
En el SoC A9 y posteriores, el identificador de desbloqueo de un solo uso ya no depende de los contadores o del almacenamiento borrable. En su lugar, está protegido por Secure Enclave y controlado por un nonce antirreproducción.
El identificador de desbloqueo de un solo uso para actualizaciones de software con supervisión caduca a los 20 minutos. Antes de iOS 13, este identificador se exportaba desde Secure Enclave y se escribía en el almacenamiento borrable. Un temporizador de políticas incrementa el contador si el dispositivo no se ha reiniciado en 20 minutos. En iOS 13 y iPadOS 13.1, el identificador se guarda en un depósito protegido por Secure Enclave.
Las actualizaciones de software automáticas se realizan cuando el sistema detecta que hay disponible una actualización y:
Las actualizaciones automáticas están configuradas en iOS 12 (o versiones posteriores).
o bien
El usuario selecciona “Instalar más tarde” cuando recibe la notificación de la actualización.
Después de que el usuario introduzca su código, se genera un identificador de desbloqueo puntual que puede ser válido en Secure Enclave hasta 8 horas. Si la actualización aún no se ha producido, este identificador de desbloqueo puntual se destruye cada vez que se bloquea el dispositivo y se vuelve a crear con cada desbloqueo posterior. Cada desbloqueo reinicia el límite de 8 horas. Transcurridas 8 horas, un temporizador de política invalida el identificador de desbloqueo puntual.