Messaggi

Chiavi di dominio identificate Mail (DKIM) è un metodo di autenticazione delle e-mail che consente a un'organizzazione di assumersi la responsabilità di un messaggio inviato. Utilizza la crittografia a chiave pubblica per "firmare" digitalmente le e-mail, dimostrando ai destinatari che il messaggio è stato inviato dal proprietario del dominio. I destinatari possono verificare la firma con la chiave pubblica pubblicata del loro dominio per verificare la firma.

Questo articolo esaminerà in dettaglio il DKIM e fornirà una panoramica sul funzionamento di questo metodo di autenticazione delle e-mail.

Che cos'è la firma DKIM?

DKIM è l'acronimo di DomainKeys Identified Mail. È un sistema di autenticazione delle e-mail che fornisce integrità e non ripudio utilizzando firme crittografiche. Insieme a DMARC può aiutare a costruire una solida infrastruttura di protezione contro gli spoof per le vostre e-mail.

Il protocollo DKIM crea una firma crittografica per ogni messaggio inviato ai destinatari, nonché una firma di dominio che viene aggiunta all'intestazione del messaggio.

Questa firma viene utilizzata dal destinatario per verificare che il messaggio sia stato effettivamente inviato dal proprietario del dominio e non da qualcun altro. Verifica inoltre che il messaggio non sia stato manomesso durante il suo percorso dal mittente al destinatario.

Se non corrisponde, allora o:

  1. Il messaggio è stato alterato durante la trasmissione, oppure
  2. Il messaggio viene inviato per conto di un'altra persona che ha accesso alla chiave privata del server di invio.

In questi casi di mancata corrispondenza delle firme, il DKIM impedirà che le e-mail vengano consegnate ai destinatari perché questi non saranno in grado di convalidarle come messaggi legittimi del vostro marchio.

Come funziona una firma DKIM?

Le firme DKIM funzionano inserendo una firma digitale nell'intestazione di un'e-mail. Questa firma può essere verificata dal server ricevente e utilizzata per determinare se un'e-mail è stata manomessa o meno durante il trasporto.

DKIM utilizza la crittografia a chiave pubblica, che si basa su una coppia di chiavi: una privata e una pubblica. La chiave pubblica è distribuita a chiunque la desideri, mentre la chiave privata è tenuta segreta (di solito dal proprietario).

Quando si firma un'e-mail utilizzando DKIM, la propria chiave privata viene utilizzata per creare un hash del contenuto del messaggio e quindi crittografare tale hash con la chiave pubblica del destinatario. Questo hash criptato viene quindi inserito nell'intestazione del messaggio, dove può essere convalidato dal destinatario.

Le chiavi della firma DKIM

Le firme DKIM sono generate utilizzando due chiavi crittografiche, una pubblica e una privata. La chiave pubblica viene pubblicata nel DNS, mentre la chiave privata viene tenuta segreta.

Quando un'e-mail viene firmata, la chiave privata viene utilizzata per generare un hash del messaggio. Questo hash viene poi crittografato con la chiave pubblica e inviato insieme al messaggio stesso.

Quando il destinatario riceve queste informazioni, utilizza la propria chiave privata per decifrare l'hash e verificare che corrisponda al contenuto originale del messaggio.

Le parti della firma DKIM

Una firma DKIM è composta da due parti: l'intestazione e il corpo. L'intestazione contiene informazioni sull'identità del mittente, tra cui l'indirizzo e-mail e la chiave pubblica. Il corpo contiene il messaggio effettivamente inviato.

  1. Per calcolare una firma DKIM, si prende innanzitutto un hash MD5 del proprio nome di dominio (ad esempio, "example.com"), che è la propria chiave pubblica.
  2. Quindi, si concatena il nome del dominio con un hash SHA1 (ad esempio, "sha1(example.com)") e lo si aggiunge al messaggio originale inviato.
  3. Si prende quindi un altro hash MD5 di questa stringa combinata (ad esempio, "md5(sha1(example.com))") e lo si allega come intestazione all'inizio del messaggio prima di inviarlo per la consegna.

Fasi coinvolte nella firma DKIM

