מה זה WolfSSL? מה הוא עושה
מה זה WolfSSL ואיפה OpenSSL משתלב?

היסודות של WolfSSL טמונים ב-Secure Sockets Layer ( SSL ), פרוטוקול אבטחת אינטרנט המסוגל ליצור חיבורים מוצפנים בין מחשבים ברשת. פרויקט OpenSSL נוסד עוד בשנת 1998 כדי לפתח סט חינמי ורב-תכליתי של כלי הצפנה לשימוש מקוון. בין היתר זה כולל גרסאות קוד פתוח של פרוטוקולי SSL ושל Transport Layer Security ( TLS ).
WolfSSL הגיע בשנת 2004, בשם המקורי yaSSL (Yet Another SSL). מייסדי הפרויקט נהנו מהחופש שמקורו בספריית SSL בקוד פתוח ליצירת יישומים, אך גם רצו צורה של SSL שמיועדת ליישומים מסחריים ועובדת היטב בחומרה משובצת. התוצאה היא ספריית SSL המשלבת שכבת תאימות ל-OpenSSL תוך שהיא נשארת הרבה יותר קטנה ומהירה.
מה זה WolfSSL?
השימוש העיקרי הראשון ב-WolfSSL היה במערכת ניהול מסדי הנתונים בקוד פתוח MySQL. עם הזמן פרויקטים אחרים בקוד פתוח החלו לאמץ את ספריית WolfSSL כמו שרתי האינטרנט FOSS Apache ו- Mongoose ואפילו מערכת ההפעלה אובונטו לינוקס . אתר פרויקט WolfSSL טוען שכיום מעל שני מיליארד חיבורים מאובטחים על ידי הספרייה שלהם.
WolfSSL מתייחס למעשה למספר מוצרים, שהראשוני שבהם הוא WolfSSL עצמו. זוהי ספריית SSL/TLS קלת משקל הכתובה בשפת התכנות ANSI C. המפתחים מתכוונים לכך במובן המילולי שכן WolfSSL נכתב "מהיסוד" ואינו כולל את רוב הקוד הישן הכלול ב-OpenSSL, תוך שמירה על תאימות.
הוא תומך גם בפרוטוקולים TLS וגם ב-DTLS 1.3 כלומר מספק אבטחה מקסימלית להצפנת חיבורים. מטעמי אבטחה, SSL מושבת, אם כי מפתחים יכולים להפעיל אותו באופן ידני.
אתר האינטרנט של הפרויקט טוען ש-WolfSSL קטן פי עשרים מספריות מקבילות, יש לו טביעת רגל של 20 – 100K, תוך שימוש בזיכרון זמן ריצה של 1 – 36Kb בלבד. זה הופך את WolfSSL לאידיאלי להטמעה בחומרה והיוצרים פרסמו רשימה נרחבת של מוצרים המשתמשים בספרייה, כולל צגי אנרגיה ביתיים ומערכות קופה .
ההגדרה גם מקלה לא רק על שחרור מוצרי WolfSSL תחת רישיון מסחרי, אלא גם מציעה חבילות הדרכה ותמיכה בתשלום, מה שהופך אותם לידידותיים הרבה יותר לעסקים מספריות SSL אחרות שבדרך כלל רק הופכות את הקוד לזמין באינטרנט.
WolfSSL: קריפטו
WolfSSL מופעל על ידי ספריית WolfCrypt. ישנן שתי גרסאות של זה בדף הפרויקט, אחת מהן הייתה FIPS (Federal Information Processing Standards) 140-2 Certified. למעשה, משמעות הדבר היא שהקריפטוגרפיה שבה נעשה שימוש תואמת לתקנים מסוימים של הממשלה.
אם ספק מעוניין להשתמש בספריית ה-API של תוכנת ההצפנה של WolfCrypt במוצר שלו, זה אומר שהם יכולים לטעון בכנות שהם מפעילים מודול קריפטוגרפי עם אישור FIPS במוצר שלו מבלי לעבור את תהליך ההסמכה בעצמם. WolfSSL תכננו את גבול ה-FIPS של המוצרים שלהם בצורה כזו שיהיה הרבה יותר קל לעשות זאת ביחס לספריות SSL אחרות המוסמכות ב-FIPS כמו OpenSSL.
מנוע ההצפנה WolfCrypt כתוב ב-ANSI C כמו WolfSSL עצמו וגם כמו WolfSSL, נועד לבצע ביצועים טובים במערכות משובצות ובסביבות דלות משאבים.
ספריית ההצפנה תומכת בכל שיטות ההצפנה הסטנדרטיות שהייתם מצפים כמו RSA, AES ו-ChaCha20 וגם אקזוטיות יותר כמו HC-128 ו-RABBIT. זה אפילו תומך ב-NTRU, שהוא כביכול מסוגל לעמוד בפענוח אפילו על ידי מחשבים קוונטיים אם כי אין דרך לבדוק זאת כרגע.
ספריית WolfCrypt נועדה לעבוד הן על חומרה ותוכנה. זה יכול ליצור מפתחות ואישורים ואף לעשות שימוש ב-ECC (קריפטוגרפיה של עקומה אליפטית) עד 521 סיביות. ECC מציעה את אותה הגנה כמו קריפטו קונבנציונלי, אך עושה זאת בצורה יעילה יותר, מה שהופך אותה למושלם שוב עבור סביבות דלות משאבים.
הספרייה עושה שימוש גם ב-PRNG מבוסס hash (מחולל מספרים פסאודו-אקראיים). אלה מצוינים להפקת מספרים אקראיים תוך זמן קצר לשימוש כבסיס למפתחות הצפנה. הפקת hash של 'מאגרי האנטרופיה' האקראיים פירושה גם שפונקציות WolfCrypt לא חושפות את הנתונים האקראיים הגולמיים, אשר יהיו לא מאובטחים מבחינה קריפטוגרפית.
WolfSSL ו-VPNs
הספרייה הקלה של WolfSSL בשילוב עם מנוע קריפטוגרפי רב עוצמה הופכת אותה למושלמת לשימוש עם מיטב ה-VPNs . ניתן להרכיב את התוכנה ישירות כדי לתמוך בפרוטוקול OpenVPN המאובטח .
לדוגמה, פרוטוקול "Lightway" מותאם אישית שנפרס על ידי ExpressVPN משתמש ב-WolfSSL להצפנה מאובטחת, כשהחברה מדגישה את היתרונות של שימוש בספריית קריפטו משובצת וקוד פתוח שנבדקה בצורה חזקה ולא בפיתוח משלהם.
WolfSSL ו-SSH
WolfSSH נמצא גם הוא בעבודה – לקוח נייד SSH v2, קל משקל, כמעט לכל פלטפורמה. כמו WolfSSL, הוא נעזר בספריית WolfCrypt כדי לאבטח חיבורים. משמעות הדבר היא שהוא מאושר לפי FIPS, בנוסף הוא תומך בכל תוכניות ההצפנה הפופולריות כגון RSA ליצירת/אימות מפתחות SSH ו- AES לאבטחת חיבורים.
השימוש בזיכרון לא זמני שלו הוא 1 – 2.4 Kb כלומר הוא מושלם גם עבור סביבות דלות משאבים ו/או מוטבע בחומרה כגון Apple TV 2. יש גם תמיכה במספר ערכות שבבים כולל ARM, Intel ו-Texas Instruments.
התוכנה זמינה כמעט לכל פלטפורמה כולל Windows, macOS, Linux ויישומי BSD שונים.
WolfSSL: פגמי אבטחה
ביולי 2020, חוקר בחברת אבטחת הסייבר הבריטית NCC Group מצא ליקוי אבטחה חמור בספריית WolfSSL. נמצא כי בנסיבות מסוימות, ניתן להשתמש בו כדי להתחזות לשרתים המשתמשים ב-TLS 1.3, מה שמותיר משתמשים חשופים להתקפה של "איש באמצע".
תיקון שוחרר למחרת על ידי הצוות ב-WolfSSL, כאשר דובר WolfSSL מברך את חוקר האבטחה על מציאתו ומעודד אחרים לנסות להתקדם ו"לשבור" את הקוד של WolfSSL כדי שניתן יהיה למצוא ולתקן פגיעויות נוספות.
אתר הפרויקט שומר על עמוד של פרצות אבטחה ידועות וכמה זמן לקח לתקן אותן. חלקם בסיכון נמוך למדי, אך אחרים עשויים עדיין לאפשר לשחקנים גרועים להתחזות לשרתי TLS או לבצע התקפות DDoS. מסיבה זו, חיוני לשמור על WolfSSL מעודכן, לצד אבטחה נוספת כגון הגנת DDoS , אם אתה מיישם אותה במוצרים שלך.