منحنى DNS

DNSCurve هو بروتوكول آمن مقترح لنظام أسماء النطاقات (DNS)، صممه دانيال ج. بيرنشتاين . يقوم بتشفير وتوثيق حزم DNS بين خوادم التحليل والخوادم الموثوقة.

تدعي DNSCurve أنها تتمتع بمزايا على خدمات DNS السابقة تتمثل في: [ 1 ]

  • السرية - طلبات واستجابات نظام أسماء النطاقات التقليدية غير مشفرة، لذا يمكن قراءتها من قبل الجميع على طول مسار الإرسال.
  • النزاهة - يتمتع نظام DNS التقليدي ببعض الحماية، ولكن مع الصبر والتجسس يمكن للمهاجمين تزوير سجلات DNS؛ ويتم منع ذلك من خلال المصادقة المشفرة لـ DNSCurve.
  • التوافر - لا يوفر نظام أسماء النطاقات التقليدي أي حماية ضد هجمات حجب الخدمة (DoS) التي يقوم بها مهاجمون يتجسسون على الشبكة ويرسلون بضع حزم بيانات مزورة في الثانية. يتعرف نظام DNSCurve على حزم بيانات DNS المزورة ويتجاهلها، مما يوفر بعض الحماية، على الرغم من أن بروتوكولات SMTP و HTTP و HTTPS معرضة أيضًا لهجمات حجب الخدمة .

بناء

يستخدم بروتوكول DNSCurve تشفير المنحنى الإهليلجي Curve25519 للتحقق من هوية الخوادم الموثوقة. [ 2 ] تُشفّر المفاتيح العامة للخوادم الموثوقة البعيدة في سجلات NS كجزء من اسم المضيف في اسم النطاق المؤهل بالكامل للخادم ، مما يسمح للمُحلِّلات المتكررة بمعرفة ما إذا كان الخادم يدعم DNSCurve. تبدأ المفاتيح بسلسلة سحرية ، متبوعةً بتشفير Base32 بطول 51 بايت للمفتاح العام للخادم بطول 255 بت. على سبيل المثال، بتنسيق BIND :uz5

example.com. IN NS uz5bcx1nh80x1r17q653jf3guywz7cmyh5jv0qjz0unm56lq7rpj8l.example.com.

تُستخدم الهوية لإنشاء مفاتيح يستخدمها نظام تشفير موثق يتكون من Salsa20 و Poly1305 . يُطلق على الإعداد التشفيري اسم صندوق التشفير ، على وجه التحديد crypto_box_curve25519xsalsa20poly1305. [ 3 ]

تستخدم أداة التشفير المستخدمة في DNSCurve نفس الأداة المستخدمة في CurveCP ، وهو بروتوكول قائم على UDP يشبه TCP ولكنه يستخدم تشفير المنحنى الإهليلجي لتشفير البيانات والتحقق من صحتها. ويمكن تشبيه ذلك بتوقيع DNSSEC لصفحة ويب باستخدام Pretty Good Privacy (PGP)، بينما يُشبه CurveCP وDNSCurve تشفير القناة والتحقق من صحتها باستخدام بروتوكول أمان طبقة النقل (TLS). وكما يمكن إرسال صفحات الويب الموقعة باستخدام PGP عبر قناة مشفرة باستخدام SSL، يمكن حماية بيانات DNSSEC باستخدام DNSCurve. [ 4 ]

عملية

يقوم المُحلِّل أولاً باسترداد المفتاح العام من سجل NS، انظر §  البنية أعلاه.

يقوم المُحلِّل بعد ذلك بإرسال حزمة بيانات إلى الخادم تحتوي على مفتاحه العام لـ DNSCurve، وقيمة عشوائية (nonce) بطول 96 بت ، وصندوق تشفير يحتوي على الاستعلام. يُنشأ صندوق التشفير باستخدام المفتاح الخاص للمُحلِّل، والمفتاح العام للخادم، والقيمة العشوائية. يحتوي رد الخادم على قيمة عشوائية (nonce) مختلفة بطول 96 بت، وصندوق تشفير خاص به يحتوي على إجابة الاستعلام.

حماية

يستخدم بروتوكول DNSCurve تشفير المنحنى الإهليلجي 256 بت، والذي تُقدّره NIST بأنه يُعادل تقريبًا تشفير RSA 3072 بت. [ 5 ] ويُشير ECRYPT إلى تكافؤ مماثل. [ 6 ] ويستخدم تشفير المفتاح العام لكل استعلام (مثل SSH وSSL)، وقيمًا عشوائية (nonce) 96 بت للحماية من هجمات إعادة الإرسال.

سرعة

نشر آدم لانغلي اختبارات سرعة على موقعه الإلكتروني الشخصي تُظهر أن Curve25519، المستخدم في DNSCurve، هو الأسرع بين المنحنيات الإهليلجية التي تم اختبارها. [ 7 ] ووفقًا لوكالة الأمن القومي الأمريكية (NSA)، فإن تشفير المنحنيات الإهليلجية يوفر أداءً فائقًا بشكل كبير مقارنةً بتشفير RSA وDiffie-Hellman بمعدل هندسي مع زيادة أحجام المفاتيح. [ 8 ]

التطبيقات

