DKIM (DomainKeys Identified Mail)

Email e Sicurezza
Un metodo di autenticazione della posta che aggiunge una firma digitale ai messaggi in uscita, consentendo ai destinatari di verificare che il messaggio non sia stato alterato.
← Torna al Glossario

Che cos'è DKIM?

DKIM (DomainKeys Identified Mail) è un metodo di autenticazione e-mail che consente al server di inviare di firmare digitalmente messaggi in uscita. Il server ricevente può quindi verificare questa firma utilizzando una chiave pubblica pubblicata in DNS, confermando che l'e-mail non è stata modificata in transito e realmente originata dal dominio rivendicato.

Come funziona DKIM

1. Traduzione: Il proprietario del dominio genera una coppia chiave pubblica/privata

2. DNS Publication: La chiave pubblica è pubblicata come record TXT

3. Message Signing: Le email in uscita sono firmate con la chiave privata

4. Verifica della situazione Ricezione del server recupera la chiave pubblica e verifica la firma

Processo di firma

Quando viene inviata una email:

1. Mail server calculates a hash of message headers and body

2. Hash is encrypted with the private key (creating the signature)

3. Signature is added as a DKIM-Signature header

4. Email is transmitted

Processo di verifica

Quando viene ricevuta una e-mail:

1. Server extracts the DKIM-Signature header

2. Finds selector and domain (s=selector; d=domain.com)

3. Queries DNS for selector._domainkey.domain.com TXT record

4. Uses public key to decrypt the signature

5. Calculates its own hash of the message

6. Compares: match = pass, mismatch = fail

Formato del record DKIM

I record DKIM sono record TXT in un sottodominio specifico:

selector._domainkey.example.com.    IN    TXT    "v=DKIM1; k=rsa; p=MIGfMA0..."

Componenti del record

Tag:DescrizioneEsempio
VVersioneTraduzione:
#Tipo chiave#
PChiave pubblica (base64)p=MIGfMA0GCSqG...
tBandiere (opzionale)t=y (modalità di prova)
hAlgoritmi HashTraduzione:

Selettori

I selettori permettono più chiavi DKIM per dominio:

google._domainkey.example.com       # Google Workspace

s1._domainkey.example.com # Sendgrid

mailchimp._domainkey.example.com # Mailchimp

Ogni servizio di posta elettronica fornisce il proprio selettore e chiave.

Intestazione della firma DKIM

Una firma DKIM sembra:

DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=google;

c=relaxed/relaxed; q=dns/txt;

h=from:to:subject:date:message-id;

bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;

b=AuUoFEfDxTDkHlLXSZEpZj79...

Campi chiave:

Configurazione di DKIM

Per Google Workspace

1. Vai ad Admin Console → Apps → Gmail → Autentico email

2. Generare chiave DKIM (2048-bit raccomandato)

3. Aggiungi TXT record fornito da Google

4. Attiva la firma DKIM

Per i servizi di terze parti

La maggior parte dei servizi e-mail (SendGrid, Mailchimp, ecc.) forniscono:

1. Un record CNAME da aggiungere (per la loro chiave gestita)

2. O un record TXT con la chiave pubblica

Esempio (SendGrid):

s1._domainkey.example.com    CNAME    s1.domainkey.sendgrid.net

Verifica di DKIM

Inviare un'email di prova ad un servizio che mostra intestazioni (Gmail mostra risultati di autenticazione). Utilizzando la riga di comando:
dig google._domainkey.example.com TXT
curl "https://domscan.net/v1/health?domain=example.com"

# Reports DKIM status based on common selectors

Procedure consigliate per DKIM

Usa chiavi da 2048 bit

Le vecchie chiavi a 1024 bit sono sempre più vulnerabili. La maggior parte dei provider ora di default a 2048-bit.

Ruota periodicamente le chiavi

Ruotare le chiavi DKIM ogni anno o dopo gli incidenti di sicurezza. Pubblica una nuova chiave con il nuovo selettore prima di passare.

Firma le intestazioni importanti

Assicurarsi da, a, soggetto, data e messaggio-ID sono inclusi nelle firme.

Non modificare i messaggi firmati

Mailing list o servizi di inoltro che modificano i contenuti romperanno DKIM. Utilizzare ARC (catena autenticata ricevuta) per posta inoltrata.

Limiti di DKIM

DKIM da solo non impedisce lo spoofing, dimostra solo che un messaggio non è stato modificato. Un dominio può avere DKIM valido mentre gli aggressori inviano e-mail spoofed non firmate. DMARC si rivolge a questo specificando cosa fare con messaggi non firmati.

Metti in Pratica Questa Conoscenza

Usa l'API di DomScan per verificare disponibilità, salute del dominio e altro.