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

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
הגנה במערכות מתוכנתות תרגול 13 – IKE הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד.
מתמטיקה בדידה תרגול 3.
הגנה במערכות מתוכנתות חורף תשס " ד הרצאה 2 מושגי יסוד בקריפטוגרפיה – הצפנה.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
רקורסיות נושאי השיעור מהן רקורסיות פתרון רקורסיות : שיטת ההצבה שיטת איטרציות שיטת המסטר 14 יוני יוני יוני 1514 יוני יוני יוני 1514.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
היום נדבר אל נושא אחד בתורת הגרפים. ובהמשך נשתמש בכלים אלו לפתרון כמה בעיות גאומטריות ובפרט להוכחת Szemeredi Trotter theorem.
הגנה במערכות מתוכנתות חורף תשס " ד הרצאה 4 ניהול מפתחות PKI.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
מרצה: פרופסור דורון פלד
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
Backpatching 1. תזכורת מתרגול קודם קוד ביניים - שפת הרביעיות שיטות לייצור קוד ביניים –שימוש בתכונת code –כתיבה ישירה ל-buffer של פקודות שיטות לתרגום מבני.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
הגנה במערכות מתוכנתות תרגול 2 – צפנים סימטריים הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
מבני בקרה לולאות. שאלה #1 שאלה ב' – תכתוב תוכנה הכותבת את תפריט הבאה Type 1 to find the area of a circle Type 2 to find the circumference of a circle.
6/26/20151 על מפתחות ופרוטוקולים. 6/26/2015 Prof. Ehud Gudes Security Ch 3 2 על מפתחות  פרמטרים לבחירה אורך המפתח  תלוי באלגוריתם ההצפנה זמן החיים של.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
אלכסנדר ברנגולץ דואר אלקטרוני: אלכסנדר ברנגולץ דואר אלקטרוני: פעולות מורפולוגיות.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תחשיב היחסים (הפרדיקטים)
Public Key Requirements 1. computationally easy to create key pairs 2. computationally easy for sender knowing public key to encrypt messages 3. computationally.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
מתמטיקה בדידה תרגול 2.
A. Frank File Organization Hardware Size Parameters.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #3 Internet Control Message Protocol (ICMP)
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)
Text to speech In Mobile Phones איתי לוי. הקדמה שימוש בהודעות טקסט על המכשירים הסלולארים היא דרך תקשורת מאוד פופולארית בימינו אשר משתמשים בה למטרות רבות,
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
קשר לוגי : סיבה ותוצאה. במשפט – דוגמות קלות בגלל הגשם החלטנו לא לנסוע לטיול לחיפה. הרצון שלי להצליח הניע אותי להשקיע בלימודים. ציפורים נודדות בין יבשות.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
תקשורת ומחשוב תרגול 1 IP, Classes and Masks.
SQL בסיסי – הגדרה אינדוקטיבית
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
עבודה עם נתונים באמצעות ADO.NET
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
תרגול 8 תחומי הכרה פונקציות
מבחן t למדגם יחיד.
תוכנה 1 תרגול 13 – סיכום.
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Message Authentication Codes (MACs)

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

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

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

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

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