Пеппер
Что такое Пеппер?
ПепперСерверный секрет, добавляемый к каждому паролю перед хешированием и хранящийся отдельно от базы, чтобы затруднить офлайн-перебор после утечки хешей.
Пеппер (pepper) — это длинный (обычно от 32 байт) общеприложенческий секрет, добавляемый к каждому паролю перед его обработкой хеш-функцией или KDF в дополнение к индивидуальной соли. В отличие от соли пеппер хранится вне базы учётных данных — в файле конфигурации, переменной окружения или в HSM — поэтому атакующий, получивший лишь таблицу хешей, не сможет легко перебирать пароли офлайн. Часто реализации сначала вычисляют HMAC(pepper, password) в приложении, а затем подают результат в Argon2id; либо пеппер используется как часть секретного материала на входе KDF. Это мера эшелонированной защиты: она не заменяет стойкие KDF, соли и ограничение частоты запросов, но существенно повышает стоимость атаки при утечке только базы.
● Примеры
- 01
В приложении вычисляется HMAC-SHA-256(pepper, password), а затем результат хешируется Argon2id.
- 02
Пеппер хранится в HSM, чтобы приложение не могло вынести его наружу.
● Частые вопросы
Что такое Пеппер?
Серверный секрет, добавляемый к каждому паролю перед хешированием и хранящийся отдельно от базы, чтобы затруднить офлайн-перебор после утечки хешей. Относится к категории Криптография в кибербезопасности.
Что означает Пеппер?
Серверный секрет, добавляемый к каждому паролю перед хешированием и хранящийся отдельно от базы, чтобы затруднить офлайн-перебор после утечки хешей.
Как защититься от Пеппер?
Защита от Пеппер обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Пеппер?
Распространённые альтернативные названия: Серверный ключ, Секрет-пеппер.