
Kommunikation af oplysninger i nødsituationer via satellitter
Brugere med iPhone 14 og nyere modeller kan kommunikere via satellitlinks til forskellige tjenester. Satellitlinks har betydelige begrænsninger for båndbredde og kræver sikkerhedsprotokoller med minimalt ressourceforbrug af båndbredde. Apple etablerer uanset kommunikationstypen (Nødopkald SOS, sms eller iMessage) en sikker session mellem enheden uden dækning og et Apple-datacenter. Enheder registrerer på forhånd offentligt nøglemateriale hos serveren via mobilnetværket eller Wi-Fi for at spare båndbredde, når enheden ikke har dækning.
Central sikkerhedsarkitektur
Når en enhed anmoder om en satellittjeneste, opretter den en sikker forbindelse til Apples datacenter ved at referere til en forkortet hash-værdi fra dens offentlige nøgle til nøgleudveksling. Hvert par med offentlige-private nøgler understøtter kun en enkelt session med en maksimal gyldighed på otte timer. Serveren genererer på forhånd et tilsvarende par med offentlige-private nøgler for hvert par med klientnøgler og deler den offentlige nøgle med klienten.
Når sessionen udløber eller slutter, fjerner Apple-servere og enheden de tilsvarende private nøgler og leverer Forward Secrecy. Apple og enhederne registrerer yderligere nøgler med regelmæssige intervaller og efter at enheden er online igen efter brug af en privat nøgle, så der leveres Post-Compromise Security til kommunikation via satellit. Observatører kan ikke identificere brugere ud fra sessions-id'er, da hver enhed udskifter id’er ved hver session for at forhindre tilknytning.
Hjælp i nødsituationer og vejhjælp via satellit
Når brugere benytter SOS eller vejhjælp via satellit, beskytter den sikre forbindelse til Apple (beskrevet ovenfor) indholdet i kommunikationen. Et ekstra krypteringslag sikrer, at indholdet forbliver krypteret hele vejen til appserveren, som videresender disse beskeder til Apple-partnere inden for redningstjenester og vejhjælp med transportkryptering.
iMessage via satellit
Ved udveksling af iMessages via Wi-Fi eller mobilnetværk udveksler enheder nøglemateriale sammen med beskeder, hvis en enhed i afsenderens eller modtagerens gruppe understøtter satellittjeneste. Via denne mekanisme modtager enheder regelmæssigt opdaterede nøgler, så de kan kryptere og dekryptere beskeder, når mobilforbindelse ikke er tilgængelig, og enheden opretter forbindelse til satellit. Som følge af begrænsninger af nøglens levetid skal brugere udveksle beskeder inden for de sidste 30 dage for at kunne kommunikere uden netværk.
Hver enhed genererer symmetrisk nøglemateriale og distribuerer det med kryptering i iMessage, så enhedens egne udgående beskeder krypteres. Hver besked bruger en unik symmetrisk nøgle, der afledes gennem en hash-værdibaseret funktion til nøgleafledning (HKDF) til dens tilsvarende beskedtæller. Når modtagerens enheder modtager en besked, søger de i afsenderens symmetriske nøglemateriale for at aflede den tilsvarende beskednøgle. Når enheden er online igen, distribueres nye symmetriske nøgler til efterfølgende sessioner.
Afsenderenheden sender kun iMessages via satellit, når den modtager en signeret datapakke fra modtageren, der bekræfter, at enheden kan modtage beskeder via satellit.
Bemærk: iMessage vha. satellit understøtter kun en-til-en-beskeder – ikke gruppebeskeder.
Sms via satellit
Når brugere sender eller modtager sms-beskeder via satellit, sendes beskederne til eller kommer fra en netværksbaseret Interworking Function (IWF). IWF modtager beskeder, der er bestemt til klienten uden netværk, fra afsenderens operatør (klienten ser ud til at roame, mens klienten er uden netværk, da den ikke er på operatørens lokale netværk). På samme måde leverer IWF udgående beskeder fra klienten uden netværk til modtagerens operatør. Kryptering og godkendelse beskytter sms-beskeder, der udveksles mellem klienten uden netværk og IWF, så Apple og dem med adgang til satellitsignalet forhindres i at få adgang til og ændre beskederne.
En Diffie-Hellman-nøgleudveksling over NIST P256-kurven starter, mens en klient har netværksadgang og gennemføres, når klienten ikke har netværksadgang og opretter forbindelse til satellitten første gang. Apple og enheden afleder flere nøgler fra denne nøgleudveksling vha. HKDF-SHA-256. En nøgle krypterer symmetrisk (med AES-GCM med en 256-bit nøgle) de klientoplysninger, der er nødvendige for korrekt sms-videresendelse (IMSI og SMSC). Et andet sæt leverer også tovejskryptering med AES-GCM med en 256-bit nøgle af beskeder mellem klienten og IWF.
Da satellitforbindelser har lavere båndbredde og højere latenstid end traditionel mobilkommunikation, er det ikke alle indgående sms-beskeder, der når klienten med det samme, når klienten opretter forbindelse uden netværk for at forhindre, at reklamebeskeder eller beskeder med lav værdi forsinker hentningen af vigtige sms-beskeder. I stedet sender systemet kun indgående beskeder til klienten, hvis enten:
1. klienten, der er uden netværk, har sendt en besked til afsenderen inden for de sidste 24 timer.
2. afsenderen er en godkendt afsender (i brugerens nødkontakter eller iCloud-familiemedlemmer).
Ellers lagrer Apple beskeden krypteret på serverne, indtil klienten er online igen og henter beskederne via traditionelle netværk. Apple sikrer, at IWF ikke læser brugerens liste over godkendte afsendere, så brugernes anonymitet opretholdes.
Klienten bruger HMAC-SHA-256 med en nøgle, der afledt fra sessionens primære nøgle, til at generere tilfældige pseudonymer til hvert telefonnummer i hver session. Når sessionen er etableret, sender klienten pseudonymerne til hvert telefonnummer på listen over tilladte telefonnumre til Apple-serveren. På samme måde genereres og sendes der et pseudonym til Apple, hver gang klienten sender en sms til et telefonnummer. Apple kan dermed opretholde en liste over pseudonymer for tilladte afsendere for sessionen.
Når nogen sender klienten en sms, efter sessionen er etableret, krypterer IWF beskeden og beregner pseudonymet for afsenderens telefonnummer. IWF kommunikerer dette sammen med den krypterede besked til Apple-servere. Serveren sammenligner pseudonymet for afsenderen af den indgående besked med listen over tilladte afsendere og videresender den krypterede besked, hvis der er et match.