Seguridad de las comunicaciones de HomeKit
HomeKit proporciona una infraestructura de automatización doméstica que usa la seguridad de iCloud y de los dispositivos para proteger y sincronizar los datos privados sin exponerlos a Apple.
La identidad y la seguridad de HomeKit se basan en pares de claves Ed25519 constituidos por una clave pública y una privada. El par de claves Ed25519 se genera en el dispositivo del usuario y se convierte en su identidad de HomeKit. El par de claves se utiliza como parte del protocolo de accesorios HomeKit (HAP) para autenticar la comunicación directa entre los dispositivos Apple del usuario y sus accesorios HomeKit.
En los hogares en los que hay una central de accesorios, los miembros del hogar compartido pueden enviar comandos a los accesorios a través de esta central de accesorios. Una vez autenticados y encriptados de punto a punto, estos comandos se envían desde el dispositivo del usuario a la central de accesorios utilizando el servicio de identidad (IDS) de Apple, que los remite al accesorio pertinente utilizando el protocolo de accesorios HomeKit (HAP) o Matter, un estándar de conexión domótica.
Las claves (que se almacenan en el llavero y solo se incluyen en las copias de seguridad encriptadas del llavero) se mantienen siempre actualizadas entre dispositivos utilizando el llavero de iCloud.
Comunicación entre accesorios de HomeKit
Los accesorios de HomeKit generan su propio par de claves Ed25519 para la comunicación con dispositivos Apple. Si el accesorio se restaura con los ajustes originales de fábrica, se genera un par de claves nuevo.
Para establecer una relación entre un dispositivo Apple y un accesorio de HomeKit, las claves se intercambian utilizando el protocolo de contraseña remota segura (3072 bits) con un código de ocho dígitos proporcionado por el fabricante del accesorio. El usuario lo introduce en el dispositivo y, después, se encripta con ChaCha20-Poly1305 AEAD mediante claves derivadas de HKDF-SHA512. La certificación MFi del accesorio también se verifica durante la configuración. Los accesorios sin un chip MFi pueden integrar la compatibilidad con la autenticación de software en iOS 11.3 o versiones posteriores.
Cuando el dispositivo y el accesorio de HomeKit se comunican durante el uso, se autentican entre sí mediante las claves intercambiadas en el proceso descrito más arriba. Todas las sesiones se establecen con el protocolo STS y se encriptan con claves derivadas de HKDF‑SHA512 basadas en claves Curve25519 por sesión. Esto se aplica tanto a los accesorios basados en IP como a los accesorios Bluetooth de baja energía (BLE).
En el caso de los dispositivos BLE que admiten notificaciones de difusión, un dispositivo enlazado proporciona al accesorio una clave de encriptación de difusión a través de una sesión segura. Esta clave se utiliza para encriptar los datos sobre los cambios de estado del accesorio, que se notifican mediante avisos de BLE. La clave de encriptación de difusión es una clave derivada de HKDFSHA‑512 y los datos se encriptan con el algoritmo ChaCha20‑Poly1305 AEAD. El dispositivo cambia periódicamente la clave de encriptación de difusión, que se actualiza en otros dispositivos mediante iCloud, tal como se describe en el apartado Seguridad de los datos de HomeKit.
Comunicación con accesorios Matter
La identidad y seguridad de los accesorios Matter se basan en certificados. En las casas Apple, la raíz de confianza de la autoridad de certificación (CA) se genera en el dispositivo del usuario inicial (el “propietario”), y la clave privada de la autoridad de certificación se almacena en su llavero de iCloud. Cada dispositivo Apple de la casa genera una solicitud de firma de certificado (CSR) utilizando NIST P256. El dispositivo del propietario adquiere esta CSR y crea un certificado de identidad de Matter para el dispositivo utilizando su clave privada de CA. Este certificado se usa después para autenticar la comunicación entre los dispositivos de los usuarios y sus accesorios.
Los accesorios Matter generan su propio par de claves NIST P256 y su CSR, y reciben un certificado de la CA durante el enlace del accesorio. Antes de generar los pares de claves, el accesorio Matter y los dispositivos del propietario de la casa intercambian las claves (mediante el protocolo SPAKE2+ con un PIN proporcionado por el fabricante del accesorio) y se lleva a cabo un proceso de acreditación del dispositivo. A continuación, se intercambian la CSR y el certificado a través de este canal encriptado, utilizando AES-CCM con claves HKDF-SHA256 derivadas. Si el accesorio se restaura a los ajustes de fábrica, se generan un nuevo par de claves y una nueva CSR, y se emite un nuevo certificado para el accesorio durante el enlace.
Cuando un dispositivo de Apple y el accesorio Matter se comunican durante su uso, cada uno autentica al otro con sus propios certificados. Todas las sesiones se establecen con el protocolo trifásico (sigma) y se encriptan con claves derivadas de HKDF‑SHA512 basadas en claves 25519 por sesión.
Para obtener más información sobre cómo interactúan los dispositivos Apple con los accesorios Matter de forma segura, consulta la compatibilidad con Matter en iOS 16 en el sitio web para desarrolladores de Apple.
HomeKit y Siri
Siri se puede utilizar para enviar consultas a los accesorios y controlarlos, y para activar ambientes. Siri recibe anónimamente información mínima sobre la configuración de la casa para facilitar los nombres de las habitaciones, accesorios y ambientes necesarios para el reconocimiento de comandos. El audio enviado a Siri puede hacer referencia a determinados accesorios o comandos, pero esos datos de Siri no se asocian a otras funciones de Apple, como HomeKit.
Accesorios de HomeKit compatibles con Siri
Los usuarios pueden habilitar nuevas funciones como Siri, y otras funciones del HomePod como los temporizadores, las alarmas, el intercomunicador y el timbre, en los accesorios compatibles con Siri usando la app Casa. Cuando se activan estas funciones, el accesorio se coordina con un HomePod enlazado en la red local que tiene estas funciones de Apple. El audio se intercambia entre los dispositivos a través de canales encriptados usando los protocolos de HomeKit y AirPlay.
Cuando “Al oír ‘Oye Siri’” está activado, el accesorio escucha la frase “Oye Siri” utilizando un motor de detección de la frase de activación que se ejecuta localmente. Si este motor detecta la frase, envía el audio directamente a un HomePod enlazado usando el HomeKit. El HomePod realiza una segunda comprobación del audio y puede cancelar la sesión de audio si la frase no parece contener la frase de activación.
Cuando “Toca para Siri” está activado, el usuario puede pulsar un botón dedicado en el accesorio para iniciar una conversación con Siri. El audio se envía directamente al HomePod enlazado.
Cuando se detecta una invocación correcta de Siri, el HomePod envía el audio a los servidores de Siri y cumple la intención del usuario usando las mismas garantías de seguridad, privacidad y encriptación que el HomePod aplica a las invocaciones del usuario realizadas al propio HomePod. Si Siri tiene una respuesta de audio, la respuesta de Siri se envía a través de un canal de audio AirPlay al accesorio. Algunas peticiones de Siri requieren información adicional por parte del usuario (por ejemplo, preguntarle si quiere escuchar más opciones). En ese caso, el accesorio recibe una indicación de que se debe preguntar al usuario y el audio adicional se transmite al HomePod.
El accesorio debe tener un indicador visual para señalar al usuario cuándo está escuchando activamente (por ejemplo, un indicador LED). El accesorio no tiene conocimiento de la intención de la petición de Siri, salvo el acceso a los flujos de audio, y no se almacenan datos del usuario en el accesorio.