ما هو مفتاح DH؟ #
مفتاح ديفي-هيلمان (DH) هو طريقة تشفير تُستخدم لتبادل المفاتيح السرية بأمان عبر شبكة غير موثوقة. يسمح هذا المفتاح لطرفين بإنشاء أزواج مفاتيح عامة وخاصة بشكل مستقل، ومشاركة مفاتيحهما العامة، والحصول على مفتاح سري مشترك دون الحاجة إلى إرسال مفاتيحهما الخاصة. يمكن بعد ذلك استخدام هذا المفتاح السري المشترك للتشفير، مما يضمن سرية وسلامة الاتصالات بين الطرفين. يُعد تبادل مفاتيح ديفي-هيلمان (DH) مكونًا أساسيًا لبروتوكولات الاتصال الآمنة مثل SSL/TLS وSSH وشبكات VPN، حيث يوفر الحماية من التنصت ويضمن نقل البيانات بشكل آمن.
ما هو مفتاح ECDHE؟ #
من ناحية أخرى، يُعد تشفير المنحنى الإهليلجي ديفي-هيلمان الزائل (ECDHE)، أو اختصارًا، طريقة تبادل مفاتيح تشفير تُستخدم في بروتوكولات الاتصال الآمنة مثل SSL/TLS لإنشاء اتصال آمن وفعال بين طرفين. ويستفيد هذا التشفير من تشفير المنحنى الإهليلجي لتمكين التبادل الآمن لمفاتيح التشفير. يوفر ECDHE سرية تامة للأمام من خلال توليد أزواج مفاتيح زائلة لكل جلسة، مما يضمن عدم المساس بأمان الجلسات الأخرى حتى في حال اختراق مفتاح جلسة واحدة. توفر هذه الطريقة مستوى أمان عاليًا بأطوال مفاتيح أقصر، مما يجعلها فعالة حسابيًا ومناسبة لتطبيقات متنوعة، بما في ذلك تصفح الويب الآمن وتشفير البريد الإلكتروني.
خطوات تحليل خطأ مفتاح DH الصغير جدًا #
عادةً ما يحدث تحليل خطأ "مفتاح DH صغير جدًا" في سياق استخدام بروتوكولات التشفير مثل SSL/TLS أو SSH، ويشير إلى استخدام أحجام مفاتيح Diffie-Hellman ضعيفة أو غير كافية لتبادل المفاتيح الآمن. لنراجع رسائل السجل في RELIANOID موازن التحميل.
27 يوليو 17:43:20 noid-ee-01 جنيه: MyHTTPfarm، BIO_do_handshake مع:443 فشل: الخطأ: 141A318A: إجراءات SSL: tls_process_ske_dhe: مفتاح dh صغير جدًا
تم اكتشاف خطأ "مفتاح DH صغير جدًا" عند الاتصال بخادم خلفي معين. يمكننا اختبار اتصال SSL باستخدام الأمر التالي:
root@noid-ee-01:~# openssl s_client -connect:443 -اسم الخادم | grep Temp [...] مفتاح الخادم المؤقت: [...]
استخدم مفتاح مؤقت للخادم يجب أن يكون 2048 بت لخدمة آمنة جيدة، لذلك إذا كان أداء مفتاح DH الخلفي منخفضًا للغاية، فستظهر رسالة الخطأ هذه حول "مفتاح DH صغير جدًا".
بشكل افتراضي، يسمح تكوين openssl في موازن التحميل بحد أدنى من TLSv1.2 وSECLEVEL 2. يتم تعريف ذلك في ملف التكوين /etc/ssl/openssl.cnf.
[القسم الافتراضي للنظام] MinProtocol = TLSv1.2 CipherString = DEFAULT@SECLEVEL=2
لذا، من أجل إصلاح هذه المشكلة، من الضروري تقوية التشفير في الجانب الخلفي، والسماح بتشفير أقوى مثل "ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES256-SHA". يرجى التأكد من توفر هذه الشفرات في خدماتك الخلفية المؤمنة.