I punti chiave da prendere in considerazione
- Il protocollo DKIM (DomainKeys Identified Mail) appone una firma crittografica a ogni e-mail in uscita, in modo che i server di destinazione possano verificare che il messaggio provenga effettivamente dal proprio dominio e non sia stato alterato durante il trasferimento.
- DKIM funziona tramite una coppia di chiavi: una chiave privata che firma i messaggi sul tuo server e una chiave pubblica pubblicata nel tuo DNS come record DKIM.
- Un DKIM è è la chiave pubblica statica nel DNS; una firma DKIM DKIM è l'intestazione specifica per ogni singolo messaggio aggiunta a ciascuna e-mail; si tratta di due cose diverse.
- A differenza dell'SPF, le firme DKIM non vengono perse durante l'inoltro delle e-mail, il che rende il DKIM il più resiliente dei due per l'allineamento DMARC.
- A partire dal 2024–2025, Google, Yahoo e Microsoft richiedono l'uso del DKIM per i domini che inviano più di 5.000 e-mail al giorno.
- Il DKIM di per sé non impedisce la falsificazione dell'indirizzo del mittente né impone una politica; è proprio questo il ruolo aggiuntivo del DMARC.
DKIM (DomainKeys Identified Mail) è un protocollo di autenticazione della posta elettronica che consente ai server di destinazione di verificare che un messaggio sia stato effettivamente inviato dal dominio da cui dichiara di provenire e che il contenuto non sia stato modificato durante il transito. Funziona allegando una firma crittografica a ogni email in uscita, che il server di destinazione verifica confrontandola con una chiave pubblica pubblicata nel DNS del proprio dominio.
Questa guida illustra l'aspetto di un record DKIM, spiega passo dopo passo come funziona il processo di firma e verifica, illustra come interpretare un'intestazione DKIM-Signature reale e fornisce indicazioni su come risolvere i problemi più comuni.
Che cos’è un record DKIM?
Un record DKIM è un insieme di istruzioni pubblicate come record TXT nel DNS del proprio dominio. Contiene la chiave pubblica corrispondente alla chiave privata che il server di posta utilizza per firmare le e-mail in uscita. Quando un server ricevente desidera verificare una firma, consulta questo record, recupera la chiave pubblica e la utilizza per confermare che il messaggio non sia stato alterato e che provenga effettivamente dal proprio dominio.
Il protocollo DKIM è stato originariamente creato nel 2004 dalla fusione tra DomainKeys di Yahoo e Identified Internet Mail di Cisco, e da allora è diventato uno degli standard di autenticazione delle e-mail più diffusi.
Formato dei record DKIM e convenzioni di denominazione
Un record DKIM non viene pubblicato sul dominio principale. Si trova infatti in un sottodominio specifico, composto da un selettore e dall'etichetta fissa _domainkey. La convenzione di denominazione è la seguente:
[selector]._domainkey.[domain]
Quindi, un record con il selettore "google" per yourdomain.com verrebbe pubblicato all'indirizzo:
google._domainkey.yourdomain.com
Il valore di quel record TXT è il seguente:
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ...
Ogni tag ha una funzione specifica:
| # | Tag | Significato |
|---|---|---|
| 1. | v | Versione: sempre DKIM1 |
| 2. | k | Tipo di chiave, quasi sempre RSA |
| 3. | p | La chiave pubblica stessa (una lunga stringa in Base64) |
È possibile generare un record valido con il nostro generatore DKIM e verificare che sia stato pubblicato correttamente con il nostro strumento di verifica DKIM .
Che cos'è un selettore DKIM?
Un selettore DKIM è un identificatore univoco che indica al server ricevente quale coppia di chiavi è stata utilizzata per firmare un determinato messaggio. Si tratta della stringa alfanumerica definita nel tag "s=" dell'intestazione DKIM-Signature e consente a un dominio di gestire più chiavi contemporaneamente (ad esempio, un selettore per la piattaforma di posta elettronica e uno diverso per un servizio di marketing). Ogni fornitore tramite il quale si effettuano invii dovrebbe utilizzare un proprio selettore distinguibile.
Ad esempio, Google Workspace utilizza “google” come selettore predefinito, quindi la ricerca DNS completa per un messaggio firmato da Google sarebbe google._domainkey.yourdomain.com. Se il nome del tuo record fosse s1._domainkey.yourdomain.com, allora s1 sarebbe il tuo selettore.
Scopri di più sui selettori e su come individuarli nella nostra guida dettagliata guida ai selettori DKIM .
Record DKIM e firma DKIM: qual è la differenza?
Questi due termini vengono costantemente confusi, quindi vale la pena chiarirli. Il record DKIM è la voce TXT statica nel vostro DNS che contiene la chiave pubblica; lo pubblicate una volta sola e rimane lì. La firma DKIM è l’intestazione “DKIM-Signature” aggiunta a ogni singola email al momento dell’invio, generata con la vostra chiave privata. Una è una voce DNS fissa; l’altra viene creata ex novo per ogni messaggio. È il record che verifica la firma. Più avanti analizzeremo l’intestazione della firma campo per campo.
Per saperne di più su quest’ultimo argomento, consulta la nostra guida completa su firme DKIM.
Come funziona DKIM?
L'autenticazione DKIM si svolge in quattro fasi, dalla generazione delle chiavi fino alla decisione finale di superamento o fallimento da parte del destinatario.
Fase 1: Generazione della coppia di chiavi
Il tuo provider di posta elettronica o tu stesso generate una coppia di chiavi crittografiche: una chiave privata che rimane segreta sul server di posta mittente e una chiave pubblica che viene pubblicata nel DNS come record DKIM descritto sopra. Le due chiavi sono matematicamente collegate, quindi qualsiasi messaggio firmato con la chiave privata può essere verificato solo con la chiave pubblica corrispondente.
Fase 2: Firma dell'e-mail in uscita
Quando si invia un messaggio, il server di invio (il Mail Transfer Agent) utilizza la chiave privata per calcolare un hash di parti specifiche dell’e-mail (le intestazioni elencate nel tag h= della firma, oltre al corpo del messaggio) e allega il risultato come intestazione DKIM-Signature al messaggio in uscita.
Fase 3: Ricerca DNS da parte del server ricevente
Il server ricevente legge l'intestazione DKIM-Signature, estrae il selettore (s=) e il dominio di firma (d=), quindi interroga il DNS per ottenere la chiave pubblica all'indirizzo [selettore]._domainkey.[dominio], seguendo esattamente la convenzione di denominazione illustrata nella sezione precedente dedicata ai record DKIM. È qui che la firma relativa a ogni singolo messaggio e il record DNS statico si incontrano.
Fase 4: Verifica
Utilizzando la chiave pubblica recuperata, il server ricevente verifica la firma e ricalcola in modo indipendente l'hash del messaggio effettivamente ricevuto. Successivamente, confronta i due valori. Se corrispondono, il controllo DKIM ha esito positivo: il messaggio è integro e autorizzato dal dominio firmatario. In caso contrario, il controllo DKIM ha esito negativo e il messaggio può essere contrassegnato, messo in quarantena o respinto a seconda della politica DMARC del dominio.
Puoi verificare la tua configurazione in qualsiasi momento utilizzando il nostro strumento gratuito per il controllo DKIM, il cui link è riportato sopra.
All'interno di un'intestazione DKIM-Signature
Ecco come si presenta effettivamente l'intestazione "DKIM-Signature" in un'e-mail ricevuta:
DKIM-Signature: v=1; a=rsa-sha256; d=yourdomain.com; s=google;
c=relaxed/relaxed; h=from:to:subject:date:message-id;
bh=abc123...; b=xyz789...
Ogni campo contiene una parte delle informazioni di cui il destinatario ha bisogno per verificare il messaggio:
| # | Campo | Significato |
|---|---|---|
| 1. | v | Versione dello standard DKIM (sempre 1) |
| 2. | a | Algoritmo di firma, in genere rsa-sha256 |
| 3. | d | Dominio del mittente: deve corrispondere al dominio "Da" per garantire l'allineamento DMARC |
| 4. | s | Selettore, utilizzato per generare la ricerca DNS relativa alla chiave pubblica |
| 5. | c | Modalità di canonicalizzazione |
| 6. | h | Quali intestazioni sono state incluse nella firma |
| 7. | bh | L'hash del corpo del messaggio |
| 8. | b | La firma stessa |
I due campi che svolgono il lavoro effettivo sono bh (l'hash del corpo del messaggio) e b (la firma crittografica). Il campo d= è quello più importante per DMARC: se non corrisponde al dominio "Da" visibile, DKIM può superare il controllo, mentre DMARC può comunque fallire.
Cosa significa “canonizzazione”? (versione “relaxed” vs. “strict”)
Il tag c= definisce il grado di tolleranza della firma nei confronti di piccole modifiche di formattazione apportate durante il trasferimento.
Modalità "Relaxed" (l'opzione più comune e consigliata) tollera piccole differenze negli spazi e nella maiuscola/minuscola delle intestazioni, che sono quasi inevitabili quando la posta passa attraverso i server.
La modalità rigorosa (chiamata anche "semplice") richiede una corrispondenza byte per byte e si interrompe al minimo cambiamento. Questo è importante perché le mailing list e i server di inoltro apportano spesso piccole modifiche (un piè di pagina aggiunto, una riga riscritta) che comprometterebbero la canonicalizzazione rigorosa ma non quella rilassata. Il valore ha il formato c=relaxed/relaxed, dove la prima parte si applica alle intestazioni e la seconda al corpo del messaggio.
Perché il DKIM è importante?
Verifica l'integrità dell'e-mail (impedisce la manomissione)
La firma è un sigillo antimanomissione. Se un messaggio viene intercettato e alterato durante il transito, l’hash ricalcolato dal destinatario non corrisponderà all’hash firmato, la verifica fallirà e l’e-mail verrà respinta o contrassegnata. Questo è il compito principale del DKIM: garantire che il contenuto che arriva sia lo stesso che è stato inviato.
Protegge la reputazione del mittente e la deliverability
Le e-mail correttamente firmate ispirano fiducia nei provider di posta elettronica. Un dominio di invio verificato e autenticato in modo coerente contribuisce a rafforzare la reputazione presso gli ISP, il che significa che i tuoi messaggi legittimi hanno maggiori probabilità di arrivare nella posta in arrivo anziché nella cartella dello spam: un vantaggio diretto sia per le e-mail di marketing che per quelle transazionali.
Resiste all'inoltro delle e-mail (a differenza dell'SPF)
Questa è la distinzione pratica più importante tra i due protocolli, ed è facile non coglierla. Poiché una firma DKIM viene trasmessa insieme al messaggio, continua a essere valida anche dopo che l’e-mail è stata inoltrata. L’SPF, al contrario, confronta l’IP del server mittente con il record SPF del dominio originale; pertanto, quando un messaggio viene inoltrato, l’IP del server di inoltro non è presente in quell’elenco e l’SPF non funziona più. Ecco perché il DKIM è il più affidabile dei due per mantenere l’allineamento DMARC sui flussi di posta inoltrati e indiretti.
Obbligatorio per Google, Yahoo e Microsoft per i mittenti di messaggi in massa
Il DKIM non è più facoltativo per i mittenti con volumi elevati. Ai sensi dei requisiti di Google e Yahoo entrati in vigore nel febbraio 2024 e alle norme equivalenti di Microsoft che entreranno in vigore a partire da maggio 2025, qualsiasi dominio che invii circa 5.000 o più messaggi al giorno a tali provider deve autenticarsi tramite DKIM (insieme a SPF e DMARC), pena il rischio che le e-mail vengano respinte o filtrate come spam. Anche al di sotto di tale soglia, DKIM è ormai il requisito minimo per garantire una buona deliverability.
DKIM, SPF e DMARC: come funzionano insieme
Il DKIM è uno dei tre standard di autenticazione delle e-mail progettati per essere utilizzati insieme, non separatamente. Ecco come si ripartiscono i compiti:
| # | Protocollo | Cosa verifica | Cosa non è coperto | Punto debole intrinseco |
|---|---|---|---|---|
| 1. | SPF | Che l'indirizzo IP del server mittente sia autorizzato per il dominio | Il contenuto del messaggio e se l'indirizzo "Da" visibile corrisponde al dominio del percorso di ritorno. | Interruzioni nella trasmissione; integrità dei contenuti non garantita |
| 2. | DKIM | Che il contenuto del messaggio sia integro e firmato dal dominio | Se il dominio del mittente corrisponde al campo "Da" visibile | Non è una misura di sicurezza; da sola non impedisce la falsificazione dell'indirizzo del mittente |
| 3. | DMARC | Che l'SPF o il DKIM siano validi e corrispondano al dominio "Da" | Dipende dall'allineamento del dominio SPF/DKIM | È necessario che siano attivi SPF e/o DKIM |
In parole povere: SPF verifica il server mittente, DKIM verifica l'integrità del messaggio e DMARC collega entrambi al dominio che i destinatari vedono effettivamente nel campo "Da", quindi aggiunge una politica che indica ai destinatari cosa fare quando un controllo fallisce. DKIM e SPF si occupano dell'autenticazione; DMARC si occupa dell'allineamento e dell'applicazione delle regole. È consigliabile utilizzare tutti e tre.
Errori comuni relativi al DKIM e come risolverli
Nessuna delle pagine più in alto nei risultati di ricerca relative alla ricerca “cos’è il DKIM” spiega in dettaglio quali sono i problemi che si verificano effettivamente. Ecco i quattro errori più comuni che potresti incontrare e come risolverli.
Firma DKIM non trovata
Cosa significa: Questo errore indica che il server ricevente non ha rilevato alcuna firma DKIM. Di solito, ciò significa che DKIM non è configurato per il servizio di invio utilizzato oppure che il record DNS non è mai stato pubblicato.
Come risolvere il problema: abilita la firma DKIM su ogni servizio che invia e-mail a nome del tuo dominio e verifica che il record sia presente nel DNS.
Verifica della firma DKIM non riuscita
Cosa significa: era presente una firma, ma non è stata verificata, il che significa che il corpo del messaggio o le intestazioni firmate sono stati modificati dopo la firma. La causa più comune è l'aggiunta di un piè di pagina, la riscrittura dell'oggetto o la rimozione delle intestazioni da parte di una mailing list o di un server di inoltro.
Come risolvere il problema: Una canonicalizzazione meno rigida riduce questo problema, e l'ARC (Authenticated Received Chain) esiste proprio per preservare i risultati dell'autenticazione durante i passaggi di inoltro. Tuttavia, l'ARC sarà presto deprecato e DKIM2, una volta implementato, ridurrà significativamente i problemi di inoltro.
Chiave pubblica non trovata nel DNS
Cosa significa questo: Il destinatario ha cercato la chiave pubblica ma non ha trovato nulla. In genere si tratta di una discrepanza tra il selettore o il dominio nell'intestazione DKIM-Signature e il nome effettivo del record DNS, di un ritardo nella propagazione DNS a seguito di una modifica recente, oppure di un semplice errore di battitura nel nome del record, il più delle volte un trattino basso mancante in _domainkey.
Come risolvere il problema: Esegui un controllo del tuo dominio tramite uno strumento di verifica DKIM per individuare tutti gli errori e correggerli uno per uno.
Chiave troppo corta / Chiave debole
Cosa significa questo: Molte piattaforme di posta elettronica e pannelli di hosting meno recenti generano ancora chiavi a 1024 bit per impostazione predefinita. La RFC 8301 considera i 1024 bit come il minimo indispensabile, ma raccomanda almeno 2048 bit per la firma, mentre il NIST classifica l’RSA a 1024 bit come destinato esclusivamente a un uso obsoleto. I principali provider di posta elettronica come Google accettano ancora 1024 bit come requisito minimo, ma raccomandano 2048 bit; pertanto, una chiave a 1024 bit non rappresenta oggi un fallimento totale, ma è semplicemente al di sotto dello standard attuale e il suo margine di sicurezza continua a ridursi.
Come risolvere il problema: utilizzare una chiave RSA a 2048 bit con rsa-sha256 come impostazione predefinita. Due aspetti da tenere in considerazione durante l'aggiornamento: una chiave pubblica a 2048 bit è troppo lunga per una singola stringa DNS TXT da 255 byte, quindi deve essere suddivisa in più stringhe racchiuse tra virgolette all'interno dello stesso record; inoltre, è consigliabile ruotare le chiavi ogni 6-12 mesi.
Migliori pratiche DKIM
- Utilizzate chiavi da 2048 bit, non da 1024 bit: Le chiavi più lunghe sono più sicure e sempre più richieste dai principali fornitori.
- Effettuare la rotazione delle chiavi almeno una volta all'anno: Pubblicare la nuova chiave nel DNS prima di disattivare quella vecchia, in modo che non vi siano interruzioni nella verifica durante il passaggio.
- Firmare tutte le fonti delle email in uscita: Ogni servizio di terze parti (CRM, piattaforma di email marketing, help desk) richiede che la propria firma DKIM sia configurata con il proprio selettore.
- Monitorare i tassi di superamento/fallimento: Esamina i tuoi report aggregati DMARC in modo da individuare un selettore non funzionante o un mittente non firmato prima che ciò comprometta la deliverability.
Limiti del DKIM
Il DKIM è fondamentale, ma da solo non è sufficiente. Di seguito sono riportati alcuni limiti concreti:
Il DKIM, di per sé, non impedisce la falsificazione dell'indirizzo del mittente
Il DKIM autentica il dominio indicato nel tag "d=" della firma e conferma che il messaggio non sia stato alterato, ma non verifica che il valore di "d=" corrisponda all'indirizzo "Da" visualizzato dal destinatario. Tale verifica di corrispondenza spetta al DMARC. Inoltre, se un malintenzionato riesce ad accedere a un account o a un server legittimo, può inviare un'e-mail firmata in modo valido.
Il DKIM dipende dalla corretta pubblicazione dei record DNS
Un record configurato in modo errato, un ritardo nella propagazione o un selettore sbagliato causeranno il fallimento di DKIM anche per le e-mail legittime.
Il DKIM non applica alcuna politica di per sé
DKIM fornisce solo un risultato di superamento o fallimento e non indica ai destinatari come comportarsi in caso di fallimento. È proprio l'abbinamento con DMARC, che utilizza i risultati di DKIM (e/o SPF) per applicare una politica di quarantena o di rifiuto, a trasformare l'autenticazione in una protezione effettiva.
La gestione delle chiavi aumenta la complessità operativa
La gestione delle chiavi su più servizi di invio, la loro rotazione in modo sicuro e il coordinamento di tutti i mittenti di terze parti richiedono un'attenzione costante e un monitoraggio regolare. Eseguire manualmente queste operazioni per più domini non solo richiede molto tempo, ma comporta anche un elevato impiego di risorse.
Abilitare il DKIM con PowerDMARC
PowerDMARC consente ai proprietari di domini di configurare DKIM insieme a SPF e DMARC, con monitoraggio e reportistica in tempo reale, in modo da poter tenere traccia dei risultati dell'autenticazione e individuare gli errori non appena si verificano, senza bisogno di interventi manuali.
La piattaforma gestisce più domini e elevati volumi di posta elettronica, e integra DKIM in hosting con gli altri protocolli di autenticazione per garantire una protezione completa contro le frodi via e-mail. È possibile configurare DKIM e DMARC in pochi minuti, senza dover armeggiare manualmente con il DNS.
Con il servizio DKIM in hosting di PowerDMARC, avrai a disposizione:
- Configurazione CNAME una tantum, nessuna modifica al DNS in seguito: Collega il tuo dominio una sola volta, poi gestisci ogni selettore e ogni modifica delle chiavi da un'unica dashboard cloud, senza dover intervenire sul DNS per ogni aggiornamento.
- Rotazione delle chiavi senza accesso al DNS: Pianifica e applica la rotazione delle chiavi istantaneamente dalla dashboard, senza ritardi di propagazione né modifiche manuali ai record, in modo da evitare tempi di inattività ed eliminare il rischio di errori di sintassi.
- Piena flessibilità nella lunghezza delle chiavi: Scegli chiavi da 1024, 2048 o 4096 bit e potenzia la sicurezza delle chiavi senza compromettere l'autenticazione.
- Una dashboard dedicata a DKIM Analytics: Monitora in tempo reale il volume delle e-mail, i tassi di superamento dei controlli DKIM e le prestazioni per singolo selettore, per una rapida visibilità e risoluzione dei problemi.
- Controllo multi-dominio e compatibile con gli MSP: Gestisci DKIM su centinaia di domini e sottodomini da un'unica piattaforma, grazie a una vista multi-tenant pensata per le aziende e i fornitori di servizi.
- Uno stack completo di autenticazione in un'unica piattaforma: DKIM affianca DMARC, SPF, MTA-STS e BIMI e si integra con provider come Google Workspace e Microsoft 365.
Domande frequenti
1. Cosa significa l'acronimo DKIM?
DKIM è l'acronimo di DomainKeys Identified Mail. Si tratta di un protocollo di autenticazione delle e-mail che utilizza una firma crittografica per verificare che un messaggio provenga effettivamente dal dominio dichiarato e che non sia stato alterato durante il transito.
2. Che cos'è il DKIM, in parole semplici?
Puoi pensare al DKIM come a un sigillo antimanomissione apposto sulla tua e-mail. Il tuo server firma ogni messaggio con una chiave privata, mentre il server ricevente verifica la validità di quel sigillo confrontandolo con una chiave pubblica presente nel tuo DNS. Se il sigillo è intatto, l'e-mail è autentica e non è stata modificata.
3. Come posso configurare DKIM per il mio dominio?
Per configurare DKIM, è necessario generare una coppia di chiavi (tramite il proprio provider di posta elettronica o il nostro generatore DKIM), configurare il server di invio in modo che firmi le e-mail in uscita con la chiave privata e pubblicare la chiave pubblica come record TXT all'indirizzo selector._domainkey.yourdomain.com. È possibile consultare la nostra guida completa guida alla configurazione di DKIM per istruzioni dettagliate.
4. Il DKIM è sufficiente da solo?
No. Il DKIM verifica l'integrità del messaggio, ma non controlla l'indirizzo "Da" visibile né impone alcuna politica. Per una protezione completa contro lo spoofing, è necessario abbinarlo a SPF e DMARC.
5. Qual è la differenza tra DKIM e SPF?
SPF autorizza i server autorizzati a inviare e-mail per conto del proprio dominio (verificando il percorso), mentre DKIM verifica che il contenuto del messaggio non sia stato alterato e che sia stato firmato dal dominio (verificando l’integrità e l’origine). Le firme DKIM spesso rimangono valide anche dopo l’inoltro, mentre quelle SPF di solito non sono più valide quando l’e-mail viene inoltrata.
6. Come posso verificare se DKIM è configurato correttamente?
Per verificare se il tuo record DKIM è configurato correttamente, utilizza lo strumento gratuito di verifica DKIM di PowerDMARC. Basta inserire il tuo dominio e il selettore, e lo strumento interrogherà il DNS per confermare che il tuo record sia pubblicato, ben formato e recuperabile.
7. Cosa succede se il DKIM non funziona?
Un errore DKIM indica che il messaggio è stato manomesso o non è stato firmato correttamente. I destinatari potrebbero contrassegnarlo come spam e, se è in vigore una politica DMARC e anche l'SPF non supera il controllo, il messaggio potrebbe essere messo in quarantena o respinto del tutto.
8. Con quale frequenza dovrebbero essere sostituite le chiavi DKIM?
Le chiavi DKIM dovrebbero essere sostituite almeno una volta all'anno. Pubblicare sempre la nuova chiave nel DNS prima di disattivare quella vecchia, in modo da evitare interruzioni durante le quali non sia possibile verificare le e-mail.
9. Il DKIM può impedire il phishing?
Il DKIM da solo non è in grado di impedire il phishing. Il DKIM rende più difficile la falsificazione delle e-mail e impedisce la manomissione dei contenuti, ma non blocca lo spoofing dell’indirizzo “Da” visibile; solo l’allineamento DMARC è in grado di farlo. Il DKIM è uno dei livelli necessari in una configurazione anti-phishing, non la soluzione completa.
10. Il DKIM influisce sulla recapitabilità delle e-mail?
Il DKIM ha un impatto positivo sulla deliverability delle tue email. Un’email correttamente firmata contribuisce a rafforzare la reputazione del mittente presso gli ISP, migliorando il posizionamento nella posta in arrivo; inoltre, dato che Google, Yahoo e Microsoft ora richiedono il DKIM per i mittenti che inviano email in massa, la sua assenza potrebbe far finire la tua email nella cartella dello spam o causarne il rifiuto.