Meet-in-the-middle útok - Meet-in-the-middle attack
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
The útok typu „setkat se uprostřed“ (MITM), známý útok prostého textu[1], je obecný časoprostorový kryptografický útok proti šifrovacím schématům, které se spoléhají na provádění několika šifrovacích operací v pořadí. Útok MITM je hlavním důvodem proč Double DES se nepoužívá a proč a Triple DES klíč (168bitový) může být bruteforced útočníkem s 256 prostor a 2112 operace.[2][3]
Popis
Při pokusu o zlepšení zabezpečení blokové šifry je lákavou myšlenkou několikrát zašifrovat data pomocí více klíčů. Jeden by si mohl myslet, že se to zdvojnásobuje nebo dokonce n-tuple zabezpečení schématu vícenásobného šifrování, v závislosti na tom, kolikrát jsou data zašifrována, protože vyčerpávající hledání všech možných kombinací klíčů (jednoduchá brute-force) by trvalo 2n·k pokusy, pokud jsou data šifrována pomocí k-bitové klíče n krát.
MITM je obecný útok, který oslabuje bezpečnostní výhody používání více šifrování ukládáním mezilehlých hodnot ze šifrování nebo dešifrování a jejich použitím ke zkrácení doby potřebné k hrubému vynucení dešifrovacích klíčů. Díky tomu je útok typu Meet-in-the-Middle (MITM) obecným časoprostorovým kompromisem kryptografické Záchvat.
Útok MITM se pokouší najít klíče pomocí rozsahu (ciphertext) a domény (holý text) složení několika funkcí (nebo blokových šifer), takže dopředné mapování prostřednictvím prvních funkcí je stejné jako zpětné mapování (inverzní) obrázek) prostřednictvím posledních funkcí, a to doslova Setkání uprostřed složené funkce. Například i když Double DES šifruje data dvěma různými 56bitovými klíči, Double DES lze rozdělit pomocí 257 operace šifrování a dešifrování.
Multidimenzionální MITM (MD-MITM) používá kombinaci několika simultánních útoků MITM, jak je popsáno výše, kde ke schůzce dochází na více pozicích ve složené funkci.
Dějiny
Diffie a Sakra chlape nejprve navrhl útok typu „setkat se uprostřed“ na hypotetickou expanzi a bloková šifra v roce 1977.[4]Jejich útok využil a časoprostorový kompromis rozbít schéma dvojitého šifrování pouze za dvojnásobek času potřebného k rozbití schématu jediného šifrování.
V roce 2011 Bo Zhu a Guang Gong vyšetřovali multidimenzionální útok typu meet-in-the-middle a představil nové útoky na blokové šifry GOST, KTANTAN a Kolibřík-2.[5]
Meet-in-the-middle (1D-MITM)
Předpokládejme, že někdo chce zaútočit na šifrovací schéma s následujícími charakteristikami pro daný prostý text P a šifrovací text C:
kde ENC je funkce šifrování, DEC dešifrovací funkce definovaná jako ENC−1 (inverzní mapování) a k1 a k2 jsou dva klíče.
Naivní přístup při brutálním vynucování tohoto šifrovacího schématu spočívá v dešifrování šifrovacího textu všemi možnými způsoby k2, a dešifrujte každý z mezilehlých výstupů všemi možnými způsoby k1, celkem 2k1 × 2k2 (nebo 2k1+k2) operace.
Útok typu „setkat se uprostřed“ využívá efektivnější přístup. Dešifrováním C s k2, jeden získá následující rovnocennost:
Útočník může počítat ENCk1(P) pro všechny hodnoty k1 a DECk2(C) pro všechny možné hodnoty k2, celkem 2k1 + 2k2 (nebo 2k1+1, pokud k1 a k2 jsou stejné velikosti). Pokud je výsledek některého z ENCk1(P) operace odpovídá výsledku z DECk2(C) operace, dvojice k1 a k2 je možná správný klíč. Tento potenciálně správný klíč se nazývá a klíč kandidáta. Útočník může určit, který klíč kandidáta je správný, testováním pomocí druhé testovací sady prostého textu a šifrovacího textu.
Útok MITM je jedním z důvodů, proč Standard šifrování dat (DES) byl nahrazen Triple DES a ne Double DES. Útočník může použít útok MITM k bruteforce Double DES s 257 operace a 256 prostoru, což je oproti DES jen malé zlepšení.[6] Triple DES používá klíč „triple length“ (168-bit) a je také zranitelný vůči útoku typu „meet-in-the-middle“ ve 256 prostor a 2112 operace, ale je považován za zabezpečený kvůli velikosti svého prostoru klíčů.[2][3]

