2015-07-12 5 views
0

Я понимаю, что использование соленого хэширования является предпочтительным методом сохранения паролей в базе данных. Однако это работает только в интерактивных целях. Например,Сохранение паролей для неинтерактивного входа

  1. Пользователь использует регистрационную форму для заполнения паролей, которые затем сохраняются в подсоленной записи хэш в базе данных.
  2. В следующий раз, когда вы входите в систему с помощью пароля , хешированное значение сравнивается с базой данных .

Пока все хорошо. Что делать, если я хочу автоматизировать этот вход? т.е. вместо того, чтобы пользователь вводил пароль в онлайн-форме для отправки пароля для входа, я хочу сохранить пароль где-то на моей локальной машине, чтобы я мог использовать его для автоматической проверки подлинности в форме входа. Проблема в том, что я не могу использовать соленое хеширование здесь, поскольку оно одностороннее, и поэтому мне нужно пойти на шифрование. Если я выберу шифрование, мне нужно использовать защищенный ключ для дешифрования, который снова должен быть где-то сохранен. Если мне нужно зашифровать, как мне это сделать безопасно? Если нет, то какой лучший метод. Есть ли лучшая практика для такого рода вещей?

Я видел некоторые неудачные реализации, которые были взломаны. SQL-разработчик, например, https://stackoverflow.com/a/3109774/350136

ответ

1

Mac OS X & У iOS есть Keychain для сохранения учетных данных.

Если вы не можете безопасно хранить учетные данные, используйте token that can be revoked.

"Remember me" cookies & app-specific passwords - та же концепция.

+0

Спасибо, брелок интересен, но это для OS X. Есть ли какое-либо кросс-платформенное решение? – toddlermenot

+0

@toddlermenot Не уверен, что доступно для других платформ. Существует несколько дискуссий о StackOverflow для [Windows] (http://stackoverflow.com/questions/442923/windows-equivalent-of-os-x-keychain) и [Android] (http://stackoverflow.com/questions/1925486/андроид-хранения-имя-и-пароль). –

 Смежные вопросы

  • Нет связанных вопросов^_^