Ano ang nonce sa VPN, at bakit sinisira ng muling paggamit ang tunnel
Ang nonce ay isang halaga sa bawat mensahe na hindi dapat maulit sa ilalim ng isang key, at karaniwang naglalakbay ito nang hayagan. Ang pag-edit nito sa kamay ang pagkakamaling dapat iwasan.
Karamihan sa mga tao ay nakakatagpo ng salitang nonce sa isang profile ng VPN at inaakalang ito ay isa pang pinagsasaluhang sikreto na kokopyahin sa pagitan ng mga kapwa. Hindi ito ganoon. Ang nonce ay isang halaga na hindi dapat maulit sa ilalim ng parehong key, at sa karamihan ng encryption na nakabatay sa nonce, naglalakbay ito nang hayagan. Ang kalituhan ay nananatiling walang pinsala hanggang may mag-edit nito sa kamay, at doon nagsisimula ang tunay na pinsala.
Saan talaga nagmumula ang nonce
Ang authenticated encryption ay nangangailangan ng ibang nonce para sa bawat mensaheng naka-encrypt sa ilalim ng isang key. Tinutugunan ng mga protocol ang pangangailangang ito sa iba’t ibang paraan: isang counter na monotonikong tumataas, isang salt na sinamahan ng packet identifier, o isang random na halagang sapat ang haba. Nagpapalitan ang IKEv2 ng nonce sa paunang palitan, at ang mga ito ay pampublikong input para sa derivation ng key, hindi mga sikreto.
Ang pagiging natatangi ay maaaring struktural o probabilistiko. Hindi maaaring maulit ang counter hanggang umikot ito, kaya tinutukoy ng protocol ang isang rekey point nang mas maaga. Ang random na halaga ay umaasa sa sapat na bits upang ang banggaan ay malabong mangyari sa loob ng limitasyon ng mensahe, na isang ibang argumento na may ibang failure mode. Tinutukoy ng dokumentasyon ng protocol kung aling paraan ang naaangkop, at pareho lamang silang ligtas habang iginagalang ang nakasaad na limitasyon.
| 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 |
Ano talaga ang halaga ng muling paggamit
Ang muling paggamit ng nonce sa ilalim ng isang key ay hindi maliit na usapin ng efficiency. Sa GCM, dalawang mensaheng nagsasalo ng IV ay nagpapahintulot sa isang tagamasid na mabawi ang authentication key at kalkulahin ang exclusive-or ng dalawang plaintext. Ang mga konstruksiyon na nakabatay sa stream ay muling gumagamit ng keystream sa parehong paraan, na ginagawang palaisipan ang ciphertext sa halip na lihim.
Ito ang dahilan kung bakit nagre-renew ang mga implementasyon ng key bago umikot ang counter, at kung bakit humihinto sila sa halip na magpatuloy kapag hindi tiyak ang kanilang estado. Ang restart na nagre-reset ng counter habang hawak pa ng kapwa ang lumang key, o isang virtual machine na naibalik mula sa snapshot na kinuha sa gitna ng session, ay eksaktong sitwasyon na umiiral ang mga limitasyon upang pigilan. Walang attacker na kailangan; sapat na ang mga ordinaryong operasyon.
Bakit mali ang pag-edit sa kamay
Ang mga counter, salt, at packet identifier ay mga state machine na pinagsasaluhan ng dalawang dulo. Ang pagbabago sa isang panig ay nagde-desync sa kabilang panig, at nabibigo ang tunnel sa paraang mukhang problema sa routing. Ang sinusuportahang lever ay isang sariwang key exchange, na nagre-reset ng estado sa parehong dulo nang sabay.
Ang mga password at nonce ay may iba’t ibang papel din. Ang password ay sikretong input para sa derivation ng key; ang nonce ay pampublikong input sa bawat mensahe. Ang field ng profile na may label na nonce at humihingi ng mahabang sikreto ay karaniwang static key o pre-shared secret sa ilalim ng ibang pangalan, kaya basahin ang dokumentasyon para sa field na iyon sa halip na mag-akala.
Kapag ang advisory ay tungkol sa paghawak ng nonce, ang pag-aayos ay ang naitamang bersyon ng maintainer, hindi ibang cipher o mas maikling key. Ang pagpapalit ng cipher upang iwasan ang salitang nonce ay naglilipat ng problema sa halip na lutasin ito.
Pagbasa ng babala nang hindi nanghuhula
Ang log line tungkol sa mga counter o nonce ay karaniwang naglalarawan ng nawalang estado, hindi ng pag-atake. Tingnan kung ang isang kapwa ay nag-restart, kung ang isang na-clone na virtual machine ay muling gumamit ng parehong identity, at kung nagkakasundo ang dalawang dulo sa mga setting ng key renewal. Pagkatapos ay magtatag ng bagong session at panoorin kung bumabalik ang mensahe.
Panatilihing hiwalay ang diagnosis sa mga walang kaugnayang pagkabigo. Ang pahinang hindi naglo-load, o ang prompt ng kredensyal na umiikot, ay hindi ebidensiya ng muling paggamit ng nonce, at ang pagtrato rito bilang ganoon ay nagpapadala sa iyo sa cryptographic layer habang ang problema ay nasa itaas nito.
Para sa ordinaryong paggamit, ang ligtas na tuntunin ay maikli: hayaang pamahalaan ng implementasyon ang nonce, panatilihin ang dalawang dulo sa mga sinusuportahang bersyon, at ituring ang anumang pag-reset ng estado bilang dahilan upang i-renew ang key sa halip na i-edit ang isang halaga. Kung ang isang field ng profile ay wala sa dokumentasyon ng vendor, huwag mag-imbento ng halaga para dito. Ang pag-aayos ng tunnel ay nagsisimula sa pag-alam kung aling layer ang tinitingnan mo.