Algoritmus MITM
Vypočítejte následující:
- :
- a uložit každý spolu s odpovídajícími v sadě A
- :
- a porovnat každý nový se sadou A
Když je nalezena shoda, pokračujte kF1,kb1 jako dvojice kandidátů v tabulce T. Otestujte páry T na nové dvojici pro potvrzení platnosti. Pokud pár klíčů na tomto novém páru nefunguje, proveďte MITM znovu na novém páru .
Složitost MITM
Pokud je velikost klíče k, tento útok používá pouze 2k+1šifrování (a dešifrování) a Ó(2k) paměť pro uložení výsledků dopředných výpočtů do a. paměti vyhledávací tabulka, na rozdíl od naivního útoku, který potřebuje 22·k šifrování, ale Ó(1) prostor.
Vícerozměrný MITM (MD-MITM)
![]() | Tato sekce případně obsahuje původní výzkum.Květen 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Zatímco 1D-MITM může být efektivní, byl vyvinut sofistikovanější útok: multidimenzionální útok typu meet-in-the-middle, také zkráceně MD-MITM. To se dává přednost, když byla data šifrována pomocí více než 2 šifrování s různými klíči. Místo setkání uprostřed (jedno místo v pořadí) se útok MD-MITM pokusí dosáhnout několika konkrétních mezilehlých stavů pomocí výpočtů vpřed a vzad na několika pozicích v šifře.[5]
Předpokládejme, že útok musí být připojen na blokovou šifru, kde je šifrování a dešifrování definováno jako dříve:
to je holý text P je několikrát šifrován pomocí opakování stejné blokové šifry

