Kaj je nonce v VPN in zakaj ponovna uporaba zlomi tunel
Nonce je vrednost za vsako sporočilo, ki se pod enim ključem nikoli ne sme ponoviti, in običajno potuje odkrito. Ročno urejanje je napaka, ki se ji je treba izogniti.
Večina ljudi sreča besedo nonce v profilu VPN in domneva, da je to še ena skupna skrivnost, ki jo je treba kopirati med partnerji. Ni. Nonce je vrednost, ki se pod istim ključem nikoli ne sme ponoviti, in v večini šifriranja, ki temelji na nonce, potuje odkrito. Zmeda ostane neškodljiva, dokler je nekdo ne uredi ročno, in tam se začne prava okvara.
Od kod nonce v resnici prihaja
Overjeno šifriranje potrebuje drug nonce za vsako sporočilo, šifrirano pod ključem. Protokoli to zahtevo izpolnjujejo na različne načine: monotono naraščajoči števec, sol, kombinirana z identifikatorjem paketa, ali dovolj dolga naključna vrednost. IKEv2 izmenjuje nonce med začetno izmenjavo, in ti so javni vhodi za izpeljavo ključa, ne skrivnosti.
Edinstvenost je lahko strukturna ali verjetnostna. Števec se ne more ponoviti, dokler se ne obrne, zato protokol veliko prej določi točko obnove ključa. Naključna vrednost se opira na dovolj bitov, da je trčenje v mejah sporočil neverjetno, kar je drugačen argument z drugačnim načinom odpovedi. Dokumentacija protokola navaja, katera metoda velja, in obe sta varni le, dokler je spoštovana navedena meja.
| Design | Where uniqueness comes from | Exhaustion is handled by |
|---|---|---|
| AES-GCM records | An IV, typically a counter | Rekey before the counter wraps |
| ChaCha20-Poly1305 | A 96-bit nonce from a counter or generator | A message limit per key |
| WireGuard | A per-key 64-bit counter | Rekey at a message cap |
| OpenVPN AEAD | Packet identifier plus implicit key material | Rekey on the packet-id limit |
| IKEv2 | Fresh nonces per exchange | A new security association |
Kaj ponovna uporaba v resnici stane
Ponovna uporaba nonce pod enim ključem ni majhno vprašanje učinkovitosti. Pri GCM dve sporočili, ki si delita IV, omogočata opazovalcu, da obnovi avtentikacijski ključ in izračuna izključujoče ali dveh odprtih besedil. Tokovne konstrukcije znova uporabijo ključni tok na enak način, kar spremeni šifrirano besedilo v uganko namesto v skrivnost.
Zato izvedbe obnovijo ključ, preden se števec obrne, in zato se ustavijo, namesto da bi nadaljevale, ko je njihovo stanje negotovo. Ponovni zagon, ki ponastavi števec, medtem ko partner še vedno drži stari ključ, ali virtualni stroj, obnovljen iz posnetka, narejenega sredi seje, je natanko situacija, ki ji obstajajo meje, da bi jo preprečile. Noben napadalec ni potreben; običajne operacije zadostujejo.
Zakaj je ročno urejanje napačna rešitev
Števci, soli in identifikatorji paketov so stroji stanja, ki si jih delita oba konca. Sprememba ene strani desinhronizira drugo, in tunel odpove tako, da je videti kot težava z usmerjanjem. Podprta ročica je sveža izmenjava ključev, ki ponastavi stanje na obeh koncih hkrati.
Gesla in nonce imajo tudi različne vloge. Geslo je tajni vhod za izpeljavo ključa; nonce je javni vhod za vsako sporočilo. Polje profila z oznako nonce, ki zahteva dolgo skrivnost, je običajno statični ključ ali vnaprej skupna skrivnost pod drugim imenom, zato preberite dokumentacijo za to polje, namesto da bi domnevali.
Ko se priporočilo nanaša na ravnanje z nonce, je popravek popravljena različica vzdrževalca, ne druga šifra ali krajši ključ. Zamenjava šifre, da bi se izognili besedi nonce, premakne težavo, namesto da bi jo rešila.
Branje opozorila brez ugibanja
Vrstica dnevnika o števcih ali nonce običajno opisuje izgubljeno stanje, ne napada. Preverite, ali se je en partner znova zagnal, ali je klonirani virtualni stroj znova uporabil isto identiteto in ali se oba konca strinjata glede nastavitev obnove ključa. Nato vzpostavite novo sejo in opazujte, ali se sporočilo vrne.
Diagnozo držite ločeno od nepovezanih okvar. Stran, ki se ne naloži, ali poziv za poverilnice, ki se vrti v zanki, ni dokaz ponovne uporabe nonce, in obravnavanje tega kot takega vas pošlje v kriptografsko plast, ko je težava nad njo.
Za običajno uporabo je varno pravilo kratko: pustite izvedbi, da upravlja nonce, obdržite oba konca na podprtih različicah in vsako ponastavitev stanja obravnavajte kot razlog za obnovo ključa, ne za urejanje vrednosti. Če polja profila ni v dokumentaciji ponudnika, si zanj ne izmislite vrednosti. Popravljanje tunela se začne z vedenjem, v katero plast gledate.