Сколько итераций использует настройка scram-sha-256 в PostgreSQL 10?

Сколько итераций использует настройка scram-sha-256 в PostgreSQL 10?

Документы просто говорят

Установка этого параметра в scram-sha-256 зашифрует пароль с помощью SCRAM-SHA-256.

Журнал сборки читает.

Добавьте поддержку SCRAM-SHA-256 для согласования и хранения пароля (Майкл Пакье, Хейкки Линнакангас). Это обеспечивает лучшую безопасность, чем существующий метод согласования и хранения md5.

1 ответ

Решение

Это переменная времени компиляции в scram-common.h известный как SCRAM_ITERATIONS_DEFAULT, В настоящее время он установлен на 4096.

Это существенно в соответствии со спецификацией "эмпирическое правило", которое в ноябре 2015 года указывалось как 15 000. В настоящее время это самое низкое значение для допустимых итераций. Из RFC-7677

Сила этого механизма частично зависит от количества итераций хеша, как обозначено "i" в [RFC5802]. Как правило, число итераций хеш-функции должно быть таким, чтобы современной машине потребовалось 0,1 секунды для выполнения полного алгоритма; однако это вряд ли будет практичным на мобильных устройствах и других относительно низкоэффективных системах. На момент написания этого правила эмпирическое правило дает около 15 000 итераций; однако, итерация хеша-счет 4096 занимает около 0,5 секунд на современных мобильных телефонах. Этих вычислительных затрат можно избежать, кэшируя ClientKey (при условии, что число итераций Salt и hash стабильно). Следовательно, рекомендация данной спецификации состоит в том, что число итераций хеш-функции ДОЛЖНО составлять не менее 4096, но следует внимательно рассмотреть использование значительно более высокого значения, особенно там, где мобильное использование менее важно.

Другие вопросы по тегам