MD-MITM byl použit pro dešifrování, mezi mnoha, Bloková šifra GOST kde bylo prokázáno, že 3D-MITM výrazně snížil časovou složitost útoku na něj.[5]
Algoritmus MD-MITM
Vypočítejte následující:
- a uložit každý spolu s odpovídajícími v sadě .
- a uložit každý spolu s odpovídajícími v sadě .
Pro každý možný odhad přechodného stavu vypočítat následující:
- a pro každý zápas mezi tím a sada , Uložit a v nové sadě .
- [je nutné ověření ]
- a uložit každý spolu s odpovídajícími v sadě .
- Pro každý možný odhad přechodného stavu vypočítat následující:
- a pro každý zápas mezi tím a sada , zkontrolujte také zda
- shoduje se s a poté uložte kombinaci podklíčů společně do nové sady .
- Pro každý možný odhad přechodného stavu vypočítat následující:
- a pro každý zápas mezi tím a sada , zkontrolujte také, zda se shoduje s , Uložit a v nové sadě .
- a pro každý zápas mezi tím a sada , zkontrolujte také
zda se shoduje s . Pokud je to váš případ, pak: „
Použijte nalezenou kombinaci podklíčů na jiné dvojici holého textu / šifrovacího textu k ověření správnosti klíče.
Všimněte si vnořeného prvku v algoritmu. Odhad každé možné hodnoty na sj se provádí pro každý odhad předchozího sj-1. Toto tvoří prvek exponenciální složitosti k celkové časové složitosti tohoto útoku MD-MITM.
Složitost MD-MITM
Časová složitost tohoto útoku bez hrubé síly je ⋅⋅
Pokud jde o složitost paměti, je snadné to vidět jsou mnohem menší než první sestavená tabulka kandidátských hodnot: jak se zvyšuje, kandidátské hodnoty obsažené v musí splňovat více podmínek, tím méně kandidátů předá konečnému cíli .
Horní mez složitosti paměti MD-MITM je pak
kde k označuje délku celého klíče (kombinovaná).
Složitost dat závisí na pravděpodobnosti, že může chybný klíč projít (získat falešně pozitivní výsledek), což je , kde l je přechodný stav v první fázi MITM. Velikost přechodného stavu a velikost bloku je často stejná! Vzhledem k tomu, kolik klíčů zbývá k testování po první fázi MITM, je .
Proto po první fázi MITM existují , kde je velikost bloku.
Pokaždé, když je konečná kandidátská hodnota klíčů testována na novém páru prostého textu / ciphertextu, bude počet klíčů, které projdou, vynásoben pravděpodobností, že klíč může projít, což je .
Část testování hrubou silou (testování kandidátského klíče na novém - páry, mají časovou složitost , jasně pro zvýšení násobků b v exponentu má číslo tendenci k nule.
Závěr o složitosti dat je podobným uvažováním omezen tím kolem - páry.
Níže je uveden konkrétní příklad způsobu připojení 2D-MITM:
Obecný příklad 2D-MITM
Toto je obecný popis toho, jak je 2D-MITM připojen k šifrování blokové šifry.
V dvojrozměrném MITM (2D-MITM) je metodou dosažení 2 mezilehlých stavů uvnitř vícenásobného šifrování prostého textu. Viz obrázek níže:

Algoritmus 2D-MITM
Vypočítejte následující:
- a uložit každý spolu s odpovídajícími v sadě A
- a uložit každý spolu s odpovídajícími v sadě B.
Pro každý možný odhad přechodného stavu s mezi a vypočítat následující:
- a pro každý zápas mezi tím a sada A, uložte a v nové sadě T.
- a pro každý zápas mezi tím a množinu B, zkontrolujte také, zda odpovídá T pro
- pokud tomu tak je, pak:
Použijte nalezenou kombinaci podklíčů na jiné dvojici holého textu / šifrovacího textu k ověření správnosti klíče.
Složitost 2D-MITM
Časová složitost tohoto útoku bez hrubé síly je
kde | ⋅ | označuje délku.
Spotřeba hlavní paměti je omezena konstrukcí sad A a B kde T je mnohem menší než ostatní.
Složitost dat viz pododdíl o složitosti pro MD-MITM.
Viz také
- Narozeninový útok
- Bezdrátové zabezpečení
- Kryptografie
- Útok typu 3 set-in-the-middle
- Částečně odpovídající útok typu meet-in-the-middle
Reference
- ^ http://www.crypto-it.net/eng/attacks/meet-in-the-middle.html
- ^ A b Moore, Stephane (16. listopadu 2010). „Meet-in-the-Middle Attacks“ (PDF): 2. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ A b Blondeau, Céline. „Přednáška 3: Blokové šifry“ (PDF). CS-E4320 Kryptografie a zabezpečení dat.
- ^ ^ Diffie, Whitfield; Hellman, Martin E. (červen 1977). „Vyčerpávající kryptoanalýza standardu šifrování dat NBS“ (PDF). Počítač. 10 (6): 74–84. doi:10.1109 / C-M.1977.217750. S2CID 2412454.
- ^ A b C Zhu, Bo; Guang Gong (2011). „MD-MITM Attack and its Applications to GOST, KTANTAN and Hummingbird-2“. eCrypt.
- ^ Zhu, Bo; Guang Gong (2011). „MD-MITM Attack and its Applications to GOST, KTANTAN and Hummingbird-2“. eCrypt.