Hvað er nonce í VPN og hvers vegna eyðileggur endurnotkun ganginn
Nonce er gildi fyrir hver skilaboð sem má aldrei endurtaka undir einum lykli, og það fer venjulega ódulið. Að breyta því í höndunum er mistakið sem forðast skal.
Flestir rekast á orðið nonce í VPN-sniði og gera ráð fyrir að það sé enn eitt sameiginlegt leyndarmál sem á að afrita milli jafningja. Það er það ekki. Nonce er gildi sem má aldrei endurtaka undir sama lykli, og í flestum dulritunum sem byggja á nonce fer það ódulið. Ruglingurinn er meinlaus þar til einhver breytir því í höndunum, og þar byrjar raunverulega skemmdin.
Hvaðan nonce kemur í raun
Sannkennd dulritun þarf mismunandi nonce fyrir hver skilaboð sem dulkóðuð eru undir lykli. Samskiptareglur uppfylla þá kröfu á mismunandi vegu: einhæft hækkandi teljari, salt sameinað pakkaskilgreini eða nógu langt slembigildi. IKEv2 skiptist á nonce-gildum í upphafsskiptunum, og þau eru opinleg inntak fyrir lykilafleiðslu, ekki leyndarmál.
Einkvæmni getur verið byggingarleg eða líkindaleg. Teljari getur ekki endurtekið sig fyrr en hann vefst um, sem er ástæðan fyrir því að samskiptareglan skilgreinir lykilendurnýjunarpunkt löngu fyrr. Slembigildi byggir á nógu mörgum bitum til að árekstur sé ósennilegur innan skilaboðamarkanna, sem er önnur röksemd með öðrum bilunarham. Samskiptaregluskjölin tilgreina hvaða aðferð á við, og báðar eru öruggar aðeins meðan virt mörk eru virt.
| 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 |
Hvað endurnotkun kostar í raun
Að endurnota nonce undir einum lykli er ekki smávægilegt skilvirknismál. Með GCM gera tvö skilaboð sem deila IV athuganda kleift að endurheimta sannkenningarlykilinn og reikna einkarétt-eða tveggja skýrtexta. Straumbyggðar smíðar endurnota lykilstrauminn á sama hátt, sem gerir dulritaðan texta að þraut í stað leyndarmáls.
Þess vegna endurnýja útfærslur lykilinn áður en teljari vefst um, og þess vegna stöðva þær í stað þess að halda áfram þegar staða þeirra er óviss. Endurræsing sem núllstillir teljara meðan jafninginn heldur enn gamla lyklinum, eða sýndarvél sem endurheimt er úr skyndimynd sem tekin var um miðja lotu, er einmitt staðan sem mörkin eru til að koma í veg fyrir. Enginn árásarmaður er nauðsynlegur; venjulegar aðgerðir duga.
Hvers vegna handbreyting er röng ráðstöfun
Teljarar, sölt og pakkaskilgreinar eru stöðuvélar sem báðir endar deila. Að breyta einni hlið riftir samstillingu hinnar, og gangurinn bregst á þann hátt sem lítur út eins og leiðarval. Studda stöngin er fersk lykilskipti, sem núllstillir stöðuna á báðum endum í einu.
Lykilorð og nonce-gildi gegna líka mismunandi hlutverkum. Lykilorð er leynt inntak fyrir lykilafleiðslu; nonce er opinlegt inntak fyrir hver skilaboð. Sniðsreitur merktur nonce sem biður um langt leyndarmál er venjulega kyrrlykill eða fyrirfram deilt leyndarmál undir öðru nafni, svo lestu skjölin fyrir þann reit í stað þess að gera ráð fyrir.
Þegar viðvörun snýr að meðferð nonce-gilda er viðgerðin leiðrétt útgáfa viðhaldsaðilans, ekki önnur dulritun eða styttri lykill. Að skipta um dulritun til að forðast orðið nonce færir vandamálið í stað þess að leysa það.
Að lesa viðvörun án þess að giska
Línan í atvikaskrá um teljara eða nonce-gildi lýsir venjulega töpuðu ástandi frekar en árás. Athugaðu hvort jafningi hafi endurræst, hvort klónuð sýndarvél hafi endurnotað sömu auðkenni og hvort báðir endar séu sammála um lykilendurnýjun. Stofnaðu síðan nýja lotu og fylgstu með hvort skilaboðin koma aftur.
Haltu greiningunni aðskildri frá ótengdum bilunum. Síða sem hleðst ekki, eða innskráningarbeiðni sem endurtekur sig, er ekki sönnun um endurnotkun nonce, og að meðhöndla hana sem slíka sendir þig í dulritunarlagið þegar vandamálið er ofan við það.
Fyrir venjulega notkun er örugga reglan stutt: leyfðu útfærslunni að stjórna nonce-gildinu, haltu báðum endum á studdum útgáfum og líttu á hverja núllstillingu ástands sem ástæðu til að endurnýja lykilinn frekar en að breyta gildi. Ef sniðsreitur er ekki í skjölum söluaðilans skaltu ekki finna upp gildi fyrir hann. Að laga ganginn byrjar á að vita hvaða lag þú ert að skoða.