OpenSSL
שגיאות פרמטריות בתבנית:תוכנה
פרמטרים ריקים [ לוגו, תיאור צילום מסך, צילום מסך ] לא מופיעים בהגדרת התבנית
פרמטרים [ אתר בית ] לא מופיעים בהגדרת התבנית
![]() | |
![]() | |
מפתח |
Richard Levitte, Matt Caswell, Stephen Henson, Hugo Landau ![]() |
---|---|
מחזור חיים |
1998–הווה (כ־27 שנים) ![]() |
גרסה אחרונה | 1.0.1g (7 באפריל 2014) |
מערכת הפעלה |
גנו/לינוקס, macOS, מערכת הפעלה מסדרת BSD, GNU/Hurd, Microsoft Windows ![]() |
נכתבה בשפות |
C, שפת סף, Perl ![]() |
סוג רישיון | דומה לרישיון BSD המקורי |
קוד מקור |
https://github.com/openssl/openssl ![]() |
קטגוריה | קריפטוגרפיה |
www | |
![]() ![]() |
OpenSSL היא ספריית תוכנה חופשית שמממשת את פרוטוקול TLS (אבטחת שכבת התעבורה) וקודמו SSL. היא כתובה בשפת C, מממשת פרימיטיבים קריפטוגרפיים רבים ומספקת מגוון רחב של פונקציות והגדרות. כמו כן קיימים ממשקי מעטפת לשפות תכנות אחרות. קיימות גרסאות למערכות הפעלה דמויות יוניקס (סולאריס, לינוקס ומקינטוש וכן מערכות מבוססות קוד פתוח ברישיון BSD),מערכת ההפעלה OpenVMS וחלונות של מיקרוסופט. IBM מספקת תמיכה למערכת i על OS/400.
TLS הוא פרוטוקול קריפטוגרפי שפותח לאבטחת תעבורת רשת האינטרנט ומיישם את תקן X.509 של ITU-T (מגזר קביעת תקנים בטלקומוניקציה) לתיקנון תשתית מפתח פומבי בקיצור 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 מאתר התוכנה
- ^ רישיון OpenSSL וה־GPL - סקירה של מרק לקלוכלין, 2004