Hihető letagadhatóság az appokban: mi ez, és miért számít

Hihető letagadhatóság az appokban: mi ez, és miért számít

A hihető letagadhatóság azt jelenti, hogy a rejtett adatok létezése nem bizonyítható.


A titkosításban a hihető letagadhatóság a tárolás olyan tulajdonsága, amely lehetővé teszi, hogy a felhasználó felfedjen egy adatkészletet anélkül, hogy olyan szerkezeti nyom maradna, amely egy másik adatkészlet létezését bizonyítja. Az állításnak meg kell neveznie a fenyegetési modelljét: egy megfelelően kitöltött titkosított tároló statikus képe más, mint egy élő, feltört eszköz, a felhőszolgáltatás metaadatai vagy máshol tárolt másolatok. Ez több egy rejtőfunkciónál. A titkosítás, az elrendezés, a kitöltés és a működési kialakítás együttes munkáján múlik.

Ez az útmutató elmagyarázza, hogyan működik a hihető letagadhatóság az appokban, mi a különbség a valódi kriptográfiai letagadhatóság és a látszólagos csalimódok között, milyen valós helyzetekben számít, és hogyan értékelheted a letagadhatósággal kapcsolatos állításokat.

Mit jelent a hihető letagadhatóság a titkosításban

A hétköznapi nyelvben a hihető letagadhatóság azt jelenti, hogy hitelesen letagadhatsz valamit. A tárolási kriptográfiában a hasznos cél szűkebb: a titkosított tároló vizsgálója a megadott fenyegetési modellen belül ne tudja megkülönböztetni az elrejtett tartalmat a kitöltött, fel nem használt területtől. Egyetlen app sem terjesztheti ki ezt az ígéretet egy már megnyitott széfre, egy rögzített bevitelre, külső másolatokra vagy az eszköz feltörésének minden formájára.

A fogalom a lemeztitkosításból ered. A TrueCrypt (és utódja, a VeraCrypt) vezette be a rejtett kötetet: egy titkosított kötetet egy másik titkosított köteten belül. Az egyik jelszó a külső kötetet nyitja meg ártalmatlan fájlokkal. Egy másik jelszó a belső, rejtett kötetet nyitja meg az érzékeny fájlokkal. Egy törvényszéki vizsgáló nem tudja megállapítani, hogy létezik-e rejtett kötet, mert a külső kötet fel nem használt területe véletlenszerű adatokkal van kitöltve, amelyek megkülönböztethetetlenek a titkosított adatoktól.

Az appoknál a hihető letagadhatóság azt jelenti, hogy különböző hitelesítő adatok (jelszavak, PIN-kódok, minták) különböző adatkészleteket nyitnak meg, és nincs olyan metaadat, nyilvántartás, konfigurációs jelző vagy szerkezeti nyom, amely további adatkészletek létezését elárulná.

Valódi letagadhatóság kontra látszólagos csalimód

Ez az a döntő különbség, amelyet a legtöbb app elhibáz.

Látszólagos csalimód (nem valódi letagadhatóság)

Sok széfapp kínál „csali” vagy „hamis PIN” funkciót. Beállítasz egy második PIN-kódot, amely egy külön teret nyit meg más fotókkal. A gond: ezek az appok jellemzően egy logikai jelzőt, egy adatbázis-bejegyzést vagy egy konfigurációs fájlt tárolnak, amely jelzi, hogy létezik és be van állítva egy csalimód.

Egy törvényszéki vizsgáló, aki érti az app működését, megtalálhatja ezt a jelzőt. Egy beállított csalimód megtalálása bizonyítja, hogy rejtett adatok léteznek. A letagadhatóság csak látszólagos: egy alkalmi kíváncsiskodó ellen működik, törvényszéki vizsgálatnál viszont elbukik.

A látszólagos letagadhatóság jelei:

  • Az app beállításaiban van „csalimód” kapcsoló
  • Egy konfigurációs fájl tárolja, hogy be van-e kapcsolva a csalimód
  • Egy adatbázistábla típusjelölőkkel (elsődleges/csali) sorolja fel a széfazonosítókat
  • Az app tárolási szerkezete megváltozik, amikor bekapcsolod a csalimódot
  • Az app eltávolítása és újratelepítése eltérő viselkedést mutat, ha be volt állítva csalimód

