Използваш го всеки ден, но познаваш ли го наистина? Ето как работи iMessage

Работата на iMessage е много по-сложна, отколкото подсказва синьото балонче на съобщението. Ще ти покажем какво се случва зад кулисите.

Използваш го всеки ден, но познаваш ли го наистина? Ето как работи iMessage

Интегрираната в приложението „Съобщения“ на Apple система iMessage предлага безпроблемна, сигурна и многофункционална комуникация. Тя не служи само за изпращане на текстови съобщения и снимки — с нейна помощ могат да се споделят видеоклипове, аудиосъобщения, документи, реакции, стикери, местоположение и съдържание от различни приложения. Зад всичко това стои сложна система, базирана на криптиране от край до край, която днес е един от важните стълбове на екосистемата на Apple.

Кратка история на iMessage

Още преди iMessage Apple предлага услуга за комуникация през интернет — приложението iChat, достъпно за компютри Mac между 2002 и 2012 г. То може да се смята за предшественик на iMessage и FaceTime. iChat позволява безплатно изпращане на съобщения през интернет и провеждане на видеоразговори на Mac. Apple обявява iMessage през 2011 г. по време на представянето на iOS 5, а услугата стартира още същата година. Целта е да предложи на потребителите на iPhone, iPod touch и iPad бърза алтернатива на SMS съобщенията, базирана на интернет, както и на BlackBerry Messenger, който по онова време е особено популярен в Северна Америка.

През 2012 г. iMessage става достъпен и на компютрите Mac като част от приложението „Съобщения“. Така започва истинската синхронизация между устройствата на Apple: потребителите вече могат да виждат едни и същи разговори на iPhone, iPad и Mac. Услугата бързо набира популярност, а през следващите години Apple непрекъснато разширява възможностите ѝ. През 2014 г. например в разговорите се появява опцията за споделяне на местоположение. Следващата голяма стъпка идва през 2016 г. с iOS 10, която добавя пакети със стикери, екранни ефекти, ръкописни съобщения, реакции Tapback и iMessage App Store. Последният позволява на разработчиците да разширяват собствените си приложения в „Съобщения“ или да създават функции специално за него. Това улеснява споделянето на съдържание, игрите заедно и по-персоналното общуване.

През 2017 г. се появява функцията „Съобщения в iCloud“, която позволява историята на съобщенията да се синхронизира между устройствата на Apple чрез iCloud. През 2022 г. става възможно изпратените съобщения да се редактират или отменят, а през 2024 г. Apple представя най-голямата дотогава актуализация на сигурността на iMessage — протокола Apple PQ3. В приложението „Съобщения“ се появява и поддръжка на стандарта RCS при съвместими оператори и устройства.

Как работи iMessage зад кулисите?

Техническите процеси, които протичат на заден план, са много по-сложни, отколкото потребителят може да предположи. След като напишем съобщение, прикачим снимка или видеоклип и натиснем бутона за изпращане, за части от секундата започва многоетапен процес.

В него участват идентификация, криптиране, мрежово маршрутизиране и доставка. Освен собствените ни устройства в процеса участват и сървърите на Apple, но благодарение на криптирането от край до край те не могат да прочетат съдържанието на съобщенията.

1. Идентификация

Използването на сървърите на Apple Push Notification service, или APNs, позволява доставка в реално време и синхронизация между множество устройства. За тази цел първо трябва да регистрираме съответното устройство на Apple в iMessage — независимо дали става дума за iPhone, iPad, Apple Watch или Mac.

Когато активираме iMessage на ново устройство на Apple, то създава частен и публичен ключ чрез защитен механизъм за управление на ключове. Частният ключ остава в защитената среда на устройството и не се качва на сървърите на Apple. Публичният ключ, от друга страна, се качва в централния указател на Apple — IDS, или Apple Identity Service. Към този ключ могат да бъдат свързани телефонният номер и имейл адресът към Apple акаунта, от които можем да изпращаме и на които можем да получаваме iMessage съобщения. Ако активираме iMessage на няколко устройства на Apple, в системата на компанията всяко устройство се представя със собствен публичен ключ. Освен това устройствата получават уникален APNs токен. Можем да си го представим като цифров адрес за доставка: той позволява на системата на Apple да знае към кое устройство трябва да бъдат изпратени известието и пакетът със съобщението.

2. Маршрутизиране

Когато въведем името, телефонния номер или имейл адреса на получателя, устройството проверява в указателя на Apple дали посочената информация за контакт е свързана с публичен ключ към iMessage акаунт и с активно устройство. Ако е така, приложението „Съобщения“ обработва разговора като iMessage. Публичните ключове на устройствата на получателя и системата, използваща APNs токени, се грижат съобщението да достигне до правилните устройства през сървърите на Apple. Обикновено потребителят забелязва само, че балончето на съобщението е синьо.

RCS v iMessage

