Zamknij reklame

Wysyłanie wiadomości za pośrednictwem iMessage to popularny sposób komunikacji między urządzeniami z systemem iOS a komputerami Mac. Dziesiątki milionów wiadomości są przetwarzane codziennie przez serwery Apple, a wraz ze wzrostem sprzedaży urządzeń ugryzionych przez Apple rośnie także popularność iMessage. Ale czy zastanawiałeś się kiedyś, w jaki sposób Twoje wiadomości są chronione przed potencjalnymi atakującymi?

Niedawno wydany Apple dokument opisujący bezpieczeństwo iOS. Ładnie opisuje mechanizmy bezpieczeństwa stosowane w iOS - system, szyfrowanie i ochrona danych, bezpieczeństwo aplikacji, komunikacja sieciowa, usługi internetowe i bezpieczeństwo urządzeń. Jeżeli znasz się choć trochę na bezpieczeństwie i nie masz problemu z językiem angielskim, iMessage znajdziesz na stronie nr 20. Jeśli nie, postaram się możliwie najdokładniej opisać zasadę bezpieczeństwa iMessage.

Podstawą przesyłania wiadomości jest ich szyfrowanie. Dla laików często wiąże się to z procedurą, w której szyfrujesz wiadomość kluczem, a odbiorca odszyfrowuje ją tym kluczem. Taki klucz nazywa się symetrycznym. Krytycznym momentem w tym procesie jest przekazanie klucza odbiorcy. Jeśli atakujący przejmie to, może po prostu odszyfrować Twoje wiadomości i podszyć się pod odbiorcę. Dla uproszczenia wyobraźmy sobie pudełko z zamkiem, w którym mieści się tylko jeden klucz i za pomocą tego klucza można wkładać i wyjmować zawartość pudełka.

Na szczęście istnieje kryptografia asymetryczna wykorzystująca dwa klucze – publiczny i prywatny. Zasada jest taka, że ​​każdy może poznać Twój klucz publiczny, oczywiście tylko Ty znasz swój klucz prywatny. Jeśli ktoś będzie chciał wysłać Ci wiadomość, zaszyfruje ją Twoim kluczem publicznym. Zaszyfrowaną wiadomość można następnie odszyfrować wyłącznie za pomocą klucza prywatnego. Jeśli ponownie wyobrazimy sobie skrzynkę pocztową w uproszczony sposób, to tym razem będzie ona miała dwa zamki. Za pomocą klucza publicznego każdy może go odblokować i wstawić treść, ale tylko Ty, dysponując kluczem prywatnym, możesz go wybrać. Dla pewności dodam, że wiadomości zaszyfrowanej kluczem publicznym nie da się za pomocą tego klucza odszyfrować.

Jak działają zabezpieczenia w iMessage:

  • Po aktywowaniu iMessage na urządzeniu generowane są dwie pary kluczy – 1280b RSA do szyfrowania danych i 256b ECDSA do sprawdzania, czy dane nie zostały po drodze naruszone.
  • Dwa klucze publiczne są wysyłane do usługi katalogowej Apple (IDS). Oczywiście oba klucze prywatne pozostają przechowywane tylko na urządzeniu.
  • W IDS klucze publiczne są powiązane z Twoim numerem telefonu, adresem e-mail i adresem urządzenia w usłudze Apple Push Notification (APN).
  • Jeśli ktoś chce wysłać Ci wiadomość, jego urządzenie znajdzie Twój klucz publiczny (lub wiele kluczy publicznych, jeśli korzystasz z iMessage na wielu urządzeniach) oraz adresy APN Twoich urządzeń w IDS.
  • Szyfruje wiadomość za pomocą 128b AES i podpisuje ją swoim kluczem prywatnym. Jeśli wiadomość ma dotrzeć do Ciebie na wielu urządzeniach, wiadomość jest przechowywana i szyfrowana na serwerach Apple oddzielnie dla każdego z nich.
  • Niektóre dane, takie jak znaczniki czasu, w ogóle nie są szyfrowane.
  • Cała komunikacja odbywa się poprzez TLS.
  • Dłuższe wiadomości i załączniki są szyfrowane losowym kluczem w iCloud. Każdy taki obiekt ma swój własny URI (adres czegoś na serwerze).
  • Gdy wiadomość zostanie dostarczona na wszystkie Twoje urządzenia, zostanie usunięta. Jeśli nie zostanie dostarczony na chociaż jedno z Twoich urządzeń, pozostaje na serwerach przez 7 dni, a następnie zostaje usunięty.

Ten opis może wydawać Ci się skomplikowany, ale jeśli spojrzysz na powyższy obrazek, z pewnością zrozumiesz zasadę. Zaletą takiego systemu bezpieczeństwa jest to, że można go zaatakować z zewnątrz jedynie brutalną siłą. Cóż, na razie, ponieważ napastnicy są coraz mądrzejsi.

Potencjalne zagrożenie leży po stronie samego Apple. Dzieje się tak dlatego, że zarządza całą infrastrukturą kluczy, więc teoretycznie mógłby przypisać do Twojego konta inne urządzenie (kolejną parę klucza publicznego i prywatnego) np. na mocy postanowienia sądu, w którym można by odszyfrować przychodzące wiadomości. Jednak tutaj Apple powiedział, że nie robi i nie zrobi niczego takiego.

Źródła: TechCrunch, Bezpieczeństwo iOS (luty 2014)
.