Закрыть объявление

Отправка сообщений через iMessage — популярный способ связи между устройствами iOS и компьютерами Mac. Десятки миллионов сообщений ежедневно обрабатываются серверами Apple, и по мере роста продаж устройств Apple растет и популярность iMessage. Но задумывались ли вы когда-нибудь о том, как ваши сообщения защищены от потенциальных злоумышленников?

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

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

К счастью, существует асимметричная криптография с использованием двух ключей — открытого и закрытого. Принцип заключается в том, что каждый может знать ваш открытый ключ, но, конечно, только вы знаете свой закрытый ключ. Если кто-то захочет отправить вам сообщение, он зашифрует его вашим открытым ключом. Зашифрованное сообщение можно будет расшифровать только с помощью вашего закрытого ключа. Если еще раз представить почтовый ящик в упрощенном виде, то на этот раз у него будет два замка. С помощью открытого ключа любой может разблокировать его для вставки контента, но выбрать его можете только вы с вашим закрытым ключом. Для верности добавлю, что сообщение, зашифрованное открытым ключом, невозможно расшифровать этим открытым ключом.

Как работает безопасность в iMessage:

  • Когда iMessage активирован, на устройстве генерируются две пары ключей — 1280b RSA для шифрования данных и 256b ECDSA для проверки того, что данные не были подделаны в процессе.
  • Два открытых ключа отправляются в службу каталогов Apple (IDS). Разумеется, два закрытых ключа остаются только на устройстве.
  • В IDS открытые ключи связаны с вашим номером телефона, адресом электронной почты и адресом устройства в службе push-уведомлений Apple (APN).
  • Если кто-то захочет отправить вам сообщение, его устройство узнает ваш открытый ключ (или несколько открытых ключей при использовании iMessage на нескольких устройствах) и адреса APN ваших устройств в IDS.
  • Он шифрует сообщение с помощью 128b AES и подписывает его своим секретным ключом. Если сообщение должно быть доставлено вам на несколько устройств, оно хранится и шифруется на серверах Apple отдельно для каждого из них.
  • Некоторые данные, например временные метки, вообще не шифруются.
  • Все общение осуществляется через TLS.
  • Более длинные сообщения и вложения шифруются случайным ключом в iCloud. Каждый такой объект имеет свой URI (адрес чего-либо на сервере).
  • Как только сообщение будет доставлено на все ваши устройства, оно будет удалено. Если он не доставлен хотя бы на одно из ваших устройств, он остается на серверах на 7 дней, а затем удаляется.

Это описание может показаться вам сложным, но если вы посмотрите на картинку выше, то наверняка поймете принцип. Преимущество такой системы безопасности в том, что атаковать ее снаружи можно только грубой силой. Ну, пока, потому что злоумышленники становятся умнее.

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

Ресурсы: TechCrunch, Безопасность iOS (февраль 2014 г.)
.