Zašto veći OpenVPN ključ ne uklanja tajmer za ponovno generiranje ključa
Jačina šifre i životni vijek ključa su odvojene odluke. Provjerite okidače po bajtovima, paketima i vremenu, pa testirajte ponovno generiranje na stvarnom toku prijave.
Odabir AES-256 ili dužeg ključa ne govori ništa o tome koliko dugo se taj ključ smije koristiti. Jačina ključa opisuje algoritam; politika ponovnog generiranja odlučuje kada sesija izvodi novi ključni materijal. Implementacija može odabrati najjaču dostupnu šifru i ipak pogriješiti s obnavljanjem, jer se te dvije odluke donose na različitim mjestima. Njihovo miješanje daje ili nepotrebnu promjenu šifre ili sesiju koja tiho nadživi svoju politiku.
Pročitajte postavke ponovnog generiranja prije nego dirnete šifru, i čitajte oba sudionika kada to radite.
Jačina ključa i životni vijek ključa odgovaraju na različita pitanja
Šifra i veličina ključa određuju koliko bi napad na presretnuti promet bio skup. Interval ponovnog generiranja određuje koliko prometa jedan ključ štiti i koliko dugo kompromitiran ključ ostaje koristan. To su nezavisne kontrole, i jača šifra ne produžava siguran životni vijek sesije. Većina smjernica koje kažu 'koristite AES-256' šuti o obnavljanju, jer je obnavljanje pitanje politike, a ne izbora algoritma.
Zabilježite oboje u napomene o implementaciji: što štiti kanal podataka i što pokreće zamjenu njegovih ključeva.
Ponovno generiranje ima tri okidača, a bilo koji sudionik može ga pokrenuti
OpenVPN 2.6 dokumentira odvojene okidače za ponovno pregovaranje po bajtovima, paketima i proteklom vremenu. Vremenski okidač je onaj koji većina implementacija ostavlja na zadanoj vrijednosti, što znači da tiha tunelska veza i dalje obnavlja ključ po rasporedu. Bilo koji sudionik može započeti razmjenu, a sudionik koji je nije započeo slijedi. Zato promjena tajmera na jednoj strani ne određuje ponašanje sesije; efektivna vrijednost je na strani koja prva započne.
Okidači po bajtovima i paketima važni su za opterećenja s velikim protokom ili malim paketima, gdje bi politika samo po vremenu pustila jedan ključ da štiti mnogo više podataka nego što je predviđeno. Ako ti brojači ostanu isključeni, recite to namjerno u napomenama umjesto da zadano ostavite neispitanim.
Ponovno generiranje razotkriva tok autentifikacije
Ponovno pregovaranje je novo TLS rukovanje, što znači da se put autentifikacije izvršava ponovno. Implementacije s jednokratnim kodovima, hardverskim tokenima ili RADIUS izazovom otkriju to na teži način: prva veza radi, a sesija umre sat kasnije kada drugo rukovanje zatraži kod koji je već iskorišten. auth-gen-token postoji da premosti taj jaz tako što poslužitelju dopušta da izda kratkotrajni token za ponovno pregovaranje umjesto da traži novu interaktivnu prijavu.
Tretirajte to kao problem toka rada koji treba riješiti s operaterom, a ne kao dokaz da obnavljanje treba isključiti.
Testirajte obnavljanje pod opterećenjem, a ne u jednominutnoj sesiji
Prihvatni test koji se poveže, jednom pošalje ping i prekine nikada ne stigne do ponovnog generiranja. Pokrenite sesiju dovoljno dugo da prijeđete konfigurirani okidač, držite prijenos u toku cijelo vrijeme i gledajte dnevnike oba sudionika zbog novog rukovanja. Zatim testirajte putanju kvara: što klijent radi ako se ponovno pregovaranje ne može dovršiti. Tunel koji se čisto prekine lakše je dijagnosticirati od onog koji nastavlja slati u mrtvu sesiju.
Ne čitajte uspješan veliki prijenos kao dokaz kriptografskog praga. On samo pokazuje da su putanja i brojači izdržali toliko prometa.
Dokumentirajte oba izbora
Zapis treba dvije linije: kako se paketi štite i kada se ta zaštita zamjenjuje. Dodajte nadležnost za svaku vrijednost, jer šifra može doći iz zadanog postavka distribucije, a tajmer iz interne politike. Budući operater ne bi trebao ni jedno ni drugo zaključivati iz konfiguracijske datoteke.
Ako kompatibilnost zahtijeva izuzetak, ograničite ga na verziju i datum završetka. Izuzetak koji nadživi svoj razlog postaje politika za koju se nitko ne sjeća da ju je odabrao.