Su Internet le informazioni viaggiano quasi sempre in chiaro, come la voce sul telefono. Ma poiché la rete, a differenza del telefono, è in larga parte pubblica intercettarle è molto semplice. Sono Francesco Caccavella e oggi vediamo che cos'è la crittografia, un sistema quasi insuperabile per mantenere segrete le informazioni su Internet.
Crittografia è l'arte dello scrivere segretamente. Ha origini antiche: Giulio Cesare, ad esempio, la usava per nascondere le sue lettere. Oggi, nell'età dell'informazione, è usata per proteggere qualsiasi tipo di dato digitale: dalle e-mail ai file conservati sul computer, dalle transazioni di commercio elettronico alle conversazioni su Skype.
La breve frase in questa figura è un esempio banale di frase crittografata. Per poterne comprendere il senso è necessario trovare il metodo che porti in chiaro le lettere utilizzate. In questo caso è molto semplice: basta sostituire la X, la Z e la Y con tre vocali. Il sistema per trasformare un testo criptato in un testo in chiaro si chiama cifrario o, quando coinvolge calcoli matematici, algoritmo.
Per nascondere un'e-mail si deve dunque utilizzare un algoritmo che cripta il messaggio inviato dal mittente e poi lo decripta una volta arrivato al destinatario. Per decriptare un messaggio è necessario avere a disposizione una chiave che, prodotta in base all'algoritmo, viene applicata al messaggio e ne svela il contenuto.
Nei sistemi più semplici un'unica chiave, posseduta sia dal mittente sia dal destinatario, è utilizzata per criptare e decriptare un messaggio. In questo caso si parla di crittografia simmetrica. È una scelta poco sicura poiché un'unica chiave deve essere condivisa con altri ed è poco conveniente perché non permette di avviare una comunicazione crittografata se chi riceve le informazioni non possiede già la chiave.
L'alternativa è la crittografia a chiave pubblica o asimmetrica. In questo caso l'algoritmo genera due diversi chiavi: una pubblica e una privata. La chiave privata deve essere tenuta segreta mentre la chiave pubblica deve essere distribuita ai propri contatti. Questa chiave pubblica serve a criptare il messaggio da inviare al destinatario il quale, per decriptarla, userà la sua chiave privata, che deve rimanere segreta.
Il programma più noto per crittografare messaggi di posta elettronica con chiavi pubbliche è Pretty Good Privacy o PGP. Basato su un mix di algoritmi, permette anche di crittografare file o dischi rigidi. Da PGP, diventato programma commerciale, è derivato GnuPG: open source e gratuito.
Questo sistema garantisce la segretezza dei messaggi ma non la certezza dei destinatari. Quando facciamo acquisti su Internet non basta, ad esempio, sapere che lo scambio dei dati avviene in sicurezza, ma dobbiamo essere sicuri che stiamo inviando il numero delle nostre carte di credito ad un sito sicuro.
Per garantire che il sito è sicuro intervengono i certificati rilasciati dalle autorità di certificazione. Quando avviamo una connessione crittografata con un server per prima cosa questo invia al nostro browser il certificato digitale, il browser lo confronta con quelli che ha in memoria e solo dopo averlo verificato avvia una connessione crittografata basata su chiavi simmetriche.
La crittografia può essere utile anche a proteggere file o l'intero disco rigido. Su alcune versioni di Vista e su Server 2008 Microsoft ha incluso un programma chiamato Bitlocker che permette di crittografare con un chiave simmetrica l'interno contenuto del disco rigido. Stessa cosa fa, su Windows XP, Mac o Linux, TrueCrypt, programma gratuito e open source, che può anche creare hard disk virtuali protetti.
Ma la crittografia non si usa solo per file o e-mail. Il noto software Voip Skype usa sia algoritmi simmetrici sia algoritmi asimmetrici per crittografare le comunicazioni con il server e le comunicazioni tra utenti. WPA, il protocollo utilizzato per proteggere le comuni connessioni Wi-Fi casalinghe, utilizza un cifrario simmetrico noto come RC4.