ساختار و اجزای یک رکورد DKIM TXT
پروتکل DKIM (پست الکترونیکی شناساییشده با کلیدهای دامنه) یکی از پایههای اصلی احراز هویت ایمیل است که به فرستنده اجازه میدهد تا پیامهای ارسالی را به صورت دیجیتالی امضا کند. این امضا با استفاده از یک جفت کلید رمزنگاری کار میکند: یک کلید خصوصی که برای امضای ایمیلها در سرور فرستنده استفاده میشود و یک کلید عمومی که در قالب یک رکورد TXT در DNS دامنه منتشر میگردد. سرورهای دریافتکننده ایمیل با خواندن این رکورد عمومی، صحت امضای دیجیتال را بررسی میکنند.
یک رکورد DKIM TXT از مجموعهای از تگها تشکیل شده است که با علامت نقطه-ویرگول (;) از یکدیگر جدا میشوند. هر تگ شامل یک نام و یک مقدار است که با علامت تساوی (=) به هم متصل میشوند. برای مثال، تگ v نشاندهنده نسخه پروتکل، تگ k نشاندهنده نوع کلید رمزنگاری و تگ p حاوی کلید عمومی است. ابزار بررسی رکورد DKIM به مدیران شبکه کمک میکند تا این ساختار را به دقت تجزیه و تحلیل کنند.
نقش کلیدهای عمومی و انواع کلید در DKIM
امنیت مکانیزم DKIM به شدت به نوع و اندازه کلیدهای رمزنگاری استفاده شده وابسته است. این ابزار دو نوع کلید عمومی اصلی را شناسایی و تحلیل میکند:
- RSA: این الگوریتم سنتیترین و رایجترین روش رمزنگاری در DKIM است. اندازه کلید در الگوریتم RSA اهمیت حیاتی دارد. کلیدهای RSA که اندازه آنها کمتر از ۱۰۲۴ بیت باشد، به دلیل ضعفهای امنیتی شدید به عنوان کلیدهای نامعتببر شناخته میشوند. همچنین، استفاده از کلیدهای RSA با اندازه کمتر از ۲۰۴۸ بیت، هرچند ممکن است کار کند، اما ضعیفتر از حد توصیهشده ارزیابی میشود و استفاده از کلیدهای ۲۰۴۸ بیت یا بیشتر برای امنیت بهینه پیشنهاد میگردد.
- Ed25519: این الگوریتم مدرنتر، امنیت بالایی را با طول کلید بسیار کوتاهتر فراهم میکند. یک کلید عمومی معتبر Ed25519 باید پس از رمزگشایی دقیقاً معادل ۳۲ بایت باشد.
در صورتی که مقدار تگ p خالی رها شود، این عمل به معنای انتشار یک کلید باطل شده است که به سرورهای دریافتکننده اعلام میکند این کلید دیگر برای امضای ایمیلها معتبر نیست.
محدودیتهای فنی DNS و تکههای رکورد TXT
سیستم نام دامنه (DNS) محدودیتهای خاصی را برای رکوردهای متنی اعمال میکند. یک رکورد DNS TXT میتواند شامل چندین رشته کاراکتر مجزا باشد، اما هر رشته کاراکتر به صورت استاندارد به حداکثر ۲۵۵ بایت محدود شده است.
هنگامی که طول کلید عمومی (به ویژه کلیدهای RSA با طول ۲۰۴۸ بیت یا بیشتر) از این حد فراتر میرود، رکورد باید به چندین تکه متنی نقلقولشده (Quoted Chunks) تقسیم شود. سرورهای DNS در زمان پاسخگویی، این تکهها را به ترتیب به یکدیگر متصل میکنند. این ابزار قادر است تکههای نقلقولشده و پرانتزهای فایل منطقه (Zone File) را تا سقف ۲۰,۰۰۰ کاراکتر دریافت کرده، آنها را به هم متصل کند و ساختار نهایی را مورد ارزیابی قرار دهد.
خطاها و هشدارهای رایج در پیکربندی رکورد
در زمان تنظیم رکورد DKIM، اشتباهات ساختاری یا منطقی متعددی ممکن است رخ دهد که این ابزار آنها را شناسایی و گزارش میکند:
- ترتیب و مقدار تگ نسخه: تگ
v=DKIM1در صورت وجود حتماً باید اولین تگ در رکورد باشد. همچنین مقدار این تگ باید دقیقاً برابر باDKIM1باشد و هرگونه مقدار دیگر غیرقابلقبول است. - تگهای تکراری یا خراب: تکرار یک تگ یا وجود فیلدهایی که فاقد علامت تساوی هستند، ساختار رکورد را خراب میکند.
- محدودیتهای الگوریتم هش: تگ
hکه مشخصکننده الگوریتمهای هش مجاز است، باید حتماً اجازه استفاده ازsha256را بدهد. استفاده از الگوریتم قدیمیsha1به دلیل منسوخ شدن کامل آن در امضاهای DKIM ممنوع است و نباید استفاده شود. - محدودیتهای سرویس: تگ
sکه سرویسهای مجاز را تعریف میکند، باید فقط شامل مقدارemailیا علامت ستاره (*) باشد.
حریم خصوصی و نحوه پردازش اطلاعات
امنیت اطلاعات شما در زمان بررسی رکوردها اهمیت بالایی دارد. پردازش و تحلیل رکورد DKIM به طور کامل در مرورگر کاربر انجام میشود. وبسایت BroBroGo هیچگونه اطلاعاتی از رکورد چسبانده شده را به سرورهای خود آپلود نکرده و ذخیره نمیکند. این ابزار یک بررسیکننده محلی متن رکورد است و بدون ارسال داده به خارج از دستگاه شما کار میکند.
باید توجه داشت که این ابزار هیچگونه پرسوجویی (Query) از سرورهای DNS واقعی انجام نمیدهد و امضای ایمیلهای ارسالشده را تایید نمیکند، بلکه صرفاً ساختار متنی ارائه شده توسط شما را تحلیل مینماید.
سوالات متداول
چرا رکوردهای طولانی DKIM به رشته های نقل قول تقسیم می شوند؟
یک رکورد DNS TXTمی تواند شامل چندین رشته کاراکتر باشد که هر رشته به بایت255محدود می شود.DNS رشته ها را به ترتیب به هم می پیوندد، بنابراین همه تکه ها باید در یک رکورد TXT باقی بمانند.
این چک کننده کدام نوع کلید DKIM را تشخیص می دهد؟
کلیدهای عمومی RSA و Ed25519 را تشخیص میدهد، شکل Base64 آنها را بررسی میکند و کلیدهای RSA زیر بیتهای1024را نامعتبر و کلیدهای زیر بیتهای2048ضعیفتر از توصیهشده گزارش میکند.
آیا یک نتیجه تمیز ثابت می کند که DKIM کار می کند؟
خیر. این صفحه فقط متن رکوردی را که شما جایگذاری میکنید بررسی میکند.DNS را پرس و جو نمی کند، امضای پیام را تأیید نمی کند، نام انتخابگر را تأیید نمی کند یا ثابت می کند که گیرنده های نامه می توانند رکورد را بازیابی کنند.
اگر تگ p در رکورد خالی باشد چه اتفاقی میافتد؟
خالی بودن مقدار تگ p به این معنی است که کلید عمومی این رکورد باطل شده است. این ابزار در این حالت وضعیت "کلید باطل شد" را در بخش یادداشتهای رکورد نمایش میدهد.