Bosh sahifa Wiki Anti-replay window

Anti-replay window

Anti-replay window — autentifikatsiyalangan paket yoki xabarlarni sequence number bo‘yicha kuzatib, ilgari qabul qilingan nusxaning qayta yuborilishini rad etadigan mexanizmdir. U IPsec, secure transport va simsiz protokollarda replay attackga qarshi ishlatiladi. Window paketlar tarmoqda biroz tartibsiz kelishiga ruxsat berib, eski dublikatlarni ajratadi.

Sequence number

Yuboruvchi har himoyalangan xabarga monoton oshuvchi raqam beradi. Raqam MAC yoki AEAD authentication tag bilan qamrab olinadi, shuning uchun hujumchi uni o‘zgartirib eski ciphertextni yangi deb ko‘rsata olmaydi. Qabul qiluvchi ko‘rgan eng katta sequence numberni saqlaydi.

Faqat “oxirgi raqamdan katta bo‘lsin” qoidasi packet reordering mavjud tarmoqda qonuniy paketlarni yo‘qotadi. Shu sabab oxirgi W ta raqam uchun bitmap yoki o‘xshash tuzilma yuritiladi.

Window ishlashi

Yangi raqam eng katta ko‘rilgan qiymatdan katta bo‘lsa window oldinga suriladi va tegishli bit belgilandi. Raqam window ichida bo‘lsa bitmap tekshiriladi: bit avval o‘rnatilgan bo‘lsa replay, bo‘lmasa kechikib kelgan qonuniy paket sifatida qabul qilinadi. Windowdan chapda qolgan juda eski raqam rad etiladi.

Authentication tekshiruvi muvaffaqiyatsiz paket window holatini o‘zgartirmasligi kerak. Aks holda hujumchi katta soxta raqam yuborib, window’ni oldinga siljitishi va qonuniy paketlarni eski qilib qo‘yishi mumkin. Implementatsiya avval maqbul diapazonni baholaydi, kriptografik tekshiruvdan so‘ng state’ni commit qiladi.

Window hajmi

Kichik window kuchli reordering yoki multipath tarmoqda qonuniy paketni rad etadi. Juda katta window bitmap xotirasi va tekshiruv narxini oshiradi. Hajm protokol standarti, kutiladigan path farqi va trafik tezligiga mos tanlanadi.

Parallel qabul qiluvchi oqimlar bir replay state’ni yangilasa atomik synchronization talab qilinadi. Race condition bir raqamni ikki marta qabul qilishi yoki bitmapni yo‘qotishi mumkin. High-speed dataplane lock-free yoki shardlangan tuzilma ishlatishi ehtimol.

Wraparound va rekey

Sequence number maksimal qiymatga yetganda qayta nolga tushirish eski paket bilan to‘qnashadi. Protokol undan oldin yangi session key yoki security association yaratadi. Extended sequence number simda qisqa maydon, ichki hisobda esa katta counter ishlatishi mumkin.

Rebootdan keyin counter state yo‘qolsa bir xil key bilan eski raqamlar qayta ishlatilmasligi kerak. Persistent counter, yangi nonce bazasi yoki majburiy rekey talab qilinadi. AEAD nonce takrorlanishi ayrim algoritmlarda maxfiylik va yaxlitlikni keskin buzadi.

Chegaralar

Anti-replay xabarning authentic va yangi ekanini tekshiradi, lekin legitimate foydalanuvchining bir xil biznes amalni yangi sequence bilan qayta yuborishini to‘xtatmaydi. To‘lov yoki API yozuvi uchun idempotency key hamda server-side transaction nazorati alohida kerak.

Monitoring replay drop, window-too-old va authentication failure’ni farqlaydi. Keskin ko‘payish hujum, noto‘g‘ri counter reset yoki tarmoq reorderingidan bo‘lishi mumkin. Diagnostika secret va payloadni log qilmasdan session identifier hamda hisoblagichni qayd etadi.

Ko‘p yuboruvchili oqim

Bir group keydan bir nechta sender foydalansa yagona sequence space koordinatsiya talab qiladi. Amaliy protokol sender identifier bilan alohida counter va replay window saqlashi mumkin. Sender identifikatori authentication tag ichiga kiradi, aks holda bir yuboruvchining paketi boshqasining raqam maydonida qabul qilinishi mumkin. State juda ko‘p noma’lum sender uchun yaratilsa memory exhaustion hujumi yuz beradi; yangi peer faqat autentifikatsiyadan keyin ro‘yxatga olinadi. Session yopilgach replay state’ni juda erta unutish eski trafikning qayta qabul qilinishiga yo‘l ochmasligi kerak.

Bog‘liq tushunchalar

Replay attack, Sequence number, Nonce, IPsec, AEAD, Idempotency