Cos’è Perfect Forward Secrecy? Una guida per il 2020

La sicurezza informatica è un campo in continua evoluzione, con nuove minacce, scappatoie e exploit continuamente scoperti e affrontati. 


Questa battaglia in corso contro i criminali informatici rappresenta una sfida eccezionale per gli esperti di sicurezza, poiché l’exploit di domani può compromettere il traffico odierno, un problema che il “perfetto segreto in avanti” è stato inventato per prevenire. Allora, qual è il segreto perfetto in avanti? Continua a leggere questo articolo per scoprirlo.

Cos’è Perfect Forward Secrecy (PFS)?

Quindi, cos’è PFS? In breve, l’acronimo PFS sta per “perfetto segreto in avanti”, che è una funzionalità di sicurezza relativamente recente per i siti Web. Ha lo scopo di impedire che exploit futuri e violazioni della sicurezza compromettano la comunicazione, le informazioni o i dati attuali o passati isolando la crittografia di ogni transazione.

Tradizionalmente, i dati crittografati sarebbero protetti da un’unica chiave di crittografia privata detenuta dal server, che potrebbe utilizzare per decrittografare tutte le comunicazioni storiche con il server utilizzando una chiave pubblica. Ciò rappresenta un potenziale rischio per la sicurezza, poiché un utente malintenzionato può trascorrere settimane, mesi o anni ascoltando traffico crittografato, archiviando i dati e aspettando il loro tempo.

Wireshark

Con tutti questi dati a portata di mano, tutto ciò che l’aggressore deve fare è attendere qualsiasi potenziale exploit di sicurezza futuro che consentirebbe loro di mettere le mani sulla chiave privata del server, che può quindi essere utilizzata per decrittografare tutti i dati su cui sono stati raccolti tempo.

La perfetta segretezza diretta risolve il problema

La perfetta segretezza diretta risolve questo problema rimuovendo la dipendenza da una chiave privata di un singolo server. Anziché utilizzare la stessa chiave di crittografia per ogni singola transazione, viene generata una nuova chiave di sessione unica ogni volta che si verifica una nuova transazione di dati. 

In effetti, ciò significa che anche se un utente malintenzionato riesce a mettere le mani su una chiave di sessione, sarà utile solo per decrittografare la transazione più recente, piuttosto che tutti i dati che potrebbero aver raccolto in passato.

Invece dello scambio di chiavi RSA standard, queste chiavi di sessione vengono generate utilizzando la crittografia Diffie-Hellman o, meglio ancora, la crittografia Diffie-Hellman con curva ellittica. Le chiavi di crittografia sono effimere, il che significa che non sono archiviate da nessuna parte e non possono essere riutilizzate per una transazione successiva.

Diffie-Hellman

Allo stesso modo, la chiave privata del server sarà completamente inutile per l’utente malintenzionato perché non può essere utilizzata per decrittografare il traffico tra il server e i client.

Sebbene questo metodo di attacco possa richiedere più pazienza e risorse di quante un singolo criminale informatico abbia accesso, lo stesso non si può dire per le organizzazioni di intelligence. 

Entità come la National Security Agency hanno facilmente la capacità di ascoltare su molte connessioni crittografate, arrivando persino a toccare i giganteschi cavi sottomarini che collegano i server attraverso i continenti.

Questa enorme capacità di raccolta di dati, unita alla pazienza istituzionale di un’organizzazione come la NSA, significa che hanno pochi problemi a raccogliere e archiviare grandi quantità di dati crittografati.

Nel caso in cui qualche exploit o scappatoia futura si presenti, consentendo loro di mettere le mani sulla chiave privata richiesta, possono quindi utilizzare questa chiave di crittografia per decrittografare potenzialmente milioni o miliardi di transazioni di dati in un solo colpo.

Per una spiegazione più approfondita della crittografia, in generale, assicurati di leggere la nostra descrizione della crittografia.

In che modo PFS protegge il tuo sito Web

