På mandag præsenterede Apple på WWDC en fantastisk ny funktion kaldet “Find My” «Find My iPhone» uden sim-kort og GPS. For eksempel, laptops, eller endda uden “dumme” lokationsmærker Ideen er at gøre hele det eksisterende netværk af iPhones til et stort crowdsourcing-system til sporing af omkringliggende objekter. Hver aktiv iPhone vil konstant overvåge BLE-signalernes meddelelser, som kommer fra andre enheder. Når den finder et af disse signaler, markerer den pakken med sine GPS-koordinater - og sender det til Apples servere. Dette er virkelig fantastisk for personer som mig, der konstant mister ting: hvis jeg efterlader min rygsæk i en turistbus i Kina, så vil nogen før eller siden støde på dens signal - og jeg vil straks vide, hvor jeg kan finde det.
(Det skal bemærkes, at ideen ikke er opfundet af Apple. Virksomheder som
Tile Hvis ovenstående beskrivelse ikke imponerede dig, så lad mig stille det spørgsmål, du bør stille:
hvordan vil dette system beskytte mod omfattende overtrædelser af privatlivets fred? Lad os list nogle potentielle problemer:
Hvis enheden konstant udsender et BLE-signal, der entydigt identificerer den, så har alle nu (endnu en) måde at spore dig på. Marketingfolk bruger allerede MAC-adresser fra WiFi og Bluetooth til dette, og funktionen
- Find My skaber endnu en sporingskanal. Det afslører også dem, der
- deltager i processen. Nu vil disse personer sende deres aktuelle placering til Apple (måske gør de det allerede). Men nu skal de dele disse oplysninger med fremmede, der “taber” deres enheder. Dette kan ende dårligt. også Svindlere kan også iværksætte aktive angreb, hvor de forfalsker din enheds placering. Selvom det virker usandsynligt, så overrasker mennesker altid.
- Snydtere kan også udføre aktive angreb, hvor de forfalsker din enheds placering. Selvom det virker usandsynligt, overrasker folk altid.
Den gode nyhed er, at Apple hævder, at systemet faktisk sikrer pålidelig fortrolighed gennem korrekt anvendelse af kryptografi. Men som sædvanligt har de nægtet at oplyse detaljerne i implementeringen. Andy Greenberg i Wired delte en delvis ifølge Apple, som hjælper med at forstå meget. Desværre efterlader denne fortælling stadig enorme huller. Det er disse, jeg vil forsøge at fylde ud ved at foreslå den mest sandsynlige beskrivelse af, hvad Apple faktisk laver.
En stor forbehold: meget kan vise sig at være helt forkert. Jeg opdaterer artiklen, når Apple fortæller mere.
Nogle vigtige problemer
For at skitsere scenariet skal vi introducere et par enheder. Til inspiration tager vi tv-serien fra 1950'erne 'Lassie'.
Den første enhed, vi vil kalde Timmy, "er blevet væk". Den Timmy har en BLE-radiosender, men ingen GPS eller internetforbindelse. Heldigvis har den allerede været parret med en anden enhed kaldet Ruth, som ønsker at finde den. Vores hovedperson er Lassie: en iPhone fra en tilfældig (og uvidende) fremmed, som (lad os antage) har mindst en periodisk internetforbindelse og pålidelig GPS. Og også, Lassie er en meget god hund. De netværksforbundne enheder interagerer gennem Apples iCloud-servere, som vist nedenfor:

(Da Timmy og Ruth de skal være parret på forhånd, tilhører de sandsynligvis den samme person. Jeg nævnte, at du skal købe to Apple-enheder for at systemet fungerer? Dette passer Apple fint).
Vi betragter et sikkerhedssystem, så det første spørgsmål er: hvem er skurken? В этой ситуации ответ неприятный: en potentiel angriber kan være hvem som helst. Det er derfor, problemet er så interessant.
At holde Timmy anonym
Det mest vigtige aspekt af systemet er, at man ikke kan tillade, at uvedkommende kan spore Timmy, især når han ikke er væk. Dette udelukker nogle temmelig åbenlyse løsninger, såsom når enheden Timmy bare råber: "Hej, jeg hedder Timmy, ring venligst til min mor Ruth og sig, at jeg er blevet væk". Dette udelukker også stort set enhver uforanderlig statisk identifikator, selv ikke-gennemsigtige og tilsyneladende tilfældige.
Det seneste krav er baseret på den triste erfaring fra tjenester, der misbruger statiske identifikatorer (for eksempel, ) til at spore enheders bevægelse. Apple mod denne overvågning ved at randomisere identifikatorer, såsom MAC-adresser. Hvis Apple tilføjer en statisk tracking-id til 'Find My', vil alle problemer kun blive værre.
Dette krav betyder, at enhver meddelelse, der sendes Timmy, skal være uigennemsigtig. Desuden skal indholdet af disse meddelelser relativt ofte ændres til nye værdier, som ikke kan forbindes med de gamle. En åbenlys måde for den sammenkoblede enhed at genkende sådanne meddelelser på er at få Timmy og Ruth til at godkende en lang liste af tilfældige '' for Timmy, og lad Timmy vælge en anden hver gang.
Dette hjælper virkelig. Hver gang Lassie ser en eller anden (ukendt) enhed, der sender en identifikator, vil den ikke vide, om den tilhører Timmy: men den kan sende den til Apples servere sammen med sin egen GPS-placering. I tilfælde af at Timmy går tabt, Ruth kan anmode Apple om at finde alle mulige aliaser. TimmyI denne situation vil ingen uden for Apple kende denne liste, og selv Apple vil kun få kendskab til den, hvis nogen går tabt, så denne tilgang forhindrer de fleste former for overvågning.
En lidt mere effektiv måde at implementere denne idé på er at bruge en kryptografisk funktion (for eksempel MAC eller en hash-funktion) til at generere en liste af aliaser fra et kort 'seed', hvis kopi opbevares Timmy og Ruth. Det er godt, fordi det reducerer mængden af opbevarede data. Men for at finde Timmy, Ruth skal den stadig sende alle aliaser - eller seed - til Apple, som så skal finde hver alias i sin database.
Skjul din lokation for Læsi
Den beskrevne tilgang med aliaser burde godt kunne skjule identiteten Timmy fra Lassie og selv for Apple (indtil Ruth begynder at lede efter den). Men der er en stor ulempe: den skjuler ikke GPS-koordinaterne Lassie.
Det er dårligt, i hvert fald af flere grunde. Hver gang, når Lassie opdager et hvilket som helst apparat med BLE-signal, skal det sende sin nuværende position (sammen med det pseudonym, det ser) til Apples servere. Det betyder, at Lassie den konstant fortæller Apple, hvor det befinder sig. Og desuden, selvom Apple lover ikke at opbevare identitet Lassie, resulterer alle disse meddelelser i en enorm centraliseret database, der viser alle GPS-positioner, hvor der er opdaget ethvert Apple-apparat.
Bemærk, at sådanne data i sig selv giver meget information. Ja, apparatidentifikatorer kan være pseudonymer – men det gør ikke informationen ubrugelig. For eksempel, hvis et Apple-apparat udsender de samme koordinater hver aften, så afslører det en sandsynlig adresse for en persons opholdssted.
Den åbenlyse måde at forhindre Apple i at afsløre disse data er at kryptere dem, så informationen kun kan ses af dem, der virkelig man skal behøver at kende apparatets position. Hvis Lassie modtager en meddelelse fra Timmy, så er den eneste person, der virkelig har brug for at vide positionen Lassie, det er Ruth. For at holde denne information hemmelig, Lassie skal kryptere sine koordinater med en offentlig nøgle Ruth.
Selvfølgelig opstår spørgsmålet: hvordan Lassie får nøglen Ruth? Очевидное решение для Timmy – råbe den offentlige nøgle Ruth i hver af sine udsendelser. Men det skaber en statisk identifikator, som igen tillader at spore Timmy.
For at løse dette problem er det nødvendigt, at Ruth har mange uafhængige offentlige nøgler, så Timmy kan udsende forskellige nøgler med hver udsendelse. En mulighed er at få Ruth og Timmy til at generere mange forskellige par af nøgler (eller generere mange af disse par fra en fælles seed). Men det er irriterende, og Ruth man skal gemme mange hemmelige nøgler. Og de identifikatorer, der er nævnt i det foregående afsnit, kan opnås ved at hash hver offentlig nøgle.
En lidt bedre tilgang (som Apple kan bruge eller ikke) indebærer randomisering af nøgler. Det er en funktion i nogle kryptosystemer, såsom : den , så den ikke har nogen forbindelse til originalen. Den bedste del af denne funktion er, at Ruth kan bruges en hemmelig nøgle uanset hvilken randomiseret version af dens offentlige nøgle der blev brugt til kryptering.

Alt dette fører til den endelige idé om protokollen. I hver transmission Timmy overfører et nyt kaldenavn og en randomiseret kopi af den offentlige nøgle Ruth. Når Lassie den modtager transmissionen, krypterer den sine GPS-koordinater med den offentlige nøgle og sender den krypterede besked til Apple. Ruth kan sende kaldenavne Timmy til Apples servere, og hvis Apple finder et match, kan de modtage og dekryptere GPS-koordinaterne.
Løser det alle problemer?
Det ubehagelige er, at der ikke er nogen perfekt løsning til mange mærkelige grænsetilfælde. For eksempel, hvad hvis en Timmy har skumle hensigter og vil tvinge Lassie til at afsløre sin placering til Apple? Hvad hvis Old Man Smithers forsøger at kidnappe Lassie?
På et tidspunkt kommer svaret på dette spørgsmål ned til, at vi har gjort alt, hvad vi kunne: eventuelle resterende problemer bør bringes uden for trusselmodellen. Nogle gange ved selv Lassie, hvornår man skal stoppe.
Kilde: habr.com
