ذخیرۀ پسورد به روش هَشینگ مبتنی بر KDF چیست

ذخیرۀ پسورد به روش هَشینگ مبتنی بر KDF

KDF مخفف عبارت Key Derivation Function بوده و این هدف را دارا است تا یک ورودی تصادفی بگیرد و بر آن اساس یک اصطلاحاً Secret Key قوی یا به عبارتی یک پسورد تولید کند که پیاده‌سازی این روش پیچیده‌تر بوده اما برای احراز هویت مبتنی بر رمزعبور از امنیت بالایی برخوردار است. به عنوان مثال داریم:

DK = KDF(key, salt, iterations)

در تفسیر فرمول فوق باید گفت که DK کلید حاصله است و KDF فانکشنی است که آن کلید را تولید می‌کند، key پسورد انتخابی است، salt یک عدد رندوم است و iterations هم اشاره به یکسری پارامتر ورودی برای فانکشن‌هایی همچون Scrypt یا Argon2 می‌کند که هرچه بزرگ‌تر باشد، جلوی حملاتی از جنس Brute Force بیشتر گرفته خواهد شد.

در هنگام لاگین کردن یک کاربر نیز مقدار Salt متناظر با آن از دیتابیس گرفته شده و همان فانکشن قبلی مورد استفاده برای هشینگ به همراه پارامترهای مد نظر به منظور هشینگ پسورد ورودی کاربر به کار گرفته می‌شود و در نهایت مقدار کلید حاصل‌شده با مقدار کلید ذخیره‌شده در دیتابیس مقایسه می‌گردد که اگر دو مقدار با هم یکسان بودند، احراز هویت کاربر با موفقیت انجام شده است.

این روش در برابر اکثر حملات مقاوم بوده و به عنوان روشی استاندارد در صنعت توسعۀ نرم‌افزار محسوب می‌شود. همچنین امنیت این روش کاملاً به فانکشن مورد استفاده برای هَشینگ و پارامترهای ورودی همچون تعداد دفعات تکرار یا میزان حافظۀ مورد نیاز برای اجرای آن بستگی دارد.

برچسبها
مطالب مرتبط

دیدگاهی بنویسید.

بهتر است دیدگاه شما در ارتباط با همین مطلب باشد.

0