حصل DNSCurve لأول مرة على دعم البحث التكراري في dnscache عبر رقعة برمجية [ 9 ] من تطوير ماثيو ديمبسكي. يمتلك ديمبسكي أيضًا مستودعًا على GitHub يتضمن أدوات بحث DNS مكتوبة بلغة Python وبرنامج توجيه مكتوب بلغة C. [ 10 ] كما يمتلك آدم لانغلي مستودعًا على GitHub أيضًا. [ 11 ] يوجد برنامج توجيه موثوق يُسمى CurveDNS [ 12 ] يسمح لمسؤولي DNS بحماية عمليات التثبيت الحالية دون الحاجة إلى تحديثات برمجية.

أصدر Jan Mojžíš برنامج curveprotect، [ 13 ] وهو عبارة عن مجموعة برامج تقوم بتنفيذ حماية DNSCurve وCurveCP للخدمات الشائعة مثل DNS وSSH وHTTP وSMTP.

يوصي موقع DNSCurve.io (2023) بتنفيذين: dqcache الخاص بجان موجزيس للخوادم المتكررة، وCurveDNS للخوادم الموثوقة. [ 14 ]

الانتشار

أعلنت OpenDNS ، التي تضم 50 مليون مستخدم، دعمها لبروتوكول DNSCurve على خوادمها التكرارية في 23 فبراير 2010. بعبارة أخرى، تستخدم خوادمها التكرارية الآن بروتوكول DNSCurve للتواصل مع الخوادم الموثوقة عند توفرها. [ 15 ] وفي 6 ديسمبر 2011، أعلنت OpenDNS عن أداة جديدة تُسمى DNSCrypt . [ 16 ] يعتمد DNSCrypt على أدوات تشفير مشابهة لـ DNSCurve، ولكنه يحمي قناة الاتصال بين OpenDNS ومستخدميها. [ 17 ]

لم يقم أي من مزودي خدمة نظام أسماء النطاقات (DNS) الموثوقين ذوي الحجم المماثل بنشر خدمة DNSCurve حتى الآن.

انظر أيضاً

يهدف نظام DNSCurve إلى تأمين الاتصال بين خادم تحليل أسماء النطاقات (DNS) وخادم موثوق. ولتأمين الاتصال بين عملاء DNS وخوادم تحليل أسماء النطاقات، توجد عدة خيارات:

ملحوظات

  1. 1 2 "مقدمة إلى DNSCurve" . DNSCurve . 22 يونيو 2009. تم الاطلاع عليه في 16 مارس 2016 .
  2. دي جيه بيرنشتاين. "Curve25519: تشفير المنحنى الإهليلجي عالي السرعة" . تم الاطلاع عليه بتاريخ 30 يناير 2013 .
  3. "التشفير الموثق بالمفتاح العام: crypto_box" . nacl.cr.yp.to. crypto_box هو curve25519xsalsa20poly1305، وهو مزيج محدد من Curve25519 وSalsa20 وPoly1305 ، كما هو موضح في "التشفير في NaCl". يُفترض أن هذه الدالة تلبي المفاهيم القياسية للخصوصية وعدم إمكانية تزويرها من قِبل طرف ثالث.
  4. "CurveCP: أمان قابل للاستخدام للإنترنت" . تم الاطلاع عليه بتاريخ 18 يناير 2024 .
  5. "توصيات المعهد الوطني للمعايير والتكنولوجيا (2011)" .
  6. "التقرير السنوي لـ ECRYPT II حول الخوارزميات وأحجام المفاتيح (2010-2011)" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 2012-06-02.
  7. "آدم لانغلي: يا له من فرق يحدثه الرقم الأساسي" .
  8. "حجة استخدام التشفير باستخدام المنحنيات الإهليلجية" . وكالة الأمن القومي . مؤرشف من الأصل في 17 يناير 2009. تم الاطلاع عليه في 17 يناير 2009 .
  9. "تصحيح DNSCurve لـ dnscache" .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  10. "مستودع DNSCurve الخاص بـ Matthew Dempsky على GitHub" . GitHub . 13 أغسطس 2019.
  11. "مستودع DNSCurve الخاص بآدم لانغلي" . جيت هاب . 13 أغسطس 2019.
  12. "CurveDNS: خادم أسماء لإعادة توجيه DNSCurve" . GitHub .
  13. "curveprotect، مجموعة أدوات متكاملة لحماية نطاق واسع من خدمات الإنترنت" . مؤرشف من الأصل بتاريخ 26-05-2013 . تم الاطلاع عليه بتاريخ 09-05-2012 .
  14. "DNSCurve.io - مجتمع لـ DNSCurve" . dnscurve.io .
  15. "OpenDNS يتبنى DNSCurve" . مؤرشف من الأصل بتاريخ 26 فبراير 2010. تم الاطلاع عليه بتاريخ 13 أبريل 2010 .
  16. "OpenDNS تكشف النقاب عن DNSCrypt" . مؤرشف من الأصل بتاريخ 2013-02-03.
  17. "net/dnscrypt-proxy: dnscrypt-proxy-1.4.3 – اتصالات آمنة بين عميل DNS ومُحلِّل أسماء النطاقات" . منافذ OpenBSD . 2015-01-06 . تم الاطلاع عليه بتاريخ 2015-02-09 .