Il modo più ovvio in cui il perfetto segreto in avanti protegge il tuo sito Web è fornendo a te e ai tuoi utenti ulteriore sicurezza in caso di violazione dei dati. Nel peggiore dei casi, un utente malintenzionato sarà in grado di decifrare una singola transazione di dati e, sebbene ciò possa ancora presentare un rischio, il danno è notevolmente contenuto.

Inoltre, i server che utilizzano un perfetto segreto in avanti presentano obiettivi meno allettanti per gli aggressori. Anche se ci sono ancora informazioni memorizzate sul server che sono protette dalla chiave privata originale, questo è tutto ciò che l’attaccante sarà in grado di mettere le mani su, limitando significativamente il payoff dell’attacco.

Naturalmente, questa non è una garanzia contro un attacco, ma ne rende uno meno probabile, poiché gli attaccanti potrebbero optare per obiettivi più gratificanti.

Google è stata una delle prime principali aziende produttrici di software a implementare un perfetto segreto diretto sui propri server. Per questo motivo, è molto probabile che, ad un certo punto in futuro, Google utilizzerà la sua posizione come motore di ricerca dominante per incoraggiare l’adozione del PFS premiando i siti che lo impiegano classificandoli più in alto nei risultati di ricerca, così come lo è stato il caso con HTTP vs. HTTPS.

Perfetta segretezza in avanti e Heartbleed

Forse non esiste un esempio migliore del perché il segreto in avanti perfetto sia essenziale del famigerato exploit Heartbleed. Per capire perché, è importante sapere innanzitutto cos’è Heartbleed e perché è stato così dannoso.

Heartbleed sfrutta un bug introdotto nel 2012 a OpenSSL, una delle implementazioni più popolari del protocollo TLS (livello di trasporto), ma questo non è stato scoperto fino a due anni dopo nel 2014. 

Comprensione SSL / TLS

Non è necessario sapere esattamente come funziona TLS, ma in breve, è un protocollo di sicurezza che crittografa il traffico tra un client e un server utilizzando una chiave di crittografia privata, con HTTPS l’esempio con cui probabilmente hai più familiarità. 

Pur rispondendo alla domanda “come funziona TLS?” non rientra nell’ambito di questo articolo, puoi leggere il nostro articolo su SSL vs. TLS per saperne di più.

TLS-Handshake

Il bug sfrutta l’estensione Heartbeat per TLS, progettata per testare la comunicazione TLS inviando un payload (in genere un po ‘di testo) e un numero che specifica la dimensione del payload. Il server risponde quindi inviando il payload al mittente originale.

Il problema era che il server non controllava effettivamente il contenuto del payload, ma solo il numero che ne specificava le dimensioni. Utilizzerebbe questo numero per recuperare una certa quantità di dati dal buffer di memoria, che doveva essere solo il payload originale inviato al server.

heartbleed

Tuttavia, poiché il payload stesso non è stato verificato, ciò ha aperto la possibilità di inviare un payload più piccolo di quanto specificato nel numero che rappresenta la sua dimensione. Ciò ha comportato la restituzione del server non solo del payload originale, ma anche di informazioni aggiuntive memorizzate nel buffer di memoria per raggiungere la dimensione del messaggio richiesta.

Heartbleed in Action

Ad esempio, il messaggio Heartbeat dannoso potrebbe richiedere al server di restituire la parola “test” ma specificare che la lunghezza deve essere di 500 caratteri. Ciò indurrebbe il server a restituire la parola richiesta “test” ma anche 496 caratteri aggiuntivi dalla memoria.

Anche se l’attaccante non avrebbe modo di determinare esattamente quali informazioni avrebbero recuperato, ci sono buone probabilità che questi caratteri aggiuntivi contengano informazioni sensibili, come la chiave privata del server.

Quindi, una volta che Heartbleed è arrivato sulla scena, qualsiasi criminale informatico che aveva trascorso un certo periodo di tempo ad ascoltare in un traffico crittografato improvvisamente ha avuto una via di attacco perfetta per acquisire la chiave privata di qualsiasi server esposto al bug. 

