Dijeljena DH grupa, svježe tajne: zašto napad postaje jeftiniji
Svježe tajne sesije ne popravljaju slabu grupu konačnog polja. Ponovna upotreba jedne grupe raspoređuje najskuplju fazu napada na svaku razmjenu koja je pregovara.
Parametri grupe su javni po dizajnu, i upravo ta javnost ih čini lakim za ignorisanje. U Diffie-Hellmanu nad konačnim poljem modul i generator su dijeljeni, dok privatni eksponenti i rezultujući ključevi sesije nisu. Skuplja faza napada sitom po brojevnom polju zavisi od grupe, a ne od jedne razmjene, pa jedna slaba grupa korištena svuda postaje zajednička obaveza. Nazvati parametre javnim je tačno i nebitno, jer trošak koji se ponovo koristi jeste trošak napada na tu grupu.
Javna polovina nije ranjiva polovina, i u tome je zamka
Uobičajeni poluargument kaže da su parametri objavljeni u standardu, pa ih napadač već zna i skrivanje ne bi ništa promijenilo. Obje tvrdnje su tačne i nijedna ne slijedi iz druge. Isporučena podrazumijevana grupa je javna, a privatna grupa koju ste generisali prošle sedmice također je vidljiva svakome ko završi rukovanje. Tajnost nikada nije bila kontrola; to su bili snaga i provjera.
Ono što se mijenja jeste koliko mjesta dijeli istu slabost. Jedna organizacija koja sama pravi 2048-bitnu grupu plaća sopstveni trošak napada, dok se protokolarni podrazumijevani izbor miliona amortizuje na sve njih. U tom smislu neuobičajena grupa nije automatski bolja. Neuobičajena grupa koja je premala je prosto manja zajednička tajna s manje očiju nad njom.
Provjera je jednako važna kao veličina. Partner koji pošalje modul s malim faktorima, ili onaj koji nije oblika koji protokol očekuje, može oticati informacije o privatnom eksponentu čak i kada bitska dužina izgleda respektabilno. Biblioteke koje odbijaju neispravne parametre na ulazu rade pravi posao, zato je ručno napisano parsiranje parametara loše mjesto za štednju truda.
Šta predračunavanje zapravo daje napadaču
Sito po brojevnom polju ima fazu koja zavisi samo od prostog broja, a njegov izlaz je višekratno upotrebljiv protiv svake razmjene koja koristi taj prosti broj. To je cijeli mehanizam iza istorijske brige: skupi dio se plaća jednom, a granični trošak svake dalje sesije pada. Svježi eksponenti i dalje štite svaku pojedinačnu razmjenu od pasivnog posmatrača, sve dok je grupa dovoljno velika da sito učini neizvodljivim. Te dvije tvrdnje su spojive, a većina rasprava o ovoj temi dolazi od toga da se jedna izabere i druga odbaci.
Rad Logjam iz 2015. pokazao je degradaciju na 512-bitni Diffie-Hellman izvoznog nivoa i procijenio koliko bi koštao napad na veće, široko korištene grupe uz značajne resurse. Demonstracija je bila konkretna, procjene su bile procjene, i nijedno nije bilo dokaz da je određena VPN sesija dešifrovana.
Citirajte rad zbog mehanizma i pokazane degradacije, ne kao mjerenje vašeg postavljanja. Stare statistike o tome koliko je servera dijelilo podrazumijevanu grupu opisuju internet te godine, a ne mrežu koju danas možete pregledati. Korisno što se prenosi jeste pitanje: pregovaraju li vaši uređaji još uvijek grupu koja je mala ili slabo provjerena?
Standardizirano nije isto što i slabo
RFC 7919 definiše imenovane grupe konačnog polja kako bi se obje strane dogovorile o grupi po identifikatoru i primijenile dosljednu politiku. Standardiziranost je prednost, jer uklanja nejasnoću pregovaranja i dopušta implementaciji da odbije nepodržane veličine. Imenovana grupa je slaba samo kada je njezina veličina ispod politike koju tvrdite da slijedite, a ne zato što se pojavljuje u dokumentu. Ista logika važi za grupe eliptičkih krivulja, koje imaju drugačiju strukturu i drugačije načine otkaza.
Držite konstrukcije odvojeno kad o njima razmišljate. Zaključak o Diffie-Hellmanu nad konačnim poljem ne govori ništa o X25519, a zaključak o 1024-bitnoj MODP grupi ne govori ništa o 3072-bitnoj. Politika snage je po mehanizmu, po veličini i po verziji protokola, zato fraza jaka kriptografija nije provjerljiva tvrdnja.
Autentifikacija je druga polovina i ne zamjenjuje je. Jaka grupa bez provjere partnera ostavlja napadača u sredini, a valjan certifikat ne može spasiti 768-bitnu razmjenu. Pregledajte ih kao dvije nezavisne linije, pa potvrdite da su obje zaista pregovarane.
Pročitajte pregovaranu grupu na stvarnoj vezi
Čitajte pregovaranu grupu s uređaja, a ne iz šablona konfiguracije. Šabloni opisuju namjeru, a zanimljiva vrijednost je ona oko koje su se obje strane složile tokom posljednjeg rukovanja. Na IPsec krajnjoj točki izlaz statusa obično ispisuje odabrani prijedlog, uključujući MODP grupu.
Zabilježite taj red prije i poslije promjene politike i sačuvajte oba u zapisu promjene. Poređenje je dokaz.
ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -nooutAko nakon promjene status i dalje pokazuje staru grupu, veza nije ponovo pregovarala i izmjena konfiguracije nije ništa dokazala. Ponovo pokrenite partnera ili obrišite sigurnosnu asocijaciju, pa ponovo pročitajte status. Politika primijenjena samo na nove veze ostaviće dugotrajne tunele na starim parametrima dokle god su podignuti.
Provjerite grupu i identitet partnera odvojeno
Odvojite šta grupa štiti od toga ko je na drugoj strani. Zabilježite metodu razmjene ključeva, veličinu grupe i metodu autentifikacije kao tri polja, jer otkazuju nezavisno. Tunel koji je pregovarao 3072-bitnu grupu ali prihvata bilo koji certifikat nije isti rizik kao onaj koji prikiva partnera i koristi 2048-bitnu grupu.
Zapišite kriterije prihvatanja prije početka pregleda, da rezultat bude poređenje, a ne mišljenje. Minimalna veličina grupe po verziji protokola, lista dozvoljenih imenovanih grupa i obavezna provjera partnera dovoljni su da odluka bude mehanička. Nejasnoća na toj listi pretvara pregled u raspravu, a rasprave se ne otklanjaju. Tada je izlaz lista krajnjih točaka koje krše navedeno pravilo.
ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'Zatvorite krug ponovnim čitanjem pregovaranih vrijednosti nakon otklanjanja. Usklađena konfiguracijska datoteka nije dokaz da ju je tunel preuzeo. Izlaz statusa i jedno svježe rukovanje jesu dokaz, a njihovo prikupljanje traje kraće od sastanka o tome trebaju li.