Jaká je výhoda XTS oproti režimu CBC (s difuzorem)?
On 30 listopadu, 2020 by adminMám určité problémy s pochopením „výhody“ AES-XTS ve srovnání s CBC s difuzorem.
Četl jsem něco o FileVault , v tomto článku zmiňují dva provozní režimy XTS a CBC (s difuzorem) a výhody XTS.
Oba režimy šifrují datové jednotky téměř stejným způsobem. U CBC se číslo sektoru nějak používá k sestavení IV, u XTS existuje „vyladitelná hodnota“, která také obsahuje (nějak) offset bloku, takže každý datový blok může být šifrován samostatně (dává smysl při šifrování pevných disků / oddíly). Nevidím opravdu výhodu XTS.
Nyní o XTS píšou následující:
Existuje několik výhod oproti alternativám jako AES v CBC: neexistuje žádný požadavek na inicializační vektor (vyladitelný klíč lze odvodit z čísla bloku); každý blok je šifrován odlišně (protože vyladěná hodnota bude jiná); a na rozdíl od AES-CBC, AES-XTS brání útočníkovi ve změně jednoho konkrétního bitu v datové jednotce tím, že každý vstup AES spojí s jinou posunutou verzí šifrovaného vylepšení.
Možná jen porovnávají XTS s CBC (bez difuzoru) … pokud ano, zná někdo nějakou výhodu XTS?
A může někdo vysvětlit druhou výhodu: „AES- XTS zabrání útočníkovi ve změně jednoho konkrétního bitu v datové jednotce spojením každého vstupu AES s jinou posunutou verzí šifrovaného vylepšení. „?
Komentáře
- Co ' s " diffuser "? " číslo sektoru je nějak " jak? Schéma jste ' jasně nepopisovali. Pokud je algoritmus předvídatelný, vede to ke slabinám a nepředvídatelný algoritmus je drahý.
- @CodesInChaos v nástroji BitLocker ( download.microsoft.com/download/0/2/3/… – varování: stahuje PDF ).
- Vítejte na Cryptography Stack Exchange. Vaše otázka zde byla migrována z důvodu, že přímo nesouvisí s vývojem softwaru (téma Stack Overflow), a je zde více zaměřena na dané téma. Zaregistrujte si zde také svůj účet, abyste mohli komentovat a přijmout odpověď.
Odpovědět
XTS vs. Undiffused CBC. Jedná se o tvárnost . XTS i CBC brání útočníkovi v učení informací o šifrovaných datech. Ani jednomu z nich se však nepodaří zabránit útočníkovi manipulovat se zašifrovanými daty.
Je však patrně snazší manipulovat s (nedefinovaným) šifrovacím textem CBC, než je manipulovat s šifrovacím textem XTS. Řekněme, že útočník náhodou zná nějakou zprávu
„bla bla Dej Alici 400 $ … bla bla blah „.
Pokud je tato zpráva šifrována pomocí CBC, může útočník manipulovat s ciphertextem takovým způsobem, že bude nyní dešifrovat na
„bla bla! ^% @ ^^ Dejte Alici \ 800 $ bla bla bla“
400 $ se změnilo na 800 $. Na to odkazuje vaše citace o „AES-XTS útočníkovi ve změně jednoho konkrétního bitu v datové jednotce“. Tady píšu! ^% @ ^^, což naznačuje, že předchozí 16bajtový blok se po dešifrování stane bláznivým a tento blábol bude mimo kontrolu útočníka.
Na druhou stranu pomocí XTS tomuto útoku zabrání. Útočník může poškodit zprávu tím, že přemění libovolný 16bajtový blok na náhodný blábol, ale nebude moci mít stejnou míru kontroly jako v příkladu CBC.
Ale Společnost Microsoft se přesto rozhodla XTS nepoužívat. Důvodem je, že schopnost poškodit 16bajtový blok může být stále škodlivá. Zde je citát z článku dchest propojený:
Může existovat například konfigurační soubor (nebo položka registru) s hodnotou, která při nastavení na 0 vytvoří v operačním systému bezpečnostní díru. Na disku vypadá nastavení jako „enableSomeSecuritySetting = 1“. Pokud začátek hodnoty spadne na hranici 16 bajtů a útočník randomizuje hodnotu prostého textu, existuje $ 2 ^ {16} $ šance, že první dva bajty prostého textu bude 0x30 0x00, což je řetězec, který kóduje hodnotu ASCII 0.
(Tento citát odkazuje na vyladitelnou šifru LRW, ale vyladitelná šifra XEX použitá v XTS má stejný problém).
Přidání difuzoru. Použití difuzor je řešením Microsft tohoto problému.Myšlenkou je „smíchat“ holý text před jeho šifrováním, aby útočník nemohl „změnit $ 400 na \ $ 800 — zasahování do části šifrovacího textu změní téměř celý holý text, nejen jeho malé části.
To zní dobře, ale je tu chyták: Nikdo vlastně neví, zda je difuzor společnosti Microsoft skutečně zabezpečený. Pokud vím, nedostal od kryptografů žádnou publikovanou formální analýzu. To znamená, že byste měli být skeptičtí, když se na to spoléháte. Microsoft to uznává:
Na straně nevýhod je difuzor novým neprokázaným algoritmem, což nevyhnutelně vede k otázkám. Bez rozsáhlé veřejné kontroly a analýzy algoritmu existuje oprávněná skepse ohledně jeho bezpečnosti. Lidé se zdráhají důvěřovat novým algoritmům. Proč jsme si tedy vybrali tuto možnost? V naší konečné analýze jsme se rozhodli, že to byla lepší volba pro náš produkt. Zvýšení výkonu oproti alternativám bylo natolik důležité, aby převažovalo nad nevýhodami nového algoritmu difuzoru. Čas ukáže, zda jsme se rozhodli správně.
Spodní řádek. XTS je méně tvárný než nerozptýlené CBC. Avšak CBC + difuzor je pravděpodobně méně tvárný než XTS, alespoň pro praktické účely.
Důležité stranou. Ani CBC, ani XTS nebyly navrženy tak, aby nebyly tvárné. Zajištění toho, aby šifrovací texty nebyly manipulovány, je samostatný problém, který by měl být vyřešen pomocí kódů pro autentizaci zpráv (MAC), jako je HMAC-SHA256. Důvody, proč se MAC obvykle nepoužívají pro šifrovací algoritmy na celém disku, jsou (1) problémy s výkonem a (2) použití MAC vyžaduje ukládání dalších informací pomocí ciphertextu, což je transparentně přidává, takže je trochu složitější.
Středem mezi MAC a difuzory by bylo použití šifrovacího režimu s širokým blokem, jako je CMC, EME nebo HEH. Můžete si o nich myslet, že mají „vestavěný“ difuzor, díky kterému nejsou tvárné. Na rozdíl od difuzoru společnosti Microsoft mají tyto algoritmy formální definice zabezpečení a recenzované matematické důkazy. Jsou bezpečné za předpokladu, že AES je zabezpečená. Společnost Microsoft se rozhodla je nepoužívat kvůli (1) problémům s výkonem a (2) patentům.
Komentáře
- V kontextu šifrování disku jednoduché MAC nejsou ' dost dobré. ' budete potřebovat hashtree s ověřeným kořenem.
- děkuji za tuto skvělou odpověď !!! díky tomu bylo všechno jasné … 5 *****
- Pravděpodobně to nebude fungovat ', ale ' t problém tvárnosti lze vyřešit dvojitým šifrováním stejných dat pomocí různých hesel a / nebo různých algoritmů? Proč tedy místo použití neprokázaného algoritmu difuzoru znovu nepoužít osvědčený AES?
- @Yura To bude záviset na tom, jak se AES použije (například XTS je obvykle postaven nad AES). Pokud použijete režim CTR-AES dvakrát, nebude výsledek ' méně tvárný (převrácení bitů v ciphertextu stále převrátí odpovídající bit v prostém textu). Pokud používáte režim CBC-AES dvakrát, stále můžete provést stejný útok, který jsem zmínil ve své odpovědi, ale délka nekontrolovaného náhodného " odpadu " sekce se zdvojnásobí. Nakonec by použití AES v zabezpečeném " wideblock " režimu bylo zhruba stejně rychlé jako každé z těchto řešení. Místo toho to také můžete udělat.
- Aktualizace: Windows 10 poskytuje možnost použít režim XTS. Ještě větší / horší aktualizace: Ve Windows 8 Microsoft ODSTRANIL difuzor. Bitlocker systému Windows 8 tedy ' nemá ani difuzor.
Napsat komentář