Ако получателят няма регистрация в iMessage, приложението „Съобщения“ се опитва да изпрати съобщението като SMS, MMS или RCS — когато операторът и устройството поддържат стандарта. Тези съобщения се показват в зелено балонче. Важно е да се отбележи, че доставката на SMS, MMS и RCS съобщения не се извършва чрез системата iMessage. На Mac и iPad тези съобщения могат да се използват, ако потребителят разполага с iPhone, в който е влязъл със същия Apple акаунт и е активирал функцията за препращане на съобщения. Така iPhone може да препраща към останалите устройства на Apple съобщенията, получени през мобилната мрежа или RCS системата на оператора.

3. Криптиране

В момента, в който натиснем бутона за изпращане, iMessage започва процес на криптиране с множество ключове. Сред потребителските приложения за съобщения iMessage използва една от най-строгите архитектури за сигурност. По подразбиране всички разговори в iMessage са защитени с криптиране от край до край, известно и като E2EE. Това означава, че съдържанието на съобщението може да бъде декриптирано само от устройствата на подателя и получателя. Сървърите на Apple участват в доставката, но не могат да прочетат текста, снимките, видеоклиповете или прикачените файлове.

Първо устройството създава случаен еднократен ключ за сесия, с който криптира съдържанието на съобщението — независимо дали става дума за текст, снимка, видеоклип, аудиосъобщение, емоджи или друг прикачен файл. След това iMessage извлича от IDS публичните ключове, свързани с устройствата на участниците в разговора. Системата криптира ключа за сесията отделно за всяко от съответните устройства. Така iPhone, iPad, Mac или Apple Watch на получателя могат да декриптират съобщението, ако разговорът е достъпен на тях. Следователно крайният пакет с данни съдържа криптираното съобщение, ключове, криптирани за устройствата на получателя, както и APNs токените, необходими за доставката.

4. Изпращане и доставка

Криптираният пакет с данни се качва през интернет на сървър на Apple, който на практика изпълнява ролята на куриер. Тъй като частният ключ, необходим за декриптирането, се намира единствено на устройството на получателя, нито сървърът, нито участниците в мрежата по пътя на пакета могат да прочетат съдържанието на съобщението.

Сървърът на Apple препраща пакета към съответните устройства въз основа на APNs токените. Ако нито едно от устройствата на получателя няма интернет връзка — например iPhone е изключен, а Mac не е свързан към мрежа — системата временно съхранява криптираното съобщение. Според информацията на Apple съобщенията в iMessage, които чакат доставка, могат да се съхраняват до 30 дни. Когато някое от устройствата на получателя отново стане достъпно, системата доставя съобщението и след това премахва чакащия пакет от сървъра.

Системата за доставка на iMessage не работи чрез непрекъснати проверки за нови съобщения, известни като polling. Устройствата поддържат връзка с ниска консумация на енергия към системата APNs, така че при получаване на ново съобщение сървърът може да уведоми съответното устройство. Това помага на iMessage да остане бърз, като същевременно намалява ненужната мрежова комуникация във фонов режим.

5. Декриптиране

След като устройството на Apple на получателя изтегли пакета с данни, съдържащ съобщението, то избира ключа, криптиран специално за него. С помощта на собствения си частен ключ устройството декриптира ключа за сесията, а след това го използва, за да възстанови и покаже съдържанието на съобщението. Ако процесът приключи успешно, получаващото устройство може да изпрати през системата криптирано потвърждение за доставката. Въз основа на него при подателя може да се появи статусът „Доставено“, а ако получателят е активирал тази опция — и потвърждение за прочитане.

Защита срещу бъдещи атаки

В началото на 2024 г. Apple обявява протокола Apple PQ3, който е интегриран в iMessage с актуализациите iOS 17.4, iPadOS 17.4, macOS 14.4 и watchOS 10.4. Това е една от най-големите актуализации на архитектурата за сигурност в историята на iMessage. PQ3, или Post-Quantum Cryptography Level 3, има за цел да направи iMessage по-устойчив и в бъдеще срещу усъвършенствани изчислителни методи, включително квантови компютри.

iMessage PQ3

Един от видовете заплахи е известен като атака „Harvest Now, Decrypt Later“ („Събери сега, декриптирай по-късно“). При нея нападател или държавен субект може все още да не е в състояние да декриптира даден криптиран пакет с данни, но да го запази с надеждата, че в бъдеще ще разполага с по-голяма изчислителна мощ — например квантов компютър — и ще може да получи достъп до съдържанието му. PQ3 се опитва да предотврати именно това. Към описаните по-рано методи за криптиране протоколът добавя нови процеси за обмен на ключове със защита срещу квантови атаки, като същевременно ключовете, използвани в разговорите, се обновяват редовно. Така дори ако в бъдеще нападател получи достъп до ключ, свързан с определена сесия, той няма да може да декриптира цялата дългогодишна история на един разговор.

За потребителя iMessage може на пръв поглед да изглежда просто като поле за въвеждане на текст и приложение за чат. В действителност обаче зад него работи сложна система за идентификация, криптиране и доставка. Благодарение на нея можем удобно да поддържаме връзка с близките, приятелите и колегите си чрез устройствата на Apple, да синхронизираме разговорите между няколко устройства и същевременно да се възползваме от възможно най-високо ниво на сигурност.

Назад към блога