טביעת אצבע ציבורית

בקריפטוגרפיה, טביעת אצבע ציבורית היא מפתח ציבורי מקוצר, המשמש לזיהוי מפתח ציבורי ארוך יותר. טביעת האצבע המקוצרת נוצרת באמצעות החלת פונקציית גיבוב קריפטוגרפית על המפתח הציבורי הארוך.

יצירת טביעת אצבע ציבורית
טביעת אצבע ציבורית נוצרת בדרך כלל במספר שלבים.

ראשית יש לייצר מפתח ציבורי. למפתח זה אפשר להצמיד מידע נוסף, כמו גרסת פרוטוקול ה-PGP בה יש להשתמש, או תעודת X.509 של בעל המפתח. מפתח ציבורי המופק במערכת RSA הוא באורך של 1024 סיביות או יותר.

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

בדרך כלל טביעת אצבע ציבורית היא באורך של 128 או 160 סיביות, והיא מוצגת כרצף קבוצות תווים בבסיס הקסדצימלי. לדוגמה, טביעת אצבע בת 128 סיביות יכולה להיות מוצגת באופן הבא:

43: 51: 43: a1: b5: fc: 8b: b7: 0a: 3a: a9: b1: 0f: 66: 73: a8

שימוש בטביעות אצבע ציבורית לצורכי אימות
טביעות אצבע ציבורית יכולה לשמש לצורכי אימות זהות.

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

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

אחד היישומים של טביעת אצבע ציבורית הוא הזדהות באמצעות OpenSSH בגרסאות השרת של Microsoft Windows.

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

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

ייתכן כי איומים אלה יגרמו לשימוש גובר בפונקציות גיבוב קריפטוגרפיות חדישות יותר, כגון SHA-256.

הערות שוליים

מפתח ציבורי