Az Apple Üzenetek alkalmazásába integrált iMessage rendszer zökkenőmentes, biztonságos és sokoldalú kommunikációs lehetőséget kínál: nem csak szövegek és képek küldésére használható, a segítségével videókat, hangüzeneteket, dokumentumokat, reakciókat, matricákat, helyzetet és különféle alkalmazásokból származó tartalmakat is megoszthatunk. A háttérben mindezt egy összetett, végpontok közötti titkosításra épülő rendszer szolgálja ki, amely mára az Apple-ökoszisztéma egyik fontos alapkövévé vált.
Az iMessage rövid története
Az Apple már jóval az iMessage előtt is kínált internetes kommunikációs szolgáltatást, ez volt a Mac számítógépeken 2002 és 2012 között elérhető iChat alkalmazás, amelyet az iMessage és a FaceTime elődjének is tekinthetünk. Az iChat ingyenes, internetalapú üzenetküldést és videóhívásokat tett lehetővé Macen. Az iMessage érkezését az Apple 2011-ben, az iOS 5 bemutatóján jelentette be, a szolgáltatás pedig még abban az évben elindult. A cél az volt, hogy az iPhone, az iPod touch és az iPad felhasználói számára gyors, internetalapú alternatívát kínáljon az SMS-ekkel, illetve az akkor Észak-Amerikában különösen népszerű BlackBerry Messengerrel szemben.
2012-ben az iMessage a Mac számítógépekre is megérkezett az Üzenetek alkalmazás részeként. Ezzel indult el igazán az Apple eszközei közötti szinkronizáció: a felhasználók ugyanazokat a beszélgetéseket láthatták iPhone-on, iPaden és Macen is. A szolgáltatás gyorsan népszerű lett, az Apple pedig a következő években folyamatosan bővítette a funkcióit, 2014-ben például a helyzet megosztásának lehetősége érkezett meg a beszélgetésekbe. 2016 jött a következő nagy lépés, az iOS 10 megjelenésével matricacsomagok, képernyőeffektek, kézírásos üzenetek, Tapback-reakciók és az iMessage App Store is megérkezett. Utóbbi lehetővé tette, hogy a fejlesztők kibővítsék saját alkalmazásaikat az Üzenetekben, vagy akár kifejezetten oda készítsenek funkciókat. Ez könnyebbé tette a tartalmak megosztását, a közös játékot és a kommunikáció személyesebbé tételét.
2017-ben megérkezett az Üzenetek az iCloudban funkció, amely lehetővé teszi az üzenetelőzmények iCloudon keresztüli szinkronizálását az Apple-eszközök között. 2022-ben jött meg az elküldött üzenetek utólagos szerkesztésének és visszavonásának lehetősége, 2024-ben pedig az Apple bemutatta az iMessage eddigi legnagyobb biztonsági frissítését, az Apple PQ3 protokollt, illetve az Üzenetek alkalmazásban az RCS szabvány támogatása is megjelent a kompatibilis szolgáltatóknál és készülékeknél.
Hogyan működik az iMessage a színfalak mögött?
A platform működésének háttérben zajló technikai részletei jóval összetettebbek annál, mint amit a felhasználó érzékel. Miután beírunk egy üzenetet, csatolunk egy képet vagy videót, majd megnyomjuk a Küldés gombot, a másodperc tört része alatt egy többlépcsős folyamat indul el.
Ebben azonosítás, titkosítás, hálózati útválasztás és kézbesítés is szerepet kap. Saját eszközeink mellett az Apple szerverei is részt vesznek a folyamatban, de az iMessage végpontok közötti titkosítása miatt az üzenet tartalmát nem tudják elolvasni.
1. Azonosítás
Az Apple Push Notification service, vagyis APNs szervereire való támaszkodás lehetővé teszi a valós idejű kézbesítést és a több eszköz közötti szinkronizációt. Ehhez először regisztrálni kell az adott Apple eszközt az iMessage szolgáltatásban, legyen szó iPhone-ról, iPadről, Apple Watchról vagy Macről.
Amikor egy új Apple eszközön bekapcsoljuk az iMessage-t, az eszköz biztonságos kulcskezelést használva létrehoz egy privát és egy nyilvános kulcsot. A privát kulcs az eszköz védett környezetében marad, és nem kerül fel az Apple szervereire. A nyilvános kulcs ezzel szemben feltöltődik az Apple központi címtárába, az IDS-be, vagyis az Apple Identity Service rendszerébe. Ehhez a kulcshoz kapcsolódhat az a telefonszám és Apple-fiókhoz tartozó e-mail-cím, amelyről iMessage-t küldhetünk, illetve amelyen üzeneteket fogadhatunk. Ha több Apple eszközön is bekapcsoljuk az iMessage-t, az Apple rendszerében minden eszköz külön nyilvános kulccsal jelenik meg. Az eszközök emellett egyedi APNs-tokent is kapnak, ezt elképzelhetjük úgy, mint egy digitális kézbesítési címet: erre lesz szükség ahhoz, hogy az Apple rendszere tudja, melyik készüléknek kell továbbítania az értesítést és az üzenetcsomagot.
2. Útválasztás
Amikor megadjuk a címzett nevét, telefonszámát vagy e-mail-címét, az eszköz a háttérben lekérdezi az Apple címtárából, hogy a megadott elérhetőséghez tartozik-e iMessage-fiókhoz kapcsolódó nyilvános kulcs és aktív eszköz. Ha igen, az Üzenetek alkalmazás iMessage-ként kezeli a beszélgetést. A címzett eszközeihez tartozó nyilvános kulcsok és az APNs-tokent használó rendszer gondoskodik arról, hogy az üzenet az Apple szerverein keresztül a megfelelő eszközökhöz jusson. Ebből a felhasználó jellemzően csak annyit érzékel, hogy az üzenetbuborék kék színű.

