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

Фрагмент об iMessage особенно интересен, поскольку до сих пор открыт вопрос: могут ли правоохранительные органы просматривать сообщения пользователей, получив доступ к серверам Apple?

Apple разъясняет, что iMessage работает через сервис Apple Push Notification (APNs), а сообщения не сохраняются на сервере. Содержимое надежно защищено с помощью end-to-end криптографии, так что никто, кроме отправителя и получателя не имеет возможности прочитать их, даже сама Apple якобы не может их расшифровать.

При запуске iMessage устройство генерирует две пары ключей: 1280-битный ключ RSA для шифрования и 256-битный ключ ECDSA для подписи сообщения. Для каждой пары секретный ключ сохраняется в локальной связке ключей, а открытый ключ отправляется в центральный репозиторий (IDS), где его привязывают к телефонному номеру пользователя или адресу электронной почты, с указанием адреса APN для устройства.

Если пользователь добавляет дополнительные устройства, куда хочет получать копии сообщений, то соответствующая информация добавляется в IDS. Apple обязательно информирует пользователя, если к его аккаунту подключается дополнительное устройство, телефонный номер или адрес электронной почты.

При начале чат-сессии устройство обращается к IDS и запрашивает открытый ключ и адрес APN получателя сообщения.

Каждое исходящее сообщение шифруется AES-128 в режиме CTR для каждого устройства получателя и в зашифрованном виде передается в APN. Не шифруются метаданные, такие как метка времени и путь маршрутизации. Связь с APN защищена по TLS. Длинные сообщения и файлы шифруются случайным ключом и передаются в iCloud.

В групповых чатах процедура повторяется для каждого адресата. Сообщение удаляется с сервера APN сразу после доставки. Если адресат не доступен, то сообщение хранится на сервере до семи суток.

Оставить мнение