Useimmat kohtaavat sanan nonce VPN-profiilissa ja olettavat sen olevan vielä yksi jaettu salaisuus, joka kopioidaan osapuolten välillä. Se ei ole. Nonce on arvo, joka ei saa koskaan toistua saman avaimen alla, ja useimmissa nonce-pohjaisissa salauksissa se kulkee selväkielisenä. Hämmennys pysyy harmittomana, kunnes joku muokkaa sitä käsin, ja siitä todellinen vaurio alkaa.

Mistä nonce oikeasti tulee

Todennettu salaus tarvitsee eri noncen jokaiselle avaimen alla salatulle viestille. Protokollat täyttävät tämän vaatimuksen eri tavoin: monotonisesti kasvava laskuri, paketin tunnisteeseen yhdistetty suola tai riittävän pitkä satunnaisarvo. IKEv2 vaihtaa nonceja alkuvaihdon aikana, ja ne ovat julkisia syötteitä avainten johtamiseen, eivät salaisuuksia.

Ainutlaatuisuus voi olla rakenteellista tai todennäköisyysperusteista. Laskuri ei voi toistua ennen kuin se kiertyy ympäri, minkä vuoksi protokolla määrittää avaimen uusimispisteen kauan ennen sitä. Satunnaisarvo nojaa riittävään bittimäärään, jotta törmäys on epätodennäköinen viestirajan sisällä, mikä on erilainen argumentti erilaisella vikatilalla. Protokollan dokumentaatio kertoo, kumpi menetelmä pätee, ja molemmat ovat turvallisia vain, kun ilmoitettua rajaa noudatetaan.

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

Mitä uudelleenkäyttö todella maksaa

Noncen käyttäminen uudelleen saman avaimen alla ei ole pieni tehokkuuskysymys. GCM:ssä kaksi viestiä, jotka jakavat IV:n, antavat tarkkailijalle mahdollisuuden palauttaa todennusavain ja laskea kahden selväkielisen tekstin poissulkeva tai. Virtapohjaiset rakenteet käyttävät avainvirtaa uudelleen samalla tavalla, mikä muuttaa salakirjoituksen salaisuuden sijaan arvoitukseksi.

Siksi toteutukset uusivat avaimen ennen kuin laskuri kiertyy ympäri, ja siksi ne pysähtyvät jatkamisen sijaan, kun niiden tila on epävarma. Uudelleenkäynnistys, joka nollaa laskurin, kun vastapuolella on yhä vanha avain, tai virtuaalikone, joka palautetaan istunnon keskeltä otetusta tilannekuvasta, on täsmälleen se tilanne, jonka estämiseksi rajat ovat olemassa. Hyökkääjää ei tarvita; tavalliset toiminnot riittävät.

Miksi käsin muokkaaminen on väärä korjaus

Laskurit, suolat ja pakettien tunnisteet ovat tilakoneita, jotka molemmat päät jakavat. Yhden puolen muuttaminen desynkronoi toisen, ja tunneli epäonnistuu tavoilla, jotka näyttävät reititysongelmalta. Tuettu vipu on tuore avainvaihto, joka nollaa tilan molemmissa päissä kerralla.

Salasanoilla ja nonceilla on myös eri roolit. Salasana on salainen syöte avainten johtamiseen; nonce on julkinen syöte viestiä kohden. Profiilikenttä, joka on merkitty nonceksi ja pyytää pitkää salaisuutta, on yleensä staattinen avain tai ennalta jaettu salaisuus toisella nimellä, joten lue kyseisen kentän dokumentaatio sen sijaan, että oletat.

Kun turvallisuustiedote koskee noncen käsittelyä, korjaus on ylläpitäjän korjattu versio, ei toinen salaus tai lyhyempi avain. Salauksen vaihtaminen sanan nonce välttämiseksi siirtää ongelmaa sen ratkaisemisen sijaan.

Varoituksen lukeminen arvaamatta

Lokirivi laskureista tai nonceista kuvaa yleensä menetettyä tilaa, ei hyökkäystä. Tarkista, onko toinen osapuoli käynnistetty uudelleen, onko kloonattu virtuaalikone käyttänyt samaa identiteettiä uudelleen ja ovatko molemmat päät samaa mieltä avaimen uusimisasetuksista. Perusta sitten uusi istunto ja seuraa, palaako viesti.

Pidä diagnoosi erillään liittymättömistä vioista. Sivu, joka ei lataudu, tai kirjautumiskehote, joka toistuu silmukassa, ei ole todiste noncen uudelleenkäytöstä, ja sen käsitteleminen sellaisena lähettää sinut salauskerrokseen, kun ongelma on sen yläpuolella.

Tavalliseen käyttöön turvallinen sääntö on lyhyt: anna toteutuksen hallita noncea, pidä molemmat päät tuetuissa versioissa ja käsittele mitä tahansa tilan nollausta syynä uusia avain sen sijaan, että muokkaisit arvoa. Jos profiilikenttä ei ole toimittajan dokumentaatiossa, älä keksi sille arvoa. Tunnelin korjaaminen alkaa siitä, että tiedät, mitä kerrosta katsot.

Aiheeseen liittyvät artikkelit