Odepřené šifrování ( angl. deniable encryption , také nejednoznačné šifrování ) je metoda kryptografické transformace , při které jsou dvě nebo více různých zpráv zašifrovány společně na dvou nebo více různých klíčích [1] . Tato metoda poskytuje možnost věrohodného popření existence jedné nebo skupiny zpráv jako takových. Samotný termín „nejednoznačné šifrování“ byl vytvořen Julianem Assangem a Ralphem Weimannem při práci na Rubberhose [2] v letech 1997-2000.
Koncept deniable encryption bere v úvahu cíl poskytnout dostatečně vysokou sílu proti donucovacím útokům . V modelu takových útoků se předpokládá, že útočník má určitou páku na odesílatele, příjemce nebo správce šifrovaných informací a nutí je vydat klíč k jejich dešifrování . Odolnost vůči nátlakovým útokům je zajištěna tím, že alespoň jedna z přenášených zpráv není tajná a útočníkovi je poskytnut klíč, pomocí kterého dešifrování kryptogramu vede k prozrazení této zprávy. Zároveň je dešifrovací procedura provedena tak, že útočník nemá žádné rozumné argumenty, aby se domníval, že s kryptogramem byly spojeny nějaké další zprávy. Nejednoznačné šifrování umožňuje číst zašifrovanou zprávu několika smysluplnými způsoby v závislosti na použitém klíči . Jinými slovy, dává uživateli šanci skrýt tajnou zprávu, i když je nucen odhalit jeden z klíčů. [3]
Základním požadavkem na šifrovací algoritmy s vyloučením je zajištění ekvipravděpodobného vlivu bitů kryptogramu na bity dešifrovaného textu, což spočívá ve skutečnosti, že změna kteréhokoli bitu kryptogramu by měla vést k inverzi kteréhokoli bitu dešifrovaného textu. text s pravděpodobností dostatečně blízkou 0,5. [jeden]
Možný scénář vypadá takto:
Alice také může poslat stejný kryptogram Bobovi i Carlovi. Ve stejnou dobu Bob, který dešifroval zprávu pomocí svého klíče, zjistí, že Karl na něj chce napsat výpověď . Dopis řekne Carlovi, že se Bob pokouší ukrást jeho peníze. Aliciny pokusy se mezi nimi pohádat nebudou odhaleny, dokud Bob a Carl nezjistí, že mají různé klíče. [jeden]
Příklad 1
Implementace popíratelného šifrování se provádí [ 3] pomocí tajného klíče ve formě sady podklíčů a dvou prvočísel a
které zapíšeme do tvaru
v souladu s čínskou větou o zbytku se řešení vypočítá podle následujícího vzorce:
Ať je zpráva určena k prozrazení během vynuceného útoku . Poté je útočníkovi předložena trojice hodnot jako šifrovací klíč . Dešifrování se provádí podle vzorce
.
V posledním vzorci jsou reciproční hodnoty pro podklíče a vypočteny modulo a . Tajná zpráva M je dešifrována pomocí stejného vzorce, ale pomocí klíče, který má trojici hodnot :
Příklad 2
Šifrovací klíč je sada podklíčů a dvou prvočísel a . Dvě zprávy jsou zašifrovány a generováním náhodných čísel a výpočtem hodnoty podle vzorce , výpočtem hodnoty podle vzorce a generováním kryptogramu , což je řešení srovnávacího systému , který obsahuje tři srovnání
.
Tento systém lze zapsat jako
V souladu s čínskou větou o zbytku se řešení tohoto systému srovnání vypočítá podle vzorce:
Při nuceném útoku je útočníkovi prezentována trojice hodnot jako šifrovací klíč , podle kterého se dešifrování provádí podle vzorce:
.
Je zřejmé, že velikost kryptogramu nemůže být menší než součet velikostí společně zašifrovaných zpráv, proto jako známky přítomnosti dalších zpráv v kryptogramu mohou být známky rozdílu mezi kryptogramem a šifrovaným textem získaným je uvažováno pravděpodobnostní šifrování nekryté zprávy, ve kterém je velikost šifrovaného textu mnohem větší než velikost původní zprávy. Jinými slovy, napadený kryptogram mohl být získán pomocí pravděpodobnostního šifrování pomocí předloženého klíče. Z tohoto důvodu není důvod, aby útočník požadoval jakýkoli jiný klíč pro další dešifrování kryptogramu. [3]
Ve prospěch přítomnosti dalších zpráv v kryptogramu lze útočníkům předložit následující argumenty:
Velikost kryptogramu může být větší než velikost původního textu. Zároveň je útočník informován, že k vytvoření kryptogramu byla použita metoda pravděpodobnostního šifrování. Zvětšení velikosti šifrového textu je pro šifry tohoto typu typické.
Moderní metody nejednoznačného šifrování využívají pseudonáhodné permutační vlastnosti blokových šifer , což ztěžuje dokazování, že data nejsou jen nesmyslnou sadou bitů generovaných silným generátorem pseudonáhodné sekvence . Tato technologie je doplněna zpřístupněním některých klamavých údajů útočníkovi, podobných těm, které by se uživatel snažil skrýt. Tento druh nejednoznačného šifrování se někdy nazývá steganografické šifrování.
Příkladem jsou kryptografické souborové systémy , které používají abstraktní schéma „vrstvy“, přičemž každá následující vrstva vyžaduje jiný dešifrovací klíč. Kromě toho existují takzvané úrovně plev naplněné náhodnými daty, které působí proti detekci existence skutečných úrovní a také jejich klíčů. Uživatel může ukládat klamná data v několika úrovních s tím, že zbytek prostoru je použit jako úrovně plev. Fyzicky jsou data nejčastěji umístěna v jediném adresáři, rozděleném do souborů stejné délky s názvy buď vybranými náhodně (v případě úrovně plev) nebo představujícími výsledek kryptografické hashovací funkce pracující s identifikátory bloků. Časové parametry pro tyto soubory jsou vybírány náhodně. Příklady takových systémů jsou Rubberhose a PhoneBookFS .
Dalším přístupem používaným tradičními balíčky ochrany médií je vytvoření nového chráněného svazku uvnitř hlavního svazku. Proces začíná formátováním naplněním hlavního kontejneru změtí dat a následnou inicializací souborového systému. Poté je část souborového systému naplněna zabezpečenými daty podobnými tajným. Poté se někde ve zbývajícím prostoru vytvoří nový skrytý svazek , který se používá pro data, která chce uživatel skutečně skrýt. Protože protivník nedokáže rozlišit zašifrovaná data od náhodných zástupných dat, nebude schopen detekovat tento skrytý svazek na disku. Podezření však může vzbuzovat skutečnost, že obsah nezařazených dat se od doby vytvoření nezměnil, zejména doba, kdy byly soubory upraveny - to je děláno, aby nedošlo k poškození uživatelských dat. Řešením tohoto problému je říci systému, aby změnil obsah pahýlů. Je však třeba poznamenat, že tato operace je spojena s rizikem poškození dat uložených na disku. Programy jako FreeOTFE a BestCrypt umožňují vytvořit více skrytých oddílů na jednom disku, zatímco TrueCrypt je omezen na jeden.
Existenci skrytého svazku lze odhalit kvůli chybným implementacím, které závisí na předvídatelných kryptografických hodnotách [4] [5] , nebo pomocí některého právního nástroje schopného detekovat nenáhodná šifrovaná data. [6] [7] Bylo také navrženo, že existuje zranitelnost při testování pseudonáhodných sekvencí pomocí testu Chí-kvadrát (Pearsonův test): po každé změně musí být zašifrovaná data upravena tak, aby jejich distribuce věrohodně odpovídala náhodné rozdělení. [osm]
Odmítnuté šifrování bylo také kritizováno za to, že nedokázalo ochránit uživatele před ransomwarem. Samotná skutečnost, že vlastníte nástroje, které implementují metody odmítavého šifrování, může útočníka donutit pokračovat v hackování dat i poté, co mu uživatel poskytne heslo, které poskytuje přístup k některým falešným informacím. [9]
Nedostatečná kryptografická síla blokových šifer nebo generátor čísel může samozřejmě ohrozit bezpečnost takového souborového systému. Aby nevznikly pochybnosti o dostatečné kryptografické síle generátoru, je možné pseudonáhodná data zašifrovat pomocí jiného klíče než hlavní data, což povede k nerozeznání uložených informací a prázdného místa, protože není možné rozlišit šifrovaná data od jiných šifrovaných dat. A konečně stojí za zmínku, že nesprávné použití režimů šifrování může způsobit, že systém bude zranitelný, například vůči útokům na vodoznak . [deset]
Některé kryptografické produkty (například TrueCrypt ) umožňují vytvářet šifrované kontejnery bez jakýchkoli podpisů. Takový kontejner obecně nemůže být spojen s konkrétním kryptografickým programem (protože obsah kontejneru vypadá jako souvislá náhodná sekvence dat).
Kontejnery bez podpisů nemohou programy jako file . Na druhou stranu absence jakýchkoli podpisů a vysoká entropie dat se již podepisuje na šifrovaných datech.
Některé produkty umožňují vytvářet kontejnery v rámci již existující pevné náhodné sekvence dat. TrueCrypt může například vytvořit kontejner uvnitř volného prostoru souborového systému jiného kontejneru (volný prostor souborového systému libovolného kontejneru TrueCrypt je zpočátku vyplněn náhodnými daty).
Skryté kontejnery lze v některých případech detekovat během fáze analýzy odstávkového systému, například:
Některé systémy, které šifrují zprávy za běhu, jako je OTRM , poskytují flexibilní šifrování, které umožňuje účastníkům rozhovoru odepřít jejich účast v konverzaci. Tento typ šifrování sice není ve své podstatě nejednoznačný, to znamená, že neumožňuje dešifrovat zprávy dvěma způsoby, zbavuje protivníka možnosti prokázat účast konkrétní osoby v konverzaci, stejně jako samotnou skutečnost výměny informací.
Toho je dosaženo přidáním informací nezbytných pro její padělání do zašifrované zprávy. Pokud je tedy protivník schopen vytvořit skutečnou zprávu pro danou konverzaci, bude automaticky schopen falšovat zprávy, což spolu s dokonalým dopředným utajením zaručuje bezpečnost konverzace, i když jsou klíče pro jednotlivé zprávy hrozí prozrazení .