Правдоподобное отрицание в приложениях: что это и почему важно
Правдоподобное отрицание означает, что существование скрытых данных нельзя доказать.
Правдоподобное отрицание в шифровании — это свойство, позволяющее пользователю правдоподобно отрицать существование определённых зашифрованных данных. Зашифрованное хранилище выглядит так, будто содержит только те данные, которые пользователь выбирает показать. Криминалист, принуждающая сторона или любой с физическим доступом к устройству не может доказать существование дополнительных скрытых данных. Это не функция скрытия. Это математическое свойство самой схемы шифрования.
Это руководство объясняет, как правдоподобное отрицание работает в приложениях, разницу между настоящей криптографической отрицаемостью и косметическими режимами-приманками, реальные сценарии, где это важно, и как оценивать заявления об отрицаемости.
Что означает правдоподобное отрицание в шифровании
В обычном языке правдоподобное отрицание означает, что вы можете правдоподобно что-то отрицать. В криптографии это означает, что существование скрытых данных нельзя доказать даже эксперту с неограниченным временем и криминалистическими инструментами.
Концепция зародилась в дисковом шифровании. TrueCrypt (и его преемник VeraCrypt) ввёл скрытый том: зашифрованный том внутри другого. Один пароль раскрывает внешний том с безобидными файлами. Другой пароль раскрывает внутренний скрытый том с конфиденциальными файлами. Криминалист не может определить, существует ли скрытый том, потому что неиспользованное пространство внешнего тома заполнено случайными данными, неотличимыми от зашифрованных.
Для приложений правдоподобное отрицание означает, что разные учётные данные (пароли, PIN, узоры) открывают разные наборы данных, и нет метаданных, реестра, флага конфигурации или структурного артефакта, раскрывающего существование дополнительных наборов данных.
Настоящая отрицаемость vs косметические режимы-приманки
Это критическое различие, которое большинство приложений допускает неправильно.
Косметический режим-приманка (не настоящая отрицаемость)
Многие хранилища предлагают функцию «приманки» или «фальшивого PIN». Устанавливается вторичный PIN, открывающий отдельное пространство с другими фотографиями. Проблема: такие приложения обычно хранят булево значение, запись в базе данных или файл конфигурации, указывающий, что режим-приманка существует и настроен.
Криминалист, знающий приложение, может найти этот флаг. Обнаружение настроенного режима-приманки доказывает существование скрытых данных. Отрицаемость косметическая — она работает против случайного подглядывания, но не при криминалистической экспертизе.
Признаки косметической отрицаемости:
- В настройках есть переключатель «режим-приманка»
- Файл конфигурации хранит, включён ли режим-приманка
- Таблица базы данных перечисляет ID хранилищ с индикаторами типа (основное/приманка)
- Структура хранилища приложения меняется при включении режима-приманки
- Удаление и повторная установка приложения выявляет разное поведение при настроенном режиме-приманке
Настоящая криптографическая отрицаемость
Настоящая отрицаемость — это архитектурное свойство, а не функциональный переключатель. Зашифрованное хранилище должно быть спроектировано так, чтобы:
Каждые учётные данные открывают допустимый набор данных. Нет ошибки «неверный пароль» для учётных данных, открывающих скрытые хранилища. Любая допустимая комбинация узора/пароля производит ключ, расшифровывающий что-то.
Нет реестра хранилищ. Приложение не может перечислить, сколько хранилищ существует. Нет счётчика, индекса, списка ID хранилищ. Криминалист, исследующий хранилище приложения, находит недифференцированный пул зашифрованных данных.
Нет флагов конфигурации, раскрывающих скрытые хранилища. Нет булевого значения, записи в базе данных, файла настроек, указывающего, существуют ли дополнительные хранилища.
Хранилище дополнено случайными данными. Общий занятый объём не меняется в зависимости от количества хранилищ или файлов. Без дополнения исследователь мог бы оценить количество хранилищ по разнице между общим объёмом зашифрованных данных и видимым содержимым.
Зашифрованные данные неотличимы от случайного шума. Нет границ файлов, заголовков, структурных маркеров, раскрывающих, где заканчиваются данные одного хранилища и начинаются другого.
| Свойство | Косметическая приманка | Настоящая отрицаемость |
|---|---|---|
| Отдельные данные для каждых учётных данных | Да | Да |
| Нет реестра хранилищ | Нет (база данных отслеживает хранилища) | Да |
| Нет флагов конфигурации | Нет (переключатель приманки хранится) | Да |
| Дополнение хранилища | Редко | Да |
| Устойчивость к криминалистической экспертизе | Нет | Да |
| Архитектурное vs функция | Функциональный переключатель | Архитектурное свойство |
Реальные сценарии, где это важно
Правдоподобное отрицание — не теоретическая проблема. Оно адресует задокументированные, повторяющиеся реальные ситуации.
Пограничные переходы
В США Таможенно-пограничная охрана может законно потребовать доступ к устройству на границе. Суды постановили, что пограничные агенты могут требовать пароли для проверки устройства. В этом сценарии пользователь с настоящим правдоподобным отрицанием может предоставить узор/пароль, открывающий хранилище с безобидным контентом. Проверяющий не может доказать существование других хранилищ.
Домашнее насилие и принудительные отношения
Человек в отношениях с насилием может нуждаться в хранении доказательств (фото травм, угрожающих сообщений, юридических документов) на устройстве, которое контролирует насильник. Если насильник требует показать хранилище, пользователь может открыть хранилище с неконфиденциальным контентом. Без настоящей отрицаемости флаг «режима-приманки» в конфигурации приложения раскрыл бы существование скрытого контента.
Кража устройства
Вор с техническими навыками может попытаться извлечь данные из украденного телефона. При настоящей отрицаемости пул зашифрованных данных не раскрывает ничего о количестве хранилищ, их содержимом или назначении.
Юридическая и журналистская защита
Журналисты, защищающие источники, адвокаты, защищающие дела клиентов, и активисты в авторитарных режимах сталкиваются со сценариями, где содержимое устройства может быть изъято принудительно. Настоящая отрицаемость обеспечивает правдоподобную защиту от изъятия данных.
Как Vaultaire реализует правдоподобное отрицание
Vaultaire достигает настоящего криптографического правдоподобного отрицания через архитектурный дизайн:
Каждый узор открывает другое хранилище. Сетка 5x5 производит ключ через PBKDF2. Другой узор производит другой ключ. Нет мастер-ключа, списка хранилищ и способа для приложения перечислить существующие хранилища. Рисование узора без связанного хранилища просто открывает пустое хранилище — ошибки «неверный узор» нет.
Нет реестра хранилищ. У приложения нет базы данных, перечисляющей хранилища, их имена или количество. Все зашифрованные данные существуют в едином недифференцированном пуле. Криминалист с неограниченным доступом к файловой системе устройства находит зашифрованные блоки без структурных маркеров, указывающих на границы хранилищ.
Дополнение хранилища. Общий размер хранилища остаётся постоянным независимо от количества хранилищ или файлов, что исключает анализ дискового использования.
Нет флагов конфигурации. Нет файла настроек, записи в предпочтениях, записи в базе данных, раскрывающих, сколько хранилищ существует или использовался ли какой-то конкретный узор.
Режим принуждения. Пользователи могут назначить одно хранилище как хранилище принуждения. Рисование этого узора открывает хранилище нормально, одновременно тихо уничтожая криптографические соли для всех остальных. Уничтожение необратимо, не оставляет криминалистических следов и занимает менее секунды.
Как оценивать заявления об отрицаемости
Когда приложение заявляет о правдоподобном отрицании, спросите:
- Есть ли переключатель «режим-приманка»? Если да — это косметика. Криминалист может найти переключатель.
- Есть ли у приложения список или база данных хранилищ? Если да — существование хранилищ доказуемо.
- Есть ли ошибка «неверный пароль»? Если да — приложение может различать допустимые и недопустимые учётные данные, значит, оно хранит что-то для их проверки.
- Меняется ли потребление хранилища с количеством хранилищ? Если да — анализ диска может оценить количество хранилищ.
- Может ли приложение перечислить хранилища? Если приложение показывает список хранилищ, этот список существует на устройстве и обнаружим.
Часто задаваемые вопросы
Является ли правдоподобное отрицание законным?
Использование шифрования с правдоподобным отрицанием законно в большинстве демократий. Закон не запрещает иметь зашифрованные данные на устройстве, существование которых нельзя доказать. В некоторых юрисдикциях (Великобритания по RIPA, Австралия по Assistance and Access Act) власти могут принудить к раскрытию ключей. Правовой вопрос о том, исполнимо ли принуждение к раскрытию ключа к данным, существование которых нельзя доказать, остаётся развивающейся областью права.
Могут ли криминалистические инструменты обнаружить правдоподобное отрицание?
Профессиональные криминалистические инструменты (Cellebrite, GrayKey, Magnet AXIOM) могут обнаружить, что Vaultaire установлен и зашифрованные данные существуют. Они не могут определить, сколько хранилищ существует, что они содержат или существуют ли дополнительные хранилища помимо раскрытых. Зашифрованные данные неотличимы от случайного шума. Это верифицировано дизайном, а не заявлено политикой.
Работает ли правдоподобное отрицание против опытного государственного субъекта?
Против криптоанализа (взлома шифрования): да. AES-256 не поддаётся взлому известными возможностями любого государства. Против принуждения (заставить раскрыть узоры): правдоподобное отрицание означает, что можно раскрыть одно хранилище, правдоподобно отрицая существование других. Против эксплуатации устройства (использование уязвимости нулевого дня для извлечения данных с работающего устройства): если устройство разблокировано и хранилище открыто, расшифрованные данные в памяти теоретически доступны. Правдоподобное отрицание защищает данные в состоянии покоя, а не данные в активном использовании.
В чём разница между правдоподобным отрицанием и скрытыми хранилищами?
Скрытые хранилища не видны в интерфейсе приложения. Правдоподобное отрицание — это свойство, при котором существование скрытых хранилищ нельзя доказать. Приложение может иметь скрытые хранилища без правдоподобного отрицания (если реестр хранилищ или флаг конфигурации раскрывает их). Vaultaire предоставляет оба: хранилища скрыты по умолчанию, и их существование недоказуемо по дизайну.
Можно ли использовать правдоподобное отрицание с облачными резервными копиями?
В Vaultaire зашифрованные резервные копии iCloud содержат весь пул зашифрованного хранилища. Резервная копия — единый зашифрованный блоб. Она сохраняет правдоподобное отрицание, потому что сама не содержит структуры на уровне хранилищ — это тот же недифференцированный зашифрованный пул, что и на устройстве.
Итог
Правдоподобное отрицание в шифровании означает, что существование скрытых данных нельзя доказать даже при криминалистической экспертизе. Большинство приложений, заявляющих об этой функции, предлагают косметические режимы-приманки с обнаруживаемыми флагами конфигурации. Настоящая отрицаемость требует отсутствия реестра хранилищ, отсутствия флагов конфигурации, дополнения хранилища и архитектурно неотличимых зашифрованных данных.
Vaultaire реализует настоящее правдоподобное отрицание как архитектурное свойство: каждый узор открывает другое хранилище, нет списка хранилищ, хранилище дополнено, и ни одно другое зашифрованное хранилище не делает этого.