Tokiame pavadinime kaip AES-256-CFB1 yra du skaičiai, ir jie atsako į skirtingus klausimus. 256 yra AES rakto ilgis. 1 yra CFB grįžtamasis ryšys, arba segmento dydis, režimo savybė judinti savo būseną. Jei 1 perskaitytume kaip rakto ilgį, pavadinimas atrodytų kaip katastrofiška netinkama konfigūracija, todėl šis klausimas nuolat grįžta.

Prieš vertindami pavadinimą nuspręskite, kurią iš trijų verčių matote: rakto dydį, bloko dydį ar segmento dydį. Tik pirmoji yra saugumo parametras įprasta prasme.

Trys skaičiai, trys vertės

AES priima 128, 192 arba 256 bitų raktus ir turi 128 bitų bloką, kad ir ką pasirinktumėte. Bloko dydis priklauso AES, o ne režimui. CFB priesaga yra trečioji vertė: kiek duomenų režimas suvartoja ir grąžina per žingsnį. OpenSSL AES dokumentacija aiškiai išvardija tuos poslinkio dydžius CFB variantams.

CFB1 grąžina po vieną bitą, CFB8 vieną baitą, CFB128 visą bloką. Visi trys viduje naudoja tą patį 128 bitų blokinį šifrą; kinta tai, kiek kiekvieno apskaičiuoto bloko bitų naudojama vienai operacijai. Todėl priesaga keičia sąnaudas ir buferiavimo elgseną, o ne rakto stiprumą.

NameKeyAES blockFeedback
AES-256-CFB1256 bits128 bits1 bit
AES-256-CFB8256 bits128 bits8 bits
AES-256-CFB128256 bits128 bits128 bits

Kodėl bloko dydis niekada nesikeičia

AES yra blokinis šifras su fiksuotu 128 bitų bloku, o režimai yra konstrukcijos, pastatytos aplink jį. Nė viena jų nesumažina bloko, kad jis atitiktų segmento dydį. CFB1 implementacija vis tiek apskaičiuoja visą AES bloką ir paima vieną rezultato bitą. Kiti bitai tam žingsniui išmetami, ir būtent ten slypi efektyvumo sąnaudos.

Taigi vieno bito grįžtamasis ryšys nereiškia vieno bito rakto, o pavadinimo negalima reitinguoti pagal priesagą. CFB128 nėra keturis kartus stipresnis už CFB32; jis apdoroja didesnius segmentus.

Ką segmento dydis iš tikrųjų keičia

Segmento dydis keičia, kiek šifruoto teksto grąžinama per žingsnį ir kiek atviro teksto kiekvienas žingsnis gali pernešti. Jis taip pat keičia klaidų plitimą ir buferiavimo elgseną, o tai svarbu naudojant srautiniu būdu. Baitais orientuoti segmentai dera su buferiais, bitais orientuoti – ne.

Praktiškai režimą renkasi protokolas, o ne operatorius. VPN duomenų kanalas naudoja savo protokolo nurodytą konstrukciją su savo vientisumo apsauga, o bibliotekos sąrašas tik pasako, kokie pavadinimai egzistuoja.

Nekvalifikuotos CFB etiketės skaitymas

Nekvalifikuotai CFB etiketei reikia jos implementacijos konteksto. OpenSSL 1.0.2 antraštėse EVP_aes_128_cfb yra makrokomanda EVP_aes_128_cfb128, su atitinkamais slapyvardžiais 192 ir 256 bitų raktams. Tai vienos šakos API pavadinimų konvencija, o ne teiginys, kad kiekviena biblioteka, failo formatas ar GUI tą santrumpą išplečia taip pat. Tikrinkite priešais esančios versijos antraštę ar dokumentaciją.

Jei senas profilis nurodo CFB ir partneris jį priima, suderinti parametrai kažkur įrašomi: žurnale, konfigūracijos išraše, API atsakyme. Skaitykite juos, o ne spėkite segmento dydį iš rodymo eilutės.

Ko režimo pavadinimas nepasako

Pavadinimas aprašo šifravimo elgseną ir nieko daugiau. VPN vis dar reikia vientisumo apsaugos, rakto išvedimo ir partnerio autentifikavimo, o CFB nė vieno jų neteikia. Pakeisti CFB8 į CFB1 taip pat nėra kosmetinis pokytis: elgsena tinkle skiriasi ir abi pusės turi palaikyti tą pačią konstrukciją. Pavadinimas bibliotekoje taip pat neįrodo, kad įdiegtas šliuzas priima jį savo duomenų kanalui.

Viskam, kas prižiūrima, naudokite visą protokolo apsaugos schemą ir operatoriaus politiką, bei užrašykite bibliotekos ir šliuzo versijas, tikslią parinktį ir suderintą rezultatą. Senas pavadinimas paaiškina, ką skaitote; jis nepateisina konfigūracijos atgaivinimo.

Susiję straipsniai