Как iMessage безопасно отправляет и получает сообщения
Пользователи начинают новую беседу iMessage, вводя адрес или имя. Если они вводят номер телефона или адрес электронной почты, устройство связывается со службой идентификации Apple (IDS) для получения открытых ключей и адресов APN для всех устройств, связанных с адресатом. Если пользователь вводит имя, устройство сначала использует приложение «Контакты» пользователя для сбора телефонных номеров и адресов электронной почты, связанных с этим именем, а затем получает открытые ключи и адреса APN от IDS.
Исходящее сообщение пользователя шифруется индивидуально для каждого из устройств получателя. Открытые ключи шифрования и ключи подписи принимающих устройств извлекаются из IDS. Для каждого принимающего устройства отправляющее устройство генерирует случайное 88-битное значение и использует его в качестве ключа HMAC-SHA256 для создания 40-битного значения, полученного из открытого ключа отправителя и получателя и открытого текста. Конкатенация 88-битных и 40-битных значений создает 128-битный ключ, который шифрует сообщение с помощью AES в режиме счетчика (CTR). 40-битное значение используется стороной получателя для проверки целостности расшифрованного открытого текста. Этот ключ AES для каждого сообщения шифруется с помощью RSA-OAEP для открытого ключа принимающего устройства. Затем комбинация зашифрованного текста сообщения и ключа зашифрованного сообщения хешируется с помощью SHA-1, а хэш подписывается с помощью алгоритма цифровой подписи на основе эллиптических кривых (ECDSA) с использованием закрытого ключа подписи отправляющего устройства. В iOS 13 или более поздней версии и iPadOS 13.1 или более поздней версии устройства могут использовать шифрование с интегрированной схемой шифрования на основе эллиптических кривых (ECIES) вместо шифрования RSA.
Полученные сообщения, по одному для каждого принимающего устройства, состоят из зашифрованного текста сообщения, зашифрованного ключа сообщения и цифровой подписи отправителя. Затем они отправляются в точки доступа для доставки. Метаданные, такие как метка времени и информация о маршрутизации APN, не шифруются. Связь с APN шифруется с использованием секретного канала TLS.
APN могут передавать только сообщения размером до 4 или 16 КБ, в зависимости от версии iOS или iPadOS. Если текст сообщения слишком длинный или если в него включено вложение, такое как фотография, вложение шифруется с помощью AES в режиме CTR со случайно сгенерированным 256-битным ключом и загружается в iCloud. Ключ AES для вложения, его унифицированный идентификатор ресурса (URI) и хэш SHA-1 его зашифрованной формы затем отправляются получателю в качестве содержимого iMessage, при этом их конфиденциальность и целостность защищены с помощью обычного шифрования iMessage, как показано на следующей диаграмме.
Для групповых разговоров этот процесс повторяется для каждого получателя и их устройств.
На принимающей стороне каждое устройство получает свою копию сообщения от APN и при необходимости извлекает вложение из iCloud. Входящий номер телефона или адрес электронной почты отправителя сопоставляется с контактами получателя, чтобы при возможности отображалось имя.
Как и все push-уведомления, сообщение удаляется из APN после доставки. Однако, в отличие от других уведомлений APN, сообщения iMessage ставятся в очередь для доставки на автономные устройства. Сообщения хранятся на серверах Apple до 30 дней.
Дата публикации: 13 мая 2022 г.См. также Обзор безопасности iCloudРасширенная защита данных для iCloudБезопасность резервного копирования iCloudОбзор безопасности Apple ID
Использование S/MIME для отправки и получения зашифрованных сообщений в приложении Почта в iOS MIME, чтобы вы могли отправлять зашифрованные сообщения электронной почты.
Чтобы отправлять зашифрованные сообщения, установите сертификат S/MIME для своей учетной записи электронной почты. Вы можете получить сертификаты S/MIME в центре сертификации (ЦС) или, если вы используете учетную запись Exchange, в своей организации. Вам также потребуется сертификат получателя (открытый ключ).
Включить шифрование сообщений
При настройке S/MIME для своей учетной записи вы можете выбрать «Шифровать по умолчанию» при создании новых сообщений:
- Откройте приложение «Настройки».
- Выберите «Почта» > «Учетные записи».
- Выберите учетную запись, сообщения которой вы хотите шифровать по умолчанию.
- Выберите «Учетная запись» > «Дополнительно» > «Шифровать по умолчанию», затем включите параметр «Шифровать по умолчанию».
Когда вы отвечаете на сообщение или пересылаете его, состояние шифрования вашего сообщения соответствует состоянию входящего сообщения, а не настройкам вашей системы по умолчанию. Вы также можете использовать синюю кнопку блокировки в поле адреса, чтобы изменить состояние шифрования исходящего сообщения.
Отправка зашифрованных сообщений
Если ваш получатель является пользователем в той же среде Exchange, iOS может найти необходимый сертификат для шифрования сообщений. iOS извлекает сертификаты из глобального списка адресов. При создании сообщения вы увидите кнопку «Заблокировать» в поле адреса , и ваш получатель сможет его расшифровать. Если вы не используете учетную запись Exchange или ваш получатель не находится в той же организации, вам необходимо отправлять и получать подписанные электронные письма перед отправкой зашифрованного сообщения.
Доверять подписи получателя вручную
Если подписи предполагаемого получателя не доверяют, выполните следующие действия, чтобы установить сертификат получателя на устройство:
- В подписанном сообщении от предполагаемого получателя коснитесь адреса отправителя. Ненадежные подписи отмечены красным вопросительным знаком справа от адреса отправителя. Mail отмечает действительные подписи синей галочкой справа от адреса отправителя.
- Если сертификат отправителя был выпущен неизвестным центром сертификации, вы можете вручную установить сертификат для этого адреса электронной почты.