Jak Apple (prywatnie) znajdzie w offline Twoje zgubione urządzenie?

W poniedziałek podczas konferencji WWDC firma Apple zaprezentowała nową, ciekawą funkcję pod nazwą „Find My”. W przeciwieństwie do standardowego „Znajdź mój iPhone”, który polega na infrastrukturze sieci komórkowej i GPS zgubionego urządzenia, funkcja „Znajdź mnie” jest w stanie zlokalizować nawet urządzenia bez bez karty SIM i GPS. Na przykład, laptopy czy nawet „głupie” lokalizatory, przyczepione do dowolnego przedmiotu (Apple jedynie zasugerowała to ogólnie).

Pomysł polega na przekształceniu całej istniejącej sieci iPhone'ów w dużą, crowdsourcingową systemu do śledzenia otaczających obiektów. Każdy aktywny iPhone będzie stale śledził sygnały beaconów BLE, które pochodzą z innych urządzeń. Gdy natrafi na jeden z tych sygnałów, oznacza pakiet swoimi współrzędnymi GPS – i wysyła je na serwery Apple. To wspaniała wiadomość dla takich zapominalskich jak ja, którzy ciągle gubią rzeczy: jeśli zostawię mój plecak w autobusie turystycznym w Chinach, to prędzej czy później ktoś natknie się na jego sygnał – i natychmiast dowiem się, gdzie go znaleźć.

(Warto zauważyć, że ten pomysł nie został wymyślony przez Apple. W rzeczywistości firmy takie jak Tile pracują nad tym od dłuższego czasu. I tak, powinni się martwić o swój biznes).

Jeśli powyższy opis cię nie zachwycił, pozwól, że zadam pytanie, które powinieneś zadać: jak ten system zabezpieczy przed masowymi naruszeniami prywatności?

Wymieńmy potencjalne problemy:

  • Jeśli urządzenie nieustannie emituje sygnał BLE, który jednoznacznie je identyfikuje, każdy ma (jeszcze jeden) sposób na śledzenie cię. Marketerzy już korzystają w tym celu z adresów MAC WiFi i Bluetooth, a funkcja Find My tworzy kolejny kanał śledzenia.
  • Odkrywa również tożsamość tych, którzy biorą udział w tym procesie. Teraz ci ludzie będą przesyłać do Apple swoją aktualną lokalizację (możliwe, że już to robią). Ale teraz będą musieli dzielić się tą informacją także z obcymi, którzy „gubią” swoje urządzenia. Może to się źle skończyć.
  • Oszuści mogą również przeprowadzać aktywne ataki, w których podrabiają lokalizację twojego urządzenia. Choć wydaje się to mało prawdopodobne, ludzie zawsze potrafią zaskoczyć.

Dobra wiadomość jest taka, że Apple twierdzi, iż system rzeczywiście zapewnia solidną prywatność dzięki rozsądnemu zastosowaniu kryptografii. Jednak, jak to zwykle bywa, nie zdradzili oni szczegółów implementacji. Andy Greenberg w Wired opisał częściową implementację techniczną według danych od Apple, która pozwala na wiele zrozumieć. Niestety, ta relacja wciąż pozostawia ogromne luki. To je zamierzam wypełnić, przedstawiając najbardziej prawdopodobny opis tego, co Apple tak naprawdę robi.

Ogromna zastrzeżenie: wiele z tego może okazać się zupełnie błędne. Na pewno zaktualizuję artykuł, gdy Apple ujawnia więcej.

Niektóre podstawowe problemy

Aby przedstawić scenariusz, należy wprowadzić do obrazu kilka urządzeń. Dla inspiracji weźmy serial telewizyjny z lat 50. „Lassie”.

Pierwsze urządzenie, które nazwiemy Timmy, "zagubione". Ma Timmy nadajnik BLE, ale nie ma GPS ani połączenia z internetem. Na szczęście już sparował się z drugim urządzeniem o nazwie Ruth, która chce go znaleźć. Nasz główny bohater to Lassie: to iPhone przypadkowego (i nieświadomego tego) nieznajomego, który (przypuśćmy) ma przynajmniej okresowe połączenie z internetem i solidny GPS. A Lassie to naprawdę dobra dziewczyna. Urządzenia sieciowe współdziałają ze sobą za pośrednictwem serwerów iCloud Apple, jak pokazano poniżej:

