Jak DKIM vyhledá klíč
Podpis DKIM ve zprávě uvádí doménu (d=) a selektor (s=). Příjemce je spojí do tvaru selector._domainkey.domain, načte příslušný TXT záznam a pomocí veřejného klíče v jeho značce p= ověří podpis. Jedna doména může zveřejnit libovolný počet selektorů, takže každá odesílací služba může mít vlastní klíč a klíče lze měnit bez výpadku.
Nástroj potřebuje selektor, protože DNS neumožňuje vypsat selektory, které doména používá. Není co prohledávat, selektor pochází z podpisu skutečné zprávy.
Kdy je klíč slabý nebo nefunkční
RFC 8301 stanoví, že RSA klíče musí mít alespoň 1024 bitů a měly by mít 2048 bitů. Ověřovač může kratší klíč ignorovat a náš nástroj to dělá, takže 512bitový klíč se počítá, jako by podpis vůbec neexistoval. Ed25519 klíče (RFC 8463) jsou záměrně krátké a bezpečné, ale zatím je neověřuje každý příjemce. Proto se obvykle zveřejňují vedle RSA klíče, nikoli místo něj.
Kontrolní nástroj dekóduje celý klíč, protože záznam chybně rozdělený mezi řetězce TXT nebo base64, který nelze dekódovat, představuje klíč, který nemůže použít žádný příjemce. Prázdné p= znamená, že klíč byl záměrně zneplatněn. t=y označuje doménu, která stále testuje, a RFC 6376 §3.6.1 nařizuje ověřovačům, aby s její poštou zacházeli stejně jako s nepodepsanou poštou.
Otázky
Jak najdu selektor DKIM a zjistím, zda je DKIM vůbec zapnutý?
Pošlete si zprávu a otevřete hlavičky doručené kopie. Hlavička DKIM-Signature znamená, že zpráva byla podepsána: selektor je hodnota s= a doména je d=. Pokud tam taková hlavička není, služba, přes kterou jste zprávu odeslali, ji nepodepisuje. Každá odesílací služba podepisuje vlastním selektorem, takže newsletter a zpráva z vaší poštovní schránky mohou mít různé selektory.
Klíč je v pořádku, ale DKIM selže s chybou „body hash did not verify“. Proč?
Zpráva byla obvykle po podepsání změněna, například přidáním patičky mailing listem nebo přepsáním odkazu bezpečnostní bránou. Klíč může potvrdit pouze to, co bylo podepsáno. Úplný test zobrazí skutečný výsledek ověření vaší zprávy.
Podrobný návod: DKIM fail
Délka klíče DKIM: 1024, nebo 2048 bitů?
1024bitový klíč lze ověřit všude a RFC 8301 jej povoluje. Stále však jde o minimum, proto při příští rotaci klíčů přejděte na 2048 bitů.
Může mít doména více než jeden DKIM záznam?
Ano, jeden pro každý selektor. Mnoho domén jich má několik: jeden pro poskytovatele poštovní schránky a jeden pro každou newsletterovou nebo fakturační službu. Kontrolujte je jednotlivě. Klíč odstraněný z DNS způsobí selhání každé zprávy, která je jím stále podepsána.
Jak často mám rotovat klíče DKIM?
M3AAWG doporučuje rotaci nejméně každých šest měsíců a okamžitě, pokud mohl uniknout soukromý klíč. Zveřejněte nový klíč pod novým selektorem, přepněte na něj podepisování a starý záznam odstraňte až poté, co přestanou přicházet zprávy podepsané starým klíčem. Odesílatelé opakují pokusy čtyři až pět dní, proto počkejte přibližně týden.