X
יומן ראשי
חדשות תחקירים
כתבות דעות
סיפורים חמים סקופים
מושגים ספרים
ערוצים
אקטואליה כלכלה ועסקים
משפט סדום ועמורה
משמר המשפט תיירות
בריאות פנאי
תקשורת עיתונות וברנז'ה
רכב / תחבורה לכל הערוצים
כללי
ספריה מקוונת מיוחדים ברשת
מגזינים וכתבי עת וידאו News1
פורמים משובים
שערים יציגים לוח אירועים
מינויים חדשים מוצרים חדשים
פנדורה / אנשים ואירועים
אתרים ברשת (עדכונים)
בלוגרים
בעלי טורים בלוגרים נוספים
רשימת כותבים הנקראים ביותר
מועדון + / תגיות
אישים פירמות
מוסדות מפלגות
מיוחדים
אירועי תקשורת אירועים ביטוחניים
אירועים בינלאומיים אירועים כלכליים
אירועים מדיניים אירועים משפטיים
אירועים פוליטיים אירועים פליליים
אסונות / פגעי טבע בחירות / מפלגות
יומנים אישיים כינוסים / ועדות
מבקר המדינה כל הפרשות
הרשמה למועדון VIP מנויים
הרשמה לניוזליטר
יצירת קשר עם News1
מערכת - New@News1.co.il
מנויים - Vip@News1.co.il
הנהלה - Yoav@News1.co.il
פרסום - Vip@News1.co.il
כל הזכויות שמורות
מו"ל ועורך ראשי: יואב יצחק
עיתונות זהב בע"מ
יומן ראשי  /  מאמרים
חלק א' עסק בפונקציות סימטריות, פונקציות א-סימטריות ופונקציות hash חלק זה יעסוק בההדלים שבין הפונקציות ויספק הרחבות בעניין
▪  ▪  ▪

