^
Works with Apple Find My

Sieć Find My… jako medium do komunikacji? Da się zrobić!

Jaromir Kopp

12 maja 2021

Fabian Bräunlein wykorzystał sieć Find My… do przesyłania własnych danych za pomocą mikrokontrolera ESP32 do Maca. Jego oprogramowanie potrafi wysłać dane z urządzenia, które nie ma dostępu do internetu.

Find My… wykorzystana

Łączność p2p (peer-to-peer) nie jest niczym nowym. Już wcześniej pojawiały się komunikatory, które za pomocą Bluetooth LE i sieci wielu urządzeń łączących się tym standardem, przesyłały informacje bez użycia internetu. Warunkiem jest gęstość „węzłów”, które same mogą stanowić sieć. 

Find My… również tworzy coś w rodzaju sieci, jednak tylko pierwszy etap, obywa się bez internetu. AirTag, czy inne urządzenia zgodne, wysyłają swój identyfikator za pomocą Bluetooth LE do napotkanych urządzeń Apple z włączoną funkcją Find My, a dalej transmisja odbywa się przez internet. 

Wg autora projektu sieć Find My… mogłaby być użyta np. do transmisji danych z sensorów, które nie mają dostępu do sieci i muszą bardzo oszczędzać energię. Ten pomysł wydaje mi się bardzo interesujący.

Okazuje się, że cała prywatność Find My… opiera się na szyfrowaniu lokalizacji. Ponieważ Tagi często zmieniają klucz, który rozgłaszają przez Bluetooth, system nie wie, które klucze publiczne należą do Twojego AirTag. Aby odczytać komunikat, wystarczy być uwierzytelnionym dowolnym kluczem. 

Bezpieczeństwo polega wyłącznie na szyfrowaniu raportów dotyczących lokalizacji: Lokalizacja może zostać odszyfrowana tylko za pomocą prawidłowego klucza prywatnego, który jest niemożliwy do sforsowania i jest przechowywany tylko na sparowanym urządzeniu właściciela.

Jednak komunikat można odczytać. Jeżeli urządzenie emulujące AirTag wyśle wiadomość, zaszyfrowaną w sposób, który potrafimy odkodować, wystarczy, że znany jego identyfikator. W ten sposób można przesłać informację z „sensora” udającego AirTag do naszego Maca z odpowiednim softem za pomocą sieci Find My. 

To wcale nie jest naruszenie bezpieczeństwa tej sieci, a jedynie jej „nadużycie”. Apple niespecjalnie limituje ilość przesyłanych danych, choć oczywiście są to niewielkie pakiety bajtów.

Podczas testów udawało się przesłać około 3 bajtów na sekundę. Opóźnienie w przesyle danych wahało się do minuty do godziny w zależności od ilości urządzeń Apple w pobliżu nadającego mikrokontrolera

Masz ESP32? Możesz sam użyć sieci Find My

Cały projekt wraz z kodem do mikrokontrolera ESP32, który będzie „nadawał” wiadomości oraz plugin do Apple Mail do ich odszyfrowywania można pobrać z Githuba. Zasada działania jest opisana na blogu: Send My: Arbitrary data transmission via Apple’s Find My network.

Jaromir Kopp

Użytkownik komputerów Apple od 1991 roku. Dziennikarz technologiczny, programista i deweloper HomeKit. Propagator przyjaznej i dostępnej technologii. Lubi programować w Swift i czystym C. Tworzy rozwiązania FileMaker. Prowadzi zajęcia z IT i programowania dla dzieci oraz młodzieży, szkoli też seniorów. Współautor serii książek o macOS wydanych przez ProstePoradniki.pl. Projektuje, programuje oraz samodzielnie wykonuje prototypy urządzeń Smart Home. Jeździ rowerem.
Komentarze (3)
L

3 komentarze

  1. GPs

    Hmm to dlatego ikona-strzałka od aktywności GPS świruje jak szalona. Np pisząc tą wiadomość nawala cały czas. Tak, mam tylko aktywne znajdź mój iphone. Mapy tylko podczas włączonej aplikacji. Ktoś ma jeszcze taki problem ? Taka aktywność mam od wersji ios 14

    • Jaromir Kopp

      Dlaczego uważasz to za problem? Wyłącz pokazywanie aktywności GPS dla usług systemowych, jak Cię drażni

      • Gpss

        Problem ? Być może, bo jeśli jest aktywny gps tzn , że pobiera więcej baterii a jest naprawdę nadaktywny ten gps jak dziecko z ADHD. Przed iosem 14 tego problemu nie było. No mogłbym wyłączyć ikonę gps, również dobrze mogliby dać opcje wyłączenia zielonej/pomarańczowej kropki bo w ustawieniach prywatności jest wprost info która aplikacja do czego ma dostęp.