מפתח ציבורי

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

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

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

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

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

הגדרה בסיסית[עריכת קוד מקור | עריכה]

תהי \ \{E_e : e \in K\} קבוצת טרנספורמציות (פונקציות) ההצפנה ו-\ \{D_d : d \in K\} קבוצת טרנספורמציות הפענוח, כאשר \ \mathcal{K} הנו טווח המפתח. בהינתן פונקציית הצפנה \ E_e עם מפתח \ e כלשהו, פונקציית פענוח \ D_d עם מפתח \ d מתאים והמשוואה \ c = E_e(m), יהיה קשה מבחינה חישובית לחלץ את \ m בידיעת \ E_e ו-\ c בלבד. במילים אחרות חישוב \ d מתוך \ e היא בעיה קשה מבחינה חישובית. באיור מתוארת מערכת מפתח פומבי טיפוסית: המקבל בוב מכין זוג מפתחות \ e, d. את המפתח הפומבי \ e הוא שולח לאליס ואת \ d הוא שומר בסוד. כעת אליס מצפינה את המסר \ m עבור בוב באמצעות הפונקציה \ E_e(m) ואילו בוב משחזר את הטקסט המוצפן \ c באמעצות \ D_d(c). המצותתת איב מסוגלת לראות את תעבורת הרשת, על כן היא רואה את \ e ואת \ c. אולם איב תוכל לפענח את הטקסט המוצפן \ c רק בידיעת \ d. כיוון ש-\ d מעולם לא שודר, ביכולתה רק להסיקו מתוך \ e או לנחשו. כיוון שבמערכת מעשית המפתחות בדרך כלל גדולים מאוד, הטווח \ \mathcal{K} כה גדול עד כי חיפוש ממצה אינו מעשי. על כן בוב יכול למעשה לשדר בבטחה את מפתח ההצפנה \ e באותו ערוץ בו משודר הטקסט המוצפן \ c.

בטיחות[עריכת קוד מקור | עריכה]

מערכות הצפנת מפתח פומבי מבוססות ברובן על מספר מצומצם של בעיות מתמטיות הידועות כקשות לפתרון מבחינה חישובית עם בעיות אלו נמנות בעיית פירוק לגורמים, בעיית לוגריתם דיסקרטי ובעיית שורש ריבועי מודולו שלם פריק. בעיות אלו מאפשרות יישום פונקציה חד כיוונית מיוחדת הנקראת פונקציה חד-כיוונית עם דלת סתרים או דלת צונחת (Trapdoor). שהיא פונקציה חד-סטרית הקלה לחישוב בכיוון אחד אך קשה ביותר לשחזור בכיוון ההפוך. אולם מכילה מידע נוסף בעזרתו חישוב הפונקציה ההפוכה הופך לקל. ללא המידע הנסתר יהיה קשה ביותר לחשב את הפונקציה ההפוכה אלא אם כן תמצא דרך יעילה לפתרון הבעיה המתמטית האמורה. דוגמה לפונקציה כזו היא \ f = x^2\ (\mbox{mod}\ n) כאשר \ n = pq (כפולה של שני ראשוניים שונים), עליה מבוססת הצפנת רבין. דלת הסתרים במקרה זה היא הגורמים הראשוניים של \ n כי כידוע שורש ריבועי מודולו מספר ראשוני קל לחישוב. יש לציין כי קיומן של פונקציות חד-כיווניות אינו מוכח מבחינה מתמטית, הדעה הרווחת בין מתמטיקאים היא כי קיומן ייתכן. כמו כן אין הוכחה מתמטית כי הבעיות המנויות הנן בלתי פתירות, אם כי כל דרך פולינומית שתתגלה לפתרון אחת מבעיות אלו תהווה הפתעה מרעישה, מאחר שמרבית מערכות האבטחה המסחריות הקיימות בשוק, נשענות על הקושי המשוער של בעיות אלו.

יעילות[עריכת קוד מקור | עריכה]

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

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

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

צד השולח

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

אורך מפתחות מומלץ[עריכת קוד מקור | עריכה]

