טרמינולוגיה חשובה בנושא אבטחה

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

כריס פאלמר
כריס פאלמר
מאט גאונט

סיכום

  • שימוש במפתחות ציבוריים/פרטיים לחתימה ולפענוח של הודעות בין הדפדפן לשרת.
  • רשות אישורים (CA) היא ארגון לערוב למיפוי בין המפתחות הציבוריים לשמות DNS ציבוריים (כגון "www.foobar.com").
  • בקשה לחתימה על אישור (CSR) היא פורמט נתונים שכולל מפתח ציבורי יחד עם כמה מטא-נתונים על הישות שהמפתח נמצא בבעלותה.

מהם זוג המפתחות הציבוריים והפרטיים?

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

מהי רשות אישורים?

רשות אישורים (CA) היא ארגון שקועד למיפוי בין מפתחות ציבוריים לשמות DNS ציבוריים (כמו www.foobar.com). לדוגמה, איך הלקוח יכול לדעת אם מפתח ציבורי מסוים הוא המפתח הציבורי הנכון של www.foobar.com? קודם כל, אין דרך לדעת. כדי לחתום בצורה קריפטוגרפית על המפתח הציבורי של האתר, CA מאשר למפתח ספציפי שהוא המפתח האמיתי לאתר ספציפי. לא ניתן לזייף את החתימה הזו מבחינה חישובית. בדפדפנים (ולקוחות אחרים) יש מאגרי עוגן אמינות שמכילים את המפתחות הציבוריים שבבעלות רשויות האישורים הידועות, והם משתמשים במפתחות הציבוריים האלה כדי לאמת באופן קריפטוגרפי את החתימות של רשות האישורים.

אישור X.509 הוא פורמט נתונים שמאחד מפתח ציבורי יחד עם כמה מטא-נתונים לגבי הישות שהמפתח נמצא בבעלותה. כשמדובר באינטרנט, הבעלים של המפתח הוא מפעיל האתר והמטא-נתונים החשובים הם שם ה-DNS של שרת האינטרנט. כשלקוח מתחבר לשרת אינטרנט מסוג HTTPS, שרת האינטרנט מציג את האישור שלו כדי שהלקוח יוכל לאמת. הלקוח מוודא שתוקף האישור עדיין לא פג, ששם ה-DNS תואם לשם השרת שאליו הלקוח מנסה להתחבר וש-CA ידוע של עוגן אמינות חתום על האישור. ברוב המקרים, רשויות אישורים לא חותמות באופן ישיר על אישורים של שרת אינטרנט. בדרך כלל יש שרשרת אישורים שמקשרת בין עוגן אמון לחותם ברמת ביניים או לחותם ברמת הביניים, ולבסוף לאישור של שרת האינטרנט עצמו (ישות הקצה).

מהי בקשה לחתימה על אישור?

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