תרגול 9 סיסמאות חד פעמיות הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 1
תזכורת בקרת כניסה אימות זהות המשתמש למניעת התחזות קבלת שירות שהתוקף אינו זכאי לו קבלת גישה למידע פרטי ולביצוע פעולות בד"כ נעשה באמצעות סיסמה הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 2
סיסמאות חד פעמיות hallenge Response S/KEY מה היום? הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 3
Telnet דוגמה - נסיון ראשון 1: username S 2: password חסרון הסיסמה עוברת בצורה גלויה ברשת הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 4
Telnet דוגמה - נסיון שני 1: username S 2: E(password) נשלחת מפעם יותר חסרון התקפת שידור חוזר attack( )replay ניתן לביצוע בכל מערכת בה אותה סיסמה אחת ברשת! הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 5
סיסמה חד-פעמית רשימה קבועה o o הפתרון ארוכה... נדרשת החלפה לעיתים קרובות הערה: כל הפרוטוקולים שמופיעים בהמשך אינם עמידים בפני התקפות Man In The Middle או בפני Session Hijacking הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 6
hallenge Response אתחול: הסכמה על צופן E הסכמה: ועל מפתח K. אתחול: הסכמה על פונקציה סודית* f. הסכמה: 1: username 2: x (hallenge) 3: E K (x) (Response) 3: f(x) (Response) S חסרון: דורש חישוב ע"י המשתמש הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 7
הערות המשותפים בצורה המפתחות את לשמור צריך השרת בטוחה ניתן להרחיב לאימותדו-כיווני הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 8
פונקציה חד-כיוונית - תזכורת y=f(x) פונקציה חד-כיוונית y=f(x) בהינתן x קל לחשב את y בהינתן y קשה מעשית למצוא x עבורו אינטואיציה: ספר טלפונים האם קיימות פונקציות חד-כיווניות? הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 9
- הרעיון S/Key המשתמש בוחר סוד s ומספר גדול n מתוך s מחשבים סדרה של n סיסמאות p i = f n-i (s) = f(f(.f(s)) ) בכניסה ה- i למחשב המשתמש מכניס סיסמה p i הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 10
- הפרוטוקול S/Key אתחול המשתמש והשרת מסכימים על f ח"כ המשתמש בוחר סוד s ומספר גדול n o o מחשב (s) p 0 =f n ושולח לשרת באופן בטוח השרת מאתחל שני משתנים o o 0=i )מספר הכניסות המוצלחות(,p=p 0 שומר את הסיסמה המוצלחת האחרונה הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 11
- הפרוטוקול S/Key ויש שוויון בכניסה ה- i+1 למערכת השרת שולח 1+i המשתמש מחשב (s) p i+1 =f n-(i+1) ושולח לשרת השרת מחשב ) 1+i f(p ומשווה ל- p שנשמר. במידה p=p i+1 i=i+1 o o 1: username 2: i+1 3: p i+1 = f n-(i+1) (s) S הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 12
הערות attack replay אינו אפשרי )למה?( מאזין לקו לא יכול לחשב את הסיסמה סיסמאות קודמות )למה?( i מתעדכן רק עבור כניסות מוצלחות השרת לא צריך לשמור מידע סודי על המשתמש הבאה מתוך הלקוח צריך לוודא ש- i לא עובר את n )למה?( לא להשתמש באותם סודות לחשבונות במחשבים שונים! סכנה: התחזות לשרת! הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 13
שאלת בקרת כניסה ID s נתבונן בפרוטוקול בקרת הכניסה הבא אתחול ללקוח ושרת סוד משותף,, בן 128 סיביות לכל אחד מהם מחרוזת מזהה, ללקוח ו- ID c k c לשרת הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 14
שאלת בקרת כניסה - המשך ומספר אקראי 128, בן ושולח סיביות לשרת ושולח את הפרוטוקול הלקוח שולח לשרת את זהותו,, random c בן 128 סיביות, random S השרת מגריל מספר אקראי, ללקוח את AESk c random ID c S randoms הלקוח בודק את ההודעה שקיבל AESk c random ID s c randomc השרת בודק את ההודעה שקיבל randomc המפתח המשותף הוא: randoms כל ההצפנות מבוצעות באופן תפעול EB ID הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 15
שרת משתמש ID random E ID random K random S S E ID random S K random ommunication continues, encrypted with k=random random S הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 16
שאלת בקרת כניסה - המשך כיצד מאמתים השרת והלקוח זה את זהותו של זה? האם הפרוטוקול הנ"ל עמיד בפני התקפות שידור חוזר?)Replay Attack( האם הפרוטוקול הנ"ל עמיד בפני התקפת התחזות ללא?Man in the Middle האם הפרוטוקול עמיד בפני התקפת Man in the?middle.1.2.3.4 הגנה במערכות מתוכנתות )הגנה ברשתות( חורף תשע"ז 17