Какова альтернатива пароля, приведенное в действие, когда четкий текстовый пароль не хранится в производителе веб-сервиса?
-
29-09-2019 - |
Вопрос
Сценарий:
Производитель веб-сервиса имеет только хэш паролей SHA-1, хранящийся в базе данных. Нам нужно аутентифицировать пользователей веб-сервисных услуг, используя комбинацию имени пользователя/пароля.
Профиль безопасности веб -сервисов позволяет нам добавить мыльные заголовки для этой цели:
Элемент представлен в документах WSS: SOAP сообщений, как способ предоставления имени пользователя.
В пределах элемента может быть указан элемент. Пароли типа PasswordText и PasswordDigest не ограничиваются фактическими паролями, хотя это общий случай. (146-151)
Тип пароля пароля означает, что пароль отправляется через провод как простой текст, который является проблемой безопасности, если мы не используем механизмы безопасности транспортного уровня. PasswordDigest избегает отправки простых текстовых паролей и отправляет хэш. Но чтобы избежать атаки воспроизведения (то есть злоумышленника, использующего WIRETAP, чтобы запечатлеть хэшированный пароль и отправить его с помощью другого запроса), пароль добавляет метку времени и случайное число к паролю перед вычислением хэша. Это дополнение приводит к следующему ограничению:
Обратите внимание, что пароль может использоваться только в том случае, если простой текстовый пароль (или эквивалент пароля) доступен как для запроса, так и для получателя. (196-197)
Но в нашем случае у нас нет простого текстового пароля. У меня вопрос: какие альтернативы у нас есть другие, чтобы сделать простые текстовые пароли, доступные на сервере?
Решение
SHA-1 может быть идеально использован в качестве пароля «открытого текста».
- Спросите пользователя пароль
- преобразовать его в SHA-1
- Запустите его через пароль
- Сервер сделает то же самое с SHA-1 в базе данных
- Сервер обнаружит, что они соответствуют и разрешают доступ