בחלק א' כתבתי על פונקציות סימטריות, פונקציות א-סימטריות ופונקציות hash. הסברתי קצת על כל משפחת פונקציות ועכשיו מעט הרחבות. בחלק הזה לא אתייחס כלל לפונקציות hash, כיוון שהם עוף מוזר שדורש את המקום שלו וחבל לבלבל. אני מזכיר שהדגש ברשימות אלה הוא על שימושיות ופשטות ולא מדובר בתחליף לספרות מקצועית.
הבדלי ביצועים בין פונקציות סימטריות לבין פונקציות א-סימטריות
פונקציות סימטריות עושות שימוש באותו המפתח להצפנה ולפענוח, בעוד שפונקציות א-סימטריות עושות שימוש בצמדי מפתחות שיכולים להצפין או לפענח אך לא לבצע את הפעולה והיפוכה בו זמנית. פונקציות סימטריות מאוד פשוטות מבחינה מתמטית (זה לא אומר שפשוט להמציא אותן) ולכן מבחינה חישובית גוזלות מעט מאוד משאבים. הן גם פונקציות מאוד חזקות מבחינה אבטחתית, כאשר משווים אותן לפונקציות א-סימטריות בעלות אורך מפתח זהה. אם פונקציות סימטריות הן פשוטות מתמטית וגוזלות מעט משאבים, הרי שפונקציות א-סימטריות הן מורכבות מתמטית וגוזלות הרבה יותר משאבים. כמה יותר? פי כמה מאות או כמה אלפים יותר.
הבדל זה נובע מכך שבעוד שפונקציות סימטריות נסמכות על מתמטיקה פשוטה יחסית פונקציות א-סימטריות מתבססות על בעיות מתמטיות מורכבות שנחשבות קשות עד מאוד לפתרון. על בסיס הקושי הזה בעצם נבנה המנגנון המאפשר לייצר קשר בין המפתח הציבורי והפרטי. לשם המחשה, אלגוריתם RSA מבסס את הקשר על הכפלה של שני מספרים ראשוניים גדולים מאוד (בני מאות ספרות), כיוון שפירוק לגורמים ראשוניים של מספרים גדולים נחשב לבעיה מתמטית סבוכה. כך שההכפלה עצמה פשוטה (קל לייצר את המפתח הפרטי), אך הפירוק לגורמים מורכב עד בלתי אפשרי (קשה לפענח את המפתח הפרטי). אלגוריתמים אחרים עושים שימוש בלוגריתמים דיסקרטיים או עקומות אליפטיות (אל תבקשו הסבר, זה מעבר לידיעותיי).
מילה על מפתחות הצפנה
המפתח הוא אותו המרכיב המעניק להצפנה הנוכחית את הייחודיות שלה. שני אנשים יכולים להצפין אותו נתון עם אותו אלגוריתם ולקבל תוצר מוצפן שונה לחלוטין. זו תוצאה של שימוש במפתחות הצפנה שונים. בפועל, רוב האלגוריתמים מיישמים מנגנון שנועד למנוע מצב בו הצפנה של אותו הנתון, באותו האלגוריתם, עם אותו המפתח תייצר אותה תוצאה. מנגנון זה נקרא וקטור אתחול (Initialization Vector) והוא מבוסס על הוספת מרכיב אקראי בעת אתחול מנגנון ההצפנה. אורך מפתח נמדד בביטים, כאשר האורכים המקובלים היום הם 128 או 256 לפונקציות סימטריות ו-1024 או 2048 לפונקציות א-סימטריות (בצורה מאוד פשטנית. יש אלגוריתמים א-סימטריים, כמו ECC שעושים שימוש במפתח 160 ביט, אך זה לא באמת מהותי). מה מציין אותו אורך מפתח? כל ביט הרי מייצג שתי אפשרויות 0 או 1. ומכאן שמפתח של 128 ביט מציין מפתח בעל 2 בחזקת 128 אפשרויות, שזה נכון להיום כמות בלתי סבירה של אפשרויות לניחוש עיוור.
מתי יהיה קל לנחש את המפתח? כאשר בחירת המפתח לא תהיה אקראית (כמו בחירת סיסמא שהיא השם הפרטי שלנו) או כאשר לא באמת ננצל את מרחב האפשרויות העומד לרשותנו (שוב, סיסמאות הן דוגמא טובה. סיסמא של 6 תווים יכולה להיות מאוד מאוד קשה לפיצוח - בערך 37 ביט, אם איני טועה, אך רוב האנשים בוחרים סיסמאות מתוך כמות הרבה יותר קטנה של אפשרויות. כך שבפועל אין משמעות למרחב האפשרויות. זו אגב הייתה התקלה באחת הגרסאות הראשונות של דפדפן נטסקייפ, שניצל רק חלק קטן ממרחב המפתחות).
ההבדל במפתחות של הצפנה סימטרית וא-סימטרית נובע מהשוני המתמטי המובנה בין שתי משפחות האלגוריתמים ומהעובדה שבהצפנה א-סימטרית חצי הדרך לפתרון (המפתח הציבורי) מפורסם ברבים. אם בוחרים את אורכי המפתחות הנכונים, אין (נכון לרגע זה לפחות) יתרונות להצפנה סימטרית או א-סימטרית בכל האמור לחוזק הצפנה.
יתרונות וחסרונות של פונקציות סימטריות וא-סימטריות
  • פונקציות סימטריות מספקות חסיון הנתונים, שלמות ואמינות והזדהות.
  • פונקציות א-סימטריות מספקות לעומת זאת חסיון הנתונים, שלמות ואמינות, הזדהות ומניעת התכחשות.
  • ההבדל פשוט - בפונקציות סימטריות, בהנחה ושני הצדדים חוללו מפתח סימטרי שרק שניהם יודעים, כל צד יודע שאם התקבל נתון מוצפן, הוא בהכרח הגיע מהצד השני (ומכאן מרכיב ההזדהות). לעומת זאת, כל צד יכול להצפין נתון ולטעון שהצד השני הצפין אותו ולכן כל אחד מהצדדים יכול להתכחש למסר שנחתם בשמו. בהצפנה א-סימטרית לעומת זאת, כל צד שמעוניין להזדהות מצפין את הנתונים עם המפתח הפרטי שלו, כך שהצד השני (באמצעות שימוש במפתח הציבורי התואם) יכול לוודא שאכן אותו הגורם הוא אכן מקור המידע ומכאן מרכיב ההזדהות. אלא שמאחר והמפתח הפרטי של כל צד ייחודי לו, הרי שאף אחד מהצדדים אינו יכול להתחזות לאחר.
  • פונקציות סימטריות, אם כן, מספקות אבטחה גבוהה וביצועים גבוהים (וגם יש הרבה מאוד אלגוריתמים טובים ונפוצים), אך מספקות פחות שירותי אבטחה ולוקות בחסר בכל האמור לניהול מערך המפתחות.
  • פונקציות א-סימטריות מספקות אבטחה גבוהה, אפשרויות טובות יותר לניהול ושינוע מפתחות ואפשרויות אבטחה רבות יותר, אך מאידך מציגות ביצועים רעים יותר וזמינות נמוכה יותר של אלגוריתמים (עקב המורכבות המתמטית הדרושה אין הרבה אלגוריתמים א-סימטריים חזקים כיום).