ביטחון מערכות הצפנה אסימטריות תלוי בקושיין (התאורטי/חישובי) של מספר מצומצם של בעיות מתמטיות, בראשן בעיית פירוק לגורמים. למרות שהבעיות האמורות קשות לפתרון, קיימים אלגוריתמים טובים לפתרונן בסיבוכיות זמן נמוכה משמעותית מכוח גס. מסיבה זו רצוי שמפתחות ההצפנה יהיו גדולים במידה ניכרת כדי להשוות את רמת בטיחותן לאלגוריתמים סימטריים. עד שנת 2003, מקובל היה להשתמש במודולוס בגודל 1024 סיביות. מעבדות RSA פרסמה בשנת 2003 הצהרה לפיה מפתח אסימטרי בגודל 1024 סיביות מספק רמת הגנה מקבילה למפתח סימטרי בגודל 80 סיביות. 2048 סיביות מקבילות לאלגוריתם סימטרי עם מפתח 112 סיביות ו-3072 מקביל ל-128. המלצה שלהם להשתמש במפתח 2048 סיביות לשימוש רגיל ו-3072 סיביות לשימוש מיוחד במקרים קיצוניים, זאת עד לשנת 2030. ארגון התקינה NIST נוקט בגישה מחמירה מעט יותר, לפי תקן NIST Special Publication 800-57 נכון ליולי 2012 מפתח אסימטרי בגודל 3072 סיביות מקביל ברמת בטיחותו למפתח סימטרי בגודל 128 סיביות (שהוא מהסוג הנפוץ כיום באלגוריתם AES) ואילו לרמת בטיחות גבוהה, מפתח בגודל 15,360 סיביות יהווה מקבילה בטיחותית ראויה למפתח סימטרי בגודל 256 סיביות.

הדברים אמורים לגבי כל סוגי ההצפנה האסימטרית כולל חתימה דיגיטלית כגון DSA המבוססת על בעיית הלוגריתם הדיסקרטי, זאת בשל ההערכה כי בעיית לוגריתם דיסקרטי דומה בקושייה לבעיית פירוק לגורמים. יוצא מן הכלל הוא מערכת ההצפנה בעקום אליפטי (ECC). תקן FIPS PUB 186-4 שנכלל בערכת ההצפנה Suite B של NSA, מגדיר מפתח בגודל 256-384 סיביות המקביל לרמה של 128 סיביות באלגוריתם סימטרי, להצפנת מסמכים עבור הממשל האמריקאי ברמה של SECRET ואילו לרמה של TOP SECRET מומלץ 512 סיביות ומעלה. באופן כללי ההנחיה של NIST היא שמפתח ECC יהיה בערך כפול בגודלו ממפתח סימטרי. הערכה זו מניחה כי לא ידועה פריצת דרך משמעותית לפתרון הבעיה המתמטית עליה מבוססת ECC זאת כיוון שהאלגוריתמים הידועים מנצלים תכונות מסוימות של שדה המספרים עליו בנוי האלגוריתם ושדות ECC שונים באופיים במידה ניכרת כך שהם אינם ישימים בהם.

מערכת היברידית[עריכת קוד מקור | עריכה]

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

צד המקבל

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

היסטוריה[עריכת קוד מקור | עריכה]

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

רעיון המפתח הפומבי החל לעלות כבר בסוף המאה השמונה-עשרה, בספר שנכתב על ידי ויליאמס סטנלי ג'בונס מתואר הקשר בין פונקציה חד-כיוונית להצפנה, בעיקר השימוש בבעיית פירוק לגורמים ליצירת פונקציה חד-כיוונית עם דלת צונחת. הכותב אמנם לא המציא את המושג הידוע כיום ואף לא הציע כל דרך מעשית ליישומו. ההמצאה המעשית הראשונה של רעיון המפתח הפומבי מסתבר ארעה בראשית 1970 במטה התקשורת של סוכנות הביון הבריטית. ג'יימס אליס, קליפורד קוקס ומלקולם וויליאמס שעבדו בסוכנות באותה עת פיתחו מספר אלגוריתמים קריפטוגרפיים, שהיו דומים למדי למה שנודע לאחר מכן כפרוטוקול דיפי הלמן והצפנת RSA. אולם בזמנו הקריפטוגרפים הבריטיים לא פרסמו את ממצאיהם מאחר שהם הוגדרו כסוד צבאי. העובדה שאלגוריתמים אילו היו ידועים להם כבר אז נחשפה לציבור רק ב-1997. גם ה-NSA טען כי גילה את הרעיון כבר בשנת 1966 אולם לא סיפק כל הוכחות לכך. על כל פנים יש הסבורים כי לעובדות אילו אין ערך ממשי מאחר שממצאים אילו לא היו שימושיים ואף לא מעשיים באותה עת.

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

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

