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

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

Коротко

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

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

Уровни защиты

У каждого хранилища один уровень. Вы выбираете его в начале и можете изменить позже в разделе Настройки > Хранилище > Уровень защиты, снова нарисовав графический ключ.

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

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

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

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

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

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

Замедление подбора

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

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

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

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

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

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

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

В самом приложении каждая попытка занимает около секунды, а повторный подбор замедляет каждую разблокировку, вплоть до 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 лет

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

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

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

Фраза восстановления показывает и графический ключ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Без фразы никто не поможет

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