אלצ'קו אחראי פורומים
ג2ר פ33תי
הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת הודעות: 609
|
נשלח בתאריך: 03 November 2009 בשעה 18:21 | | IP רשוּם
|
|
|
|
אז פורסם הגיליון השני של Digital Whisper.
אני הולך להתייחס כאן בקצרה לחלק מהמאמרים ובאופן כללי לגילון כולו.
SSL & TLS
ההקדמה מציינת נכונה ש-SSL פתחה את העידן שהוביל ל-PKI כפי שאנו מכירים אותו כיום. בגדול ישנם שני מודלים של אמון, שתי דרכים לדעת שמי שאתה מתקשר איתו בצורה אלקטרונית הוא באמת בעל זהות מסוימת: אחת היא הגישה המכונה "'web of trust" ונדחפה חזק על-ידי PGP במקור, והשנייה היא הגישה ההיררכית שעומדת בבסיס PKI. בשני המקרים גופים אמינים (=שאתה סומך עליהם) חותמים על סקרטיפיקטים של גופים אחרים, ואז אתה יודע שהחבר'ה האחרים הם מי שהם טוענים שהם. (פרטים טכניים בהמשך)
מודל PGP אומר שאתה מחליף מפתחות פיזית במסיבת החלפת מפתחות עם אנשים שאתה מכיר, והם מחליפים מפתחות עם אנשים אחרים וכך הלאה. ואז אתה נותן את כל המפתחות שהשגת לכל האנשים שאתה מכיר, והם מקבלים מפתחות של אנשים שהם לא פגשו פיזית - כי הם סומכים עליך.
מודל PKI מבוסס על כמה גופים שנחשבים ל"בטוחים" (מכונים ה-Root CAs - ה-CA-ים שעומדים בשורש ההיררכיה), והם חותמים על גופים אחרים. לכל גוף שהם חותמים עליו נותנים הרשאות שונות: אולי רק להזדהות, ואולי לחתום על אחרים. אם מרשים לחתום על אחרים, אפשר להגביל את מי שמותר להם לחתום עליו - לדוגמה: לתת חתימות רק לדומיין מסוים, וכו'.
היתרון של מודל PKI לעומת מודל PGP הוא שבמודל PGP אתה חייב לסמוך על כולם, ובמודל PKI רק על הגורמים מהסקרטיפיקט שיש לך למעלה עד השורש (אפשר לראות את העץ בכל דפדפן אם גולשים לאתר ב-SSL).
וטכנית איך חותמים? כרגיל: מצפינים את הסרטיפיקט באמצעות המפתח הפרטי של הדמות החותמת, ואז אם הוא מפוענח באמצעות המפתח הפומבי שלה זה אומר שבסבירות עצומה (אא"כ שברו את המפתח הפרטי) באמת חתם על זה מי שחושבים שחתם על זה. בתכל'ס לא מצפינים את ההודעה אלא hash או HMAC על ההודעה, אבל העיקרון זהה.
הצרה היא שמעבר לזה שציינו נכון שהיסטורית SSL הביאה את המודל ההיררכי של האמון לעולם הגדול, יש במאמר טעויות ובעיות:
- הצפנה אסימטרית לא "יותר חזקה" מהצפנה סימטרית. זה כתוב בעמוד הראשון של המאמר, וזו אחת הטעויות הנוראיות שראיתי בתחום. בהצפנה סימטרית יש בעיה של הפצת מפתחות שנפתרת באמצעות מנגוני הצפנה אסימטרית, אבל צופן אסימטרי לא בטוח יותר מצופן סימטרי. אם כבר אז ההפך: AES בטוח עם מפתח של 256 ביט, אבל הצפנה אסימטרית דורשת מפתחות הרבה יותר גדול כדי להגיע לבטיחות אמיתית (הייתי אומר 2048 ביט לפחות היום, וממליץ מאוד להתחיל מ-4K). בהצפנה סימטרית טובה גודל המפתח הוא בערך גודל ה-brute force שצריך לבצע כדי לשבור אותו (אם אין חולשות בצופן), אבל מפתח אסימטרי זה ממש לא כך.
- הרעיון של שימוש במפתח אסימטרי לתיאום מפתח והצפנה באמצעות צופן סימטרי בעצם גם הוא מגיע מ-PGP שהפכה את הטכניקה לפופולרית.
- מציינים ש-MD2 ו-MD4 היו בשימוש בגרסאות ישנות, אבל מדברים על RC2 כאילו זה המצב עכשיו, אבל גם RC2 כבר לא בשימוש.
- מעבר לטעות הגדולה שצוינה למעלה, הבעיה הכי גדול במאמר היא שהוא מתאר תיאום מפתחות ואימות של השרת באמצעות PKI באופן כללי, ואין בו שום דבר ייחודי ל-SSL. לא דיברו על תיאום האלגוריתמים שקיים ב-SSL, על תקיפות MITM על תיאום האלגוריתם כדי שההצפנה תשתמש באלגוריתם חלש, וכו'.
הגיליון באופן כללי
כל המאמרים היו טריוויאליים, ואלה שמדברים על נושאים שיש בויקיפדיה (כלומר לא tutorial-ים כמו המאמר על unpacking) ברמה נמוכה יותר מוויקיפדיה והרבה פחות נרחבים מהמאמרים של וויקיפדיה. לדוגמה:
- המאמר על שיטות טעינה הזכיר את השיטות הכי טריוויאליות והכי "ראש בקיר" (startup?) ואם כבר שיטות מוכרות למה לא שיטות מעניינות לפחות כמו BootExecute לדוגמה?
- כנ"ל לגבי DNS Cache Poisoning - אם כבר חוזרים שוב ושוב על משהו שאפשר לקרוא עליו בוויקיפדיה, לפחות שיהיה משהו מעניין וקצת יותר מהרמה הכי נמוכה, לדוגמה התקיפה של דן קמינסקי מה-Blackhat הקודם.
לצערי, הסיכום הוא שאם רוצים לקרוא את ויקיפדיה לא חייבים לחכות ליום האחרון של החודש...
|