من در حال ساختن یک برنامه وب هستم که امکان ورود به سیستم را با یک ایمیل و رمز عبور فراهم می کند. من می دانم که برای مقایسه رمزهای عبور برای جلوگیری از حملات زمانبندی ، باید از یک عملکرد ایمن تایمینگ استفاده کنم. اما فهمیدم که ایمیلها ممکن است در برابر همان حمله آسیب پذیر باشند. من مطمئن نیستم که چگونه از حملات زمانبندی بر روی ایمیل ها جلوگیری کنم.

ایمیل ها در یک بانک اطلاعاتی ذخیره می شوند و بانک اطلاعاتی با یافتن کاربر با ایمیل مطابق با کاربر ، دستگیر می شوند:

  SELECT * از کاربران که در آن ایمیل = 1 دلار است

این بدان معنی است که بانک اطلاعاتی از طریق ایمیل های کاربران جستجو می کند و به دنبال یک مسابقه است. تابع پایگاه داده داخلی (در این حالت db بعنوان PostgresSQL به کار رفته است) که برای مقایسه نامه های ایمیل ارائه شده در بند [ WHERE با موارد موجود در این پایگاه داده استفاده نمی شود ، ایمن نیست (فرض می کنم چون واقعاً کند است. و ناکارآمد) این یک مسئله در ورود به سیستم است که در آن باید ایمیل های ورودی در برابر کل (یا بخش اعظم) بانک اطلاعاتی مقایسه شوند.

چگونه می توان از حملات زمانبندی به ایمیل جلوگیری کرد؟