OpenSSL
מפתח | Richard Levitte, Matt Caswell, Stephen Henson, Hugo Landau |
---|---|
מחזור חיים | 1998–הווה (כ־26 שנים) |
גרסה אחרונה | 3.4.0 (22 באוקטובר 2024) |
מערכת הפעלה | גנו/לינוקס, macOS, מערכת הפעלה מסדרת BSD, GNU/Hurd, Microsoft Windows |
נכתבה בשפות | C, שפת סף, Perl |
סוג רישיון | דומה לרישיון BSD המקורי |
קוד מקור | https://github.com/openssl/openssl |
קטגוריה | קריפטוגרפיה |
www.openssl.org | |
OpenSSL היא ספריית תוכנה חופשית שמממשת את פרוטוקול TLS (אבטחת שכבת התעבורה) וקודמו SSL. היא כתובה בשפת C, מממשת פרימיטיבים קריפטוגרפיים רבים ומספקת מגוון רחב של פונקציות והגדרות. כמו כן קיימים ממשקי מעטפת לשפות תכנות אחרות. קיימות גרסאות למערכות הפעלה דמויות יוניקס (סולאריס, לינוקס ומקינטוש ומערכות מבוססות BSD), מערכת ההפעלה OpenVMS וחלונות של מיקרוסופט. IBM מספקת תמיכה למערכת i על OS/400.
TLS הוא פרוטוקול קריפטוגרפי שפותח לאבטחת תעבורת רשת האינטרנט ומיישם את תקן X.509 של ITU-T (מגזר קביעת תקנים בטלקומוניקציה) לתשתית מפתח פומבי, Public key infrastructure - PKI. PKI משתמש בסרטיפיקטים וחתימה דיגיטלית להעברה ואימות של מפתח סימטרי. OpenSSL מבוסס על SSLeay של אריק א. יונג וטים הדסון, מפתחי תוכנה שסיימו באופן לא רשמי לעבוד על הפרויקט בדצמבר 1998 כאשר עברו שניהם לעבוד בחברת RSA.
רישיונות שימוש
[עריכת קוד מקור | עריכה]ספריית OpenSSL מופצת ברישיון דואלי לשימוש חופשי. שני הרישיונות דומים לרישיון BSD המקורי עם שינוי הקשור לפרסום[1].
סעיף הפרסום ברישיונות, הדורש מחומרי הפרסום של תוכנות מבוססות OpenSSL לכלול תיעוד מפורש לכך, מנוגד לדרישות רישיון GPL ולכן עשוי להוות מגבלה במקרה שילוב הספרייה בתוכנות המופצות ברישיון זה. לדעת כותבי הספרייה, זו אינה מגבלה אם OpenSSL נחשבת חלק אינטגרלי ממערכת ההפעלה (לדוגמה: בהפצות לינוקס שונות). במקרה של הפצת דביאן, יהיה קשה לטעון שהיא "ספריית מערכת" וכנראה תידרש תוספת קטנה לרישיון[2].
אלגוריתמים
[עריכת קוד מקור | עריכה]OpenSSL תומך במספר רב של אלגוריתמים קריפטוגרפיים למטרות שונות, בהם:
- צופנים סימטריים: AES, Blowfish, camellia, SEED, CAST-128, DES, IDEA, RC2, RC4, RC5, 3DES, GOST.
- פונקציות גיבוב: MD5, MD2, SHA-1, SHA-2, RIPEMD, NDC-2, GOST.
- מפתח ציבורי: RSA, DSA, דיפי-הלמן, ECC, GOST.
פרצת אבטחה
[עריכת קוד מקור | עריכה]באפריל 2014 התגלתה פרצת אבטחה בגרסת OpenSSL 1.0.1 ו-OpenSSL 1.0.2-beta ובמספר גרסאות נוספות, שבה ניתן לחטוף עד 64 קילובתים של מידע רגיש מהשרת באמצעות תת-פרוטוקול הנקרא Heartbeat, שהוא פרוטוקול סינכרון. ההתקפה, הנקראת HeartBleed (פרפרזה על שם הפרוטוקול), מנצלת את העובדה שלא נעשית בדיקת גבולות (Bound Checking), ועל ידי בקשת סינכרון 'מעושה' (הצבת הערך שגוי במשתנה המייצג את גודל ההודעה) גורמת לשרת להפיק תגובה משובשת המכילה מידע מזיכרון היישום. התוקף אינו שולט בתכולת המידע ולמעשה מכיל לרוב מידע אקראי לא מסודר. עם זאת, גוש המידע שנחשף עשוי להכיל אינפורמציה קריטית כמו עוגיות, סיסמאות ואף מפתח מאסטר של השרת. ההתקפה נקייה ואינה משאירה אחריה עקבות. עם המידע שנחשף ניתן לבצע גנבת זהות על ידי התקפת אדם באמצע על השרת. למעשה לחשוף את כל תעבורת הרשת. מפתחי התוכנה המליצו לעבור לגרסה OpenSSL 1.0.1g (שבה תוקנה הבעיה) או לבטל את האופציה Heartbeat. מומחים המליצו להחליף את כל הסיסמאות, ובכל מקרה לא ניתן להציל מידע שהוצפן בעבר.
ראו גם
[עריכת קוד מקור | עריכה]קישורים חיצוניים
[עריכת קוד מקור | עריכה]- אתר האינטרנט הרשמי של OpenSSL (באנגלית)
- אשר שכטר, Heartbleed - "הבאג המשמעותי בהיסטוריה" שישנה את האינטרנט, באתר TheMarker, 10 באפריל 2014
הערות שוליים
[עריכת קוד מקור | עריכה]- ^ רישיונות השימוש ב־OpenSSL מאתר התוכנה
- ^ רישיון OpenSSL וה־GPL - סקירה של מרק לקלוכלין, 2004