Sicurezza delle videocamere per HomeKit
Le videocamere dotate di indirizzo IP (Internet Protocol) in HomeKit inviano stream video e audio direttamente al dispositivo iOS, iPadOS, tvOS e macOS sulla rete locale che ha accesso allo stream. Gli stream sono codificati tramite chiavi generate casualmente sul dispositivo e sulla videocamera IP, scambiate tramite la sessione HomeKit protetta con la videocamera. Quando un dispositivo non si trova sulla rete locale, gli stream codificati sono trasmessi attraverso l’hub domestico verso il dispositivo. L’hub domestico non decrittografa gli stream; funge solo da elemento di trasmissione tra il dispositivo e la videocamera IP. Quando un’app mostra il video della videocamera IP di HomeKit all’utente, HomeKit elabora i fotogrammi in maniera protetta da un processo di sistema separato. In questo modo, l’app non è in grado di accedere allo stream video o di archiviarlo. Inoltre, alle app non è consentito eseguire istantanee schermo dello stream.
Video sicuro di HomeKit
HomeKit fornisce un meccanismo sicuro e privato per registrare, analizzare e visualizzare clip da videocamere IP compatibili con HomeKit senza esporre tali contenuti video a Apple o a terze parti. Quando la fotocamera IP rileva del movimento, i clip video vengono inviati direttamente a un dispositivo Apple che agisce da hub domestico, tramite una connessione di rete locale dedicata tra l’hub domestico e la videocamera IP. La connessione di rete locale è codificata con una coppia di chiavi derivate tramite HKDF‑SHA512 per sessione, negoziata attraverso la sessione HomeKit tra l’hub domestico e la videocamera IP. HomeKit decrittografa gli stream audio e video sull’hub domestico e analizza i fotogrammi video localmente per rilevare eventuali eventi significativi. Se viene rilevato un evento significativo, HomeKit codifica il clip video tramite AES-256-GCM con una chiave AES256 generata in maniera casuale. HomeKit genera anche fotogrammi poster per ciascun clip, che vengono codificati utilizzando la stessa chiave AES256. I fotogrammi poster e i dati audio e video codificati vengono caricati sui server di iCloud. I metadati relativi a ciascun clip, compresa la chiave di codifica, vengono caricati su CloudKit utilizzando la codifica end-to-end di iCloud.
Per la classificazione dei volti, HomeKit archivia tutti i dati usati per classificare il viso di una particolare persona in CloudKit utilizzando la codifica end‑to‑end di iCloud. I dati archiviati includono informazioni su ciascuna persona, come il nome e le immagini che rappresentano il volto. Questi volti possono arrivare dalla libreria di Foto dell’utente, se quest’ultimo ha dato il consenso, oppure possono essere raccolti da video provenienti dalla videocamera IP analizzati in precedenza. Una sessione di analisi video sicura di HomeKit utilizza questi dati di classificazione per identificare i volti nello stream video sicuro che riceve direttamente dalla videocamera IP e include le informazioni di classificazione nei metadati del clip citati precedentemente.
Quando viene utilizzata l’app Casa per visualizzare i clip di una videocamera, i dati vengono scaricati da iCloud e le chiavi per decrittografare gli stream vengono decifrate localmente utilizzando la decrittografia end-to-end di iCloud. I contenuti video codificati vengono trasmessi dai server e decrittografati localmente sul dispositivo iOS prima di essere mostrati nel visualizzatore. Ciascuna sessione di clip video può essere scomposta in sotto sezioni, ciascuna delle quali codifica lo stream di contenuti tramite la propria chiave unica.