Vai al contenuto principale

RSA vs Ed25519 per DKIM: quale algoritmo di firma scegliere?

Di CaptainDNS
Pubblicato il 6 marzo 2026

Confronto visivo degli algoritmi RSA 2048 ed Ed25519 per la firma DKIM
TL;DR
  • RSA 2048 bit resta lo standard universale per DKIM: supportato da tutti i provider, ma chiave pubblica di ~392 caratteri e firma di 256 byte
  • Ed25519 (RFC 8463) produce chiavi di 44 caratteri e firme di 64 byte, con una firma fino a 30 volte più rapida
  • Nel 2026, Ed25519 è supportato da Google, Fastmail e alcuni MTA open source, ma Microsoft 365 e Yahoo non lo verificano ancora
  • La doppia firma (RSA + Ed25519 in parallelo) è la strategia consigliata per preparare la migrazione senza rischi
  • Non utilizzare più RSA 1024 bit: rifiutato da Google, Microsoft e Yahoo dal 2024

Il tuo record DKIM utilizza RSA 2048 bit. È solido, ma la chiave pubblica occupa da sola più di 390 caratteri nella tua zona DNS. Ogni email trasporta una firma di 256 byte nei suoi header. Su scala di milioni di messaggi, questo peso non è trascurabile.

Ed25519, standardizzato per DKIM dalla RFC 8463 nel 2018, promette chiavi 9 volte più corte e firme 4 volte più leggere, con un livello di sicurezza equivalente a RSA 3072 bit. Ma il supporto dei provider resta incompleto nel 2026.

Questa guida confronta i due algoritmi in profondità: crittografia sottostante, dimensioni di chiave e firma, prestazioni, sicurezza, compatibilità dei provider e strategia di migrazione consigliata. Pubblico di riferimento: amministratori di sistema e ingegneri DevOps che gestiscono l'infrastruttura email.

Come firma DKIM le email?

DKIM utilizza la crittografia asimmetrica per firmare ogni email in uscita. Il server di invio firma un hash degli header e del corpo con una chiave privata. Il server di ricezione recupera la chiave pubblica nel DNS e verifica la firma.

L'header DKIM-Signature contiene il tag a= che indica l'algoritmo utilizzato:

DKIM-Signature: v=1; a=rsa-sha256; d=captaindns.com; s=s202603; ...

oppure:

DKIM-Signature: v=1; a=ed25519-sha256; d=captaindns.com; s=ed202603; ...

I due algoritmi disponibili sono rsa-sha256 (standard dal 2007) e ed25519-sha256 (aggiunto dalla RFC 8463 nel 2018). L'hash è sempre SHA-256 in entrambi i casi.

RSA 2048 per DKIM: lo standard collaudato

Funzionamento

RSA (Rivest-Shamir-Adleman) è un algoritmo a chiave pubblica basato sulla difficoltà di fattorizzare il prodotto di due grandi numeri primi. Per DKIM:

  • La chiave privata firma l'hash SHA-256 del messaggio
  • La chiave pubblica, pubblicata in un record TXT, permette la verifica
  • La dimensione minima consigliata è 2048 bit dal 2024

Record DNS RSA

s202603._domainkey.captaindns.com  IN  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3pZ..."

La chiave pubblica RSA 2048 bit codificata in Base64 occupa circa 392 caratteri. Alcuni provider DNS limitano i record TXT a 255 caratteri per stringa, il che obbliga a suddividere il valore in più stringhe tra virgolette.

Punti di forza e limiti

AspettoDettaglio
SupportoUniversale: tutti gli MTA e i provider
MaturitàStandard DKIM dal 2007 (RFC 4871, poi 6376)
SicurezzaSolida fino al 2030+ secondo il NIST
Dimensione chiave pubblica~392 caratteri (Base64)
Dimensione firma256 byte
PrestazioniFirma più lenta, verifica rapida
Dimensione DNSPuò richiedere la suddivisione in più stringhe TXT

Ed25519 per DKIM: l'alternativa moderna

Funzionamento

