Sikkerhet for bilnøkler i iOS
Utviklere kan støtte metoder for sikker, nøkkelfri adgang til kjøretøy ved hjelp av iPhone og en sammenkoblet Apple Watch-enhet som støtter dette.
Sammenkobling med eier
Eieren må bekrefte eierskap av bilen (metoden avhenger av bilprodusenten) og kan starte sammenkoblingsprosessen i bilprodusentens app ved hjelp av en e-postlenke mottatt fra bilprodusenten eller fra bilmenyen. I alle tilfeller må eieren fremvise et konfidensielt engangspassord for sammenkobling for iPhonen, som brukes til å generere en sikker sammenkoblingskanal ved hjelp av protokollen SPAKE2+ med NIST P-256-kurven. Ved bruk av appen eller e-postlenken overføres passordet automatisk til iPhonen, mens det må oppgis manuelt når sammenkobling startes fra enheten.
Deling av nøkkel
Eierens sammenkoblede iPhone kan dele nøkler med kvalifiserte familiemedlemmers og venners iPhone-enheter (og med sammenkoblede Apple Watch-enheter) ved å sende en enhetsspesifikk invitasjon ved hjelp av iMessage og Apple Identity Service (IDS). Alle delingskommandoer utveksles ved hjelp av IDS-funksjonen med gjennomgående kryptering. Eierens sammenkoblede iPhone sørger for at IDS-kanalen ikke endres under delingsprosessen, slik at invitasjonen ikke kan videresendes.
Når invitasjonen godkjennes, oppretter familiemedlemmets eller vennens iPhone en digital nøkkel og sender sertifikatkjeden for nøkkeloppretting tilbake til eierens sammenkoblede iPhone for å bekrefte at nøkkelen ble opprettet på en autentisk Apple-enhet. Eierens sammenkoblede iPhone signerer den offentlig ECC-nøkkelen til det andre familiemedlemmets eller vennens iPhone og sender signaturen tilbake til familiemedlemmets eller vennens iPhone. Signeringsoperasjonen i eierenheten krever brukerautentisering (Face ID, Touch ID eller kode) og en sikker brukerintensjon beskrevet i Bruksområder for Face ID og Touch ID. Autoriseringen kreves når invitasjonen sendes, og den lagres i Secure Element for bruk når venneenheten sender tilbake signeringsforespørselen. Nøkkelrettighetene sendes til bilen enten på nett via bilens OEM-tjener eller den første gangen den delte nøkkelen brukes på bilen.
Sletting av nøkkel
Nøkler kan slettes på nøkkelholderenheten fra eierenheten og i bilen. Sletting på nøkkelholder-iPhonen trer i kraft umiddelbart, selv om nøkkelholderen bruker nøkkelen. Det vises derfor en sterk advarsel før sletting. Sletting av nøkler i bilen kan være mulig når som helst eller bare når bilen er koblet til internett.
I begge tilfeller rapporteres slettingen på nøkkelholderenheten eller i kjøretøyet til en nøkkelbeholdningstjener (KIS) på bilprodusentens side, som registrerer utstedte nøkler for en bil for forsikringsformål.
Eieren kan kreve en sletting fra baksiden av eierkortet. Forespørselen sendes først til bilprodusenten for nøkkelfjerning i bilen. Vilkårene for fjerning av nøkkelen fra kjøretøyet defineres av bilprodusenten. Kun når nøkkelen fjernes i bilen, sender bilprodusentens tjener en forespørsel om ekstern avslutning til nøkkelholderenheten.
Når en nøkkel avsluttes i en enhet, oppretter appleten som administrerer de digitale bilnøklene, en kryptografisk signert avslutningsattestasjon som brukes som bevis på slettingen av bilprodusenten, og brukes til å fjerne nøkkelen fra KIS.
NFC-standardtransaksjoner
For biler som bruker NFC-nøkkel opprettes det en sikker kanal mellom leseren og en iPhone ved å generere kortvarige nøkkelpar på leseren og iPhone-siden. Ved bruk av en nøkkelavtalemetode kan en delt hemmelighet avledes på begge sider og brukes til generering av en delt symmetrisk nøkkel ved hjelp av Diffie-Hellman, en nøkkelavledingsfunksjon og signaturer fra den langvarige nøkkelen opprettet under sammenkobling.
Den kortvarige offentlige nøkkelen generert på bilsiden signeres med leserens langvarige private nøkkel, som fører til en autentisering av leseren av iPhonen. Fra iPhone-perspektivet er denne protokollen utviklet for å hindre at personvernsensitive data avsløres til uvedkommende som fanger opp kommunikasjonen.
Til slutt bruker iPhonen den opprettede sikre kanalen til å kryptere den offentlige nøkkelidentifikatoren i tillegg til signaturen beregnet på en lesers dataavledede spørsmål og noen ekstra appspesifikke data. Denne verifiseringen av iPhone-signaturen av leseren gjør at leseren kan autentisere enheten.
Raske transaksjoner
iPhonen genererer et kryptogram basert på en tidligere delt hemmelighet under en standardtransaksjon. Dette kryptogrammet gjør det mulig for bilen å autentisere enheten raskt i ytelsessensitive scenarioer. Alternativt opprettes det en sikker kanal mellom bilen og enheten ved å avlede øktnøkler fra en hemmelighet tidligere delt under en standardtransaksjon og et nytt kortvarig nøkkelpar. Bilens evne til å opprette den sikre kanalen autentiserer bilen for iPhonen.
BLE/UWB-standardtransaksjoner
For biler som bruker UWB-nøkkel, opprettes det en Bluetooth LE-økt mellom bilen og iPhone. I likhet med NFC-transaksjonen avledes det en delt hemmelighet på begge sider, og denne brukes til å opprette en sikker økt. Denne økten brukes til å avlede og avtale en URSK (UWB Ranging Secret Key). URSK gis til UWB-radioer i brukerens enhet og i bilen for å sikre nøyaktig lokalisering av brukerens enhet til en konkret posisjon i nærheten av eller inne i bilen. Deretter bruker bilen enhetens posisjon til å ta avgjørelser om å tillate opplåsing eller oppstart av bilen. URSK-er har en forhåndsdefinert TTL. For å unngå avbrudd når TTL utløper kan URSK-er forhåndsavledes i enhetens SE og bilens HSM/SE når sikker rangering ikke er aktivert, men BLE er tilkoblet. På den måten unngår man at en standardtransaksjon må avlede en ny URSK i en tidskritisk situasjon. Den forhåndsavledede URSK-en kan overføres raskt til bilens UWB-radioer og til enheten for å unngå avbrudd i UWB-rangeringen.
Personvern
Bilprodusentens KIS arkiverer ikke enhets-ID, SEID eller Apple-ID. Den lagrer kun en uforanderlig identifikator, forekomstens CA-identifikator. Identifikatoren er ikke bundet til noen private data i enheten eller av tjeneren, og den slettes når brukeren sletter enheten fullstendig (med Slett alt innhold og alle innstillinger).