Sistem iMessage, integrisan u Appleovu aplikaciju Poruke, omogućava jednostavnu, bezbednu i raznovrsnu komunikaciju. Ne služi samo za slanje tekstualnih poruka i fotografija: putem njega možemo da delimo i video-snimke, glasovne poruke, dokumente, reakcije, nalepnice, lokaciju i sadržaj iz različitih aplikacija. U pozadini svega toga nalazi se složen sistem zasnovan na end-to-end enkripciji, koji je vremenom postao jedan od važnih temelja Appleovog ekosistema.
Kratka istorija iMessage-a
Mnogo pre pojave iMessage-a, Apple je već nudio uslugu internet komunikacije. Bila je to aplikacija iChat, dostupna na Mac računarima od 2002. do 2012. godine, koja se može smatrati pretečom iMessage-a i FaceTime-a. iChat je omogućavao besplatnu razmenu poruka putem interneta i video-pozive na Mac računarima. Apple je najavio iMessage 2011. godine, prilikom predstavljanja iOS-a 5, a usluga je pokrenuta još iste godine. Cilj je bio da korisnicima iPhone-a, iPod touch-a i iPad-a ponudi brzu alternativu zasnovanu na internetu, umesto SMS poruka i tada naročito popularnog BlackBerry Messenger-a u Severnoj Americi.
Godine 2012. iMessage je stigao i na Mac računare kao deo aplikacije Poruke. Time je započela prava sinhronizacija između Apple uređaja: korisnici su mogli da prate iste razgovore na iPhone-u, iPad-u i Mac-u. Usluga je brzo stekla popularnost, a Apple je narednih godina neprestano proširivao njene mogućnosti. Na primer, 2014. godine u razgovore je uvedena opcija deljenja lokacije. Sledeći veliki korak usledio je 2016. godine, kada su sa iOS-om 10 stigli paketi nalepnica, efekti na ekranu, rukom pisane poruke, Tapback reakcije i iMessage App Store. Poslednja opcija omogućila je programerima da prošire svoje aplikacije funkcijama dostupnim u Porukama ili da razviju posebne funkcije namenjene upravo toj aplikaciji. To je olakšalo deljenje sadržaja, zajedničko igranje i personalizaciju komunikacije.
Godine 2017. uvedena je funkcija Poruke u iCloud-u, koja omogućava sinhronizaciju istorije poruka između Apple uređaja putem iCloud-a. Godine 2022. stigle su mogućnosti naknadnog uređivanja i opozivanja poslatih poruka, dok je Apple 2024. predstavio najveće bezbednosno unapređenje iMessage-a do tada — protokol Apple PQ3. Iste godine uvedena je i podrška za RCS standard u aplikaciji Poruke, kod kompatibilnih operatera i uređaja.
Kako iMessage funkcioniše u pozadini?
Tehnički procesi koji se odvijaju u pozadini mnogo su složeniji nego što korisnik može da primeti. Kada napišemo poruku, dodamo fotografiju ili video i pritisnemo dugme za slanje, u deliću sekunde pokreće se višestepeni proces.
U njemu učestvuju identifikacija, enkripcija, mrežno rutiranje i isporuka. Pored naših uređaja, u procesu učestvuju i Appleovi serveri, ali zahvaljujući end-to-end enkripciji iMessage-a oni ne mogu da pročitaju sadržaj poruka.
1. Identifikacija
Oslanjanje na servere Apple Push Notification service, odnosno APNs, omogućava isporuku u realnom vremenu i sinhronizaciju između više uređaja. Da bi to bilo moguće, najpre je potrebno registrovati Apple uređaj na iMessage uslugu, bilo da je reč o iPhone-u, iPad-u, Apple Watch-u ili Mac-u.
Kada aktiviramo iMessage na novom Apple uređaju, on pomoću bezbednog upravljanja ključevima generiše privatni i javni ključ. Privatni ključ ostaje u zaštićenom okruženju uređaja i ne prenosi se na Appleove servere. Javni ključ se, s druge strane, otprema u Appleov centralni direktorijum IDS, odnosno Apple Identity Service. Sa ovim ključem mogu da se povežu broj telefona i imejl-adresa povezana sa Apple nalogom, sa kojih možemo da šaljemo iMessage poruke i na kojima možemo da ih primamo. Ako aktiviramo iMessage na više Apple uređaja, svaki uređaj će u Appleovom sistemu imati zaseban javni ključ. Uređaji dobijaju i jedinstveni APNs token, koji možemo da zamislimo kao digitalnu adresu za isporuku. On je potreban da bi Appleov sistem znao kom uređaju treba da prosledi obaveštenje i paket poruke.
2. Rutiranje
Kada unesemo ime primaoca, broj telefona ili imejl-adresu, uređaj u pozadini proverava u Appleovom direktorijumu da li za navedeni kontakt postoji javni ključ povezan sa iMessage nalogom i aktivnim uređajem. Ako postoji, aplikacija Poruke tretira razgovor kao iMessage. Javni ključevi uređaja primaoca i sistem koji koristi APNs tokene omogućavaju da poruka preko Appleovih servera stigne do odgovarajućih uređaja. Korisnik obično primećuje samo to da je oblačić poruke plave boje.