Usando queste chiavi di crittografia, potevano quindi decrittografare tutti i dati che avevano precedentemente raccolto, risultando in un’enorme quantità di informazioni compromesse.

Come abilitare Perfect Forward Secrecy sul tuo server

Abilitare la perfetta funzionalità di segretezza diretta sul tuo server è in realtà un processo molto semplice che non richiede un notevole sforzo da parte dell’amministratore di sistema. 

Il processo ovviamente varia a seconda dell’architettura del server che stai utilizzando, quindi ti spiegheremo come farlo con Apache e Nginx, due architetture popolari.

In generale, è necessario configurare il server in modo da dare priorità alle suite di crittografia DHE ed ECDHE, ma è comunque necessario conservare il supporto RSA come backup. Questo perché i sistemi e i browser meno recenti potrebbero non supportare PFS, il che significa che non saranno in grado di caricare il tuo sito a meno che non ti assicuri che altre suite di crittografia siano ancora disponibili.

Cipher-Suites

Per istruzioni più specifiche, abbiamo compilato una guida dettagliata su come abilitare la perfetta segretezza diretta sui server Apache e Nginx.

Come configurare PFS su Apache

  1. Individua la configurazione SSL con il comando: “grep -I -r” SSLEngine “/ etc / apache”
  2. Applicare l’ordine di cifratura digitando: “SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on”
  3. Impostare l’ordine di cifratura in questo modo: “ssl_ciphers” EECDH + AESGCM: EDH + AESGCM: AES256 + EECDH: AES256 + EDH “;”
  4. Infine, riavvia Apache con il comando: “apachectl -k restart”

Come configurare PFS su Nginx

  1. Individua la tua configurazione SSL digitando: “grep -r ssl_protocol directory base nginx” (sostituisci “directory base nginx” con il percorso appropriato)
  2. Modificare la configurazione inserendo: “ssl_protocols TLSv1.2 TLSv1.1 TLSv1; ssl_prefer_server_ciphers on; ”
  3. Imposta l’ordine di cifratura digitando il comando: “ssl_ciphers” EECDH + AESGSM: EDH + AESGCM: AES256 + EECDH: AES256 + EDH “;”
  4. Riavvia Nginx con il seguente comando: “sudo service nginx restart”

Pensieri finali

Eccolo, tutto ciò che devi sapere sulla perfetta segretezza diretta. Sebbene non ci sia molto che i consumatori possano fare per incoraggiarne l’uso, è importante sapere che anche i dati crittografati che viaggiano su una connessione sicura sono potenzialmente vulnerabili a un attacco futuro.

L’onere di implementare il perfetto segreto in avanti spetta agli operatori di server e agli amministratori di sistema e lo scopo di questa guida è di incoraggiarne l’adozione, il che porterebbe a una rete più sicura per i siti Web e gli utenti. 

Per gli utenti che sono particolarmente preoccupati del fatto che i loro siti Web preferiti utilizzino o meno il trasporto PFS per proteggere i propri dati, il test Qualys SSL Labs consente di verificarlo. Se molti dei tuoi siti Web preferiti non sono all’altezza, il modo migliore per proteggerti è senza dubbio scaricare una rete privata virtuale per aggiungere un ulteriore livello di crittografia al tuo traffico.

Puoi consultare il nostro elenco dei migliori provider VPN che ti offriranno questo ulteriore livello di protezione, o se vuoi saltare direttamente alla nostra scelta migliore, dai un’occhiata alla nostra recensione ExpressVPN.

Cosa hai pensato della nostra spiegazione del perfetto segreto in avanti? Ha fatto luce su una frase tecnica che potresti aver visto apparire più frequentemente negli ultimi anni o sei ancora confuso come quando hai iniziato a leggere? Fateci sapere nei commenti qui sotto. Come sempre, grazie per aver letto.

Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map