Переносятся ли хеши HMACSHA256 с одного сервера на другой? - PullRequest
0 голосов
/ 20 августа 2011

Если я использую HMACSHA256.ComputeHash в своей схеме кодирования паролей и генерирую хэши паролей на одном сервере, то позже потребуется выполнить миграцию на другой сервер, будут ли мои хэши кодироваться так же?Я помню, что видел, как machineKey настройки задействованы в криптографических операциях, но я не совсем знаком.

Ответы [ 2 ]

3 голосов
/ 20 августа 2011

Будет ли они по-прежнему кодировать то же самое, зависит от того, как вы создаете объект HMACSHA256.Он будет использовать любой ключ, с которым вы его создаете, для выполнения хэшей или, если вы не укажете ключ, он сгенерирует случайный ключ.Если вы передадите ему один и тот же ключ, он будет генерировать те же хеши.

0 голосов
/ 23 августа 2011

HMAC вычисляет хеш из секрета и данных, которые вы хотите аутентифицировать. Для того чтобы два сервера вычислили один и тот же HMAC, им придется поделиться секретом, что, возможно, делает его не таким секретом. Чтобы иметь возможность проверять старый пароль, необходимо будет либо исправить секрет, либо ссылаться на него по сохраненному паролю, если он может измениться, превратив его практически в соль.

Использование HMAC в настройках хранения паролей довольно странно, это неправильная функция извлечения пароля (слишком быстрая, недостаточно интенсивная память), и секрет не имеет большого значения, если он есть, видя, что он должен быть исправлен (в отличие от правильное использование HMAC, когда секрет сообщается сторонами сеанса и о нем забывают после).

...