Vierohodné popretie v aplikáciách: Čo to je a prečo na tom záleží

Vierohodné popretie v aplikáciách: Čo to je a prečo na tom záleží

Vierohodné popretie znamená, že existenciu skrytých dát nemožno dokázať.


Vierohodné popretie v šifrovaní je vlastnosť úložiska, ktorá umožňuje používateľovi zverejniť jeden súbor údajov bez zanechania štrukturálneho artefaktu, ktorý dokazuje existenciu iného súboru údajov. Takéto tvrdenie musí pomenovať svoj model hrozby: statický obraz správne doplneného šifrovaného úložiska sa líši od živého napadnutého zariadenia, metadát cloudovej služby alebo kópií uložených inde. Je to viac než funkcia na skrývanie. Závisí od šifrovania, rozloženia, výplne a prevádzkového návrhu spolu.

Tento sprievodca vysvetľuje, ako vierohodné popretie v aplikáciách funguje, aký je rozdiel medzi skutočnou kryptografickou popierateľnosťou a kozmetickými režimami návnady, reálne scenáre, kde na tom záleží, a ako hodnotiť tvrdenia o popierateľnosti.

Čo vierohodné popretie v šifrovaní znamená

V bežnom jazyku vierohodné popretie znamená, že niečo môžete vierohodne poprieť. V kryptografii úložiska je užitočný cieľ užší: forenzný analytik šifrovaného úložiska by nemal byť schopný rozlíšiť skrytý obsah od nevyužitého priestoru s výplňou v rámci uvedeného modelu hrozby. Žiadna aplikácia nemôže rozšíriť tento sľub na už otvorený trezor, zaznamenaný vstup, externé kópie alebo akúkoľvek formu napadnutia zariadenia.

Tento koncept vznikol v oblasti šifrovania diskov. TrueCrypt (a jeho nástupca VeraCrypt) zaviedol skrytý zväzok: šifrovaný zväzok vnútri iného šifrovaného zväzku. Jedno heslo odhalí vonkajší zväzok s nevinným obsahom. Iné heslo odhalí vnútorný skrytý zväzok s citlivými súbormi. Forenzný expert nemôže zistiť, či skrytý zväzok existuje, pretože nevyužité miesto vo vonkajšom zväzku je vyplnené náhodnými dátami na nerozoznanie od šifrovaných dát.

Pre aplikácie vierohodné popretie znamená, že rôzne prihlasovacie údaje (heslá, PINy, vzory) otvárajú rôzne dátové sady a neexistujú žiadne metadáta, register, konfiguračný príznak ani štruktúrny artefakt, ktorý by odhalil existenciu ďalších dátových sád.

Skutočná popierateľnosť vs. kozmetický režim návnady

Toto je zásadný rozdiel, ktorý väčšina aplikácií zle rieši.

Kozmetický režim návnady (nie skutočná popierateľnosť)

Mnoho trezorových aplikácií ponúka funkciu „návnada" alebo „falošný PIN". Nastavíte sekundárny PIN, ktorý otvorí oddelený priestor s inými fotografiami. Problém: tieto aplikácie typicky ukladajú boolean príznak, databázový záznam alebo konfiguračný súbor, ktorý hovorí, že režim návnady existuje a je nakonfigurovaný.

Forenzný expert, ktorý aplikácii rozumie, tento príznak nájde. Nájdenie nakonfigurovaného režimu návnady dokazuje, že skryté dáta existujú. Popierateľnosť je kozmetická, funguje voči povrchnému zvedavcom, ale zlyhá pri forenznom skúmaní.

Znaky kozmetickej popierateľnosti:

  • Aplikácia má v nastaveniach prepínač „režim návnady"
  • Konfiguračný súbor ukladá, či je režim návnady zapnutý
  • Databázová tabuľka obsahuje zoznam ID trezorov s indikátormi typu (primárny/návnada)
  • Štruktúra úložiska aplikácie sa zmení, keď je režim návnady zapnutý
  • Odtialinštalovanie a preinštalovanie aplikácie odhalí iné správanie, ak bol režim návnady nakonfigurovaný

Skutočná kryptografická popierateľnosť

