פיצוח קוד הגישה


חושבים/ות שאתם/ן יכולים/ות לפצח את האתגר?
אולי אתם/ן החוקרים/ות שאנחנו מחפשים במעבדות המחקר של IBM

גם מדעני/יות נתונים וגם קריפטוגרפים/יות מוזמנים/ות לנסות את האתגר.


חלק א'

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

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

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

האם תוכל/י לגלות את קוד הגישה הלא-מוצפן של סטיב? (את התשובה יש להמיר לבסיס הקסדצימלי)


חלק ב'

אליס מכרה את המידע ברחבי הרשת בתמורה לביטקוין ונזק רב נגרם לחברה. זהות המדליף התגלתה וסטיב פוטר מעבודתו. קצינת אבטחת המידע לינדה הורתה לכל העובדים להחליף את קוד הגישה שלהם באופן מיידי לקוד גישה חדש בן ארבע ספרות, ומסד הנתונים המכיל את פרטי העובדים עודכן. בנוסף, למניעת כל דליפה עתידית, הורתה לינדה לכלול מעתה במסד הנתונים אך ורק את קוד הגישה המוצפן של כל עובד. קודי הגישה החדשים הוצפנו בזה אחר זה באמצעות האלגוריתם המקורי, אך הפעם נבחרו הפרמטרים n=14, C=\{2,12,13,14\} (השונים מהפרמטרים בחלק א').

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

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

האם תוכל/י לגלות את קוד הגישה הלא-מוצפן של בוב? (את התשובה יש להמיר לבסיס הקסדצימלי)


נספח: אלגוריתם ההצפנה

ראשית בוחרים מספר טבעי n.

לאחר מכן בוחרים תת קבוצה C\subseteq\{1,2,...,n\}.

לכל 1\leq i\leq n מגדירים אינדיקטור c_i שערכו c_i=1 אם i\in C ו-c_i=0 אחרת.

מגרילים באקראי מפתח סודי S=(s_0,...,s_{n-1}) בעל n סיביות.

סיביות המפתח המורחב מוגדרות באופן הבא:

n הסיביות הראשונות הן סיביות המפתח הסודי S=(s_0,...,s_{n-1}).

לכל i\geq 0 מגדירים:

s_{i+n}=(\displaystyle\sum\limits_{j=0}^{n-1} c_{n-j}s_{i+j})_{(mod\ 2)}

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

בהצלחה במשימה!

 

אנחנו מגייסים!

 
הקליקו לפרטים נוספים

 

יודעים/ות את התשובה?

שלחו אותה ל-MICHALSH@il.ibm.com וגלו אם הצלחתם/ן בפיצוח.