Sécurité de la communication HomeKit
HomeKit fournit une infrastructure d’automatisation à domicile qui fait appel à iCloud et aux fonctionnalités de sécurité des appareils pour protéger et synchroniser les données personnelles sans les exposer à Apple.
La sécurité et l’identité HomeKit reposent sur des paires de clés publique et privée Ed25519. Une paire de clés Ed25519 est générée sur l’appareil de l’utilisateur, et devient son identité HomeKit. La paire de clés est utilisée dans le cadre du protocole des accessoires HomeKit (HAP) pour authentifier la communication directe entre les appareils Apple de l’utilisateur et leurs accessoires HomeKit.
Dans les domiciles dotés d’un concentrateur, les membres du domicile partagé peuvent envoyer des commandes aux accessoires par l’intermédiaire de ce concentrateur. Ces commandes sont envoyées, chiffrées de bout en bout et authentifiées, de l’appareil de l’utilisateur au concentrateur à l’aide du service d’identité d’Apple (IDS), où elles sont transmises à l’accessoire concerné à l’aide du protocole des accessoires HomeKit (HAP) ou de Matter, une norme de connectivité pour maisons intelligentes.
Les clés, stockées dans le trousseau et incluses uniquement dans les sauvegardes chiffrées du trousseau, sont synchronisées entre les appareils à l’aide du trousseau iCloud.
Communication entre les accessoires HomeKit
Les accessoires HomeKit génèrent leur propre paire de clés Ed25519 pour communiquer avec les appareils Apple. Si les réglages d’origine de l’accessoire sont rétablis, une nouvelle paire de clés est générée.
Pour établir une relation entre un appareil Apple et un accessoire HomeKit, les clés sont échangées à l’aide du protocole Secure Remote Password (3 072 bits), avec un code à 8 chiffres fourni par le fabricant de l’accessoire et saisi sur l’appareil de l’utilisateur, puis chiffré avec l’algorithme de chiffrement authentifié avec les données associées (AEAD, Authenticated Encryption with Associated Data) ChaCha20-Poly1305 et des clés obtenues à l’aide de la fonction de dérivation HKDF‑SHA512. La certification MFi de l’accessoire est également vérifiée lors de la configuration. Les accessoires sans puce MFi peuvent obtenir la prise en charge de l’authentification logicielle sous iOS 11.3 et les versions ultérieures.
Lorsque l’appareil et l’accessoire HomeKit communiquent, chacun authentifie l’autre en utilisant les clés échangées de la façon décrite ci‑dessus. Chaque session est établie à l’aide du protocole Station‑to‑Station et chiffrée avec les clés obtenues avec la fonction de dérivation HKDF‑SHA512 à partir des clés Curve25519 de session. Cela s’applique aux accessoires IP et aux accessoires Bluetooth faible énergie (BLE).
Pour les appareils BLE qui prennent en charge les notifications de diffusion, l’accessoire reçoit une clé de chiffrement de diffusion de la part d’un appareil jumelé au cours d’une session sécurisée. Cette clé est utilisée pour chiffrer les données concernant les changements d’état de l’accessoire, qui sont signalés par les notifications BLE. La clé de chiffrement de diffusion est une clé obtenue à l’aide de la fonction de dérivation HKDF‑SHA512, et les données sont chiffrées avec l’algorithme AEAD ChaCha20-Poly1305. La clé de chiffrement de diffusion est régulièrement modifiée et synchronisée sur les autres appareils à l’aide d’iCloud, comme le décrit la section Sécurité des données HomeKit.
Communication avec les accessoires Matter
L’identité et la sécurité avec les accessoires Matter sont fondées sur des certificats. Pour les domiciles Apple, la base de sécurité de l’autorité de certification (AC) est générée sur l’appareil de l’utilisateur initial (le « propriétaire »), et la clé privée de l’AC est stockée dans son trousseau iCloud. Chaque appareil Apple du domicile génère une demande de signature de contrat (CSR) à l’aide de la NIST P256. Cette CSR est récupérée par l’appareil du propriétaire, qui crée un certificat d’identité Matter pour l’appareil à l’aide de sa clé privée de l’AC. Ce certificat est ensuite utilisé pour authentifier la communication entre les appareils des utilisateurs et leurs accessoires.
Les accessoires Matter génèrent leur propre paire de clés NIST P256 ainsi que leur CSR et reçoivent un certificat de la part de l’AC lors de du jumelage de l’accessoire. Avant que les paires de clés ne soient générées, l’accessoire Matter et les appareils du propriétaire du domicile échangent des clés (en utilisant le protocole SPAKE2+ avec un NIP fourni par le fabricant de l’accessoire) et un processus d’attestation de l’appareil est effectué. La CSR et le certificat sont ensuite échangés sur ce canal, chiffrés à l’aide du mode AES-CCM avec des clés dérivées HKDF-SHA256. Si les réglages d’usine de l’accessoire sont rétablis, une nouvelle paire de clés ainsi qu’une nouvelle CSR sont générées et un nouveau certificat est émis pour l’accessoire lors du jumelage.
Lorsqu’un appareil Apple et l’accessoire Matter communiquent pendant l’utilisation, chacun authentifie l’autre à l’aide de ses propres certificats. Chaque session est établie à l’aide d’un protocole en trois phases (sigma) et chiffrée avec les clés obtenues avec la fonction de dérivation HKDF‑SHA256 à partir des clés P256 de session.
Pour en savoir plus sur la façon dont les appareils Apple interagissent en toute sécurité avec les accessoires Matter, voir Prise en charge de Matter dans iOS 16 sur le site Web Apple pour les développeurs (en anglais).
HomeKit et Siri
Siri peut être utilisé pour interroger et commander les accessoires, et pour activer des scènes. Un minimum d’informations sur la configuration du domicile est donné de façon anonyme à Siri afin de communiquer le nom des pièces, des accessoires et des scènes nécessaires à la reconnaissance des commandes. Il se peut que le contenu audio envoyé à Siri fasse état d’accessoires ou de commandes spécifiques, mais ces données de Siri ne sont pas associées aux autres fonctionnalités d’Apple comme HomeKit.
Accessoires HomeKit compatibles avec Siri
Les utilisateurs peuvent activer de nouvelles fonctionnalités comme Siri, et d’autres fonctionnalités du HomePod comme les minuteries, les alarmes, l’interphone et la sonnette, sur les accessoires compatibles avec Siri en utilisant l’app Domicile. Lorsque ces fonctionnalités sont activées, l’accessoire se coordonne avec un HomePod jumelé sur le réseau local qui héberge ces fonctionnalités Apple. L’audio est échangé entre les appareils sur des canaux cryptés à l’aide des protocoles HomeKit et AirPlay.
Lorsque la fonctionnalité Utiliser « Dis Siri » est activée, l’accessoire écoute la phrase « Dis Siri » à l’aide d’un moteur de détection de phrases de déclenchement fonctionnant localement. Si ce moteur détecte la phrase, il envoie les trames audio directement à un HomePod jumelé à l’aide de HomeKit. Le HomePod effectue une deuxième vérification de l’audio et peut annuler la session audio si la phrase ne semble pas contenir l’expression de déclenchement.
Lorsque la fonctionnalité « Toucher pour Siri » est activée, l’utilisateur peut appuyer sur un bouton dédié sur l’accessoire pour démarrer une conversation avec Siri. Les trames audio sont envoyées directement au HomePod jumelé.
Après la détection du déclenchement réussi de Siri, le HomePod envoie l’audio aux serveurs Siri et exécute l’intention de l’utilisateur en utilisant les mêmes garanties de sécurité, de confidentialité et de chiffrement que le HomePod applique aux demandes de l’utilisateur adressées directement au HomePod. Si Siri a une réponse audio, celle-ci est envoyée à l’accessoire par le biais d’un canal audio AirPlay. Certaines demandes de Siri nécessitent des informations supplémentaires de la part de l’utilisateur (par exemple, demander si l’utilisateur veut entendre plus d’options). Dans ce cas, l’accessoire reçoit une indication selon laquelle l’utilisateur doit être invité et l’audio supplémentaire est diffusé sur le HomePod.
Il est nécessaire que l’accessoire dispose d’un indicateur visuel pour signaler à un utilisateur qu’il est en écoute active (par exemple, un indicateur DEL). L’accessoire ignore tout de l’intention de la demande de Siri, sauf l’accès aux flux audio, de sorte qu’aucune donnée de l’utilisateur n’est stockée sur l’accessoire.