La crittografia è la scienza matematica dei codici e dei messaggi segreti.

Nel corso della storia, le persone hanno sempre usato la crittografia per scambiarsi messaggi, nella speranza, che questi venissero letti solo dalla persona al cui il messaggio era indirizzato.

Oggi, ci sono i computer che possono eseguire la crittografia per noi.

La tecnologia digitale per la crittografia si è espansa ben oltre ai semplici messaggi segreti; oggi, viene usata per per degli scopi molto più elaborati, come per esempio la capacità di verificare l’autore di un messaggio o per navigare la rete in modo anonimo tramite TOR.

In alcune circostanze, la crittografia può essere abbastanza automatizzata e semplice.

Ma ci sono alcuni casi in cui qualcosa nel processo di crittografia può andare storto e tanto più siamo in grado di capire i processi, tanto più saremo in grado di rimanere al sicuro in caso di problemi.

Ci sono 3 concetti principali che vanno capiti della crittografia:

Chiavi pubbliche e private

Uno dei concetti più importanti da capire nella crittografia è la chiave.

I tipi più comuni di crittografia includono una chiave privata, che viene mantenuta al sicuro sul nostro computer e ci permette di leggere i messaggi che sono indirizzati solo a noi.

Una chiave privata inoltre ci permette di inserire una firma digitale non modificabile sui messaggi che inviamo alle altre persone.

Una chiave pubblica è invece un file che possiamo dare alle altre persone o pubblicarla online e che permette agli altri di comunicare in modo privato con noi e controllare che la firma, che abbiamo vista appena sopra, sia proprio la nostra e che non sia stata alterata.

Le chiave pubblica e privata vanno sempre in coppia, come se fossero le due metà di una mela che combaciano perfettamente, ma non sono le stesse.

Certificati di sicurezza

Un altro concetto estremamente prezioso da capire è il certificato di sicurezza.

Il browser sul nostro computer può creare delle connessioni crittografate sui siti attraverso il protocollo HTTPS.

Quando il browser si connette ad un sito tramite la connessione crittografata, ne esamina il certificato per controllare le chiavi pubbliche del nome del dominio (come per esempio fastbyte01.it).

I certificati sono un modo per provare a determinare se conosciamo la giusta chiave pubblica di una persona o di un sito web, in modo da poter comunicare con questa in modo sicuro.

A volte può capitare di ricevere alcuni messaggi di errori relativi ai certificati su alcuni siti web.

La causa più comune per questo tipo di errore è dovuta al fatto che la connessione che stiamo utilizzando sta cercando di rompere la comunicazione segreta tra noi e il sito web.

Ma ci sono altri casi, più rari, in cui è la polizia o un hacker oppure un agenzia di spionaggio che sta cercando di rompere la sicurezza della connessione.

Sfortunatamente è estremamente difficile capire in quali casi il motivo è l’uno o l’altro.

Per stare sicuri in questo caso è sempre bene non cliccare su un avviso di un certificato se questo è relativo ad un sito su cui abbiamo un account o su cui stiamo leggendo delle informazioni sensibili. 

Il fingerprint della chiave

La parola fingerprint ( impronta digitale, in italiano), ha un sacco di significati diversi nel campo della sicurezza informatica.

Uno degli usi di questo termine è “key fingerprint” (impronta digitale della chiave, in italiano), che è una stringa di caratteri come “42e 2309 bd20 0912 ff10 6c63 2192 1928” che ci dovrebbe permettere in modo univoco e sicuro di controllare che qualcuno su internet stia usando la giusta chiave private.

Controllando che la key fingerprint di qualcuno sia corretta, abbiamo un alto grado di certezza che la persona con cui stiamo parlando sia proprio quella.

Ma questo sistema, purtroppo, non perfetto, dato che se le chiavi vengono copiate o rubate, qualcun altro potrebbe essere in grado di usare la stessa fingerprint.