Seguridad de las cámaras de HomeKit
Las cámaras que tienen una dirección de protocolo de Internet (IP) en HomeKit envían transmisiones de video y audio directamente al dispositivo iOS, iPadOS, tvOS o macOS que está en la red local que accede a la transmisión. Las transmisiones están encriptadas utilizando claves generadas aleatoriamente en el dispositivo y una cámara IP, y se intercambian a través de la sesión segura de HomeKit. Cuando un dispositivo no se encuentra en la red local, las transmisiones encriptadas se retransmiten mediante una central de casa al dispositivo. La central de casa no desencripta las transmisiones, sino que únicamente funciona como retransmisor entre el dispositivo y la cámara IP. Cuando la app muestra al usuario la visualización de video de la cámara IP de HomeKit, HomeKit renderiza los cuadros del video de manera segura desde un proceso de sistema separado. Como resultado, la app no puede acceder o almacenar la transmisión de video. Además, las apps no tienen permitido tomar capturas de pantalla de la transmisión.
Video seguro de HomeKit
HomeKit proporciona un mecanismo privado y seguro de extremo a extremo para grabar, analizar y ver clips de cámaras IP de HomeKit sin exponer dicho contenido de video a Apple o a terceros. Cuando una cámara IP detecta movimiento, se envían los clips de video directamente a un dispositivo Apple que funge como central de casa, usando una conexión de red local dedicada entre la central de casa y la cámara IP. La conexión de red local está encriptada con un par de claves derivadas de HKDF-SHA512 creadas para cada sesión que se negocia durante la sesión de HomeKit entre la central de casa y la cámara IP. HomeKit desencripta las transmisiones de video y audio en la central de casa y analiza los cuadros del video de forma local buscando cualquier evento de importancia. Si se detecta uno, HomeKit encripta el clip de video usando AES-256-GCM con una clave AES256 generada de forma aleatoria. HomeKit también genera cuadros póster para cada clip, los cuales se encriptan usando la misma clave AES256. El cuadro póster encriptado y los datos de audio y video se cargan a los servidores de iCloud. Los datos relacionados de cada clip, incluyendo la clave de encriptación, se cargan a CloudKit usando la encriptación de extremo a extremo de iCloud.
Para la clasificación de caras, HomeKit almacena todos los datos utilizados para clasificar la cara de una persona en particular en CloudKit mediante la encriptación de extremo a extremo de iCloud. Los datos almacenados incluyen información sobre cada persona, como el nombre, así como imágenes que representan la cara de esa persona. Estas imágenes faciales se pueden obtener de la app Fotos del usuario si se otorga acceso, o se pueden recopilar a partir de videos previamente analizados de las cámaras IP. Una sesión de análisis de video seguro de HomeKit utiliza estos datos de clasificación para identificar caras en las transmisiones de video seguro que recibe directamente de la cámara IP e incluye esa información de identificación en los metadatos del clip mencionados anteriormente.
Cuando se usa la app Casa para ver los clips de una cámara, se descargan los datos de iCloud y se desencapsulan las claves necesarias para desencriptar las transmisiones de forma local usando la desencriptación de extremo a extremo de iCloud. El contenido de video encriptado se transmite de los servidores y se desencripta de forma local en el dispositivo iOS antes de mostrarlo en el visor. Cada sesión de clip de video podría dividirse en subsecciones, en donde cada subsección encripta la transmisión de contenido con su propia clave única.