فنی · پاسخ مستند

DKIM (DomainKeys Identified Mail) چیست؟

DKIM روشی برای احراز هویت ایمیل است که به فرستنده امکان می‌دهد هدر ایمیل را به‌صورت رمزنگاری‌شده امضا کند. این امضا ثابت می‌کند ایمیل با مجوز مالک دامنه ارسال شده و محتوای پیام در طول انتقال تغییر نکرده است. سرورهای گیرنده امضا را با کلید عمومی منتشرشده در رکوردهای DNS فرستنده تأیید می‌کنند.

فرایند فنی

DKIM بر پایه زیرساخت کلید عمومی کار می‌کند. سرور فرستنده با کلید خصوصی یک امضای دیجیتال از هدرهای مشخصی از پیام و بدنه آن می‌سازد. این امضا به‌صورت هدر DKIM-Signature به ایمیل پیوست می‌شود. سرور ایمیل گیرنده دامنه و selector را از این هدر استخراج می‌کند، کلید عمومی متناظر را از رکورد DNS می‌گیرد و امضا را رمزگشایی می‌کند تا هش محتوای پیام را تأیید کند.

اهمیت برای فرستندگان

DKIM لایه‌ای از اعتماد فراهم می‌کند که SPF به‌تنهایی نمی‌تواند ارائه دهد، چون پس از فوروارد شدن ایمیل هم معتبر می‌ماند. SPF نشانی IP ارسال‌کننده را تأیید می‌کند، اما DKIM خود پیام را تأیید می‌کند. این کار جلوی جعل ایمیل را می‌گیرد و احتمال اینکه ارائه‌دهندگان بزرگ پیام‌ها را اسپم تشخیص دهند کاهش می‌دهد. DKIM پیش‌نیاز پیاده‌سازی DMARC و BIMI است که برای تأیید هویت فرستنده به هم‌راستایی DKIM متکی‌اند.

نکات عملیاتی و اشتباهات رایج

خطاهای رایج زمانی رخ می‌دهند که کلید خصوصی عوض شود ولی کلید عمومی در DNS به‌روز نشود، یا یک mail relay پس از امضا بدنه یا هدرهای پیام را تغییر دهد و هش رمزنگاری‌شده را خراب کند. فرستندگان باید برای مدیریت چند کلید برای سرویس‌های مختلف از selectorها استفاده کنند. می‌توانید با ابزارهای رایگان SendHQ (https://sendhq.cc/tools) پیکربندی فعلی DNS خود را بررسی کنید.

نمونه عملی

فرستنده‌ای یک selector با نام google پیکربندی می‌کند. رکورد DNS در selector._domainkey.example.com کلید عمومی را در خود دارد. هنگام ارسال ایمیل، هدر DKIM-Signature مقدارهای s=google و d=example.com را مشخص می‌کند. گیرنده رکورد TXT را در همان مسیر DNS جست‌وجو می‌کند تا کلید لازم برای تأیید امضا را پیدا کند.

DKIM و هم‌راستایی DMARC

برای موفقیت DMARC، دامنه موجود در امضای DKIM باید با دامنه هدر From هم‌راستا باشد. به این هم‌راستایی DKIM می‌گویند. اگر امضا معتبر باشد اما دامنه با نشانی From یکی نباشد، بررسی DKIM موفق است ولی بررسی DMARC شکست می‌خورد و بسته به سیاست تعریف‌شده ممکن است به مشکلات تحویل منجر شود.

پرسش‌هایی که تیم‌ها می‌پرسند

آیا DKIM بدنه ایمیل را رمزگذاری می‌کند؟

خیر، DKIM محتوا را برای حفظ حریم خصوصی رمزگذاری نمی‌کند. این روش یک هش رمزنگاری‌شده می‌سازد تا یکپارچگی و اصالت پیام تضمین شود؛ یعنی گیرنده می‌تواند فرستنده را تأیید کند، اما پیام همچنان قابل‌خواندن است.

اگر امضای DKIM نامعتبر باشد چه می‌شود؟

امضای نامعتبر ممکن است باعث شود ایمیل اسپم علامت بخورد یا کاملاً رد شود، چون نشان می‌دهد پیام دستکاری شده یا فرستنده مجاز نیست.

آیا می‌توانم چند کلید DKIM داشته باشم؟

بله، با استفاده از selectorهای مختلف می‌توانید برای سرویس‌های ارسال مختلف چند کلید DKIM داشته باشید یا بدون وقفه در جریان ایمیل، کلیدها را عوض کنید.

منابع اصلی