Ed25519 è un algoritmo di firma basato sulle curve ellittiche (Curve25519), progettato da Daniel J. Bernstein nel 2011. Per DKIM, è stato standardizzato dalla RFC 8463 a settembre 2018.

L'algoritmo utilizza una curva di Edwards twisted sul campo finito GF(2^255 - 19), da cui il nome. La sicurezza si basa sulla difficoltà del problema del logaritmo discreto su curva ellittica, fondamentalmente più complesso della fattorizzazione RSA a dimensione di chiave equivalente.

Record DNS Ed25519

ed202603._domainkey.captaindns.com  IN  TXT  "v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="

La chiave pubblica Ed25519 occupa esattamente 44 caratteri in Base64. Il record DNS sta in una singola stringa TXT, senza suddivisione.

Punti di forza e limiti

AspettoDettaglio
Dimensione chiave pubblica44 caratteri (Base64), 9 volte più corta di RSA
Dimensione firma64 byte, 4 volte più leggera di RSA
PrestazioniFirma fino a 30 volte più rapida di RSA 2048
SicurezzaEquivalente a RSA ~3072 bit (128 bit di sicurezza)
ResistenzaImmune agli attacchi side-channel (constant-time)
SupportoParziale: Google, Fastmail, alcuni MTA open source
LimiteMicrosoft 365 e Yahoo non verificano ancora Ed25519

RSA vs Ed25519: confronto tecnico dettagliato

Confronto tecnico degli algoritmi RSA 2048 ed Ed25519 per DKIM

CriterioRSA 2048Ed25519
AlgoritmoRSA (fattorizzazione)EdDSA (curve ellittiche)
RFC DKIMRFC 6376 (2011)RFC 8463 (2018)
Tag a=rsa-sha256ed25519-sha256
Tag k=rsaed25519
Dimensione chiave privata~1 700 byte32 byte
Dimensione chiave pubblica~392 caratteri44 caratteri
Dimensione firma256 byte64 byte
Bit di sicurezza~112 bit~128 bit
HashSHA-256SHA-256
Dimensione record DNS~430 caratteri~90 caratteri
Suddivisione TXT necessariaSpesso (limite 255 car.)Mai
Supporto provider 2026UniversaleParziale

Impatto sulla dimensione delle email

Ogni email firmata con RSA 2048 aggiunge circa 500 caratteri nell'header DKIM-Signature (firma Base64 di ~344 caratteri + tag). Con Ed25519, questo header occupa solo circa 200 caratteri (firma Base64 di ~88 caratteri + tag).

Per un server che invia 1 milione di email al giorno, la differenza rappresenta circa 300 MB di banda quotidiana in meno con Ed25519.

Impatto sulle query DNS

La verifica DKIM richiede una query DNS TXT per recuperare la chiave pubblica. Con RSA 2048, la risposta DNS occupa ~500 byte. Con Ed25519, occupa ~150 byte. Per i resolver DNS e i server di ricezione, questa differenza riduce il carico di rete e il tempo di risoluzione.

Compatibilità dei provider nel 2026

Matrice di compatibilità Ed25519 per provider email nel 2026

ProviderFirma Ed25519Verifica Ed25519
Google (Gmail/Workspace)Sì (dal 2019)
Fastmail
Proton MailNo
Microsoft 365NoNo
Yahoo/AOLNoNo
Postfix + OpenDKIMSì (dal 2.11)
Postfix + rspamd
EximSì (dal 4.95)
Amazon SESNoNo
SendGridNoNo
MailgunNoNo

Punto critico: se firmi solo con Ed25519 e il server di ricezione non lo supporta, la verifica DKIM fallisce. Il server non effettua un fallback automatico su un altro algoritmo. Ecco perché la doppia firma è indispensabile.

Doppia firma: la strategia consigliata

La strategia più sicura consiste nel firmare ogni email con due firme DKIM: una RSA 2048 e una Ed25519. Ogni firma utilizza il proprio selettore.

Come funziona?

L'email in uscita contiene due header DKIM-Signature:

