Presentation is loading. Please wait.

Presentation is loading. Please wait.

הגנה במערכות מתוכנתות אביב תשס"ג הרצאה 3

Similar presentations


Presentation on theme: "הגנה במערכות מתוכנתות אביב תשס"ג הרצאה 3"— Presentation transcript:

1 הגנה במערכות מתוכנתות אביב תשס"ג הרצאה 3
מושגי היסוד בקריפטוגרפיה – אימות ושלמות

2 מהו אימות? אימות הוא תהליך שבאמצעותו ניתן לוודא לגבי מידע מסוים
את זהות השולח – Identity (אין התחזות) את שלמות המידע – Integrity (המידע לא השתנה בדרך) הגנה - חורף תשס"ד - הרצאה 3

3 פונקציות קרפיטוגרפיות לביצוע אימות
קיימים שני סוגים של פונקציות לביצוע אימות: סימטריות - (MAC (Message Authentication Code. 2. מבוססות מפתח פומבי - חתימה דיגיטלית. MAC מספק שלמות ואימות השולח. חתימה דיגיטלית מספקת בנוסף אי הכחשה (Non-repudiation). עם זאת יש להזהר בשימוש בחתימות דיגטליות – חלקן לא מספקות הגנה על שלמות ההודעה. הגנה - חורף תשס"ד - הרצאה 3

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

5 חתימה דיגיטלית - המשך חתימה על הודעה m נעשית באמצעות מפתח החתימה הפרטי. אימות החתימה נעשה ע”י מפתח האימות הציבורי. כל אחד שברשותו המפתח הציבורי יכול לאמת את החתימה, אך רק המשתמש עצמו מסוגל לייצר את החתימה. sig = S private key(m) m=V public key (sig) הגנה - חורף תשס"ד - הרצאה 3

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

7 חתימה דיגיטלית - המשך ישנם לא מעט אלגוריתמי חתימה דיגטלית. לכל אחד בסיס מתמטי שונה, ומבוסס על הנחות אחרות. כמו עבור צפני מפתח פומבי, אין אף הוכחה מלאה כי שיטת חתימה זו או אחרת היא בטוחה. שיטת החתימה של El-Gamal: מבוססת על בעיית ה-Discrete Logarithm שנפגוש בהמשך. אורך החתימה בד"כ 1024 סיביות. שיטת החתימה הסטנדרטית – Digital Signature Algorithm: עיבוד של NIST לשיטת El-Gamal. אורך החתימה – 320 סיביות. ECDSA – גירסה מיוחדת של DSA המבוססת על עקומות אלפטיות. על אף אורך החתימה הזהה של 320 סיביות, השיטה נחשבת בטוחה יותר מ-DSA. הגנה - חורף תשס"ד - הרצאה 3

8 חתימה דיגיטלית - הערות לא ניתן להבחין בין מקור ועותק של הודעה חתומה!
אם נשלח הודעה חתומה (m,sig), יתכן ומישהו יטען ששלחנו אותה פעמיים, או אפילו ישלח אותה פעמים נוספות בעצמו. זוהי בעצם replay attack ויש להגן על ההודעה החתומה מהתקפה זו (לדוגמא ע"י הכנסת מספר סידורי ייחודי לכל הודעה חתומה). הגנה - חורף תשס"ד - הרצאה 3

9 התקפת שידור חוזר (Replay Attack)
הרעיון: נניח שנשלחה ברשת הודעה חתומה/מוצפנת על ידי משמש G ונניח שהמתקיף B אינו מסוגל לזייף חתימה/הצפנה של G. התקפה אפשרית היא: B יקליט את ההודעה המוצפנת/החתומה, וישדר אותה שוב לאחר מכן. הגנה - חורף תשס"ד - הרצאה 3

10 התקפת שידור חוזר – המשך מתי זה יכול להיות מועיל?
לדוגמא: לשם "שיפור הבטיחות", כאשר G עושה telnet למחשב שלו, הוא מצפין את הסיסמא עם במפתח סודי. B לא יצליח לגלות את המפתח, אך יצליח בכל זאת להיכנס למחשב במקום G, בעזרת replay attack. G חותם על הודעה לבנק "העבירו 100$ מחשבוני לחשבון של B" וחותם על ההודעה. B שולח לבנק 100 עותקים של ההודעה החתומה. הגנה - חורף תשס"ד - הרצאה 3

11 פונקציות תמצות (hash) קריפטוגרפיות

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

13 פונקציה y=f(x) היא חד-כיוונית, אם:
f קלה לחישוב: בהנתן x, קל לחשב y=f(x). f קשה להיפוך: בהינתן y, קשה למצוא x שמקיים: y=f(x). קיומן של פונקציות חד-כיווניות באמת הינה שאלה פתוחה. ידוע כי אם קיימות פונקציות כאלו אזי P≠NP. ההפך אינו בהכרח נכון. הגנה - חורף תשס"ד - הרצאה 3

14 פונקציות Hash קריפטוגרפיות - תכונות
כיווץ: אורך הקלט משתנה, אורך הפלט – קבוע (קצר). חד-כיווניות (One way) חוסר התנגשויות (Collision free): קשה למצוא שתי הודעות שמתומצתות לאותו Digest. Source Space Target Space הגנה - חורף תשס"ד - הרצאה 3

15 חתימה דיגיטלית עם פונקציות hash
תהי (h(x פונקציית תמצות קריפטוגרפית. חישוב החתימה: החותם מחשב: sig = S private key(h(m)) ושולח למוודא את (m, sig). אימות החתימה: המוודא מקבל את (m’,sig’) ובודק האם sig’ הינו חתימה על h(m’): h(m’)=V public key (sig’) . רק אם תוצאת שני החישובים זהה, האימות מצליח. ? הגנה - חורף תשס"ד - הרצאה 3

16 חתימה ואימות ללא פונקציית hash
B A שולחים: m||sig אימות: חתימה: m S kpr_A sig sig V kpub_A m’ ?= m הגנה - חורף תשס"ד - הרצאה 3

17 עם פונקציית hash A B אימות: חתימה: שולחים: m sig kpub_A m||sig V h m
?= kpr_A S sig הגנה - חורף תשס"ד - הרצאה 3

18 פרדוקס יום ההולדת מהו מספר האנשים שצריכים להיות בחדר בכדי שיהיה סיכוי גדול מ-1/2, שיש בחדר איש שיום ההולדת שלו נופל בתאריך זהה לשלי? – 183. מה מספר האנשים שצריכים להיות בחדר בכדי שיהיה סיכוי גדול מ-1/2, שיש ביניהם שניים שיום ההולדת שלהם באותו תאריך? – 23. לבדוק : תוספות מ-STINTON או מ-FAQ. לציין : מה המשמעות של פיזור אחיד של הפלטים ---- הגנה - חורף תשס"ד - הרצאה 3

19 התקפת יום ההולדת על פונקציות hash
כאשר חותמים על הודעה M, חותמים בעצם על כל ההודעות m’ עבורן h(m)=h(m’). פונקציות תמצות קריפטוגרפיות צריכות לקיים את התכונה הבאה: בהינתן הודעה m, קשה מעשית למצוא הודעה m’ כך ש-h(m)=h(m’). אבל: הרבה יותר קל למצוא מראש שתי הודעות בעלות משמעות, m’ ו-m’’, כך ש-h(m’)=h(m’’). כל פונקציית תמצות קריפטוגרפית חשופה להתקפת יום ההולדת. הגנה - חורף תשס"ד - הרצאה 3

20 דוגמאות לפונקציות hash
MD5 – סטנדרט באינטרנט. פלט – 128 סיביות. SHA-1 – שיפור של MD5. סטנדרט בארה"ב. פלט – 160 סיביות. Tiger – 192 סיביות. SHA-2/256, SHA-2/384, SHA-2/512 – סטנדרט חדש בארה"ב. פלטיהן באורך – 256, 384 ו-512 סיביות בהתאמה. הגנה - חורף תשס"ד - הרצאה 3

21 אימות – סיכום ביניים ראינו אימות בעזרת חתימות דיגיטליות. בד"כ משתמשים בחתימות דיגיטליות יחד עם פונקציות תמצות קריפטוגרפית. עתה נראה את הסוג השני של אימות – בעזרת MAC. הגנה - חורף תשס"ד - הרצאה 3

22 Message Authentication Codes (MACs)

23 MAC Message Authentication Codes
הרעיון: שני הצדדים A, B שמשתתפים בפרוטוקול יודעים מפתח סודי k שמאפשר לייצר MAC על הודעות. אם A מקבל הודעה יחד עם ה-MAC אותו B חישב על ההודעה בעזרת המפתח הסודי, והאימות של ה-MAC מצליח, A יודע בוודאות שההודעה נשלחה מ-B, ושהיא לא שונתה בדרך. בניגוד לחתימה דיגיטלית, במקרה זה A לא יכול לטעון בבית משפט ש-B שלח לו את ההודעה, מכיוון ש-A עצמו גם מסוגל לייצר את ה-MAC. לכן MAC לא מספק את תכונת אי ההכחשה. הגנה - חורף תשס"ד - הרצאה 3

24 MAC - המשך MAC הוא פרימטיב סימטרי (משמע מבוסס על מפתח סודי), שמספק
אימות שלמות אך אינו מספק Non-repudiation (אי הכחשה). קיימים שלושה סוגים של MACs: מבוססי פונקציית תמצות. מבוססי צופן בלוקים. מבוססי צופן שטף. הגנה - חורף תשס"ד - הרצאה 3

25 MACs from Hash Functions
הרעיון: מתמצתים את ההודעה m והמפתח הסודי k ביחד. דוגמאות (h היא פונקציית תמצות): Keyed : MAC = h(k,m,k) HMAC : MAC = h(h XOR opad, h(k XOR ipad, m)) תכונות: מספק שלמות (עפ”י הגדרת פונקציית תמצות קריפטוגרפית, קשה למצוא שתי הודעות שתתמפנה אל אותו הערך). 2. מבצע זיהוי משתמש (ע"י הוספת מפתח סודי לפונקציית התמצות). הגנה - חורף תשס"ד - הרצאה 3

26 MAC מצפנים סימטריים הבלוק האחרון של הצפנה ב- CBC mode של ההודעה משמש כ-MAC. שלמות: שנוי סיבית בהודעה המוצפנת ישנה את הבלוק האחרון בהכרח. אימות השולח: מובטח ע”י מפתח ההצפנה הסודי. הגנה - חורף תשס"ד - הרצאה 3

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


Download ppt "הגנה במערכות מתוכנתות אביב תשס"ג הרצאה 3"

Similar presentations


Ads by Google