Nega uzunroq Blowfish kaliti 64 bitli blokni tuzata olmaydi
Blowfish kalitlari 448 bitga yetishi mumkin, blok esa 64 bit bo'lib qoladi. Kelishilgan shifrni tekshiring va uzunroq kalit o'rniga qo'llab-quvvatlanadigan almashtirishni rejalashtiring.
VPN profili 448 bitli kalit bilan Blowfish taklif qiladi va kimdir shifrni saqlab qolish uchun eng uzun kalitdan foydalanishni taklif qiladi. Kalit uzunligi haqiqiy, ammo bu optimallashtirish uchun noto'g'ri raqam. Blowfish kalit qanchalik uzun bo'lishidan qat'i nazar, 64 bitli bloklarni o'zgartiradi va bitta kalit qancha trafikni xavfsiz himoya qila olishini blok kengligi cheklaydi. Quyidagi tekshiruvlarni tartib bilan bajaring va xizmatni oqlaydigan birinchisida to'xtang, chunki keyingi qadam oldingisini tuzata olmaydi.
Tomonlar aslida nimani kelishayotganini tekshiring
Ma'lumot kanali shifrini joylashtirmoqchi bo'lgan profilingizdan emas, ikkala uchidan o'qing. Mijoz konfiguratsiyasi bir nechta shifrni sanab o'tishi mumkin va tanlangani ikki amalga oshirish va ularning versiyalari o'rtasidagi kelishuv natijasidir. Sinov ulanishida jurnal batafsilligini oshiring va aslida ishga tushirilgan shifr hamda kalit hajmini ko'rsatuvchi ma'lumot kanali qatorini o'qing.
Agar kelishilgan shifr AES-GCM yoki ChaCha20-Poly1305 bo'lsa, shu yerda to'xtang. Bu konstruksiyalar 128 bitli blokdan foydalanadi va foydali yukni autentifikatsiya qiladi, shuning uchun quyidagi 64 bitli to'qnashuv argumenti ularga taalluqli emas.
Kalit uzunligini blok kengligidan ajrating
Blowfish 32 dan 448 bitgacha kalitlarni qabul qiladi va algoritm muallifining hujjatlari ikkala raqamni alohida qayd etadi. Kalit - sir; blok - o'zgartirish birligi. Sirni uzaytirish taxmin qilishni qiyinlashtiradi va shifr qayta ishlaydigan blok kengligiga hech narsa qilmaydi.
CBC rejimida shifr qat'iy kenglikdagi bloklarga qo'llaniladi, oldingi shifrlangan matn bloki bilan zanjirlanadi va oxirida to'ldiriladi. Blowfish uchun bu kenglik 64 bit, ya'ni sakkiz bayt. Kalit jadvali xohlagancha katta bo'lishi mumkin; zanjir baribir har safar sakkiz baytga siljiydi.
Shuning uchun uzunroq kalit yumshatish emas. U kalitga qarshi qo'pol kuchga qaratilgan, quyidagi to'qnashuv xavfi esa blok kengligi va rejimning xossasidir.
Tug'ilgan kun arifmetikasini blok hajmiga qo'llang
64 bitli blokning tug'ilgan kun shkalasi to'qnashuvlar ehtimoliy bo'lishidan oldin bitta kalit ostida shifrlangan taxminan 2^32 blokdir. Har bir blok sakkiz bayt tashiydi, shuning uchun bir xil shkala taxminan 2^35 bayt, ya'ni bitta kalit ostida 32 GiB ma'lumotdir.
Buni kvota emas, shkala sifatida qabul qiling. To'qnashuvlar ehtimoliy va biror narsa oshkor qilishi rejimga, trafik namunasiga va hujumchi atrofdagi ochiq matnni taniy olishi yoki ta'sir qila olishiga bog'liq. 32 GiB dan keyingi birinchi bayt deshifrlash hodisasi emas va birinchi 32 GiB xavfsiz deb sertifikatlanmagan.
Sweet32 tadqiqotchilari 2016 yilda 64 bitli blok shifrlariga qarshi, jumladan OpenVPN stsenariysiga qarshi, kuzatish va trafik yaratishni talab qiladigan sharoitlarda amaliy hujumlarni namoyish etdilar. Ularning e'lon qilingan standart qiymatlari va dasturiy ta'minot versiyalari tarixiy kontekst bo'lib, sizning joylashtirishingiz tavsifi emas.
CBC ning qayta ishlatilishi bu yerda muhimmi yoki yo'qmi, hal qiling
CBC da takrorlangan shifrlangan matn bloki ikkita ochiq matn bloki ma'lum munosabat bilan farq qilishini bildiradi, chunki zanjir XOR o'zini bekor qiladi. Shifrlangan matnni kuzata oladigan va ochiq matnlardan birini biladigan yoki ta'sir qila oladigan hujumchi ikkinchisi haqida ma'lumot olishi mumkin. Blowfish kaliti buning uchun hech qachon kerak emas.
Demak, tegishli savollar: kalit qancha vaqt xizmatda qoladi, uning ostidan qancha trafik o'tadi va kimdir bu trafikni kuzatib boshqara oladimi. Kalit yangilash kalit boshiga bloklar sonini kamaytiradi, ammo vaqt oralig'i bayt chegarasi emas: band tunnel xuddi shu soatda bo'sh tunneldan ancha ko'p ma'lumot ko'chirishi mumkin. Agar eski shifrni saqlab qolsangiz, chegarani konstruksiya va haqiqiy hajmdan kelib chiqib belgilang, yumaloq raqamdan emas.
Kalit boshiga o'lchangan hajm tug'ilgan kun shkalasidan ancha past bo'lib qolsa, ta'sir qilish kichikroq. U baribir nolga teng emas va baribir tashvishni to'xtatish o'rniga migratsiyani rejalashtirish uchun sababdir.
Kalitni emas, shifrni almashtiring
Xizmatni qo'llab-quvvatlanadigan AEAD shifriga o'tkazing va ikkala tomon, ularning versiyalari va kriptografik orqa qismlari buni kelishib olishini tasdiqlang. Uzunroq Blowfish kaliti muhim hech narsani o'zgartirmaydi va bitta mijozda yangi direktivani taxmin qilish ishlaydigan tunnelni buzilgan tunnelga aylantirish usulidir. O'zgarishni flotning qolgan qismiga tegishdan oldin bitta mijozda va bitta serverda sinab ko'ring. Yangi shifr to'liq ulanish tsiklidan o'tmaguncha eski profilni orqaga qaytarish uchun mavjud saqlang.
O'zgarish paytida sertifikat tekshiruvi va hisob autentifikatsiyasini saqlang. Ular turli savollarga javob beradi: muvaffaqiyatli kirish blokni kengaytira olmaydi va yaxshiroq ma'lumot shifri noto'g'ri serverga ishonishni oqlamaydi.
Tekshiruvni yangi ulanishda kelishilgan shifrni qayta o'qib, eski shifr endi qabul qilinmasligini tasdiqlash bilan yakunlang. Agar tomon hali ham uni taklif qilsa, boshqa tomondagi profil nima deyishidan qat'i nazar, migratsiya tugamagan.