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.

DesignWhere uniqueness comes fromExhaustion is handled by
AES-GCM recordsAn IV, typically a counterRekey before the counter wraps
ChaCha20-Poly1305A 96-bit nonce from a counter or generatorA message limit per key
WireGuardA per-key 64-bit counterRekey at a message cap
OpenVPN AEADPacket identifier plus implicit key materialRekey on the packet-id limit
IKEv2Fresh nonces per exchangeA 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.

Sorodni članki