Come iniziare con DKIM:

  1. Il primo passo consiste nel creare una chiave privata, che viene utilizzata per firmare il messaggio.
  2. Il secondo passo consiste nel creare una chiave pubblica, che viene utilizzata per la verifica della firma.
  3. Il terzo passo consiste nel generare due record DNS TXT: uno per la chiave pubblica e un altro per il nome del selettore.
  4. Il quarto passo consiste nel pubblicare questi record nel file di zona DNS.

Fasi della firma DKIM:

1. Il mittente genera un messaggio con un identificatore unico chiamato funzione di hash crittografico (di solito SHA-256). Questo identificatore unico è chiamato campo di intestazione DKIM-Signature e contiene informazioni su chi ha firmato il messaggio e quando lo ha fatto.

2. Il mittente aggiunge al messaggio campi di intestazione supplementari che contengono informazioni su:

  • per quanto tempo il messaggio deve essere considerato valido
  • la frequenza con cui la firma deve essere ricontrollata per verificarne la validità
  • se le firme debbano essere convalidate utilizzando un servizio esterno come SPF (Sender Policy Framework)
  • quali chiavi sono state utilizzate per firmare questo messaggio

3. Infine, i destinatari che desiderano verificare queste firme utilizzeranno la loro copia della chiave pubblica del mittente dai loro record DNS o da un servizio intermedio come SenderID o Mailgun, quindi la utilizzeranno per convalidare qualsiasi messaggio con intestazioni DKIM allegate.

Capire i tag utilizzati nella firma DKIM

Questo è un esempio di come potrebbe apparire un record di firma DKIM:

Firma DKIM: v=1;

a=rsa-sha256;

s=jun2005.eng;

c=rilassato/rilassante;

d=esempio.com;

s=dkim;

t=1526555738;

bh=mhU6OJb5ldZf+z/pX9+0Nc4tj/lmyYHWbR8LgI2Q=;

h=To:From:Subject:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding;

b=s1sdZCzdX9vxocsMSlT7cOrYixl1g8wfkdzrVe7BGN6ZdPV9xu2A

v= Questo tag indica la versione del DKIM.

a= Specifica l'algoritmo utilizzato dal firmatario per generare la sua chiave pubblica. Può essere uno dei seguenti: RSA1_5, RSA-SHA1 o RSASSA-PSS. Se questo tag manca, si assume RSA-SHA1.

c= Specifica l'algoritmo di canonicalizzazione usato per generare hash dai campi dell'intestazione, come richiesto da [BCP14]. È seguito da un elenco separato da virgole di 1 o più algoritmi di canonicalizzazione (ad esempio, "c=relaxed"). Se questo tag viene omesso, si assume una canonicalizzazione rilassata.

d= Specifica quale nome di dominio deve essere usato quando si generano le firme per i messaggi inviati da questo server (o da un altro destinatario).

s= Il tag "s" è la stringa del selettore, utilizzata dal server ricevente per determinare la chiave pubblica da utilizzare per verificare la firma.

t= Il tag timestamp è usato per registrare quando la firma è stata creata ed è tipicamente rappresentato come un timestamp Unix (il numero di secondi dal 1° gennaio 1970).

bh= Questo tag rappresenta l'hash del corpo, che è una versione crittografata del contenuto del messaggio (incluse le intestazioni). Questo aiuta a prevenire la manomissione dei messaggi dopo che sono stati firmati da DKIM e prima che raggiungano i destinatari.

h= Il valore hash dell'intestazione contiene tutte le intestazioni nella loro interezza (comprese quelle firmate da Sender Policy Framework o DomainKeys Identified Mail), tranne quelle che sono state esplicitamente escluse includendole in un elenco di esclusione. Questo valore deve essere calcolato con SHA-1 o MD5.

b= Il tag "b" è la rappresentazione codificata in base64 di una funzione hash crittografica sul corpo canonicalizzato del messaggio (cioè, dopo che la codifica MIME è stata rimossa).

