Как я могу хранить пароль Java Keystore?
-
27-09-2019 - |
Вопрос
В моей веб-приложении я доступа к закрытому ключу, который хранится в Java Keystore. Я хотел бы знать, что является лучшим / рекомендуемым способом хранения пароля для ключевого магазина и закрытого ключа.
Я рассмотрел использование файла свойств, но это не кажется очень безопасным для использования в производственной среде (хранение пароля в простом текстовом файле). Кроме того, в жестком кодировании пароль в моем коде не является вариантом, я готов развлекать.
Спасибо.
Решение
Вы можете использовать файл свойств, поскольку вы упоминаете просто Hash пароль для дополнительной соли безопасности пароль. Это охватывает вопрос о необходимости сохранить пароль в простом тексте. Затем вы можете использовать пароль MD5 или SHA1 для HASH его, личный выбор.
Другие советы
Это сложная проблема загрузки. Некоторые варианты:
У вас есть приложение подскажите пользователю разблокировать ключ (не очень дружелюбный, но возможно)
- Храните пароль в файле только для чтения владельца (0400) и используйте это, чтобы разблокировать клавиш. Злоумышленник должен сломать на свой сервер, чтобы прочитать файл. Кажется, это наиболее широко используемая техника
- Используйте HSM.
- Использование чего-то вроде Hashicorp Vault (но у него также есть проблема загрузки).