Seguridad de iPad compartido en iPadOS
iPad compartido es un modo multiusuario que se puede usar en implementaciones del iPad. Permite a los usuarios compartir un iPad mientras mantiene los documentos y datos de cada usuario separados. Cada usuario recibe su propia ubicación de almacenamiento reservada y privada, que se implementa como un volumen APFS (Apple File System) protegido por las credenciales del usuario. La función iPad compartido requiere el uso de un Apple ID administrado, el cual es generado por y pertenece a la organización.
Con iPad compartido, un usuario puede iniciar sesión en cualquier dispositivo propiedad de la organización que esté configurado para ser utilizado por varios usuarios. Los datos de los usuarios se dividen en particiones en directorios separados, cada uno en su propio dominio de protección de datos y protegido por permisos UNIX y aislamiento. En iPadOS 13.4 o versiones posteriores, los usuarios también pueden iniciar una sesión temporal. Cuando el usuario cierra una sesión temporal, su volumen APFS se elimina y se devuelve su espacio reservado al sistema.
Iniciar sesión en un iPad compartido
Para iniciar sesión en un iPad compartido es posible usar Apple ID administrados tanto nativos como federados. Al usar una cuenta federada por primera vez, el usuario se redirige al portal de inicio de sesión del proveedor de identidad (IdP). Después de autentificarse, se emite un identificador de acceso de corta duración para los Apple ID administrados de respaldo, y el proceso de inicio de sesión sigue de forma similar al proceso nativo de los Apple ID administrados. Una vez que se haya iniciado sesión, el asistente de configuración del iPad compartido le pide al usuario que establezca un código (credencial) para asegurar los datos locales en el dispositivo, y para autenticarse en la pantalla de inicio de sesión en el futuro. Al igual que en un dispositivo de un solo usuario, en donde el usuario iniciaría sesión una vez en su Apple ID administrado usando su cuenta federada y luego desbloquearía el dispositivo con su código, en un iPad compartido, el usuario inicia sesión una vez usando su cuenta federada y desde ese momento utiliza su código establecido.
Cuando un usuario inicia sesión sin una autenticación federada, el Apple ID administrado se autentica con el servicio de identidad (IDS) de Apple usando el protocolo SRP. Si la autenticación se realiza correctamente, se concede un identificador de corta duración al dispositivo. Si el usuario ha usado el dispositivo anteriormente, entonces ya existe una cuenta de usuario local que se puede desbloquear utilizando las mismas credenciales.
Si el usuario no ha usado el dispositivo antes o está usando una sesión temporal, el iPad compartido proporciona un nuevo ID de usuario UNIX, un volumen APFS para almacenar los datos personales del usuario y un llavero local. Debido a que el almacenamiento está asignado (reservado) para el usuario en el momento en que se crea el volumen APFS, puede que no haya espacio suficiente para crear un volumen nuevo. En tal caso, el sistema identifica a un usuario existente cuyos datos hayan terminado de sincronizarse con la nube y lo retira del dispositivo para permitir que un usuario nuevo inicie sesión. En el improbable caso de que no se hayan terminado de cargar a la nube los datos de ninguno de los usuarios existentes, el inicio de sesión del usuario nuevo fallará. Para iniciar sesión, el usuario nuevo deberá esperar a que se terminen de sincronizar los datos de uno de los usuarios, o deberá solicitarle a un administrador que elimine a la fuerza una cuenta de usuario existente, lo que conlleva un riesgo de pérdida de datos.
Si el dispositivo no está conectado a Internet (por ejemplo, si el usuario no tiene un punto de acceso Wi-Fi), la autenticación se puede llevar a cabo utilizando la cuenta local durante una cantidad limitada de días. En tal caso, sólo podrán iniciar sesión los usuarios que cuenten con una cuenta local o que utilicen una sesión temporal. Una vez que se agotó el tiempo límite, se requerirá que los usuarios se autentiquen en línea, incluso si ya existe una cuenta local.
Después de que la cuenta local del usuario haya sido creada o desbloqueada, y autenticada de forma remota, el identificador de corta duración concedido por los servidores de Apple se convierte en un identificador de iCloud que permite iniciar sesión en iCloud. Después, se restaura la configuración del usuario y se sincronizan sus datos y documentos de iCloud.
Mientras la sesión del usuario esté activa y el dispositivo permanezca en línea, los documentos y datos se almacenan en iCloud a medida que se creen o modifiquen. Además, un mecanismo de sincronización en segundo plano ayuda a garantizar que los cambios se envíen a iCloud o a otros servicios web usando sesiones en segundo plano de NSURLSession después de que se cierre la sesión del usuario. Una vez que se completa la sincronización en segundo plano de ese usuario, se desmonta el volumen APFS de este y no se podrá volver a montar a menos que el usuario vuelva a iniciar sesión.
Las sesiones temporales no sincronizan datos con iCloud, y aunque una sesión temporal pueda iniciar sesión en un servicio de sincronización de terceros, como Box o Google Drive, no existe la posibilidad de continuar sincronizando datos cuando finaliza la sesión temporal.
Cerrar sesión en un iPad compartido
Cuando un usuario cierra sesión en un iPad compartido, el repositorio de claves del usuario se bloquea inmediatamente y se cierran todas las apps. Para acelerar el inicio de sesión de un nuevo usuario, iPadOS aplaza temporalmente algunas acciones de cierre de sesión comunes y presenta una ventana de inicio de sesión al nuevo usuario. Si un usuario inicia sesión durante este tiempo (aproximadamente 30 segundos), el iPad compartido realiza la limpieza aplazada como parte del inicio de sesión en la cuenta del nuevo usuario. Sin embargo, si el iPad compartido permanece inactivo, se activa la limpieza aplazada. Durante la fase de limpieza, la ventana de inicio de sesión se reinicia como si hubiera ocurrido otro cierre de sesión.
Cuando finaliza una sesión temporal, iPad compartido realiza la secuencia completa de cierre de sesión y elimina el volumen APFS de la sesión temporal de forma inmediata.