מאז 1970 הומצאו אלגוריתמים נוספים מבוססי מפתח פומבי, הן להצפנה והן לחתימה דיגטלית, חלקם התגלה מאוחר יותר כלא בטוח וחלקם לא היה מעשי, כמו שיטת Knapsack של רלף מרקל ומרטין הלמן המובססת על בעיית התרמיל. ב-1979 פרסם פרופסור מיכאל רבין שיטת הצפנה הנקראת על שמו הצפנת רבין, שיטה מבוססת מפתח פומבי בדומה ל-RSA הנשענת על בעיית שורש ריבועי מודולו שלם פריק, היכולה לשמש גם כחתימה דיגיטלית. ב-1984 הומצא אלגוריתם אל-גמאל, (על ידי טאהר אלגמאל), המבוסס על בעיית לוגריתם דיסקרטי בדומה לדיפי-הלמן, שיטה זו היוותה בסיס להמצאת אלגוריתם DSA לחתימה דיגטלית על ידי ממשלת ארצות הברית מספר שנים לאחר מכן. בסוף שנות השמונים ניל קובליץ ובמקביל ויקטור מילר הציגו לראשונה מערכת מפתח פומבי המבוססת על עקום אליפטי ומכונה בקיצור ECC, למרות היותה מסובכת התפרסמה השיטה בעיקר בזכות מפתח ההצפנה הקצר שהציעה והיא בשימוש כיום במרבית מערכות אבטחת המידע המסחריות.

הצפנה סימטרית מול הצפנה א-סימטרית[עריכת קוד מקור | עריכה]

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

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

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

יתרונות הצפנה סימטרית:

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

חסרונות הצפנה סימטרית:

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

יתרונות מפתח פומבי

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

חסרונות מפתח פומבי

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

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

תשתית מפתח פומבי[עריכת קוד מקור | עריכה]

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

  • תשתית מפתח פומבי (Public key infrastructure בקיצור PKI) - מערכת ליישום הצפנת מפתח פומבי הכוללת בין היתר פרוטוקולים לאימות. כמו תעודת מפתח פומבי המופקת על ידי רשות מאשרת מהימנה, איתה ניתן לאשר בעלות מפתח פומבי. מערכת זו מאפשרת התאמה ושיוך של מפתח לבעליו באופן בטוח, אם על ידי פניה לצד שלישי נאמן, או באמצעות נאמנות היררכית בסיוע רשות מאשרת או באמצעות נאמנות מקומית (ברשת מקומית).
  • רשת אמון - הדרך שבה נקטה לראשונה PGP כדי להבטיח את זהות בעלי המפתחות הפומביים. הקמת רשת אמון נעשית באמצעות חתימה הדדית של משתמשים זה על המפתח הפומבי של זה, בכך מושגת היררכיה של אמון שבראשה עומד בדרך כלל גוף בעל אמינות גבוהה. רשת אמון הדדית מיושמת במערכות PGP ו-GPG.

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

רשת אמון (Web of trust)[עריכת קוד מקור | עריכה]

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

ניתן להשיג מצב זה באחת משתי דרכים:

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

מסיבת חתימה על מפתחות ציבוריים[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – מסיבת חתימה על מפתחות ציבוריים

מסיבת חתימה על מפתחות ציבוריים (public key signing party), אירוע המכונה גם מסיבת החלפת מפתחות, אינו מסיבה כלל, כפי שמסיבת התקנה אינה מסיבה. ניתן לנהל מסיבת חתימה על מפתחות באופנים שונים, אך המשותפים להם שלושה רכיבים:

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

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

ראו גם[עריכת קוד מקור | עריכה]

לקריאה נוספת[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]