פרוטוקול דיפי-הלמן
פרוטוקול דיפי-הלמן (Diffie-Hellman) הוא הפתרון המעשי הראשון לבעיית העברת מפתח הצפנה. הפרוטוקול מאפשר לשני משתתפים שלא נפגשו מעולם לשתף ביניהם מעל גבי ערוץ פתוח (שאינו מאובטח) מפתח סודי לצורך העברת מסרים מוצפנים. בצופן סימטרי מקבל הצופן צריך להשיג עותק מהמפתח הסודי שבאמצעותו בוצעה ההצפנה, על מנת לפענח את המסר המוצפן. העברת מפתח סודי לידי מקבל הצופן כרוכה בסיכון לחשיפתו. יתרה מזו, הצורך באיחסון מפתח ההצפנה במקום שמור לאורך זמן אף הוא יצר קושי רב, בעיקר כאשר מספר המפתחות שצריך לשמור גדול. ככל שהמסרים תפחו וככל שהטכנולוגיה התקדמה, במיוחד עם עלייתן של רשתות התקשורת כמו האינטרנט, כך הלכה והחריפה הבעיה. פרוטוקול דיפי-הלמן מתמודד עם בעיה זו בשיטה אסימטרית. הפרוטוקול פוטר מהצורך לשמור מפתח הצפנה סודי לאורך זמן; תחת זאת המצפין יכול להכין מפתח הצפנה סודי לפי הצורך, להצפין באמצעותו את המסר, ואז להצפין את מפתח ההצפנה עצמו ולשלוח אותו אל המקבל כשהוא מוצפן. כך אין חשש מפני חשיפה.
בטיחות הפרוטוקול מסתמכת על הקושי שבפתרון בעיית דיפי-הלמן, הדומה לבעיית הלוגריתם הדיסקרטי. הגרסה הבסיסית המתוארת להלן מספקת הגנה על סודיות המפתח המשותף כנגד יריבים פסיביים בלבד המסוגלים לצותת לערוץ התקשורת, אולם אינה מספקת הגנה מפני יריב אקטיבי המסוגל ליירט מסרים ולשנותם. למעשה, הפרוטוקול אינו מספק את מה שקרוי "אימות זהויות המשתתפים". המשתתפים בפרוטוקול יכולים להיות סמוכים ובטוחים כי מלבדם אין איש יודע מהו המפתח ששיתפו, אולם אינם מקבלים כל ערובה כל אחד לגבי זהות המשתתף האחר.
פרוטוקול דיפי הלמן הוצג לראשונה ב-1976 על ידי ויטפילד דיפי ומרטין הלמן, במאמר "כיוונים חדשים בהצפנה"[*], המהווה ציון דרך בתולדות ההצפנה המודרנית. במאמרם הציגו דיפי והלמן רעיון מהפכני לאותה עת - רעיון המפתח הפומבי. הם הראו כיצד רעיון זה יכול לפתור את בעיית העברת מפתח הידועה מבלי שהמשתתפים ייאלצו להיפגש כלל. כמו כן הראו לראשונה כיצד ניתן ליישם חתימה דיגיטלית בעזרת מפתח פומבי. הרעיונות שהציגו הובילו לאחר מכן להמצאות נוספות בתחום זה, כמו RSA, צופן אל-גמאל, חתימת אל-גמאל וכן DSA.
הגרסה הבסיסית היא כדלהלן:
הכנה חד-פעמית: המשתתפים בפרוטוקול אליס ובוב, לצורך העניין (A ו-B) בוחרים ומפיצים באופן ציבורי, ראשוני
גדול ויוצר
של
כאשר
. בסיום הפרוטוקול A ו-B משתפים ביניהם מפתח הצפנה
, בצורה מאובטחת (כך שאף גורם זר לא יכול לדעת מהו). מפתח זה יכול לשמש להצפנת מסרים באמצעות אלגוריתם סימטרי כלשהו.
מסרי הפרוטוקול:
: 
: 
פעולות הפרוטוקול:
- A בוחר שלם אקראי סודי
כאשר
ושולח ל-B את מסר 1 לעיל. - B בוחר שלם אקראי סודי
כאשר
ושולח ל-A את מסר 2 לעיל. - B מקבל את
ומחשב את המפתח המשותף כ-
. - A מקבל את
ומחשב את המפתח המשותף כ-
.
אליס ובוב שידרו זה לזה את הערכים
ו-
בהתאמה. נניח שמאזין נסתר הצליח לקלוט את שני המספרים הללו. המאזין נאלץ לחשב בעזרתם את
(כאשר
ו-
פומביים), מכיוון ש-
ו-
אינם ידועים לו (שכן הם מעולם לא שודרו). בעיה זו (חישוב
מתוך
ו-
) נקראת בעיית דיפי-הלמן, ונחשבת לבעיה קשה אם
הוא מספר גדול.
מאזין המסוגל לחשב את
מתוך הערך של
, יכול לחשב את ה'סוד' של אליס ובוב. חישוב
מתוך
נקראת בעיית הלוגריתם הדיסקרטי, ואף היא נחשבת לבעיה קשה. מי שיכול לפתור את בעיית הלוגריתם הדיסקרטי באופן יעיל, בוודאי יכול לפתור גם את בעיית דיפי-הלמן המקבילה באופן יעיל. ההיפך אינו ידוע: עדיין לא נמצאה הוכחה לכך שהיכולת לפתור את בעיית דיפי-הלמן שקולה ליכולת לפתור את בעיית הלוגריתם הדיסקרטי.
כאמור כל הפעולות מבוצעות מודולו הראשוני
. החישוב המודולרי הכרחי לצורך בטיחות הפרוטוקול כיוון שבלעדיו, אליס משדרת את המספר השלם
, כאשר
ידוע לכל. במקרה הזה בעיית הלוגריתם הדיסקרטי קלה מאוד לפתרון, מכיוון שמספר הספרות העשרוניות הדרושות לכתיבת
קרוב למספר הספרות של
כשהוא מוכפל בנעלם
. כדי למצוא את
די לחלק את מספרי הספרות זה בזה. מאידך חישוב
מתוך השארית לאחר חילוק
ב-
אינו קל.
תוכן עניינים |
בטיחות [עריכה]
פרוטוקול דיפי הלמן מתבסס כאמור על בעיית הלוגריתם הדיסקרטי בחבורות. הדרך העדיפה היא ליישמו מעל החבורה הכפלית
או החבורה הכפלית
. הרעיון הוא שבחבורות אלו חישוב לוגריתמים קשה הרבה יותר מבחינה חישובית, מהעלאה בחזקה, קיימים אלגוריתמים פולינומאליים לחישוב חזקות גדולות מודולו
. כמו כל שיטת מפתח-פומבי, בטיחות הפרוטוקול תלויה בגודל המספר הראשוני
. כאשר לפי המקובל כיום
אמור להיות לפחות בסדר גודל של כ-2000 סיביות. כדי למנוע תקיפת הפרוטוקול באמצעות אלגוריתמים ידועים לפתרון לוגריתמים בחבורות. דרך אחרת ליישום פרוטוקול דיפי-הלמן היא, מעל קבוצת הנקודות בעקומה אליפטית מעל שדה סופי, רעיון זה הוא חלק ממערכת ECC שנחשבת כיעילה מאוד ויחודה הוא בגודל המפתח, שיכול להיות קטן באופן משמעותי, זאת מבלי לאבד מבטיחותו.
פרוטוקול דיפי הלמן ניתן לשינוי באופן שיספק גם אימות זהויות, על ידי קביעת הערכים
ו-
מודולו
כמפתחות ציבוריים של כל משתמש ואז על ידי חתימה על המפתחות (באמצעות סרטיפיקט) ניתן להבטיח את שייכותם לכל משתמש בהתאמה. בדרך זה ניתן מענה לבעיית אימות הזהויות.
למרות שאולי נדמה כי פרוטוקול דיפי הלמן מספק למשתתפים בו הגנה על אופן בחירת המפתח ומונע שליטה חד צדדית באופן בו הוא נבחר. למעשה, הצדדים מסוגלים להשפיע על אופן בחירת המפתח על ידי בחירת
או
קטנים במכוון. לדוגמה בחירת מעריך
גורמת לכך שהמפתח יהיה בעצם
. באופן דומה הפרוטוקול המתואר לעיל פגיע במיוחד להתקפה הבאה: אם
(כאשר
קטן כגון
ו-
ראשוני), אזי
הוא מסדר
(ואז
). תוקף אקטיבי כמתואר לעיל, יכול להחליף את המסרים ששלחו המשתתפים בערכים
וכן
בהתאמה, בכך גורם למפתח המשותף
להיות
. כתוצאה מכך, ערכו של
יהיה בטווח
או
. כלומר יש צורך להבטיח כי המעריכים
ו-
יהיו בטווח המותר וכן שלא שונו בידי גורם זדוני כלשהו במהלך הפרוטוקול.
דוגמה [עריכה]
הדוגמה ניתנת במספרים קטנים לצורך המחשה בלבד; במציאות ביטחון הפרוטוקול דורש שהראשוני
יהיה גדול כאמור לעיל.
נבחר את המספר הראשוני
ו-
הוא יוצר של
.
- A בוחר את
. - B בוחר את
. - A שולח ל-B את
. - B שולח ל-A את
. - המשתתפים מחשבים את המפתח המשותף כדלהלן.
- B מחשב את:
,
- A מחשב גם הוא את:
.
- כעת בידי שניהם מפתח
זהה.
הכללות [עריכה]
במקום לעבוד בחבורה הכפלית של המספרים מודולו הראשוני p (שהיא חבורת אוילר של p), אפשר לעבוד בכל חבורה ציקלית אחרת. השותפים צריכים לפרסם את החבורה G ואת האיבר a, ואז לחזור על התהליך כמתואר לעיל. הבעיות הניצבות בפני המאזין הסמוי נקראות 'בעיית דיפי-הלמן' ו'בעיית הלוגריתם הדיסקרטי' בחבורה G, בהתאמה.
מגבלות [עריכה]
המגבלה העיקרית של פרוטוקול דיפי-הלמן היא רגישותו להתקפת אדם שבתווך, בה גורם שלישי (איב) מנהלת את הפרוטוקול עם אליס ובוב במקביל, כאשר היא מתחזה לצד השני. באופן זה, אליס ואיב מסיימות את הפרוטוקול עם מפתח הצפנה אחד, ואיב ובוב מסיימים הרצה אחרת של הפרוטוקול עם מפתח הצפנה שני. אליס בטוחה שהיא מדברת עם בוב ישירות, אך למעשה היא מדברת עם איב (אשר מממסרת את ההודעות אל בוב). לפתרון בעיה זו נדרש אימות זהות.
ראו גם [עריכה]
קישורים חיצוניים [עריכה]
- "כיוונים חדשים בהצפנה", מאמרם המפורסם של ויטפילד דיפי ומרטין הלמן, אוניברסיטת סטנפורד, קליפורניה (1976)
: 
: 
ושולח ל-B את מסר 1 לעיל.
ושולח ל-A את מסר 2 לעיל.
.
.
.
.
.
.
,
.