Что такое шифрование с нулевым разглашением? Просто
Шифрование с нулевым разглашением (zero-knowledge) значит, что сервис, который хранит ваши данные, не может их прочитать. Данные шифруются ключом, созданным из того, что знаете только вы, и компания этот ключ никогда не видит.
Это маркетинговый термин, а не стандарт. Поэтому полезный вопрос не «написано ли zero-knowledge», а «кто может открыть мои данные».
Что нужно знать?
- Всё дело в том, у кого ключ. Если только у вас, компания не может прочитать ваши данные.
- Сброса пароля нет. Если бы компания могла его сбросить, она могла бы и войти.
- Это не то же самое, что сквозное шифрование. Они часто идут вместе, но отвечают на разные вопросы.
Чем оно отличается от сквозного шифрования?
Сквозное шифрование касается данных, которые передаются между устройствами. Apple формулирует так: «End-to-end encrypted data can be decrypted only on your trusted devices where you're signed in to your Apple Account.»
Нулевое разглашение касается поставщика. Оно означает, что компания, хранящая данные, ничего о них не узнаёт. На практике оба понятия сводятся к одной проверке: ключ никогда не покидает ваши устройства.
iCloud работает с нулевым разглашением?
По умолчанию нет. При стандартной защите данных, по словам Apple, ваши ключи «are secured in Apple data centers, so Apple can decrypt your data on your behalf whenever you need it». Это касается «Фото iCloud» и резервной копии iCloud.
Некоторые категории устроены иначе. Apple пишет, что 15 категорий данных, включая «Здоровье» и пароли в связке ключей iCloud, по умолчанию защищены сквозным шифрованием. С Расширенной защитой данных, доступной начиная с iOS 16.2, в список добавляются «Фото» и резервная копия. Источник — обзор безопасности данных iCloud от Apple.
Почему сервис с нулевым разглашением не может сбросить мой пароль?
Потому что у него нет вашего ключа. Apple пишет, что с включённой Расширенной защитой данных она «doesn't have the encryption keys needed to help you recover your end-to-end encrypted data». Поэтому она сначала просит настроить контакт для восстановления или ключ восстановления. Оба варианта объяснены на странице Apple о Расширенной защите данных.
У любого приложения, которое действительно не хранит ключей, то же правило. Оно попросит вас сохранить код восстановления в надёжном месте.
Как понять, что приложение действительно с нулевым разглашением?
Задайте пять вопросов.
- Нужен ли аккаунт? Аккаунт сам по себе не доказывает проблему, но спросите, что он может открыть.
- Что будет, если я забуду пароль? Сброс по e-mail значит, что компания может войти.
- Где создаётся ключ? Нужный ответ — «на вашем устройстве, из пароля или узора».
- Опубликована ли архитектура? Публичное описание или исходный код позволяют другим проверить заявление.
- Что, по его словам, оно не может защитить? Честное приложение перечисляет свои ограничения.
Нулевое разглашение значит, что никто не войдёт?
Нет. Оно убирает один риск: что компания прочитает ваши данные или передаст их. Ваши данные по-прежнему защищены ровно настолько, насколько надёжны пароль и разблокированный телефон. Короткий пароль можно подобрать.
Что это не защищает
Шифрование с нулевым разглашением защищает хранимые данные от компании, которая их хранит. Оно не защищает разблокированный телефон в чужих руках, снимок экрана или вредоносную программу на устройстве. Если вы потеряете и пароль, и код восстановления, данные пропадут навсегда.
Как это делается в Cryptile
У Cryptile нет аккаунта и сервера, и разработчик никогда не хранит ваши ключи. Ключи создаются на вашем iPhone из нарисованного вами узора, и каждый файл шифруется AES-256-GCM. Ядро опубликовано для аудита вместе с моделью угроз, а ограничения перечислены на странице о безопасности.
Если вы забудете узор, фраза восстановления из 9 слов восстановит хранилище из его зашифрованной резервной копии в iCloud. Сброса нет. Используйте в узоре 8 или больше точек.
Cryptile бесплатна для 2 хранилищ, 100 фото и 10 видео. Plus снимает ограничения за $19.99 в год (пробный период 7 дней) или $39.99 один раз.