למה בעצם צריך להצפין את המידע כשהוא נכנס לבסיס הנתונים? הרי אם מישהו יפרוץ לאתר ויוריד את הבסיס נתונים זה לא משנה. אם יש לו את השם והסיסמא. האם זה נכון או שפיספסתי את הרעיון?
מדובר במימוש לתוכנה לא לווב, כלומר, הם דיברו על חתימות של תוכנה, הוא מדבר על הסתרת מחרוזות (סיסמאות), וכאן, האלגוריתם של ההצפנה הוא חד כיווני, אז נכון שאפשר לנסות להצפין כל מחרוזת אפשרית ולהשוות אותה אבל זה עלול לקחת דורות. קיצור, אם הוא לא הולך לישמור בבסיס הנתונים קודי גישה למרכז הטילים האטומיים של מדינת ישראל זה מספיק בטוח
בוא אני אסביר לך. נניח והוא מוריד את מסד הנתונים, או מקבל גישת צפייה אליו, הוא יכול ליראות את הסיסמות, אבל הסיסמאות הוצפנו ככה ש: *המשתמש מכניס את הסיסמה הרגילה שלו, לדוגמה הסיסמה 213 *היא מוצפנת על ידי אלגוריתם הצפנה (קרא ב php.net על crc43,md5 ואת דף ההצפנה ב php-il.netxלעוד מידע), והופכת מ 213 ל x8mSx. היא נישמרת בבסיס נתונים. וזה מה שההאקר רואה, את הסיסמה המוצפנת. עכשיוף, כל פעם שהמשתמש מיתחבר, הסיסמה מוצפנת ל x8mSx, ואז מוודאים בבסיס נתונים אם היא שווה לה. ככה שגם אם הוא מצליח להשיג גישה, לקריאה של הבסיס נתונים, הוא לא יוכל לעשות הרבה. אם הוא מצליח להשיג גישת עידכון, הוא יוכל להכניס סיסמה מוצפנת מישלו, וככה לקבל גישה לחשבון שלו.
כן אבל כל הרעיון הוא שאם הוא הצליח להוריד את בסיס הנתונים זה לא משנה יותר. יש לו את המידע על כל חבר ומעבר לזה ייתכן (מאוד) שיהיה לו את המידע לשאר האתר והחומר שבו באותו בסיס נתונים.
אז לא הבנת אפילו אם הוא יוריד את המסד ויראה את הנתונים אם הוא לא יודע באיזה צורה קידדנו ואת האלגוריתם עצמו שמימשנו אז הוא לא יכול לדעת את התוכן שהיה לפני ההצפנה.
עוד משהוא תמיד כדאי להישתמש שני שיטות קידוד, לדוגמה, אם אתה עובד אם PHP, אתה יכול להישתמש ככה ב md5: md5("text"); וככה ב crc32 crc32("text"); אתה יכול לשלם את שניהם ככה: crc32(md5("text")); וככה תצא לך הגנה אפילו חזקה יותר.
השאלה שלי היא כזו: מאמר שכל מה שיש לי בבסיס נתונים זה רק פרטי משתמש (והרבה) והם נגישים לכל מי שנרשם למערכת. במקרה הזה, מה כדאי לי לקודד חוץ משם המשתמש והסיסמא?
כל מידע שיש לך שם הוא חשוב… מספיק שמישהו יוריד את הבסיס נתונים ויש לו רשימה מלאה של שמות, מיילים, טלפונים וכו'. לא ככה? יכול להיות שאני סתפ פאראנואיד ובאמת לא צריך לקודד גם את אלו – מה אתם אומרים?
איך אני עושה ב php.. התחלתי לבנות מערכת תחרות אתרים עכשו עשיתי דירוג אתרים וזה שולח למסד איפי תאריך וכמה הוא דירג עכשיו איך אני עושה שנגיד 3 הכניסו אחד 4 אחד 3 ואחד 5 איך אני עושה שזה יעשה פעולת חיבור לכל אלה שדירגו אתר זה? התחברתי למסד הבעיה איך אני עושה שיעשה פעולת חיבור לכל אלה שדירגו תאתר נגיד דירגו אלה שאמרתי אז זה יעשה פעולה כזאת 3+4+3+5 ויביא תוצאה?
21 תשובות
באיזו שיטה אתה רוצה?
md5? crc32?
MD5 לדעתי הכי טובה
לדוגמה שמשתמש נרשם למערכת את מקבל את הסיסמה לתוך משתנה ומצפין אותה בצורה הבאה:
$password = md5($_POST['password']);
ובהתחברות של המשתמש אתה משתמש ב-MD5 כדי להשוות את הסיסמה שהמשתמש הקליד לסיסמה שנמצאת במאגר הנתונים.
מתן.
ואיך ב ASP? כלומר VB
נסיתי למצוא את השיטה MD5 בMDSN אבל לא רשום כלום על VB
רשום הכול עם .NET
למה בעצם צריך להצפין את המידע כשהוא
נכנס לבסיס הנתונים?
הרי אם מישהו יפרוץ לאתר ויוריד את הבסיס נתונים זה לא משנה. אם יש לו את השם והסיסמא.
האם זה נכון או שפיספסתי את הרעיון?
כך אם אין לו ידע בהצפנה
או את המפתח של ההצפנה הוא לא יודע איך לעשות לו decode ולהחזיר את המחרוזת בחזרה למה שהיא היית ובכך לא יגלה את הפרטים.
הקישור חולק על דעתך
מדובר במימוש לתוכנה
לא לווב, כלומר, הם דיברו על חתימות של תוכנה, הוא מדבר על הסתרת מחרוזות (סיסמאות), וכאן, האלגוריתם של ההצפנה הוא חד כיווני, אז נכון שאפשר לנסות להצפין כל מחרוזת אפשרית ולהשוות אותה אבל זה עלול לקחת דורות.
קיצור, אם הוא לא הולך לישמור בבסיס הנתונים קודי גישה למרכז הטילים האטומיים של מדינת ישראל זה מספיק בטוח
בוא אני אסביר לך.
נניח והוא מוריד את מסד הנתונים, או מקבל גישת צפייה אליו, הוא יכול ליראות את הסיסמות, אבל הסיסמאות הוצפנו ככה ש:
*המשתמש מכניס את הסיסמה הרגילה שלו, לדוגמה הסיסמה 213
*היא מוצפנת על ידי אלגוריתם הצפנה (קרא ב php.net על crc43,md5 ואת דף ההצפנה ב php-il.netxלעוד מידע), והופכת מ 213 ל x8mSx.
היא נישמרת בבסיס נתונים.
וזה מה שההאקר רואה, את הסיסמה המוצפנת.
עכשיוף, כל פעם שהמשתמש מיתחבר, הסיסמה מוצפנת ל x8mSx, ואז מוודאים בבסיס נתונים אם היא שווה לה.
ככה שגם אם הוא מצליח להשיג גישה, לקריאה של הבסיס נתונים, הוא לא יוכל לעשות הרבה.
אם הוא מצליח להשיג גישת עידכון, הוא יוכל להכניס סיסמה מוצפנת מישלו, וככה לקבל גישה לחשבון שלו.
כן אבל כל הרעיון הוא שאם הוא הצליח
להוריד את בסיס הנתונים זה לא משנה יותר.
יש לו את המידע על כל חבר ומעבר לזה ייתכן (מאוד) שיהיה לו את המידע לשאר האתר והחומר שבו באותו בסיס נתונים.
אז לא הבנת
אפילו אם הוא יוריד את המסד ויראה את הנתונים אם הוא לא יודע באיזה צורה קידדנו ואת האלגוריתם עצמו שמימשנו אז הוא לא יכול לדעת את התוכן שהיה לפני ההצפנה.
הא תודה |4u|
מתי אני אדע להבחין בין העיקר לתפל ?! :-/
עוד משהוא
תמיד כדאי להישתמש שני שיטות קידוד, לדוגמה, אם אתה עובד אם PHP, אתה יכול להישתמש ככה ב md5:
md5("text");
וככה ב crc32
crc32("text");
אתה יכול לשלם את שניהם ככה:
crc32(md5("text"));
וככה תצא לך הגנה אפילו חזקה יותר.
אז אתה אומר לי שאתה מקודד את כל
הנתונים שנכנסים לבסיס הנתונים?
ואם אני רוצה להוריד את בסיס הנתונים ולהסתכל עליו כקובץ ACCESS?
מה מתמשים ב ASP?
מקודדים את הנתונים החשובים
כמו סיסמאות, מס' כרטיסי אשראי וכדומה…
מידע רגיש מקודדים
טקסטים בפורומים נגיד לא מקודדים כי אין בשביל מה. אפשר לראות את זה בכל מקרה על המסך.
ב-JSVBS צריך לממש את האלגוריתם
לקידוד. אתה יכול לגגל אחר זה: MD5 Algorithm
השאלה שלי היא כזו:
מאמר שכל מה שיש לי בבסיס נתונים זה רק פרטי משתמש (והרבה) והם נגישים לכל מי שנרשם למערכת. במקרה הזה, מה כדאי לי לקודד חוץ משם המשתמש והסיסמא?
איזה מידע חשוב קיים במסד?
ניר ענה לך מה צריך להצפין (סיסמאות כ"א וכו').
כל מידע שיש לך שם הוא חשוב…
מספיק שמישהו יוריד את הבסיס נתונים ויש לו רשימה מלאה של שמות, מיילים, טלפונים וכו'. לא ככה?
יכול להיות שאני סתפ פאראנואיד ובאמת לא צריך לקודד גם את אלו – מה אתם אומרים?
איך אני עושה ב php..
התחלתי לבנות מערכת תחרות אתרים עכשו עשיתי דירוג אתרים וזה שולח למסד איפי תאריך וכמה הוא דירג עכשיו איך אני עושה שנגיד 3 הכניסו אחד 4 אחד 3 ואחד 5
איך אני עושה שזה יעשה פעולת חיבור לכל אלה שדירגו אתר זה?
התחברתי למסד הבעיה איך אני עושה שיעשה פעולת חיבור לכל אלה שדירגו תאתר נגיד
דירגו אלה שאמרתי אז זה יעשה פעולה כזאת
3+4+3+5
ויביא תוצאה?
יש מישהו שיודע?
??