Как работает шифрование в iMessage

Доступно о сложном.

Apple любит снимать рекламу и подчеркивать свою значимость в определенной сфере. В рамках проекта по использованию «зеленой» энергии, аккурат ко Дню Земли, компания опубликовала очередной ролик.

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

И работать им постоянно есть над чем.

Один из критериев, по которому потенциальные пользователи выбирают мессенджер или сервис для виртуальной переписки в качестве основного, принято считать безопасность и уровень шифрования. У iMessage по этой часте организовано все очень серьезно.

Комментарии по поводу шифрования сообщений на серверах Apple дал один из ведущих инженеров службы безопасности компании, Рич Могул.

Как работает шифрование в iMessage

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

Рядовой же владелец iOS-устройства без особого энтузиазма готов разбираться во всех тонкостях шифрования. Ему просто нужно знать, что его сообщения в безопасности.

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

Включение iMessage

EbcryptioniMessage_0

Как только вы включаете iMessage с iOS-устройства, открыв Настройки — Сообщения — iMessage, и подтверждаете желание использовать сервис, автоматически генерируется две пары буквенно-цифровых ключей: одна — публичная, вторая — приватная.

Публичная пара отправляется на сервера Apple с подтверждением о намерении пользователя использовать iMessage. Приватная пара остается исключительно в памяти устройства и доступа к ней компания не имеет.

Ввод сообщения

EbcryptioniMessage_2

В момент, когда вы начинаете писать сообщение собеседнику с помощью сервиса iMessage, iOS-устройство моментально проверяет наличие открытого (публичного) ключа адресата на серверах Apple. Если такой ключ (соответствующий номеру и Apple ID адресата) найден, высвечивается доступность абонента в сервисе iMessage.

Отправка сообщения

EbcryptioniMessage_3

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

Происходит это все очень быстро, и если вы ругаете iMessage за медлительность при нестабильном интернет-подключении, то теперь понимаете какие сложные процессы ваше сообщение проходит перед тем, как будет доставлено.

Самое интересное в том, что если вы используете iMessage сразу с нескольких устройств, своя пара ключей будет для каждого, а количество копий сообщения будет равняться количеству устройств. Шифровка будет также осуществляться для iPad, iPod, Mac или iPhone строго индивидуально.

Доставка сообщения

EbcryptioniMessage_1

Доставленное на сервер Apple сообщение тут же высылается адресату в полностью зашифрованном виде с привязкой к открытому ключу отправителя. Сразу после отправки, копия сообщения удаляется с сервера, а на устройство адресата попадает в зашифрованном виде.

Дешифровка

EbcryptioniMessage_4

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

Помните, что в начале регистрации в сервисе iMessage создаются две пары ключей: приватная и публичная? Так вот, полученное сообщение передано с шифрованием, при котором использовался публичный ключ. А вот расшифровать его можно лишь с помощью приватного ключа, который надежно хранится в памяти устройства адресата и никогда «не покидает его».

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

После дешифровки сообщение отображается в понятном и привычном для пользователя текстовом виде.

Ответ на сообщение действует по обратному алгоритму: на протяжение всего «путешествия» сообщение находится в зашифрованном виде.

Что передается в открытом виде и что происходит с вложениями

EbcryptioniMessage_5

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

При отправке мультимедийного контента (фото, видео) действует несколько иной принцип. Информация зашифровывается при помощи случайного ключа и отправляется на сервер iCloud. После того, как адресат получает push-уведомление, контент автоматически подтягивается с серверов iCloud и дешифруется с использованием приватного ключа устройства.

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

©  iphones.ru