Calcolatore Chiave Asimmetrica Online
Guida Completa al Calcolo delle Chiavi Asimmetriche Online
La crittografia asimmetrica, nota anche come crittografia a chiave pubblica, è alla base della sicurezza digitale moderna. Questo sistema utilizza una coppia di chiavi – una pubblica e una privata – che lavorano insieme per crittografare e decrittografare i dati. La scelta della chiave asimmetrica giusta è cruciale per bilanciare sicurezza, prestazioni e compatibilità con i sistemi esistenti.
Cos’è una Chiave Asimmetrica?
Una chiave asimmetrica è composta da:
- Chiave pubblica: Può essere condivisa liberamente e viene utilizzata per crittografare i messaggi o verificare le firme digitali
- Chiave privata: Deve essere mantenuta segreta e viene utilizzata per decrittografare i messaggi o creare firme digitali
Le chiavi asimmetriche sono alla base di:
- Protocolli SSL/TLS (HTTPS)
- Firme digitali per documenti e software
- Autenticazione sicura (SSH, VPN)
- Infrastrutture a chiave pubblica (PKI)
Tipi Principali di Algoritmi Asimmetrici
| Algoritmo | Lunghezze Chiave Comuni | Vantaggi | Svantaggi | Casi d’Uso Tipici |
|---|---|---|---|---|
| RSA | 1024-4096 bit (consigliato ≥2048) |
|
|
SSL/TLS, firma codice, crittografia email |
| ECDSA | 256-521 bit (equivalente a 2048-15360 RSA) |
|
|
Blockchain (Bitcoin), autenticazione moderna, IoT |
| Ed25519 | 256 bit (equivalente a ~3000 bit RSA) |
|
|
SSH, firme digitali ad alte prestazioni, sistemi embedded |
Come Scegliere la Lunghezza della Chiave
La lunghezza della chiave determina il livello di sicurezza. Ecco le linee guida attuali:
| Lunghezza Chiave (bit) | Equivalente Sicurezza Simmetrica | Tempo di Protezione Stimato | Prestazioni Relative | Note |
|---|---|---|---|---|
| 1024 (RSA) | 80 bit | Non raccomandato (rottura possibile) | Velocissimo | Considerato insicuro dal 2010 |
| 2048 (RSA) | 112 bit | Fino al 2030 | Buono | Standard minimo attuale |
| 3072 (RSA) | 128 bit | Fino al 2040+ | Medio | Raccomandato per nuova implementazioni |
| 4096 (RSA) | 128+ bit | Lungo termine | Lento | Per dati sensibili a lungo termine |
| 256 (ECDSA/Ed25519) | 128 bit | Fino al 2040+ | Eccellente | Equivalente a RSA 3072 |
| 384 (ECDSA) | 192 bit | Post-quantum | Buono | Resistente a molti attacchi quantistici |
Fattori da Considerare nella Scelta
-
Livello di sicurezza richiesto
- Dati sensibili a breve termine (1-3 anni): 2048 bit RSA o 256 bit ECDSA
- Dati sensibili a medio termine (3-10 anni): 3072 bit RSA o 256 bit ECDSA
- Dati sensibili a lungo termine (10+ anni): 4096 bit RSA o 384 bit ECDSA
- Resistenza quantistica: Considerare algoritmi post-quantum come CRYSTALS-Kyber
-
Prestazioni
- RSA 2048: ~100 operazioni/sec su CPU moderna
- ECDSA 256: ~1000 operazioni/sec su CPU moderna
- Ed25519: ~2000 operazioni/sec su CPU moderna
- Le prestazioni degradano con chiavi più lunghe
-
Compatibilità
- RSA: Supporto universale
- ECDSA: Supporto ampio (dalla TLS 1.2)
- Ed25519: Supporto in crescita (OpenSSH 6.5+)
- Verificare la compatibilità con i sistemi legacy
-
Caso d’uso specifico
- Crittografia: RSA o ECDSA con chiavi lunghe
- Firme digitali: ECDSA o Ed25519 preferibili
- Autenticazione: Ed25519 ottimale per SSH
- Blockchain: ECDSA (secp256k1) standard
-
Resistenza agli attacchi quantistici
- RSA ed ECDSA sono vulnerabili a Shor’s algorithm
- Chiavi più lunghe aumentano la resistenza ma non la garantiscono
- Considerare algoritmi post-quantum per protezione a lungo termine
- NIST sta standardizzando nuovi algoritmi (2024)
Processo di Generazione delle Chiavi
La generazione di una coppia di chiavi asimmetriche segue questi passaggi:
-
Scelta dell’algoritmo e parametri
In base ai requisiti di sicurezza e prestazionali identificati nella fase di pianificazione.
-
Generazione di numeri primi (per RSA)
Per RSA, vengono generati due grandi numeri primi (p e q) che saranno la base per la chiave.
-
Calcolo del modulo
Il modulo n = p × q viene calcolato (solo per RSA).
-
Generazione della chiave pubblica
La chiave pubblica viene derivata dai parametri generati.
-
Generazione della chiave privata
La chiave privata viene generata e deve essere mantenuta segreta.
-
Test di primalità
Vengono eseguiti test per verificare che i numeri generati siano effettivamente primi (per RSA).
-
Salvataggio sicuro
La chiave privata viene salvata in formato protetto (solamente PKCS#8, PEM con crittografia).
Best Practice per la Gestione delle Chiavi
-
Rotazione periodica
Le chiavi dovrebbero essere ruotate secondo questi intervalli:
- Chiavi per crittografia: ogni 1-2 anni
- Chiavi per firme digitali: ogni 3-5 anni
- Chiavi root CA: ogni 10-20 anni
-
Protezione della chiave privata
- Mai memorizzare in plaintext
- Usare formati protetti come PKCS#8 con password
- Limitare l’accesso con permessi file system
- Considerare HSM (Hardware Security Modules) per chiavi critiche
-
Backup sicuro
- Mantenere backup offline delle chiavi private
- Usare supporti crittografati (USB hardware-encrypted)
- Implementare schemi di backup distribuiti (shamir’s secret sharing)
-
Monitoraggio e audit
- Tracciare tutti gli accessi alle chiavi private
- Monitorare l’uso delle chiavi per rilevare anomalie
- Eseguire audit periodici delle pratiche di gestione
-
Pianificazione della revoca
- Avere un piano per revocare le chiavi compromesse
- Implementare liste di revoca (CRL) o OCSP
- Comunicare tempestivamente le revoche a tutte le parti interessate
Errori Comuni da Evitare
-
Usare chiavi troppo corte
Chiavi RSA <2048 bit o ECDSA <224 bit sono considerate insicure e dovrebbero essere evitate.
-
Generare chiavi con entropy insufficient
Usare sempre generatori di numeri casuali crittograficamente sicuri (CSPRNG).
-
Riutilizzare chiavi per scopi diversi
Ogni applicazione dovrebbe avere la sua coppia di chiavi dedicata.
-
Non pianificare la rotazione
La mancanza di un piano di rotazione porta a chiavi obsolete e potenzialmente vulnerabili.
-
Ignorare le best practice di storage
Memorizzare chiavi private in file system non protetti o database accessibili.
-
Non testare i backup
I backup delle chiavi dovrebbero essere testati periodicamente per garantirne l’integrità.
-
Usare algoritmi deprecati
Evitate algoritmi come DSA o RSA con padding PKCS#1 v1.5 per nuove implementazioni.
Strumenti per la Generazione di Chiavi
Ecco alcuni strumenti affidabili per generare chiavi asimmetriche:
-
OpenSSL
Strumento da riga di comando multipiattaforma:
# Generare chiave RSA 4096 bit openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:4096 # Generare chiave ECDSA (curva prime256v1) openssl ecparam -genkey -name prime256v1 -out ec_private.pem # Generare chiave Ed25519 openssl genpkey -algorithm ed25519 -out ed_private.pem
-
ssh-keygen
Per chiavi SSH (supporta RSA, ECDSA, Ed25519):
# Generare chiave Ed25519 per SSH ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 # Generare chiave ECDSA 521 bit ssh-keygen -t ecdsa -b 521 -f ~/.ssh/id_ecdsa
-
Librerie software
Per gli sviluppatori:
- Python:
cryptographylibrary - Java:
KeyPairGeneratorclass - JavaScript: Web Crypto API
- C#:
RSACryptoServiceProvideroECDsaclasses
- Python:
-
Servizi cloud
Molti provider cloud offrono servizi di gestione chiavi (KMS):
- AWS Key Management Service (KMS)
- Google Cloud KMS
- Azure Key Vault
Considerazioni sulla Sicurezza Quantistica
Con l’avvento dei computer quantistici, la crittografia asimmetrica tradizionale è a rischio. L’algoritmo di Shor può fattorizzare grandi numeri e risolvere il problema del logaritmo discreto in tempo polinomiale, rendendo RSA ed ECDSA insicuri contro attacchi quantistici.
Il NIST sta lavorando alla standardizzazione di algoritmi post-quantum:
| Algoritmo | Tipo | Dimensione Chiave | Stato | Note |
|---|---|---|---|---|
| CRYSTALS-Kyber | Key Encapsulation | ~1-4 KB | Standardizzato (2024) | Basato su reticoli, ottimo per TLS |
| CRYSTALS-Dilithium | Firme Digitali | ~2-4 KB | Standardizzato (2024) | Alternativa post-quantum a ECDSA |
| SPHINCS+ | Firme Digitali | ~8-41 KB | Standardizzato (2024) | Basato su hash, lento ma molto sicuro |
| NTRU | Key Encapsulation | ~1-2 KB | Candidato | Basato su reticoli, buone prestazioni |
La transizione agli algoritmi post-quantum richiederà tempo. Le organizzazioni dovrebbero:
- Valutare l’impatto dei computer quantistici sui loro sistemi
- Identificare i dati che richiedono protezione a lungo termine
- Pianificare una strategia di migrazione graduale
- Monitorare gli sviluppi del NIST e altri organismi di standardizzazione
- Considerare soluzioni ibride durante la transizione
Conclusione
La scelta della chiave asimmetrica giusta è un processo critico che richiede una attenta considerazione di numerosi fattori tecnici e operativi. Mentre RSA rimane lo standard de facto per molti scenari, algoritmi più moderni come ECDSA ed Ed25519 offrono prestazioni superiori con livelli di sicurezza equivalenti o migliori.
Con l’orizzonte dei computer quantistici che si avvicina, è essenziale che le organizzazioni inizino a pianificare la transizione verso algoritmi post-quantum. La crittografia asimmetrica continuerà a essere fondamentale per la sicurezza digitale, ma le specifiche implementazioni dovranno evolvere per affrontare le nuove sfide.
Utilizzando strumenti come il calcolatore presentato in questa pagina, è possibile fare scelte informate sulla configurazione ottimale delle chiavi asimmetriche per le proprie esigenze specifiche, bilanciando sicurezza, prestazioni e compatibilità.