Skupna skupina DH, sveži skrivnosti: zakaj napad postane cenejši
Sveže skrivnosti seje ne popravijo šibke skupine končnega polja. Ponovna uporaba ene skupine razdeli najdražjo fazo napada na vsako izmenjavo, ki jo pogaja.
Parametri skupine so javni po zasnovi in prav ta javnost jih dela lahke za spregled. Pri Diffie-Hellmanu nad končnim poljem sta modul in generator skupna, medtem ko zasebni eksponenti in nastali sejni ključi niso. Draga faza napada s sitom v številskem polju je odvisna od skupine in ne od ene izmenjave, zato ena šibka skupina, uporabljena povsod, postane skupno breme. Parametre imenovati javne je natančno in mimo bistva, ker so stroški, ki se znova uporabijo, stroški napada na to skupino.
Javna polovica ni ranljiva polovica, in tu je past
Običajni polovični argument pravi, da so parametri objavljeni v standardu, zato jih napadalec že pozna in bi jih skrivanje ničesar ne spremenilo. Obe trditvi sta resnični in nobena ne izhaja iz druge. Dobavljena privzeta skupina je javna, zasebna skupina, ki ste jo ustvarili prejšnji teden, pa je prav tako vidna vsakomur, ki dokonča rokovanje. Tajnost nikoli ni bila nadzor; to sta moč in validacija.
Kar se spremeni, je, koliko mest si deli isto šibkost. Ena organizacija, ki ustvari svojo 2048-bitno skupino, plača svoje stroške napada, medtem ko privzeta vrednost protokola, ki jo izberejo milijoni, amortizira en strošek na vse. V tem smislu nenavadna skupina ni samodejno boljša. Nenavadna skupina, ki je premajhna, je le manjša skupna skrivnost z manj očmi na njej.
Validacija je enako pomembna kot velikost. Partner, ki pošlje modul z majhnimi faktorji ali takšnega, ki nima oblike, ki jo protokol pričakuje, lahko razkrije informacije o zasebnem eksponentu, tudi ko je bitna dolžina videti spoštljiva. Knjižnice, ki že na vhodu zavrnejo nepravilne parametre, opravljajo resnično delo, zato je ročno napisano razčlenjevanje parametrov slabo mesto za varčevanje z napori.
Kaj predizračun napadalcu v resnici prinese
Sito v številskem polju ima fazo, ki je odvisna le od praštevila, in njegov izhod je mogoče znova uporabiti proti vsaki izmenjavi, ki uporablja to praštevilo. To je celoten mehanizem za zgodovinsko zaskrbljenost: dragi del se plača enkrat, mejni strošek vsake nadaljnje seje pa pada. Sveži eksponenti še vedno ščitijo vsako posamezno izmenjavo pred pasivnim opazovalcem, dokler je skupina dovolj velika, da je presajanje neizvedljivo. Obe trditvi sta združljivi in večina razprav o tej temi izhaja iz izbire ene in opustitve druge.
Delo o Logjamu iz leta 2015 je pokazalo poslabšanje na 512-bitni Diffie-Hellman izvozne ravni in ocenilo, koliko bi stal napad na večje, široko znova uporabljene skupine z znatnimi viri. Predstavitev je bila konkretna, ocene so bile ocene in nobeno od tega ni bilo dokaz, da je bila določena seja VPN dešifrirana.
Citivajte delo zaradi mehanizma in zaradi prikazanega poslabšanja, ne kot meritev vaše uvedbe. Stare statistike o tem, koliko strežnikov si je delilo privzeto skupino, opisujejo internet tistega leta, ne omrežja, ki ga lahko pregledate danes. Kar je vredno prenesti, je vprašanje: ali vaše naprave še vedno pogajajo skupino, ki je majhna ali šibko validirana?
Standardizirano ni isto kot šibko
RFC 7919 opredeljuje imenovane skupine končnega polja, da se oba konca dogovorita o skupini po identifikatorju in uporabljata dosledno politiko. Biti standardiziran je prednost, ker odpravlja dvoumnost pogajanj in omogoča izvedbi, da zavrne nepodprte velikosti. Imenovana skupina je šibka le takrat, ko je njena velikost pod politiko, ki ji domnevno sledite, ne zato, ker se pojavlja v dokumentu. Ista logika velja za skupine eliptičnih krivulj, ki imajo drugačno strukturo in drugačne načine odpovedi.
Konstrukcije držite ločeno, ko razmišljate o njih. Sklep o Diffie-Hellmanu nad končnim poljem ne pove ničesar o X25519, sklep o 1024-bitni skupini MODP pa ne pove ničesar o 3072-bitni. Politika moči je na mehanizem, na velikost in na različico protokola, zato besedna zveza močna kriptografija ni pregledna trditev.
Avtentikacija je druga polovica in ne nadomešča. Močna skupina brez preverjanja partnerja pusti napadalca v sredini, veljavno potrdilo pa ne more rešiti 768-bitne izmenjave. Oglejte si ju kot dve neodvisni liniji in nato potrdite, da sta obe res pogajani.
Preberite pogajano skupino na resnični povezavi
Pogajano skupino berite iz naprave in ne iz konfiguracijske predloge. Predloge opisujejo namen, zanimiva vrednost pa je tista, o kateri sta se oba konca dogovorila med zadnjim rokovanjem. Na končni točki IPsec izhod stanja običajno natisne izbrani predlog, vključno s skupino MODP.
Zabeležite to vrstico pred spremembo politike in po njej ter obe shranite v zapis spremembe. Primerjava je dokaz.
ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -nooutČe stanje po spremembi še vedno kaže staro skupino, povezava ni znova pogajala in urejanje konfiguracije ni ničesar dokazalo. Znova zaženite partnerja ali izbrišite varnostno povezavo in nato znova preberite stanje. Politika, uveljavljena le na novih povezavah, bo pustila dolgotrajne tunele na starih parametrih, dokler delujejo.
Preverite skupino in identiteto partnerja ločeno
Ločite, kaj skupina ščiti, od tega, kdo je na drugi strani. Zabeležite metodo izmenjave ključev, velikost skupine in metodo avtentikacije kot tri polja, ker odpovedo neodvisno. Tunel, ki je pogajal 3072-bitno skupino, a sprejema katero koli potrdilo, ni isto tveganje kot tunel, ki pripne partnerja in uporablja 2048-bitno skupino.
Merila za sprejem zapišite pred začetkom pregleda, da bo rezultat primerjava in ne mnenje. Najmanjša velikost skupine za vsako različico protokola, seznam dovoljenih imenovanih skupin in obvezno preverjanje partnerja zadostujejo, da odločitev postane mehanska. Prav dvoumnost na tem seznamu spremeni pregled v razpravo, razprave pa se ne odpravijo. Takrat je rezultat seznam končnih točk, ki kršijo navedeno pravilo.
ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'Zaprite krog tako, da po odpravi znova preberete pogajane vrednosti. Skladna konfiguracijska datoteka ni dokaz, da jo je tunel prevzel. Izhod stanja in eno sveže rokovanje sta dokaz, njuno zbiranje pa vzame manj časa kot sestanek o tem, ali sta potrebna.