HomeKit-kommunikationssikkerhed
HomeKit er en infrastruktur til automatisering i hjemmet, som benytter iCloud og sikkerheden i iOS, iPadOS og macOS til at beskytte og synkronisere private data, uden at Apple kan se dem.
Identitet og sikkerhed i HomeKit bygger på Ed25519-par med offentlige-private nøgler. Der genereres et Ed25519-nøglepar på iOS-, iPadOS- og macOS-enheden til hver bruger af HomeKit, og dette nøglepar bliver brugerens HomeKit-identitet. Det bruges til at godkende kommunikation mellem iOS-, iPadOS- og macOS-enheder og mellem iOS-, iPadOS- og macOS-enheder og tilbehør.
Nøglerne – som opbevares i Nøglering og kun inkluderes i krypterede sikkerhedskopier af Nøglering – synkroniseres mellem enheder vha. iCloud-nøglering, hvis den er tilgængelig. HomePod og Apple TV modtager nøgler via tryk-for-at-indstille eller den indstillingsfunktion, der beskrives nedenfor. Nøgler deles fra en iPhone til et parret Apple Watch via IDS (Apple Identity Service).
Kommunikation mellem HomeKit-tilbehør
HomeKit-tilbehør genererer deres eget Ed25519-nøglepar, der skal bruges til at kommunikere med iOS-, iPadOS- og macOS-enheder. Hvis standardindstillingerne gendannes på tilbehøret, genereres et nyt nøglepar.
Med henblik på at skabe en relation mellem en iOS-, iPadOS- eller macOS-enhed og HomeKit-tilbehør udveksles nøgler via protokollen Secure Remote Password (3072 bit) ved brug af en ottecifret kode, der leveres af producenten af tilbehøret og indtastes på iOS-, iPadOS- eller macOS-enheden af brugeren, hvorefter den krypteres vha. ChaCha20-Poly1305 AEAD med nøgler afledt af HKDF-SHA512. Tilbehørets MFi-certificering kontrolleres under indstillingen. Tilbehør uden en MFi-chip kan indbygge understøttelse af softwaregodkendelse i iOS 11.3 og nyere versioner.
Når iOS-, iPadOS- eller macOS-enheden og HomeKit-tilbehøret kommunikerer under brugen, godkender de hinanden vha. de nøgler, der blev udvekslet i processen ovenfor. Hver session etableres vha. STS-protokollen og krypteres med nøgler afledt af HKDF-SHA512 på basis af Curve25519-nøgler pr. session. Det gælder både for IP-baseret tilbehør og BLE-tilbehør (Bluetooth Low Energy).
Når det gælder BLE-enheder, der understøtter udsendelsesnotifikationer, forsyner en parret iOS-, iPadOS- eller macOS-enhed tilbehøret med en udsendelseskrypteringsnøgle i en sikker session. Denne nøgle bruges til at kryptere de data om statusændringer på tilbehøret, som meddeles via BLE-annonceringerne. Krypteringsnøglen til annonceringer er afledt af HKDF-SHA512, og dataene krypteres ved hjælp af algoritmen ChaCha20-Poly1305 AEAD. Udsendelseskrypteringsnøglen ændres med jævne mellemrum af iOS-, iPadOS- eller macOS-enheden og opdateres til andre enheder via iCloud som beskrevet i HomeKit-datasikkerhed.
HomeKit og Siri
Siri kan bruges til at sende forespørgsler til og styre tilbehør og til at aktivere scener. Der videregives minimale oplysninger om konfigurationen af hjemmet til Siri, dvs. navnene på værelser, tilbehør og scener, der er nødvendige for at genkende kommandoer. Lyd, der sendes til Siri, kan angive særligt tilbehør eller særlige kommandoer, men disse Siri-data er ikke forbundet med andre Apple-funktioner som f.eks. HomeKit.
Siri-kompatibelt HomeKit-tilbehør
Brugerne kan i appen Hjem slå nye funktioner som Siri og andre HomePod-funktioner som tidtagninger, alarmer, samtaleanlæg og dørklokker på Siri-kompatibelt tilbehør til. Når disse funktioner er slået til, koordinerer tilbehøret med en parret HomePod på det lokale netværk, hvor der er adgang til disse Apple-funktioner. Lyden overføres mellem enhederne i krypterede kanaler, der både bruger HomeKit- og AirPlay-protokollen.
Når Lyt efter Hej Siri er slået til, lytter tilbehøret efter udtrykket “Hej Siri” ved at bruge en funktion, der afvikles lokalt, til at registrere udløsende udtryk. Hvis funktionen registrerer udtrykket, sendes lydrammerne direkte til en parret HomePod via HomeKit. HomePod foretager en ny kontrol af lyden og kan afvise lydsessionen, hvis udtrykket ikke ser ud til at indeholde det udløsende udtryk.
Når Rør og hold for Siri er slået til, kan brugeren trykke på en særlig knap på tilbehøret for at starte en samtale med Siri. Lydrammerne sendes direkte til den parrede HomePod.
Når et ønske om start af Siri registreres, sender HomePod lyden til Siri-servere og efterkommer brugerens ønske ved brug af samme sikkerheds-, anonymitets- og krypteringsforanstaltninger, som HomePod benytter til anmodninger fra brugere til HomePod selv. Hvis Siri svarer med lyd, sendes Siris svar via en AirPlay-lydkanal til tilbehøret. Nogle Siri-anmodninger kræver flere oplysninger fra brugeren (f.eks. hvis Siri spørger, om brugeren vil høre flere muligheder). I det tilfælde får tilbehøret besked om, at brugeren skal anmodes om oplysninger, og den ekstra lyd overføres til HomePod.
Det er et krav, at tilbehøret har en visuel indikation, der kan signalere over for en bruger, at tilbehøret lytter aktivt. Det kan f.eks. være LED-lys. Tilbehøret har intet kendskab til hensigten med Siri-anmodningen, bortset fra adgang til lydoverførsel, og ingen data gemmes på tilbehøret.