Skutočná popierateľnosť je architekturálna vlastnosť, nie prepínač funkcie. Šifrované úložisko musí byť navrhnuté tak, aby:

  1. Alternatívne prístupové údaje odhalia iba vlastnú množinu údajov. Systém neuchováva samostatný príznak návnady, ktorý by jeden prístupový údaj označil ako kamufláž. Neplatné prístupové údaje môžu zlyhať, ale toto zlyhanie nesmie odhaliť, či existuje nezverejnená množina údajov.

  2. Neexistuje žiadny register trezorov. Aplikácia nemôže vypočítať, koľko trezorov existuje. Neexistuje počet, index ani zoznam ID trezorov. Forenzný expert skúmajúci úložisko aplikácie nájde nediferencovaný pool šifrovaných dát.

  3. Žiadne konfiguračné príznaky neodhaľujú skryté trezory. Neexistuje žiadny boolean, databázový záznam ani súbor predvolení, ktorý by ukazoval, či existujú ďalšie trezory.

  4. Úložisko je vyplnené výplňovými dátami. Celková využitá kapacita úložiska sa nemení podľa počtu trezorov ani súborov. Bez výplne by expert mohol odhadnúť počet trezorov z celkového objemu šifrovaných dát v porovnaní s viditeľným obsahom.

  5. Šifrované dáta sú na nerozoznanie od náhodného šumu. Neexistujú hranice súborov, hlavičky ani štruktúrne markery, ktoré by odhalili, kde dáta jedného trezoru končia a začínajú dáta druhého.

Vlastnosť Kozmetická návnada Skutočná popierateľnosť
Oddelené dáta na prihlasovacie údaje Áno Áno
Žiadny register trezorov Nie (databáza sleduje trezory) Áno
Žiadne konfiguračné príznaky Nie (prepínač návnady je uložený) Áno
Výplňové dáta v úložisku Zriedka Áno
Skryje alternatívne úložisko v statickom obraze Nie Áno, v rámci uvedeného modelu hrozby pre úložisko
Architektúra vs. funkcia Prepínač funkcie Architekturálna vlastnosť

Reálne scenáre, kde na tom záleží

Vierohodné popretie nie je teoretická záležitosť. Rieši dokumentované, opakujúce sa reálne situácie.

Hraničné prechody

Na hraničnom priechode môže forenzný analytik skontrolovať zariadenie a požiadať o prístupový údaj. Ak návrh skutočne poskytuje popretie na úrovni úložiska, jeden prístupový údaj môže odhaliť neškodnú množinu údajov, zatiaľ čo statickému obrazu chýba štrukturálna značka, ktorá odlíši skrytý obsah od výplne. Súčasné rozloženie úložiska Vaultaire umožňuje forenznému analytikovi s prístupom ku kontajneru aplikácie odhadnúť počet trezorov, takže túto záruku neposkytuje.

Domáce násilie a nátlakové vzťahy

Niekto v násilnom vzťahu môže potrebovať ukladať dôkazy (fotografie zranení, výhražné správy, právne dokumenty) na zariadení, ktoré agresor sleduje. Ak agresor požaduje prístup k trezoru, používateľ môže otvoriť trezor s necitlivým obsahom. Bez skutočnej popierateľnosti by príznak „režimu návnady" v konfigurácii aplikácie odhalil existenciu skrytého obsahu.

Krádež zariadenia

Zlodej s technickými zručnosťami sa môže pokúsiť získať údaje z ukradnutého telefónu. Účelom správne doplneného úložiska s popretím je skryť, koľko množín údajov zaberá spoločný priestor, hoci celková alokácia, stav zariadenia, zálohy a prevádzkové stopy stále patria do modelu hrozby. Vaultaire momentálne šifruje obsah, ale počet úložných arén stále obmedzuje, koľko trezorov obsahuje súbory.

Právna a novinárska ochrana

Novinári chrániaci zdroje, právnici chrániaci klientske spisy a aktivisti v autoritárskych režimoch čelia situáciám, kde možno obsah zariadenia vynútiť. Skutočná popierateľnosť poskytuje vierohodné popretie voči zaisteniu dát.

