Systém iMessage integrovaný do aplikace Zprávy od Applu nabízí pohodlnou, bezpečnou a všestrannou komunikaci. Neslouží pouze k posílání textových zpráv a obrázků, ale umožňuje také sdílet videa, hlasové zprávy, dokumenty, reakce, nálepky, polohu a obsah z různých aplikací. Na pozadí se o to stará komplexní systém založený na koncovém šifrování, který se stal jedním z důležitých pilířů ekosystému Apple.
Stručná historie iMessage
Apple nabízel internetovou komunikaci už dávno před vznikem iMessage. Šlo o aplikaci iChat, která byla dostupná na počítačích Mac v letech 2002 až 2012 a kterou lze považovat za předchůdce iMessage i FaceTime. iChat umožňoval bezplatné posílání zpráv přes internet a videohovory na Macu. Apple oznámil příchod iMessage v roce 2011 při představení systému iOS 5 a služba byla spuštěna ještě v témže roce. Cílem bylo nabídnout uživatelům iPhonu, iPodu touch a iPadu rychlou internetovou alternativu k SMS a také ke službě BlackBerry Messenger, která byla v té době obzvlášť populární v Severní Americe.
V roce 2012 se iMessage dostal také na počítače Mac jako součást aplikace Zprávy. Tím se naplno rozběhla synchronizace mezi zařízeními Apple: uživatelé mohli zobrazovat stejné konverzace na iPhonu, iPadu i Macu. Služba si rychle získala popularitu a Apple v následujících letech průběžně rozšiřoval její funkce. V roce 2014 například přibyla možnost sdílet polohu přímo v konverzacích. Další významný krok přišel v roce 2016 s vydáním iOS 10, které přineslo balíčky nálepek, efekty obrazovky, ručně psané zprávy, reakce Tapback a také iMessage App Store. Ten umožnil vývojářům rozšiřovat vlastní aplikace o funkce dostupné ve Zprávách nebo vytvářet funkce přímo pro tuto aplikaci. Díky tomu se zjednodušilo sdílení obsahu, společné hraní i osobnější komunikace.
V roce 2017 přišla funkce Zprávy na iCloudu, která umožnila synchronizovat historii zpráv mezi zařízeními Apple prostřednictvím iCloudu. V roce 2022 přibyla možnost dodatečně upravovat a odvolávat odeslané zprávy. V roce 2024 pak Apple představil dosud největší bezpečnostní aktualizaci iMessage v podobě protokolu Apple PQ3. Ve stejném roce se v aplikaci Zprávy objevila také podpora standardu RCS u kompatibilních operátorů a zařízení.
Jak iMessage funguje v zákulisí?
Technické procesy, které probíhají na pozadí platformy, jsou mnohem složitější, než si uživatel může uvědomovat. Jakmile napíšeme zprávu, připojíme obrázek nebo video a stiskneme tlačítko Odeslat, během zlomku sekundy se spustí několikaúrovňový proces.
Zahrnuje ověření identity, šifrování, směrování přes síť i doručení. Do procesu se zapojují naše zařízení i servery Applu, ale díky koncovému šifrování iMessage nemohou servery obsah zpráv přečíst.
1. Ověření identity
Využití serverů služby Apple Push Notification service, zkráceně APNs, umožňuje doručování v reálném čase a synchronizaci mezi více zařízeními. Nejprve je ale nutné zaregistrovat konkrétní zařízení Apple do služby iMessage, ať už jde o iPhone, iPad, Apple Watch nebo Mac.
Když na novém zařízení Apple aktivujeme iMessage, zařízení pomocí bezpečné správy klíčů vytvoří soukromý a veřejný klíč. Soukromý klíč zůstává v zabezpečeném prostředí zařízení a na servery Applu se neodesílá. Veřejný klíč se naopak nahraje do centrálního adresáře Applu, označovaného jako IDS, tedy Apple Identity Service. S tímto klíčem lze propojit telefonní číslo a e-mailovou adresu přiřazenou k účtu Apple, ze kterých můžeme zprávy iMessage odesílat nebo na kterých je můžeme přijímat. Pokud iMessage aktivujeme na více zařízeních Apple, každé z nich se v systému Applu zobrazí s vlastním veřejným klíčem. Zařízení navíc získají jedinečný token APNs, který si lze představit jako digitální doručovací adresu. Díky němu systém Applu ví, kterému zařízení má předat oznámení a datový balíček se zprávou.
2. Směrování
Když zadáme jméno příjemce, telefonní číslo nebo e-mailovou adresu, zařízení na pozadí ověří v adresáři Applu, zda je daný kontakt propojený s veřejným klíčem přiřazeným k účtu iMessage a zda má aktivní zařízení. Pokud ano, aplikace Zprávy zpracuje konverzaci jako iMessage. Veřejné klíče zařízení příjemce a systém využívající tokeny APNs zajistí, aby se zpráva přes servery Applu dostala ke správným zařízením. Uživatel si z toho obvykle všimne jen toho, že se bublina zprávy zobrazuje modře.

