Обзор безопасности iMessage
Apple iMessage — это служба обмена сообщениями на iPhone, iPad, Apple Watch и Mac. Через iMessage можно передавать не только текст, но и различные вложения, в том числе фотографии, контакты, географические координаты и ссылки. Например, прямо в сообщение можно добавить значок «большой палец вверх». Сообщения отображаются на всех зарегистрированных устройствах пользователя, поэтому начатый диалог можно продолжить на любом своем устройстве. iMessage активно использует службу Apple Push Notification (APNs). Apple не сохраняет содержимое сообщений или вложений: оно защищено с помощью сквозного шифрования, поэтому никто, кроме отправителя и получателя, не может получить к нему доступ. Apple не может расшифровать данные.
Когда пользователь включает iMessage на устройстве, оно генерирует пару ключей шифрования и пару ключей подписания для работы со службой. Для шифрования используется 1280-битный ключ RSA, а также 256-битный ключ EC на основе кривой NIST P-256. Для подписей используются 256-битные ключи подписания алгоритма цифровой подписи на основе эллиптической кривой (ECDSA). Личные ключи сохраняются в связке ключей устройства и доступны только после первой разблокировки. Открытые ключи передаются в службу идентификации Apple (IDS), где они связываются с номером телефона или адресом электронной почты пользователя, а также с APNs-адресом устройства.
Когда пользователь включает iMessage на дополнительных устройствах, их открытые ключи шифрования и подписания, APNs-адреса и связанные номера телефонов добавляются в службу каталогов. Пользователь также может добавить дополнительные адреса электронной почты, которые проверяются путем отправки ссылки для подтверждения. Для проверки номеров телефона используется сеть оператора и SIM-карта. В некоторых сетях для этого требуется SMS-сообщение (если оно не является бесплатным, пользователю будет предложено подтвердить его). Помимо iMessage, проверка номера телефона может требоваться для некоторых системных служб, например FaceTime и iCloud. При добавлении нового устройства, номера телефона или адреса электронной почты на всех зарегистрированных устройствах пользователя отображается соответствующее сообщение.