Úloha DKIM pri overovaní e-mailov
Protokol DKIM (DomainKeys Identified Mail) predstavuje jeden zo základných pilierov zabezpečenia elektronickej pošty. Jeho hlavnou úlohou je poskytnúť kryptografický dôkaz o tom, že e-mailová správa skutočne pochádza z domény, ktorá je uvedená v jej hlavičke, a že počas prenosu nedošlo k jej pozmeneniu.
Tento systém funguje na princípe asymetrickej kryptografie. Odosielajúci poštový server podpisuje odchádzajúce správy súkromným kľúčom. Prijímajúci server následne vyhľadá verejný kľúč publikovaný v DNS záznamoch odosielajúcej domény a pomocou neho overí platnosť digitálneho podpisu. Správne nakonfigurovaný záznam DKIM TXT je preto nevyhnutný na to, aby prijímajúce servery mohli správne overovať podpisy a nezahadzovali legitímnu poštu ako spam.
Štruktúra a komponenty záznamu DKIM TXT
Záznam DKIM je publikovaný v systéme DNS ako textový záznam (TXT) a skladá sa zo zoznamu tagov oddelených bodkočiarkou. Každý tag definuje špecifický parameter konfigurácie:
- v (Verzia): Definuje verziu protokolu. Ak je prítomná, musí byť na úplnom začiatku záznamu.
- k (Typ kľúča): Určuje použitý kryptografický algoritmus.
- p (Verejný kľúč): Obsahuje samotný verejný kľúč kódovaný vo formáte Base64.
- s (Služby): Definuje typy služieb, ktoré môžu tento kľúč používať.
- h (Hashovacie algoritmy): Určuje povolené hashovacie algoritmy pre podpisy.
Nástroj analyzuje tieto komponenty a poskytuje prehľadné informácie v sekcii Zhrnutie DKIM, kde zobrazuje položky ako Verzia, Typ kľúča, Veľkosť kľúča a Servisy. V časti Analyzované polia potom používateľ nájde tabuľku s rozdelením na stĺpce Značka a Hodnota pre každý identifikovaný tag.
Kryptografické kľúče a ich limity
Nástroj rozpoznáva dva hlavné typy verejných kľúčov: RSA a Ed25519. Pri analýze kľúčov sa uplatňujú prísne pravidlá na zaistenie bezpečnosti komunikácie:
- RSA kľúče: Kľúče s veľkosťou pod 1024 bitov sú vyhodnotené ako neplatné, pretože neposkytujú dostatočnú kryptografickú silu. Kľúče s veľkosťou pod 2048 bitov sú označené ako slabšie než je odporúčané, keďže moderné bezpečnostné štandardy vyžadujú pre optimálnu ochranu dĺžku aspoň 2048 bitov.
- Ed25519 kľúče: Tento moderný algoritmus využíva krivky a vyžaduje presnú dĺžku dekódovaného kľúča. Ak kľúč po dekódovaní nemá presne 32 bajtov, nástroj nahlási chybu.
- Zrušené kľúče: Ak je tag
pprázdny, znamená to, že doména publikuje zrušený kľúč DKIM, čo signalizuje prijímajúcim serverom, aby tento kľúč viac nepoužívali.
Z hľadiska hashovacích algoritmov je dôležité, aby tag h umožňoval použitie algoritmu sha256. Použitie staršieho algoritmu sha1 je v súčasnosti pre podpisy DKIM zastarané a nesmie sa používať kvôli známym kryptografickým zraniteľnostiam.
Obmedzenia veľkosti DNS segmentov
Pri publikovaní záznamov DKIM v DNS je potrebné brať do úvahy technické limity samotného protokolu DNS. Jeden textový reťazec v rámci DNS TXT záznamu je obmedzený na maximálnu dĺžku 255 bajtov.
Ak celková dĺžka záznamu DKIM (najmä pri použití dlhších 2048-bitových RSA kľúčov) presiahne tento limit, záznam musí byť rozdelený do viacerých citovaných segmentov. Tieto jednotlivé časti sú v zónovom súbore uzavreté v zátvorkách. Nástroj dokáže tieto citované časti automaticky rozpoznať, spojiť ich a skontrolovať ako jeden celok, pričom zároveň overuje, či žiadna z jednotlivých častí neprekročila limit 255 bajtov.
Lokálna analýza a ochrana súkromia
Tento nástroj funguje výhradne lokálne priamo vo vašom webovom prehliadači. Vložený textový záznam sa nikam neodosiela, neukladá a server BroBroGo k nemu nemá prístup.
Je dôležité rozlišovať medzi touto lokálnou kontrolou syntaxe a plnohodnotným overením v reálnom čase. Nástroj nevykonáva žiadne dopyty na servery DNS ani neoveruje podpisy konkrétnych e-mailových správ. Slúži ako rýchly analyzátor správnosti formátu a konfigurácie pred samotným publikovaním záznamu do DNS zóny.
Bežné chyby a varovania v konfigurácii
Pri analýze vloženého textu môže nástroj identifikovať rôzne syntaktické a sémantické chyby. Medzi najčastejšie patria:
- Chýbajúce alebo nesprávne umiestnené tagy: Tag
v=DKIM1musí byť vždy na prvom mieste, ak je v zázname prítomný. Chýbajúci tagppre verejný kľúč robí záznam nefunkčným. - Chyby formátu: Chýbajúce znamienko rovnosti v definícii tagu, duplicitný výskyt rovnakého tagu alebo nesprávne vytvorený názov tagu.
- Nepodporované hodnoty: Použitie inej verzie ako presne
DKIM1, nepodporovaný typ kľúča (iný akorsaaleboed25519) alebo nepodporovaná služba v tagus(povolené sú lenemailalebo*).
Všetky tieto problémy sú po analýze vypísané v sekcii Poznámky k záznamu, kde sa zobrazí presný počet skontrolovaných polí, chýb a upozornení.
Často kladené otázky (FAQ)
Prečo sú dlhé záznamy DKIM rozdelené do citovaných reťazcov?
Záznam DNS TXT môže obsahovať niekoľko reťazcov znakov, pričom každý reťazec je obmedzený na 255 bajtov. DNS spája reťazce v poradí, takže všetky segmenty musia zostať v jednom zázname TXT.
Ktoré typy kľúčov DKIM tento kontrolór rozpoznáva?
Rozpoznáva verejné kľúče RSA a Ed25519, kontroluje ich formu Base64 a hlási kľúče RSA s menej ako 1024 bitmi ako neplatné a kľúče s menej ako 2048 bitmi ako slabšie než je odporúčané.
Dokazuje čistý výsledok, že DKIM funguje?
Nie. Táto stránka kontroluje iba text záznamu, ktorý vložíte. Nevyhľadáva DNS, neoveruje podpis správy, nepotvrdzuje meno selektora ani nedokazuje, že príjemcovia pošty môžu získať záznam.
Čo znamená, ak je hodnota tagu p prázdna?
Prázdna hodnota tagu p signalizuje, že verejný kľúč bol zrušený. Používa sa to v situáciách, kedy chcete natrvalo zneplatniť konkrétny selektor DKIM, aby ho prijímajúce servery prestali akceptovať pri overovaní podpisov.