Sécurité des caméras HomeKit
Les caméras qui ont une adresse IP (Internet Protocol, protocole Internet) dans HomeKit envoient des flux vidéo et audio directement à l’appareil iOS, iPadOS, tvOS ou macOS connecté au réseau local y ayant accès. Les flux sont chiffrés à l’aide de clés générées aléatoirement sur l’appareil et sur la caméra réseau (ou caméra IP), qui sont échangées au moyen de la session HomeKit sécurisée donnant accès à la caméra. Lorsqu’un appareil n’est pas connecté au réseau local, les flux chiffrés lui sont relayés par le concentrateur. Le concentrateur ne déchiffre pas les flux. Il sert simplement de relais entre l’appareil et la caméra réseau. Lorsqu’une app affiche l’image vidéo de la caméra réseau HomeKit à l’attention de l’utilisateur, HomeKit assure sa conversion sécurisée à partir d’un processus système séparé. Ainsi, l’app n’est pas en mesure d’accéder au flux vidéo ou de le stocker. En outre, les apps ne sont pas autorisées à saisir des captures d’écran de ce flux.
Vidéo sécurisée HomeKit
HomeKit offre un mécanisme sécurisé et privé de bout en bout pour enregistrer, analyser et visionner des clips filmés par les caméras réseau HomeKit sans les exposer à Apple ou à un tiers. Lorsque la caméra réseau détecte des mouvements, elle envoie des vidéoclips directement à l’appareil Apple qui sert de concentrateur, à l’aide d’une connexion réseau locale établie entre ce concentrateur et la caméra réseau. Cette connexion dédiée est chiffrée avec une paire de clés de session obtenue par la fonction de dérivation HKDF-SHA512, qui est négociée au cours de la session HomeKit entre le concentrateur et la caméra réseau. HomeKit déchiffre les flux audio et vidéo sur le concentrateur et analyse localement les images vidéo pour déceler des événements importants. En cas de détection d’un événement important, HomeKit chiffre le vidéoclip à l’aide de l’algorithme AES-256-GCM avec une clé AES256 générée aléatoirement. HomeKit génère aussi des cadres d’affiche pour chaque clip et les chiffre à l’aide de la même clé AES256. Une fois chiffrés, le cadre d’affiche ainsi que les données audio et vidéo sont téléversés vers les serveurs iCloud. Les métadonnées associées à chaque clip ainsi que la clé de chiffrement sont téléversées vers CloudKit à l’aide du chiffrement iCloud de bout en bout.
Pour la classification des visages, HomeKit stocke toutes les données utilisées pour classer le visage d’une personne dans CloudKit au moyen d’un chiffrement de bout en bout iCloud. Les données stockées comprennent des informations sur chaque personne, comme son nom et des images qui représentent son visage. Ces images de visages peuvent provenir de l’app Photos d’un utilisateur, s’il en décide ainsi, ou elles peuvent être extraites de vidéos prises par la caméra réseau qui ont déjà été analysées. Une session d’analyse de la vidéo sécurisée HomeKit utilise ces données de classification pour identifier les visages dans le flux vidéo sécurisé de la caméra réseau. Elle inclut ces informations d’identification dans les métadonnées du vidéoclip mentionnées précédemment.
Lorsque l’app Domicile est utilisée pour afficher les clips d’une caméra, les données sont téléchargées à partir d’iCloud, et les clés nécessaires au déchiffrement des flux sont débloquées localement à l’aide du déchiffrement iCloud de bout en bout. Le contenu vidéo chiffré est diffusé à partir des serveurs et déchiffré localement sur l’appareil iOS avant d’être affiché dans le visualiseur. Chaque session du vidéoclip peut être divisée en sous-sections dont chacune chiffre le flux de contenu à l’aide de sa propre clé unique.