Skip to main content
New SPF lookups must resolve in milliseconds — why a DMARC tool's add-on isn't enough Learn Why → →

Podpis DKIM

Podpis DKIM to kryptograficzny podpis dodawany do nagłówków wiadomości e-mail (nagłówek DKIM-Signature), który pozwala odbiorcom zweryfikować, że wiadomość została autoryzowana przez domenę wysyłającą i nie została zmieniona w trakcie przesyłania. Kluczowe tagi to d (domena), s (selektor), b (podpis) i bh (skrót treści).

Ten przewodnik jest częścią naszego kompletnego przewodnika po DKIM. Powiązane: rekord DKIM oraz dlaczego DKIM zawodzi.

Podpis DKIM to kryptograficzny podpis dodawany do nagłówków wiadomości e-mail — przenoszony w nagłówku DKIM-Signature — który pozwala serwerowi odbiorczemu zweryfikować, że wiadomość została autoryzowana przez domenę wysyłającą i nie została zmieniona w trakcie przesyłania. Podpis jest generowany kluczem prywatnym posiadanym przez nadawcę i sprawdzany względem pasującego klucza publicznego opublikowanego w DNS.

Jak wygląda nagłówek DKIM-Signature

Podpis podróżuje jako pojedyncze pole nagłówka umieszczone na początku wiadomości. Pakuje wszystko, czego potrzebuje odbiorca — domenę podpisującą, selektor, które nagłówki zostały podpisane, skrót treści oraz sam podpis — w serię par tag=value oddzielonych średnikami.

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    d=example.com; s=selector1; t=1700000000;
    h=from:to:subject:date;
    bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
    b=Cg5Xje8kY0m5xT1pW2qL4vN8rH6dF3aZ9cU7bE0iQoR2sT4uV6wX8yZ1
    aB3cD5eF7gH9jK2lM4nP6qR8sT0uV2wX4yZ6aB8cD0eF2gH4jK6l=

Nagłówek jest wstawiany przez serwer pocztowy nadawcy, zanim wiadomość opuści domenę. Podziały wierszy i wcięcia służą jedynie do zawijania — wartość jest logicznie jednym ciągłym ciągiem.

Tagi w podpisie DKIM

Każdy tag niesie jeden element układanki weryfikacyjnej. Podpisujący wybiera te wartości; weryfikator odczytuje je z powrotem, aby zrekonstruować i sprawdzić podpis.

TagNazwaCel
vWersjaWersja DKIM. Zawsze 1.
aAlgorytmAlgorytm skrótu i podpisywania, np. rsa-sha256 lub ed25519-sha256.
dDomenaDomena podpisująca — tożsamość, którą uwierzytelnia DKIM.
sSelektorNazywa, który klucz publiczny pobrać z DNS domeny.
hPodpisane nagłówkiRozdzielona dwukropkami lista pól nagłówka objętych podpisem.
bhSkrót treściSkrót (skanonikalizowanej) treści wiadomości.
bPodpisWłaściwy podpis kryptograficzny, zakodowany w base64.
cKanonikalizacjaJak nagłówki/treść są normalizowane przed obliczeniem skrótu, np. relaxed/relaxed.
t / xZnaczniki czasut to moment podpisania wiadomości; x to moment wygaśnięcia podpisu.

Jak działa podpisywanie (przy wysyłce)

Gdy wiadomość opuszcza serwer wysyłający, DKIM robi dwie rzeczy. Najpierw kanonikalizuje treść i oblicza jej skrót, zapisując wynik w bh. Następnie kanonikalizuje nagłówki wymienione w h — wraz z samym nagłówkiem DKIM-Signature (z pustym b) — oblicza skrót tego bloku i podpisuje skrót kluczem prywatnym domeny. Wynikowy podpis staje się wartością b. Ponieważ klucz prywatny nigdy nie opuszcza nadawcy, tylko prawdziwy właściciel domeny może wygenerować podpis, który przejdzie weryfikację.

Jak działa weryfikacja (przy odbiorze)

Serwer odbiorczy odczytuje nagłówek DKIM-Signature, aby poznać domenę (d) i selektor. Wysyła zapytanie do DNS pod adresem <selector>._domainkey.<domain>, aby pobrać klucz publiczny z rekordu DKIM. Następnie powtarza pracę nadawcy: kanonikalizuje i oblicza skrót treści, porównuje go z bh, kanonikalizuje i oblicza skrót podpisanych nagłówków oraz używa klucza publicznego do sprawdzenia b względem tego skrótu nagłówków. Jeśli zarówno skrót treści pasuje, jak i podpis się weryfikuje, DKIM przechodzi. Sprawdzenie bh jest tym, co wychwytuje wszelkie naruszenia treści wiadomości — nawet pojedynczy zmieniony znak generuje inny skrót i powoduje niepowodzenie sprawdzenia.

