Hoppa till huvudinnehål

DKIM

DKIM (DomainKeys Identified Mail) är en e-postautentiseringsmetod som lägger till en kryptografisk signatur till utgående meddelandehuvuden, vilket gör det möjligt för mottagande e-postservrar att verifiera att meddelandet verkligen härrör från den påstådda domänen och inte har ändrats under överföring.

Definition

DKIM (DomainKeys Identified Mail) är en e-postautentiseringsspecifikation som använder publik nyckelkryptografi för att signera utgående meddelanden, vilket gör det möjligt för mottagande e-postservrar att bekräfta att e-postmeddelandet kom från den domän det utger sig för att komma ifrån och att meddelandekroppen och utvalda huvuden inte modifierades under överföring. Den signerande domänen publicerar sin publika nyckel i DNS; mottagande servrar hämtar den nyckeln och använder den för att verifiera signaturen som är inbäddad i e-posthuvudet DKIM-Signature.

DKIM utvecklades från två tidigare, överlappande förslag — Yahoos DomainKeys och Ciscos Identified Internet Mail — och publicerades först som IETF RFC 4871 år 2007. Den nuvarande auktoritativa specifikationen är RFC 6376, publicerad i september 2011 och uppdaterad av RFC 8301 (2018) och RFC 8463 (2018) för att kräva starkare kryptografiska algoritmer. DKIM är allmänt utrullat i e-postekosystemet och är en obligatorisk komponent i en DMARC-policy som ger meningsfullt skydd.

Hur det fungerar

När en organisations e-postserver skickar ett meddelande utför DKIM-signeringsmodulen (inbyggd i MTA:er som Postfix, Exim och Microsoft Exchange, eller tillhandahållen som tjänst av transaktionella leverantörer som SendGrid, Mailgun, Amazon SES och Postmark) följande operationer.

Signeraren väljer en delmängd av huvuden att inkludera i signaturen — vanligen From, To, Subject, Date och Content-Type — och kanonikaliserar dem med en av två definierade algoritmer: simple (minimal blankstegsnormalisering) eller relaxed (mer tillåtande, tolererar mindre huvudsomskrivningar under överföring). Meddelandekroppen kanonikaliseras på liknande sätt och hashas med SHA-256 (algoritmen som krävts sedan RFC 8301 fasade ut den äldre SHA-1). Signeraren beräknar sedan en digital RSA- eller Ed25519-signatur över huvudhashen plus en strukturerad sträng av signeringsmetadata och infogar ett DKIM-Signature-huvud överst i meddelandet.

DKIM-Signature-huvudet innehåller: v=1 (version), a=rsa-sha256 (algoritm), d=example.com (signerande domän, kallad d=-tagg), s=selector1 (selektor, används för att slå upp den specifika publika nyckeln), h=from:to:subject (signerade huvuden), bh=<body hash> och b=<base64 signature>.

Domänägaren publicerar motsvarande publika nyckel under <selector>._domainkey.<domain> som en DNS TXT-post. När Gmail, Outlook, Yahoo Mail eller någon RFC 6376-kompatibel MTA tar emot meddelandet frågar de DNS för den posten, hämtar den publika nyckeln och verifierar den kryptografiska signaturen. En giltig signatur ger ett DKIM-resultat på pass. En saknad eller ogiltig signatur, eller någon modifiering av de signerade huvudena eller kroppen under överföring, ger ett fail- eller neutral-resultat, som sedan skickas vidare till DMARC-utvärderingsmotorn.

Selektorer (s=-tagg) tillåter en domän att publicera flera DKIM-nycklar samtidigt — användbart för att rotera nycklar utan tjänsteavbrott eller för att isolera nycklar över olika sändande system (t.ex. marketing._domainkey.example.com kontra transactional._domainkey.example.com).

Var du stöter på det

DKIM är ett grundläggande leveransbarhetskrav för alla e-postberoende tjänster. Transaktionella e-postleverantörer som Amazon SES, SendGrid (del av Twilio), Mailgun (del av Sinch), Postmark och SparkPost inkluderar DKIM-signering som ett obligatoriskt konfigurationssteg under domänverifiering. Leverantören genererar ett RSA-2048- eller Ed25519-nyckelpar, visar den publika nyckeln som en DNS TXT-post och uppmanar domänägaren att publicera den innan sändning från den domänen aktiveras.

För tävlingsplattformar som skickar e-postbekräftelseröster är DKIM-signering särskilt viktigt eftersom bekräftelsemejl måste passera autentiseringskontrollerna som tillämpas av stora brevlådeleverantörer — Google Workspace / Gmail, Microsoft Outlook och Exchange Online Protection, Yahoo Mail, Apple iCloud Mail och ProtonMail. Osignerade meddelanden eller meddelanden vars signaturer misslyckas är mycket mer benägna att levereras till spam eller blockeras helt, vilket hindrar väljare från att bekräfta sina inlämningar.

E-posttesterverktyg som Mail-Tester, GlockApps och MXToolbox DKIM Lookup låter avsändare inspektera och validera sin DKIM-konfiguration före produktionssändning. Google Postmaster Tools och Microsoft SNDS tillhandahåller aggregerad-nivå-leveransbarhetsdata som speglar DKIM-passhastigheter över tid.

Praktiska exempel

En tävlingsplattform konfigurerad med en DKIM-selektor s=contest för domänen votes.example.com publicerar den publika nyckeln på contest._domainkey.votes.example.com. Varje utgående bekräftelsemejl bär ett DKIM-Signature-huvud signerat med motsvarande privata nyckel. När en väljares Gmail-konto tar emot meddelandet frågar Gmails inkommande filter DNS, verifierar signaturen, registrerar ett pass och vidarebefordrar resultatet till sin spamklassificerare. Det bekräftade DKIM-passet, kombinerat med SPF-justering, uppfyller villkoren för DMARC-efterlevnad.

En tävlingsadministratör roterar från en 1024-bitars RSA-nyckel (inte längre ansedd kryptografiskt tillräcklig) till en 2048-bitars RSA-nyckel efter att ha läst RFC 8301. Den gamla selektorn hålls aktiv i sju dagar för att täcka alla meddelanden under överföring och tas sedan bort från DNS. Alla nya meddelanden använder den uppdaterade selektorn och nyckeln.

Relaterade begrepp

DKIM fungerar tillsammans med SPF Record — som autentiserar den sändande serverns IP-adress — och DMARC — som definierar en policyåtgärd och rapporteringsmekanism baserad på SPF- och DKIM-resultat. Båda signalerna måste förstås tillsammans; att passera DKIM ensamt gör inte ett meddelande DMARC-kompatibelt om d=-domänen inte är justerad med RFC5322.From-domänen. För tävlingsoperationssammanhang förklaras de praktiska konsekvenserna av DKIM-misslyckanden i Email Confirmation Vote, där inkorgsplaceringen av bekräftelsemeddelandet direkt avgör om en avgiven röst räknas.

Från bloggen — guider och fallstudier

Praktiska guider, tekniska djupdykningar och anonymiserade fallstudier.60+ artiklar. Urval roteras.

Victor Williams — founder of Buyvotescontest.com
Victor Williams
Online · svarar oftast inom 5 min

Hej — skicka tävlings-URL:en, du får ett pris inom en timme. Inget kort behövs ännu.