Označení jako AES-256-CFB1 nese dvě čísla a ta odpovídají na různé otázky. 256 je délka klíče AES. A 1 je zpětná vazba, tedy velikost segmentu, u CFB: vlastnost toho, jak režim posouvá svůj stav. Čte-li se 1 jako délka klíče, vypadá označení jako katastrofální chybná konfigurace, a proto se otázka pořád vrací.

Než označení posoudíte, rozhodněte, na kterou ze tří veličin se díváte: velikost klíče, velikost bloku, nebo velikost segmentu. Jen první je bezpečnostní parametr v obvyklém smyslu.

Tři čísla, tři veličiny

AES přijímá klíče o 128, 192 nebo 256 bitech a má blok o 128 bitech, ať zvolíte cokoli. Velikost bloku patří AES, ne režimu. Přípona CFB je třetí veličina: kolik dat režim spotřebuje a vrátí při každém kroku. Dokumentace OpenSSL k AES tyto velikosti posunu pro varianty CFB výslovně uvádí.

CFB1 vrací jeden bit najednou, CFB8 jeden bajt, CFB128 celý blok. Všechny tři uvnitř používají stejnou blokovou šifru o 128 bitech; mění se, kolik bitů každého vypočteného bloku se při operaci použije. Proto přípona mění cenu a chování ukládání do vyrovnávací paměti, nikoli sílu klíče.

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

Proč se velikost bloku nikdy nemění

AES je bloková šifra s pevným blokem o 128 bitech a režimy jsou konstrukce kolem ní. Žádný z nich blok nezmenšuje, aby odpovídal velikosti segmentu. Implementace CFB1 stále počítá celý blok AES a vezme jeden bit výsledku. Ostatní bity se pro tento krok zahodí, a právě tam je cena za efektivitu.

Jednobitová zpětná vazba tedy neznamená jednobitový klíč a označení nelze řadit podle přípony. CFB128 není čtyřikrát silnější než CFB32; zpracovává větší segmenty.

Co velikost segmentu skutečně mění

Velikost segmentu mění, kolik šifrovaného textu se při kroku vrátí a kolik otevřeného textu každý krok unese. Mění také šíření chyb a chování vyrovnávací paměti, což je důležité pro použití podobné proudu. Segmenty orientované na bajty se srovnávají s buffery, ty orientované na bity ne.

V praxi volí režim protokol, ne operátor. Datový kanál VPN používá konstrukci, kterou určuje jeho protokol, s vlastní ochranou integrity, a seznam v knihovně vám jen řekne, která jména existují.

Čtení neupřesněného označení CFB

Neupřesněné označení CFB potřebuje kontext své implementace. V hlavičkách OpenSSL 1.0.2 je EVP_aes_128_cfb makrem pro EVP_aes_128_cfb128, s odpovídajícími aliasy pro klíče o 192 a 256 bitech. To je konvence pojmenování API z jedné větve, nikoli tvrzení, že každá knihovna, formát souboru nebo GUI zkratku rozvádí stejně. Zkontrolujte hlavičku nebo dokumentaci verze, kterou máte před sebou.

Pokud starý profil říká CFB a protějšek to přijme, vyjednané parametry se někde zaznamenávají: v logu, výpisu konfigurace, odpovědi API. Čtěte je, místo abyste velikost segmentu odvozovali z textu na displeji.

Co vám jméno režimu neřekne

Označení popisuje chování šifrování a nic jiného. VPN stále potřebuje ochranu integrity, odvození klíčů a autentizaci protějšku a CFB neposkytuje žádné z toho. Ani výměna CFB8 za CFB1 není kosmetická: chování v síti se liší a obě strany musí podporovat stejnou konstrukci. A jméno v knihovně nedokazuje, že nasazená brána je pro její datový kanál přijímá.

U všeho udržovaného používejte úplné zabezpečení protokolu a politiku operátora a zaznamenejte verze knihovny a brány, přesnou volbu a vyjednaný výsledek. Staré označení vysvětluje, co čtete; neospravedlňuje oživení konfigurace.

Související články