Crittografia asimmetrica e coppie di chiavi
Comprenda la crittografia RSA e a curve ellittiche e come le coppie di chiavi pubblica/privata consentano comunicazioni sicure senza condividere segreti.
Crittografia asimmetrica e coppie di chiavi è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 2 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 Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Come funziona la cifratura asimmetrica
La cifratura asimmetrica (detta anche crittografia a chiave pubblica) usa coppie di chiavi collegate matematicamente: una chiave pubblica, che può essere distribuita liberamente, e una chiave privata, che deve essere mantenuta segreta. I dati cifrati con la chiave pubblica possono essere decifrati solo con la chiave privata corrispondente, e viceversa. Questo design elegante risolve il problema della distribuzione delle chiavi della cifratura simmetrica: è possibile condividere apertamente la propria chiave pubblica senza compromettere la sicurezza, perché solo la propria chiave privata può decifrare i messaggi inviati all'utente.
RSA: l'algoritmo più utilizzato
RSA (Rivest-Shamir-Adleman) è l'algoritmo di cifratura asimmetrica più ampiamente utilizzato, inventato nel 1977. La sua sicurezza si basa sulla difficoltà matematica di scomporre il prodotto di due grandi numeri primi nei suoi fattori. RSA supporta chiavi di 1024, 2048 e 4096 bit: RSA a 2048 bit è l'attuale raccomandazione minima, mentre 4096 bit è indicato per la sicurezza a lungo termine. RSA viene usato per lo scambio delle chiavi in TLS (anche se viene sempre più sostituito da ECDHE), per le firme digitali nei certificati e per la cifratura delle email con S/MIME.
# Generate an RSA 2048-bit key pair
openssl genrsa -out private.pem 2048
# Extract the public key
openssl rsa -in private.pem -pubout -out public.pem
# Encrypt with public key (only private key can decrypt)
openssl rsautl -encrypt -inkey public.pem -pubin -in message.txt -out encrypted.bin
# Decrypt with private key
openssl rsautl -decrypt -inkey private.pem -in encrypted.binCrittografia a curva ellittica (ECC)
Elliptic Curve Cryptography (ECC) raggiunge un livello di sicurezza equivalente a quello di RSA usando chiavi molto più corte. Una chiave ECC da 256 bit offre una sicurezza paragonabile a quella di una chiave RSA da 3072 bit. Questa efficienza rende ECC ideale negli ambienti con risorse limitate, come dispositivi mobili, hardware IoT e connessioni TLS in cui le prestazioni sono importanti. ECC si basa sulla difficoltà matematica del problema del logaritmo discreto sulle curve ellittiche. Tra gli algoritmi ECC comuni figurano ECDSA (Elliptic Curve Digital Signature Algorithm) ed ECDH (scambio delle chiavi). TLS 1.3 richiede uno scambio delle chiavi basato su ECC.
# Generate an ECC key pair using the P-256 (secp256r1) curve
openssl ecparam -name prime256v1 -genkey -noout -out ec_private.pem
# Extract public key
openssl ec -in ec_private.pem -pubout -out ec_public.pem
# ECC 256-bit ~ RSA 3072-bit in security strength
# Much faster operations, smaller keys = faster TLS handshakesUso della chiave pubblica: direzione della cifratura
Capire la direzione d'uso delle chiavi è fondamentale per l'esame Security+. Esistono due casi d'uso distinti, che invertono i ruoli delle chiavi. Per la cifratura a fini di riservatezza: il mittente cifra con la chiave pubblica del destinatario e solo il destinatario può decifrare con la propria chiave privata. Per le firme digitali a fini di autenticazione: il firmatario cifra l'hash con la propria chiave privata e chiunque può verificarlo usando la chiave pubblica del firmatario. Invertire queste direzioni è un errore comune all'esame: ricordi, la chiave pubblica cifra e quella privata decifra; la chiave privata firma e quella pubblica verifica.
Firme digitali con chiavi asimmetriche
Le firme digitali usano la crittografia asimmetrica per fornire autenticazione, integrità e non ripudio. Il processo è il seguente: (1) il mittente calcola un hash del messaggio; (2) cifra l'hash con la propria chiave privata per creare la firma; (3) invia insieme il messaggio e la firma. Il destinatario: (4) decifra la firma usando la chiave pubblica del mittente per recuperare l'hash; (5) calcola autonomamente l'hash del messaggio ricevuto; (6) confronta i due hash: una corrispondenza dimostra che il messaggio è autentico e non è stato alterato.
# Sign a document with ECDSA private key
openssl dgst -sha256 -sign ec_private.pem -out document.sig document.txt
# Verify the signature with the public key
openssl dgst -sha256 -verify ec_public.pem -signature document.sig document.txt
# Output: Verified OK (or Verification Failure)Perché la cifratura asimmetrica è lenta
La cifratura asimmetrica è computazionalmente onerosa rispetto a quella simmetrica: in genere è da 100 a 1000 volte più lenta. Questo dipende dal fatto che gli algoritmi asimmetrici eseguono operazioni matematiche complesse (l'elevamento a potenza modulare per RSA, la moltiplicazione di punti sulle curve per ECC) su numeri grandi. Per questo motivo, la cifratura asimmetrica non viene mai usata per cifrare direttamente grandi quantità di dati. Viene invece usata per scambiare in modo sicuro una piccola chiave di sessione simmetrica; la chiave simmetrica cifra poi i dati effettivi. Questo approccio ibrido combina i vantaggi in termini di sicurezza di entrambi gli approcci.
Generazione e archiviazione delle coppie di chiavi
Una corretta gestione delle coppie di chiavi è essenziale. Le chiavi private devono essere generate in un Hardware Security Module (HSM) o conservate in un archivio di chiavi cifrato; non devono mai essere memorizzate come file di testo in chiaro non protetti. Le coppie di chiavi hanno un periodo di validità limitato, al termine del quale devono essere rigenerate. Per le coppie di chiavi basate su certificati, la chiave privata non deve mai lasciare il dispositivo o l'HSM su cui è stata generata. La compromissione di una chiave privata consente a un attaccante di impersonare il proprietario della chiave e di decifrare tutti i messaggi cifrati con la chiave pubblica corrispondente.
Contesto dell'infrastruttura a chiave pubblica
Le coppie di chiavi asimmetriche forniscono sicurezza solo se è possibile verificare che una chiave pubblica appartenga effettivamente al soggetto che si ritiene. In assenza di un meccanismo di fiducia, un attaccante potrebbe sostituire la propria chiave pubblica a quella del destinatario previsto: si tratta del classico man-in-the-middle attack. La Public Key Infrastructure (PKI) risolve questo problema facendo sì che una Certificate Authority (CA) fidata firmi digitalmente un certificato che associa una chiave pubblica a un'identità verificata. Quando visita un sito web HTTPS, il browser verifica il certificato del server rispetto a una CA considerata attendibile, confermando che la chiave pubblica è legittima.
Confronto tra RSA ed ECC
Quando sceglie tra RSA ed ECC, consideri tre fattori. Efficienza delle dimensioni delle chiavi: ECC a 256 bit offre una sicurezza equivalente a RSA a 3072 bit. Prestazioni: ECC è significativamente più veloce, soprattutto sui dispositivi mobili e IoT. Adozione: RSA offre una compatibilità più ampia con i sistemi legacy; ECC è richiesto in TLS 1.3 ed è sempre più imposto dagli standard di sicurezza moderni. Entrambi gli algoritmi sono ancora considerati sicuri se implementati correttamente con le dimensioni delle chiavi attualmente raccomandate. L'esame Security+ richiede di conoscere questi compromessi e quando sia opportuno usare ciascun algoritmo.
Minaccia del calcolo quantistico alla crittografia asimmetrica
La crittografia asimmetrica è esposta, nel lungo periodo, alla minaccia dei computer quantistici. L'algoritmo di Shor, eseguito su un computer quantistico sufficientemente potente, può risolvere il problema della fattorizzazione (compromettendo RSA) e il problema del logaritmo discreto (compromettendo ECC) in tempo polinomiale, rendendo vulnerabili le lunghezze delle chiavi attualmente sicure. NIST ha già selezionato algoritmi crittografici post-quantistici, tra cui CRYSTALS-Kyber (incapsulamento delle chiavi) e CRYSTALS-Dilithium (firme digitali), destinati a sostituire RSA ed ECC. Le organizzazioni che gestiscono dati sensibili nel lungo periodo dovrebbero iniziare fin d'ora a pianificare la migrazione post-quantistica.
Casi d'uso della crittografia asimmetrica
La crittografia asimmetrica è alla base di molti meccanismi di sicurezza che vengono utilizzati ogni giorno. HTTPS: l'handshake TLS usa RSA o ECC per scambiare le chiavi di sessione. SSH: l'autenticazione con chiave pubblica sostituisce le password con coppie di chiavi. Firma del codice: i fornitori di software firmano il codice con chiavi private; il sistema operativo verifica la firma con la chiave pubblica. Email S/MIME: si cifra l'email con la chiave pubblica del destinatario e la si firma con la propria chiave privata. Bitcoin/blockchain: le transazioni vengono firmate con chiavi private ECDSA. Comprendere dove questi meccanismi compaiono nella pratica aiuta a contestualizzare le domande d'esame.
# SSH public key authentication
# Generate ED25519 key pair (modern, faster than RSA)
ssh-keygen -t ed25519 -C 'alice@company.com'
# ED25519 is based on elliptic curves - fast and secure
# Public key goes to server: ~/.ssh/authorized_keys
# Private key stays local: ~/.ssh/id_ed25519 (protect with passphrase)Verifica rapida
Verifichi la Sua comprensione dei concetti di CompTIA Security+ (SY0-701) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha appreso che: la crittografia asimmetrica usa coppie di chiavi matematicamente collegate; RSA ed ECC sono gli algoritmi predominanti (ECC è più veloce e usa chiavi più corte); le chiavi pubbliche cifrano per garantire la riservatezza e le chiavi private firmano per l'autenticazione; infine, la crittografia asimmetrica è lenta, ma risolve il problema della distribuzione delle chiavi. Ora passeremo a Hashing e integrità dei dati.
Domande Frequenti
La lezione «Crittografia asimmetrica e coppie di chiavi» è gratuita?
Sì — il testo completo di «Crittografia asimmetrica e coppie di chiavi» è 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 Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Crittografia asimmetrica e coppie di chiavi»?
Comprenda la crittografia RSA e a curve ellittiche e come le coppie di chiavi pubblica/privata consentano comunicazioni sicure senza condividere segreti. Eserciti Cloud & IT Cert Prep 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 Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Crittografia asimmetrica e coppie di chiavi»?
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 Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep 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
- Algoritmi di crittografia simmetrica
- Crittografia asimmetrica e coppie di chiavi
- Hashing e integrità dei dati
- Scambio di chiavi e crittografia ibrida