Sdílená skupina DH, čerstvé tajnosti: proč je útok levnější
Čerstvé tajnosti relace neopraví slabou skupinu konečného pole. Opětovné použití jedné skupiny rozloží nejdražší fázi útoku na každou výměnu, která ji vyjednává.
Parametry skupiny jsou záměrně veřejné a právě tato veřejnost je činí snadno přehlédnutelnými. U Diffie-Hellmanova protokolu nad konečným polem jsou modul a generátor sdílené, zatímco soukromé exponenty a výsledné klíče relace nikoli. Drahá fáze útoku sítem v číselném poli závisí na skupině, ne na jedné výměně, takže jedna slabá skupina používaná všude se stává sdílenou zátěží. Nazvat parametry veřejnými je přesné a vedle věci, protože náklad, který se znovu používá, je náklad na útok proti této skupině.
Veřejná polovina není zranitelná polovina a v tom je past
Obvyklý poloviční argument říká, že parametry jsou zveřejněny ve standardu, takže je útočník už zná a jejich skrývání by nic nezměnilo. Obě tvrzení jsou pravdivá a ani jedno nevyplývá z druhého. Dodávaná výchozí skupina je veřejná a soukromá skupina, kterou jste vygenerovali minulý týden, je také viditelná každému, kdo dokončí handshake. Tajnost nikdy nebyla tím ovládacím prvkem; tím jsou síla a validace.
Co se mění, je počet míst, která sdílejí stejnou slabinu. Jedna organizace, která si vytváří vlastní 2048bitovou skupinu, platí svůj vlastní náklad na útok, zatímco výchozí hodnota protokolu zvolená miliony amortizuje jeden náklad na všechny. V tomto smyslu neobvyklá skupina není automaticky lepší. Neobvyklá skupina, která je příliš malá, je prostě menší sdílené tajemství s méně očima, které na ně dohlížejí.
Validace je stejně důležitá jako velikost. Protějšek, který pošle modul s malými činiteli, nebo modul, který nemá tvar očekávaný protokolem, může prozradit informace o soukromém exponentu, i když bitová délka vypadá úctyhodně. Knihovny, které odmítají poškozené parametry na vstupu, dělají skutečnou práci, a proto je ručně psané parsování parametrů špatné místo pro šetření úsilí.
Co předpočet útočníkovi skutečně přinese
Síto v číselném poli má fázi, která závisí pouze na prvočísle, a jeho výstup lze znovu použít proti každé výměně, která toto prvočíslo používá. To je celý mechanismus stojící za historickou obavou: drahá část se zaplatí jednou a mezní náklad každé další relace klesá. Čerstvé exponenty stále chrání každou jednotlivou výměnu před pasivním pozorovatelem, dokud je skupina dostatečně velká, aby bylo síto neproveditelné. Obě tvrzení jsou slučitelná a většina sporů na toto téma vzniká tím, že se jedno vybere a druhé odhodí.
Práce o Logjamu z roku 2015 předvedla downgrade na 512bitový Diffie-Hellman exportní úrovně a odhadla, co by stálo napadnout větší, široce znovupoužívané skupiny s významnými prostředky. Ukázka byla konkrétní, odhady byly odhady a ani jedno nebylo důkazem, že byla dešifrována konkrétní relace VPN.
Citujte tuto práci kvůli mechanismu a předvedenému downgradu, ne jako měření svého nasazení. Staré statistiky o tom, kolik serverů sdílelo výchozí skupinu, popisují internet toho roku, ne síť, kterou dnes můžete prohlédnout. Užitečné, co si odnést, je otázka: vyjednávají vaše zařízení stále skupinu, která je malá nebo slabě validovaná?
Standardizované není totéž co slabé
RFC 7919 definuje pojmenované skupiny konečného pole, aby se obě strany dohodly na skupině podle identifikátoru a používaly konzistentní politiku. Standardizovanost je přednost, protože odstraňuje nejednoznačnost vyjednávání a umožňuje implementaci odmítnout nepodporované velikosti. Pojmenovaná skupina je slabá jen tehdy, když je její velikost pod politikou, kterou tvrdíte, že dodržujete, ne proto, že se objevuje v dokumentu. Stejná logika platí pro skupiny eliptických křivek, které mají jinou strukturu a jiné režimy selhání.
Při uvažování o konstrukcích je držte oddělené. Závěr o Diffie-Hellmanu nad konečným polem neříká nic o X25519 a závěr o 1024bitové skupině MODP neříká nic o 3072bitové. Politika síly je per mechanismus, per velikost a per verze protokolu, a proto fráze silná kryptografie není přezkoumatelné tvrzení.
Autentizace je druhá polovina a nenahrazuje ji. Silná skupina bez ověření protějšku nechává útočníka uprostřed a platný certifikát nezachrání 768bitovou výměnu. Posuzujte je jako dvě nezávislé linie a pak potvrďte, že obě jsou skutečně vyjednány.
Přečtěte vyjednanou skupinu na skutečném spojení
Vyjednanou skupinu čtěte ze zařízení, ne z konfigurační šablony. Šablony popisují záměr a zajímavá je hodnota, na níž se obě strany dohodly během posledního handshake. Na koncovém bodu IPsec obvykle výstup stavu vypíše zvolený návrh včetně skupiny MODP.
Zachyťte tento řádek před změnou politiky a po ní a oba uložte do záznamu změny. Srovnání je důkaz.
ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -nooutPokud stav po změně stále ukazuje starou skupinu, spojení znovu nevyjednalo a úprava konfigurace nic nedokázala. Restartujte protějšek nebo zrušte bezpečnostní asociaci a pak stav přečtěte znovu. Politika uplatňovaná jen na nová spojení ponechá dlouhotrvající tunely na starých parametrech, dokud běží.
Kontrolujte skupinu a identitu protějšku odděleně
Oddělte, co skupina chrání, od toho, kdo je na druhém konci. Zaznamenejte metodu výměny klíčů, velikost skupiny a metodu autentizace jako tři pole, protože selhávají nezávisle. Tunel, který vyjednal 3072bitovou skupinu, ale přijímá jakýkoli certifikát, není stejné riziko jako ten, který připíná protějšek a používá 2048bitovou skupinu.
Kritéria přijetí napište před začátkem přezkumu, aby výsledkem bylo srovnání, ne názor. Minimální velikost skupiny pro každou verzi protokolu, seznam povolených pojmenovaných skupin a povinné ověření protějšku stačí k tomu, aby bylo rozhodnutí mechanické. Nejednoznačnost v tomto seznamu mění přezkum ve spor a spory se nenapravují. Výstupem je pak seznam koncových bodů, které porušují stanovené pravidlo.
ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'Smyčku uzavřete tím, že po nápravě znovu přečtete vyjednané hodnoty. Vyhovující konfigurační soubor není důkazem, že jej tunel převzal. Důkazem je výstup stavu a jeden čerstvý handshake a jejich sběr zabere méně času než schůzka o tom, zda jsou potřeba.