Seguridad de los datos de HomeKit
Los datos de HomeKit se pueden actualizar de manera 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 usando claves derivadas de la identidad de HomeKit del usuario y un valor único aleatorio, y se maneja como un objeto grande binario opaco, conocido como blob. El BLOB más reciente se almacena en iCloud, pero no se utiliza para ningún otro fin. Además, dado que está encriptado con claves que sólo 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 agregar un usuario a una casa. Después de agregar un usuario nuevo a una casa, todas las comunicaciones futuras se autentican y encriptan con el protocolo STS y claves por sesión.
Sólo el usuario que creó el grupo de casa en HomeKit, u otro usuario que tenga permiso de edición, puede agregar usuarios nuevos. El propietario del dispositivo 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 permisos de edición agrega un usuario nuevo, el proceso se delega a una central de casa para completar la operación.
HomeKit y Apple TV
El proceso de provisión del Apple TV para su uso con HomeKit se realiza de forma automática cuando el usuario inicia sesión en iCloud. La cuenta de iCloud debe tener activada la autenticación de dos factores. El Apple TV y el dispositivo del usuario intercambian temporalmente claves públicas Ed25519 a través de iCloud. Cuando el dispositivo y el Apple TV del propietario están en la misma red local, se usan claves temporales para asegurar la conexión mediante la red local usando el protocolo de estación a estación (STS) y con 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. Mediante esta conexión local segura, el dispositivo del propietario transfiere el par de claves pública‑privada Ed25519 del usuario al Apple TV. Estas claves se usan para asegurar la comunicación entre el Apple TV y los accesorios HomeKit, así como entre el Apple TV y otros dispositivos iOS, iPadOS y macOS que sean parte de la casa de HomeKit.
Si un usuario no tiene varios dispositivos y no les otorga acceso a otros usuarios a su casa, los datos de HomeKit no se transmiten a iCloud.
Datos y apps de Casa
El acceso de las apps a los datos de Casa está controlado por la configuración 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 que se puede consultar en https://developer.apple.com/homekit/.
Almacenamiento local de datos
HomeKit almacena datos sobre casas, accesorios, ambientaciones 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 más un valor único aleatorio. Además, los datos de HomeKit se almacenan con la clase de protección de datos Protegido hasta la primera autenticación de usuario. Los datos de HomeKit se guardan sólo en respaldos encriptados, por lo que, por ejemplo, los respaldos no encriptados que se realizan a través de USB por el Finder (macOS 10.15 o versiones posteriores) o en iTunes (macOS 10.14 o versiones anteriores) no contienen datos de HomeKit.