Generazione di una firma DKIM

  1. Generare una chiave pubblica e una privata.
  2. Generare un'intestazione e un piè di pagina DKIM.
  3. Firmare il contenuto dell'e-mail con la propria chiave privata utilizzando l'algoritmo selezionato, ad esempio RSA-SHA256 o RSA-SHA512.
  4. Comprime il messaggio utilizzando l'algoritmo selezionato, ad esempio deflate o nessuno.
  5. Inserire le intestazioni DKIM all'inizio del messaggio, prima di qualsiasi intestazione MIME.
  6. Inserire il piè di pagina DKIM dopo qualsiasi piè di pagina MIME.

Garantire la validità della firma DKIM

È possibile adottare alcune misure per garantire la validità della firma DKIM:

  1. Stabilire se si vuole utilizzare un algoritmo di firma DKIM tradizionale o uno ottimizzato.
  2. Calcolare un valore di hash per l'intestazione e il corpo del messaggio (in genere si tratta di SHA-256).
  3. Scegliere un algoritmo di firma appropriato (come RSA o ECDSA).
  4. Verificate che la vostra chiave pubblica corrisponda al selettore specificato in precedenza al punto 1 (questo si ottiene utilizzando il DNS).
  5. Firmate il messaggio utilizzando la vostra chiave privata e memorizzatela come stringa ASCII in formato Base64 all'interno dell'intestazione del messaggio e-mail (oltre a inserirla nel DNS).

Verifica della firma DKIM

La verifica della firma DKIM è complicata. Richiede molte competenze per essere impostata e mantenuta e spesso viene utilizzata insieme ad altri sistemi come SPF, anch'essi complicati.

Di conseguenza, la maggior parte degli addetti al marketing delle e-mail utilizza uno strumento di verifica delle firme DKIM, come un DKIM record checker per verificare le firme DKIM. Questo strumento controlla le chiavi DKIM aggiunte a un'e-mail e le verifica rispetto a un database pubblico. Se le chiavi sono valide e attendibili, l'e-mail può essere considerata legittima.

Questo è importante per diversi motivi: in primo luogo, assicura che le vostre e-mail non vengano segnalate come spam dagli ISP o dai clienti degli ISP; in secondo luogo, vi permette di evitare che il vostro dominio venga inserito nella lista nera di altri domini (si tratta del cosiddetto domain poisoning); infine, aiuta a garantire che le vostre e-mail non vengano coinvolte in alcun tipo di attacco man-in-the-middle.

Conclusione

DKIM è una soluzione promettente che consente a un'organizzazione di convalidare la legittimità delle e-mail, soprattutto quelle provenienti da mittenti esterni. Se applicato in modo coerente in tutto l'ambiente di messaggistica, fornisce ai destinatari un elevato grado di sicurezza che un'e-mail sia stata inviata da un rappresentante autorizzato del dominio del mittente. Tuttavia, è importante notare che, sebbene DKIM fornisca un meccanismo di verifica, non è sufficiente a proteggere da attacchi di frode via e-mail come spoofing e phishing. Per questo è necessario un politica DMARC come rifiuto è obbligatoria.

Avete bisogno di aiuto?

L'autenticazione delle e-mail è una parte necessaria della strategia di marketing digitale di qualsiasi azienda. Con così tante e-mail inviate e ricevute ogni giorno, è facile che il vostro marchio si perda nella confusione. Ma con i servizi di autenticazione delle e-mail di PowerDMARC, potete assicurarvi che le vostre e-mail siano viste dalle persone giuste. 

La nostra soluzione di autenticazione delle e-mail vi aiuterà:

  • Aumentate la deliverability delle e-mail verificando il vostro nome di dominio e la firma DKIM.
  • Migliorare l'immagine del vostro marchio, mostrando ai destinatari che siete un'azienda legittima.
  • Migliorare l'esperienza complessiva dei clienti, assicurandosi che vedano solo messaggi legittimi da parte vostra.

Se avete provato a convalidare il vostro record DKIM con DKIM record lookup, dovete specificare il vostro selettore DKIM. In questo blog discuteremo i vari modi per come trovarlo per il tuo dominio. DKIM, o DomainKeys Identified Mail è il protocollo standard di autenticazione e-mail che fa uso della crittografia per autenticare i messaggi. DKIM esiste nel tuo DNS come un record DNS TXT che puoi facilmente generare utilizzando il nostro generatore di record DKIM gratuito, e successivamente pubblicato nel DNS del tuo dominio per configurare il protocollo per il tuo dominio.

