[ DKIM ]

DKIM public-key syntaks: Identificer trunkerede eller misdannede DNS værdier

Rekonstruer den faktiske DNS værdi, valider vælgernøglen og skeln formateringsskader fra en kryptografisk uoverensstemmelse.

Af EmailAuth -forskningsteamet

[Nøglepunkter]

  • Byg opslagsnavnet ud fra den berørte signaturs d- og s-værdier.
  • Sammenkæd strenge inden for én TXT post uden at tilføje mellemrum.
  • Valider tags, afkodet nøgletype og den aktive underskriver separat.
På denne side

Når en DKIM nøglen vises i et DNS kontrolpanel, men verifikationen mislykkes, inspicér det svar, som verifikatoren faktisk henter. Skærmbilleder kan skjule en afkortet værdi, et duplikeret domæne-suffiks eller flere uafhængige poster. Opgaven er at etablere det nøjagtige ejernavn og nøglebytes, før underskriveren ændres.

Start fra den modtagne signatur

Læse d= og s= fra de ramte DKIM-Signature. Opslagsnavnet kombinerer dem som vælger. _domainkey.signing-domain. Et syntetisk budskab med d=example.com og s=notify bruger derfor notify._domainkey.example.com. En nøgle udgivet kl notifications._domainkey.example.com vil ikke reparere det.

Registrer signaturens algoritme og modtagerens nøjagtige årsag. Manglende nøgle, forkert udformet nøgle, uegnet algoritme, signaturmismatch og body-hash mismatch er ikke udskiftelige diagnoser. Hvis der findes flere signaturer, skal du holde deres vælgere og resultater adskilt.

Rekonstruer én TXT post korrekt

DNS TXT registreringer kan indeholde flere tegnstrenge. RFC 6376 §3.6.2.2 kræver, at disse strenge i en enkelt post sammenkædes uden tilføjet mellemrum før brug. At opdele en lang tangent på tværs af strenge i én post adskiller sig fra at oprette flere TXT poster, der hver indeholder et stykke. Sidstnævnte er ikke en sikker måde at publicere én DKIM nøgle på. Afsnit 3.6.2.2 kræver en unik TXT post for vælger og efterlader resultater med flere poster udefinerede; verifikatorvalgene i afsnit 6.1.2 gør ikke fragmenter komponerbare.

Citerede bidder vist af et DNS værktøj er en præsentation af posten. Antag ikke, at anførselstegn er bogstavelige nøglebytes, og fjern ikke tegn vilkårligt fra DNS grænsefladen. Følg dets understøttede indgangsformat, forespørg på autoritativ DNS og sammenlign den rekonstruerede værdi med den genererede offentlige værdi. RFC 1035 §3.3.14 definerer TXT -tegnstrengrepræsentationen.

Undersøg for trunkering ved grænsefladegrænser, indsatte linjeetiketter, manglende separatorer og utilsigtede redigeringer af base64-værdien. Lange optegnelser kræver nøjagtig sammenligning, ikke visuel inspektion af de første og sidste par tegn. Bevar den oprindelige genererede offentlige værdi for den sammenligning; erstatte aldrig en privat-nøgle fil.

Valider tags og nøglemateriale sammen

Under RFC 6376 §3.6.1, den p= tag bærer de offentlige nøgledata. En tom værdi betyder tilbagekaldt, ikke en delvist gennemført opsætning. De k= tag identificerer nøgletypen med RSA som standard i RFC 6376 ; Ed25519 bruger udvidelsen defineret af RFC 8463 §4.2. RFC 6376 afsnit 3.6.1 markerer formelt nøgleposten v= tag ANBEFALET, med DKIM1 som standard, når det er fraværende. Hvis inkluderet, skal det være det første tag, og dets værdi skal være nøjagtigt DKIM1 ; denne værdi skelner mellem store og små bogstaver.

