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. מומחים המליצו להחליף את כל הסיסמאות, ובכל מקרה לא ניתן להציל מידע שהוצפן בעבר.
ראו גם
קישורים חיצוניים
הערות שוליים