Uno scanner o un collega indica il numero di bit stampato dentro un file di chiave statica OpenVPN e chiede perché il tunnel non usi una cifratura di quella dimensione. La domanda sembra ragionevole, e la risposta non è un numero: il banner conta il materiale di chiave memorizzato, mentre una cifratura consuma solo la parte che la dimensione della sua chiave richiede. Trattare quel totale come un'impostazione di forza porta a modifiche che non cambiano nulla. Il formato è stato costruito per contenere più materiale di quanto ne usi un singolo algoritmo.

Qui si mescolano due domande: quanto materiale di chiave memorizza il file e quanto è forte la cifratura negoziata. Solo la seconda descrive il tunnel.

Che cosa conta davvero il numero nel banner

Il contenitore serializza il materiale di cifratura e il materiale HMAC come strutture separate, e la forma bidirezionale contiene due insiemi di questo tipo affinché ogni direzione porti le proprie chiavi. Il codice di scrittura ricava il numero stampato dal numero di strutture serializzate, dalla loro dimensione e da otto bit per byte. È aritmetica sullo spazio di archiviazione, non l'affermazione che una cifratura consumi ogni byte memorizzato. L'intestazione fissa anche un'allocazione massima di materiale di cifratura, così un cambio di libreria non può ridimensionare il formato in silenzio.

Confrontalo con una chiave di certificato, dove il numero di bit descrive davvero la dimensione di un oggetto. Una chiave RSA da 4,096 bit e un file di chiave il cui banner riporta 4,096 bit sono artefatti diversi con compiti diversi, e allinearli come due impostazioni di un solo comando produce conclusioni sbagliate.

Due insiemi di chiavi in un solo file

Ogni metà del file fornisce materiale di cifratura e di autenticazione perché la modalità a chiave precondivisa protegge i pacchetti in entrambe le direzioni con quei pezzi separati. La cifratura attiva usa solo i byte richiesti dalla dimensione della sua chiave, e il digest usa la propria dimensione di uscita, per questo la forza utilizzabile viene dalle opzioni e non dalla lunghezza del file. Allungare il blocco esadecimale non chiede all'algoritmo configurato di consumarne di più. Modificare il commento con un numero più grande cambia ancora meno.

Se davvero vuoi una chiave più lunga, l'impostazione da cambiare è la cifratura o il digest, e il generatore produce ciò che servono gli algoritmi scelti.

Leggere il profilo ti dice quale modalità hai

Lo stesso formato di file serve due compiti molto diversi, e solo il profilo dice quale hai. Una vecchia riga secret rende il file l'unico materiale di chiave del tunnel, mentre tls-auth o tls-crypt lo rende protezione del canale di controllo accanto ai certificati. Nessuno dei due usi lo trasforma nella chiave privata del certificato di un client, per quanto simile appaia il blocco. Identifica l'opzione e la versione prima di generare un sostituto, e usa il generatore documentato invece di aggiungere caratteri.

Questa distinzione decide anche la risposta a un'esposizione. Una chiave tls-auth che trapela non espone le chiavi di sessione, ma consente a un attaccante di iniettare traffico del canale di controllo, quindi va comunque sostituita. Una chiave secret trapelata è peggio, perché era il materiale che proteggeva i dati stessi.

Che cosa deve registrare una revisione di sicurezza

Registra tre cose separatamente: la protezione negoziata del canale dati, la protezione del canale di controllo e come si autenticano i peer. Una riga come data-ciphers AES-256-GCM descrive solo la prima, e un rapporto che si ferma lì non può rispondere se il canale di controllo sia protetto. Il file di chiave statica appartiene alla seconda categoria quando è usato con tls-auth o tls-crypt, e a nessuna quando non è usato. I revisori che confondono le categorie chiedono un file di chiave più grande quando ciò che vogliono è una cifratura più forte.

Se il file è stato esposto, ruotalo e ridistribuiscilo attraverso il canale approvato. Aggiungere caratteri a un segreto compromesso non è rotazione, e lascia valido il materiale esposto.

Conserva il registro di rotazione con il profilo a cui appartiene. La prossima revisione chiederà quale chiave ha protetto quale periodo, e il banner non risponderà a questo.

Articoli correlati