Brug en vedligeholdt DKIM-bevidst validator til at parse hele posten og bekræfte, at afkodet offentligt materiale er passende til den angivne nøgletype. Gyldig base64 alene beviser ikke, at indholdet er en passende RSA eller Ed25519 offentlig nøgle. Ligeledes kan en syntaktisk gyldig post indeholde den forkerte offentlige nøgle til den aktive private underskriver.

Isoler udgivelseslaget fra signeringslaget

En illustrativ fejl involverer en 2048-bit Offentlig RSA-nøgle kopieret til to separate TXT poster. Reparer repræsentationen til DNS udbyderens understøttede multi-streng single-record formular, og læs derefter svaret tilbage. Forkort ikke nøglen for at dæmpe grænsefladefejlen uden at gennemgå årsagen og sikkerhedskonsekvenserne.

Hvis den korrekte offentlige nøgle løses intakt, men en meddelelse stadig mislykkes, skal du undersøge den aktive vælgertilknytning, matchende nøglepar, algoritme og ændringer med signeret meddelelse. Bliv ikke ved med at genudgive identiske DNS data, mens beviserne peger et andet sted hen. En udbyderstyret CNAME bør spores til dens endelige nøgleregistrering; det bør ikke erstattes med en lokal kopi som en generisk syntaksløsning.

Bevis reparationen på en ny besked

Registrer autoritative og rekursive resultater, der tager højde for cachelagrede gamle eller negative svar. Send den berørte ansøgning igennem, og inspicér den betroede modtagers resultat. Behold det korrigerede ejernavn, den rekonstruerede offentlige værdi eller dens sammenfatning, sammenligning af genererede værdier og testbeviser. En reparation er færdig, når den hentede nøgle og den faktiske underskriver er enige, ikke kun når DNS editoren accepterer formularen.

Tjek struktur uden en rigtig nøgle

Illustrativ præsentation på én plade: " v=DKIM1; k=rsa; p=AB" "CD". Sammenkædning frembringer v=DKIM1; k=rsa; p=ABCD, uden indsat mellemrum mellem AB og CD. ABCD er bevidst ikke en gyldig brugbar offentlig RSA-nøgle; dette eksempel viser kun TXT struktur og må ikke offentliggøres. To separate poster, der ender på p=AB og indeholder CD, er ikke ækvivalente. Efter at have rekonstrueret den reelt genererede værdi, skal en DKIM-bevidst parser stadig validere sine tags og afkodede nøglemateriale.

DKIM TXT og CNAME publicering: Følg udbyderens nøglestyringsmodel · DKIM nøglelængde og algoritmer: Tjek den aktuelle modtagerunderstøttelse.

[ Takeaway ]

Byg opslagsnavnet ud fra den berørte signaturs d- og s-værdier. Sammenkæd strenge i én TXT post uden at tilføje mellemrum. Valider tags, afkodet nøgletype og den aktive underskriver separat.

[Efter rolle]

Hvad betyder det for dig

Vælg din rolle for praktiske næste trin.

IT / Mail Admin

Sammenlign rekonstruerede værdier.

Kontrolpanelets udseende etablerer ikke de bytes, der returneres af DNS .

Næste trin

  1. Tjek sammenkædning af én-record-streng.
  2. Test den matchende underskriver.
  3. Sammenlign den løste nøgle med genererede data.

CISO / SecOps

Hold offentligt og privat materiale adskilt.

En fejlretningsarbejdsgang må ikke afsløre hemmeligheden, mens dens offentlige modstykke repareres.

Næste trin

  1. Brug opgørelser af offentlig værdi.
  2. Gennemgå praksisser for diagnostisk upload.
  3. Hold private nøgler væk fra støttebeviser.

Grundlægger / Ikke-teknisk

Reparer den faktiske fejl.

Gentagne DNS ændringer kan forlænge et udfald, når defekten er i underskriveren eller ruten.

Næste trin

  1. Kræv den nøjagtige diagnostiske årsag.
  2. Prioriter berørt transaktionspost.
  3. Kræv en ny påføringstest før lukning.

