1. Introduction (Introduzione)
DomainKeys Identified Mail (DKIM) consente a una persona, ruolo o organizzazione di rivendicare una certa responsabilità per un messaggio associando un nome di dominio [RFC1034] al messaggio [RFC5322], che sono autorizzati a utilizzare. Può trattarsi dell'organizzazione dell'autore, di un relay operativo o di uno dei loro agenti. L'asserzione di responsabilità viene validata attraverso una firma crittografica e interrogando direttamente il dominio del firmatario per recuperare la chiave pubblica appropriata. Il transito del messaggio dall'autore al destinatario avviene attraverso relay che tipicamente non apportano modifiche sostanziali al contenuto del messaggio e quindi preservano la firma DKIM. Un messaggio può contenere più firme, dalla stessa organizzazione o da organizzazioni diverse coinvolte nel messaggio.
L'approccio adottato da DKIM differisce dai precedenti approcci alla firma dei messaggi (ad es., Secure/Multipurpose Internet Mail Extensions (S/MIME) [RFC5751], OpenPGP [RFC4880]) in quanto:
-
la firma del messaggio è scritta come campo di intestazione del messaggio in modo che né i destinatari umani né il software MUA (Mail User Agent) esistente vengano confusi dal contenuto relativo alla firma che appare nel corpo del messaggio;
-
non c'è dipendenza dalle coppie di chiavi pubbliche e private emesse da autorità di certificazione note e affidabili;
-
non c'è dipendenza dalla distribuzione di nuovi protocolli o servizi Internet per la distribuzione o la revoca delle chiavi pubbliche;
-
il fallimento della verifica della firma non forza il rifiuto del messaggio;
-
non viene fatto alcun tentativo di includere la crittografia come parte del meccanismo; e
-
l'archiviazione dei messaggi non è un obiettivo di progettazione.
DKIM:
-
è compatibile con l'infrastruttura email esistente e trasparente nella massima misura possibile;
-
richiede un'infrastruttura nuova minima;
-
può essere implementato indipendentemente dai client per ridurre i tempi di distribuzione;
-
può essere distribuito in modo incrementale; e
-
consente la delega della firma a terze parti.
1.1. DKIM Architecture Documents (Documenti di architettura DKIM)
Si consiglia ai lettori di familiarizzare con il materiale in [RFC4686], [RFC5585] e [RFC5863], che forniscono rispettivamente il background per lo sviluppo di DKIM, una panoramica del servizio e guida e consigli per la distribuzione e le operazioni.
1.2. Signing Identity (Identità di firma)
DKIM separa la questione dell'identità del firmatario del messaggio dall'autore presunto del messaggio. In particolare, una firma include l'identità del firmatario. I verificatori possono utilizzare le informazioni sulla firma per decidere come vogliono elaborare il messaggio. L'identità di firma è inclusa come parte del campo di intestazione della firma.
MOTIVAZIONE INFORMATIVA: L'identità di firma specificata da una firma DKIM non è tenuta a corrispondere a un indirizzo in un particolare campo di intestazione a causa dei metodi ampi di interpretazione da parte dei sistemi di posta dei destinatari, inclusi gli MUA.
1.3. Scalability (Scalabilità)
DKIM è progettato per supportare i requisiti di scalabilità estremi che caratterizzano il problema di identificazione email. Ci sono molti milioni di domini e un numero molto maggiore di indirizzi individuali. DKIM cerca di preservare gli aspetti positivi dell'attuale infrastruttura email, come la capacità per chiunque di comunicare con chiunque altro senza introduzione.
1.4. Simple Key Management (Gestione semplice delle chiavi)
DKIM differisce dai sistemi di chiavi pubbliche gerarchici tradizionali in quanto non è richiesta alcuna infrastruttura di autorità di certificazione; il verificatore richiede la chiave pubblica da un repository nel dominio del firmatario dichiarato direttamente piuttosto che da una terza parte.
Il DNS è proposto come meccanismo iniziale per le chiavi pubbliche. Pertanto, DKIM attualmente dipende dall'amministrazione DNS e dalla sicurezza del sistema DNS. DKIM è progettato per essere estensibile ad altri servizi di recupero chiavi man mano che diventano disponibili.
1.5. Data Integrity (Integrità dei dati)
Una firma DKIM associa il nome "d=" con l'hash calcolato di parte o tutto il messaggio (vedere Sezione 3.7) al fine di prevenire il riutilizzo della firma con messaggi diversi. La verifica della firma afferma che il contenuto hashato non è cambiato da quando è stato firmato e non afferma nient'altro sulla "protezione" dell'integrità end-to-end del messaggio.