Čo dnes Vaultaire implementuje

Vaultaire implementuje prístup oddelený vzormi a normálne rozhranie bez viditeľného zoznamu trezorov. Tieto vlastnosti pomáhajú pri bežnom používaní aplikácie, ale nespĺňajú všetky požiadavky vo vyššie uvedenom kontrolnom zozname skutočného popretia.

Nakonfigurované vzory otvárajú samostatné šifrované trezory. PBKDF2 odvodzuje kľúč trezora zo vzoru a soli pre celé zariadenie. Nakonfigurovaný kľúč overí svoj zašifrovaný index a rozbalí náhodný hlavný kľúč. Nekonfigurovaný vzor zobrazuje skôr prázdny stav než správu „nesprávny vzor“.

Lokálny formát stále umožňuje odhad počtu trezorov. Vaultaire uchováva jeden koreňový súbor vault_index_<fingerprint>.bin na trezor, a to v skupine 64 alebo viac súborov spolu s krycími súbormi. Stránky a úložné arény všetkých trezorov zdieľajú jeden priečinok s náhodnými názvami. Názvy neodhaľujú vzor, názov trezora ani to, ku ktorému trezoru súbor patrí, ale niekto s prístupom ku kontajneru aplikácie môže stále odhadnúť, koľko trezorov obsahuje súbory, pretože počet arén tento počet obmedzuje. Autentifikácia AES-GCM a deterministický názov súboru tiež poskytujú offline test pre kandidátske kľúče trezora.

Lokálne úložisko nemá konštantnú veľkosť. Obsah súboru a metadáta sú šifrované a bloky zálohy v cloude používajú výplň veľkosti a záznamy návnady. Koreňové súbory sú v skupine s krycími súbormi a krycie arény držia počet arén v určitom pásme, ale počet arén, počet stránok katalógu, časy súborov a celková veľkosť úložiska stále odhaľujú štruktúru.

Existuje stav obnovy a nátlaku. Vaultaire uchováva informácie o obnove v databáze Keychain zašifrovanej AES-GCM. Nátlakový režim odstráni indexy, stránky a úložné arény ostatných trezorov na tomto zariadení (obyčajným odstránením súborov, bez prepísania), vymaže údaje na obnovu a izoluje toto zariadenie od synchronizácie. Nevymaže cloudové zálohy ani kópie na ďalších zariadeniach a čas dokončenia závisí od vykonanej lokálnej práce.

Vaultaire preto poskytuje oddelenie rozhrania a šifrované úložisko, nie informačno-teoretický dôkaz, že neexistuje žiadny ďalší trezor. Formát úložiska vydaný vo verzii 1.0.17 skrýva, ktoré súbory patria ku ktorému trezoru, ale jeho počet arén stále dáva offline snímke kontajnera aplikácie hornú hranicu počtu trezorov.

Ako hodnotiť tvrdenia o popierateľnosti

Ak aplikácia tvrdí, že má vierohodné popretie, opýtajte sa:

  1. Má aplikácia prepínač „režim návnady"? Ak áno, ide o kozmetiku. Forenzný expert prepínač nájde.
  2. Má aplikácia zoznam trezorov alebo databázu? Ak áno, existenciu trezorov možno dokázať.
  3. Dajú sa odhady overiť offline? Overený šifrovaný text môže overiť kandidátsky kľúč bez samostatného hašu hesla. Opýtajte sa, čo zvyšuje cenu každého odhadu a či rozloženie úložiska ponúka lacnejší odtlačok kľúča.
  4. Mení sa spotreba úložiska s počtom trezorov? Ak áno, analýza disku môže odhadnúť počet trezorov.
  5. Dokáže aplikácia vypočítať trezory? Ak aplikácia vie zobraziť zoznam vašich trezorov, tento zoznam existuje v zariadení a je objaviteľný.

Najčastejšie otázky

Je vierohodné popretie legálne?

