16.06.2015 @ 21:08 Стандарт PBKDF2 LastPass, PBKDF2 В связи с недавним взломом инфраструктуры LastPass многие пользователи сервиса задумались о сохранности своих данных. Администрация LastPass утверждает, что пользовательские данные остались недоступными злоумышленникам из-за использования алгоритма Password-Based Key Derivation Function (PBKDF2) при формировании хэша аутентификации. Стандартная реализация PBKDF2 использует алгоритм хеширования SHA-1. LastPass использует алгоритм хэширования SHA-256, который обеспечивает более высокий уровень защиты от bruteforce атак. Процесс хеширования проводится на стороне клиента и составляет от 5000 до 200.000 итераций, в зависимости от производительности. LastPass также выполняет 100000 итераций PBKDF2 на стороне сервера. Эта реализация PBKDF2 на клиенте и на сервере гарантирует повышенную безопасность. PBKDF2 (Password-Based Key Derivation Function 2 или Функция Получения Ключа На Основе Пароля 2) – это функция получения ключа, разработанная RSA Laboratories, используемая для получения стойких ключей на основе хэша. Она работает путем применения псевдослучайной хэш-функции (вроде SHA-256, SHA-512, и т. д.) к строке, в нашем случае – к паролю, вместе с солью и повторением этого процесса большое число раз. Данный процесс может быть обобщен следующей диаграммой: При использовании этого алгоритма хэшируется соль и открытый текст для получения первого хэша, затем в цикле тот же алгоритм используется для вычисления хэша от открытого текста и результата предыдущей итерации, после чего возвращается результат применения операции XOR ко всем вычисленным хэшам. Выполнив на серверной стороне данную операцию 100000 (как утверждают LastPass) или больше раз, вы с генерируете сильный, стойкий ко взлому хэш, который можно безопасно использовать для хранения паролей. Технические подробности доступны в NIST-SP800-132. Luka Safonov 13325 Cryptography Читать дальше >>