Как Mirage Vault защищает фото: шифрование и ключи
Mirage Vault защищает фото так: шифрует каждое фото прямо на iPhone алгоритмом AES-256-GCM, со случайным ключом для каждого файла, и запирает ключ сейфа за Secure Enclave. Нет ни аккаунта, ни сервера: графический ключ, Face ID или фраза восстановления — единственные способы войти, а копию файлов невозможно открыть подбором в другом месте.
Кто смотрит и что он получает
Каждая строка — это человек, который может посмотреть, что он получит в случае Mirage Vault и что вас защищает.
| Кто | Что он видит | Что вас защищает |
|---|---|---|
| Кто-то мельком смотрит на ваш экран «Домой» или через плечо | Обычный значок; экран блокировки — чистый песок без названия приложения и без сетки | Сетка графического ключа появляется только под пальцем и гаснет, когда вы его отрываете; переключатель приложений показывает пустой снимок |
| Кто-то держит ваш разблокированный iPhone | Пустой экран блокировки сейфа | Face ID или графический ключ; после 5 неверных попыток начинается пауза 30 с, которая удваивается вплоть до 1 часа; блокировка при выходе и когда iPhone лежит экраном вниз |
| Кто-то знает код-пароль вашего iPhone | Тот же пустой экран блокировки | У сейфа собственный ключ. Код-пароль iPhone его не открывает, а Face ID для сейфа привязан к настроенным лицам: если добавить на iPhone новое лицо, Face ID для сейфа выключится, пока вы не разблокируете сейф графическим ключом и снова его не включите |
| Кто-то с копией файлов или резервной копии iCloud | Случайные на вид данные под случайными именами | AES-256-GCM с отдельным ключом для каждого файла; ключ сейфа упакован ключом Secure Enclave, который нельзя скопировать, поэтому графический ключ невозможно подобрать офлайн. Резервная копия открывается только фразой восстановления из 8 слов |
| Кто-то заставляет вас разблокировать сейф | Тот сейф, который вы решите показать | Ложный сейф за вторым графическим ключом и Wipe Key — графический ключ, который на месте стирает ключи настоящего сейфа и вместо него открывает ложный (оба в Mirage Pro). Обоим нужен выключенный Face ID, потому что Face ID открывает настоящий сейф сразу при открытии Mirage |
| Mirage или любой, кто обращается к Mirage | Ничего: нет ни аккаунта, ни сервера, ни копии ключа | Фраза восстановления показывается один раз и нигде не хранится; никто из Mirage никогда ее не спросит |
Что на самом деле представляет собой шифрование
Это параметры из исходного кода приложения, а не пересказ.
- Ваш графический ключ или PIN-код проходит через PBKDF2-HMAC-SHA256 не менее чем с 600 000 итераций; число итераций подобрано так, чтобы на вашем iPhone это занимало не менее 250 мс. Результат никогда не является самим ключом сейфа.
- Secure Enclave упаковывает результат: ECIES на ключе P-256 в Secure Enclave. Закрытый ключ создается внутри Secure Enclave и не может быть считан, поэтому копии файлов и связки ключей недостаточно, чтобы перебирать графические ключи на другом компьютере.
- Ключ сейфа (256 случайных бит, по одному на сейф) распаковывается только в памяти и только после верного графического ключа, Face ID или фразы восстановления.
- У каждого файла свой случайный ключ, упакованный ключом сейфа. Фото, видео, заметки, сканы, миниатюры и превью — отдельные объекты.
- Каждый файл шифруется блоками по 1 MiB алгоритмом AES-256-GCM: новое значение nonce для каждого блока и аутентифицированные данные, которые привязывают блок к его файлу, его позиции и признаку последнего блока. Измененный, обрезанный или подмененный блок обнаруживается, а не расшифровывается.
Другие факты о формате: имена файлов на диске — случайные 128-битные идентификаторы; контейнер хранится с классом защиты NSFileProtectionComplete и исключен из резервных копий устройства; заголовок содержит 8 слотов ключей одинаковой длины, а неиспользуемые слоты заполнены случайными байтами, поэтому по слотам не видно, существует ли ложный сейф или Wipe Key. Файлы индекса все же могут выдать признаки второго сейфа при криминалистическом анализе; это открытый пункт аудита приложения. У Face ID собственный ключ в Secure Enclave, созданный для текущего набора настроенных лиц, без перехода на код-пароль iPhone. Видео воспроизводится через зашифрованный загрузчик ресурсов, блок за блоком, без временного расшифрованного файла. Записи о попытках взлома шифруются по HPKE (P-256, HKDF-SHA256, AES-256-GCM), пока сейф заблокирован, поэтому позже их сможет открыть только ключ настоящего сейфа.
Резервная копия и восстановление
Зашифрованная резервная копия в iCloud бесплатна для всех и включена по умолчанию. Она выгружает те же зашифрованные объекты в частную базу данных вашего собственного iCloud; Apple видит только зашифрованные данные, а Mirage не видит вообще ничего. Резервная копия открывается только фразой восстановления: 8 слов из списка BIP-39 (88 бит), которые показываются один раз и нигде не хранятся. Фраза — единственный ключ, который работает на другом iPhone, потому что все остальные ключи привязаны к Secure Enclave того iPhone, на котором они созданы.


Что проверялось и кем
Формат контейнера и уровень приложения проверены 2026-10-31: чтение кода, повторная проверка формата другим рецензентом и стресс-тест с проверками параллелизма, подмены данных, фаззинга и утечки открытого текста (71 тест в пакете, все пройдены, в том числе под Thread Sanitizer). Шифрование файлов выдержало инверсию битов, случайные мутации, обрезку на каждой границе и обмен блоками между файлами: неверный открытый текст не был возвращен ни разу. Найденные проблемы касались логики сейфов и слотов и резервного копирования в iCloud; критические и серьезные были исправлены в тот же день, и в документе аудита для каждой указан ее статус.
Модуль MirageCrypto, который определяет формат контейнера и ключи, написан как отдельный пакет, чтобы его можно было опубликовать на GitHub. Когда модуль станет общедоступным, на этой странице появится ссылка на него.
Описание приложения в одном абзаце, значок и снимки экрана для публикаций — в пресс-ките.
Страницы о безопасности
- Безопасны ли приложения-сейфы для фото? Семь проверок, прежде чем доверить им снимки
Семь проверок, которые отличают зашифрованный сейф от скрытой папки с экраном PIN-кода.
- Безопасен ли калькулятор-сейф? Что защищает маскировка, а что нет
Чего стоит маскировка под калькулятор, что проверить за ней и как Mirage прячется, не подражая другому приложению.