CFB1 naspram CFB8 naspram CFB128: to je veličina povratne veze, ne veličina ključa
Broj iza CFB je korak povratne veze, a ne dužina ključa: CFB1, CFB8 i CFB128 koriste blok od 128 bita. Čitajte stara imena bez izmišljanja slabih ključeva.
Ime poput AES-256-CFB1 nosi dva broja, a oni odgovaraju na različita pitanja. 256 je dužina AES ključa. A 1 je povratna veza, odnosno veličina segmenta, kod CFB: svojstvo toga kako režim pomjera svoje stanje. Ako se 1 čita kao dužina ključa, ime izgleda kao katastrofalna pogrešna konfiguracija, i zato se pitanje stalno vraća.
Odredite u koju od tri veličine gledate prije nego procijenite ime: veličinu ključa, veličinu bloka ili veličinu segmenta. Samo je prva sigurnosni parametar u uobičajenom smislu.
Tri broja, tri veličine
AES prihvata ključeve od 128, 192 ili 256 bita i ima blok od 128 bita bez obzira na izbor. Veličina bloka pripada AES-u, a ne režimu. Sufiks CFB je treća veličina: koliko podataka režim troši i vraća po koraku. OpenSSL dokumentacija za AES izričito navodi te veličine pomaka za varijante CFB.
CFB1 vraća jedan bit odjednom, CFB8 jedan bajt, CFB128 cijeli blok. Sva tri iznutra koriste istu blok šifru od 128 bita; mijenja se koliko se bitova svakog izračunatog bloka koristi po operaciji. Zato sufiks mijenja cijenu i ponašanje pri baferiranju, a ne snagu ključa.
| Name | Key | AES block | Feedback |
|---|---|---|---|
| AES-256-CFB1 | 256 bits | 128 bits | 1 bit |
| AES-256-CFB8 | 256 bits | 128 bits | 8 bits |
| AES-256-CFB128 | 256 bits | 128 bits | 128 bits |
Zašto se veličina bloka nikad ne mijenja
AES je blok šifra s fiksnim blokom od 128 bita, a režimi su konstrukcije oko nje. Nijedan od njih ne smanjuje blok da bi odgovarao veličini segmenta. Implementacija CFB1 i dalje izračunava cijeli AES blok i uzima jedan bit rezultata. Ostali bitovi se odbacuju za taj korak, i tu tačno leži cijena efikasnosti.
Dakle, povratna veza od jednog bita ne podrazumijeva ključ od jednog bita, i ime se ne može rangirati po sufiksu. CFB128 nije četiri puta jača od CFB32; ona obrađuje veće segmente.
Šta veličina segmenta zapravo mijenja
Veličina segmenta mijenja koliko se šifrovanog teksta vraća po koraku i koliko otvorenog teksta svaki korak može nositi. Mijenja i širenje grešaka i ponašanje pri baferiranju, što je važno za upotrebu nalik toku. Segmenti orijentisani na bajtove poravnavaju se s baferima, a oni orijentisani na bitove ne.
U praksi režim bira protokol, a ne operator. VPN podatkovni kanal koristi konstrukciju koju propisuje njegov protokol, s vlastitom zaštitom integriteta, a popis u biblioteci samo vam kaže koja imena postoje.
Čitanje nekvalifikovane oznake CFB
Nekvalifikovana oznaka CFB zahtijeva kontekst implementacije. U zaglavljima OpenSSL 1.0.2, EVP_aes_128_cfb je makro za EVP_aes_128_cfb128, s odgovarajućim aliasima za ključeve od 192 i 256 bita. To je konvencija imenovanja API-ja iz jedne grane, a ne tvrdnja da svaka biblioteka, format datoteke ili GUI skraćenicu širi na isti način. Provjerite zaglavlje ili dokumentaciju za verziju koja je pred vama.
Ako stari profil kaže CFB i partner to prihvati, pregovoreni parametri se negdje bilježe: u dnevniku, ispisu konfiguracije, odgovoru API-ja. Čitajte njih umjesto da veličinu segmenta zaključujete iz prikaza na ekranu.
Šta vam ime režima ne kaže
Ime opisuje ponašanje šifrovanja i ništa drugo. VPN-u i dalje trebaju zaštita integriteta, izvođenje ključeva i autentifikacija partnera, a CFB ne daje nijedno od toga. Zamjena CFB8 s CFB1 također nije kozmetička: ponašanje na mreži se razlikuje i obje strane moraju podržavati istu konstrukciju. Niti ime u biblioteci dokazuje da implementirani gateway to prihvata za svoj podatkovni kanal.
Za sve što se održava, koristite potpunu zaštitnu postavku protokola i politiku operatora, te zabilježite verzije biblioteke i gatewaya, tačnu opciju i pregovoreni rezultat. Staro ime objašnjava šta čitate; ono ne opravdava oživljavanje konfiguracije.