Pull to refresh

Может ли Apple читать ваши iMessage?

Reading time 6 min
Views 35K
Cryptography *
Sandbox
Перевод статьи Мэтью Грина (Matthew Green). В криптографии не силен, поэтому за все исправления неточностей и уточнения в ЛС буду крайне признателен. Спасибо.

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

Что действительно изменилось, так это то, что люди начали беспокоиться. Частично это обусловлено мнимыми дружескими отношениями Apple с АНБ. Частично это вина не настолько дружеских отношений с УБН. В любом случае, люди хотят знать, какой частью их информации Apple владеет и с кем ей делятся.

И это возвращает нас к вопросу о шифровании в iMessage. Apple запустили один из самых популярных шифрованных сервисов коммуникации на планете: более 2 миллиардов сообщений в iMessage каждый день. Каждое из них содержит личную информацию, которую АНБ и УБН хотели бы заполучить в свои руки. Но, на самом деле, даже Apple не может их прочитать:

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

Например, разговоры через iMessage или FaceTime используют сквозное шифрование (end-to-end encryption), так что никто кроме отправителя и получателя не может читать их. Apple не может расшифровать эти данные.

Это выглядит правдоподобно, и мой опыт говорит, что это вполне вероятно. Моя точка зрения обусловлена «Законом Грина о прикладной криптографии», который говорит, что в основном прикладная криптография сосет. Криптография никогда не дает безусловных гарантий, как вам хотелось бы, и это то, из-за чего страдают пользователи.

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

Детали данных компромиссов это именно то, о чем я и хочу поговорить в данном посте. Посте, который, я клянусь, будет последним постом, который я напишу об iMessage. Начиная с этого момента будут только шифры и никаких доказательств.

Apple сохраняет копии iСообщений в iCloud

Самая большая проблема позиции Apple в том, что она не является правдой. Если вы используете сервис iCloud backup для сохранения данных своего iДевайса, то есть довольно большая вероятность что Apple может получить последние несколько дней переписки в iMessage.

Для тех кто не в курсе экосистемы Apple: iCloud это опциональный сервис сохранения данных, предоставляемый Apple бесплатно. Бэкапы восхитительны, но если iСообщения попадают в бэкап, то возникает вопрос их защищенности. Вера на слово компании (что они не могут получить наши сообщения) оставляет нам только два варианта:

  1. Бэкапы iMessage зашифрованы ключом, который никогда не покидает вашего устройства
  2. Бэкапы iMessage зашифрованы ключом, который связан с вашим паролем


К сожалению, ни один из этих вариантов не правда, и доказать это довольно просто. Все что нужно сделать – провести легкий эксперимент: для начала, потеряйте ваш iPhone. Затем, смените пароль, используя Эппловский сервис восстановления пароля (потребуется ответить на несколько вопросов, либо ввести запасной e-mail). Теперь идем в магазин Apple и выкладываем целое состояние за новый телефон.

Если вы можете восстановить свои утерянные сообщения на новом iPhone (как я сделал это прямо в магазине Apple сегодня после полудня), то Apple не защищает ваши iMessages никакими ключами и паролями. Печально (Ашкан Солтани (Ashkan Soltani) сделал несколько скриншотов с такого же теста).

Плохо то, что здесь нет какой-либо криптографии, в которой стоило бы разбираться. Простой и очевидный факт вот в чем: если вы смогли это сделать, то кто-нибудь в Apple тоже может это сделать. Возможно, при запросе служб закона. Все что им нужно – это ваши Секретные вопросы, то, что Apple наверняка хранит у себя*.

Apple распределяет ключи шифрования iMessage

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

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

image

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

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

Фактически, неприкосновенность iMessage зависит от того, насколько правильно Apple раздает ключи. Если Apple ошибается (или хакер атакует сервер iMessage), то становится возможной атака посредника (man-in-the-middle attack) и перехватить данные iMessage не вызовет особых затруднений.

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

Apple может хранить метаданные

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

Эти данные могут быть настолько же ценны, как и остальные. И в то время, как Apple не хранит содержание ваших сообщений, их соглашение ничего не говорит обо всех этих метаданных.

Apple не использует Certificate Pinning


И последний (не очень серьезный) пункт – клиенты iMessage (для iPhone и Mac) связываются с распределительным каталогом Apple, используя протокол HTTPS (обратите внимание, что это относится к поиску в истории сообщений, актуальные iСообщения шифруются отдельно и путешествуют используя XMPP систему push-уведомлений Apple).

Использование HTTPS хорошая идея и, в основном, он обеспечивает хорошую защиту от перехвата. Но так не защититься от всех атак. Все еще существует реальная возможность получения злоумышленником поддельного сертификата (возможно с нанесением ущерба центру сертификации) и таким образом перехватить или изменить связь с Apple.

Здесь мне не очень понятно, почему злоумышленник должен получить поддельный сертификат, а не подлинный. Может, имелось ввиду внедрение поддельного сертификата хакером?

Такого рода вещи не настолько безумны, как нам кажется. Это случилось с сотнями иранских пользователей Gmail и, вероятно, повторится в будущем. Стандартное решение этой проблемы – certificate pinning (говорит приложению не доверять неизвестным сертификатам). Множество приложений, таких как Twitter, сделали это. Но не Apple, как я выяснил во время тестирования и написания этого поста.

В заключение

Я написал этот пост не потому что не люблю Apple. Напротив, я очень люблю их продукты и даже купался бы с ними, если бы (к сожалению) это не обнуляло гарантию.

Но обратная сторона моего восхищения проста: я доверяю их девайсам и хочу знать, насколько они защищены. Я не вижу никаких недостатков Apple в объяснении этого хотя бы высокоуровневым специалистам, даже при недоговаривании деталей. Объяснение должно включать тип и принцип алгоритмов шифрования, детали сервиса каталогов и протокол согласования ключа.
Apple могут «Мыслить нестандартно», но правила защиты информации применимы и к ним. Рано или поздно кто-нибудь нарушит или перепишет систему iMessage. И тогда все это выйдет наружу.

Примечания:

* Конечно, возможно, что Apple используют ваши секретные вопросы, чтобы получить ключ шифрования. Однако, это маловероятно. Во-первых, потому что Apple наверняка хранит ваши вопрос/ответ в отдельном файле. А если нет, то вряд ли большинство ответов на вопросы хранит достаточно энтропии для дешифровки. Ведь в мире так много дней рождения и марок автомобилей. Двухступенчатая аутентификация может улучшить положение, если вы ее используете. Вернуться наверх
** На практике не совсем понятно, генерируют ключ Apple-девайсы сами или устраивают OTR-подобный обмен ключами. Совершенно ясно что iMessage не содержит «отпечаток ключа» или что-то подобное для пользователей, чтобы проверить подлинность ключа, что подразумевает полное доверие Apple в вопросах шифрования. Кроме того, iMessage позволяет отправлять сообщения оффлайн. Не совсем понятно, как это должно работать с OTR.
Tags:
Hubs:
Total votes 67: ↑61 and ↓6 +55
Comments 10
Comments Comments 10

Posts