Používanie šifrovania s vierohodným popretím je legálne vo väčšine demokratických krajín. Neexistuje žiadny zákon zakazujúci mať v zariadení šifrované dáta, ktorých existenciu nemožno dokázať. V niektorých jurisdikciách môžu orgány vyžadovať sdielenie šifrovacích kľúčov (napríklad UK podľa zákona RIPA alebo Austrália podľa zákona Assistance and Access Act). Právna otázka, či možno vynucovať sdielenie kľúča k dátam, ktorých existenciu nemožno dokázať, zostáva otvorená a stále sa vyvíja.

Dokážu forenzné nástroje odhaliť vierohodné popretie?

Forenzný analytik, ktorý získa kontajner aplikácie Vaultaire, môže zistiť šifrované úložisko. Koreňové súbory vault_index_*.bin tvoria spolu s krycími súbormi skupinu 64 alebo viac súborov a stránky aj úložné arény všetkých trezorov zdieľajú jeden priečinok s náhodnými názvami. Názvy súborov neukazujú, ku ktorému trezoru súbor patrí, ale počet arén obmedzuje, koľko trezorov obsahuje súbory, takže analytik môže stále odhadnúť, koľko trezorov máte. Súbory nezverejňujú názvy trezorov ani obsah v otvorenej podobe. Súčasný návrh preto skrýva trezory pred bežnou navigáciou, nie pred každou forenznou kontrolou úložiska.

Funguje vierohodné popretie voči odhodlanému štátnemu aktérovi?

AES-256-GCM poskytuje silnú hranicu šifrovania obsahu, keď sú kľúče, nonces a implementácia v poriadku. To neznamená, že súčasné rozloženie úložiska Vaultaire nebude možné zamietnuť pre forenzného analytika v národnom štáte: analytik môže stále odhadnúť počet lokálnych trezorov a živý kompromis sa môže zamerať na vzory, kľúče, ukážky alebo exporty, kým je trezor otvorený. Aktuálna funkcia oddeľuje rôzne vzory, ktoré sa otvárajú v rozhraní; nesľubuje, že odhodlaný forenzný analytik nemôže dokázať existenciu ďalších lokálnych indexov.

Aký je rozdiel medzi vierohodným popretím a skrytými trezormi?

Skryté trezory sú trezory, ktoré nie sú viditeľné v bežnom rozhraní aplikácie. Silné kryptografické popretie je samostatná vlastnosť: skryté údaje nemožno rozlíšiť od nepoužitého úložiska s výplňou. Vaultaire v súčasnosti poskytuje prvú vlastnosť. Jeho súčasný formát úložiska stále umožňuje forenznému analytikovi s prístupom ku kontajneru aplikácie odhadnúť počet trezorov, takže druhú vlastnosť neposkytuje.

Možno vierohodné popretie používať s cloudovými zálohami?

Vaultaire zapisuje zašifrované manifesty záloh a doplnené zašifrované bloky súborov do súkromnej databázy CloudKit používateľa. Náhodné názvy dátových záznamov, doplnenie blokov na 10 MB a záznamy návnady znižujú priame odhalenie obsahu. Počet záznamov, celkový objem, načasovanie a vzory aktualizácií zostávajú viditeľnými metadátami služby, takže záloha v cloude nevytvára úložisko s konštantnou veľkosťou ani informačno-teoretické popretie.

Záver

Silné popretie na úrovni úložiska má za cieľ zabrániť forenznému analytikovi odlíšiť skryté údaje od doplneného voľného miesta v statickom šifrovanom úložisku. Väčšina aplikácií, ktoré túto funkciu deklarujú, ponúka kozmetické režimy návnady s viditeľnými konfiguračnými príznakmi. Splnenie silnejšej definície si vyžaduje presný model hrozby, žiadne počítateľné registre trezorov, žiadne odhaľujúce konfiguračné príznaky, stabilnú výplň a šifrované záznamy, ktoré neodhalia, ktoré sloty sú skutočné.

Vaultaire používa nakonfigurované vzory na oddelenie šifrovaných trezorov a uchováva názvy a obsah trezorov mimo uzamknutého rozhrania. Jeho súčasné rozloženie úložiska stále umožňuje pri kontrole kontajnera aplikácie odhadnúť počet trezorov. Považujte to za utajenie na úrovni rozhrania podporované overeným šifrovaním, nie za dôkaz, že neexistuje žiadny ďalší trezor.