Che cosa rende sicuro un protocollo
Identifichi gli obiettivi dei protocolli crittografici: autenticazione, riservatezza, integrità e non ripudio.
Che cosa rende sicuro un protocollo è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.
Autenticazione: sapere con chi si comunica
L'autenticazione consiste nello stabilire l'identità delle parti che comunicano. Senza autenticazione, un protocollo è vulnerabile all'impersonificazione: un attaccante può fingere di essere un server affidabile e intercettare le comunicazioni. Nei protocolli, l'autenticazione viene generalmente ottenuta tramite certificati digitali, chiavi precondivise o meccanismi challenge-response che dimostrano la conoscenza di un segreto senza rivelarlo.
Riservatezza: solo le parti autorizzate leggono i messaggi
La riservatezza garantisce che il contenuto dei messaggi sia accessibile solo ai destinatari previsti. Si ottiene tramite la cifratura con chiavi note esclusivamente alle parti coinvolte. Una violazione della riservatezza significa che un intercettatore può leggere i messaggi durante il transito. La sola riservatezza non impedisce a un attaccante di manomettere i messaggi o di eseguire attacchi di replay; deve essere combinata con la protezione dell'integrità.
Integrità: rilevare le modifiche ai messaggi
La protezione dell'integrità garantisce che i messaggi ricevuti siano esattamente quelli trasmessi dal mittente, senza aggiunte, eliminazioni o modifiche. I Message Authentication Codes e le modalità di cifratura autenticata forniscono integrità. Senza protezione dell'integrità, un attaccante che non può leggere il testo cifrato potrebbe comunque riuscire a modificare bit specifici in modo prevedibile, alterando il testo in chiaro decifrato, come avviene negli attacchi padding oracle.
Non ripudio: il mittente non può negare di aver inviato il messaggio
Il non ripudio significa che un mittente non può in seguito negare di aver inviato un messaggio. Si ottiene tramite firme digitali che usano chiavi asimmetriche: solo il titolare della chiave privata avrebbe potuto produrre la firma, mentre la chiave pubblica corrispondente ne verifica la validità. I MAC non forniscono non ripudio, perché sia il mittente sia il destinatario conoscono il segreto condiviso ed entrambi avrebbero potuto produrre il MAC.
Freschezza: rifiutare i messaggi riprodotti
La freschezza garantisce che un vecchio messaggio, precedentemente valido, non possa essere riprodotto da un attaccante per attivare nuovamente lo stesso effetto. I meccanismi di freschezza includono nonce, cioè valori casuali inclusi nei messaggi che non devono ripetersi, timestamp con finestre di validità ristrette e numeri di sequenza che devono aumentare rigorosamente. Senza freschezza, la riproduzione di un messaggio di autenticazione intercettato può eludere completamente l'autenticazione.
Perfect Forward Secrecy
La Perfect Forward Secrecy garantisce che la compromissione delle chiavi a lungo termine non esponga le chiavi delle sessioni passate. Si ottiene generando coppie di chiavi effimere, cioè temporanee, per ogni sessione tramite Diffie-Hellman. Le chiavi di sessione vengono calcolate a partire dalle chiavi effimere e scartate dopo l'uso. Anche se la chiave privata a lungo termine del server venisse rubata in seguito, l'attaccante non potrebbe decifrare le sessioni registrate in precedenza, perché le chiavi effimere non esistono più.
Autenticazione reciproca e unidirezionale
L'autenticazione a una via verifica una sola delle parti: in HTTPS, il server presenta un certificato che il client verifica, ma in genere il server non verifica l'identità del client. L'autenticazione reciproca (o TLS reciproco, mTLS) richiede che entrambe le parti presentino e verifichino i certificati. mTLS è comune nelle architetture a microservizi, nei gateway API e nelle VPN aziendali, dove entrambi gli endpoint devono essere verificati prima di scambiarsi dati sensibili.
Obiettivi formali di sicurezza e intuizione
I progettisti dei protocolli non possono affidarsi alla sola intuizione. Un protocollo che sembra ovviamente sicuro può fallire in modi subdoli. Il protocollo a chiave pubblica Needham-Schroeder fu pubblicato nel 1978 e ritenuto sicuro. Nel 1995, Gavin Lowe scoprì una falla che consentiva un attacco di impersonificazione usando uno strumento di verifica formale. La verifica formale mediante model checker come Tamarin o ProVerif è diventata una pratica standard nella progettazione di protocolli critici per la sicurezza.
Il modello di minaccia Dolev-Yao
Il modello Dolev-Yao è il modello di minaccia standard per l'analisi dei protocolli crittografici. Presuppone che l'attaccante controlli l'intera rete: può intercettare, bloccare, modificare, riprodurre e iniettare qualsiasi messaggio. Si presume che le primitive crittografiche siano perfette, senza debolezze matematiche. In questo modello, un protocollo è sicuro solo se raggiunge i propri obiettivi anche quando l'attaccante ha il controllo completo di tutte le comunicazioni.
Perché la progettazione dei protocolli è difficile
La progettazione di protocolli crittografici è notoriamente difficile perché le falle sono spesso subdole e tutt'altro che evidenti. L'interazione tra più messaggi, nonce, timestamp e chiavi può creare percorsi di attacco imprevisti. Le entità possono avere visioni diverse dello stato del protocollo. Le sessioni concorrenti possono interferire tra loro. Ogni importante protocollo distribuito, inclusi SSL, TLS, WPA2 e 802.11, ha avuto vulnerabilità significative scoperte dopo la distribuzione.
Fallimenti dei protocolli nel mondo reale
SSL 3.0 è stato compromesso dall'attacco POODLE. TLS 1.0 e 1.1 sono stati deprecati a causa di molteplici debolezze. La crittografia WiFi WEP è stata completamente compromessa entro il primo anno dalla sua distribuzione. La VPN PPTP è considerata insicura a causa delle debolezze di MS-CHAPv2. Ogni fallimento ha insegnato alla comunità della sicurezza qualcosa sul divario tra le intuizioni informali sulla sicurezza e la progettazione di protocolli dimostrabilmente corretti secondo il modello Dolev-Yao.
Obiettivi di sicurezza dei protocolli
Quale proprietà di sicurezza garantisce che un messaggio registrato oggi da un attaccante non possa essere reinviato con successo al server in un secondo momento per ripetere un'azione?
Obiettivi dei protocolli sicuri: concetti chiave
I protocolli sicuri devono garantire autenticazione, riservatezza, integrità, non ripudio e freschezza. La segretezza in avanti perfetta protegge le sessioni passate dalla compromissione futura delle chiavi. L'autenticazione reciproca verifica entrambe le parti. Il modello Dolev-Yao presume una rete completamente sotto il controllo dell'avversario. La progettazione dei protocolli richiede la verifica formale, non la sola intuizione. Ogni importante protocollo ha avuto vulnerabilità scoperte dopo la distribuzione, stimolando l'evoluzione continua degli standard crittografici.
Domande Frequenti
La lezione «Che cosa rende sicuro un protocollo» è gratuita?
Sì — il testo completo di «Che cosa rende sicuro un protocollo» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.
Cosa imparerò in «Che cosa rende sicuro un protocollo»?
Identifichi gli obiettivi dei protocolli crittografici: autenticazione, riservatezza, integrità e non ripudio. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cryptology Academy?
Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Che cosa rende sicuro un protocollo»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?
Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Che cosa rende sicuro un protocollo
- SSH: proteggere l’accesso remoto
- SFTP e SCP: trasferimento sicuro dei file
- DNSSEC: autenticare le risposte DNS