Seguridad de los datos de HomeKit
Los datos de HomeKit se pueden actualizar de forma segura entre los dispositivos iOS, iPadOS y macOS de un usuario mediante iCloud y el llavero de iCloud. Durante este proceso, los datos de HomeKit se encriptan con claves derivadas de la identidad de HomeKit del usuario y con un nonce aleatorio, y se gestionan como un objeto binario grande o blob opaco. El BLOB más reciente se almacena en iCloud, pero no se utiliza para ningún otro fin. Además, como está encriptado con claves que solo están disponibles en los dispositivos iOS, iPadOS y macOS del usuario, no es posible acceder a su contenido durante la transmisión y el almacenamiento en iCloud.
Los datos de HomeKit también se sincronizan entre varios usuarios de la misma casa. Este proceso utiliza los mismos métodos de autenticación y encriptación que se usan entre un dispositivo iOS, iPadOS y macOS y un accesorio de HomeKit. La autenticación se basa en las claves públicas Ed25519 que se intercambian entre dispositivos al añadir un usuario a una casa. Después de añadir un usuario nuevo a una casa, todas las comunicaciones se autentican y encriptan con el protocolo STS y claves por sesión.
El usuario que creó inicialmente el grupo de casa en HomeKit u otro usuario con permiso de edición son los que pueden añadir usuarios nuevos. El dispositivo del propietario configura los accesorios con la clave pública del nuevo usuario, de modo que el accesorio pueda autenticar y aceptar los comandos de dicho usuario. Cuando un usuario con permiso de edición añade a otro usuario, el proceso se delega a una central de accesorios de la casa para que complete la operación.
HomeKit y el Apple TV
El proceso para poder utilizar el Apple TV con HomeKit se lleva a cabo automáticamente cuando el usuario inicia sesión en iCloud. La cuenta de iCloud debe tener la autenticación de doble factor activada. El Apple TV y el dispositivo del propietario intercambian temporalmente las claves públicas Ed25519 a través de iCloud. Cuando el dispositivo del propietario y el Apple TV están conectados a la misma red local, se utilizan las claves temporales para proteger la conexión a través de la red local mediante el protocolo de estación a estación y las claves por sesión. Este proceso utiliza los mismos métodos de autenticación y encriptación que se usan entre un dispositivo iOS, iPadOS y macOS y un accesorio de HomeKit. A través de esta conexión local segura, el dispositivo del propietario transfiere el par de claves pública y privada Ed25519 del usuario al Apple TV. A continuación, estas claves se utilizan para proteger la comunicación entre el Apple TV y los accesorios de HomeKit, así como entre el Apple TV y otros dispositivos iOS, iPadOS y macOS que forman parte del grupo casa de HomeKit.
Si un usuario no tiene más de un dispositivo ni concede acceso a su casa a más usuarios, los datos de HomeKit no se trasfieren a iCloud.
Apps y datos de Casa
El acceso de las apps a los datos de casa está controlado por los ajustes de privacidad del usuario. Para que las apps tengan acceso a estos datos cuando lo solicitan, los usuarios tienen que concedérselo, igual que en el caso de Contactos, Fotos y otras fuentes de datos de iOS, iPadOS y macOS. Si el usuario lo autoriza, las apps tienen acceso a los nombres de las habitaciones, los nombres de los accesorios y la ubicación de cada accesorio, así como a otra información que se detalla en la documentación para desarrolladores de HomeKit en https://developer.apple.com/homekit/.
Almacenamiento local de datos
HomeKit almacena datos sobre casas, accesorios, ambientes y usuarios en los dispositivos iOS, iPadOS y macOS de un usuario. Estos datos almacenados se encriptan con claves derivadas de las claves de identidad de HomeKit del usuario y con un nonce aleatorio. Además, los datos de HomeKit se almacenan con la clase de Protección de datos “Protegido hasta la primera autenticación del usuario”. Para los datos de HomeKit, solo se realizan copias de seguridad encriptadas, de modo que, por ejemplo, las copias de seguridad no encriptadas en el Finder (en macOS 10.15 o posterior) o en iTunes (en macOS 10.14 o anterior) a través de USB no contienen datos de HomeKit.