בפועל מה קורה?
בפועל, כמעט כל היישומים המוצפנים בהם אנו נתקלים הם שילוב של שתי משפחות האלגוריתמים. ניקח לדוגמא את הפרוטוקול הנפוץ ביותר באינטרנט - SSL (למעשה, TLS - הסטנדרט המתקדם יותר, אך SSL זה המותג).
פרוטוקול ההצפנה: TLS גרסה אחת (כמו שאמרתי, זה SSL לצורך העניין). האלגוריתם בשימוש - AES (שהופיע כאחד האלגוריתמים במשפחת האלגוריתמים הסימטריים) עם מפתח של 256bit ובשילוב עם אלגוריתם RSA (שהוא אלגוריתם א-סימטרי) עם מפתח 1024bit ובנוסף SHA (שזה אלגוריתם hash). נעזוב לרגע את ה-hash בצד ונתעסק רק בפונקציות הסימטריות והא-סימטריות.
ניתן לראות שבפונקציה הסימטרית נעשה שימוש במפתח הרבה יותר קצר מאשר בא-סימטרית וזה תואם את מה שנכתב עד כה. בדרך כלל, מה שנעשה הוא להצפין את הנתונים באמצעות אלגוריתם סימטרי (ובכך להרוויח את יתרון הביצועים של האלגוריתם הסימטרי) ואת מפתח ההצפנה עצמו להצפין באמצעות אלגוריתם א-סימטרי (ובכך להרוויח את היתרון של שינוע מפתחות מאובטח ופשוט באלגוריתם א-סימטרי). כך עובד IPSEC, כך עובדת תוכנת PGP (וגם GPG אני מניח). כך שבזמן שאתם מקימים קישור SSL, הצדדים מחליפים ביניהם מפתח סימטרי בצורה מאובטחת על-ידי הצפנתו באמצעות המפתח הא-סימטרי.
מבחינת אורכי המפתחות והאלגוריתמים בהם נעשה שימוש חשוב לדעת שהסטנדרטים משתנים מעת לעת ותמיד כדאי לעקוב אחר מה עדכני. לדוגמא, עד לפני מספר שנים דפדפנים תמכו בהצפנה של 56bit באלגוריתם DES. היום ניתן לפצח הצפנה כזו במספר שעות (עם כמות המחשבים המתאימה).

לחלקו הראשון של המאמר
המאמר פורסם ב"יומן אבטחה", הבלוג של עומר טרן [קישור]
תאריך:  10/01/2007   |   עודכן:  10/01/2007
מועדון VIP להצטרפות הקלק כאן
פורומים News1  /  תגובות
כללי חדשות רשימות נושאים אישים פירמות מוסדות
אקטואליה מדיני/פוליטי בריאות כלכלה משפט
סדום ועמורה עיתונות
מבוא להצפנה - חלק ב'
תגובות  [ 1 ] מוצגות  [ 1 ]  כתוב תגובה 
1
לא הבנתי כלום!!!
====האריה השואג====  |  11/01/07 08:33
 
תגובות בפייסבוק
 
ברחבי הרשת / פרסומת
רשימות קודמות
ידידיה צ' שטרן
השבת הישראלית, נוסף על שאר מגרעותיה, היא ביטוי מובהק לאי-לגליזם הפושה בחברה הישראלית    כלכלת שבת היא בחלקה כלכלה שחורה המתבצעת מתוך הפרה של חוק שעות עבודה ומנוחה
ד"ר יובל ברנדשטטר
ערביי ארץ ישראל ממשיכים להטיל אימה על יהודי ארץ ישראל. והמשטרה? יורה באויר. הם משלנו, אזרחים ישראלים, גם אם הם פלשתינים לכל דבר ועניין
עו"ד רמי אריה
"פרשת המיסים" המתנהלת בפנינו בימים אלו, בין שנשפוט אותה לחומרה ובין אם ייקבע, וכך אנו מקווים, שאין בה ממש, מעלה מחדש את היקף הסמכויות של כל מפקח ועובד ברשות המיסים מול האזרח
עמוס
מדינה שבה גובי המיסים הופכים לגנבי המיסים ושמזרימי הכספים הופכים לשואבי הכספים היא מדינה משותקת שלא יכולה להמשיך להתקיים    את התוצאות כולנו מרגישים ועוד נרגיש
עומר טרן
הצפנה היא אחד התחומים היותר נחקרים באבטחת מידע    להלן מבוא יישומי קצר בנושא
כל הזכויות שמורות
מו"ל ועורך ראשי: יואב יצחק
עיתונות זהב בע"מ New@News1.co.il