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

هدر امضای DKIM (DKIM-Signature) چیست؟

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

سازوکار عملکرد

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

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

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

اشتباهات عملیاتی رایج

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

نمونه هدر

یک هدر معمولی به این شکل است: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=selector1; h=from:to:subject:date; bh=hash_of_body; b=digital_signature_value. تگ d دامنه را مشخص می‌کند، s selector رکورد DNS را مشخص می‌کند و bh هش بدنه را در خود دارد.

فرایند تأیید

وقتی پیامی می‌رسد، گیرنده هدر DKIM-Signature را parse می‌کند تا دامنه و selector را پیدا کند. سپس کلید عمومی را از DNS در selector._domainkey.example.com جست‌وجو می‌کند. اگر بررسی رمزنگاری موفق باشد، پیام DKIM-pass علامت می‌خورد. اگر هش مطابقت نداشته باشد یا کلید وجود نداشته باشد، نتیجه DKIM-fail یا neutral خواهد بود.

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

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

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

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

امضای نامعتبر، بسته به سیاست DMARC که مالک دامنه پیکربندی کرده، ممکن است باعث شود سرور گیرنده امتیاز اسپم ایمیل را افزایش دهد یا آن را کاملاً رد کند.

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

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

منابع اصلی