Оглавление [Скрыть]
PBKDF2
-
Основы PBKDF2
- PBKDF2 – это функция получения ключей, которая снижает уязвимость к атакам методом перебора.
- Она является частью серии стандартов PKCS от RSA Laboratories и заменяет PBKDF1.
-
Назначение и принцип работы
- PBKDF2 использует псевдослучайную функцию для создания производного ключа из пароля и соли.
- Итерации увеличивают сложность взлома пароля, что называется растягиванием ключа.
-
Рекомендации по использованию
- Стандарт рекомендует использовать не менее 1000 итераций, но их количество может увеличиваться со временем.
- Kerberos в 2005 году рекомендовал 4096 итераций, Apple использовала 2000 и 10 000 итераций, а LastPass – 5000 и 100 000 итераций.
- OWASP в 2023 году рекомендует использовать 600 000 итераций для HMAC-SHA256 и 210 000 для HMAC-SHA512.
-
Процесс получения ключа
- PBKDF2 имеет пять входных параметров, включая пароль, соль, количество итераций и желаемую длину ключа.
- Каждый блок ключа вычисляется с использованием исключающего значения для итераций.
-
Столкновения HMAC
- PBKDF2 может создавать коллизии ключей, но это не является уязвимостью, так как для генерации хэша все равно требуется исходный пароль.
-
Альтернативы PBKDF2
- PBKDF2 может быть реализован с использованием небольшой схемы и оперативной памяти, что делает его уязвимым для атак методом перебора.
- Альтернативы включают bcrypt, scrypt, PHC и другие, которые более устойчивы к таким атакам.
-
Рекомендации
- Для ограничения атак методом перебора можно использовать онлайн-взаимодействие с паролем, не нарушая его конфиденциальности.
-
Ссылки
- Ссылки на стандарты и рекомендации по использованию PBKDF2.