אם אתה תכופות תכנים של האינטרנט כמוני, יש סיכוי טוב שקיבלת דוא"ל כי הולך משהו כזה:

לקוח נכבד,

לאחרונה, האתר שלנו נפלו קורבן להתקפה ברשת האינטרנט שלנו. כל הסיסמאות הוצפנו, אבל כאמצעי זהירות אנו דורשים מכל הלקוחות שלנו לאפס את הסיסמאות שלהם באופן מיידי.

תודה.

אז, היתה הפרה, חלק מהמידע שלך, כולל הסיסמה המוצפנת שלך, היה דלף. האם החשבון שלך נמצא בסיכון?

תשובה קצרה: כן, אבל למה?

כדי להבין זאת, עליך להבין את המושג "hashing password".

מהו חשיש?

חשיש הוא רק דרך לייצג נתונים כמו מחרוזת ייחודית של תווים. אתה יכול hash משהו: מוסיקה, סרטים, השם שלך, או מאמר זה. מטאפורית, hashing היא דרך להקצות "שם" לנתונים שלך. זה מאפשר לך לקחת קלט מכל אורך ולהפוך אותו מחרוזת של תווים כי הוא תמיד באותו אורך. ברור, יש שיטות רבות (אלגוריתמים) לעשות את זה.

כמה אלגוריתמים hashing הפופולריים ביותר:

  • MD5 - בהתחשב בכל הנתונים יחזיר חשיש ייחודי 32 תווים.
  • SHA1 - בהתחשב בכל הנתונים יחזיר חשיש ייחודי 40 תווים.
  • SHA256 - בהתחשב בכל הנתונים יחזיר חשיש אופי ייחודי 64; שתוכננה על ידי הסוכנות לביטחון לאומי.

מאפשר להסתכל על דוגמה פשוטה:

שמי הוא "Jamin Becker"

ייצוג ה- MD5 של השם שלי הוא:

 eb7048c69b088739908f5f5144cd1f5 

ייצוג חשיש SHA1 של שמי הוא:

 ae480b717c08b6ab36a85075864e35b9c528d7c5 

ייצוג חשיש SHA256 של שמי הוא:

 a477cc14eae5fd94fe4cb20b36ec80ac6983bad44973ae7f4f230010f01289b0 

למה הוא מאבטח מאובטח?

הסיבה hashing הוא מאובטח פשוט: hashing היא פעולה אחת בכיוון. הם לא יכולים להיות הפוך. בהתחשב מחרוזת "eeb7048c69b088739908f5f5144cd1f5", אין דרך להפוך את hash MD5 להחזיר "Jamin בקר". זה בגלל האופן שבו מתמטיקאים ומתכנתים בנו את האלגוריתם MD5 hashing, והוא חוזר לבעיה מדעית בסיסית המכונה "P לעומת NP". P ו- NP הם רק שני סוגים של אלגוריתמים.

רוב האלגוריתמים hashing נופלים תחת NP כלומר הם יכולים להיות מחושב במהירות. עם זאת, האלגוריתמים הלא מאופיינים (כלומר, "eeb7048c69b088739908f5f5144cd1f5" -> "Jamin Becker") נופלים תחת מחלקת P וניתן לפתור אותם באופן יעיל רק בזמן פולינומי (כלומר, באמצעות מחשב קוונטי מתקדם יותר באופן משמעותי מאלו הזמינים כיום).

אז למה זה טוב לביטחון?

נניח שאתה מנוי לאתר אינטרנט ובחר סיסמה "12345". מיד, אתר זה יהיה hash הסיסמה שלך, כנראה עם SHA1, ולאחסן אותו במסד נתונים. עכשיו בכל פעם שאתה מתחבר, האתר יהיה rehash הסיסמה שלך ולהשוות אותו לאחסן במאגר. אם הם תואמים, תאושר בהצלחה. אם האתר נפרץ אי פעם, ואת מסד הנתונים הסיסמה הוא דלף הסיסמה שלך יופיע "8cb2237d0679ca88db6464eac60da96345513964" ולא "12345".

אסטרטגיות התקפה

אז, התוקף יש את הגירסה hashed של הסיסמה שלי ואין דרך להפוך אותו 12345. אין לי מה לדאוג, נכון? לא בסדר!

שיטה אחת כי הוא נפוץ כדי לקבל את הסיסמה טקסט פשוט מ hash נקרא התקף כוח הזרוע. בהתקפה זו, התוקף ירוץ דרך wordlist ענק hash כל מילה עם האלגוריתם המתאים hashing. לאחר מכן הם יכולים להשוות את hashes ב wordlist לאלה שהם השיגו מתוך מסד הנתונים. אם hash מ wordlist תואם את אחד במסד הנתונים, הם יכולים פשוט למצוא את הסיסמה המקביל טקסט רגיל ב wordlist המקורי הם hashed. תוקפים מנוסים ישתמשו wordlists גדול מאוד בשילוב עם תוכנה רבת עוצמה לרוץ דרך מיליוני אפשרויות סיסמה שנייה.

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

סיכום

אלגוריתמים מתנפחים נעשים מתקדמים יותר ויותר. מתמטיקאים ומדעי המחשב כל הזמן עיצוב אלגוריתם hashing קריפטוגרפי עם הסתברויות נמוכות יותר של התנגשויות. עם זאת, חשוב לזכור כי לא משנה כמה חזק האלגוריתם hashing הוא, זה תמיד יכול להיות סדוק באמצעות התקפה כוח פראי. החדשות הטובות הן שאתה יכול בקלות להגן מפני התקפות אלה, כמו גם פשוט על ידי ביצוע מדיניות הסיסמא הטובה ביותר.

  1. גודל משנה - ככל שהסיסמה המקורית ארוכה יותר, כך היא תיראה פחות ברשימת המילים
  2. אל תהיה צפוי - להימנע משימוש במילים כמו "סיסמה" ו- "myname123"
  3. השתמש בתערובת של תווים מיוחדים, מספרים, אותיות גדולות וקטנות

מה דעתך על hashing? שתף את הצפיות שלך בתגובה הבאה.

אשראי תמונה: זכוכית מגדלת Online טביעת אצבע על ידי