Cos'è un selettore DKIM?

Puoi individuare il selettore DKIM per il tuo dominio come un tag "s=" nell'intestazione della firma DKIM. È una variabile stringa che aiuta a puntare verso la chiave pubblica DKIM nel DNS del tuo dominio mentre autentichi i tuoi messaggi usando il protocollo di autenticazione DKIM. L'MTA ricevente autentica i vostri messaggi in uscita confrontando la chiave privata assegnata alla vostra e-mail con la chiave pubblica nel vostro DNS per verificare la legittimità dell'e-mail.

Il tuo selettore è un identificatore unico e deve essere diverso per i diversi servizi di scambio e-mail o fornitori che stai usando.

Come trovare il selettore DKIM usando la posta di prova?

Puoi trovare il tuo selettore usando i seguenti 3 passi:

1) Invia una mail di prova al tuo account gmail
2) Clicca sui 3 punti accanto alla mail nella tua casella di posta gmail

3) Selezionare "mostra l'originale".

4) Nella pagina "Messaggio originale" naviga in fondo alla pagina fino alla sezione della firma DKIM e cerca di individuare il tag "s=", il valore di questo tag è il tuo selettore DKIM.

Nell'esempio precedente, s1 è il mio selettore DKIM. Questo è uno dei metodi che puoi usare per identificare e localizzare il tuo.

Come trovare il selettore DKIM con PowerDMARC

In alternativa, puoi iscriverti a PowerDMARC per essere in prova gratuita con l'analizzatore DMARC e abilitare il reporting DMARC per il tuo dominio. Qui potete facilmente individuare e identificare i selettori DKIM per ciascuna delle vostre fonti di invio nella vista dei rapporti aggregati DMARC. In questo modo non dovrai più inviarti manualmente mail di prova per cercarlo ogni volta.

1) Nel pannello di controllo di PowerDMARC, vai a DMARC aggregate reports e alla vista desiderata. Per questo esempio sto lavorando con la vista "Per fonte di invio".
2) Fate scorrere a cascata la riga della fonte di invio per la quale volete visualizzare il vostro selettore DKIM
3) Incorporare la riga dell'hostname del mittente
4) Sarete ora in grado di trovare il selettore sotto la casella di verifica DKIM, come mostrato di seguito:

Una volta trovato il tuo selettore DKIM puoi liberamente eseguire il controllo del record DKIM per configurare gli errori nel tuo record DKIM e risolvere i problemi. Spero che questo blog ti abbia aiutato a trovare il tuo selettore DKIM. Ottieni il tuo analizzatore DMARC gratuito oggi stesso per implementare SPF, DKIM e DMARC senza errori per il tuo dominio!

Prima di arrivare a come impostare DKIM per il tuo dominio, parliamo un po' di cos'è DKIM. DKIM, o DomainKeys Identified Mail, è un protocollo di autenticazione e-mail che viene utilizzato per verificare l'autenticità delle e-mail in uscita. Il processo comporta l'utilizzo di una chiave crittografica privata generata dal tuo server di posta che firma ogni messaggio di posta in uscita. Questo assicura che i tuoi destinatari possano verificare che le email che ricevono sono state inviate dal tuo server di posta e non sono falsificate. Questo può migliorare la deliverability e aiutare ad eliminare lo spam. Per dirla semplicemente, un'email da un server di posta abilitato DKIM contiene una firma digitale o più correttamente, una firma crittografica, che può essere convalidata dal server di posta del destinatario.

DKIM è stato creato combinando tecnologie esistenti come DomainKeys (di Yahoo) e Identified Internet Mail (di Cisco). Si è sviluppato in un metodo di autenticazione ampiamente adottato, che è noto come DKIM ed è anche registrato come RFC (Request for Comments) dalla IETF (Internet Engineering Task Force). Tutti i principali ISP come Google, Microsoft e Yahoo creano una firma digitale che è incorporata nell'intestazione delle e-mail in uscita e convalidano la posta in arrivo con le loro politiche.

