מהו מפתח DH? #
מפתח דיפי-הלמן (DH) הוא שיטה קריפטוגרפית המשמשת להחלפה מאובטחת של מפתחות סודיים ברשת לא מהימנה. זה מאפשר לשני צדדים ליצור באופן עצמאי צמדי מפתחות ציבוריים ופרטיים, לשתף את המפתחות הציבוריים שלהם ולהפיק מפתח סודי משותף מבלי לשדר את המפתחות הפרטיים שלהם. לאחר מכן ניתן להשתמש במפתח סודי משותף זה להצפנה, תוך הבטחת סודיות ושלמות התקשורת בין שני הצדדים. החלפת מפתחות DH היא מרכיב בסיסי של פרוטוקולי תקשורת מאובטחים כמו SSL/TLS, SSH ו-VPN, המציעים הגנה מפני האזנה ומבטיחים העברת נתונים מאובטחת.
מהו מפתח ECDHE? #
מצד שני, ECDHE, או Elliptic Curve Diffie-Hellman Ephemeral, היא שיטת החלפת מפתחות קריפטוגרפית המשמשת בפרוטוקולי תקשורת מאובטחים כמו SSL/TLS כדי ליצור חיבור מאובטח ויעיל בין שני צדדים. הוא ממנף קריפטוגרפיה עקומה אליפטית כדי לאפשר החלפה מאובטחת של מפתחות הצפנה. ECDHE מספקת Perfect Forward Secrecy על ידי יצירת צמדי מפתחות ארעיים עבור כל הפעלה, מה שמבטיח שגם אם מפתח של הפעלה אחד נפגע, זה לא פוגע באבטחה של מפגשים אחרים. שיטה זו מציעה רמת אבטחה חזקה עם אורכי מפתח קצרים יותר, מה שהופך אותה ליעילה מבחינה חישובית ומתאימה היטב ליישומים שונים, כולל גלישה מאובטחת באינטרנט והצפנת דואר אלקטרוני.
שלבים לניתוח מפתח DH שגיאה קטנה מדי #
ניתוח השגיאה "מפתח DH קטן מדי" מתרחש בדרך כלל בהקשר של שימוש בפרוטוקולים קריפטוגרפיים כגון SSL/TLS או SSH ומתייחס לשימוש בגדלים חלשים או לא מספיקים של מפתחות Diffie-Hellman להחלפת מפתח מאובטח. בוא נסקור את הודעות היומן RELIANOID מאזן עומסים.
27 ביולי 17:43:20 noid-ee-01 פאונד: MyHTTPfarm, BIO_do_shake with: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.
[system_default_sect] MinProtocol = TLSv1.2 CipherString = DEFAULT@SECLEVEL=2
לכן, על מנת לתקן בעיה זו יש צורך להקשיח את הצפנים בצד האחורי, ולאפשר צפנים חזקים יותר כמו "ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES256-SHA". אנא ודא שצפנים כאלה זמינים בשירותים המאובטחים של הקצה האחורי שלך.