Sicherheit bei der HomeKit-Kommunikation
HomeKit bietet eine Infrastruktur zur Automatisierung häuslicher Umgebungen, die Sicherheitsfunktionen von iCloud und Geräten nutzt, um private Daten zu schützen und zu synchronisieren, ohne dass Apple darauf zugreifen kann.
Identität und Sicherheit basieren bei HomeKit auf einem Ed25519-Schlüsselpaar mit einem öffentlichen und einem privaten Schlüssel. Auf dem Gerät des HomeKit-Benutzers wird ein Ed25519-Schlüsselpaar erzeugt, das die HomeKit-Identität des jeweiligen Benutzers darstellt. Das Schlüsselpaar wird als Teil des HomeKit Accessory-Protokolls (HAP) für die Authentifizierung der direkten Kommunikation zwischen Apple-Geräten des Benutzers und seinen HomeKit-Zubehörgeräten verwendet.
In einem Zuhause mit einer Steuerzentrale können die Mitglieder des geteilten Zuhauses Befehle über diese Steuerzentrale an Zubehörgeräte senden. Diese Befehle werden durchgehend verschlüsselt und authentifiziert über den Apple Identity Service (IDS) vom Gerät des Benutzers an die Steuerzentrale gesendet. Von dort aus werden sie über das HomeKit Accessory-Protokoll (HAP) oder Matter, einen Konnektivitätsstandard für Smart Homes, an das entsprechende Zubehörgerät weitergeleitet.
Die Schlüssel – sie werden im Schlüsselbund gespeichert und nur in verschlüsselte Backups des Schlüsselbunds einbezogen – werden unter Verwendung des iCloud-Schlüsselbunds auf allen Geräten auf dem aktuellen Stand gehalten.
Kommunikation zwischen HomeKit-Zubehörgeräten
HomeKit-Zubehörgeräte erstellen ihr eigenes Ed25519-Schlüsselpaar für die Kommunikation mit Apple-Geräten. Beim Zurücksetzen eines Zubehörgeräts auf die Werkseinstellungen wird ein neues Schlüsselpaar generiert.
Um eine Verbindung zwischen einem Apple-Gerät und einem HomeKit-Zubehörgerät herzustellen, werden die Schlüssel über das 3072-Bit-Protokoll „Secure Remote Password“ ausgetauscht, wofür ein vom Hersteller des Zubehörgeräts bereitgestellter achtstelliger Code verwendet wird, der auf dem Gerät des Benutzers eingegeben und per ChaCha20-Poly1305 AEAD mit per HKDF-SHA-512 hergeleiteten Schlüsseln verschlüsselt wird. Die MFi-Zertifizierung des Zubehörgeräts wird bei der Konfiguration ebenfalls überprüft. Geräte ohne einen MFi-Chip können die Unterstützung für die Softwareautorisierung unter iOS 11.3 (und neueren Versionen) integrieren.
Wenn das Gerät und das HomeKit-Zubehörgerät bei laufendem Betrieb kommunizieren, authentifizieren sie sich gegenseitig über die Schlüssel, die im oben beschriebenen Verfahren ausgetauscht wurden. Jede Sitzung wird über ein Station-to-Station-Protokoll hergestellt und mit von HKDF-SHA-512 abgeleiteten Schlüsseln verschlüsselt, die auf für diese Sitzung erzeugten Curve25519-Schlüsseln basieren. Dies gilt sowohl für IP-basierte Geräte als auch für BLE-Zubehörgeräte (Bluetooth Low Energy).
BLE-Geräte, die Broadcast-Mitteilungen unterstützen, werden mit einem Broadcast-Verschlüsselungsschlüssel ausgestattet und durch ein gekoppeltes Gerät über eine sichere Sitzung bereitgestellt. Dieser Schlüssel wird verwendet, um die Daten über Statusänderungen auf dem Zubehörgerät zu verschlüsseln, die mittels BLE-Ankündigungen benachrichtigt werden. Der Broadcast-Verschlüsselungsschlüssel ist ein per HKDF-SHA-512 hergeleiteter Schlüssel; die Daten werden mithilfe des ChaCha20-Poly1305 AEAD-Algorithmus verschlüsselt. Der Broadcast-Verschlüsselungsschlüssel wird regelmäßig vom iOS-, iPadOS- oder macOS-Gerät geändert und via iCloud auf anderen Geräten aktualisiert (siehe Beschreibung unter HomeKit-Datensicherheit).
Kommunikation mit Matter-Zubehörgeräten
Identität und Sicherheit basieren bei Matter-Zubehörgeräten auf Zertifikaten. Für ein Apple-Zuhause wird die vertrauenswürdige Zertifizierungsstelle (Certificate Authority) auf dem Gerät des ursprünglichen Benutzers (dem „Eigentümer“) erstellt. Der private Schlüssel für die Zertifizierungsstelle wird in seinem iCloud-Schlüsselbund gesichert. Jedes Apple-Gerät in diesem Zuhause erstellt eine Zertifikatsignaturanforderung (Certificate Signing Request, CSR) unter Verwendung von NIST P256. Diese CSR wird vom Gerät des Eigentümers eingelesen, wodurch ein Matter-Identitätszertifikat für das Gerät unter Verwendung des privaten CA-Schlüssels erstellt wird. Dieses Zertifikat wird anschließend zur Authentifizierung der Kommunikation zwischen den Benutzergeräten und Zubehörgeräten verwendet.
Matter-Zubehörgeräte erzeugen ihr eigenes NIST P256-Schlüsselpaar sowie ihre eigene CSR und erhalten während der Zubehörkopplung ein Zertifikat von der CA. Vor der Erstellung der Schlüsselpaare tauschen das Matter-Zubehörgerät und die Geräte des Eigentümers Schlüssel aus (unter Verwendung des SPAKE2+-Protokolls mit einer vom Hersteller des Zubehörgeräts bereitgestellten PIN) und es wird eine Gerätebeglaubigung durchgeführt. Die CSR und das Zertifikat werden dann über diesen Kanal verschlüsselt mit AES-CCM und von HKDF-SHA256 abgeleiteten Schlüsseln ausgetauscht. Wenn das Zubehörgerät auf seine Werkseinstellungen zurückgesetzt wird, werden ein neues Schlüsselpaar und eine neue CSR erstellt und es wird bei der Kopplung ein neues Zertifikat für das Zubehörgerät ausgestellt.
Wenn ein Apple-Gerät und das Matter-Zubehörgerät während der Verwendung kommunizieren, authentifizieren sich diese Geräte gegenseitig mit ihren eigenen Zertifikaten. Jede Sitzung wird über ein Drei-Phasen-Protokoll (Sigma) hergestellt und mit von HKDF-SHA-512 abgeleiteten Schlüsseln verschlüsselt, die auf für diese Sitzung erzeugten P256-Schlüsseln basieren.
Weitere Informationen über die sichere Interaktion von Apple-Geräten mit Matter-Zubehörgeräten findest du unter Matter support in iOS 16 auf der Apple Developer-Website.
HomeKit und Siri
Siri kann verwendet werden, um Zubehörgeräte abzufragen und zu steuern und Szenen zu aktivieren. Minimale Informationen zur Konfiguration des Zuhauses werden anonym an Siri gesendet, um Namen von Zimmern, Zubehörgeräten oder Szenen bereitzustellen, die für die Erkennung von Befehlen erforderlich sind. Audiodaten, die an Siri gesendet werden, können bestimmte Zubehörgeräten oder Befehle bezeichnen. Die Siri-Daten werden aber nicht mit anderen Apple-Funktionen (z. B. HomeKit) assoziiert.
Siri-fähige HomeKit-Zubehörgeräte
Mit der App „Home“ können Benutzer auf Siri-fähigen Zubehörgeräten neue Funktionen wie Siri und andere HomePod-Funktionen wie Timer, Wecker, Intercom und Türklingel aktivieren. Wenn diese Funktionen aktiviert sind, kommuniziert das Zubehörgerät mit dem gekoppelten HomePod, der diese Apple-Funktionen bereitstellt, im lokalen Netzwerk. Audiodaten werden zwischen den Geräten über verschlüsselte Kanäle ausgetauscht, die sowohl HomeKit- als auch AirPlay-Protokolle nutzen.
Bei aktivierter Funktion „Auf ‚Hey Siri‘ achten“ wird mit einer lokal auf dem Zubehörgerät ausgeführten Trigger-Engine überprüft, ob der Befehl gesprochen wird. Erkennt die Engine den Befehl, sendet sie das Audiomaterial mit HomeKit direkt an den gekoppelten HomePod. Der HomePod führt eine zweite Überprüfung des Audiomaterials durch und bricht die Sitzung gegebenenfalls ab, wenn der Trigger-Befehl nicht enthalten ist.
Wenn die Funktion zum Aktivieren von Siri durch Berührung eingeschaltet ist, können Benutzer eine spezielle Taste auf dem Zubehörgerät drücken, um eine Konversation mit Siri zu starten. Das Audiomaterial wird direkt an den gekoppelten HomePod gesendet.
Nachdem eine erfolgreiche Aktivierung von Siri erkannt wurde, sendet der HomePod das Audiomaterial an die Siri-Server und führt mit denselben Sicherheits-, Datenschutz- und Verschlüsselungsmaßnahmen, die der HomePod beim Verarbeiten von direkt an den HomePod gestellten Anfragen anwendet, den vom Benutzer initiierten Vorgang aus. Wenn Siri eine Antwort in Audioform hat, wird diese über einen AirPlay-Audiokanal an das Zubehörgerät gesendet. Für einige Siri-Anfragen sind zusätzliche Informationen vom Benutzer erforderlich (beispielsweise bei der Nachfrage, ob der Benutzer weitere Optionen hören möchte). In diesem Fall empfängt das Zubehörgerät den Hinweis, dass der Benutzer zu einer Eingabe aufgefordert werden sollte. Das zusätzliche Audiomaterial wird an den HomePod gestreamt.
Das Zubehörgerät muss einen visuellen Indikator besitzen, um dem Nutzer anzuzeigen, wann es aktiv auf Befehle achtet (beispielsweise eine LED). Das Zubehörgerät erhält keine Informationen über die Siri-Anfrage, sondern nur für den Zugriff auf den Audiostream. Es werden keine Benutzerdaten auf dem Gerät gespeichert.