Что сквозное шифрование значит для приложения на двоих
Каждое приложение уверяет, что ваши данные зашифрованы. Большинство имеет в виду: на их сервере и их ключом. В чём разница, какие вопросы её вскрывают и чего стоит сделать это честно.
«Ваши данные зашифрованы» — почти бессмысленная фраза. Она верна почти для любого приложения в вашем телефоне, включая те, чья бизнес-модель — читать написанное вами. Работает здесь не слово зашифрованы, а вопрос у кого ключ.
Для приложения на двоих это важнее, чем для большинства программ, потому что содержимое — это не настройки и чеки. Это вы двое в три часа ночи.
Три устройства, одно слово
Шифрование при передаче. Сообщение защищено между вашим телефоном и сервером компании. Так делают все, это базовый минимум, и он защищает вас от кафейного Wi-Fi, а не от компании.
Шифрование при хранении. Сообщение и на диске лежит зашифрованным. Ключ у сервера, потому что ему нужно прочитать сообщение, чтобы показать его вам в браузере, проиндексировать, промодерировать. Ваши данные защищены от того, кто украдёт диск. Но они не приватны от самой компании, её сотрудников, будущего владельца и любого законного требования.
Сквозное шифрование. Сообщение шифруется на одном устройстве ключом, которого у сервера нет, и расшифровывается на другом. Сервер несёт его, не имея возможности открыть. Он знает, что сообщение ушло от вас к партнёру, знает размер и время. Но не содержание.
Только третье — обещание о том, чего компания не может. Первые два — обещания о том, чего она не собирается делать, а это другое.
Четыре вопроса, которые всё решают
Если вы оцениваете приложение, хранящее личные разговоры, эти вопросы стоит задать. Ответы обычно есть в политике конфиденциальности или справке, и отсутствие ответа — тоже ответ.
- Где ключ? Если на серверах компании, шифрование не сквозное, что бы ни говорила рекламная страница.
- Могу ли я прочитать переписку в браузере, войдя по паролю? Если да, сервер умеет её расшифровывать. Экзотические исключения бывают; считайте, что это не ваш случай.
- Что будет, если я потеряю все устройства? У настоящего сквозного шифрования тут неудобный ответ: часть данных исчезнет. Приложение, которое всегда может восстановить всё откуда угодно по одному паролю, держит ваш ключ.
- Что попадает в резервную копию? Немало приложений шифруют передачу, а потом пишут открытую копию в облачный бэкап, тихо перечёркивая всё остальное.
Чего это стоит, если делать честно
Об этой части говорят редко, потому что именно из-за неё спорят инженеры.
Если сервер не может прочитать содержимое, он не может сделать с ним ничего умного. Никакого поиска по всей вашей истории в облаке. Никакой аккуратной сводки года, собранной ночью на большой машине. Никакой модерации, рекомендаций и языковой модели, которая читает разговор и подсказывает ответ.
Всё это возможно — просто должно происходить на телефоне, где ключ, в пределах батареи и памяти устройства, которое параллельно делает двадцать других дел. Кое-что при таком ограничении строить попросту не стоит, и честнее отказаться, чем тихо перенести ключ туда, где вычислять удобнее.
Восстановление аккаунта тоже становится по-настоящему сложнее. Если утрачен ключ и все устройства, вернуть его не сможет никто. Для этого содержимого мы считаем такой обмен правильным и предпочитаем сказать это прямо, а не чтобы вы узнали об этом из тикета в поддержку.
Как устроен Pulse
Конкретно о приложении, которое делаем мы:
- Переписка между вами, «Наша история», вопрос дня, комментарии к записи в общем списке — всё шифруется на одном телефоне и расшифровывается на другом. Мы это несём. Прочитать не можем.
- Ключ живёт в вашей связке ключей iCloud, на ваших устройствах. Он никогда не загружается к нам, и копии у нас нет.
- Ваши «сырые» данные о здоровье — пульс, ВСР, сон, движение — до серверов вообще не доходят. Они читаются и интерпретируются на вашем устройстве, и к партнёру уходит только получившаяся фраза.
- Уведомления намеренно без содержания. Просьба о чём-то личном никогда не написана на экране блокировки, где её прочтёт любой, кто стоит рядом.
- Новый телефон восстанавливает вашу историю из вашей же зашифрованной копии в iCloud, а не от нас. История здоровья сознательно с ней не едет, потому что она и не покидала старое устройство.
В этой цепочке нет никакой языковой модели. Подсказки приложения — это детерминированные правила поверх того, что вы сами написали о себе, и именно поэтому их можно объяснить, когда вы спрашиваете, почему появилась именно эта.
Что мы всё-таки видим
Честное описание включает и границы. Мы видим, что аккаунт существует, что два аккаунта связаны, что сообщение определённого размера прошло между ними в определённое время, и токен, нужный Apple для доставки. Это метаданные, и сквозное шифрование их не убирает.
Мы храним их по минимуму и ничего из этого не продаём, но «мы не можем прочитать вашу переписку» и «мы ничего о вас не знаем» — разные утверждения, и верно у кого бы то ни было только первое.
Если вы предпочитаете проверить, а не поверить сводке: политика конфиденциальности называет, что обрабатывается и зачем, а страница вопросов отвечает на те, что нам действительно пишут.
О Pulse
Pulse — приложение для двоих на iPhone и Apple Watch. Оно превращает сигналы вашего тела в одну мягкую фразу в день для партнёра и никогда не показывает ему цифру.