Let's Encrypt

Let's Encrypt היא רשות להנפקת תעודות ללא כוונת רווח המנוהלת על ידי Internet Security Research Group‏ (ISRG) המספקת אישורי X.509 עבור קידוד TLS ‏(Transport Layer Security) ללא עלות. האישור תקף למשך 90 יום וניתן לחדש אותו במהלכם בכל עת בתהליך אוטומטי. הרשות הושקה ב־12 באפריל 2016, ונכון לתחילת 2024 הארגון מספק אישורים לכמעט 400 מיליון אתרים. מטרת המיזם היא ליצור חיבורים מוצפנים לשרתי אינטרנט בכל מקום. ביטול העלות, הגדרת שרתים, ניהול אימות בדוא״ל ומשימות חידוש אישורים נועדו להפחית משמעותית את המורכבות של הגדרת ותחזוקת הצפנת TLS. בשרתי לינוקס די בהרצת שתי פקודות כדי להגדיר הצפנת HTTPS להשיג ולהתקין אישורים. לשם כך נוספה חבילה ייעודית למאגרי התוכנה הרשמיים של דביאן ושל אובונטו. יוזמות נוכחיות של מפתחי דפדפן מרכזיים כגון מוזילה ו־גוגל להוצאת HTTP בלתי מוצפן מכדי שימוש מסתמכות על הזמינות של Let's Encrypt. השירות מנפיק אך ורק אישורי אימות שם תחום, מכיוון שניתן להנפיק אותם באוטומציה מלאה. אימות ארגון ואישורי אימות מורחבים שניהם דורשים אימות אנושי עבור כל אחד מהם, ולכן אינם מוצעים על ידיLet's Encrypt. בזכות שקיפות מרבית ככל הניתן, בארגון מקווים לשמור על האמינות וגם להגן מפני התקפות וניסיונות תמרון. לשם כך מפרסם הארגון באופן קבוע דוחות שקיפות, מתעד פומבית את כל פעולות ה־ACME (למשל באמצעות שקיפות אישורים) ומשתמשים בתקנים פתוחים ובתכנה חופשית ככל הניתן. התמיכה ב־ACME v2 ובאישורים כוללניים נוספה במרץ 2018. Let's Encrypt הוא שירות שמסופק על ידי קבוצת מחקר אבטחת האינטרנט (ISRG), שהוא ארגון לתועלת הציבור. נותני החסות העיקריים הם קרן החזית האלקטרונית (EFF), קרן מוזילה, OVH, סיסקו מערכות, גוגל, AWS ואיגוד האינטרנט העולמי. שותפים נוספים כוללים את רשות האישורים IdenTrust, את אוניברסיטת מישיגן (UM), את בית הספר למשפטים של אוניברסיטת סטנפורד, את קרן לינוקס, את סטיבן קנט מ־Raytheon / BBN טכנולוגיות ואת אלכס פולבי מ־CoreOS.[דרוש מקור] ביוני 2015, הכריזה Let's Encrypt על יצירת אישור ה־RSA העליון הראשון שלה ISRG Root X1. האישור שימש כדי לחתום על שני אישורי תווך, שנחתמו באופן צולב גם על ידי רשות האישורים IdenTrust. אחת מתעודות התווך משמשת לחתימה על אישורים שהונפקו, ואילו השנייה נשמרת במצב לא מקוון כגיבוי במקרה של תקלות עם אישור התווך ראשון. מכיוון שאישור IdenTrust מותקן מראש בדפדפני האינטרנט הגדולים, האישורים של Let's Encrypt מאומתים ומתקבלים עם ההתקנה עוד לפני שספקי הדפדפנים כוללים את האישור העליון של ISRG כעוגן אמון. מפתחי Let's Encrypt תכננו להנפיק אישור ECDSA עליון גם כן במהלך 2015, שנדחה לתחילת 2016 ואז שוב לשנת 2020. פרוטוקול האתגר-מענה שמשמש לאוטומציה של ההרשמה לרשות האישורים נקרא ACME ‏(Automated Management Management Certificate). הפרוטוקול עוסק בבקשות שונות לשרת האינטרנט עבור שם התחום המכוסה על ידי האישור. אם התגובות שהתקבלו תואמות את הציפיות, לנרשם מובטחת שליטה על שם התחום (אימות שם תחום). כדי לעשות זאת, תוכנית הלקוח ACME מגדירה שרת TLS מיוחד במערכת השרת שמתושאל על ידי שרת רשות האישורים של ACME עם בקשות מיוחדות המשתמשות בחיווי שם שרת (אימות שם תחום באמצעות חיווי שם שרת, DVSNI). תהליכי האימות מנוהלים פעמים רבות בנתיבי תקשורת נפרדים. הבדיקה של ערכי DNS מותאמת לביצוע ממגוון מיקומים גאוגרפיים כדי להקשות על התקפות זיוף DNS. התקשורת מול ACME מבוססת על החלפת מסמכי JSON על גבי חיבורי HTTPS. מפרט טיוטה זמין ב־GitHub והוגשה גרסה Internet Engineering Task Force‏ (IETF) כהצעה לתקן אינטרנטי. ב־Let's Encrypt מומשה טיוטה עצמאית לפרוטוקול ACME. במקביל, הייתה גם חתירה לתקינה. מה שהוביל ל„תקן המוצע” (RFC8555) במאי 2019. הצעה זו הציגה שינויים שסותרים גרסאות קודמות ולכן זכה לכינוי ACMEv2.‏ Let's Encrypt מימשה את הגרסה החדשה והחלה לעודד לקוחות קיימים לשדרוגים. העידוד בוצע תוך הפסקות פעילות שירות לסירוגין של ממשק ה־API של ACMEv1. סיום חיי התקן הישן הוכרז יחד עם תאריכים ושלבים בסעיף „תוכנית סוף החיים עבור ACMEv1”. סביבת הכנה להקמה: 2019 - 6 באוגוסט עד 7 באוגוסט - השבתה חלקית ראשונה 2019 - 13 באוגוסט עד 15 באוגוסט - השבתה חלקית שנייה 2019 - 27 באוגוסט עד 3 בספטמבר - השבתה חלקית שלישית 2019 - 1 באוקטובר - רישום חשבונות ACME v1 חדשים הושבת לצמיתות סביבת פעילות שוטפת: 2019 - 10 באוקטובר עד 11 באוקטובר - השבתה חלקית ראשונה 2019 - 16 באוקטובר עד 18 באוקטובר - השבתה חלקית שנייה 2019 - 8 בנובמבר - רישום חשבונות ACME v1 חדשים הושבת לצמיתות יוני 2020 - אימות שמות תחום חדשים יושבת השבתות חלקיות ל־24 שעות תחלנה בינואר 2021 יוני 2021 - ACMEv1 יושבת לחלוטין רשות האישורים נשענת על תוכנית בשם Boulder, שנכתבה ב־Go, שמיישמת את צד השרת של פרוטוקול ACME. התוכנית מופצת כתוכנה חופשית יחד עם קוד המקור תחת תנאי גרסה 2 של הרישיון הציבורי של מוזילה (MPL). היא מספקת API מסוג RESTful שניתן לגשת אליו דרך ערוץ TLS מוצפן. Boulder משתמש ב־cfssl, ערכת כלים של CloudFlare PKI/TLS, באופן פנימי. תוכנית שכתובה בפייתון ברישיון אפאצ'י לניהול אישורים בשם certbot (לשעבר letsencrypt) מותקנת בצד הלקוח (שרת האינטרנט של מי שנרשם לשירות). התוכנית משמשת להזמנת האישור, ניהול תהליך אימות שם התחום, התקנת האישור, הגדרת תצורת ה־HTTPS בשרת HTTP ובהמשך חידוש הקובץ של האישור באופן קבוע. לאחר ההתקנה וההסכמה לרישיון המשתמש די בביצוע פקודה בודדת כדי להתקין אישור תקף. ניתן להפעיל אפשרויות נוספות כמו שידוך OCSP או HTTP Strict Transport Transport (HSTS). ההתקנה אוטומטית עובדת בשלב זה רק עם אפאצ׳י ועם Nginx. מערכת Let's Encrypt מנפיקה אישורים שתקפים ל־90 יום. הסיבה לכך היא שאישורים אלו „מגבילים נזק כתוצאה מפגיעה במפתח והנפקה שגויה” ומעודדים אוטומציה. בהתחלה, Let's Encrypt פיתחה לקוח ACME משלה - Certbot - כמימוש רשמי. הלקוח הועבר לקרן החזית האלקטרונית ושמו הקודם „letsencrypt” הוחלף ב־„certbot”. יש מבחר גדול של לקוחות ומיזמים סביב ACME שפותחו על ידי הקהילה למגוון סביבות. מיזם Let's Encrypt נוסד בשנת 2012 על ידי שני עובדי מוזילה, ג׳וש אאס ואריק רסקורלה, יחד עם פיטר אקרסלי מקרן החזית האלקטרונית וג׳. אלכס הלדרמן מאוניברסיטת מישיגן. קבוצת מחקר אבטחת האינטרנט, החברה שמאחורי Let's Encrypt, נוסדה במאי 2013. ההכרזה לציבור יצאה ב־18 בנובמבר 2014. ב־28 בינואר 2015 הוגש פרוטוקול ACME ל־IETF באופן רשמי לצורך תקינה. ב־9 באפריל 2015 הכריזו ISRG וקרן לינוקס על שיתוף פעולה. האישורים העליונים ואישורי התווך נוצרו בתחילת יוני. ב־16 ביוני 2015, הוכרז לוח הזמנים הסופי להשקת השירות, כאשר הנפקת האישור הראשון צפויה הייתה מתישהו בשבוע סביב 27 ביולי 2015 ולאחריו תקופת הנפקה מוגבלת לבדיקת האבטחה ויכולת הגדילה. הזמינות הכללית של השירות תוכננה במקור להתחיל מתישהו בשבוע של 14 בספטמבר 2015. ב־7 באוגוסט 2015, תוקן לוח הזמנים של ההשקה כדי לספק זמן רב יותר להבטיח אבטחה ויציבות מערכתית, כאשר האישור הראשון שהונפק בשבוע סביב 7 בספטמבר 2015 ולאחריו זמינות כללית בשבוע שסביב 16 בנובמבר 2015. החתימה הצולבת של IdenTrust תוכננה להיות זמינה עם פתיחת Let's Encrypt לקהל הרחב. ב־14 בספטמבר 2015, Let's Encrypt הנפיקה את האישור הראשון שלה, שהיה מיועד לשם התחום helloworld.letsencrypt.org. באותו יום הגישה ISRG את יישומי תוכנית האישור העליון שלה למוזילה, מיקרוסופט, גוגל ואפל. ב־19 באוקטובר 2015, אישורי התווך נחתמו באופן צולב על ידי IdenTrust, מה שגרם לכך שכל האישורים שהונפקו על ידי Let's Encrypt ייחשבו מהימנים על ידי כל הדפדפנים הגדולים. ב־12 בנובמבר 2015, Let's Encrypt הודיעה כי הזמינות הכללית תידחה וכי הבטא הציבורית הראשונה תתחיל ב־3 בדצמבר 2015. הבטא הציבורית התקיימה החל מ־3 בדצמבר 2015 ועד 12 באפריל 2016. ב־3 במרץ 2020, Let's Encrypt הודיעה כי תצטרך לבטל למעלה מ־3 מיליון אישורים ב־4 במרץ, עקב פגם בתוכנית רשות האישורים שלה. באמצעות עבודה עם ספקי תוכנה ויצירת קשר עם מפעילי אתרים, Let's Encrypt הצליחה לחדש 1.7 מיליון מהתעודות המושפעות לפני המועד האחרון. בסופו של דבר הוחלט לא לבטל את שאר האישורים הנגועים, מכיוון שהסיכון לאבטחת המידע היה נמוך ותוקף האישורים אמור היה לפוג במהלך 90 הימים שלאחר מכן בכל מקרה. במרץ 2020 הוענק ל־Let's Encrypt הפרס השנתי של קרן התוכנה החופשית למיזמים בעלי תועלת חברתית. Barnes, R.; Hoffman-Andrews, J.; McCarney, D.; Kasten, J. (מרץ 2019). סביבת ניהול אישורים אוטומטית (ACME) RFC 8555. IETF. מדיה וקבצים בנושא Let's Encrypt בוויקישיתוף אתר האינטרנט הרשמי של Let's Encrypt https://certbot.eff.org Let's Encrypt ב־GitHub ההרצאה של סת׳ שון ב־Libre Planet בשנת 2015 על Let's Encrypt השיחה של pde על Let's Encrypt מ־CCCamp של 2015 רשימת האישורים שהונפקו על ידי Let's Encrypt Let's Encrypt, ברשת החברתית פייסבוק Let's Encrypt, ברשת החברתית אקס (טוויטר) Let's Encrypt, הבלוג הרשמי Let's Encrypt Stats - Let's Encrypt, letsencrypt.org (באנגלית אמריקאית) "How It Works". Let's Encrypt. נבדק ב-9 ביולי 2016. {{cite web}}: (עזרה) Aas, Josh (13 במרץ 2018). "ACME v2 and Wildcard Certificate Support is Live". Let's Encrypt. נבדק ב-24 במאי 2018. {{cite web}}: (עזרה) https://www.abetterinternet.org/sponsors/ Aas, Josh (4 ביוני 2015). "Let's Encrypt Root and Intermediate Certificates". Let's Encrypt. {{cite web}}: (עזרה) "Certificates". Let's Encrypt. אורכב מ-המקור ב-3 בדצמבר 2015. {{cite web}}: (עזרה) Aas, Josh (13 באוגוסט 2015). "Elliptic Curve Cryptography (ECC) Support". Let's Encrypt. אורכב מ-המקור ב-12 בדצמבר 2015. {{cite web}}: (עזרה) "Certificates". Let's Encrypt. אורכב מ-המקור ב-9 באוקטובר 2017. {{cite web}}: (עזרה) End of Life Plan for ACMEv1 'Run Boulder inside your organization?' from Let's Encrypt user forum Aas, Josh (9 בנובמבר 2015). "Why ninety-day lifetimes for certificates?". Let's Encrypt. נבדק ב-2016-06-26. {{cite web}}: (עזרה) "Let's Encrypt - Documentation". "Entering Public Beta - Let's Encrypt - Free SSL/TLS Certificates". Let's Encrypt. 3 בדצמבר 2015. נבדק ב-6 בינואר 2016. {{cite web}}: (עזרה) "Let's Encrypt Leaves Beta". LinuxFoundation.org. אורכב מ-המקור ב-15 באפריל 2016. נבדק ב-17 באפריל 2016. {{cite web}}: (עזרה) "Revoking certain certificates on March 4". נבדק ב-4 במרץ 2020. {{cite web}}: (עזרה) Barrett, Brian. "The Internet Avoided a Minor Disaster Last Week". Wired. Conde Nast. נבדק ב-9 במרץ 2020. {{cite web}}: (עזרה) Let's Encrypt, Jim Meyering, and Clarissa Lima Borges receive FSF's 2019 Free Software Awards Free Software Foundation, 2020 Aas, Josh (8 במרץ 2016). "Our Millionth Certificate - Let's Encrypt - Free SSL/TLS Certificates". letsencrypt.org. נבדק ב-15 במרץ 2016. {{cite web}}: (עזרה) "Let's Encrypt Reaches 2,000,000 Certificates". 2016-04-22. נבדק ב-2016-09-24. "Let's Encrypt Stats". letsencrypt.org. 5 ביוני 2016. נבדק ב-5 ביוני 2016. {{cite web}}: (עזרה) "Progress Towards 100% HTTPS, June 2016". letsencrypt.org. 24 ביוני 2016. נבדק ב-22 ביוני 2016. {{cite web}}: (עזרה) "Milestone: 100 Million Certificates Issued - Let's Encrypt - Free SSL/TLS Certificates". letsencrypt.org (באנגלית). נבדק ב-2017-07-02. "Let's Encrypt Root Trusted By All Major Root Programs". letsencrypt.org (באנגלית). נבדק ב-2018-09-11. "Let's Encrypt on Twitter". Twitter (באנגלית). נבדק ב-2018-09-16. "Let's Encrypt Growth Timeline". letsencrypt.org (באנגלית). נבדק ב-2019-10-24. "Let's Encrypt Has Issued a Billion Certificates - Let's Encrypt - Free SSL/TLS Certificates". letsencrypt.org. נבדק ב-2020-03-03.