Ako primalac nije registrovan za iMessage, aplikacija Poruke pokušaće da pošalje poruku kao SMS, MMS ili RCS — ukoliko su operater i uređaj kompatibilni. Takve poruke prikazuju se u zelenim oblačićima. Važno je napomenuti da se isporuka SMS, MMS i RCS poruka ne odvija preko iMessage sistema. Na Mac-u i iPad-u ove poruke mogu da se koriste ako korisnik ima iPhone prijavljen na isti Apple nalog i ako je na njemu omogućena funkcija Prosleđivanje poruka. iPhone tada može da prosleđuje poruke primljene putem mobilne mreže ili operaterovog RCS sistema drugim Apple uređajima.
3. Enkripcija
Čim pritisnemo dugme za slanje, u iMessage-u započinje proces enkripcije koji koristi više ključeva. Među servisima za razmenu poruka namenjenim širokoj publici, iMessage koristi jednu od najstrožih bezbednosnih arhitektura. Sve iMessage konverzacije su podrazumevano zaštićene end-to-end enkripcijom, odnosno E2EE zaštitom. To znači da sadržaj poruke mogu da dešifruju samo uređaji pošiljaoca i primaoca. Appleovi serveri učestvuju u isporuci, ali ne mogu da pročitaju tekst poruka, fotografije, video-snimke i priloge.
Uređaj najpre generiše nasumični, jednokratni ključ sesije kojim šifruje sadržaj poruke — bilo da je reč o tekstu, fotografiji, video-snimku, glasovnoj poruci, emotikonu ili drugom prilogu. Zatim iMessage iz IDS-a preuzima javne ključeve uređaja svih učesnika u razgovoru. Sistem zasebno šifruje ključ sesije za svaki uređaj, tako da iPhone, iPad, Mac ili Apple Watch primaoca mogu da dešifruju poruku ako je taj razgovor dostupan na njima. Konačni paket podataka zato sadrži šifrovanu poruku, ključeve šifrovane za uređaje primaoca i APNs tokene potrebne za isporuku.
4. Slanje i isporuka
Šifrovani paket podataka šalje se putem interneta na Appleov server, koji u ovom procesu praktično služi kao posrednik za isporuku. Pošto se privatni ključ potreban za dešifrovanje nalazi isključivo na uređaju primaoca, ni server ni mrežni posrednici kroz koje paket prolazi ne mogu da pročitaju sadržaj poruke.
Appleov server prosleđuje paket odgovarajućim uređajima na osnovu APNs tokena. Ako nijedan uređaj primaoca nije povezan na internet — na primer, ako je iPhone isključen, a Mac nije povezan na mrežu — sistem privremeno čuva šifrovanu poruku. Prema informacijama kompanije Apple, iMessage poruke koje čekaju na isporuku mogu da se čuvaju najviše 30 dana. Kada neki od uređaja primaoca ponovo postane dostupan, sistem isporučuje poruku, a zatim uklanja paket koji je čekao sa servera.
Sistem isporuke iMessage-a ne funkcioniše putem neprekidnog proveravanja novih poruka, odnosno polling-a. Uređaji održavaju vezu male potrošnje energije sa APNs sistemom, pa server može da obavesti odgovarajući uređaj čim stigne nova poruka. To doprinosi brzom radu iMessage-a, uz manje nepotrebne mrežne komunikacije u pozadini.
5. Dešifrovanje
Kada Apple uređaj primaoca preuzme paket podataka sa porukom, izdvaja ključ koji je šifrovan za taj uređaj. Zatim sopstvenim privatnim ključem dešifruje ključ sesije, pomoću kojeg vraća originalni sadržaj poruke i prikazuje ga. Ako je proces uspešan, uređaj primaoca može da pošalje šifrovanu potvrdu o isporuci kroz sistem. Na osnovu nje pošiljalac može da vidi status „Isporučeno“, a ako je primalac omogućio tu opciju, i potvrdu da je poruka pročitana.
Zaštita od budućih napada
Početkom 2024. godine Apple je najavio protokol Apple PQ3, koji je uveden u iMessage kroz ažuriranja iOS 17.4, iPadOS 17.4, macOS 14.4 i watchOS 10.4. Reč je o jednom od najvećih unapređenja bezbednosne arhitekture u istoriji iMessage-a. Cilj protokola PQ3, odnosno Post-Quantum Cryptography Level 3, jeste da iMessage ostane otporniji na naprednije metode računanja u budućnosti, uključujući one koje koriste kvantni računari.

Jedna od pretnji poznata je kao napad „Harvest Now, Decrypt Later“ („Prikupi sada, dešifruj kasnije“). Suština je u tome da napadač ili državni akter danas možda ne može da dešifruje šifrovani paket podataka, ali može da ga sačuva i arhivira u nadi da će u budućnosti, uz napredniju računarsku snagu — na primer, pomoću kvantnog računara — moći da pristupi njegovom sadržaju. PQ3 nastoji da spreči takav scenario. Uz prethodno opisane metode enkripcije, uvodi nove procese razmene ključeva sa postkvantnom zaštitom, dok se ključevi koji se koriste tokom razgovora redovno obnavljaju. Tako, čak i ako napadač u budućnosti dođe do ključa povezanog sa određenom sesijom, neće moći pomoću njega da dešifruje čitavu istoriju dugotrajnog razgovora.
Kao korisniku, iMessage-u nam se na prvi pogled možda čini da je samo jednostavno polje za unos teksta i aplikacija za ćaskanje. Međutim, u pozadini radi složen sistem za identifikaciju, enkripciju i isporuku. Zahvaljujući njemu možemo jednostavno da ostanemo u kontaktu sa porodicom, prijateljima i kolegama na Apple uređajima, uz sinhronizaciju između više uređaja i visok nivo bezbednosti.