VPN-profiil pakub Blowfishi 448-bitise võtmega ja keegi pakub välja kasutada pikimat võtit, et šiffer alles jääks. Võtme pikkus on tõeline, kuid see on vale arv, mida optimeerida. Blowfish teisendab 64-bitiseid plokke olenemata võtme pikkusest ja ploki laius on see, mis piirab, kui palju liiklust üks võti saab turvaliselt kaitsta. Käivitage allolevad kontrollid järjekorras ja peatuge esimesel, mis teenuse vabastab, sest hilisem samm ei saa varasemat parandada.

Kontrollige, mida pooled tegelikult läbi räägivad

Lugege andmekanali šiffer mõlemast otsast, mitte profiilist, mille kavatsesite juurutada. Kliendi konfiguratsioon võib loetleda mitut šifrit ja valitud on kahe rakenduse ning nende versioonide läbirääkimise tulemus. Suurendage logi detailsust testühendusel ja lugege andmekanali rida, mis nimetab tegelikult algatatud šifri ja võtme suuruse.

Kui läbiräägitud šiffer on AES-GCM või ChaCha20-Poly1305, peatuge siin. Need konstruktsioonid kasutavad 128-bitist plokki ja autentivad kasuliku koormuse, seega allolev 64-bitiste kokkupõrgete argument neile ei kehti.

Eraldage võtme pikkus ploki laiusest

Blowfish aktsepteerib võtmeid 32 kuni 448 bitti ja algoritmi autori dokumentatsioon loetleb mõlemad arvud eraldi. Võti on saladus; plokk on teisenduse ühik. Pikem saladus raskendab äraarvamist ega tee midagi šifri töödeldava ploki laiusega.

CBC-režiimis rakendatakse šifrit fikseeritud laiusega plokkidele, aheldatuna eelmise šifritekstiplokiga ja lõpus täidetuna. Blowfishi puhul on see laius 64 bitti ehk kaheksa baiti. Võtmeajakava võib olla nii suur kui soovite; ahel liigub siiski kaheksa baidi kaupa.

Seetõttu ei ole pikem võti leevendus. See adresseerib võtme vastast jõhkrat jõudu, samal ajal kui allolev kokkupõrkerisk on ploki laiuse ja režiimi omadus.

Rakendage sünnipäevaaritmeetikat ploki suurusele

64-bitisel plokil on sünnipäevaskaala umbes 2^32 plokki, mis on ühe võtmega krüpteeritud, enne kui kokkupõrked tõenäoliseks muutuvad. Iga plokk kannab kaheksa baiti, seega on sama skaala umbes 2^35 baiti ehk 32 GiB andmeid ühe võtme all.

Käsitlege seda skaalana, mitte kvoodina. Kokkupõrked on tõenäosuslikud ja see, kas mõni midagi lekitab, sõltub režiimist, liiklusmustrist ja sellest, kas ründaja suudab ümbritsevat avateksti ära tunda või mõjutada. Esimene bait pärast 32 GiB ei ole dekrüpteerimissündmus ja esimesed 32 GiB ei ole turvaliseks sertifitseeritud.

Sweet32 uurijad näitasid 2016. aastal praktilisi ründeid 64-bitiste plokkšifrite vastu, sealhulgas OpenVPN-i stsenaariumi, tingimustes, mis nõudsid vaatlust ja liikluse genereerimist. Nende avaldatud vaikeväärtused ja tarkvara versioonid on ajalooline kontekst, mitte teie juurutuse kirjeldus.

Otsustage, kas CBC korduskasutus on siin oluline

CBC puhul tähendab korduv šifritekstiplokk, et kaks avatekstiplokki erinevad teadaoleva suhte võrra, sest ahela XOR tühistab end. Ründaja, kes saab šifriteksti jälgida ning teab või saab mõjutada ühte avateksti, võib teise kohta teavet saada. Blowfishi võtit ei ole selleks kunagi vaja.

Olulised küsimused on seega, kui kaua võti kasutuses püsib, kui palju liiklust selle all liigub ja kas keegi saab seda liiklust jälgida ja juhtida. Võtmete uuendamine vähendab plokkide arvu võtme kohta, kuid ajavahemik ei ole baidipiirang: hõivatud tunnel võib sama tunni jooksul liigutada palju rohkem andmeid kui tühikäigul olev. Kui hoiate vanemat šifrit, tuletage piirang konstruktsioonist ja tegelikust mahust, mitte ümarast arvust.

Kui mõõdetud maht võtme kohta jääb sünnipäevaskaalast kaugele alla, on kokkupuude väiksem. See ei ole siiski null ja on endiselt põhjus migratsiooni planeerimiseks, mitte muretsemise lõpetamiseks.

Asendage šiffer, mitte võti

Viige teenus toetatud AEAD-šifrile ja kinnitage, et mõlemad pooled, nende versioonid ja nende krüptograafilised taustarakendused saavad selle läbi rääkida. Pikem Blowfishi võti ei muuda midagi olulist ja uue direktiivi äraarvamine ühel kliendil on viis, kuidas töötav tunnel katki läheb. Testige muudatust ühel kliendil ja ühel serveril enne, kui puudutate ülejäänud laevastikku. Hoidke vana profiil tagasipööramiseks saadaval, kuni uus šiffer on läbinud täieliku ühendustsükli.

Säilitage muudatuse ajal sertifikaatide kontroll ja kontode autentimine. Need vastavad erinevatele küsimustele: edukas sisselogimine ei saa plokki laiemaks muuta ja parem andmešiffer ei vabasta usaldamast valet serverit.

Lõpetage kontroll, lugedes läbiräägitud šifri uuesti uuel ühendusel ja kinnitades seejärel, et vana šifrit enam ei aktsepteerita. Kui pool pakub seda endiselt, ei ole migratsioon lõpetatud, mida iganes teise poole profiil ütleb.

Seotud artiklid