Crittografia applicata: dalle basi a TLS
Proteggere i dati in transito e a riposo
Ogni sistema che scambia dati sensibili, dai gestionali ai dispositivi IoT, ha bisogno di crittografia. Capirne i fondamenti aiuta a usarla correttamente, evitando errori che vanificano la protezione.
Crittografia simmetrica
Nella crittografia simmetrica la stessa chiave cifra e decifra:
E veloce ed efficiente (algoritmi come AES), ideale per grandi volumi di dati. Il problema e lo scambio della chiave: come fanno due parti a condividere in modo sicuro su un canale non sicuro?
Crittografia asimmetrica
La crittografia asimmetrica risolve il problema con una coppia di chiavi: una pubblica e una privata . Cio che viene cifrato con una si decifra solo con l'altra.
La sicurezza si basa su problemi matematici difficili, come la fattorizzazione di grandi numeri (RSA) o il logaritmo discreto su curve ellittiche (ECC). E piu lenta della simmetrica, quindi si usa principalmente per scambiare chiavi e firmare.
Funzioni di hash
Una funzione di hash crittografica trasforma un input di lunghezza arbitraria in un output di lunghezza fissa, con proprieta fondamentali:
- deterministica: stesso input, stesso output;
- resistente alle collisioni: difficile trovare con ;
- a senso unico: da non si risale a .
Gli hash (es. SHA-256) servono per verificare l'integrita e per le firme digitali.
Firme digitali
Una firma digitale combina hash e crittografia asimmetrica. Il firmatario cifra l'hash del messaggio con la propria chiave privata:
Chiunque puo verificarla con la chiave pubblica, ottenendo garanzie di autenticita (chi ha firmato) e integrita (il messaggio non e stato alterato).
TLS: tutto insieme
Il protocollo TLS, che protegge HTTPS, orchestra questi elementi:
- il client e il server negoziano gli algoritmi (handshake);
- usano la crittografia asimmetrica per autenticare il server (certificati) e scambiare in sicurezza una chiave di sessione;
- usano poi la crittografia simmetrica con quella chiave per cifrare velocemente tutto il traffico.
Client Server
| ---- ClientHello ---------> |
| <--- ServerHello + cert --- |
| --- scambio chiavi -------> | (asimmetrica)
| <== canale cifrato AES ==> | (simmetrica)
Errori comuni da evitare
- Non implementare crittografia propria: usare librerie consolidate e testate.
- Gestire male le chiavi: la sicurezza dipende dalla protezione delle chiavi private.
- Usare algoritmi obsoleti (MD5, SHA-1, TLS vecchi): vanno dismessi.
- Dimenticare i dati a riposo: cifrare anche storage e backup.
Conclusione
La crittografia e un pilastro della sicurezza, ma solo se applicata correttamente. In MUSTNODE adottiamo TLS end-to-end, cifratura dei dati a riposo e una gestione rigorosa delle chiavi, in coerenza con un approccio security by design e con la compliance NIS2.
Articoli correlati
Altri approfondimenti dalla categoria Sicurezza.
Sicurezza informatica e auditing: NIS2 in pratica
Cosa richiede la direttiva NIS2 e come tradurla in pratiche concrete di sicurezza, auditing e gestione del rischio per le aziende industriali.
SQL injection: come prevenirla
Cos'e una SQL injection, perche e ancora pericolosa e come prevenirla con query parametrizzate e validazione degli input.