ما هو DKIM؟
يتيح DKIM (RFC 6376) للخادم المرسِل أن يوقّع كل رسالة بمفتاح خاص، بينما يُنشر المفتاح العام المقابل في سجل TXT تحت _domainkey (للمحدِّد s1 في النطاق example.com يكون الاسم s1._domainkey.example.com). يجلب الخادم المستقبِل المفتاح الذي يحدده وسما s= وd= في التوقيع، ويتحقق من أن الترويسات الموقَّعة ونص الرسالة لم يتغيّرا، ويُلزم RFC 8301 المتحقِّقين برفض مفاتيح RSA الأقصر من 1024 بت ويوصي بـ 2048 بت.
كيفية استخدام فاحص سجل DKIM
- اعثر على المحدِّد: افتح رسالة أرسلها النطاق، واعرض ترويساتها الأصلية، واقرأ الوسمين s= وd= في ترويسة DKIM-Signature.
- اكتب نطاق d= والمحدِّد، أو الصق اسم المفتاح كاملاً في حقل النطاق.
- اضغط «فحص DKIM» واقرأ النتيجة ونوع المفتاح وطوله، وهل وضع الاختبار مفعّل.
- راجع جدول الوسوم والأخطاء والتحذيرات، ثم انشر سجلاً مصحَّحاً وأعد الفحص.
- لفحص سجل مفتاح قبل نشره، الصقه في الحقل الثالث؛ فيُحلَّل في متصفحك.
مزايا فاحص سجل DKIM
- جلب المفتاح العام عند selector._domainkey للنطاق عبر DNS عام فوق HTTPS، مع تتبّع اسم CNAME إن طلبت منك خدمة البريد نشره هناك
- شرح كل وسم في سجل المفتاح: v وk وp وt وs وh وn وأي وسم لا تعرفه أدوات التحقق
- قراءة طول مفتاح RSA من المفتاح نفسه بفكّ ترميز p=، مع تمييز مفاتيح Ed25519
- التنبيه إلى المفاتيح الملغاة (p= فارغ) ووضع الاختبار (t=y) والمفاتيح الأقصر من 1024 أو 2048 بت والمفاتيح المنشورة بصيغة خاطئة
- الإبلاغ عن وجود سجلَّي مفتاح عند المحدِّد نفسه، أو سجلات TXT هناك ليست مفاتيح
- فحص سجل مفتاح تلصقه في الحقل الثالث داخل متصفحك قبل نشره
- إمكانية كتابة اسم المفتاح كاملاً مثل selector1._domainkey.example.com مباشرة في حقل النطاق
المدخلات والمخرجات
المدخلات
- اسم النطاق — نطاق d= في التوقيع؛ واسم المفتاح الكامل (selector._domainkey.domain) يُقسَم إلى محدِّد ونطاق تلقائياً.
- المحدِّد — الوسم s= في ترويسة DKIM-Signature؛ وهو مطلوب للفحص المباشر لأن DNS لا يسرد المحدِّدات.
- سجل مفتاح ملصوق (اختياري) — قيمة TXT مجرّدة أو مقسّمة إلى أجزاء بين علامات تنصيص كما يعرضها ملف المنطقة أو لوحة DNS. عند تعبئته لا يُجرى أي استعلام.
المخرجات
- الملخص — النتيجة ونوع المفتاح وطوله بالبت وهل وضع الاختبار مفعّل.
- السجل — الاسم الذي استُعلم عنه والسجل الموجود عنده.
- وسوم سجل المفتاح — كل وسم مع معناه وقيمته، ويُختصر المفتاح نفسه إلى أوله وطوله.
- الأخطاء والتنبيهات وما الخطوة التالية — كل ملاحظة بلغة واضحة، والخطوات التي تترتب على النتيجة.
مثال على فاحص سجل DKIM
مفتاح Google Workspace للنطاق github.com (المحدِّد google، أكتوبر 2026)
الإدخال:
github.com · selector googleالنتيجة:
النتيجة: المفتاح منشور بشكل صحيح · نوع المفتاح (k=): RSA · طول المفتاح (بت): 2048 · وضع الاختبار (t=y): لا
الاسم المستعلَم عنه: google._domainkey.github.com
وسوم سجل المفتاح: v — الإصدار (DKIM1) — DKIM1 · k — نوع المفتاح — rsa · p — المفتاح العام (base64) — MIIBIjANBgkqhkiG9w0BAQEF… (392)كيف تقرأ نتائج فاحص سجل DKIM
«المفتاح منشور بشكل صحيح»: تستطيع أداة التحقق جلب المفتاح واستخدامه، وطوله 2048 بت على الأقل أو هو مفتاح Ed25519. أما نجاح رسالة بعينها فيتوقف على توقيعها.
«صالح للاستخدام مع تحذيرات»: المفتاح يعمل لكن شيئاً يُضعفه — غالباً مفتاح RSA بطول 1024 بت أو وضع الاختبار t=y أو وسم متقادم.
«فيه أخطاء»: لا يمكن استخدام السجل — ترميز base64 غير صالح في p=، أو مفتاح لا يطابق النوع المعلَن، أو مفتاح RSA أقصر من 1024 بت، أو صياغة وسوم معطوبة. وتفشل كل التواقيع التي تستخدم هذا المحدِّد.
«المفتاح ملغى»: الوسم p= فارغ، وهذا ما يعرّفه RFC 6376 مفتاحاً ملغى. أمر طبيعي لمحدِّد متقاعد، ومشكلة فقط إن كان البريد ما زال يُوقَّع به.
«لا يوجد مفتاح DKIM»: لا يوجد عند ذلك الاسم سجل TXT فيه مفتاح. والسبب غالباً محدِّد خاطئ، أو سجل لم يُنشر بعد، أو اسم CNAME تنتظره الخدمة ولم يُنشأ.
متى تستخدم فاحص سجل DKIM
- التأكد من أن سجل DKIM الذي طلبت خدمة البريد نشره أصبح في مكانه قبل تفعيل التوقيع.
- معرفة سبب فشل الرسائل في DKIM: مفتاح ملغى، أو محدِّد مكتوب خطأً، أو مفتاح انقطع عند لصقه في لوحة DNS.
- التخطيط لتبديل المفاتيح: فحص المحدِّد القديم والجديد، والتأكد من أن طول المفتاح الجديد 2048 بت.
- مراجعة سجل مفتاح من صفحة الإعداد لدى المزوّد قبل إضافته إلى منطقتك.
استكشاف الأخطاء وإصلاحها
- «لا يوجد مفتاح DKIM» لمحدِّد أضفته للتو: كثير من لوحات DNS تُلحق اسم النطاق بالاسم الذي تكتبه، فيصبح السجل المكتوب selector._domainkey.example.com موجوداً عند selector._domainkey.example.com.example.com. اكتب selector._domainkey وحده في مثل هذه اللوحات.
- «p= ليس base64 صالحاً» أو مفتاح بطول خاطئ: انقطع المفتاح أو تكسّر عند لصقه. المفتاح الطويل يجب تقسيمه إلى سلاسل بين علامات تنصيص لا يتجاوز طول كل منها 255 حرفاً، ولا يُكسر بفاصل أسطر داخل السلسلة الواحدة.
- «المفتاح ملغى» للمحدِّد الذي تستخدمه رسائلك الحالية: بدّلت الخدمة مفتاحها وما زال DNS لديك يحمل القديم، أو أن اسم CNAME الذي طلبته غير موجود. قارن بإعدادات DKIM الحالية لدى الخدمة.
- رفض المحدِّد: اكتب المحدِّد وحده (مثل s1) لا s1._domainkey، أو اكتب اسم المفتاح كاملاً في حقل النطاق.
- رسالة حدّ الطلبات: كل فحص استعلام DNS واحد، لكنه يشترك مع أدوات DNS الأخرى في حصة لكل زائر؛ انتظر الثواني المعروضة ثم أعد المحاولة.
الأسئلة الشائعة حول فاحص سجل DKIM
كيف أعرف محدِّد DKIM (selector) لنطاقي؟
افتح رسالة أرسلها النطاق واعرض ترويساتها الأصلية (في Gmail: «عرض الرسالة الأصلية»)، ثم ابحث عن ترويسة DKIM-Signature: الوسم s= هو المحدِّد والوسم d= هو النطاق الموقِّع. وتعرض لوحة إدارة خدمة البريد أيضاً المحدِّد الذي تنشره. لا يتيح DNS سرد محدِّدات النطاق، ولذلك لا يستطيع الفاحص اكتشافها نيابةً عنك.
ماذا يعني أن يكون الوسم p= فارغاً؟
الوسم p= الفارغ هو طريقة إلغاء المفتاح (RFC 6376 §3.6.1)، فتفشل كل التواقيع التي تستخدم ذلك المحدِّد. هذا طبيعي لمحدِّد قديم بعد تبديل المفاتيح، ولا يكون مشكلة إلا إذا كان بريدك ما زال يُوقَّع به.
كم ينبغي أن يكون طول مفتاح DKIM؟
يُلزم RFC 8301 أدوات التحقق برفض مفاتيح RSA الأقصر من 1024 بت، ويطلب من الموقِّعين استخدام 2048 بت على الأقل. أما مفاتيح Ed25519 (RFC 8463) فقصيرة وقوية لكن لا تقبلها كل الخوادم المستقبِلة بعد، فانشرها إلى جانب مفتاح RSA لا بديلاً عنه.
ما معنى t=y في سجل DKIM؟
الوسم t=y يعني أن المفتاح قيد الاختبار: يُطلب من أدوات التحقق معاملة الرسالة التي يفشل توقيعها كأنها غير موقَّعة. احذفه بعد أن يعمل التوقيع، وإلا منحك المفتاح حماية أقل مما ينبغي.
هل يعني صحة سجل المفتاح أن بريدي ينجح في DKIM؟
ليس وحده. يؤكد الفاحص أن المفتاح العام منشور ومقروء، لكن الرسالة لا تنجح إلا إذا وُقِّعت بالمفتاح الخاص المطابق ولم تتغير الترويسات الموقَّعة ونص الرسالة في الطريق. اقرأ ترويسة Authentication-Results في رسالة مستلمة لترى النتيجة الفعلية.
ملاحظات تقنية
يحمل توقيع DKIM (RFC 6376) النطاقَ الموقِّع في d= والمحدِّد في s=. تجلب أداة التحقق سجل TXT عند s._domainkey.d، وتقرأ المفتاح العام من p=، وتتحقق من التوقيع على الترويسات المذكورة فيه وعلى بصمة نص الرسالة. وتتيح المحدِّدات للنطاق الواحد نشر عدة مفاتيح في وقت واحد: مفتاح لكل خدمة بريد، أو مفتاح قديم وآخر جديد أثناء التبديل.
سجل المفتاح قائمة وسوم: v=DKIM1 (اختياري، لكنه أول الوسوم إن وُجد)، وk= نوع المفتاح (rsa افتراضياً، وed25519 وفق RFC 8463)، وp= المفتاح بترميز base64 والقيمة الفارغة تعني الإلغاء، ثم الوسوم الاختيارية t= وs= وh= وn=. يفكّ الفاحص ترميز p= ويقرأ طول معامل RSA من بنية ASN.1؛ ويُلزم RFC 8301 أدوات التحقق برفض مفاتيح RSA الأقصر من 1024 بت ويطلب من الموقِّعين 2048 بت على الأقل، ويجب أن يكون مفتاح Ed25519 هو البايتات الاثنين والثلاثين الخام.
النتيجة: «المفتاح منشور بشكل صحيح» حين يكون المفتاح مقروءاً وبطول موصى به ولا شيء يستدعي التحذير؛ و«صالح للاستخدام مع تحذيرات» لمفتاح 1024 بت أو وضع الاختبار أو تحذير آخر؛ و«فيه أخطاء» حين لا تستطيع أدوات التحقق استخدام المفتاح؛ و«المفتاح ملغى» لوسم p= فارغ؛ و«لا يوجد مفتاح DKIM» حين لا يوجد سجل مفتاح عند الاسم.
الحدود ومنهجية القياس
يحتاج الفاحص إلى المحدِّد، فلا يمكن سرد محدِّدات نطاق عبر DNS، وتخمين الأسماء الشائعة لا يجد إلا بعضها.
يفحص المفتاح المنشور لا التوقيع: لا يستطيع أن يقول هل وُقِّعت رسالة معينة توقيعاً صحيحاً أو تغيّرت في الطريق، فذلك ما تقوله ترويسة Authentication-Results التي يضيفها الخادم المستقبِل.
يُقرأ المفتاح عبر محلّل Cloudflare العام من خادم متقن على حافة Cloudflare، وقد لا يظهر سجل نُشر قبل لحظات حتى تنتهي صلاحية الإجابات المخزّنة.
الأمان والخصوصية
في الفحص المباشر يصل النطاق والمحدِّد إلى خادم متقن، الذي يسأل DNS العام لدى Cloudflare عبر HTTPS عن اسم المفتاح هذا وحده، ولا يُخزَّن شيء. أما سجل المفتاح الملصوق فلا يغادر متصفحك. مفتاح DKIM العام علني بطبيعته، أما المفتاح الخاص فلا تلصقه في أي مكان أبداً.
المراجع
- RFC 6376: DomainKeys Identified Mail (DKIM) Signaturesتواقيع DKIM وسجل المفتاح العام عند selector._domainkey: وسومه (v وk وp وt وs وh وn) وكيف يجد المتحقِّق المفتاح ويستخدمه.
- RFC 8301: Cryptographic Algorithm and Key Usage Update to DomainKeys Identified Mail (DKIM)يُنهي استخدام rsa-sha1 في التوقيع، ويُلزم المتحقِّقين برفض مفاتيح RSA الأقصر من 1024 بت، ويطلب من الموقِّعين ألا يقلّ المفتاح عن 2048 بت.
- RFC 8463: A New Cryptographic Signature Method for DomainKeys Identified Mail (DKIM)يضيف تواقيع Ed25519 إلى DKIM، ويُنشر المفتاح فيها خاماً بطول 32 بايت في p= مع k=ed25519.