Sicurezza dei dati di HomeKit
I dati di HomeKit possono essere aggiornati in modo sicuro tra i dispositivi iOS, iPadOS e macOS di un utente utilizzando iCloud e il portachiavi iCloud. Durante tale processo, i dati di HomeKit vengono codificati tramite chiavi derivate dall'identità HomeKit dell'utente e un nonce casuale e vengono trattati come blob (oggetto binario di grandi dimensioni) che non rivela informazioni al suo esterno. Il blob più recente è archiviato su iCloud, ma non è utilizzato per nessun altro scopo. È un oggetto codificato utilizzando chiavi disponibili solo sui dispositivi iOS, iPadOS e macOS dell'utente e quindi il suo contenuto è inaccessibile durante la trasmissione e l'archiviazione su iCloud.
I dati di HomeKit sono sincronizzati anche tra più utenti di una stessa abitazione. Questo processo utilizza autenticazione e codifica, proprio come quelle usate tra un dispositivo iOS, iPadOS e macOS e un accessorio HomeKit. L'autenticazione è basata su chiavi pubbliche Ed25519 che vengono scambiate tra i dispositivi quando un utente viene aggiunto a un'abitazione. Dopo che un nuovo utente è stato aggiunto a un'abitazione, ogni comunicazione successiva è autenticata e codificata utilizzando il protocollo Station‑to‑Station e le chiavi specifiche per sessione.
I nuovi utenti possono essere aggiunti dall'utente che ha inizialmente creato l'abitazione in HomeKit o da un altro utente con permessi di modifica. Il dispositivo del proprietario configura gli accessori con la chiave pubblica del nuovo utente affinché l'accessorio possa autenticarsi e accettare comandi dall'utente nuovo. Quando un utente che dispone di permessi di modifica aggiunge un nuovo utente, il processo viene delegato a un hub domestico per completare l'operazione.
HomeKit e Apple TV
Il processo destinato ad abilitare l'uso di Apple TV con HomeKit viene realizzato automaticamente quando l'utente effettua l'accesso a iCloud. L'account iCloud richiede che sia abilitata l'autenticazione a due fattori. Apple TV e il dispositivo del proprietario si scambiano momentaneamente le chiavi pubbliche Ed25519 tramite iCloud. Quando il dispositivo del proprietario e Apple TV si trovano sulla stessa rete locale, le chiavi temporanee vengono utilizzate per proteggere una connessione sulla rete locale tramite il protocollo Station‑to‑Station e le chiavi per sessione. Questo processo utilizza autenticazione e codifica, proprio come quelle usate tra un dispositivo iOS, iPadOS e macOS e un accessorio HomeKit. Tramite questa connessione locale protetta, il dispositivo del proprietario trasferisce le coppie di chiavi pubbliche‑private Ed25519 dell'utente ad Apple TV. Queste chiavi vengono quindi utilizzate per proteggere la comunicazione tra Apple TV e gli accessori HomeKit così come tra Apple TV e altri dispositivi iOS, iPadOS e macOS che fanno parte dell'abitazione di HomeKit.
Se un utente non dispone di vari dispositivi e non concede l'accesso alla propria abitazione ad altri utenti, non verrà trasmesso ad iCloud nessun dato di HomeKit.
Dati abitazione e app
L'accesso ai dati dell'abitazione da parte delle app è controllato dalle impostazioni sulla privacy dell'utente. Agli utenti viene chiesto di concedere l'accesso quando le app richiedono dati dell'abitazione, come avviene per Contatti, Foto e altre sorgenti di dati iOS, iPadOS e macOS. Se l'utente dà la propria autorizzazione, le app avranno accesso ai nomi delle stanze, ai nomi degli accessori, a informazioni sull'ubicazione degli accessori nelle stanze e ad altri dati, come spiegato in dettaglio nella documentazione su HomeKit per gli sviluppatori, disponibile su https://developer.apple.com/homekit/.
Archiviazione locale dei dati
HomeKit archivia sul dispositivo iOS, iPadOS e macOS dell'utente i dati relativi ad abitazione, accessori, scene e utenti. Questi dati archiviati sono codificati utilizzando le chiavi derivate dalle chiavi di identità HomeKit dell'utente, oltre a un nonce casuale. Inoltre, i dati di HomeKit sono archiviati utilizzando la classe di protezione dati “Protetto fino alla prima autenticazione utente”. Il backup dei dati di HomeKit viene eseguito solo in forma codificata, quindi, ad esempio, i backup non codificati sul Finder (in macOS 10.15 o versioni successive) o su iTunes (in macOS 10.14 o versioni precedenti) tramite USB non contengono dati di HomeKit.