DKIM-Signature: v=1; a=ed25519-sha256; d=captaindns.com; s=ed202603;
  h=from:to:subject:date:message-id;
  bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
  b=dGVzdA==...

DKIM-Signature: v=1; a=rsa-sha256; d=captaindns.com; s=rsa202603;
  h=from:to:subject:date:message-id;
  bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
  b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk...

Due record DNS

rsa202603._domainkey.captaindns.com  IN  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBg..."
ed202603._domainkey.captaindns.com   IN  TXT  "v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="

Comportamento del server di ricezione

Il server di ricezione verifica tutte le firme DKIM presenti. Secondo la RFC 6376, un solo dkim=pass è sufficiente perché l'autenticazione riesca:

  • Se il server supporta Ed25519: entrambe le firme passano
  • Se il server non supporta Ed25519: solo la firma RSA viene verificata, passa, e DKIM è valido

Configurazione con OpenDKIM (Postfix)

In /etc/opendkim/signing.table:

*@captaindns.com  rsa202603._domainkey.captaindns.com
*@captaindns.com  ed202603._domainkey.captaindns.com

In /etc/opendkim/key.table:

rsa202603._domainkey.captaindns.com  captaindns.com:rsa202603:/etc/opendkim/keys/captaindns.com/rsa202603.private
ed202603._domainkey.captaindns.com   captaindns.com:ed202603:/etc/opendkim/keys/captaindns.com/ed202603.private

Utilizza il Generatore DKIM per creare le due coppie di chiavi e ottenere i record DNS pronti per la pubblicazione.

Come migrare verso RSA 2048 o Ed25519?

Se utilizzi ancora RSA 1024 bit, la migrazione è urgente. Google, Microsoft e Yahoo rifiutano le firme DKIM con chiavi inferiori a 2048 bit dal 2024.

Passaggio 1: verificare i selettori esistenti

Utilizza uno strumento di scoperta dei selettori per identificare tutti i selettori DKIM attivi sul tuo dominio e verificare la dimensione delle chiavi attuali.

Passaggio 2: generare le nuove chiavi

Crea una coppia RSA 2048 bit con un nuovo selettore con timestamp. Se la tua infrastruttura lo permette, crea anche una coppia Ed25519.

Passaggio 3: pubblicare i record DNS

Pubblica le nuove chiavi pubbliche nella tua zona DNS. Mantieni le vecchie chiavi attive durante la transizione.

Passaggio 4: passare alla nuova firma

Configura il tuo server di invio per utilizzare i nuovi selettori. Se passi alla doppia firma, aggiungi Ed25519 in aggiunta a RSA.

Passaggio 5: verificare e revocare

Dopo 48 ore, verifica che le email firmate con le nuove chiavi riportino dkim=pass negli header Authentication-Results. Revoca le vecchie chiavi pubblicando p= vuoto nel record DNS, poi eliminale dopo 30 giorni.

Piano d'azione consigliato

  1. Verificare: identifica i tuoi selettori DKIM e la dimensione delle chiavi attuali
  2. Generare RSA 2048: se utilizzi ancora RSA 1024, migra come priorità
  3. Aggiungere Ed25519: crea una seconda coppia di chiavi Ed25519 con un selettore distinto
  4. Pubblicare entrambe le chiavi nel DNS con selettori descrittivi (rsa202603, ed202603)
  5. Configurare la doppia firma sul tuo MTA (OpenDKIM, rspamd, Exim)
  6. Verificare: invia email di test verso Gmail (supporta Ed25519) e Outlook (solo RSA)
  7. Pianificare la rotazione: rinnova entrambe le coppie di chiavi ogni 3 mesi

FAQ

Ed25519 è più sicuro di RSA 2048 per DKIM?

Ed25519 offre 128 bit di sicurezza, equivalente a RSA 3072 bit. RSA 2048 offre circa 112 bit di sicurezza. In pratica, entrambi sono considerati sicuri fino al 2030+. Ed25519 ha il vantaggio di essere resistente per progettazione agli attacchi side-channel (constant-time), il che riduce i rischi di implementazione difettosa.