Ha a címzetthez nem tartozik iMessage-regisztráció, az Üzenetek alkalmazás SMS-, MMS- vagy (kompatibilis szolgáltató és készülék esetén) RCS-üzenetként próbálja elküldeni az üzenetet. Ezek az üzenetek zöld buborékban jelennek meg. Fontos különbség, hogy az SMS, MMS és RCS üzenetek kézbesítése nem az iMessage rendszerén keresztül történik. Macen és iPaden ezek az üzenetek akkor használhatók, ha a felhasználó ugyanazzal az Apple-fiókkal bejelentkezett iPhone-t is használ, és azon engedélyezte az Üzenettovábbítás funkciót. Az iPhone ilyenkor át tudja adni a mobilhálózaton vagy szolgáltatói RCS-rendszeren keresztül érkező üzeneteket a többi Apple eszköznek.
3. Titkosítás
Amint megnyomjuk a Küldés gombot, az iMessage esetében egy többkulcsos titkosítási folyamat indul el. Az iMessage a lakossági üzenetküldők között az egyik legszigorúbb biztonsági architektúrát használja, és alapértelmezetten minden iMessage-beszélgetés végpontok közötti titkosítással, vagyis E2EE védelemmel működik. Ez azt jelenti, hogy az üzenet tartalmát csak a feladó és a címzett eszköze képes visszafejteni. Az Apple szerverei a kézbesítésben részt vesznek, de az üzenet szövegét, fotóit, videóit és mellékleteit nem tudják elolvasni.
Az eszköz először létrehoz egy véletlenszerű, egyszer használatos munkamenet-kulcsot, amellyel titkosítja az üzenet tartalmát, ez lehet szöveg, fotó, videó, hangüzenet, emoji vagy más melléklet. Ezután az iMessage lekéri a beszélgetés résztvevőinek eszközeihez tartozó nyilvános kulcsokat az IDS-ből. A rendszer minden érintett eszköz számára külön titkosítja a munkamenet-kulcsot, így a címzett iPhone-ja, iPadje, Mac-je vagy Apple Watch-a is képes lehet visszafejteni az üzenetet, ha azon ugyanaz a beszélgetés elérhető. A végső adatcsomag tehát tartalmazza a titkosított üzenetet, a címzett eszközei számára titkosított kulcsokat, valamint a kézbesítéshez szükséges APNs-tokeneket.
4. Küldés és kézbesítés
A titkosított adatcsomag interneten keresztül feltöltődik az Apple szerverére, amely ebben a folyamatban lényegében kézbesítőként működik. Mivel a visszafejtéshez szükséges privát kulcs csak a címzett eszközén található meg, sem a szerver, sem az adatcsomag útvonalán lévő hálózati szereplők nem tudják elolvasni az üzenet tartalmát.
Az Apple szervere az APNs-tokenek alapján továbbítja az adatcsomagot a megfelelő eszközöknek. Ha a címzett egyik készüléke sem kapcsolódik az internetre, például az iPhone ki van kapcsolva, a Mac pedig nem csatlakozik hálózathoz, a rendszer átmenetileg tárolja a titkosított üzenetet. Az Apple tájékoztatása szerint a kézbesítésre váró iMessage-üzeneteket a rendszer legfeljebb 30 napig tárolhatja. Amint a címzett valamelyik eszköze újra elérhetővé válik, a rendszer kézbesíti az üzenetet, majd a várakozó adatcsomagot eltávolítja a szerverről.
Az iMessage kézbesítési rendszere nem folyamatos lekérdezéssel, vagyis pollinggal működik. Az eszközök alacsony fogyasztású kapcsolatot tartanak fenn az APNs-rendszerrel, így amikor új üzenet érkezik, a szerver értesíteni tudja a megfelelő készüléket. Ez hozzájárul ahhoz, hogy az iMessage gyors maradjon, miközben a háttérben kevesebb felesleges hálózati kommunikáció történik.
5. Visszafejtés
Miután a címzett Apple készüléke letölti az üzenetet tartalmazó adatcsomagot, kiválasztja a számára titkosított kulcsot. Az eszköz a saját privát kulcsával visszafejti a munkamenet-kulcsot, majd ennek segítségével visszaállítja és megjeleníti az üzenet tartalmát. Ha a folyamat sikeresen lezajlott, a fogadó eszköz egy titkosított kézbesítési visszajelzést küldhet a rendszeren keresztül. Ennek alapján jelenhet meg a feladónál a Kézbesítve állapot, illetve ha a címzett engedélyezte, az olvasási nyugta is.
Védelem a jövő támadásai ellen
Az Apple 2024. elején jelentette be az Apple PQ3 protokollt, amely az iOS 17.4, iPadOS 17.4, macOS 14.4 és watchOS 10.4 frissítésekkel érkezett meg az iMessage-be. Ez az iMessage történetének egyik legnagyobb biztonsági architektúra-frissítése volt. A PQ3, vagyis Post-Quantum Cryptography Level 3 célja, hogy az iMessage a jövőben is ellenállóbb legyen a fejlettebb számítási módszerekkel, köztük a kvantumszámítógépekkel szemben.

