
Sicurezza della convalida dei dispositivi gestiti
La convalida dei dispositivi gestiti è disponibile in iOS 16, iPadOS 16, macOS 14, tvOS 16, watchOS 9, visionOS 1.1 o versioni successive. Utilizza Secure Enclave per garantire l’identità e la sicurezza di un dispositivo tramite strumenti crittografici. iPhone, iPad e Apple TV richiedono il chip A11 Bionic o modelli successivi e i Mac sono supportati solo se dotati di chip Apple. Su Apple Vision Pro è richiesto visionOS 1.1 o versioni successive. La convalida dei dispositivi gestiti aiuta a proteggere dalle seguenti minacce:
Un dispositivo compromesso che dichiara proprietà fittizie
Un dispositivo compromesso che fornisce una convalida scaduta
Un dispositivo compromesso che invia identificativi di un dispositivo diverso
L’estrazione di una chiave privata per l’uso su un dispositivo non autorizzato
Un utente malintenzionato che tenta di appropriarsi di una richiesta di certificato per ingannare l’autorità di certificazione e farsi rilasciare un certificato
Con la convalida dei dispositivi gestiti, un dispositivo può richiedere una convalida dai server Apple, che restituiscono un array di dati contenente un certificato leaf e intermedio, che ha il proprio root nell’autorità di certificazione Apple Enterprise Attestation Root. A seconda del tipo d dispositivo, il certificato leaf può contenere proprietà specifiche, come illustrato nella seguente tabella.
OID e valore | Versioni minime dei sistemi operativi supportate | Descrizione | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9. Numero di serie | iOS 16 iPadOS 16 macOS 14 tvOS 16 watchOS 9 visionOS 1.1 | Rappresenta il numero di serie del dispositivo e può essere usato per identificare un dispositivo. Per aiutare a proteggere la privacy dell’utente, questo valore non viene incluso quando si usa la convalida dei dispositivi gestiti con la registrazione utente. | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 watchOS 9 visionOS 1.1 | Rappresenta l’identificativo hardware univoco del dispositivo e può essere usato per identificare un dispositivo. Sul Mac, corrisponde all’UDID usato per il provisioning del dispositivo. Per aiutare a proteggere la privacy dell’utente, questo valore non viene incluso quando si usa la convalida dei dispositivi gestiti con la registrazione utente. | |||||||||
1.2.840.113635.100.8.10.2 Versione sepOS | iOS 16 iPadOS 16 macOS 14 tvOS 16 watchOS 9 visionOS 1.1 | Rappresenta la versione del firmware di Secure Enclave. | |||||||||
1.2.840.113635.100.8.11.1 Codice di attualità | iOS 16 iPadOS 16 macOS 14 tvOS 16 watchOS 9 visionOS 1.1 | Un codice univoco e non prevedibile che identifica una particolare convalida. Indica che la convalida è stata generata dopo la creazione del codice. Il codice è crittografato tramite l’algoritmo SHA256. | |||||||||
1.2.840.113635.100.8.13.1 Stato della protezione dell’integrità del sistema | macOS 14 | Rappresenta lo stato della protezione dell’integrità del sistema su un Mac con chip Apple. | |||||||||
1.2.840.113635.100.8.13.2 Stato dell’avvio protetto | macOS 14 | Rappresenta la configurazione per l’avvio protetto selezionata su un Mac con chip Apple. | |||||||||
1.2.840.113635.100.8.13.3 Estensioni del kernel di terze parti consentite | macOS 14 | Indica se le estensioni del kernel di terze parti sono consentite o meno su un Mac con chip Apple. | |||||||||
1.2.840.113635.100.8.10.3 Versione del bootloader di livello inferiore | iOS 16 iPadOS 16 macOS 14 tvOS 16 watchOS 9 visionOS 1.1 | Rappresenta la versione del bootloader di livello inferiore. | |||||||||
1.2.840.113635.100.8.10.1 Versione del sistema operativo | iOS 16 iPadOS 16 macOS 14 tvOS 16 watchOS 9 visionOS 1.1 | Rappresenta la versione del sistema operativo e di iBoot. | |||||||||
1.2.840.113635.100.8.9.4 ID dispositivo per l’aggiornamento software | iOS 16 iPadOS 16 macOS 14 tvOS 16 watchOS 9 visionOS 1.1 | Attesta il valore |
Una richiesta di convalida su un dispositivo può essere avviata tramite un comando inviato dal server MDM o come parte di una procedura di emissione di un certificato tramite ACME. In entrambi i casi, il dispositivo riceve un codice di attualità dal server MDM o ACME (che fa parte della richiesta al server di convalida). L’hash SHA256 del codice di attualità viene incluso come proprietà nel certificato leaf e consente al server MDM o ACME di verificare che la convalida corrisponda alla richiesta.
Una volta ricevuta la convalida, un servizio backend deve eseguire accurati controlli di verifica. Tali controlli comprendono assicurarsi che il certificato leaf sia stato emesso dall’autorità di certificazione Apple Enterprise Attestation Root, confrontare l’hash del codice di attualità con il valore previsto ed esaminare altre proprietà nella convalida.
A seconda dei modelli di distribuzione di un’organizzazione, la convalida dei dispositivi gestiti può essere un meccanismo fondamentale di una distribuzione moderna e sicura e può essere usata in vari modi:
Utilizzare un certificato rilasciato da ACME per autenticare la connessione dal client all’MDM e usare l’attestazione
DeviceInformation
per verificare le proprietà di un dispositivo in modo continuativo.Verificare l’identità e la sicurezza di un dispositivo e far eseguire una valutazione dell’attendibilità al server ACME prima di emettere un certificato. In questo modo, si ha la garanzia che solo i dispositivi che soddisfano gli standard richiesti ottengano un certificato.
Incorporare le proprietà del dispositivo usate per la convalida in un certificato ACME ed eseguire la valutazione dell’attendibilità sulle parti affidate.
Creazioni di chiavi legate all’hardware
Durante l’emissione di un certificato con il protocollo ACME, a un dispositivo può essere chiesto di fornire una convalida, che a sua volta fa sì che la coppia di chiavi associata venga creata in Secure Enclave per poter usufruire delle sue forti protezioni hardware. Di conseguenza, la chiave privata viene cifrata con una chiave di classe, che aiuta a impedirne l’esportazione.
Per creare una chiave legata all’hardware, la configurazione ACME deve utilizzare l’algoritmo ECSECPrimeRandom con una chiave di 256 o 384 bit. Questo specifica una coppia di chiavi sulle curve P-256 o P-384, come definito in NIST SP 800-186.
Le chiavi legate all’hardware non vengono conservate in seguito a un backup o a un ripristino, nemmeno se il ripristino avviene sullo stesso dispositivo. Qualsiasi configurazione contenente un payload ACME con una chiave legata all’hardware viene rimossa durante il ripristino. Se una chiave legata all’hardware è utilizzata come identità del client MDM, la registrazione del dispositivo viene annullata. In questo scenario, se il dispositivo era stato registrato tramite la registrazione automatizzata, esso scarica di nuovo il profilo di registrazione e ripete la registrazione.