Sikkerhet for HomeKit-kommunikasjon
Hjemautomatisering med HomeKit har en infrastruktur der sikkerhetsstrukturen i iCloud, iOS, iPadOS og macOS brukes for å beskytte og synkronisere private data uten at de legges åpent for Apple.
HomeKit-identitet og -sikkerhet er basert på offentlig-private Ed25519-nøkkelpar. Et Ed25519-nøkkelpar genereres på iOS-, iPadOS- og macOS-enheten for den enkelte bruker for HomeKit, og nøkkelparet blir brukerens HomeKit-identitet. Det brukes til å autentisere kommunikasjon mellom iOS-, iPadOS- og macOS-enheter og mellom iOS-, iPadOS- og macOS-enheter og tilbehør.
Nøklene, som oppbevares i nøkkelringen og kun inkluderes i krypterte Nøkkelring-sikkerhetskopier, holdes oppdatert mellom enheter ved hjelp av iCloud-nøkkelring, hvis tilgjengelig. HomePod og Apple TV mottar nøkler ved hjelp av trykk-for-å-konfigurere eller konfigureringsmodusen beskrevet under. Nøkler deles fra en iPhone til en sammenkoblet Apple Watch ved hjelp av Apple Identity Service (IDS).
Kommunikasjon mellom HomeKit-tilbehør
HomeKit-tilbehør genererer sitt eget Ed25519-nøkkelpar til bruk i kommunikasjon med iOS-, iPadOS- og macOS-enheter. Hvis tilbehøret gjenopprettes til fabrikkinnstillingene, genereres et nytt nøkkelpar.
For å etablere et forhold mellom en iOS-, iPadOS- og macOS-enhet og et HomeKit-tilbehør utveksles nøkler ved hjelp av protokollen Secure Remote Password (3072-bit). Det benyttes en åttesifret kode som oppgis av tilbehørsprodusenten og som oppgis på iOS- eller iPadOS-enheten av brukeren, og deretter krypteres de ved hjelp av ChaCha20-Poly1305 AEAD med HKDF-SHA512-avledede nøkler. Tilbehørets MFi-sertifisering stadfestes også i oppsettprosessen. Tilbehør uten en MFi-brikke kan integrere støtte for programvareautentisering i iOS 11.3 eller nyere.
Når iOS-, iPadOS- og macOS-enheten og HomeKit-tilbehøret kommuniserer under bruk, autentiserer de hverandre ved hjelp av nøklene som ble utvekslet i prosessen ovenfor. Den enkelte økten opprettes ved hjelp av Station-to-Station-protokollen og krypteres med HKDF-SHA512-avledede nøkler basert på øktspesifikke Curve25519-nøkler. Dette gjelder for både IP-basert tilbehør og Bluetooth Low Energy-tilbehør (BLE).
For BLE-enheter som støtter kringkastingsvarslinger, klargjøres tilbehøret med en kringkastingskrypteringsnøkkel fra en sammenkoblet iOS-, iPadOS- eller macOS-enhet gjennom en sikker økt. Denne nøkkelen brukes til å kryptere data om tilstandsendringer på tilbehøret, som varsles ved hjelp av BLE-annonseringer. Kringkastingskrypteringsnøkkelen er en HKDF-SHA512-avledet nøkkel, og dataene krypteres med ChaCha20-Poly1305 AEAD-algoritmen. Kringkastingskrypteringsnøkkelen endres periodisk av iOS-, iPadOS- og macOS-enheten og oppdateres til andre enheter ved hjelp av iCloud som beskrevet i HomeKit-datasikkerhet.
HomeKit og Siri
Siri kan brukes til å sende forespørsler til tilbehør, styre det og til å aktivere stemninger. Minimalt med informasjon om konfigurasjonen av hjemmet gis anonymt til Siri for at Siri skal ha navn på rom, tilbehør og stemninger som er nødvendige for kommandogjenkjenning. Det kan hende at lyd som sendes til Siri, betegner spesifikt tilbehør eller spesifikke kommandoer, men slike Siri-data knyttes ikke til andre Apple-funksjoner som for eksempel HomeKit.
Siri-aktivert HomeKit-tilbehør
Brukere kan bruke Hjem-appen til å aktivere nye funksjoner på Siri-aktivert tilbehør, som Siri og andre HomePod-funksjoner som nedtellinger, alarmer, interkom og ringeklokke. Når disse funksjonene aktiveres, vil tilbehøret koordinere med sammenkoblet HomePod på det lokale nettverket, som har disse Apple-funksjonene. Lyd utveksles mellom enhetene via krypterte kanaler og ved hjelp av både HomeKit- og AirPlay-protokoller.
Når Lytt etter «Hei Siri» er slått på, vil tilbehøret lytte etter «Hei Siri» ved hjelp av en talegjenkjenningsmotor som kjøres lokalt. Hvis motoren gjenkjenner uttrykket, sendes lyden direkte til en sammenkoblet HomePod ved hjelp av HomeKit. HomePod kontrollerer lyden på nytt og kan avbryte lydøkten hvis lyden ikke inneholder aktiveringsuttrykket.
Når Touch for Siri slås på, kan brukeren trykke på en knapp på tilbehøret for å starte en samtale med Siri. Lyden sendes direkte til den sammenkoblede HomePoden.
Når HomePod registrerer at Siri har blitt aktivert, sendes lyden til Siri-tjenerne, og brukeren får svar med samme sikkerhet, personvern og kryptering som HomePod bruker når aktiveringen gjøres på HomePod. Hvis Siri svarer med lyd, sendes svaret til tilbehøret via en AirPlay-lydkanal. Enkelte Siri-forespørsler krever ytterligere informasjon fra brukeren (for eksempel for å spørre om brukeren vil høre flere svar). Da får tilbehøret en indikasjon om at brukeren skal spørres, og lyden strømmes til HomePod.
Tilbehøret skal ha en visuell indikator som viser at det lytter (for eksempel en LED-indikator). Tilbehøret kjenner ikke til formålet med Siri-forespørselen, bortsett fra tilgang til lydstrømmene, og det arkiveres ikke brukerdata på tilbehøret.