Kiedy podpisy zawodzą

Podpis DKIM zawodzi, gdy wiadomość widziana przez odbiorcę nie pasuje już do tego, co podpisał nadawca. Najczęstsze przyczyny to:

  • Modyfikacja w trakcie przesyłania — listy mailingowe, usługi przekierowujące i niektóre bramy przepisują tematy, dołączają stopki lub ponownie kodują treść, co łamie skrót treści.
  • Niedopasowanie skrótu treści — każda zmiana w podpisanej części treści zmienia bh, więc weryfikacja zawodzi, nawet jeśli klucz jest poprawny.
  • Nieprawidłowy lub brakujący klucz — selektor wskazuje na rekord DNS, który jest nieobecny, wygasł lub zawiera nieprawidłowy klucz publiczny.

Pełniejsze omówienie przyczyn i rozwiązań znajdziesz w dlaczego DKIM zawodzi, a bezpłatne narzędzie do sprawdzania DKIM potwierdzi, że klucz publiczny selektora jest opublikowany i poprawnie sformułowany.

Najczęściej zadawane pytania

Czym jest podpis DKIM?

Podpis DKIM to kryptograficzny podpis dodawany do nagłówków wiadomości e-mail w polu DKIM-Signature. Nadawca generuje go kluczem prywatnym na podstawie wybranych nagłówków i skrótu treści. Odbiorcy weryfikują go względem klucza publicznego w DNS, dowodząc, że wiadomość pochodzi z domeny i nie została zmieniona.

Co oznacza tag b= w podpisie DKIM?

Tag b= zawiera właściwy podpis: zakodowaną w base64 wartość utworzoną przez podpisanie skrótu skanonikalizowanych podpisanych nagłówków kluczem prywatnym domeny wysyłającej. Odbiorca dekoduje go i weryfikuje względem klucza publicznego pobranego z DNS. Jeśli podpisane nagłówki zmieniły się w trakcie przesyłania, sprawdzenie b= zawodzi.

Dlaczego podpis DKIM zawodzi po przekierowaniu?

Usługi przekierowujące i listy mailingowe często modyfikują wiadomość — dołączając stopki, przepisując temat lub ponownie kodując treść. Ponieważ DKIM podpisuje dokładną treść i wybrane nagłówki, każda taka zmiana zmienia obliczony skrót, tak że nie pasuje on już do podpisanego bh ani skrótu nagłówków. Podpis wtedy nie przechodzi weryfikacji, mimo że oryginał był prawidłowy.

Czym jest skrót treści (bh) w DKIM?

Tag bh= to skrót treści wiadomości po kanonikalizacji, obliczony algorytmem nazwanym w a. Przy odbiorze weryfikator ponownie oblicza skrót treści i porównuje go z bh. Niezgodność oznacza, że treść została zmieniona w trakcie przesyłania, więc podpis jest odrzucany, zanim jeszcze sprawdzony zostanie kryptograficzny podpis w b=.

Rated 5/5 on G2 · Trusted since 2018

Trusted by 50,000+ domains

"AutoSPF Flattens SPF Records Seamlessly & Keeps Changes Logged - I am quite pleased with the product"

It does what it promises to do, and does it very well. I appreciate that it keeps a log of changes made, which prevents many mistakes. A client's SPF record would have way too many lookups, but AutoSPF makes that problem go away. The length of the SPF record is typically not the issue; it's the amount of lookups in the record that are. AutoSPF "flattens" the record, automatically expanding the defined lookups to IP addresses or ranges. And it auto-updates the record when the un-flattened lookups change.
PJ

Peter J.

President · Small-Business (50 or fewer emp.)

"Helped us go beyond capacity"

AutoSPF did exactly as described, it helped us get past our 10 lookup limit. Afterwards, we hit another limit regarding overall capacity and when contacted, they quickly provided us with a new solution to eliminate capacity issues entirely going forward, so now we can add as many SPF records as needed. They also provided us with a personalized support video explaining their new method in its entirety using our instance as the example.
VU

Verified User

Financial Services · Mid-Market (51-1000 emp.)

"Great service and great support"

AutoSPF was easy to initially set up on our own and a great cost effective entry into spf flattening. Needed our first support assistance today and got great response including a video demonstrating the issue I was trying to solve, a quick fix, and more detailed followup.
GF

Greg F.

Mid-Market (51-1000 emp.)