CFB1, CFB8 e CFB128: è la dimensione del feedback, non della chiave
Il numero dopo CFB è un passo di feedback, non una lunghezza di chiave: CFB1, CFB8 e CFB128 usano un blocco di 128 bit. Leggi i nomi storici senza inventare chiavi deboli.
Un nome come AES-256-CFB1 porta due numeri, e rispondono a domande diverse. Il 256 è la lunghezza della chiave AES. L'1 è il feedback, cioè la dimensione del segmento, di CFB: una proprietà di come il modo fa avanzare il suo stato. Se l'1 si legge come lunghezza di chiave, il nome sembra una configurazione catastrofica, ed è per questo che la domanda torna sempre.
Decidi quale delle tre quantità stai guardando prima di giudicare il nome: dimensione della chiave, del blocco o del segmento. Solo la prima è un parametro di sicurezza nel senso consueto.
Tre numeri, tre quantità
AES accetta chiavi da 128, 192 o 256 bit e ha un blocco da 128 bit qualunque sia la scelta. La dimensione del blocco appartiene ad AES, non al modo. Il suffisso CFB è la terza quantità: quanti dati il modo consuma e restituisce a ogni passo. La documentazione OpenSSL su AES elenca esplicitamente queste dimensioni di scorrimento per le varianti CFB.
CFB1 restituisce un bit alla volta, CFB8 un byte, CFB128 un blocco intero. Tutti e tre usano internamente lo stesso cifrario a blocchi da 128 bit; ciò che cambia è quanti bit di ogni blocco calcolato sono usati per operazione. Per questo il suffisso sposta costo e comportamento del buffer, non la forza della chiave.
| 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 |
Perché la dimensione del blocco non cambia mai
AES è un cifrario a blocchi con blocco fisso da 128 bit, e i modi sono costruzioni attorno a esso. Nessuno di essi riduce il blocco per adattarlo alla dimensione del segmento. Un'implementazione di CFB1 calcola comunque un blocco AES completo e prende un bit del risultato. Gli altri bit vengono scartati per quel passo, ed è esattamente lì che sta il costo di efficienza.
Quindi un feedback di un bit non implica una chiave di un bit, e un nome non si può ordinare in base al suffisso. CFB128 non è quattro volte più forte di CFB32; elabora segmenti più grandi.
Che cosa cambia davvero la dimensione del segmento
La dimensione del segmento cambia quanta parte di testo cifrato viene restituita a ogni passo e quanto testo in chiaro ogni passo può trasportare. Cambia anche la propagazione degli errori e il comportamento del buffer, cosa che conta per un uso simile a un flusso. I segmenti orientati ai byte si allineano ai buffer, quelli orientati ai bit no.
In pratica il modo lo sceglie il protocollo, non l'operatore. Un canale dati VPN usa la costruzione specificata dal suo protocollo, con la propria protezione dell'integrità, e un elenco di libreria dice solo quali nomi esistono.
Leggere un'etichetta CFB non qualificata
Un'etichetta CFB non qualificata ha bisogno del contesto della sua implementazione. Negli header di OpenSSL 1.0.2, EVP_aes_128_cfb è una macro per EVP_aes_128_cfb128, con alias corrispondenti per le chiavi da 192 e 256 bit. È una convenzione di denominazione delle API di un ramo, non l'affermazione che ogni libreria, formato di file o GUI espanda l'abbreviazione allo stesso modo. Controlla l'header o la documentazione della versione che hai davanti.
Se un profilo storico dice CFB e il peer lo accetta, i parametri negoziati sono registrati da qualche parte: un log, un dump di configurazione, una risposta API. Leggili invece di dedurre la dimensione del segmento da una stringa di visualizzazione.
Cosa non ti dice il nome di un modo
Il nome descrive il comportamento della cifratura e nient'altro. Una VPN ha ancora bisogno di protezione dell'integrità, derivazione delle chiavi e autenticazione del peer, e CFB non ne fornisce nessuna. Sostituire CFB8 con CFB1 non è nemmeno un cambiamento estetico: il comportamento sulla rete è diverso e entrambi gli estremi devono supportare la stessa costruzione. Né un nome in una libreria dimostra che il gateway distribuito lo accetti per il suo canale dati.
Per qualunque cosa sia mantenuta, usa la disposizione di protezione completa del protocollo e la politica dell'operatore, e registra le versioni di libreria e gateway, l'opzione esatta e il risultato negoziato. Il nome vecchio spiega cosa stai leggendo; non giustifica la rinascita della configurazione.