
Sikkerhed i forbindelse med bilnøgler i iOS
Udviklere kan understøtte sikker nøglefri adgang til at åbne en bil på fra en understøttet iPhone og et parret Apple Watch.
Pardannelse med ejerens enhed
Ejeren skal fremlægge bevis for ejerskab af bilen (metoden afhænger af bilproducenten – ofte skal ejeren medbringe en eller to elektroniske nøgler) og kan så starte pardannelsesprocessen ved at bruge bilproducentens app via et link i en e-mail, som ejeren modtager fra bilproducenten, eller via bilens menu. I alle tilfælde skal ejeren tilføre sin iPhone en fortrolig engangsadgangskode til pardannelse, som bruges til at oprette en sikker kanal til pardannelse via protokollen SPAKE2+ med NIST P-256-kurven for at oprette en sikker Global Platform SCP03-kanal til at overføre data mellem enheden og bilen. Når appen eller linket i e-mailen bruges, overføres adgangskoden automatisk til iPhone, hvor den skal indtastes manuelt, når pardannelsen startes fra bilen.
I processen med pardannelse med ejerens enhed sender bilen en anmodning via SCP03-kanalen og instruerer enhedens Secure Element i at generere et ECC-nøglepar (Elliptic Curve Cryptography). Bilens id og bilens offentlige nøgle knyttes derefter på sikker vis til dette nøglepar. Enhedens offentlige nøgle (device.PK) sendes tilbage til bilen i et X.509-certifikatformat sammen med en certifikatkæde, der kan bekræftes med bilproducentens offentlige rodcertifikatnøgle (root.PK), som integreres i bilen på fremstillingstidspunktet. Dette gør kontrol og accept af enhedens offentlige nøgle som ejernøglen mulig.
Ejernøglen i enhedens Secure Element binder også bilproducentens root.PK, som leveres af bilen via SCP03-kanalen, på sikker vis til device.PK til nøgledeling.
Hvis det er nødvendigt til forsikringsformål, skal hver ejers nøgle være registreret på bilproducentens server. Enheden sender sin device.PK-certifikatkæde til bilproducentens nøglesporingsserver (KTS), som sender en signatur tilbage for at bekræfte registreringen. Enheden leverer signaturen til bilen ved slutningen af pardannelsen med ejerens enhed eller ved den næste standardtransaktion med bilen (se nedenfor), og bilen aktiverer ejerens nøgle, hvis KTS-signaturen er blevet bekræftet. KTS-signaturnøglerne ejes af bilproducenten.
Deling af nøgler
Afsenderens iPhone kan dele nøgler til enheder ved at sende en URL med en invitation til modtageren via en kommunikationskanal, f.eks. e-mail, iMessage, WhatsApp, WeChat eller AirDrop. URL’en fører modtageren til anonymitetsbeskyttet postkasse på en relay-server, som implementeres baseret på en IETF-specifikation. Den private krypteringsnøgle sendes som et fragment i den delte URL.
Under processen anmoder afsenderens iPhone om en brugergodkendelse (Face ID, Touch ID eller indtastning af kode) og en sikker hensigt fra brugerens side som beskrevet i Anvendelsesmuligheder for Optic ID, Face ID og Touch ID. Afsenderens godkendelse lagres midlertidigt i Secure Element til senere brug, når modtagerens enhed sender signeringsanmodningen tilbage.
Afsenderen kan med henblik på ekstra sikkerhed kræve, at modtageren bruger en af de to tilgængelige aktiveringsmuligheder, der understøttes af bilproducenten, eller at koden indtastes på modtagerenheden for at aktivere den delte nøgle.
Når invitationen er accepteret, henter modtagerens enhed data om nøgleoprettelse fra relay-serverens postkasse og opretter en digital nøgle i overensstemmelse med CCC Digital Key Specification. Nøglen signeres af afsenderen som et led i processen til nøgleoprettelse. Modtagerenheden sender certifikatkæden til nøgleoprettelse tilbage vha. relay-serveren til afsenderens iPhone. Afsenderens iPhone bruger derefter root.PK, der er integreret i Secure Element, til at bekræfte, at modtagerens nøgle blev oprettet med den forventede certifikatkæde. Hvis bekræftelsen lykkes, signerer afsenderens iPhone den ECC-offentlige nøgle fra modtagerenheden og sender signaturen tilbage til modtageren vha. relay-serveren. Signaturen godkendes ved at bruge godkendelsen fra afsenderen, der tidligere blev lagret i Secure Element.
Nøgletilladelserne og afsenderens signatur overføres til bilen, når den delte nøgle bruges første gang i bilen (se Standardtransaktioner). Tilladelserne beskriver følgende:
Adgangsniveau: F.eks. lås op eller kør.
Politik for videredeling: F.eks. ingen videredeling, begrænset videredeling eller ubegrænset videredeling (i forhold til at dele kædelængde).
Nogle bilproducenter kræver, at hver delt nøgle registreres på bilproducentens server. Hvis det er nødvendigt, sender modtagerenheden device.PK-certifikatkæden til bilproducentens KTS, som returnerer en signatur for at bekræfte registreringen. Modtagerenheden fremviser signaturen til bilen i den første transaktion med bilen (se Standardtransaktioner). Bilen kontrollerer signaturen og, hvis KTS-signaturen er blevet bekræftet, aktiverer den delte nøgle. Signaturnøglerne ejes af bilproducenten.
Sletning af nøgler
Nøgler kan slettes på følgende måder:
På nøgleindehaverens enhed
Fra ejerens enhed
Fra en delingsenhed med korrekte godkendelser
Når de er i bilen
Sletning på nøgleindehaverens iPhone træder straks i kraft, også selvom nøgleindehaveren bruger nøglen, eller hvis enheden ikke har forbindelse til internettet.
Sletning af nøgler i bilen er måske muligt i henhold til bilproducentens politik:
Altid
Kun, når bilen er online
Kun, når der er en elektronisk nøgle til stede (for at undgå, at brugeren strander uden en nøgle)
I hvert tilfælde rapporteres sletningen på nøgleindehaverens enhed eller i bilen til KTS’en hos bilproducenten, som registrerer udstedte nøgler til en bil til forsikringsformål.
Ejeren og brugere kan anmode om sletning med en ekstern anmodning om ophør, der er signeret af den private nøgle (device.SK) tilhørende personen, der sender anmodningen, ved at vælge brugerne på kontolisten over delte nøgleindehavere på bagsiden af deres bilnøglekort i Apple Wallet. Anmodningen sendes først til bilproducenten for at fjerne nøglen i bilen. Betingelserne for, at nøglen kan fjernes fra bilen, er defineret af bilproducenten (som anført ovenfor). Først når nøglen er fjernet fra bilen, sender bilproducenten en signeret ekstern anmodning om ophør til nøgleindehaverens enhed.
Når en nøgle er bragt til ophør i en enhed, opretter den miniapp, som administrerer digitale bilnøgler, en kryptografisk signeret ophørsattest, som bruges som bevis for sletningen af bilproducenten og til at fjerne nøglen fra nøgleopbevaringsserveren.
Anonymitet
Bilproducentens KTS opbevarer ikke enhedens id, SEID eller Apple-konto. Den opbevarer kun et id, der kan ændres – certifikatmyndighedens instans-id. Dette id er ikke knyttet til nogen private data i enheden eller på serveren, og det slettes, når brugeren starter Slet alt indhold og alle indstillinger.
CCC-standarden kræver også, at KTS-oplysningerne holdes fortrolige hos bilproducenten og kun bruges i forsikringsanmodninger eller andre gyldige anmodninger.
Nøgleregistreringsdata (nøgle-id, bil-id, bilens offentlige nøgle, enhedens offentlige nøglecertifikatkæde, nøgletilladelser), der sendes af enheden til KTS’en, krypteres med en offentlig nøgle til privat kryptering. Apple-servere, der sender nøgleregistreringsdata fra enheden til bilproducentens server, kan ikke dekryptere disse data. Apple ved ikke, hvem ejeren har delt nøgler til sin bil med.
Andet tilbehør til iPhone eller Apple Watch, som ikke kan godkende til enheden, kan ikke modtage et stabilt id via en standardtransaktion eller hurtig transaktion via NFC eller Bluetooth. Hvis enheden ikke genkender bilens id (f.eks. ved en fejl at forsøge at få adgang til en bil, der minder om nøgleindehaverens bil), bruger miniappen i Secure Element en erstatningsnøgle, der genererer tilfældige værdier i stedet for meningsfulde nøgler eller kryptogrammer.
Den første Bluetooth-forbindelse beskyttes af brugen af midlertidige nøgler, der leveres, når bilnøglen deles eller af bilproducenten som svar på anmodningen om nøglesporing.