Как LifeVeil защищает ваши файлы

Здесь простыми словами объясняется, что делает LifeVeil, а также чего приложение сделать не может. Мы хотим, чтобы вы знали об ограничениях, а не верили слишком громким обещаниям.

Коротко

Как графический ключ превращается в ключ шифрования

Вы рисуете графический ключ на сетке 5×5, используя минимум 6 точек и не проходя через одну точку дважды. LifeVeil превращает графический ключ в ключ шифрования с помощью Argon2id из libsodium (версия 1.0.20 на Android).

Как шифруются файлы

Фраза восстановления

Отпечаток пальца

Разблокировка по отпечатку пальца необязательна. Отпечаток проверяет Android, а не LifeVeil; приложение никогда не получает ваш отпечаток. Главный ключ открывается ключом в Android Keystore, который работает только сразу после надежной биометрической проверки. Если кто-то добавит на телефон новый отпечаток, этот ключ перестанет работать и вам нужно будет снова использовать графический ключ.

Файл резервной копии

Другие меры защиты в приложении

ИИ и подбор графического ключа

Ограничения, о которых стоит знать

Ни одно приложение не защищает от всего. Вот честные ограничения LifeVeil.

Простые графические ключи можно угадать

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

Сколько времени может занять подбор

В самом приложении каждая попытка занимает около секунды, а после 5 ошибок время ожидания растет. Но тот, у кого есть ваш файл резервной копии или кто извлек соль устройства с телефона с root-доступом, может подбирать ключ на компьютере, без всякого ожидания. Argon2id замедляет это, но у графического ключа гораздо меньше вариантов, чем у длинного пароля. Примерные оценки для одной мощной видеокарты (класса RTX 4090) при скорости около 1000 попыток в секунду:

Что подбираетсяВариантовВремя на одной видеокарте
10 000 самых распространенных графических ключей104около 10 секунд
Все ключи из 6 точек1,28 × 108около 1,5 дня
Все ключи из 7 точек2,42 × 109около 28 дней
Все ключи из 8 точек4,36 × 1010около 1,4 года
Фраза восстановления (92 бита)4,95 × 1027около 1,6 × 1017 лет

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

Храните файл резервной копии в тайне

Файл резервной копии не содержит соль устройства, поэтому любой, кто его получит, может перебирать графические ключи офлайн, как показано выше. Храните его только там, где доступ есть только у вас, например в своем облачном аккаунте, и используйте более длинный графический ключ.

Телефоны с root-доступом или вирусами

Если кто-то может выполнять код с разрешениями приложения (например, на телефоне с root-доступом или с помощью вредоносной программы, получившей полный контроль), он может открыть соль устройства и подбирать ключ офлайн. Пока хранилище открыто, ключи находятся в оперативной памяти, и их можно прочитать с root-доступом или отладчиком. Некоторые копии, создаваемые внутри Android и Flutter, а также фото на экране нельзя сразу стереть из памяти.

Некоторые сведения видны

Число зашифрованных файлов в памяти приложения, их примерный размер, а также время их создания или изменения не скрываются. Как и то, что LifeVeil установлено.

Пустое хранилище обманывает только экран

Тот, кто может читать файлы приложения (например, на телефоне с root-доступом), может посчитать папки хранилищ и увидеть, что эта настройка включена. А после 5 неверных ключей приложение заставляет ждать, и это показывает, что предыдущие ключи ничего не открыли.

Маскировка меняет только главный экран

Отпечаток пальца — менее надежный способ

При разблокировке по отпечатку пальца Argon2id не используется. Ее надежность зависит от сканера отпечатков вашего телефона и Android Keystore. Ее можно в любой момент отключить в настройках.

Фото посторонних

Приложение не воспроизводит звук затвора, но телефоны, продаваемые в некоторых странах, например в Японии и Корее, воспроизводят его всегда. Снимок не делается, если камера занята другим приложением или фронтальной камеры нет. Пока вы не разблокируете первое созданное вами хранилище, фото защищены ключом из Android Keystore.

Сведения о фото

Блокировка приостанавливается на системных экранах

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

У всех хранилищ одна соль устройства

Все хранилища на телефоне используют одну и ту же соль устройства. Если у кого-то есть эта соль, одна попытка проверяет сразу все хранилища. Стоимость атаки на одно хранилище при этом не меняется.

То, что не может предотвратить ни одно приложение

Человек, который смотрит, как вы рисуете графический ключ, или камера, снимающая ваш экран.

Если вы потеряете и то и другое, никто не поможет

Если вы потеряете и графический ключ, и фразу восстановления, никто не сможет восстановить ваши файлы. Даже мы.