A fenyegetés egyik formáját „Harvest Now, Decrypt Later” támadásnak nevezik. Ennek lényege, hogy egy támadó vagy állami szereplő ma még nem feltétlenül képes visszafejteni egy titkosított adatcsomagot, de lementheti és eltárolhatja azt abban a reményben, hogy a jövőben fejlettebb számítási kapacitással, például kvantumszámítógéppel már hozzáférhet a tartalmához. A PQ3 ezt próbálja megelőzni. A korábban ismertetett titkosítási megoldások mellé új, poszt-kvantum védelemmel ellátott kulcscsere-folyamatokat vezet be, miközben a beszélgetések során használt kulcsok rendszeresen megújulnak. Így ha egy támadó a jövőben hozzá is férne egy adott munkamenethez kapcsolódó kulcshoz, azzal nem tudná egy teljes beszélgetés hosszú előzményét visszafejteni.
Felhasználóként az iMessage elsőre talán csak egy egyszerű szövegbeviteli mezőnek és csevegőnek tűnik, a háttérben azonban egy összetett azonosítási, titkosítási és kézbesítési rendszer működik. Ennek köszönhetően az Apple eszközein kényelmesen, több készüléken is szinkronban, ugyanakkor a lehető legnagyobb biztonság mellett tarthatjuk a kapcsolatot szeretteinkkel, barátainkkal és munkatársainkkal.