A legtöbben egy VPN-profilban találkoznak a nonce szóval, és azt feltételezik, hogy ez egy újabb megosztott titok, amelyet a felek között másolni kell. Nem az. A nonce olyan érték, amely ugyanazon kulcs alatt soha nem ismétlődhet, és a legtöbb nonce-alapú titkosításban nyíltan utazik. A zavar addig ártalmatlan, amíg valaki kézzel nem szerkeszti, és ott kezdődik az igazi törés.

Honnan származik valójában a nonce

A hitelesített titkosítás minden kulcs alatt titkosított üzenethez más nonce-t igényel. A protokollok ezt a követelményt különböző módon teljesítik: monoton növekvő számláló, csomagazonosítóval kombinált só, vagy kellően hosszú véletlen érték. Az IKEv2 a kezdeti csere során nonce-okat cserél, és ezek nyilvános bemenetek a kulcslevezetéshez, nem titkok.

Az egyediség lehet strukturális vagy valószínűségi. A számláló nem tud ismétlődni, amíg körbe nem fordul, ezért a protokoll jóval előbb meghatározza a kulcsfrissítési pontot. A véletlen érték elég bitre támaszkodik ahhoz, hogy az ütközés valószínűtlen legyen az üzenethatáron belül, ami más érv, más hibamóddal. A protokoll dokumentációja megnevezi, melyik módszer érvényes, és mindkettő csak a megadott határ betartása mellett biztonságos.

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

Mi az újrafelhasználás valódi ára

A nonce újrafelhasználása egy kulcs alatt nem jelentéktelen hatékonysági kérdés. GCM esetén két azonos IV-t használó üzenet lehetővé teszi egy megfigyelő számára a hitelesítési kulcs visszaállítását és a két nyílt szöveg kizáró vagyjának kiszámítását. A folyamalapú konstrukciók ugyanígy használják újra a kulcsfolyamot, ami a rejtjelezett szöveget titok helyett rejtvénnyé változtatja.

Ezért frissítik a kulcsot a megvalósítások, mielőtt a számláló körbefordul, és ezért állnak le ahelyett, hogy folytatnák, amikor az állapotuk bizonytalan. Az újraindítás, amely nullázza a számlálót, miközben a partner még a régi kulcsot tartja, vagy egy virtuális gép, amelyet a munkamenet közepén készült pillanatképből állítanak vissza, pontosan az a helyzet, amelynek megelőzésére a határok léteznek. Nem kell támadó; a szokásos műveletek elegendőek.

Miért rossz megoldás a kézi szerkesztés

A számlálók, sók és csomagazonosítók mindkét vég által megosztott állapotgépek. Az egyik oldal megváltoztatása deszinkronizálja a másikat, és az alagút úgy hibásodik meg, hogy útválasztási problémának tűnik. A támogatott eszköz egy friss kulcscsere, amely egyszerre állítja vissza az állapotot mindkét végén.

A jelszavak és a nonce-ok is különböző szerepet játszanak. A jelszó titkos bemenet a kulcslevezetéshez; a nonce üzenetenkénti nyilvános bemenet. A nonce feliratú profilmező, amely hosszú titkot kér, általában statikus kulcs vagy előre megosztott titok más néven, ezért olvassa el a mező dokumentációját ahelyett, hogy feltételezne.

Amikor egy biztonsági figyelmeztetés a nonce kezeléséről szól, a javítás a karbantartó javított verziója, nem egy másik titkosítás vagy rövidebb kulcs. A titkosítás cseréje a nonce szó elkerülésére elmozdítja a problémát, ahelyett hogy megoldaná.

Figyelmeztetés olvasása találgatás nélkül

A számlálókról vagy nonce-okról szóló naplósor általában elveszett állapotot ír le, nem támadást. Ellenőrizze, hogy újraindult-e az egyik fél, hogy egy klónozott virtuális gép újrahasználta-e ugyanazt az identitást, és hogy a két vég egyetért-e a kulcsfrissítési beállításokban. Ezután hozzon létre új munkamenetet, és figyelje, visszatér-e az üzenet.

Tartsa a diagnózist külön a nem kapcsolódó hibáktól. Egy be nem töltődő oldal vagy egy hurkolódó hitelesítőadat-kérés nem bizonyítéka a nonce újrafelhasználásának, és ha annak tekinti, a kriptográfiai rétegbe küldi magát, miközben a probléma felette van.

A szokásos használathoz a biztonságos szabály rövid: hagyja, hogy a megvalósítás kezelje a nonce-t, tartsa mindkét végét támogatott verziókon, és tekintse az állapot bármilyen visszaállítását a kulcsfrissítés okának, nem egy érték szerkesztésének. Ha egy profilmező nincs a gyártó dokumentációjában, ne találjon ki értéket hozzá. Az alagút javítása azzal kezdődik, hogy tudja, melyik réteget nézi.

Kapcsolódó cikkek