Правдоподібне заперечення у застосунках: що це і чому важливо

Правдоподібне заперечення у застосунках: що це і чому важливо

Правдоподібне заперечення означає, що існування прихованих даних неможливо довести.

Правдоподібне заперечення у шифруванні це властивість, яка дозволяє користувачеві правдоподібно заперечувати існування певних зашифрованих даних. Зашифроване сховище виглядає так, ніби містить лише дані, які користувач обирає розкрити. Криміналістичний експерт, примусова сторона або будь-хто з фізичним доступом до пристрою не може довести, що існують додаткові приховані дані. Це не функція приховування. Це математична властивість самої схеми шифрування.

Можливість заперечення в шифруванні — це властивість зберігання, яка дозволяє користувачеві розкривати один набір даних, не залишаючи структурного артефакту, який доводить існування іншого набору даних. У заяві має бути названа модель загрози: статичне зображення належним чином зашифрованого сховища відрізняється від живого зламаного пристрою, метаданих хмарних служб або копій, які зберігаються деінде. Це більше, ніж функція приховування. Це залежить від спільної роботи шифрування, макета, заповнення та робочого дизайну.

Що означає правдоподібне заперечення у шифруванні

У повсякденній мові правдоподібне заперечення означає, що ви можете правдоподібно щось заперечити. У криптографії це означає, що існування прихованих даних неможливо довести, навіть експертом із необмеженим часом і криміналістичними інструментами.

У повсякденній мові правдоподібне заперечення означає, що ви можете достовірно заперечувати щось. У криптографії зберігання корисна ціль вужча: дослідник зашифрованого сховища не повинен мати змогу відрізнити прихований вміст від невикористаного доповненого простору в рамках зазначеної моделі загрози. Жодна програма не може поширити цю обіцянку на вже відкрите сховище, записані дані, зовнішні копії чи будь-яку форму зламу пристрою.

Для застосунків правдоподібне заперечення означає, що різні облікові дані (паролі, PIN-коди, візерунки) відкривають різні набори даних, і немає жодних метаданих, реєстру, прапорця конфігурації або структурного артефакту, який виявляє існування додаткових наборів даних.

Справжнє заперечення та косметичні режими приманки

Це ключова відмінність, яку більшість застосунків ігнорує.

Косметичний режим приманки (не справжнє заперечення)

Багато застосунків-сховищ пропонують функцію "приманки" або "фальшивого PIN". Ви встановлюєте другорядний PIN, що відкриває окремий простір із різними фото. Проблема: ці застосунки зазвичай зберігають булеве поле, запис бази даних або конфігураційний файл, що вказує на існування режиму приманки.

Криміналістичний експерт, що розуміє програму, може знайти цей прапорець. Знаходження налаштованого режиму приманки доводить, що приховані дані існують. Заперечення є косметичним: воно спрацьовує проти випадкового шпигуна, але не витримує криміналістичної перевірки.

Ознаки косметичного заперечення:

  • У програмі є перемикач "режим приманки" в налаштуваннях
  • Конфігураційний файл зберігає, чи увімкнено режим приманки
  • Таблиця бази даних перелічує ID сховищ з індикаторами типу (основне/приманка)
  • Структура сховища змінюється при вмиканні режиму приманки

Справжнє криптографічне заперечення

Справжнє заперечення є архітектурною властивістю, а не перемикачем функції. Зашифроване сховище повинно бути спроектовано так, щоб:

  1. Альтернативні облікові дані розкривають лише власний набір даних. Система не зберігає окремого прапора-приманки, який визначає один обліковий запис як камуфляж. Недійсні облікові дані можуть дати помилку, але ця помилка не повинна виявити, чи існує нерозкритий набір даних.

  2. Реєстр сховищ відсутній. Програма не може перелічити, скільки сховищ існує. Немає лічильника, індексу, списку ID сховищ.

  3. Відсутні прапорці конфігурації, що виявляють приховані сховища. Немає булевого значення, запису бази даних або файлу налаштувань, що вказує, чи існують додаткові сховища.

  4. Сховище заповнено. Загальний обсяг займаного сховища не змінюється залежно від кількості сховищ або файлів. Без заповнення експерт може оцінити кількість сховищ з загального розміру зашифрованих даних.

  5. Зашифровані дані невідрізнювальні від випадкового шуму. Немає меж файлів, заголовків, структурних маркерів, що виявляють, де дані одного сховища закінчуються і починаються дані іншого.

ВластивістьКосметична приманкаСправжнє заперечення
Окремі дані для кожних облікових данихТакТак
Без реєстру сховищНі (база даних відстежує сховища)Так
Без прапорців конфігураціїНі (перемикач приманки збережено)Так
Заповнення сховищаРідкоТак
Приховує альтернативне зберігання в статичному зображенніНіТак, у рамках зазначеної моделі загроз зберігання
Архітектурна vs. функціяПеремикач функціїАрхітектурна властивість

Реальні сценарії, де це важливо

Правдоподібне заперечення не є теоретичною проблемою. Воно вирішує задокументовані, повторювані реальні ситуації.

Перетин кордонів

На перетині кордону екзаменатор може перевірити пристрій і попросити надати облікові дані. Якщо дизайн дійсно забезпечує заборону на рівні зберігання, один обліковий запис може розкрити нешкідливий набір даних, тоді як у статичного зображення відсутній структурний маркер, який відрізняє прихований вміст від доповнення. Поточний макет Vaultaire з одним індексним файлом на сховище не надає такої гарантії екзаменатору з доступом до контейнера програми.

