לדף הכניסה של ישרא-בלוג
לדף הראשי של nana10
לחצו לחיפוש
חפש שם בלוג/בלוגר
חפש בכל הבלוגים
חפש בבלוג זה
 

יומן אבטחה

בלוג אבטחת מידע. עדכונים, עניינים, חדשות ופרסומים. הכל מכל בכל בנושא אבטחת מידע. ופרטיות.

מלאו כאן את כתובת האימייל
שלכם ותקבלו עדכון בכל פעם שיעודכן הבלוג שלי:

הצטרף כמנוי
בטל מנוי
שלח

RSS: לקטעים  לתגובות 
ארכיון:


8/2007

מבוא להצפנה חלק ה' - PKI (חלק א)


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

 

(בחלקים קודמים סקרתי את יסודות ההצפנה, ההבדלים בין פונקציות סימטריות לאסימטריות, פונקציות hash וחתימות דיגיטליות)

 

 

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

 

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

 

וכאן בעצם מתחיל הסיפור שלנו. כדי שגיא ואני נוכל להתכתב בבטחה אנו נזקקים לגורם שלישי ששנינו סומכים עליו שיאמת כי מפתחות ההצפנה שאנו עושים בהם שימוש אכן שייכים לנו. ביומיום כולנו עושים שימוש בשיטה זו כשאנו גולשים לאתרים עם SSL. מה שקורה שם (כמעט תמיד זהו תהליך זיהוי חד צדדי, אך הוא יכול להיות באותה המידה דו צדדי) הוא שהאתר אליו אנו גולשים טוען בפנינו שהוא (לצורך העניין) הבנק שלנו ומציג לנו מפתח הצפנה ציבורי בו נוכל לעשות שימוש. אנו מוודאים את זהות האתר על ידי כך שאנו מוודאים שמישהו שאנו סומכים עליו חתם לו (דיגיטלית) על האישורים המתאימים. האישורים הללו נקראים למעשה תעודות דיגיטליות והם מחזיקים בתוכם נתונים מסוימים וכן את מפתח ההצפנה הציבורי. החתימה היא (כזכור) תוצר hash של כל הנתונים הללו שמוצפן באמצעות המפתח הפרטי של הגוף עליו אנו סומכים.

 

ונעבור לשלב המונחים:

  • התעודות הדיגיטליות בעולם ה-PKI נקראות Certificate. לכל משתמש מערכת הפעלה של microsoft יש מקום במחשב שנקרא certificate store (מאגר התעודות) המכיל את כל התעודות הדיגיטליות בהם אנו עושים שימוש.

Certificate Store בחלונות

  • מי שמנפיקים את התעודות ומהווים למעשה את עוגני האמון (הגורמים בהם נותנים אמון הצרכנים השונים של המערכת) נקראים Certificate Authority ובקיצור CA. המוכרים לנו ביותר הם Verisign ו-Thawte, אך ישנם עוד רבים וטובים.
  • על מנת להפקיד תעודות דיגיטליות החתומות על ידי ה-CA יש צורך בהרשאה מתאימה. הגורמים העושים זאת נקראים Registration Authority (גורמי רישום) ובקיצור, RA.
  • כמו בכל ש"ג צה"לי סטנדרטי, גם בעולם ה-PKI יש רשימה של תעודות שאבדו או נפסלו (אלא שבמקרה זה היא אמורה להיות מעודכנת וממוחשבת. שני דברים שלא ניתן לומר על הרשימות בצבא). רשימת התעודות הפסולות נקראת Certificate Revocation List, או בקיצור CRL.

אלו המרכיבים הבסיסיים של תשתית PKI בארגון, עליהם יש להוסיף רק כרטיסים חכמים שישמשו לצורך שמירת מפתחות ההצפנה של המשתמשים וכן של שרת ה-CA (עבור שרתים מקובל לעשות שימוש ברכיב חזק יותר הקרוי Hardware Security Module שהוא למעשה כרטיס חכם לשרתים (יותר חזק, יותר יפה ויותר יקר).

 

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



תעודה שנפסלה לשימוש

 

שני מונחים נוספים שהם בבחינת הכרח להכיר:

Certificate Policy - מדיניות הארגון ביחס להנפקת התעודות. החל מנושאים טכניים טהורים כמו אורכי מפתחות ועד קביעות מסוג אופן כתיבת פרטי האדם בתעודה, מהם הפרטים שחובה להכניס לתעודה ומה רשות, תוקף תעודות ותחולתן וכדומה. (שוב, צילום מה-Certificate Store בחלונות שמאפשר לבחור הגדרות אלה):


בחירת שימושים לתעודה

Certificate Practices Statement - מסמך מדיניות מקיף המגדיר את כל תהליכי הניהול של תשתית PKI בארגון, החל מאופן הנפקת התעודות, דרך ההחלטה מי יקבל מה, מהם נהלי העבודה וכדומה.

את תבניות המסמכים ניתן למצוא בתקן x.509, כולל דוגמאות מפורטות (אני מתעצל למצוא את הקישור כרגע).

 

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

 

נכתב על ידי , 3/8/2007 09:39   בקטגוריות כרטיסים חכמים, הצפנות ושמונצס, שווה קריאה  
3 תגובות   הצג תגובות    הוסף תגובה   הוסף הפניה   קישור ישיר   שתף   המלץ   הצע ציטוט



כינוי: 

גיל: 50




65,379
הבלוג משוייך לקטגוריות: אינטרנט
© הזכויות לתכנים בעמוד זה שייכות לעומר טרן אלא אם צויין אחרת
האחריות לתכנים בעמוד זה חלה על עומר טרן ועליו/ה בלבד
כל הזכויות שמורות 2025 © עמותת ישראבלוג (ע"ר)