Pokud příjemce není zaregistrovaný v iMessage, aplikace Zprávy se pokusí odeslat zprávu jako SMS, MMS nebo RCS, pokud jsou podporovány daným operátorem a zařízením. Tyto zprávy se zobrazují v zelených bublinách. Důležitým rozdílem je, že doručování SMS, MMS a RCS neprobíhá prostřednictvím systému iMessage. Na Macu a iPadu lze tyto zprávy používat tehdy, když uživatel zároveň používá iPhone přihlášený ke stejnému účtu Apple a má na něm povolenou funkci Přeposílání zpráv. iPhone pak může předávat ostatním zařízením Apple zprávy přijaté prostřednictvím mobilní sítě nebo systému RCS daného operátora.
3. Šifrování
Jakmile stiskneme tlačítko Odeslat, v iMessage se spustí proces šifrování využívající více klíčů. iMessage používá jednu z nejpřísnějších bezpečnostních architektur mezi běžně dostupnými komunikačními službami a všechny konverzace iMessage jsou ve výchozím nastavení chráněny koncovým šifrováním, tedy E2EE. To znamená, že obsah zprávy mohou dešifrovat pouze zařízení odesílatele a příjemce. Servery Applu se sice podílejí na doručování, ale nedokážou přečíst text zpráv, fotografie, videa ani přílohy.
Zařízení nejprve vytvoří náhodný jednorázový klíč relace, kterým zašifruje obsah zprávy. Může jít o text, fotografii, video, hlasovou zprávu, emoji nebo jinou přílohu. Poté iMessage získá z IDS veřejné klíče přiřazené k zařízením účastníků konverzace. Systém zašifruje klíč relace zvlášť pro každé zúčastněné zařízení, takže zprávu může dešifrovat iPhone, iPad, Mac nebo Apple Watch příjemce, pokud je na daném zařízení dostupná příslušná konverzace. Výsledný datový balíček tedy obsahuje zašifrovanou zprávu, klíče zašifrované pro zařízení příjemce a tokeny APNs potřebné k doručení.
4. Odeslání a doručení
Zašifrovaný datový balíček se přes internet odešle na server Applu, který v tomto procesu funguje v podstatě jako doručovatel. Protože soukromý klíč potřebný k dešifrování je uložen pouze v zařízení příjemce, nemůže obsah zprávy přečíst ani server, ani další síťové prvky, přes které datový balíček prochází.
Server Applu předá datový balíček správným zařízením na základě tokenů APNs. Pokud žádné ze zařízení příjemce není připojeno k internetu, například když je iPhone vypnutý a Mac není připojený k síti, systém zašifrovanou zprávu dočasně uloží. Podle informací Applu může systém zprávy iMessage čekající na doručení uchovávat nejvýše 30 dní. Jakmile se některé ze zařízení příjemce znovu připojí, zpráva se doručí a čekající datový balíček se ze serveru odstraní.
Systém doručování iMessage nefunguje na principu nepřetržitého dotazování, označovaného jako polling. Zařízení udržují spojení se systémem APNs s nízkou spotřebou energie, takže server může příslušné zařízení upozornit, jakmile dorazí nová zpráva. Díky tomu zůstává iMessage rychlý a současně se omezuje zbytečná síťová komunikace na pozadí.
5. Dešifrování
Jakmile zařízení Apple příjemce stáhne datový balíček obsahující zprávu, vybere klíč, který byl zašifrován právě pro něj. Pomocí vlastního soukromého klíče dešifruje klíč relace a následně jej použije k obnovení a zobrazení obsahu zprávy. Pokud proces proběhne úspěšně, přijímající zařízení může prostřednictvím systému odeslat zašifrované potvrzení o doručení. Na jeho základě se u odesílatele může zobrazit stav „Doručeno“ a případně také potvrzení o přečtení, pokud si jej příjemce povolil.
Ochrana před budoucími útoky
Na začátku roku 2024 Apple oznámil protokol Apple PQ3, který se do iMessage dostal s aktualizacemi iOS 17.4, iPadOS 17.4, macOS 14.4 a watchOS 10.4. Šlo o jednu z největších aktualizací bezpečnostní architektury v historii iMessage. Cílem PQ3, tedy Post-Quantum Cryptography Level 3, je zvýšit odolnost iMessage vůči pokročilejším výpočetním metodám včetně kvantových počítačů.

Jednou z hrozeb je útok označovaný jako „Harvest Now, Decrypt Later“, tedy „získej data nyní, dešifruj později“. Jeho princip spočívá v tom, že útočník nebo státní aktér dnes nemusí být schopen zašifrovaná data dešifrovat, může si je ale uložit v naději, že se k jejich obsahu dostane v budoucnu díky pokročilejším výpočetním kapacitám, například s pomocí kvantového počítače. Protokol PQ3 se snaží tomuto scénáři zabránit. K dosavadním metodám šifrování přidává nové postupy výměny klíčů s postkvantovou ochranou a zároveň zajišťuje pravidelnou obnovu klíčů používaných během konverzací. I kdyby tedy útočník v budoucnu získal přístup ke klíči spojenému s konkrétní relací, nemohl by pomocí něj dešifrovat dlouhou historii celé konverzace.
Jako uživatel můžeš iMessage na první pohled vnímat jen jako jednoduché pole pro psaní a chatovací aplikaci. Na pozadí však funguje komplexní systém ověřování identity, šifrování a doručování. Díky němu můžeme pohodlně komunikovat se svými blízkými, přáteli i kolegy napříč zařízeními Apple, přičemž naše konverzace zůstávají synchronizované a chráněné na nejvyšší možné úrovni.