פרוטוקול אתגר-מענה – הבדלי גרסאות

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


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


הוכחה אינטראקטיבית נקראת "הוכחת ידע" אם היא מכילה שני מאפיינים בסיסיים אלו:
הוכחה אינטראקטיבית נקראת "הוכחת ידע" אם היא מכילה שני מאפיינים בסיסיים אלו:

גרסה מ־17:53, 13 באוקטובר 2006

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

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

הוכחת ידע אינטראקטיבית

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

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

הוכחה אינטראקטיבית נקראת "הוכחת ידע" אם היא מכילה שני מאפיינים בסיסיים אלו:

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

ישומי פרוטוקול אתגר-מענה

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

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

פרוטוקול אתגר-מענה מבוסס הצפנה סימטרית

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

טכניקות אימות המבוססות על תקן איזו ISO/IEC 9798 מניחות מראש כי המשתתפים משתפים ביניהם מפתחות הצפנה סודיים. כאשר המוכיח מאמת את זהותו כלפי המאמת על ידי הוכחת ידיעת מפתח ההצפנה המשותף במשלוח מסר אקראי תלוי-זמן, המוצפן תחת מפתח זה. בתנאי שפונקציית ההצפנה מספקת באופן עקיף גם שלמות המסר ומבטיחה כי כל שינוי בצופן ייחשף. להלן דוגמאות לפרוטוקול אימות מבוסס אתגר-מענה לפי מפרטי תקן איזו:

פרוטוקול אימות חד-צדדי עם חותם זמן:

1.

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

פרוטוקול אימות חד-צדדי עם מספר אקראי:

1.
2.

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

פרוטוקול אימות דו-צדדי עם מספר אקראי:

1.
2.
3.

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


פרוטוקול אימות מבוסס MAC (פרוטוקול זה קרוי SKID):

1.
2.
3.

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

פרוטוקול אתגר-מענה מבוסס מפתח-פומבי

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

פרוטוקול אימות חד-צדדי מבוסס מפתח פומבי:

1.
2.

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

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

אתגר-מענה המבוסס על חתימה דיגיטלית

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

אימות חד-צדדי מבוסס חתימה דיגיטלית עם חותם זמן:

1.

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

פרוטוקול אימות עם מספר אקראי המבוסס על חתימה דיגיטלית:

1.
2.

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

חומרה

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