Crittografia
La sfida centrale nella registrazione dei certificati è come autenticare il dispositivo o l'utente che richiede il certificato. Con il certificato, l'autorità di certificazione (CA) conferma che il titolare del certificato possiede determinate proprietà e che ne ha verificato l'autenticità

Quali sono i due tipi di cifratura basata su chiave?
I due tipi principali di cifratura basata su chiave sono la cifratura simmetrica e la cifratura asimmetrica.
Cifratura simmetrica
- Uso delle chiavi: utilizza un'unica chiave sia per cifrare sia per decifrare.
- Velocità: in genere più rapida ed efficiente.
- Sicurezza: la difficoltà principale consiste nel condividere la chiave tra le parti in modo sicuro.
- Esempi: AES (Advanced Encryption Standard), DES (Data Encryption Standard).
Cifratura asimmetrica
- Uso delle chiavi: utilizza una coppia di chiavi, una chiave pubblica per cifrare e una chiave privata per decifrare.
- Velocità: più lenta rispetto alla cifratura simmetrica, perché i calcoli sono più complessi.
- Sicurezza: più sicura per la distribuzione delle chiavi, dato che la chiave privata non viene mai condivisa.
- Esempi: RSA (Rivest-Shamir-Adleman), ECC (Elliptic Curve Cryptography).
Quale tipo di cifratura è considerato più sicuro?
Entrambi gli schemi sono considerati sicuri, nel senso che, utilizzando un algoritmo moderno con una lunghezza di chiave sufficiente, nessun computer attuale è in grado di violare la cifratura.
Quale tipo di cifratura sia preferibile dipende dal caso d'uso, ma molti casi d'uso richiedono la cifratura asimmetrica, perché impiega una coppia di chiavi: una chiave pubblica per cifrare e una chiave privata per decifrare. La chiave privata resta segreta, e questo aumenta la sicurezza, dato che non deve mai essere condivisa.
Quale tipo di cifratura è migliore per grandi volumi di dati?
La cifratura simmetrica, perché è più veloce.
Come funziona in generale la cifratura ibrida?
- Generazione della chiave: il mittente genera una nuova chiave simmetrica (detta anche chiave di sessione) per cifrare il messaggio vero e proprio.
- Cifratura del messaggio: il mittente utilizza la chiave simmetrica per cifrare il messaggio in chiaro e ottiene un testo cifrato.
- Cifratura della chiave: il mittente cifra quindi la chiave simmetrica con la chiave pubblica del destinatario (cifratura asimmetrica).
- Trasmissione: il mittente invia al destinatario sia il messaggio cifrato (il testo cifrato) sia la chiave simmetrica cifrata.
- Decifratura della chiave: il destinatario utilizza la propria chiave privata per decifrare la chiave simmetrica.
- Decifratura del messaggio: infine il destinatario utilizza la chiave simmetrica decifrata per decifrare il testo cifrato e recuperare il messaggio in chiaro originale.
Algoritmi di hashing
Un algoritmo di hashing è una funzione matematica che converte dati di ingresso di qualsiasi dimensione in una stringa di caratteri di lunghezza fissa, di solito una sequenza di lettere e cifre. Questo risultato è noto come valore hash o digest.
Che cos'è una collisione?
Nell'hashing si ha una collisione quando due dati distinti producono lo stesso valore hash con un algoritmo di hashing. Questo può essere problematico, perché l'obiettivo principale di un algoritmo di hashing è rappresentare in modo univoco dati di ingresso differenti.
Che cos'è un MAC?
Message Authentication Code (MAC): in crittografia, un MAC è una breve informazione utilizzata per autenticare un messaggio e garantirne l'integrità. Attesta che il messaggio non è stato alterato e conferma l'identità del mittente.
In che cosa un MAC differisce da un HMAC?
MAC: termine generale per un codice che verifica integrità e autenticità di un messaggio, utilizzando cifrari a blocchi oppure funzioni di hash.
HMAC: un tipo specifico di MAC che utilizza una funzione di hash crittografica e una chiave segreta, offrendo proprietà di sicurezza più robuste.
Crittografia asimmetrica
Come funziona in generale la firma di un messaggio?
La firma di un messaggio è un procedimento crittografico utilizzato per verificare l'autenticità e l'integrità di un messaggio.
- Creazione dell'hash: il mittente genera un'impronta digitale univoca (hash) del messaggio utilizzando una funzione di hash crittografica (ad esempio SHA-256). Questo hash rappresenta in modo univoco il contenuto del messaggio.
- Firma: il mittente cifra questo hash con la propria chiave privata, creando la firma digitale. In questo modo la firma può essere generata solo da chi ha accesso alla chiave privata del mittente.
- Invio: la firma digitale viene allegata al messaggio e i due elementi vengono inviati insieme al destinatario. Per la verifica viene fornita anche la chiave pubblica del mittente.
- Verifica: il destinatario utilizza la chiave pubblica del mittente per decifrare la firma digitale e recuperare l'hash originale. Genera poi un nuovo hash dal messaggio ricevuto e lo confronta con l'hash decifrato. Se coincidono, è confermato che il messaggio non è stato alterato e l'identità del mittente risulta verificata.
Quali sono le tre funzioni della cifratura asimmetrica?
La cifratura asimmetrica, nota anche come crittografia a chiave pubblica, svolge diverse funzioni importanti per la protezione delle comunicazioni e dei dati.
- Cifratura e decifratura
- Firme digitali
- Scambio di chiavi
RSA
RSA, abbreviazione di Rivest-Shamir-Adleman, è un crittosistema a chiave pubblica molto diffuso per la trasmissione sicura dei dati. Prende il nome dai suoi inventori, Ronald Rivest, Adi Shamir e Leonard Adleman, che lo hanno presentato nel 1977.
Diffie-Hellman
Lo scambio di chiavi Diffie-Hellman è un metodo utilizzato in crittografia per scambiare chiavi crittografiche in modo sicuro su un canale pubblico. È stato sviluppato da Whitfield Diffie e Martin Hellman nel 1976. Lo scopo principale dello scambio di chiavi Diffie-Hellman è consentire a due parti di generare in modo sicuro una chiave segreta condivisa, utilizzabile per cifrare le comunicazioni successive.
Digital Signature Algorithm (DSA)
Il Digital Signature Algorithm (DSA) è un algoritmo crittografico a chiave pubblica utilizzato per generare e verificare firme digitali. È stato proposto dal National Institute of Standards and Technology (NIST) nel 1991 come parte del Digital Signature Standard (DSS).
Come funziona
- Generazione delle chiavi: DSA genera una coppia di chiavi: una chiave privata per firmare e una chiave pubblica per la verifica.
- Firma: il mittente utilizza la propria chiave privata per creare una firma digitale su un messaggio. Questa firma è univoca sia per il messaggio sia per la chiave privata.
- Verifica: il destinatario utilizza la chiave pubblica del mittente per verificare l'autenticità della firma e, di conseguenza, l'integrità e l'origine del messaggio.