Si può utilizzare Ed25519 da solo per DKIM?

È tecnicamente possibile ma sconsigliato nel 2026. Microsoft 365 e Yahoo non verificano ancora le firme Ed25519. Se firmi solo con Ed25519, questi provider non potranno validare DKIM. Utilizza la doppia firma (RSA + Ed25519) per la massima compatibilità.

Come funziona la doppia firma DKIM?

Il server di invio aggiunge due header DKIM-Signature al messaggio: uno con rsa-sha256 e uno con ed25519-sha256. Ogni firma utilizza il proprio selettore e la propria coppia di chiavi. Il server di ricezione verifica tutte le firme presenti. Un solo dkim=pass è sufficiente perché l'autenticazione riesca.

RSA 1024 bit è ancora accettato per DKIM?

No. Google, Microsoft e Yahoo rifiutano le firme DKIM con chiavi RSA inferiori a 2048 bit dal 2024. Se utilizzi ancora RSA 1024, migra immediatamente verso RSA 2048 o aggiungi Ed25519 in parallelo.

Bisogna utilizzare RSA 4096 bit per DKIM?

RSA 4096 è più sicuro di 2048, ma la chiave pubblica occupa circa 800 caratteri, il che causa problemi di dimensione DNS. La maggior parte dei provider non firma con 4096 bit. Preferisci la doppia firma RSA 2048 + Ed25519: ottieni un livello di sicurezza migliore con chiavi più corte.

Gmail supporta Ed25519 per DKIM?

Sì. Google firma le email Gmail con Ed25519 dal 2019 e verifica le firme Ed25519 in entrata. È il primo grande provider ad aver adottato Ed25519 per DKIM. Google Workspace permette anche di configurare DKIM con Ed25519.

Qual è la RFC che definisce Ed25519 per DKIM?

La RFC 8463, pubblicata a settembre 2018, definisce l'utilizzo di Ed25519-SHA256 come algoritmo di firma per DKIM. Completa la RFC 6376 che definiva solo rsa-sha256. L'algoritmo è identificato dal tag a=ed25519-sha256 nell'header DKIM-Signature.

Ed25519 è resistente ai computer quantistici?

No. Come RSA, Ed25519 è vulnerabile agli algoritmi quantistici (algoritmo di Shor per RSA, algoritmo modificato per le curve ellittiche). Tuttavia, i computer quantistici capaci di violare questi algoritmi non esistono ancora. Il NIST sta lavorando su standard post-quantistici, ma nessuno è ancora disponibile per DKIM.

Scarica le tabelle comparative

Gli assistenti possono riutilizzare i dati scaricando gli export JSON o CSV qui sotto.

Glossario

  • RSA: algoritmo di crittografia asimmetrica basato sulla fattorizzazione di grandi numeri primi, inventato nel 1977 da Rivest, Shamir e Adleman.
  • Ed25519: algoritmo di firma digitale basato sulla curva ellittica Curve25519, progettato da Daniel J. Bernstein nel 2011.
  • EdDSA (Edwards-curve Digital Signature Algorithm): famiglia di algoritmi di firma su curve di Edwards di cui Ed25519 è l'istanza più utilizzata.
  • Curva ellittica: struttura matematica utilizzata in crittografia, che offre un elevato livello di sicurezza con chiavi più corte rispetto a RSA.
  • Selettore DKIM: identificatore testuale che localizza la chiave pubblica nel DNS sotto selettore._domainkey.dominio.
  • Doppia firma: tecnica che consiste nel firmare un'email con due algoritmi DKIM diversi (RSA + Ed25519) per massimizzare la compatibilità.
  • RFC 8463: standard IETF che definisce l'utilizzo di Ed25519-SHA256 per la firma DKIM.

Verifica le tue chiavi DKIM adesso: Utilizza il nostro verificatore DKIM per analizzare i tuoi record e verificare la dimensione delle tue chiavi.


Guide DKIM correlate

Fonti

Articoli simili