Jak Apple (prywatnie) znajdzie w offline Twoje zgubione urządzenie?

(Ponieważ Timmy i Ruth muszą być wcześniej sparowane, prawdopodobnie oba należą do tej samej osoby. Wspominałem, że będziesz musiał kupić dwa urządzenia Apple, aby system działał? To całkowicie odpowiada Apple).

Rozważamy system bezpieczeństwa, więc pierwsze pytanie: kto jest złym facetem? В этой ситуации ответ неприятный: potencjalnym napastnikiem może być ktokolwiek. Dlatego problem jest tak interesujący.

Zachowanie anonimowości Timmy'ego

Najważniejszym aspektem systemu jest to, że nie można pozwolić obcym na śledzenie Timmy, szczególnie gdy nie jest zagubiony. To wyklucza niektóre dość oczywiste rozwiązania, na przykład, gdy urządzenie Timmy po prostu krzyczy: "Cześć, nazywam się Timmy, proszę, zadzwoń do mojej mamy Ruth i powiedz jej, że się zgubiłem". To także wyklucza praktycznie każdy niezmienny statyczny identyfikator, nawet nieprzezroczysty i wyglądający losowo.

Ostatnie wymaganie wynika z smutnych doświadczeń serwisów, które nadużywają statycznych identyfikatorów (np. twój adres MAC WiFi) do śledzenia lokalizacji urządzeń. Apple z mieszanym sukcesem walczy z tym śledzeniem poprzez randomizację identyfikatorów, takich jak adresy MAC. Jeśli Apple doda statyczny identyfikator śledzenia do „Find My”, wszystkie problemy tylko się pogłębią.

To wymaganie oznacza, że wszelkie wiadomości przesyłane Timmy, muszą być nieprzezroczyste. Co więcej, treść tych wiadomości powinna stosunkowo często zmieniać się na nowe wartości, których nie da się powiązać ze starymi. Jednym z oczywistych sposobów, by sparowane urządzenie rozpoznało takie wiadomości, jest zmuszenie Timmy i Ruth do uzgodnienia długiej listy losowych „pseudonimów” dla Timmy, i niech Timmy za każdym razem wybiera inny.

To naprawdę działa. Za każdym razem, gdy Lassie widzi jakieś (nieznane) urządzenie przesyłające identyfikator, nie będzie wiedziała, do kogo należy Timmy: ale może przesłać go na serwery Apple razem ze swoją lokalizacją GPS. W przypadku, gdy Timmy zostanie zagubione, Ruth może poprosić Apple o znalezienie wszystkich możliwych pseudonimów Timmy. W tej sytuacji nikt poza Apple nie pozna tej listy, a nawet sama Apple pozna ją dopiero po tym, jak ktoś się zgubi, dlatego takie podejście zapobiega większości możliwości śledzenia.

Nieco skuteczniejszym sposobem realizacji tej idei jest użycie funkcji kryptograficznej (np. MAC lub funkcji haszującej), aby wygenerować listę pseudonimów z jednego krótkiego „sidu”, której kopię przechowuje Timmy i Ruth. To dobre, ponieważ zmniejsza objętość przechowywanych danych. Ale aby znaleźć Timmy, Ruth , wciąż musi przesłać wszystkie pseudonimy — lub sid — do firmy Apple, która będzie musiała wyszukiwać każdy pseudonim w swojej bazie danych.

Ukrycie lokalizacji Lesiego

Opisana metoda z pseudonimami powinna dobrze ukrywać tożsamość Timmy od Lassie nawet przed Apple (aż do momentu, gdy Ruth zacznie go szukać). Jednak istnieje poważna wada: nie ukrywa współrzędnych GPS Lassie.

