Sicurezza di “iPad condiviso” in iPadOS
“iPad condiviso” è una modalità multiutente per l’uso di iPad in contesti distribuiti. Consente agli utenti di condividere un iPad mantenendo separati i documenti e i dati di ognuno. Ciascun utente ottiene una posizione di archiviazione privata e riservata, implementata sotto forma di volume APFS protetto dalle proprie credenziali. Un iPad condiviso richiede l’utilizzo di un ID Apple gestito, emesso dall’organizzazione e di sua proprietà.
Con un iPad condiviso, gli utenti sono in grado di accedere a qualsiasi dispositivo posseduto dall’organizzazione configurato per l’utilizzo da parte di più utenti. I dati degli utenti vengono suddivisi in directory separate, ognuna delle quali si trova nel proprio dominio di protezione dati ed è protetta da permessi UNIX e sandbox. In iPadOS 13.4 o versioni successive, gli utenti possono accedere anche con una sessione temporanea. Quando l’utente esce da una sessione temporanea, il relativo volume APFS viene eliminato e lo spazio a esso riservato viene restituito al sistema.
Accesso a un iPad condiviso
Per l’accesso a un iPad condiviso sono supportati gli ID Apple gestiti, sia nativi che federati. Quando un account federato è usato per la prima volta, l’utente è reindirizzato al portale di accesso del provider di identità. Una volta eseguita l’autenticazione, viene rilasciato un token di accesso di breve durata per gli ID Apple gestiti di supporto e il login continua in modo simile per la procedura di accesso degli ID Apple gestiti nativi. Quando è stato eseguito l’accesso, Impostazione Assistita sull’iPad condiviso richiede all’utente di stabilire un codice (credenziale) usato per proteggere i dati locali sul dispositivo e per eseguire l’autenticazione nella schermata di login in futuro. Come su un dispositivo di un solo utente, in cui l’utente accederebbe una volta al proprio ID Apple gestito usando l’account federato e sbloccherebbe quindi il dispositivo con il codice, sull’iPad condiviso l’utente accede una volta con l’account federato e, da lì in poi, usa il codice stabilito.
Quando un utente effettua l’accesso senza autenticazione federata, l’ID Apple gestito viene autenticato tramite il servizio Apple Identity Service (IDS) utilizzando il protocollo SRP. Se l’autenticazione avviene correttamente, al dispositivo viene assegnato un token specifico di breve durata per l’accesso. Se l’utente ha già utilizzato il dispositivo, dispone già di un account utente locale, che viene sbloccato tramite le stesse credenziali.
Se l’utente non ha ancora utilizzato il dispositivo o se sta utilizzando la funzionalità di sessione temporanea, l’iPad condiviso fornisce un nuovo ID utente UNIX, un volume APFS per l’archiviazione dei dati personali dell’utente e un portachiavi locale. Dal momento che lo spazio di archiviazione viene allocato (riservato) per l’utente nel momento in cui viene creato il volume APFS, potrebbe non esserci spazio a sufficienza per creare un nuovo volume. In tale caso, il sistema identifica un utente esistente per il quale è terminata la sincronizzazione dei dati sul cloud e lo espelle dal dispositivo per consentire l’accesso al nuovo utente. Nel raro caso in cui nessuno degli utenti esistenti abbia completato il caricamento dei dati sul cloud, l’accesso del nuovo utente non andrà a buon fine. Per accedere, il nuovo utente avrà bisogno di attendere il termine della sincronizzazione dei dati di un’altra persona oppure chiedere a un amministratore di forzare l’eliminazione di un account utente esistente, con il rischio di perdere alcuni dati.
Se il dispositivo non è connesso a internet (ad esempio, se l’utente non dispone di un punto di accesso per il Wi-Fi), l’autenticazione può essere effettuata con l’account locale per un numero limitato di giorni. In una situazione di questo tipo possono accedere solo gli utenti che dispongono di account locali preesistenti o di una sessione temporanea. Una volta scaduto il tempo limite, agli utenti viene richiesto di eseguire l’autenticazione in linea, anche se esiste già un account locale.
Una volta creato o sbloccato l’account locale dell’utente, se l’autenticazione è avvenuta da remoto, il token temporaneo emesso dai server di Apple viene trasformato in un token di iCloud che consente l’accesso a iCloud. Successivamente, vengono ripristinate le impostazioni dell’utente e i suoi dati e documenti vengono sincronizzati da iCloud.
Mentre è attiva la sessione dell’utente e il dispositivo è in linea, i documenti e i dati vengono archiviati su iCloud nel momento stesso in cui vengono creati o modificati. Inoltre, un meccanismo di sincronizzazione attivo in background aiuta a garantire che, quando l’utente ha effettuato il logout, le modifiche vengano inviate ad iCloud o altri servizi web usando sessioni di background NSURLSession. Una volta completata la sincronizzazione in background per l’utente, il relativo volume APFS viene disattivato e non potrà essere riattivato se l’utente non effettua nuovamente l’accesso.
Con le sessioni temporanee non avviene la sincronizzazione con iCloud e sebbene una sessione temporanea possa accedere a un servizio di sincronizzazione di terze parti come Box o Google Drive, non è possibile continuare la sincronizzazione dei dati una volta conclusa la sessione temporanea.
Uscita da un iPad condiviso
Quando un utente esce da un iPad condiviso, la sua keybag utente viene immediatamente bloccata e tutte le app vengono chiuse. Per accelerare l’accesso di un nuovo utente, iPadOS rimanda temporaneamente alcune azioni ordinarie di logout e presenta all’utente una nuova finestra di login. Se un utente accede durante questo intervallo di tempo (circa 30 secondi), l’iPad condiviso esegue le operazioni rinviate come parte della procedura di accesso al nuovo account utente. Tuttavia, se l’iPad condiviso rimane inattivo, le azioni di chiusura rinviate vengono eseguite. Durante la fase di chiusura, la finestra di login viene riavviata come se si fosse verificato un altro logout.
Quando una sessione temporanea viene terminata, l’iPad condiviso esegue la sequenza di logout completa ed elimina immediatamente il relativo volume APFS.