Podepisování zpráv pomocí DKIM signatury

Co je DKIM:

jde o způsob podepsání a následného ověření obsahu emailové zprávy. U takto podepsané emailové zprávy je pak možné na straně příjemce
a. ověřit zda nedošlo ke změně ve zprávě na cestě od odesílatele k příjemci
b. zda byla odeslaná z té adresy (domény), která je uvedena jako odesílatel zprávy

Toto ověřování je využíváno např. firmou Gmail.com či Seznam.cz při příjmu zpráv.

Podle zveřejněné informace na
http://seznam.seznamblog.cz/post/108069343301/seznam-cz-email-zprisnuje-svoji-antispamovou
bude veškerá hromadná korespondence (ale např i potvrzení objednávek z eshopu), která nebude obsahovat platný DKIM podpis automaticky vyhodnocena jako Spam.

 
Jak podepisování DKIM funguje:

Celý digitální podpis je ulozen do dvou částí.
- veřejný klíč (ten je uložen v DNS záznamech domény a je volně přístupný)
- privátní klíč (tímto klíčem je podepsána emailová zpráva - samotný obsah privátního klíče však není možné ze zprávy získat)
Při příjmu zprávy na straně příjemce (např na serveru seznam.cz či gmail.com) je nejprve nahrán z DNS záznamů domény veřejný klíč a tímto klíčem je provedena kontrola podpisu samotné zprávy.
Pokud je např zjištěno, že zpráva byla podepsaná privátním klíčem který nenáleží k nahranému veřejnému klíči, je zpráva označena jako nepodepsaná (u gmail.com jako "přeposlaná z jiné domény").

Proč podepisovat zprávy:

Takto podepsaná emailová zpráva je
- zvýhodněna spamovými filtry jako "podepsaná"
- v internetových emilových prohlížečích bývá uvedená informace že jde o ověřeného odesílatele

 
Jaké jsou výhody DKIM:
- podepsaná zpráva by neměla skončit označená jako spam (u těch provozovatelů, kteří DKIM podpisy ověřují)
- vaši obchodní partneři, mají možnost si ověřit že přijatá zpráva byla odeslána skutečně z vaší společnosti a nebyla cestou nijak modifikována. Na úrovni domény je tedy garantováno, že email není podvrh.


Samotné podepisování zpráv:
Nejprve je nutné zjistit, zda je vůbec potřebné podepisovat zprávy již v programu SendMails.
Pokud je zasílání realizováno přes SMTP server umístěný u vašeho poskytovatele webhostingu a adresa odeílatele (respektive doména) patří také k tomuto hostingu je možné, že podepisování zprávy se provádí automaticky při průchodem zprávy SMTP serverem.

Příklad:
- doména "abcfirma.cz" umístěna u provozovatele ceskyhosting.cz
- emailová adresa odesílatele je Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
- nastavený SMTP server je smtp.abcfirma.cz

Zda SMTP server podepisuje emailové zprávy automaticky či nikoli je možné zjistit přímo u provozovatele webhostingu.
U některých webhostingů je zapnutí funkce podepisování pouhou otázkou zaslání žádosti provozovateli (např zmíněný ceskyhosting.cz)
Pak už není nutné se o cokoli starat a podepisování se provádi automaticky.

Pokud SMTP server přes který zasíláte nepodepisuje zprávy a nebo pokud zasíláte přes jiný SMTP server než který patří k adrese odesílatele (např pokud zasíláte přes provozovatele internetového připojení nebo přes placený SMTP server) je nutné zajistit podpis zprávy v programu SendMails.


Jak na to:
V první řadě je nutné mít k dispozici obě části podpisového klíče (veřejnou a privátní).
Je možné nechat si je vygenerovat např na http://www.port25.com/dkim-wizard/
Zde je nutné uvest "Domain name" a "Selector"
Domain name - jméno vaší domény. Např abcfirma.cz
Selector - protože v DNS záznamech může být uloženo i více DKIM veřejných klíčů je nutné je nějak rozlišit. Je možné zapsat jakýkoli identifikátor. Např klic1

Vygenerovaný veřejný klíč je nutné uložit do DNS záznamů vaší domény ve tvaru:

Název: klic1._domainkey (změnte selector podle výše nastaveného)
Typ: TXT
Hodnota: v=DKIM1; k=rsa; g=*; s=email; h=sha1; t=s; p=MIIBaaaa....samotný veřejný klíč...

Přesný způsob změn DNS záznamů u vaší domény se dozvíte u provozovatele webhostingu


Vygenerovaný privátní klíč je ve tvaru
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQCo88Rq65ChicNv5KaPKPfjDMb376imCvQTwpQLqBKh+zCYzZBw
.....další obsah klíče....
gKFreGs/lscTgIwelAaQrA3aP8dLJF89nCveb14vyw==
-----END RSA PRIVATE KEY-----

Klíč musí začínat řádkem -----BEGIN a končit řádkem PRIVATE KEY-----

Klíč si pečlivě uložte.


Podepisování zpráv v programu SendMails:
Pokud máte veřejný klíč uložen na doméně a vlastníte odpovídající privátní klíč, je nastavení podepisování velmi jednoduché.
V programu SendMails otevřete "Nastavení projektu" (nikoli nastavení programu).
Na záložce Podepisování zprávy zašktněte podepisovat zprávy, vyplňte správný název domény a selektor (to, co bylo použito při generování veřejného klíče).
Obsah privátního klíče můžete přímo vložit do políčka Privátní klíč a nebo vyplnit Privátní klíč načítán ze souboru (pokud jej máte uložen v nejakém souboru na disku).
Pokud bylo při generování privátního klíče zadáváno nějaké heslo, zadejte jej do kolonky Heslo k priv.klíči. Pokud jste žádné heslo nezadávali, nechte položku prázdnou.
Po kliknutí na tlačítko Uložit dojde ješte ke kontrole zadaných údajů.


Nyní budou všechny odeslané zprávy tohoto projektu podepisované zadaným DKIM klíčem
.

nastavení DKIM podepisování v programu

Pokud budete chtít zkontrolovat zda DKIM podepisování funguje správně můžete to ověřit zasláním emailové zprávy na adresu
Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.

viz http://www.port25.com/support/authentication-center/email-verification/
Po zaslání kontrolní zprávy bude automaticky na adresu odesílatele zaslána zpráva s výsledkem kontroly.