To źle, przynajmniej z kilku powodów. Za każdym razem, gdy Lassie Gdy urządzenie wykryje jakiekolwiek urządzenie z sygnałem BLE, powinno przesłać na serwery Apple swoje aktualne położenie (wraz z aliasem, który widzi). Oznacza to, że Lassie ciągle informuje Apple, gdzie się znajduje. A co więcej, nawet jeśli Apple obiecuje nie przechowywać tożsamości Lassie, wynikiem wszystkich tych wiadomości jest ogromna scentralizowana baza danych, która pokazuje wszystkie lokalizacje GPS, w których wykryto jakiekolwiek urządzenie Apple.

Zauważ, że zbiór takich danych sam w sobie przekazuje bardzo wiele informacji. Tak, identyfikatory urządzeń mogą być aliasami — ale to nie czyni tych informacji bezużytecznymi. Na przykład, jeśli jakieś urządzenie Apple przesyła te same współrzędne wieczorami, to daje to prawdopodobny adres zamieszkania osoby.

Jasnym sposobem na zapobieżenie ujawnieniu tych danych przez Apple jest ich zaszyfrowanie, aby informacje były widoczne tylko dla tych, którzy naprawdę trzeba muszą znać lokalizację urządzenia. Jeśli Lassie odbierze wiadomość od Timmy, to jedyną osobą, która naprawdę musi znać lokalizację Lassie, jest Ruth. Aby zachować tę informację w tajemnicy, Lassie powinna zaszyfrować swoje współrzędne kluczem publicznym Ruth.

Oczywiście pojawia się pytanie: jak Lassie uzyska klucz Ruth? Очевидное решение для Timmy — krzyczeć klucz publiczny Ruth w każdej swojej transmisji. Ale to stworzyłoby statyczny identyfikator, który znowu pozwoliłby na śledzenie Timmy.

Aby rozwiązać ten problem, potrzebne jest, aby Ruth było miało wiele niezwiązanych kluczy publicznych, aby Timmy mogło wydawać różne klucze przy każdej transmisji. Jednym z rozwiązań jest zmuszenie Ruth i Timmy do generowania wielu różnych par kluczy (lub generowania wielu takich par z wspólnego ziarna). Ale to jest irytujące, a Ruth będzie musiało przechowywać wiele tajnych kluczy. A identyfikatory, wspomniane w poprzednim rozdziale, mogą być uzyskane przez haszowanie każdego klucza publicznego.

Nieco lepsze podejście (które Apple może zastosować lub nie) zakłada randomizację kluczy. To cecha niektórych systemów kryptograficznych, takich jak Elgamal: pozwala każdej stronie randomizować klucz publiczny , tak że nie ma on żadnego związku z oryginałem. Najlepsza część tej funkcji polega na tym, żejeden klucz tajny niezależnie od tego, która z randomizowanych wersji jego klucza publicznego była używana do szyfrowania Ruth może używać ..

Jak Apple (prywatnie) znajdzie w offline Twoje zgubione urządzenie?

To wszystko prowadzi do ostatecznej idei protokołu. W każdej transmisji Timmy przekazuje nowy pseudonim i losową kopię klucza publicznego Ruth. Kiedy Lassie otrzymuje transmisję, szyfruje swoje koordynaty GPS kluczem publicznym i wysyła zaszyfrowaną wiadomość do Apple. Ruth może przesyłać pseudonimy Timmy na serwery Apple, a jeśli Apple znajdzie zgodność, będzie mogło uzyskać i odszyfrować koordynaty GPS.

Czy to rozwiązuje wszystkie problemy?

Niestety, nie ma idealnego rozwiązania dla wielu dziwnych sytuacji granicznych. Na przykład, co jeśli Timmy złe zamiary i chce zmusić Lassie Apple do ujawnienia swojej lokalizacji? Co jeśli Starik Smithers spróbuje porwać Lassie?

W pewnym momencie odpowiedź na to pytanie sprowadza się do tego, że zrobiliśmy wszystko, co mogliśmy: wszelkie pozostałe problemy powinny być wyłączone z modelu zagrożeń. Czasami nawet Lassie wie, kiedy trzeba się zatrzymać.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster