Насколько надежно хранить пароли для использования на стороне сервера? - PullRequest
1 голос
/ 20 ноября 2010

Я ищу безопасный способ хранения паролей FTP в базе данных, которые могут использоваться только определенными пользователями.Детали FTP должны храниться таким образом, чтобы при раскрытии всей базы данных пароль FTP не раскрывался.Это, вероятно, должно полагаться на пароль пользователя, чтобы временно незашифровать пароль FTP только тогда, когда пользователь запрашивает действие FTP.Я ищу решение, которое могло бы реализовать это.Вероятно, полезно добавить это касается веб-приложения, использующего javascript и php.

Речь идет не о том, как использовать соль, хэши, md5, sha1 и т. Д. Речь идет о защите паролей FTP, которые сервер должен иметь возможностьиспользуйте, например, подключение к FTP-серверу с помощью.Это просто невозможно с хешами, потому что это только один способ.Следует использовать некоторый метод симметричного пароля.

Пример использования:

  • Пользователь входит на сервер
  • Пользователь сообщает серверу загрузить файлиз своих данных FTP, хранящихся в защищенном виде на сервере
  • Сервер ищет детали FTP и удаляет шифрование (возможно, с помощью пароля пользователя) Этот вопрос о том, как эффективно реализовать этот шаг
  • Сервер делает все, что должен, а затем удаляет незашифрованный пароль

Ответы [ 3 ]

1 голос
/ 20 ноября 2010

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

Я рекомендую прочитать Достаточно с таблицами Rainbow: что нужно знать о безопасных схемах паролей .

Он, вероятно, ответит на ряд вопросов, в том числе о том, что такое соль (как предотвратить радужные атаки), почему MD5 не является идеальным решением для хэширования пароля (это слишком быстро и больше не требует «значительного крипто-прорыва» ), что может произойти, если данные скомпрометированы (почему обычный текст не сохраняется) и т. д. Это дает ценную информацию.

Мне очень нравится эта цитата:

Нет, правда. Используйте чужую систему паролей. Не создавай свой собственный.

Это так верно, даже если насмешливо.

1 голос
/ 20 ноября 2010

Вы можете использовать Mcrypt: http://php.net/manual/book.mcrypt.php

0 голосов
/ 20 ноября 2010

Звучит так, как будто вы ищете хеш MD5.

http://en.wikipedia.org/wiki/MD5

Они часто используются при хранении паролей в базе данных, для дополнительной безопасности вы также можете захотетьпосмотрим, как можно посолить пароль.

http://en.wikipedia.org/wiki/Salt_(cryptography)

...