Valódi kriptográfiai letagadhatóság

A valódi letagadhatóság a felépítés tulajdonsága, nem egy kapcsoló. A titkosított tárolót úgy kell megtervezni, hogy:

  1. Az alternatív hitelesítő adatok csak a saját adatkészletüket fedik fel. A rendszer nem tart külön csalijelzőt, amely egy hitelesítő adatot álcaként azonosítana. Az érvénytelen hitelesítő adatok hibát adhatnak, de ez a hiba nem árulhatja el, hogy létezik-e fel nem fedett adatkészlet.

  2. Nincs nyilvántartás a széfekről. Az app nem tudja felsorolni, hány széf létezik. Nincs darabszám, nincs index, nincs széfazonosító-lista. Az app tárolóját vizsgáló törvényszéki szakértő egységes, titkosított adathalmazt talál.

  3. Nincs rejtett széfeket eláruló konfigurációs jelző. Nincs olyan logikai érték, adatbázis-bejegyzés vagy beállításfájl, amely jelezné, hogy léteznek-e további széfek.

  4. A tárhely ki van töltve. A teljes felhasznált tárhely nem változik a széfek vagy a fájlok számától függően. Kitöltés nélkül egy vizsgáló megbecsülhetné a széfek számát a titkosított adatok teljes méretéből a látható tartalomhoz képest.

  5. A titkosított adat megkülönböztethetetlen a véletlen zajtól. Nincsenek fájlhatárok, fejlécek vagy szerkezeti jelölők, amelyek elárulnák, hol ér véget az egyik széf adata, és hol kezdődik a másiké.

Tulajdonság Látszólagos csali Valódi letagadhatóság
Külön adat hitelesítő adatonként Igen Igen
Nincs széfnyilvántartás Nem (adatbázis tartja nyilván a széfeket) Igen
Nincsenek konfigurációs jelzők Nem (a csalikapcsoló tárolva van) Igen
Tárhelykitöltés Ritkán Igen
Statikus képen elrejti az alternatív tárolót Nincs Igen, a megadott tárolási fenyegetési modellen belül
Felépítés vagy funkció Funkciókapcsoló A felépítés tulajdonsága

Valós helyzetek, amelyekben ez számít

A hihető letagadhatóság nem elméleti kérdés. Dokumentált, visszatérő valós helyzetekre ad választ.

Határátlépés

Határátlépéskor egy vizsgáló átnézheti az eszközt, és hitelesítő adatokat kérhet. Ha egy kialakítás valóban tárolási szintű letagadhatóságot ad, az egyik hitelesítő adat felfedhet egy ártalmatlan adatkészletet, miközben a statikus képen nincs olyan szerkezeti jelölő, amely megkülönböztetné az elrejtett tartalmat a kitöltéstől. A Vaultaire jelenlegi tárolási elrendezéséből egy, az app tárolójához hozzáférő vizsgáló megbecsülheti a széfek számát, ezért ezt a garanciát nem adja meg.

Családon belüli erőszak és kényszerítő kapcsolatok

Egy bántalmazó kapcsolatban élő embernek szüksége lehet arra, hogy bizonyítékokat (sérülésekről készült fotókat, fenyegető üzeneteket, jogi dokumentumokat) tároljon egy olyan eszközön, amelyet a bántalmazó figyel. Ha a bántalmazó látni akarja a széfet, a felhasználó megnyithat egy nem érzékeny tartalmú széfet. Valódi letagadhatóság nélkül egy „csalimód” jelző az app konfigurációjában elárulná a rejtett tartalom létezését.

Az eszköz ellopása

Egy műszakilag képzett tolvaj megpróbálhat adatokat kinyerni egy ellopott telefonból. Egy megfelelően kitöltött, letagadható tároló célja, hogy elrejtse, hány adatkészlet foglalja a tárterületet, bár a teljes lefoglalt méret, az eszköz állapota, a mentések és a működési nyomok továbbra is a fenyegetési modell részei. A Vaultaire jelenleg titkosítja a tartalmat, de a tárolóarénák száma így is felső korlátot ad arra, hány széfben vannak fájlok.

Jogi és újságírói védelem

