עדכון אחרון: | הצגת כל התיעוד
שקיפות אישורים (CT) היא מערכת לתיעוד ומעקב אחר הנפקת אישורי TLS. מערכת שקיפות האישורים מרחיבה את היכולת של כל אחד לעקוב ולחקור הנפקות אישורים והיכולות האלו הובילו למגוון שיפורים בסביבת הפעילות של רשויות האישורים ובאבטחת האינטרנט. כתוצאה מכך, שקיפות האישורים הופכת במהרה לתשתית חיונית.
מערכת Let's Encrypt מגישה את כל האישורים שאנו מנפיקים ליומני שקיפות אישורים. אנו מפעילים בנוסף שני יומני שקיפות אישורים שנתיים בחלוקה ליחידות גיבוי בשמות Oak ו־Testflume. כל רשויות האישורים שנחשבות למהימנות בעיני הציבור מוזמנות לתעד ליומנים שלנו. אישורים עליונים רבים של מגוון רשויות אישורים כבר נכללו ביומני שקיפות האישורים שלנו. ניתן ליצור אתנו קשר בדוא״ל בנוגע להוספת אישורים עליונים ליומנים שלנו אם האישור שלך לא נכלל אצלנו.
ניתן להירשם לקבלת התראות בקטגוריית הכרזות שקיפות האישורים שבפורום הקהילתי שלנו כדי לצפות בהכרזות עיקריות בנוגע ליומני שקיפות האישורים שלנו.
מימון
אנו מעוניינים להודות לשותפים הבאים על נדיבותם במימון יומן שקיפות האישורים (CT) של Let's Encrypt. אם הארגון שלך מעוניין להמשיך בעבודה הזאת, נא לשקול לתת חסות או לתרום.
ארכיטקטורה
בבלוג שלנו ניתן לראות כיצד Let's Encrypt מריץ יומני שקיפות אישורים!
מעקב אחר יומנים
ארגון Let's Encrypt יצר כלי מעקב יומני שקיפות אישורים בקוד פתוח בשם CT Woodpecker (נקר יומני אישורים). אנו משתמשים בכלי הזה כדי לעקוב אחר יציבות ותאימות היומנים שלנו עצמנו ומקווים שגם אחרים יעזרו בו.
יומני שקיפות אישורים
הפעלה מלאה (Production)
- Oak משולב לתוך תכניות שקיפות האישורים של Apple ושל Google.
- ה־API של סביבת הפעילות המלאה של ACME מגישה את האישורים כאן.
-
-
שם: Oak 2019
כתובת: https://oak.ct.letsencrypt.org/2019
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFkqNKRuZ+Z8IOsnNJrUZ8gwp+KKGOdQrJ/HKhSadK/SJuoCc9+dxQ7awpmWIMr9SKcQeG5uRzG1kVSyFN4Wfcw==
מזהה יומן:65:9B:33:50:F4:3B:12:CC:5E:A5:AB:4E:C7:65:D3:FD:E6:C8:82:43:77:77:78:E7:20:03:F9:EB:2B:8C:31:29
תחילת החלון:2019-01-01T00:00Z
סוף החלון:2020-01-07T00:00Z
מצב: Rejected - Shard Expired -
שם: Oak 2020
כתובת: https://oak.ct.letsencrypt.org/2020
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfzb42Zdr/h7hgqgDCo1vrNJqGqbcUvJGJEER9DDqp19W/wFSB0l166hD+U5cAXchpH8ZkBNUuvOHS0OnJ4oJrQ==
מזהה יומן:E7:12:F2:B0:37:7E:1A:62:FB:8E:C9:0C:61:84:F1:EA:7B:37:CB:56:1D:11:26:5B:F3:E0:F3:4B:F2:41:54:6E
תחילת החלון:2020-01-01T00:00Z
סוף החלון:2021-01-07T00:00Z
מצב: Usable -
שם: Oak 2021
כתובת: https://oak.ct.letsencrypt.org/2021
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELsYzGMNwo8rBIlaklBIdmD2Ofn6HkfrjK0Ukz1uOIUC6Lm0jTITCXhoIdjs7JkyXnwuwYiJYiH7sE1YeKu8k9w==
מזהה יומן:94:20:BC:1E:8E:D5:8D:6C:88:73:1F:82:8B:22:2C:0D:D1:DA:4D:5E:6C:4F:94:3D:61:DB:4E:2F:58:4D:A2:C2
תחילת החלון:2021-01-01T00:00Z
סוף החלון:2022-01-07T00:00Z
מצב: Usable -
שם: Oak 2022
כתובת: https://oak.ct.letsencrypt.org/2022
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhjyxDVIjWt5u9sB/o2S8rcGJ2pdZTGA8+IpXhI/tvKBjElGE5r3de4yAfeOPhqTqqc+o7vPgXnDgu/a9/B+RLg==
מזהה יומן:DF:A5:5E:AB:68:82:4F:1F:6C:AD:EE:B8:5F:4E:3E:5A:EA:CD:A2:12:A4:6A:5E:8E:3B:12:C0:20:44:5C:2A:73
תחילת החלון:2022-01-01T00:00Z
סוף החלון:2023-01-07T00:00Z
מצב: Usable -
שם: Oak 2023
כתובת: https://oak.ct.letsencrypt.org/2023
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsz0OeL7jrVxEXJu+o4QWQYLKyokXHiPOOKVUL3/TNFFquVzDSer7kZ3gijxzBp98ZTgRgMSaWgCmZ8OD74mFUQ==
מזהה יומן:B7:3E:FB:24:DF:9C:4D:BA:75:F2:39:C5:BA:58:F4:6C:5D:FC:42:CF:7A:9F:35:C4:9E:1D:09:81:25:ED:B4:99
תחילת החלון:2023-01-01T00:00Z
סוף החלון:2024-01-07T00:00Z
מצב: Pending
-
שם: Oak 2019
בדיקה (Testing)
- חותמות זמן של אישורים חתומים (SCTs) מהיומנים האלו לא אמורים להשתלב באישורים מהימנים ציבוריים.
- סביבות הפעילות המלאה וההכנה להקמה של ה־API של ACME שתיהן מגישות אישורים ל־Testflume, אבל סביבת הפעילות המלאה לא משתמשת ב־SCTs שנוצרים.
- כאן אנחנו בודקים גרסאות חדשות של Trillian ושל certificate-transparency-go בטרם הטמעתן לסביבת הפעילות המלאה.
- רשימת האישורים העליונים המקובלים של Testflume כוללים את כל האישורים העליונים שמקובלים על Oak בנוסף לאישורים עליונים לצורכי בדיקות.
- רשויות אישורים אחרות יכולות להשתמש ב־Testflume למטרות בדיקות.
-
-
שם: Testflume 2019
כתובת: https://testflume.ct.letsencrypt.org/2019
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAg3+vFOesFW51rKECekioAt9Zo50atRoOJ0qLxF7DIEHsHneXLEpgO1WMreleRy1vEbUJD7TXoH9r8qSDGvyew==
מזהה יומן:84:9F:5F:7F:58:D2:BF:7B:54:EC:BD:74:61:1C:EA:45:C4:9C:98:F1:D6:48:1B:C6:F6:9E:8C:17:4F:24:F3:CF
תחילת החלון:2019-01-01T00:00Z
סוף החלון:2020-01-07T00:00Z
-
שם: Testflume 2020
כתובת: https://testflume.ct.letsencrypt.org/2020
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjdjcoKpeBShHgHvRm3BxD5+l+eHZudv3KmD5SDcLcI01Vj5TDTmxanQKCgpvm9pfnfB6URMQV3hhU1I02jRoRw==
מזהה יומן:C6:3F:22:18:C3:7D:56:A6:AA:06:B5:96:DA:8E:53:D4:D7:15:6D:1E:9B:AC:8E:44:D2:20:2D:E6:4D:69:D9:DC
תחילת החלון:2020-01-01T00:00Z
סוף החלון:2021-01-07T00:00Z
-
שם: Testflume 2021
כתובת: https://testflume.ct.letsencrypt.org/2021
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdCLoJNt1QcNa7sNDp7g7oTJ+o/UIYEM6N/IZWT+dhdqtJZC+AODJ/4exdOwG04B4K6WrN1VB2ELKQIc/wU1lCw==
מזהה יומן:03:ED:F1:DA:97:76:B6:F3:8C:34:1E:39:ED:9D:70:7A:75:70:36:9C:F9:84:4F:32:7F:E9:E1:41:38:36:1B:60
תחילת החלון:2021-01-01T00:00Z
סוף החלון:2022-01-07T00:00Z
-
שם: Testflume 2022
כתובת: https://testflume.ct.letsencrypt.org/2022
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjy/rXcABuf0yhrm1+XgjDnh4XPD7vfMoyJOyT+KA+c2zuXVR98yQmp/Bl5ZFdGFwJuFcVrCw7IDo0EGKs7UCww==
מזהה יומן:23:27:EF:DA:35:25:10:DB:C0:19:EF:49:1A:E3:FF:1C:C5:A4:79:BC:E3:78:78:36:0E:E3:18:CF:FB:64:F8:C8
תחילת החלון:2022-01-01T00:00Z
סוף החלון:2023-01-07T00:00Z
-
שם: Testflume 2023
כתובת: https://testflume.ct.letsencrypt.org/2023
מפתח ציבורי:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8aLpnumqeISmQEB3hKPgtPJQG3jP2IftfaUQ4WPUihNBwUOEk1R9BMg5RGQwebWSsRlGIRiCvtE97Q45Vh3mqA==
מזהה יומן:55:34:B7:AB:5A:6A:C3:A7:CB:EB:A6:54:87:B2:A2:D7:1B:48:F6:50:FA:17:C5:19:7C:97:A0:CB:20:76:F3:C6
תחילת החלון:2023-01-01T00:00Z
סוף החלון:2024-01-07T00:00Z
-
שם: Testflume 2019
פעולות על היומן
כדי למנות את האישורים העליונים הנכללים ליומן שקיפות אישורים מסוים עליך להריץ את הפקודה הבאה במסוף החביב עליך:
$ for i in $(curl -s https://oak.ct.letsencrypt.org/2020/ct/v1/get-roots | jq -r '.certificates[]'); do echo '------'; base64 -d <<< "${i}" | openssl x509 -inform der -noout -issuer -serial done
הגשת אישורים ליומן שקיפות אישורים בדרך כלל מטופלת על ידי רשויות אישורים. אם מעניין אותך להתנסות בזה, כדאי להתחיל בקבלת אישור בקידוד PEM שרירותית מהאתרים האהובים עליך. עליך להעתיק את המקטע הבא ולהדביק אותו במסוף שלך.
$ echo | \ openssl s_client \ -connect "letsencrypt.org":443 \ -servername "letsencrypt.org" \ -verify_hostname "letsencrypt.org" 2>/dev/null | \ sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > example.crt
לפני שניתן להגיש אישור, יש לקודד אותו ל־JSON במבנה מיוחד. ניתן להשתמש במחולל ה־JSON שסופק על ידי https://crt.sh/gen-add-chain לביצוע הפעולה הזאת. הכלי crt.sh יחזיר מאגד JSON. עליך להוריד את המאגד למחשב שלך, לשנות את שם הקובץ אם יש בכך צורך ולהריץ את הפקודה הבאה כדי לבצע פעולת add-chain (הוספת שרשרת - RFC 6962 סעיף 4.1) כדי להגיש את האישור ליומן שקיפות האישורים. הפלט יכיל חתימה שהיא למעשה SCT. נפרט יותר על החתימה עוד רגע קט.
$ curl \ -X POST \ --data @example-json-bundle.json \ -H "Content-Type: application/json" \ -H "User-Agent: lets-encrypt-ct-log-example-1.0" \ https://oak.ct.letsencrypt.org/2020/ct/v1/add-chain {"sct_version":0,"id":"5xLysDd+GmL7jskMYYTx6ns3y1YdESZb8+DzS/JBVG4=","timestamp":1576689972016,"extensions":"","signature":"BAMARzBFAiEA4OmuTcft9Jq3XLtcdZz9XinXCvYEY1RdSQICXayMJ+0CIHuujkKBLmQz5Cl/VG6C354cP9gxW0dfgMWB+A2yHi+E"}
כדי לאמת שיומן שקיפות האישורים נחתם על ידי שבר 2020 של Oak, אנו משתמשים בשדה המזהה (id) מהפקודה שלהלן ומריצים אותו דרך הפקודה הבאה. תוצאות הפלט של הפקודה הזאת יציג את מזהה היומן של יומן שקיפות האישורים.
$ base64 -d <<< "5xLysDd+GmL7jskMYYTx6ns3y1YdESZb8+DzS/JBVG4=" | xxd -p -c 64 | sed -e 's/../&:/g' -e 's/:$//' | tr '[:lower:]' '[:upper:]' E7:12:F2:B0:37:7E:1A:62:FB:8E:C9:0C:61:84:F1:EA:7B:37:CB:56:1D:11:26:5B:F3:E0:F3:4B:F2:41:54:6E
באמצעות שדה החתימה נוכל לוודא שהאישור הוגש ליומן. באמצעות מדריך ההתעמקות בחותמת זמן של אישור חתום, ניתן לפענח את הערך הזה בפירוט.
$ base64 -d <<< "BAMARzBFAiEA4OmuTcft9Jq3XLtcdZz9XinXCvYEY1RdSQICXayMJ+0CIHuujkKBLmQz5Cl/VG6C354cP9gxW0dfgMWB+A2yHi+E" | xxd -p -c 16 | sed -e 's/../&:/g' -e 's/:$//' | tr '[:lower:]' '[:upper:]' 04:03:00:47:30:45:02:21:00:E0:E9:AE:4D:C7:ED:F4 9A:B7:5C:BB:5C:75:9C:FD:5E:29:D7:0A:F6:04:63:54 5D:49:02:02:5D:AC:8C:27:ED:02:20:7B:AE:8E:42:81 2E:64:33:E4:29:7F:54:6E:82:DF:9E:1C:3F:D8:31:5B 47:5F:80:C5:81:F8:0D:B2:1E:2F:84