Perché un numero di chiave più grande non rende una VPN più sicura
La dimensione della chiave significa qualcosa all'interno di un algoritmo e di un ruolo. La verifica del peer, la scelta della suite, le patch e i registri dell'operatore sono domande a cui non risponde.
La pubblicità dice 256 bit, l'altro prodotto dice 128 bit, e la conclusione sembra ovvia finché non si nota che i numeri descrivono cose diverse. Una chiave di cifratura simmetrica, una chiave pubblica di certificato e un parametro di scambio chiavi non si misurano su un'unica scala. Nessuna di esse copre se il client abbia verificato il server, o no. Il numero è un'informazione reale, ed è molto più stretta di quanto lasci intendere il marketing che lo circonda.
Chiedete quale chiave viene contata e cosa protegge prima di confrontare qualsiasi cosa.
Tre chiavi, tre compiti
La cifratura dei dati cifra il carico del tunnel, e la sua chiave viene derivata di nuovo per la sessione. La chiave pubblica del certificato dimostra l'identità di un endpoint durante l'autenticazione. La fase di scambio chiavi, di solito una variante effimera di Diffie-Hellman, stabilisce un segreto condiviso che nessuna delle due parti può ricostruire in seguito. Ognuna ha le proprie ipotesi di robustezza e le proprie convenzioni di dimensione.
Per questo un 256 accanto a un 2048 accanto a un 32 non si possono ordinare per grandezza; sono risposte a domande diverse.
Anche all'interno di un solo ruolo, il numero dice qualcosa solo rispetto alla famiglia di algoritmi in uso.
Dove il numero aiuta e dove si ferma
All'interno di un algoritmo, una chiave più grande aumenta il costo di una ricerca a forza bruta, e le linee guida pubblicate fissano minimi per le chiavi dei certificati al variare della potenza di calcolo. È un confronto legittimo e ristretto: AES-128 e AES-256 resistono entrambi a un attacco diretto con ampio margine, quindi la differenza raramente è il fattore decisivo in pratica.
Al di fuori di quel confronto, il numero non predice nulla su errori di configurazione, validazione dei certificati o versione del protocollo.
Leggete l'intera suite negoziata
Ciò che una connessione usa davvero è una suite: un modo di cifratura, una costruzione di integrità o di cifratura autenticata, un gruppo di scambio chiavi e un metodo di autenticazione. Un modo AEAD moderno con una stretta di mano corretta è una proposta diversa da un modo più vecchio abbinato a un MAC separato, anche quando la dimensione della chiave dichiarata è identica.
openvpn --show-ciphers | head -20 openvpn --show-tls | head -20 openssl x509 -in server.crt -noout -text | grep -E 'Public-Key|Signature Algorithm' wg show
Leggete il risultato negoziato e non il massimo configurato. Un client che offre una suite forte si connette comunque debolmente se il server sceglie l'opzione più debole e il profilo lo consente. Se la preoccupazione è la prestazione, misuratela sul dispositivo e sul percorso in questione, perché la dimensione della chiave predice male la velocità effettiva appena entrano in gioco l'accelerazione hardware e la dimensione dei pacchetti.
Le parti che nessun numero misura
La manutenzione del software è la prima omissione. Un tunnel costruito su una libreria che ha smesso di ricevere correzioni è più debole di quanto la sua dimensione di chiave suggerisca, e nessun valore di configurazione lo ripara. Il comportamento dell'operatore è la seconda: i registri delle connessioni, i dati dell'account e la gestione del supporto stanno del tutto fuori dalla crittografia. Un servizio che conserva più del previsto non diventa più sicuro con una chiave più lunga.
La verifica del peer è la terza e la più rilevante. Un client che accetta qualsiasi certificato ha una cifratura forte avvolta attorno a un peer non autenticato, il che è peggio di una cifratura modesta con una validazione corretta. Controllate questi tre punti prima del numero, e il numero riprenderà il suo giusto posto.