Niyə daha uzun Blowfish açarı 64 bitlik bloku düzəldə bilmir
Blowfish açarları 448 bitə çata bilər, blok isə 64 bit olaraq qalır. Razılaşdırılmış şifrəni yoxlayın və daha uzun açar əvəzinə dəstəklənən əvəzləmə planlaşdırın.
Bir VPN profili 448 bitlik açarla Blowfish təklif edir və kimsə şifrəni saxlamaq üçün ən uzun açardan istifadə etməyi təklif edir. Açar uzunluğu realdır, lakin optimallaşdırılacaq yanlış rəqəmdir. Blowfish açarın uzunluğundan asılı olmayaraq 64 bitlik blokları çevirir və bir açarın nə qədər trafiki təhlükəsiz qoruya biləcəyini məhdudlaşdıran blok enidir. Aşağıdakı yoxlamaları sıra ilə yerinə yetirin və xidməti təmizləyən ilkində dayanın, çünki sonrakı addım əvvəlkini bərpa edə bilməz.
Tərəflərin həqiqətən nə razılaşdırdığını yoxlayın
Məlumat kanalının şifrəsini yerləşdirməyi planlaşdırdığınız profildən deyil, hər iki tərəfdən oxuyun. Müştəri konfiqurasiyası bir neçə şifrə sadalaya bilər və seçilmiş olan iki tətbiq və onların versiyaları arasındakı razılaşmanın nəticəsidir. Test bağlantısında jurnal ətraflılığını artırın və faktiki olaraq işə salınmış şifrəni və açar ölçüsünü göstərən məlumat kanalı sətrini oxuyun.
Razılaşdırılmış şifrə AES-GCM və ya ChaCha20-Poly1305-dirsə, burada dayanın. Bu konstruksiyalar 128 bitlik blokdan istifadə edir və faydalı yükü doğrulaşdırır, buna görə aşağıdakı 64 bitlik toqquşma arqumenti onlara aid deyil.
Açar uzunluğunu blok enindən ayırın
Blowfish 32 ilə 448 bit arasında açarları qəbul edir və alqoritm müəllifinin sənədləri hər iki rəqəmi ayrıca qeyd edir. Açar sirdir; blok çevrilmə vahididir. Sirri uzatmaq təxmin etməyi çətinləşdirir və şifrənin emal etdiyi blokun eninə heç nə etmir.
CBC rejimində şifrə sabit enli bloklara tətbiq olunur, əvvəlki şifrəli mətn bloku ilə zəncirlənir və sonunda doldurulur. Blowfish üçün bu en 64 bit, yəni səkkiz baytdır. Açar cədvəli istədiyiniz qədər böyük ola bilər; zəncir yenə də hər dəfə səkkiz bayt irəliləyir.
Buna görə daha uzun açar yumşaltma deyil. O, açara qarşı kobud gücə yönəlir, aşağıdakı toqquşma riski isə blok eninin və rejimin xassəsidir.
Ad günü arifmetikasını blok ölçüsünə tətbiq edin
64 bitlik blokun ad günü şkalası, toqquşmalar ehtimallı olmadan əvvəl bir açar altında şifrələnən təxminən 2^32 blokdur. Hər blok səkkiz bayt daşıyır, buna görə eyni şkala təxminən 2^35 bayt, yəni bir açar altında 32 GiB məlumatdır.
Bunu kvota deyil, şkala kimi qəbul edin. Toqquşmalar ehtimallıdır və birinin nəyisə sızdırıb-sızdırmaması rejimdən, trafik nümunəsindən və hücumçunun ətrafdakı açıq mətni tanıya və ya təsir edə bilməsindən asılıdır. 32 GiB-dən sonrakı ilk bayt deşifrə hadisəsi deyil və ilk 32 GiB təhlükəsiz kimi sertifikatlaşdırılmayıb.
Sweet32 tədqiqatçıları 2016-cı ildə 64 bitlik blok şifrələrinə qarşı, o cümlədən OpenVPN ssenarisinə qarşı, müşahidə və trafik yaratma tələb edən şəraitdə praktik hücumlar nümayiş etdirdilər. Onların dərc etdiyi standart dəyərlər və proqram versiyaları tarixi kontekstdir, yerləşdirmənizin təsviri deyil.
CBC-nin təkrar istifadəsinin burada əhəmiyyətli olub-olmadığını qərar verin
CBC-də təkrarlanan şifrəli mətn bloku, iki açıq mətn blokunun məlum bir əlaqə ilə fərqləndiyini bildirir, çünki zəncir XOR-u özünü ləğv edir. Şifrəli mətni müşahidə edə bilən və açıq mətnlərdən birini bilən və ya təsir edə bilən hücumçu digəri haqqında məlumat əldə edə bilər. Blowfish açarı bunun üçün heç vaxt lazım deyil.
Beləliklə, əlaqəli suallar bir açarın nə qədər xidmətdə qaldığı, onun altından nə qədər trafik keçdiyi və kiminsə bu trafiki müşahidə edib idarə edə bilməsidir. Açar yenilənməsi açar başına blok sayını azaldır, lakin zaman intervalı bayt həddi deyil: məşğul tunel eyni saatda boş tuneldən qat-qat çox məlumat daşıya bilər. Köhnə şifrə saxlayırsınızsa, həddi konstruksiyadan və faktiki həcmdən çıxarın, dairəvi rəqəmdən deyil.
Açar başına ölçülən həcm ad günü şkalasından xeyli aşağı qalırsa, məruz qalma daha kiçikdir. Yenə də sıfır deyil və hələ də narahatlığı dayandırmaq əvəzinə miqrasiya planlaşdırmaq üçün səbəbdir.
Açarı deyil, şifrəni dəyişdirin
Xidməti dəstəklənən AEAD şifrəsinə köçürün və hər iki tərəfin, onların versiyalarının və kriptoqrafik arxa planlarının bunu razılaşdıra bildiyini təsdiqləyin. Daha uzun Blowfish açarı əhəmiyyətli heç nəyi dəyişmir və bir müştəridə yeni direktivi təxmin etmək işlək tunelin pozulmuş tunelə çevrilmə üsuludur. Dəyişikliyi donanmanın qalan hissəsinə toxunmadan əvvəl bir müştəridə və bir serverdə sınaqdan keçirin. Yeni şifrə tam bağlantı dövrünü keçənə qədər köhnə profili geri qaytarma üçün mövcud saxlayın.
Dəyişiklik zamanı sertifikat yoxlamasını və hesab autentifikasiyasını qoruyun. Onlar fərqli suallara cavab verirlər: uğurlu giriş bloku genişləndirə bilməz və daha yaxşı məlumat şifrəsi yanlış serverə güvənməyə bəraət qazandırmır.
Yoxlamanı yeni bağlantıda razılaşdırılmış şifrəni yenidən oxuyub köhnə şifrənin artıq qəbul edilmədiyini təsdiqləməklə bağlayın. Bir tərəf hələ də onu təklif edirsə, digər tərəfdəki profil nə deyirsə-desin, miqrasiya bitməyib.