[ Ofte stillede spørgsmål ]

Ofte stillede spørgsmål

Kan en DKIM TXT post indeholde flere citerede strenge?

Ja. Strenge inden for én post sammenkædes uden tilføjet mellemrum før DKIM behandling.

RFC 6376 §3.6.2.2

Kan jeg sætte halvdelen af ​​nøglen i hver af to TXT poster?

Brug ikke separate poster som fragmenter af én nøgle. Brug DNS udbyderens understøttede repræsentation af én komplet post.

RFC 6376 §3.6.2.2

Beviser gyldig base64, at nøglen er korrekt?

Nej. De afkodede data skal matche den nødvendige nøgletype og det aktive signeringsnøglepar.

RFC 6376 §6.1.2 RFC 8463 §4.2

Hvad betyder p= uden værdi?

Det er en eksplicit tilbagekaldt nøgleværdi, ikke en pladsholder, der afventer færdiggørelse.

RFC 6376 §3.6.1

Er v-mærket valgfrit?

Key-record v-tagget kan være fraværende, men RFC 6376 markerer det formelt som ANBEFALET, med DKIM1 som standard. Hvis den findes, skal den være først, og dens værdi skal være nøjagtig DKIM1 , der skelnes mellem store og små bogstaver.

RFC 6376 §3.6.1

Hvorfor starte med en modtaget besked?

Dens d- og s-værdier identificerer det nøjagtige ejernavn, som verifikatoren har brug for, og undgår reparationer af en ubrugt vælger.

RFC 6376 §3.6.2.1

Vil publicering af en større nøgle løse et body-hash-mismatch?

Nej. Undersøg det signerede meddelelsesindhold og behandlingsstien for det diagnostiske resultat.

RFC 6376 §6.1.3

Hvordan bekræfter jeg en syntaksreparation?

Læs tilbage og parse den autoritative værdi, sammenlign rekursive svar, og bekræft derefter en ny besked fra den berørte afsender.

[ Kilder ]

Kilder

  1. RFC 6376

    Afsnit §1 · §2.1 · §3.5 · §3.6.1 · §3.6.2.1 · §3.6.2.2 · §6.1.2 · §6.1.3 · §3.6 · §8.3

  2. RFC 1035

    Afsnit §3.3.14

  3. RFC 8463

    Afsnit §4.2

  4. RFC 2308

    Afsnit §5

[ Ordliste ]

Ordliste

DKIM
En domæneassocieret signatur over udvalgte meddelelsesheadere og brødtekstindhold, som en modtager verificerer med offentlige nøgledata.

RFC 6376 §1

DNS TXT
En DNS -posttype med tekststrenge, inklusive offentlige DKIM -verifikationsdata.

RFC 1035 §3.3.14

vælger
S-værdien, der bruges med signeringsdomænet til at finde DKIM -bekræftelsesdata.

RFC 6376 §3.5

offentlig nøgle
Verifikationsmateriale udgivet til modtagere; den er forskellig fra den hemmelige signeringsnøgle.

RFC 6376 §3.6 RFC 6376 §8.3

Virksomhedens herkomst

Hvorfor top finansielle institutioner og regeringer pensionerede deres e-mailsikkerhedsdashboards.

Traditionelle e-mail-godkendelsesplatforme sælger dig et dashboard og beder dine ingeniører om at gøre arbejdet. I miljøer med høj indsats betyder manuel overvågning forsinket håndhævelse, konfigurationsdrift og uovervågede skyggedomæner.

EmailAuth er den agentiske e-mail-herkomstplatform. Vores agenter håndhæver p=reject, hold tredjepartsafsendere på linje og flyt dine domæner til fuld RFC 9989 compliance, den nye DMARC standard, med menneskelig auditabilitet.

regeringer Store virksomheder Tier-1 finansielle institutioner

SaaS · Dedikeret lejemål · Air-gapped on-prem · BYOK-kryptering

Vidensbase