Име като AES-256-CFB1 носи две числа и те отговарят на различни въпроси. 256 е дължината на ключа на AES. А 1 е обратната връзка, или размерът на сегмента, при CFB — свойство на това как режимът придвижва състоянието си. Ако 1 се чете като дължина на ключ, името изглежда като катастрофална грешна конфигурация и точно затова въпросът се връща отново и отново.

Решете коя от три величини гледате, преди да съдите името: размер на ключа, размер на блока или размер на сегмента. Само първата е параметър за сигурност в обичайния смисъл.

Три числа, три величини

AES приема ключове от 128, 192 или 256 бита и има блок от 128 бита, който и да изберете. Размерът на блока принадлежи на AES, не на режима. Наставката CFB е третата величина: колко данни режимът изразходва и връща на всяка стъпка. Документацията на OpenSSL за AES изброява тези размери на отместване изрично за вариантите на CFB.

CFB1 връща по един бит наведнъж, CFB8 — един байт, CFB128 — цял блок. И трите използват вътрешно един и същ блоков шифър от 128 бита; променя се колко бита от всеки изчислен блок се използват на операция. Затова наставката променя цената и поведението на буфериране, а не силата на ключа.

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

Защо размерът на блока никога не се променя

AES е блоков шифър с фиксиран блок от 128 бита, а режимите са конструкции около него. Никой от тях не свива блока, за да съответства на размера на сегмента. Реализацията на CFB1 все още изчислява цял блок на AES и взема един бит от резултата. Останалите битове се изхвърлят за тази стъпка и точно там живее цената за ефективност.

Следователно обратна връзка от един бит не означава ключ от един бит и едно име не може да се подрежда по наставката си. CFB128 не е четири пъти по-силна от CFB32; тя обработва по-големи сегменти.

Какво всъщност променя размерът на сегмента

Размерът на сегмента променя колко шифрован текст се връща на стъпка и колко открит текст може да носи всяка стъпка. Променя също разпространението на грешки и поведението на буфериране, което е важно при потоковидно използване. Сегментите, ориентирани към байтове, се подреждат с буферите, а ориентираните към битове — не.

На практика режимът се избира от протокола, а не от оператора. Каналът за данни на VPN използва конструкцията, която протоколът му определя, със своя защита на целостта, а списъкът в библиотека само ви казва кои имена съществуват.

Четене на неуточнен етикет CFB

Неуточнено име на CFB се нуждае от контекста на реализацията си. В заглавните файлове на OpenSSL 1.0.2 EVP_aes_128_cfb е макрос за EVP_aes_128_cfb128, с подходящи псевдоними за ключове от 192 и 256 бита. Това е конвенция за именуване в API от един клон, а не твърдение, че всяка библиотека, файлов формат или GUI разгръща съкращението по същия начин. Проверете заглавката или документацията за версията пред вас.

Ако стар профил казва CFB и партньорът го приема, договорените параметри се записват някъде: в журнал, дъмп на конфигурацията, отговор на API. Четете тях, вместо да извеждате размера на сегмента от текст на дисплея.

Какво не ви казва името на режима

Името описва поведението на криптиране и нищо друго. VPN все още се нуждае от защита на целостта, извеждане на ключове и удостоверяване на партньора, а CFB не дава нито едно от тях. Замяната на CFB8 с CFB1 също не е козметична промяна: поведението в мрежата се различава и двете страни трябва да поддържат една и съща конструкция. Име в библиотека също не доказва, че внедреният шлюз го приема за своя канал за данни.

За всичко, което се поддържа, използвайте пълната схема за защита на протокола и политиката на оператора и записвайте версиите на библиотеката и шлюза, точната опция и договорения резултат. Старото име обяснява какво четете; то не оправдава съживяването на конфигурацията.

Подобни статии