A forrásaikat védő újságírók, az ügyfeleik aktáit védő ügyvédek és az autoriter rendszerekben élő aktivisták olyan helyzetekkel néznek szembe, amelyekben kikényszeríthető az eszköz tartalmának kiadása. A valódi letagadhatóság hiteles védelmet ad az adatok lefoglalásával szemben.

Amit a Vaultaire ma megvalósít

A Vaultaire mintánként elkülönített hozzáférést és látható széflista nélküli, szokásos felületet valósít meg. Ezek a tulajdonságok a szokásos apphasználat során segítenek, de nem teljesítik a fenti, valódi letagadhatóságra vonatkozó ellenőrzőlista minden követelményét.

A beállított minták külön titkosított széfeket nyitnak meg. A PBKDF2 a mintából és egy, az egész eszközre érvényes sóból széfkulcsot származtat. Egy beállított kulcs hitelesíti a titkosított indexét, és kicsomagol egy véletlenszerű mesterkulcsot. Egy be nem állított minta üres állapotot mutat „hibás minta” üzenet helyett.

A helyi formátumból még becsülhető a széfek száma. A Vaultaire széfenként egy vault_index_<locator>.bin gyökérfájlt tárol, egy legalább 64 elemű készletben, takarófájlokkal együtt. Minden széf lapjai és tárolóarénái egy közös mappában vannak véletlen nevekkel. A nevek nem árulják el a mintát, a széf nevét vagy azt, hogy melyik fájl melyik széfhez tartozik, de aki hozzáfér az app tárolójához, így is megbecsülheti, hány széfben vannak fájlok, mert az arénák száma felső korlátot ad rá. Az AES-GCM-hitelesítés offline tesztet is ad a jelölt széfkulcsokhoz.

A helyi tárhely mérete nem állandó. A fájltartalom és a metaadatok titkosítva vannak, a felhőmentés darabjai pedig méretkitöltést és csalirekordokat használnak. A gyökérfájlok takarófájlokkal közös készletben vannak, a takaróarénák pedig egy sávon belül tartják az arénák számát, de az arénák száma, a katalógus lapjainak száma, a fájlok időbélyegei és a teljes tárhely így is elárulja a szerkezetet.

Létezik helyreállítási és kényszerállapot. A Vaultaire a helyreállítási adatokat egy AES-GCM-mel titkosított kulcskarika-adatbázisban tartja. A kényszermód törli az eszközön a többi széf indexeit, lapjait és tárolóarénáit (egyszerű fájltörléssel, felülírás nélkül), törli a helyreállítási adatokat, és leválasztja az eszközt a szinkronizálásról. Nem törli a felhőmentéseket és a társeszközökön lévő másolatokat, és a befejezés ideje a helyben elvégzett munkától függ.

A Vaultaire tehát felületi elkülönítést és titkosított tárolást ad, nem információelméleti bizonyítékot arra, hogy nincs további széf. Az 1.0.17-es verzióban megjelent tárolási formátum elrejti, melyik fájl melyik széfhez tartozik, de az arénák száma egy offline apptároló-pillanatképben így is felső korlátot ad a széfek számára.

Így értékeld a letagadhatósági állításokat

Ha egy app hihető letagadhatóságot állít, kérdezd meg:

  1. Van „csalimód” kapcsoló? Ha igen, látszólagos. Egy törvényszéki vizsgáló megtalálja a kapcsolót.
  2. Van az appnak széflistája vagy adatbázisa? Ha igen, a széfek létezése bizonyítható.
  3. Ellenőrizhetők offline a próbálkozások? A hitelesített titkosított szöveg külön jelszóhash nélkül is igazolhat egy jelölt kulcsot. Kérdezd meg, mi korlátozza a találgatás költségét, és kínál-e a tárolási elrendezés olcsóbb kulcsujjlenyomatot.
  4. Változik a tárhelyhasználat a széfek számával? Ha igen, a lemez elemzéséből megbecsülhető a széfek száma.
  5. Fel tudja sorolni az app a széfeket? Ha az app meg tudja mutatni a széfeid listáját, az a lista létezik az eszközön, és felfedezhető.

Gyakran ismételt kérdések

Legális a hihető letagadhatóság?

