Где вы храните свой секретный ключ в веб-приложении Java? [закрыто]
Криптография является широко распространенной технологией для обеспечения конфиденциальности. Не принимая во внимание недостатки реализации, он имеет одну критическую точку:хранение секретного ключа, Если секретный ключ украден, вся система будет взломана.
РЕДАКТИРОВАТЬ :
позвольте мне указать контекст, чтобы сделать вопрос менее широким:
здесь Java веб-приложение адресованоболее конкретно используется пружинный каркас версии 3Spring Security 3.1 используется для защиты приложениябаза данных mysql5 доступнасервер приложений - Tomcat6 или Tomcat7серверный компьютерне под моим контролемВозможно, вопросы можно сфокусировать на этом сценарии, но, как указывалось, проблема хранения секретного ключа является трансверсальной к принятым технологиям. Однако некоторые библиотеки могут предлагать специфические функции, которые могут как-то облегчить работу. Ясно, что нужно найти компромисс между безопасностью и необходимостью практических действий. Для завершения анализа очевидно, что требуемый уровень безопасности зависит от ценности защищаемой информации. Бессмысленно переворачивать наши умы, чтобы применять сверх-безопасные стратегии (требующие очень много усилий), чтобы держать в секрете размер обуви клиента.
Здесь я должен защитить пароль электронной почты (который будет храниться в БД). Я считаю эту информацию средней важности.
Что я'ищу здесь, это лучшее решение с разумными усилиями.
Так что вопрос очень понятен:где бы вы хранили эту информацию?
Вы храните это в базе данных? Поэтому он должен быть зашифрован, и для этого требуется другой ключ (и где вы храните этот второй ключ?)Вы храните это внутри.war
пакет? Как вы предотвращаете несанкционированный доступ к источникам?вы принимаете другую стратегию?Мотивации для вашей стратегии будут оценены. благодарю вас