HomeKit-tietoliikenteen suojaus
HomeKit tarjoaa kodin automaatioille infrastruktuurin, jossa hyödynnetään iCloudin ja laitteiden suojausominaisuuksia yksityisten tietojen suojaamiseen ja synkronoimiseen ilman, että ne tulevat Applen tietoon.
HomeKitin identiteetti ja suojaus perustuvat julkisen ja yksityisen Ed25519-avaimen pareihin. Käyttäjän laitteessa muodostetaan Ed25519-avainpari, josta tulee hänen HomeKit-identiteettinsä. Avainparia käytetään osana HomeKitin lisälaiteprotokollaa (HomeKit Accessory Protocol, HAP) Applen laitteiden ja niiden HomeKit-lisälaiteiden välisen suoran tiedonsiirron todennuksessa.
Jos kodissa on käytössä kodin keskitin, jaetun kodin jäsenet voivat lähettää komentoja lisälaitteille tämän kodin keskittimen kautta. Nämä komennot lähetetään päästä päähän salattuina ja todennettuina käyttäjän laitteesta kodin keskittimeen käyttäen Applen identiteettipalvelua Apple Identity Service (IDS). Keskitin välittää ne oikealle lisälaitteelle käyttäen HomeKitin lisälaiteprotokollaa (HAP) tai Matteria, joka on älykotien yhteysstandardi.
Avaimet, jotka tallennetaan avainnippuun ja sisällytetään ainoastaan salattuihin avainnippuvarmuuskopioihin, pidetään ajantasaisina laitteiden välillä käyttäen iCloud-avainnippua.
Viestintä HomeKit-lisälaitteiden välillä
HomeKit-lisälaitteet luovat oman Ed25519-avainparinsa käytettäväksi viestinnässä Apple-laitteiden kanssa. Jos lisälaite palautetaan tehdasasetuksiinsa, luodaan uusi avainpari.
Kun Apple-laite muodostaa suhteen HomeKit-lisälaitteen kanssa, ne vaihtavat avaimia käyttäen Secure Remote Password ‑protokollaa (3072-bittinen) ja lisälaitteen valmistajalta saatua kahdeksannumeroista koodia. Koodi syötetään käyttäjän laitteeseen ja salataan sitten käyttäen ChaCha20-Poly1305 AEAD:tä ja HKDF-SHA512:lla muodostettuja avaimia. Myös lisälaitteen MFi-hyväksyntä tarkistetaan käyttöönoton yhteydessä. Lisälaitteisiin, joilla ei ole MFi-sirua, voidaan sisällyttää tuki ohjelmistotodennukselle iOS 11.3:ssa tai uudemmissa.
Kun laite ja HomeKit-lisälaite viestivät käytön aikana, kumpikin todentaa toisen käyttäen edellä kuvatussa prosessissa vaihdettuja avaimia. Jokaisen istunnon luomiseen käytetään Station-to-Station-protokollaa (STS), ja istunnot salataan käyttäen HKDF-SHA512:lla muodostettuja avaimia, jotka perustuvat istuntokohtaisiin Curve25519-avaimiin. Tämä koskee sekä IP-pohjaisia että Bluetooth Low Energy (BLE) ‑lisälaitteita.
Jos BLE-laite tukee ilmoitusten yleislähetystä, lisälaite saa yleislähetyksen salausavaimen pariksi asetetulta laitteelta suojatussa istunnossa. Tätä avainta käytetään lisälaitteen tilamuutostietojen salaamiseen, kun muutoksista ilmoitetaan BLE-mainoksilla. Yleislähetyksen salausavain muodostetaan käyttäen HKDF-SHA512:ta, ja tiedot salataan käyttäen ChaCha20-Poly1305 AEAD ‑algoritmia. Yleislähetyksen salausavain vaihdetaan ajoittain ja päivitetään muihin laitteisiin käyttäen iCloudia. Tästä kerrotaan osiossa HomeKitin tietojen suojaus.
Viestintä Matter-lisälaitteiden kanssa
Matter-lisälaitteita käytettäessä identiteetti ja suojaus perustuvat varmenteisiin. Apple-kodeissa luottamuksen perustana toimiva varmentaja (CA) luodaan alkukäyttäjän (”omistaja”) laitteessa, ja varmentajan yksityinen avain tallennetaan hänen iCloud-avainnippuunsa. Kukin kodin Apple-laite tekee varmenteen allekirjoituspyynnön (CSR) käyttäen NIST P256:ta. Varmenteen allekirjoituspyyntö menee omistajan laitteelle, joka luo toiselle laitteelle Matter-identiteettivarmenteen käyttäen varmentajan yksityistä avaintaan. Sen jälkeen tätä varmennetta käytetään viestinnän todentamiseen käyttäjän laitteiden ja lisälaitteiden välillä.
Matter-lisälaitteet muodostavat oman NIST P256 ‑avainparinsa ja varmenteen allekirjoituspyyntönsä ja saavat varmenteen varmentajalta lisälaitteen parinmuodostuksen aikana. Ennen avainparien muodostamista Matter-lisälaite ja kodin omistajan laitteet vaihtavat avaimia SPAKE2+-protokollaa ja lisälaitteen valmistajalta saatua PIN-koodia käyttäen ja lisälaitteelle suoritetaan laitteen todennusprosessi (Device Attestation). Sitten varmenteen allekirjoituspyyntö ja varmenne vaihdetaan tässä kanavassa salattuina AES-CCM-salauksella, jossa käytetään HKDF-SHA256:lla muodostettuja avaimia. Jos lisälaite palautetaan tehdasasetuksiinsa, muodostetaan uusi avainpari ja varmenteen allekirjoituspyyntö ja lisälaitteelle annetaan laitteiden parinmuodostuksen aikana uusi varmenne.
Kun Apple-laite ja Matter-lisälaite viestivät käytön aikana, kumpikin todentaa toisen käyttäen omia varmenteitaan. Jokaisen istunnon luomiseen käytetään kolmivaiheista protokollaa (sigma), ja istunnot salataan käyttäen HKDF-SHA256:lla muodostettuja avaimia, jotka perustuvat istuntokohtaisiin P256-avaimiin.
Jos haluat lisätietoja Apple-laitteiden suojatusta vuorovaikutuksesta Matter-lisälaitteiden kanssa, katso Matter support in iOS 16 Apple Developer ‑verkkosivustolla.
HomeKit ja Siri
Siriä voidaan käyttää lisälaitteiden kyselyihin ja hallintaan, ja sillä voidaan aloittaa tilanteita. Sirille annetaan tietoja kodin määrityksistä mahdollisimman niukasti ja anonyymissa muodossa. Siri saa tiedoista komentojen tunnistamista varten tarvittavat huoneiden, lisälaitteiden ja tilanteiden nimet. Sirille lähetettävässä äänisisällössä saatetaan ilmaista tiettyjä lisälaitteita tai komentoja, mutta näitä Siri-tietoja ei yhdistetä muihin Applen ominaisuuksiin kuten HomeKitiin.
Siriä tukevat HomeKit-lisälaitteet
Käyttäjät voivat ottaa käyttöön uusia ominaisuuksia kuten Sirin sekä muita HomePodin ominaisuuksia kuten ajastimet, herätykset, intercomin ja ovikellon Siriä tukevissa lisälaitteissa Koti-appia käyttäen. Kun nämä ominaisuudet on otettu käyttöön, lisälaite tekee yhteistyötä sen parina olevan HomePodin kanssa lähiverkossa, jossa nämä Applen ominaisuudet toimivat. Ääni siirretään laitteiden välillä salattujen kanavien kautta käyttäen sekä HomeKit- että AirPlay-protokollia.
Kun ”Reagoi Hei Siri ‑kutsuun” on päällä, lisälaite kuuntelee ”Hei Siri” ‑lausahdusta käyttäen paikallisesti toimivaa käynnistyslausahduksen tunnistusohjelmaa. Jos tämä ohjelma tunnistaa lausahduksen, se lähettää äänikehykset suoraan parina olevalle HomePodille käyttäen HomeKitiä. HomePod tarkistaa äänimateriaalin uudestaan ja voi kumota ääni-istunnon, jos lausahdus ei vaikuta sisältävän käynnistyslausahdusta.
Kun Sirin käyttö koskettamalla on päällä, käyttäjä voi aloittaa keskustelun Sirin kanssa painamalla lisälaitteessa tätä tarkoitusta varten olevaa painiketta. Äänikehykset lähetetään suoraan parina olevaan HomePodiin.
Kun onnistunut Siri-kutsu tunnistetaan, HomePod lähettää äänen Siri-palvelimille ja toteuttaa käyttäjän aikeen käyttäen samoja suojauksen, yksityisyyden ja salauksen suojakeinoja kuin silloin, jos käyttäjän kutsut tehdään HomePodille itselleen. Jos Siri vastaa äänellä, Sirin vastaus lähetetään lisälaitteeseen AirPlay-äänikanavan kautta. Jotkin Siri-pyynnöt vaativat käyttäjältä lisätietoja (esimerkiksi kysymys, haluaako käyttäjä kuulla lisää vaihtoehtoja). Tässä tapauksessa lisälaite saa merkin, että käyttäjän toimintaa tarvitaan, ja uusi äänimateriaali striimataan HomePodiin.
Lisälaitteessa täytyy olla näkyvä merkki, joka kertoo käyttäjälle, milloin se kuuntelee aktiivisesti (esimerkiksi merkkivalo). Lisälaitteella ei ole tietoa Siri-pyynnön aikeesta lukuun ottamatta pääsyä äänivirtoihin, eikä käyttäjän tietoja tallenneta lisälaitteeseen.