A hihető letagadhatóságot nyújtó titkosítás használata a legtöbb demokráciában legális. Nincs olyan törvény, amely tiltaná, hogy az eszközödön olyan titkosított adat legyen, amelynek létezése nem bizonyítható. Egyes joghatóságokban (az Egyesült Királyságban a RIPA, Ausztráliában az Assistance and Access Act alapján) a hatóságok kikényszeríthetik a titkosítási kulcsok kiadását. A jogi kérdés az, hogy végrehajtható-e egy olyan adathoz tartozó kulcs kiadásának kikényszerítése, amelynek létezése nem bizonyítható. Ez a jog még alakuló területe.

Észlelhetik a törvényszéki eszközök a hihető letagadhatóságot?

Egy vizsgáló, aki megszerzi a Vaultaire apptárolóját, észlelheti a titkosított tárolást. A vault_index_*.bin gyökérfájlok egy legalább 64 elemű készletben vannak takarófájlokkal, és minden széf lapjai és tárolóarénái egy közös mappában vannak véletlen nevekkel. A fájlnevekből nem derül ki, melyik fájl melyik széfhez tartozik, de az arénák száma felső korlátot ad arra, hány széfben vannak fájlok, ezért a vizsgáló így is megbecsülheti, hány széfed van. A fájlok nem árulják el a széfek nevét vagy a nyílt tartalmat. A jelenlegi kialakítás tehát a szokásos navigáció elől rejti el a széfeket, nem minden törvényszéki tárolóvizsgálat elől.

Működik a hihető letagadhatóság egy elszánt állami szereplővel szemben?

Az AES-256-GCM erős tartalomtitkosítási határt ad, ha a kulcsok, a nonce-ok és a megvalósítás rendben vannak. Ettől a Vaultaire jelenlegi tárolási elrendezése még nem letagadható egy állami vizsgálóval szemben: egy vizsgáló így is megbecsülheti a helyi széfek számát, egy élő feltörés pedig célba veheti a mintákat, a kulcsokat, az előnézeteket vagy az exportokat, amíg egy széf nyitva van. A jelenlegi funkció a felületen választja szét, mit nyitnak meg a különböző minták; nem ígéri, hogy egy elszánt vizsgáló nem tudja bizonyítani további helyi indexek létezését.

Mi a különbség a hihető letagadhatóság és a rejtett széfek között?

A rejtett széfek olyan széfek, amelyek nem látszanak az app szokásos felületén. Az erős kriptográfiai letagadhatóság egy külön tulajdonság: a rejtett adat nem különböztethető meg a kitöltött, fel nem használt tárhelytől. A Vaultaire jelenleg az első tulajdonságot adja. A jelenlegi tárolási formátumából egy, az apptárolóhoz hozzáférő vizsgáló még mindig megbecsülheti a széfek számát, ezért a másodikat nem adja meg.

Használhatom a hihető letagadhatóságot felhőmentéssel?

A Vaultaire titkosított mentési jegyzékeket és kitöltött, titkosított fájldarabokat ír a felhasználó privát CloudKit-adatbázisába. Az adatrekordok véletlenszerű nevei, a 10 MB-os darabkitöltés és a csalirekordok csökkentik a tartalom közvetlen felfedését. A rekordok száma, a teljes mennyiség, az időzítés és a frissítési minták látható szolgáltatási metaadatok maradnak, így a felhőmentés nem hoz létre állandó méretű, információelméletileg letagadható tárolót.

Összegzés

Az erős tárolási letagadhatóság célja, hogy egy statikus titkosított tárolóban a vizsgáló ne tudja megkülönböztetni az elrejtett adatot a kitöltött szabad területtől. A legtöbb app, amely ezt a funkciót állítja, felfedezhető konfigurációs jelzőkkel működő, látszólagos csalimódot kínál. Az erősebb meghatározás teljesítéséhez pontos fenyegetési modell, megszámolhatatlan széfnyilvántartás, árulkodó konfigurációs jelzők hiánya, állandó kitöltés és olyan titkosított rekordok kellenek, amelyek nem fedik fel, mely helyek valódiak.

A Vaultaire a beállított mintákkal választja szét a titkosított széfeket, és a zárolt felületen nem mutatja a széfek nevét és tartalmát. A jelenlegi tárolási elrendezéséből azonban az apptároló vizsgálatával továbbra is megbecsülhető a széfek száma. Ezt a hitelesített titkosítással alátámasztott, felületi szintű elrejtésként kezeld, ne annak bizonyítékaként, hogy nincs további széf.