La copia manuale del portachiavi di accesso tra due Mac non offre più lo stesso risultato su macOS Tahoe quando il computer di origine utilizza il Secure Enclave.
Una verifica pubblicata da Der Flounder negli scorsi giorni mostra che il file login.keychain-db può essere trasferito, ma non necessariamente sbloccato sul sistema destinatario. Il test è stato eseguito partendo da un Mac Apple Silicon e utilizzando una macchina virtuale macOS come destinazione. Anche con la password corretta, il portachiavi trasferito non è stato aperto.
Il comportamento trova una spiegazione nella documentazione Apple sulla protezione dei dati del keychain, che descrive un’architettura crittografica con componenti legati all’hardware.
Perché il Secure Enclave impedisce la copia
Apple documenta che il keychain di macOS utilizza un database SQLite e protegge i dati mediante due chiavi AES-256-GCM con funzioni differenti. Una chiave protegge i metadati, mentre una seconda protegge il valore segreto associato a ciascun elemento. La prima è protetta dal Secure Enclave e mantenuta in cache sul processore principale per consentire le interrogazioni; la seconda richiede invece un passaggio attraverso il Secure Enclave ogni volta che deve essere utilizzata. La distinzione è essenziale per comprendere perché il semplice trasferimento del database non garantisca l’accesso ai contenuti.
La prova descritta da Der Flounder fornisce una verifica concreta del meccanismo. Il login.keychain-db creato su un Mac Apple Silicon è stato copiato nella directory Keychains di una macchina virtuale, configurata con un account avente la stessa password. La VM è stata scelta perché non dispone di un Secure Enclave equivalente a quello della macchina sorgente. Al successivo accesso, macOS ha tentato di sbloccare il database, ma l’operazione è fallita nonostante la password fosse stata fornita correttamente.
Cosa cambia nelle migrazioni tra Mac
I log di securityd mostrano il tentativo di apertura del portachiavi e il successivo errore dell’operazione di login. Il sistema ha quindi rinominato il database copiato e creato un nuovo portachiavi di accesso. Il risultato distingue chiaramente il problema da un semplice errore di autenticazione: la password corretta non basta quando le chiavi necessarie per decifrare i segreti dipendono dalla piattaforma originale.
Per una migrazione, quindi, la copia diretta del file non dovrebbe essere considerata una procedura generale. Apple prevede percorsi differenti a seconda del tipo di trasferimento: Setup Assistant può occuparsi della migrazione completa, mentre Keychain Access consente di esportare e importare gli elementi compatibili. Le credenziali sincronizzate attraverso iCloud Keychain seguono inoltre un meccanismo distinto. La differenza è importante soprattutto nelle procedure amministrative, dove una copia apparentemente riuscita del database potrebbe lasciare inutilizzabili le informazioni protette al suo interno.
Il caso documentato non dimostra che ogni elemento del keychain sia sempre irrecuperabile dopo un trasferimento. Dimostra invece un limite preciso della sostituzione manuale del portachiavi di accesso su una destinazione priva delle condizioni hardware richieste. Per le migrazioni di macOS Tahoe, la scelta della procedura deve quindi dipendere dal tipo di dati da trasferire e dal meccanismo con cui tali dati sono protetti.