Nel blog ci addentreremo nel meccanismo utilizzato in DKIM per convalidare le vostre email e i suoi vari vantaggi, così come impareremo come impostare DKIM per il vostro dominio.

Come impostare DKIM per proteggere il tuo dominio dallo spoofing?

La firma DKIM è generata dall'MTA e viene memorizzata nel dominio della lista. Dopo aver ricevuto l'e-mail, è possibile verificare il DKIM utilizzando la chiave pubblica. DKIM come meccanismo di autenticazione che può provare l'identità di un messaggio. Questa firma prova che il messaggio è generato da un server legittimo.

Questo è particolarmente necessario dal momento che gli attacchi di spoofing del dominio sono in aumento negli ultimi tempi.

Cos'è una firma DKIM?

Per usare DKIM, è necessario decidere cosa dovrebbe essere incluso nella firma. Tipicamente questo è il corpo dell'email e alcune intestazioni predefinite. Non puoi cambiare questi elementi una volta che sono impostati, quindi sceglili con attenzione. Una volta deciso quali parti dell'email saranno incluse nella firma DKIM, questi elementi devono rimanere invariati per mantenere una firma DKIM valida.

Da non confondere con il selettore DKIM, la firma DKIM non è altro che un consorzio di valori stringa arbitrari noti anche come "valori hash". Quando il tuo dominio è configurato con DKIM, il tuo server di posta elettronica di invio cripta questo valore con una chiave privata a cui solo tu hai accesso. Questa firma assicura che l'email che invii non è stata alterata o manomessa dopo il suo invio. Per convalidare la firma DKIM, il destinatario dell'email eseguirà una query DNS per cercare la chiave pubblica. La chiave pubblica sarà stata fornita dall'organizzazione che possiede il dominio. Se corrispondono, la tua email è classificata come autentica.

Come impostare DKIM in 3 semplici passi?

Per implementare DKIM facilmente con PowerDMARC tutto quello che devi fare è generare il tuo record DKIM usando il nostro generatore di record DKIM gratuito. Il tuo record DKIM è un record DNS TXT che viene pubblicato nel DNS del tuo dominio. Poi puoi condurre una ricerca DKIM gratuita, usando il nostro strumento di ricerca del record DKIM. Questo strumento gratuito fornisce un controllo DKIM con un solo clic, assicurando che il tuo record DKIM sia privo di errori e valido. Tuttavia, per generare il record, devi prima identificare il tuo selettore DKIM.

Come faccio a identificare il mio selettore DKIM?

Una domanda comune sollevata spesso dai proprietari di domini è come faccio a trovare il mio DKIM? Per trovare il tuo selettore DKIM, tutto quello che devi fare è:

1) Invia una mail di prova al tuo account gmail 

2) Clicca sui 3 punti accanto all'email nella tua casella di posta elettronica

3) Selezionare "mostra l'originale". 

4) Nella pagina "Messaggio originale" naviga in fondo alla pagina fino alla sezione della firma DKIM e cerca di individuare il tag "s=", il valore di questo tag è il tuo selettore DKIM. 

DMARC e DKIM

Una domanda comune che ci si può trovare spesso a fare è se l'implementazione di DKIM è sufficiente? La risposta è no. Mentre DKIM ti aiuta a criptare i tuoi messaggi email con una firma crittografica al fine di convalidare la legittimità dei tuoi mittenti, non fornisce un modo per i destinatari di email di rispondere ai messaggi che falliscono DKIM. È qui che entra in gioco DMARC!

Domain-Based Message Authentication, Reporting and Conformance (DMARC) è un protocollo di autenticazione e-mail che aiuta i proprietari di domini ad agire contro i messaggi che falliscono l'autenticazione SPF/DKIM. Questo a sua volta riduce le possibilità di attacchi di spoofing del dominio e BEC. DMARC insieme a SPF e DKIM può migliorare la deliverability delle email del 10% nel tempo e aumentare la reputazione del tuo dominio.

Iscriviti a PowerDMARC oggi stesso per usufruire della tua prova gratuita dell'analizzatore DMARC!