2010-06-14 5 views
4

В моем веб-приложении я обращаюсь к закрытому ключу, который хранится в Java KeyStore. Я хотел бы знать, что является лучшим/рекомендуемым способом хранения пароля для KeyStore и закрытого ключа.Как хранить пароль Java KeyStore?

Я рассмотрел использование файла свойств, но это не кажется очень безопасным для использования в производственной среде (сохранение пароля в текстовом файле). Кроме того, жесткое кодирование пароля в моем коде не является вариантом, который я желаю развлечь.

Спасибо.

ответ

-7

Вы можете использовать файл свойств, так как вы упоминаете только хэш-пароль для дополнительной соли безопасности, хэш-пароль. Это связано с тем, что нужно хранить пароль в виде обычного текста. Вы можете либо использовать MD5, либо SHA1 пароль для хэша, личный выбор.

+3

Если у вас есть пароль, как вы получите пароль? Не имеет смысла хешировать пароль. –

+0

Вы не получаете его, вы снова видите его и проверяете, что они одинаковы. Например, если у меня есть хэш вашего имени пользователя: d3a03c197da2c09307f06f8513443599 Тогда в приложении вы бы хотели, чтобы пользователь помещал так, чтобы ваше имя пользователя отображалось, если оно было одинаковым. – Dean

+1

Я должен согласиться с Καrτhικ, вы не сможете открыть хранилище ключей с хешем своего пароля. Защита хранилища ключей с помощью хэша паролей не добавляет дополнительной защиты. – nihilist84

5

Это сложная проблема начальной загрузки. Некоторые опции:

  • Есть приложение предложит пользователю разблокировать хранилище ключей (не очень дружелюбный, но возможно)

  • Храните пароль в владельце только для чтения файла (0400) и использовать, чтобы разблокировать Хранилище ключей. Злоумышленник должен проникнуть на ваш сервер, чтобы прочитать файл. Это, по-видимому, наиболее широко используемая техника
  • Использование HSM
  • Использование чего-то вроде Hashicorp Vault (но у него также есть проблема самонастройки).

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

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