Apple ujawnia szczegóły techniczne działania Contact Key Verification

imagazine.pl 1 rok temu

Apple uruchomiło wczoraj, w ostatniej wersji beta systemu iOS/iPadOS 17.3, nową funkcję bezpieczeństwa iMessage o nazwie Contact Key Verification. Poznaliśmy też podstawy jej działania, ale samo Apple opublikowało szczegóły techniczne dotyczące mechanizmu zabezpieczeń iMessage.

W skrócie: nowa funkcja bezpieczeństwa iMessage ochroni nas przed zagrożeniem, którego de facto nigdy w historii nie użyto (przynajmniej nie ma informacji na ten temat), ale Apple zdecydowało się zrobić wszystko, aby tak pozostało.

Po włączeniu Contact Key Verification, dostaniemy automatyczne alerty, jeżeli usługi dystrybucji kluczy iMessage będą zwracały klucze urządzeń, które nie zostały zweryfikowane (np. jeżeli do konta iMessage dodano nierozpoznane urządzenie). Jeszcze większe bezpieczeństwo zapewni korzystanie z CKV przez FaceTime lub dzięki innej bezpiecznej metody, takiej jak rozmowa telefoniczna.

Apple udostępniło szczegółowe informacje na temat działania nowej funkcji bezpieczeństwa iMessage na swoim blogu Security Research.

Usługa iMessage firmy Apple była pierwszą powszechnie dostępną usługą przesyłania wiadomości, która domyślnie zapewniała bezpieczne szyfrowanie typu end-to-end, począwszy od jej uruchomienia w 2011 roku. Wraz z ewolucją zagrożeń bezpieczeństwa kontynuowaliśmy wzmacnianie iMessage poprzez ulepszanie protokołu o silniejsze prymitywy kryptograficzne i dodawanie solidniejszego zarządzania kluczami, które wykorzystuje sprzętowe zabezpieczenia oferowane przez Secure Enclave. W iOS 14 dodaliśmy BlastDoor, zaawansowany mechanizm, który znacznie utrudnia atakowanie urządzenia złośliwą zawartością w aplikacji Wiadomości. A w iOS 16 wprowadziliśmy tryb Lockdown, przełomową ochronę dla bardzo niewielkiej liczby użytkowników, którzy stoją w obliczu poważnych, ukierunkowanych zagrożeń dla ich cyfrowego bezpieczeństwa – i która obejmuje potężne dodatkowe wzmocnienie bezpieczeństwa w aplikacji Wiadomości, gdy jest włączona.

Dziś chcielibyśmy powiedzieć więcej na temat naszego kolejnego znaczącego postępu w zakresie bezpieczeństwa iMessage: Weryfikacji klucza kontaktu. Nowa funkcja została zaprojektowana do wykrywania wyrafinowanych ataków na serwery iMessage i umożliwia użytkownikom sprawdzenie, czy prowadzą korespondencję tylko z tymi osobami, z którymi zamierzają.

Jak to dokładnie działa?

iMessage wykorzystuje szyfrowanie typu end-to-end, aby zapewnić, iż tylko nadawca i odbiorca wiadomości mogą ją odczytać. Każde urządzenie na koncie iMessage użytkownika generuje własny zestaw kluczy szyfrowania, a klucze prywatne nigdy nie są eksportowane do żadnego zewnętrznego systemu. zwykle dostawca usługi szyfrowanych wiadomości typu end-to-end obsługuje usługę katalogu kluczy, która mapuje identyfikator użytkownika – taki jak adres e-mail lub numer telefonu – na klucze publiczne dla wszystkich z zarejestrowanych urządzeń.

Gdy Marta chce wysłać wiadomość do Jacka, urządzenie Marty kontaktuje się z usługą katalogu kluczy i żąda listy kluczy publicznych dla urządzeń Jacka. Urządzenie Marty może następnie rozpocząć zaszyfrowaną rozmowę przy użyciu kluczy szyfrowania otrzymanych dla Jacka i wysłać mu wiadomość przy użyciu metody określonej przez protokół.

Gdzie leży potencjalne zagrożenie?

Usługa katalogowania kluczy (Identity Directory Service – IDS) od Apple zajmuje się także wykrywaniem kluczy. jeżeli jednak atakujący chciałby dokonać przejęcia rozmowy, usługa ta mogłaby zacząć zwracać fałszywe klucze – klucze publiczne, umożliwiając atakującemu kontrolę kluczy prywatnych – co pozwoliłoby mu na przechwytywanie lub niewidoczne monitorowanie zaszyfrowanych wiadomości.

Niektóre komunikatory próbują rozwiązać tę kwestię dzięki aktywnego etapu weryfikacji peer-to-peer, w którym dwóch użytkowników może wzajemnie weryfikować swoje klucze szyfrowania dzięki długich numerów weryfikacyjnych lub kodów QR. Rozwiązanie to jest przydatne do potwierdzenia, iż usługa katalogu kluczy zwróciła prawidłowe klucze publiczne dla określonego zestawu urządzeń użytkownika w określonym momencie. Ponieważ jednak każde urządzenie generuje i przechowuje własne klucze, logowanie się do usługi przesyłania wiadomości na nowym urządzeniu generuje zupełnie nowy klucz; użytkownicy, którzy polegają na manualnej weryfikacji kluczy, musieliby następnie ponownie weryfikować klucze w każdej rozmowie, aby potwierdzić, iż ich rozmowy są bezpieczne, co jest absolutnie niewykonalne z punktu widzenia UX.

Dążąc do „zarówno zabezpieczenia protokołu wykrywania klucza, jak i zapewnienia doskonałego doświadczenia z użytkowania iMessage”, Apple zbudowało Contact Key Discovery wokół sześciu wymagań:

  • Zabezpieczenia źródła prawdy dla kluczowych materiałów i metadanych w sposób, który nie może zostać zmieniony przez nieautoryzowane podmioty, w tym operatora usługi katalogowania kluczy.
  • Automatyczną weryfikację kluczowych materiałów i metadanych prezentowanych przez usługę katalogową kluczy, względem źródła prawdy.
  • Synchronizowanie źródła prawdy na wszystkich obecnych i przyszłych urządzeniach autoryzowanych przez użytkownika dla jego konta.
  • Wykrywanie rozbieżności między tym, co usługa katalogowa kluczy prezentuje dla własnych identyfikatorów użytkownika, a tym, co prezentuje dla tego użytkownika jego partnerom (innym uczestnikom konwersacji).
  • Skalowanie na potrzeby miliardów użytkowników i wszystkich ich konwersacji, w tym dyskusji jeden na jeden i czatów grupowych.
  • Powiadamianie użytkowników tylko wtedy, gdy wystąpi nieoczekiwany status bezpieczeństwa. Ostrzeżenia muszą być rzadkie i dokładne, a system nie może polegać na tym, iż użytkownik zrobi cokolwiek sam, aby się zabezpieczyć ani będzie posiadał wiedzę, która pozwoli samodzielnie określić zagrożenie.

Więcej szczegółowych informacji na temat Contact Key Verification można znaleźć w pełnym poście Apple na ten temat.

Idź do oryginalnego materiału