IMessage

iMessage — технология и служба обмена мгновенными сообщениями, разработанная Apple и используемая в iOS начиная с iOS 5 и macOS начиная с версии 10.8.

История 
 Технология и служба iMessage были анонсированы Скоттом Форстоллом 6 июня 2011 года на конференции разработчиков WWDC2011.
 В версию iOS 5.0 (от 12.10.2011) Apple включила приложение Сообщения, которое использовало все возможности этой технологии.
 16 февраля 2012 года Apple объявила о том, что в новой OS X приложение Сообщения заменит прежнее приложение iChat и будет частью OS X Mountain Lion. OS X Mountain Lion c iMessages официально вышла 25 июля 2012 года.

Возможности 
iMessage позволяет отправлять/получать:
 текстовые сообщения;
 фотографии;
 видео;
 контактную информацию;
 документы;
 стикеры (в т. ч. Digital Touch), а также анимированные смайлы Memoji;
 музыку из Apple Music;
 денежные переводы при наличии Apple Card (только для США);
 контент других приложений, которые поддерживают iMessage.
Также возможны групповые чаты через сети Wi-Fi или 3G/4G/5G другим пользователям iOS или macOS, таким образом обеспечивая альтернативу стандартным SMS-сообщениям, посылаемым через сотовые сети.

Для разнообразия выражения эмоций и контекста в программе предусмотрена анимационная отправка и получение собеседником сообщений с различными эффектами ("невидимка", с "эхом", с "шариками", с "конфетти", с "фейерверком" и другими).

Технология 
В ходе презентации функции iMessage Стив Джобс пообещал открыть доступ к API всем разработчикам и заявил, что в будущем протокол станет open-source. Однако после его смерти руководство компании больше не возвращалось к этому вопросу, и данная функция доступна лишь в iOS и macOS.

iMessage может использовать в качестве идентификатора пользователя как адрес электронной почты, привязанный к Apple ID, так и номер телефона SIM-карт, используемых в iPhone или iPad, необязательно привязанный к Apple ID. Для активации использованя номера телефона в качестве идентификатора устройство отправляет SMS-сообщение в службу Apple. В России, в зависимости от оператора, за активационное сообщение взымается приблизительно от 5 до 15 российских рублей.

Хотя есть источники, которые утверждают, что протокол iMessage основывается на XMPP, протокол фактически основан на Apple Push Notification Service (APNS) — собственном протоколе синхронной передачи бинарных данных.

Точно так же, как APNS, iMessage настраивает соединение проверки активности с серверами Apple. У каждого соединения есть свой собственный уникальный код, который действует как идентификатор для маршрута, который должен использоваться, чтобы отправить сообщение на определенное устройство. Соединение зашифровано TLS с использованием клиентского сертификата, который требует устройство для активации iMessage.

Независимые исследователи показали явную связь длины зашифрованных сообщений и текстов, отправляемых пользователями iMessage. На базе используемых наборов длин сообщений и их временного распределения они также смогли с высокой точностью определять действия пользователей (получение сообщений, отправление сообщений, пересылку файлов), класс используемой операционной системы (настольная или мобильная) и язык отправляемых текстов.

См. также 
 Служба Push-уведомлений Apple
 Rich Communication Services

Комментарии

Примечания 

Программное обеспечение Apple