קובץ שאלות מבוא לאבטחה )סייבר(

‫קובץ שאלות מבוא לאבטחה (סייבר)‬
‫‪ .1‬בשאלה זו‪ ,‬יש להסביר על כל אחד מסוגי התוקפים את הפרטים הבאים‪ :‬מהן יכולות התוקף‪,‬‬
‫מה הסביבה בה הוא פועל‪ ,‬האם הוא מסוגל לזייף חבילות (‪ )spoofing‬ולהציג דוגמא של‬
‫התקפה בה תוקף זה בא לידי ביטוי‪.‬‬
‫‪.Eavesdropper .a‬‬
‫‪.MitM .b‬‬
‫‪.Off-Path .c‬‬
‫‪.Puppet .d‬‬
‫‪.One Time Pad .2‬‬
‫‪ .a‬הוכח כי ‪ OTP‬היא סכמת הצפנה בעלת סודיות מושלמת‪.‬‬
‫‪ .b‬מה החיסרון בשימוש במפתח ‪ 0‬בהצפנה זו‪.‬‬
‫‬
‫‪ .c‬האם ‪ OTP‬היא סכמת הצפנה בעלת סודיות מושלמת ללא המפתח ‪.0‬‬
‫‪ .d‬מה הסכנה בשימוש באותו מפתח עבור ‪ 2‬הודעות שונות‪.‬‬
‫‪ .3‬מודלים של תקיפה‪ .‬עבור כל סעיף יש לפרט מדוע‪.‬‬
‫‪ .a‬אליס בנתה אנטנה שיכולה לקלוט את כל תשדורת הסלולר המוצפנת שנמצאת‬
‫בטווח שלה‪ .‬מהו מודל התקיפה של אליס?‬
‫‪ .b‬אליס בנתה אנטנה שיכולה לקלוט את כל תשדורת הסלולר המוצפנת שנמצאת‬
‫בטווח שלה‪ .‬אליס יודעת כי בוב מבצע שיחות טלפון קבועות וידועות מראש והיא‬
‫מקליטה את שיחתו המוצפנת‪ .‬מהו מודל התקיפה של אליס?‬
‫‪ .c‬אליס בנתה אנטנה שיכולה לקלוט את כל תשדורת הסלולר המוצפנת שנמצאת‬
‫בטווח שלה‪ .‬בכל פעם שאליס מעוניינת לקבל את ההצפנה עבור הודעה מסוימת‪,‬‬
‫היא מתקשרת לתא קולי שלה ומשאירה שם את ההודעה המבוקשת‪ .‬מהו מודל‬
‫התקיפה של אליס?‬
‫‪ .d‬אליס בנתה אנטנה שיכולה לקלוט את כל תשדורת הסלולר המוצפנת שנמצאת‬
‫בטווח שלה‪ .‬כעת אליס שמה לב שאם היא שולחת רצף ביטים אקראיים אל‬
‫התמסורת של אחד מאנטנות הסלולר אזי היא יכולה לקבל עבור רצף זה את פענוחו‬
‫לקובץ שמע‪ .‬מהו מודל התקיפה של אליס?‬
‫‪ 1, 2 .4‬הינם ‪ PRG‬בטוחים בטווח ‪ ,{0,1} → {0,1}2‬כך ש‪ . 1 ≠ 2-‬האם  בהכרח‬
‫‪ ?PRG‬הוכח‪.‬‬
‫‪() = 1( )  2( ) .a‬‬
‫̅̅̅̅̅̅̅̅̅ = )(‬
‫‪1( )  2( ) .b‬‬
‫‪() = 1( )  2(  1|| ) .c‬‬
‫̅̅̅̅̅̅̅̅̅ = )(‬
‫‪1( )  2(  1|| ) .d‬‬
‫‪() = 1( )  2(0|| ) .e‬‬
‫‪.f‬‬
‫̅̅̅̅̅̅̅̅̅ = )(‬
‫) ||‪1( )  2(0‬‬
‫̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = )(‬
‫‪1( )  2(0|| ) .g‬‬
‫‪ ′ .5‬הינו ‪ PRG‬בטווח ‪ .{0,1} → {0,1}+1‬האם  בהכרח ‪ ?PRG‬הוכח‪.‬‬
‫‪ .′( ) = (    ) .a‬כאשר  מסמל ‪.reverse‬‬
‫‪ .′( ) = (  ()1,.., ) .b‬כאשר ‪ ()1,..,‬מציין את ‪ n‬הביטים הראשונים‬
‫של )(‪.‬‬
‫‪.Block cipher .6‬‬
‫‪ .a‬תאר התקפת ‪ CPA‬על ‪ ,ECB Encryption Mode‬בה התוקף מסוגל להבחין בין שתי‬
‫הודעות שונות שהוצפנו‪.‬‬
‫‪.CBC Encryption Mode .b‬‬
‫תזכורת‪:‬‬
‫) ‪1 =  (  1‬‬
‫)   ‪ =  (−1‬‬
‫‪ .i‬תאר מהן הבלוקים הנכללים ב‪ ciphertext-‬עבור הצפנה‪.‬‬
‫‪ .ii‬תאר מהן הבלוקים הנכללים ב‪ ciphertext-‬עבור ‪ tag‬של ‪.MAC‬‬
‫‪ .iii‬הסבר מהי הבעייתיות בשימוש בבלוק הצפנה האחרון של הודעה ‪ ,i‬עבור‬
‫הצפנה של ההודעה ‪ .i+1‬כיצד תכונה זו יכולה לעזור לתוקף להבחין בין ‪2‬‬
‫הודעות? הדגם‪.‬‬
‫‪.Initialization Vector .iv‬‬
‫‪ .1‬כיצד נבחר ‪ IV‬עבור הצפנה‪ .‬הסבר מדוע‪.‬‬
‫‪ .2‬כיצד נבחר ‪ IV‬עבור ‪ tag‬של ‪ .MAC‬הסבר מדוע‪.‬‬
‫‪ .v‬הנח כי אלגוריתם ‪ ,‬בו משתמשים ב‪ , CBC Mode-‬עובד ע"פ שיטת‬
‫הצפנה של  ועבור כל הודעה משתמשים במפתח  חדש‪.‬‬
‫‪ .1‬תאר התקפת ‪ CPA‬בה התוקף מסוגל להבחין בין שתי הודעות‬
‫שונות שהוצפנו‪.‬‬
‫‪ .2‬האם ההצפנה בטוחה עבור הודעה עם מספר בלוקים זוגי? אי‪-‬‬
‫זוגי? לעולם אינה בטוחה?‬
‫‪ .c‬הודעה  ‪  = 1 , … ,‬הוצפנה בעזרת ‪ .Block cipher‬לאחר קבלת ההודעה נודע‬
‫לך כי הבלוק  השתבש ושונה במהלך שליחתו‪ .‬הסבר והדגם איזה בלוקים‬
‫בהודעה  ישתבשו בעת הפענוח כתוצאה מכך‪ .‬עבור ה‪ Modes-‬הבאים‪:‬‬
‫‪.ECB Encryption Mode .i‬‬
‫‪.CBC Encryption Mode .ii‬‬
‫‪.OFB Encryption Mode .iii‬‬
‫‪.CTR Encryption Mode .iv‬‬
‫‪ .7‬על כל אחד מהרכיבים הבאים‪ ,‬קבע אם הוא פומבי או פרטי‪.‬‬
‫‪ .i‬אלגוריתם ההצפנה‪.‬‬
‫‪ .ii‬אלגוריתם הפענוח‪.‬‬
‫‪ .iii‬מפתח הפענוח‪.‬‬
‫‪.IV .iv‬‬
‫‪ .8‬תאר את היתרונות והחסרונות של ‪ Block Cipher‬על פני ‪.Stream Cipher‬‬
‫‪.MAC .9‬‬
‫‪ .a‬מהן שתי התכונות ששימוש ב‪ MAC-‬מבטיח? פרט על כל אחת מהן‪.‬‬
‫‪ .b‬האם הצפנה בעזרת ‪ Block cipher‬מבטיחה את תכונות אלה?‬
‫‪ .c‬תאר את תהליך ההצפנה ואת תהליך הפענוח עבור השילובים הבאים של‬
‫‪ Encryption‬ו‪.MAC-‬‬
‫‪MAC then Encrypt .i‬‬
‫‪Encrypt then MAC .ii‬‬
‫‪MAC and Encrypt .iii‬‬
‫‪ .11‬תאר מהן שתי התכונות החשובות לבטיחותה של פונקציית ‪ hash‬קריפטוגרפית‪.‬‬
‫‪  .11‬הינו ‪ PRG‬המשמש להצפנה באמצעות ‪ stream cipher‬המוגדר בצורה הבאה‪:‬‬
‫‪  .a‬מקבל מחרוזת אקראית ‪ 0‬אשר נבחרה מהתפלגות אחידה‪.‬‬
‫‪ .b‬הפלט של שלב ה‪ i-‬הינו   )‪  = (−1 ( + 1) + 1‬עבור … ‪. = 1,2,3,‬‬
‫נתח את בטיחותו של ה‪ ,PRG-‬כלומר הוכח בטיחות או לחלופין בנה מבחין עבור ‪.‬‬
‫‪ .12‬אתה נדרש לתכנן כספומט בטוח מפני תוקפים‪ .‬מהן הדרישות שלך מכספומט כזה?‬
‫בתשובתך התייחס לנקודות הבאות‪:‬‬
‫‪ .a‬באיזה אופן יש לשמור מידע על המשתמשים השונים‪.‬‬
‫‪ .b‬כיצד משתמש יכול להזדהות בפני הכספומט על מנת לקבל שירות‪.‬‬
‫‪ .c‬כיצד ניתן לשמור על שלמותו של המידע הנשלח בין הכספומט והמשתמש‪.‬‬
‫‪ .13‬לאליס ובוב יש מפתח משותף ‪ .‬אליס רוצה לוודא כי בוב אכן מחזיק באותו המפתח‪ .‬לצורך‬
‫כך היא בוחרת מחרוזת ראנדומית באורך המפתח‪ ,‬מבצעת  של המחרוזת הראנדומית‬
‫עם המפתח‪ ,‬ושולחת את התוצאה‪ ,‬נסמנה באות ‪ ,‬לבוב‪ .‬בוב מבצע  של המחרוזת ‬
‫עם המפתח  ומחזיר את תוצאת ה‪ -‬לאליס‪ .‬אליס בודקת האם המחרוזת שבוב שלח‬
‫לה שווה למחרוזת הראנדומית שהיא הגרילה בתחילת הפרוטוקול‪ .‬אם כן‪ ,‬אליס יודעת כי‬
‫בוב מחזיק באותו המפתח‪ .‬האם פרוטוקול זה בטוח? כנגד אלה מודלים של תקיפה?‬
‫‪ .14‬נתון אלגוריתם ההצפנה הסימטרי הבא עבור ‪ plaintetext‬באורך ‪ 32‬ביט‪.‬‬
‫‪ = (  0 ) + 1‬‬
‫כאשר ‪ ,|0 | = |1 | = 32‬ו‪  = 1 ||2 -‬הינו המפתח‪.‬‬
‫א‪ .‬תאר כיצד ניתן לפענח את ‪.c‬‬
‫ב‪ .‬האם אלגוריתם הצפנה זה בטוח עבור הודעה אחת? הודעות רבות?‬
‫‪ .15‬לאליס ובוב יש מפתח סימטרי  עבור האלגוריתם ‪ .‬אליס ובוב משדרים אחד לשני‬
‫הודעות דרך ערוץ בו מלורי משמש ‪ .‬מלורי לא יודע מהו המפתח ‪ ,‬ולא יכול לנחש‬
‫אותו בזמן יעיל‪.‬‬
‫‪. = " $1000  ℎ" .a‬‬
‫אליס שולחת לבוב את ההודעה הבאה‪.(,  ()) :‬‬
‫מלורי יירט את ההודעה והחליף את השם ‪ ,ℎ‬בשם מלורי‪.‬‬
‫האם בוב יבחין בשינוי? אם כן הסבר מדוע‪ .‬אחרת‪ ,‬הצע פתרון לבעיה‪.‬‬
‫‪. = " $1000  " .b‬‬
‫אליס שולחת לבוב את ההודעה הבאה‪.(,  ()) :‬‬
‫מלורי יירט את ההודעה ושלח אותה ‪ 111‬פעמים לבוב‪.‬‬
‫האם בוב יהיה מודע לכך שמלורי שלח את ההודעה ‪ 111‬פעמים ולא אליס? הסבר‬
‫מדוע והצע פתרון לבעיה‪.‬‬
‫‪. = " $1000  ℎ" .c‬‬
‫בוב קיבל את הצמד הבא‪.(,  ()) :‬‬
‫גם אליס וגם דוד (משתמש לגיטימי ולא תוקף) טוענים בתוקף כי הם שלחו את צמד‬
‫זה‪.‬‬
‫האם בוב יכול להבחין מי מהם באמת שלח את ההודעה? הסבר מדוע והצע פתרון‬
‫לבעיה‪.‬‬
‫‪. = " $1000    " .d‬‬
‫בוב טוען כי קיבל את הצמד הבא‪.(,  ()) :‬‬
‫אליס טוענת כי לעולם לא שלחה צמד זה‪ ,‬ופונה לשופט כדי בכדי שיכריע בעניין‪.‬‬
‫האם השופט יכול להכריע מי משניהם צודק? אם כן‪ ,‬הסבר מדוע‪.‬‬