Meet-in-the-middle attack
Meet-in-the-Middle útok ( MITM ) je obecný šifrovací útok.
MITM je obecný útok, použitelné na několika kryptografických systémů. Vnitřní struktura konkrétního systému je proto zanedbatelná na tento útok. To je možné, i když ji kombinovat s jinými druhy útoku, jak tomu bylo.
Přirozeně to vyžaduje schopnost šifrovat a dešifrovat, a držení párů otevřeného a odpovídajících ciphertexts.
Při pokusu o zlepšení bezpečnosti na blokové šifry, lákavá představa je jednoduše použít několik nezávislých tlačítek pro šifrování dat několikrát pomocí posloupnost funkcí (šifrování). Pak by se mohlo zdát, že tato čtyřhra, nebo dokonce n -tice v bezpečnosti s několikanásobným šifrovací schéma, v závislosti na počtu šifrování data musí projít.
Meet-in-the-Middle útok pokusí najít hodnotu pomocí jak o rozsahu (ciphertext) a doménu (plaintext) na složení několika funkcí (nebo blokové šifry), tak, že dopředu mapování během prvních funkcí je stejný jako zpětné mapování (inverzní obraz) přes posledních funkcí, doslova plnění v polovině složené funkce.
Multidimenzionální MITM (MD-MITM) využívá kombinaci několika souběžných útoků MITM-rád popsáno výše, kde se schůzka se děje v různých pozicích ve složení funkce.
Jistě, vyčerpávající hledání na všechny možné kombinace kláves (jednoduchý BruteForce) se 2 K · j pokusy, jestliže j šifrování se používá s různými klíči v každé šifrování, kde každý klíč je k. bitů. Použití MITM nebo MD-MITM, může to dělat lépe.
To byl nejprve vyvinut jako útok na pokus o rozšíření o blokové šifry podle Diffiea Hellman v roce 1977. [ 1 ]
Diffie Hellman a, ale vymyslel časově paměti kompromis, který by mohl prolomit režim pouze double době prolomit jedno-šifrovací schéma.
V roce 2011, Bo Zhu a Guang Gong zkoumat multidimenzionální Meet-in-the-Middle útok a představují nové útoky na blokové šifry GOST (bloková šifra) , KTANTAN a Hummingbird-2. [ 2 ]
Předpokládejme, že útočník zná sadu holého P a šifrového C , který splňuje následující:
kde ENC je šifrovací funkce, prosinec dešifrování funkce prosince je definována jako ENC -1 (inverzní zobrazení) a k. 1 a k. 2 jsou dva klíče.
Útočník pak může vypočítat ENC k. 1 (P) ve všech možných klíčů k 1 . Poté se může dešifrovat ciphertext by výpočetní prosince k. 2 (C) pro každý k. 2 .Veškeré zápasy mezi těmito dvěma výsledných souborů jsou pravděpodobně objeví správná tlačítka. (Chcete-li urychlit srovnání, ENC k 1 (P) lze nastavit být uloženy v in-memory lookup tabulky, pak každý prosinec k 2 (C) může být porovnávány hodnoty ve vyhledávací tabulce najít kandidáty na klíč)
Tento útok je jeden z důvodů, proč byl DES nahrazena Triple DES - "Double DES" neposkytuje mnoho další zabezpečení proti vyčerpávající klíčový hledání útočník s 2 56 místa. [ 3 ] Nicméně, Triple DES s "triple délce" (168-bit) klíč je náchylná k meet-in-the-middle útok na 2 56 prostoru a 2 112 . [ 4 ]
Jakmile zápasy najdou, mohou být ověřeny s druhým zkušební sadou otevřeném textu a ciphertext.
Vypočtěte následující:
∀ ∈ :
a každou uložit spolu s odpovídající v sadě
∀ ∈ :
a porovnat každý nový se souborem
Pokud je nalezena shoda, mějte k. f 1 , k b 1 jako kandidát klíč-pair v tabulce T. Zkušební páry v T na nový pár (P, C) pro potvrzení platnosti. Pokud klíč-pair nefunguje na tomto novém páru, to MITM opět na nový pár (P, C) .
Pokud KeySize je | k |, tento útok využívá pouze 2 K 1 šifrování (a decryptions) (a O (2 ^ k) paměti v případě, look-up tabulky byly vytvořeny pro soubor vpřed výpočtů) na rozdíl od naivní útok, který potřebuje 2 2 · k šifrování, ale O (1)space.
Zatímco 1D-MITM může být efektivní, je sofistikovanější útok byl vyvinut: Multi-Dimensional-Meet in the Middle útoku , také zkrácený MD-MITM . To je výhodnější, když byla data zašifrována pomocí více než 2 šifrování s různými klíči. Místo setkání ve středu (jedno místo v pořadí), MD-MITM útok se pokouší dosáhnout několika konkrétních dílčích států používajících vpřed a vzad výpočty na několika místech v kódu. [ 2 ]
Předpokládejme, že útok má být namontován na blokové šifry, kde je šifrování a dešifrování definované jako předtím:
že je holý P jsou šifrovány vícekrát pomocí opakování stejné blokové šifry
MD-MITM byl použit pro dešifrování mezi mnoha, GOST bloková šifra , kde bylo prokázáno, že 3D-MITM výrazně snížila časovou složitost k útoku na něj. [ 2 ]
Vypočtěte následující:
∀ ∈ :
a každou uložit s odpovídajícím v sadě .
∀ ∈ :
a každou uložit s odpovídajícím v sadě .
Pro každou možnou odhadem na mezistupni vypočítat následující:
∀ ∈ :
a pro každé utkání mezi tímto a souboru , uložte a do nové sady .
∀ ∈ :
a každou uložit s odpovídajícím v sadě .
Pro každý možný odhad na mezistupni spočítat následující: 1 ∀ ∈ a pro každé utkání mezi tímto a sady , zkontrolujte také, zda se shoduje s a potom uložit kombinace dílčích klíčů dohromady v nové sadě .
2 ...
Pro každý možný odhad na mezistupni spočítat následující: a) ∀ ∈ a pro každé utkání mezi tímto a sady , zkontrolujte také, zda se shoduje s , uložit a do nové sady .
b) ∀ ∈ a pro každé utkání mezi tímto a sady , podívejte se také zda se shoduje s . Pokud je to ten případ, pak: "
Použít nalezenou kombinaci dílčích klíčů na jiném páru holého textu / ciphertext k ověření správnosti klíče.
Poznámka: vnořené prvek v algoritmu. Odhad při každé možné hodnotě s j se provádí pro každý odhad na předchozí s j-1 . To tvoří prvek exponenciální složitosti k celkové časové složitosti tohoto MD-MITM útoku.
Časová složitost tohoto útoku bez hrubé síly, je ⋅⋅
Pokud jde o paměti složitosti, je snadné vidět, že jsou mnohem menší než první postavené tabulce kandidátských hodnot: jak jsem se zvyšuje, kandidátské hodnoty obsažené v musí splňovat další podmínky, a tím méně kandidáti přejde na konec určení .
Horní mez paměti složitosti MD-MITM je pak
kde označuje délka celého klíče (kombinovaný).
Údaje složitost závisí na pravděpodobnosti, že nesprávný klíč může projít (získat falešně pozitivní), který je , kde je střední stav v první fázi MITM.Velikost přechodného stavu a velikost bloku je často stejný! Vzhledem k tomu, také kolik klíče, které jsou ponechány pro testování po prvním MITM-fáze, to je .
Proto po prvním MITM fázi, jsou ⋅ , kde $ | b | $ je velikost bloku.
Pro každou dobu se konečná kandidátem hodnota klíče testována na nové holého / ciphertext-páru, bude množství klíčů, která projde vynásobí pravděpodobnost, že klíč může projít, který je .
Část brute force testování (testování kandidátní klíč na nové (P, C) -pair, mít časovou složitost ...
, Jasně pro zvýšení násobky b v exponentu, číslo blíží nule.
Závěr o datovém složitosti je podle podobné úvahy omezeno, že kolem ⌈ ⌉ (P, C) -páry.
Níže je konkrétní příklad toho, jak 2D-MITM je namontován:
To je obecný popis toho, jak je 2D-MITM montáž na šifrování blokové šifry.
Ve dvou-dimenzionální MITM (2D-MITM) metoda je dosáhnout 2 mezilehlé stavy uvnitř vícenásobné šifrování otevřeného textu. Viz níže obrázku:
Vypočtěte následující:
∀ ∈
a každou uložit spolu s odpovídající v sadě
∀ ∈
a každou uložit s odpovídajícím v souboru B.
Pro každý možný odhad na mezistavu s mezi a spočítat následující:
1 ∀ ∈ a pro každé utkání mezi tímto a množiny, uložit a v novém nastavené T.
2 ∀ ∈ a pro každé utkání mezi tímto a nastavenou B, zkontrolujte také, zda se shoduje s T pro v případě, že je případ, pak:
Použít nalezenou kombinaci dílčích klíčů na jiném páru holého textu / ciphertext k ověření správnosti klíče.
Časová složitost tohoto útoku bez hrubé síly, je ⋅ , kde | ⋅ | označuje délku.
Hlavní paměť spotřeba je omezena na stavbu sad A a B , kde T je mnohem menší než ostatní.
Pro dat složitosti viz pododdíl o komplexnosti MD-MITM.