
Transaktioner i forbindelse med bilnøgler
Bilnøgler kan bruge forskellige transaktionstyper.
Hurtige transaktioner
Den hurtige transaktion bruges kun til at låse bilen op via NFC.
iPhone genererer et AES-128-kryptogram ud fra en nøgle, der tidligere er blevet genereret på begge sider under en standardtransaktion. Dette kryptogram giver bilen mulighed for hurtigt at godkende enheden i situationer, hvor ydeevnen er vigtig, da der kun bruges symmetrisk kryptografi, og der kræves kun en overførsel mellem NFC-læseren og den behandlende elektroniske kontrolenhed (ECU). Hvis bilen kræver læse- eller skriveadgang til enten den private postkasse, den fortrolige postkasse eller begge (hver bilnøgle i Secure Element har sine egne postkasser), etableres der en sikker Global Platform SCP03-kanal mellem bilen og enheden ved at der afledes sessionsnøgler ud fra en nøgle, der tidligere er blevet delt under en standardtransaktion, og et nyt midlertidigt nøglepar. Bilens evne til at etablere den sikre kanal godkender bilen over for iPhone. Hvis bilen lagrer nøgler til flere enheder, skal bilen bruge en ”trial and error”-metode med ”oftest brugt først”-mekanisme for at finde den rigtige symmetriske nøgle, da enheden ikke udsender et sporbart id i den hurtige transaktion, hvor bilen ikke godkendes af enheden.
Hvis der ikke er afledt nogen symmetriske nøgler for transaktionsenheden, bruger bilen den midlertidige offentlige nøgle for bilen (vehicle.PK) til at fortsætte med en standardtransaktion (se Standardtransaktioner herunder).
Standardtransaktioner
Standardtransaktionen bruges til at låse bilen op via NFC, hvis der ikke oprettes symmetriske nøgler til en hurtig transaktion via en tidligere standardtransaktion, eller når en netop delt nøgle interagerer med bilen for første gang (FFT). Den bruges altid til at tillade kørsel.
Bilen etablerer en sikker kanal mellem bilen og en iPhone ved at generere et midlertidigt ECC-nøglepar på læseren og iPhone. Ved hjælp af en ECKA-DH-nøgleaftalemetode kan der dannes en nøgle (“shared secret”) på begge sider, som kan bruges til at generere en delt symmetrisk nøgle til den hurtige transaktion ved brug af Diffie-Hellman, en HKDF-funktion til nøgleafledning (RFC 5869) og signaturer fra den langtidsholdbare nøgle, der blev fastlagt under pardannelsen.
Den midlertidige offentlige nøgle, der blev genereret på bilens side, signeres med læserens langtidsholdbare private nøgle, og resultatet er, at bilen godkendes af iPhone-enheden. Fra iPhone-enhedens perspektiv har denne protokol til formål at forhindre, at data, der hører privatlivet til, kan ses af en hacker, der opsnapper kommunikationen eller efterligner en bil.
iPhone bruger den etablerede, ikke-godkendte sikre kanal til at kryptere sit offentlige nøgle-id sammen med den signatur, der er beregnet ud fra en læsers dataafledte udfordring og nogle ekstra app-specifikke data. Denne validering af iPhone-enhedens signatur fra bilens side sætter læseren i stand til at godkende enheden.
NFC-standardtransaktionen bruges også, første gang en netop delt nøgle nærmer sig bilen (FFT), da bilen endnu ikke kender den nye device.PK. Når brugeren nærmer sig dørhåndtaget, starter bilen en hurtig transaktion, men kan ikke bekræfte kryptogrammet. Den fortsætter med en standardtransaktion (læserkommandoen til den hurtige transaktion, AUTH0, er også den første kommando til standardtransaktionen), opretter en sikker GP SCP03-kanal og læser indholdet i den private postkasse, der bør indeholde en attestering af den nye device.PK, som er signeret af personen, der deler (sharer.PK eller owner.PK er allerede kendt af bilen) og signeret af KTS’en med bilproducentens egen kryptografi. Efter godkendelse af signaturerne accepterer bilen device.PK som en ny nøgle.
BLE/UWB-standardtransaktioner
Til biler, der bruger en ultra-wideband-enabled-nøgle (UWB), etableres en Bluetooth LE-session mellem bilen og iPhone. I lighed med NFC-transaktionen udledes en nøgle (shared secret) på begge sider, som bruges til at etablere en sikker session. Sessionen bruges derefter til at udlede og blive enige om en URSK-nøgle (UWB Ranging Secret Key). URSK'en overføres til UWB-radioen i brugerens enhed og, i en sikker OEM-ejet kanal i bilen, til UWB-ankre.
Bemærk: Ankre er normalt placeret i bilens fire hjørner i kabinen og eventuelt i bilens bagagerum, så nøjagtig og godkendt lokalisering af brugerens enhed til en bestemt position i nærheden af eller i bilen bliver mulig. Bilen bruger derefter enhedens placering til at tillade, om bilen må låses op eller startes.
URSK’er har en foruddefineret udløbstid (time-to-live eller TTL). Med henblik på at undgå afbrydelse af placeringssporing, når en TTL udløber, kan URSK’er udledes på forhånd i enhedens Secure Element og bilens hardwaresikkerhedsmodul (HSM)/Secure Element, mens sikker placeringssporing ikke er aktiv, men Bluetooth er tilsluttet. Det fjerner behovet for, at en standardtransaktion skal udlede en ny URSK i en situation, hvor tiden er kritisk. Den URSK, der er udledt på forhånd, kan meget hurtigt overføres til UWB-radioen i bilen og på enheden for at undgå afbrydelse af UWB-placeringssporingen.