Насильство в сім'ї та примусові відносини

Хтось у стосунках із насильством може потребувати зберігання доказів (фото травм, погрозливих повідомлень, юридичних документів) на пристрої, який кривдник контролює. Якщо кривдник вимагає показати сховище, користувач може відкрити сховище з нечутливим вмістом. Без справжнього заперечення прапорець "режим приманки" у конфігурації програми виявив би існування прихованого вмісту.

Крадіжка пристрою

Злодій з технічними навичками може спробувати отримати дані з викраденого телефону. Правильно заповнене заборонене сховище має на меті приховати кількість наборів даних, які займають пул, хоча загальний розподіл, стан пристрою, резервні копії та сліди операцій все ще належать до моделі загроз. Наразі Vaultaire шифрує вміст, але надає один підрахунковий локальний індекс для кожного налаштованого сховища.

Юридичний та журналістський захист

Журналісти, що захищають джерела, юристи, що захищають файли клієнтів, і активісти в авторитарних режимах стикаються зі сценаріями, де вміст пристрою може бути примусово вилучено. Справжнє заперечення надає надійний захист від вилучення даних.

Як Vaultaire реалізує правдоподібне заперечення

Vaultaire досягає справжнього криптографічного правдоподібного заперечення через архітектурний дизайн:

Налаштовані візерунки відкривають окремі зашифровані сховища. PBKDF2 виводить ключ сховища з візерунка та спільної для пристрою солі. Налаштований ключ автентифікує зашифрований індекс і розгортає випадковий головний ключ. Неналаштований візерунок показує порожній стан замість повідомлення про неправильний візерунок. У звичайному інтерфейсі немає списку сховищ, але формат зберігає один файл індексу на сховище, тому дослідник із доступом до контейнера програми може їх перелічити та порахувати.

Налаштовані шаблони відкривають окремі зашифровані сховища. PBKDF2 отримує ключ сховища з шаблону та солі для всього пристрою. Налаштований ключ автентифікує свій зашифрований індекс і розгортає випадковий головний ключ. Неналаштований шаблон відображає порожній стан, а не повідомлення "неправильний шаблон".

Локальний формат перелічується. Vaultaire зберігає один vault_index_<fingerprint>.bin файлів на сховище. Відбиток пальця не розкриває шаблон чи ім’я сховища, але хтось із доступом до контейнера програми може порахувати файли індексу. AES-GCM автентифікація та детермінована назва файлу також забезпечують офлайн-тест для потенційних ключів сховища.

Без прапорців конфігурації. Немає файлу налаштувань, запису налаштувань або запису бази даних, що виявляє, скільки сховищ існує.

Існує стан одужання та примусу. Vaultaire зберігає інформацію про відновлення в AES-GCM зашифрований Keychain бази даних. Режим примусу видаляє локальні індекси та зіставлення відновлення для сховищ без примусу та ізолює цей пристрій від синхронізації. Він не стирає резервні копії в хмарі, копії на однорангових пристроях або кожен спільний зашифрований блоб, а час завершення залежить від виконаної локальної роботи.

Як оцінювати заяви про правдоподібне заперечення

Коли програма стверджує про правдоподібне заперечення, запитайте:

  1. Чи є перемикач "режим приманки"? Якщо так, це косметично. Криміналістичний експерт може знайти перемикач.
  2. Чи є у програмі список або база даних сховищ? Якщо так, існування сховища можна довести.
  3. Чи можна перевірити припущення офлайн? Автентифікований зашифрований текст може підтвердити ключ-кандидат без окремого хешу пароля. Запитайте, що обмежує вартість вгадування та чи пропонує макет зберігання дешевший відбиток ключа.
  4. Чи змінюється споживання сховища зі збільшенням кількості сховищ? Якщо так, аналіз диска може оцінити кількість сховищ.
  5. Чи може програма перелічити сховища? Якщо програма може показати список ваших сховищ, цей список існує на пристрої і може бути знайдений.

Часті запитання

Чи є правдоподібне заперечення законним?

Використання шифрування з правдоподібним запереченням є законним у більшості демократій. У деяких юрисдикціях (Великобританія за RIPA, Австралія за Законом про допомогу та доступ) органи влади можуть вимагати розкриття ключів шифрування. Це залишається областю права, що розвивається.

Чи можуть криміналістичні інструменти виявити правдоподібне заперечення?

Експерт, який отримує контейнер програми Vaultaire, може виявити зашифроване сховище та підрахувати vault_index_*.bin файли. Файли не розкривають імен сховищ або відкритого текстового вмісту, але їх кількість показує кількість локальних зашифрованих індексів. Таким чином, поточний дизайн приховує сховища від звичайної навігації, а не від будь-якої криміналістичної перевірки сховищ.

Яка різниця між правдоподібним запереченням і прихованими сховищами?

Приховані сховища – це сховища, які не видно у звичайному інтерфейсі програми. Сильне криптографічне заперечення є окремою властивістю, що приховані дані не можна відрізнити від невикористаного м’якого сховища. Vaultaire наразі надає першу власність. Його формат «один індексний файл на сховище» не забезпечує другого проти екзаменатора з доступом до контейнера програми.