כיצד זה עובד

עדכון אחרון:

המטרה של Let’s Encrypt ושל פרוטוקול ACME היא לאפשר להקים שרת HTTPS ושהוא ימשוך אוטומטית אישורים מהימנים לדפדפן, ללא התערבות של בן אדם. מטרה זו מושגת על ידי הפעלת סומן ניהול אישורים בשרת המארח.

כדי להבין איך הטכנולוגיה הזו עובדת, הבה נעבור על תהליך הגדרת לקוח ניהול אישורים שתומך ב־Let’s Encrypt עבור https://example.com/.

לתהליך זה שני שלבים. תחילה, הסוכן מוכיח לרשות האישורים שהשרת הזה שולט בשם התחום. לאחר מכן, הסוכן יכול לבקש, לחדש ולשלול אישורים עבור שם התחום הזה.

תיקוף שם תחום

Let’s Encrypt מזהה את מנהל השרת באמצעות מפתח ציבורי. בפעם הראשונה שתכנית הסוכן יוצרת קשר עם Let’s Encrypt היא מייצרת צמד מפתחות חדש ומוכיחה לרשות האישורים Let’s Encrypt שלשרת יש שליטה בשם תחום אחד או יותר. בדומה לתהליך המסורתי מול רשות אישורים שכרוך ביצירת חשבון והוספת שמות תחום לחשבון הזה.

כדי להניע את התהליך, הסוכן מבקש מרשות האישורים Let’s Encrypt את מה שדרוש לו כדי להוכיח שהוא שולט ב־example.com. רשות האישורים Let’s Encrypt תסתכל על שם התחום שבבקשה ותנפיק סדרת אתגרים אחת או יותר. אלו דרכים שונות שבהן יכול הסוכן להוכיח שיש לו שליטה על שם התחום. למשל, רשות האישורים יכולה לתת לסוכן לבחור בין:

בנוסף לאתגרים, רשות האישורים Let’s Encrypt מספקת אסימון מוצפן שעל הסוכן לחתום עליו עם המפתח הפרטי שלו כדי להוכיח שיש לו שליטה על צמד המפתחות.

בקשת אתגרים לתיקוף example.com

תכנית הסוכן משלימה את אחת מסדרות האתגרים שסופקו. נניח שהוא מצליח להשלים את המשימה השנייה שלעיל: הסוכן יוצר קובץ תחת נתיב מסוים באתר http://example.com. הסוכן גם חותם על האסימון המוצפן עם המפתח הפרטי שלו. לאחר שהסוכן השלים את הצעדים האלה, הוא מודיע לרשות האישורים שהוא מוכן להשלים את התיקוף.

מכאן, זה תפקידה של רשות האישורים לבדוק שהאתגרים נענו כראוי. רשות האישורים מאמתת את החתימות על האסימון המוצפון ומנסה להוריד את הקובץ מהשרת ולוודא שיש בו את התוכן שאמור להיות בו.

בקשת הרשאה כדי לפעול עבור example.com

אם החתימה על האסימון המוצפן תקפה והאתגרים הושלמו אז הסוכן שמזוהה באמצעות המפתח הציבורי מורשה לנהל אישורים עבור example.com. אנו קוראים לצמד המפתחות בהם משתמש הסוכן „צמד מפתחות מורשה” עבור example.com.

הנפקה ושלילה של אישורים

לאחר שהסוכן נתן הרשאה לצמד מפתחות, בקשה, חידוש ושלילה של אישורים היא פשוטה - עליך פשוט לשלוח הודעות ניהול אישורים ולחתום עליהן עם צמד המפתחות המורשה.

כדי להשיג אישור עבור שם התחום, הסוכן מרכיב בקשת חתימת אישור - Certificate Signing Request ‏(CSR) בתצורת PKCS#10 שמבקשת מרשות האישורים Let’s Encrypt להנפיק אישור עבור example.com עם מפתח ציבורי מסוים. כרגיל, ה־CSR כולל חתימה במפתח הפרטי שתואם למפתח הציבורי שב־CSR. הסוכן גם חותם על כל ה־CSR עם המפתח המורשה עבור example.com כדי שרשות האישורים Let’s Encrypt תדע שהוא מורשה.

כאשר רשות האישורים Let’s Encrypt מקבלת את האישור, היא מאמתת את שתי החתימות. אם הכול נראה טוב, היא מנפיקה אישור עבור example.com עם המפתח הציבורי מתוך בקשת חתימת האישור (CSR) ומחזירה אותו אל הסוכן.

בקשת אישור עבור example.com

השלילה עובדת באופן דומה. הסוכן חותם על בקשת שלילה עם צמד המפתחות שמורשים עבור example.com, ורשות האישורים Let’s Encrypt מוודאה שהבקשה מורשית. אם אכן כן, היא מפרסמת פרטי שלילה לערוצי השלילי הרגילים (כלומר: OCSP), כדי שגופי סמך כגון דפדפנים יוכלו לדעת שהם לא אמורים לאשר את האישור שנשלל.

בקשת שלילת אישור עבור example.com