#security #jvm
#Безопасность #jvm
Вопрос:
Мы разрабатываем веб-приложение Java. Одной из возможностей приложения является взаимодействие с другими веб-сервисами (такими как Google Calendar), используя учетные данные, предоставленные пользователем.
Мы не уверены в способе защиты этих учетных данных. В настоящее время мы шифруем пароли и сохраняем выходные данные шифрования в базе данных.
Ключ шифрования хранится в хранилище ключей Java. Пароль хранилища ключей передается в JVM как системное свойство. Это слабое звено цепочки — пароль KS доступен в сценарии загрузки.
Существует ли лучшая практика, которая дает полное решение этой проблемы?
Комментарии:
1. Я не вижу в этом проблемы, пока вы знаете, что ваш веб-сервер защищен и находится за брандмауэром. Это, конечно, было бы проблемой для двухуровневого приложения.
2. Я пытаюсь найти лучшее решение, которое не будет предоставлять учетные данные кому-либо, у кого есть доступ к FS сервера.
Ответ №1:
Даже не пытайтесь сохранять учетные данные пользователя. Используйте OAuth для аутентификации приложения для каждого пользователя, как описано здесь.
Комментарии:
1. это специальное решение для служб Google. нам нужно взаимодействовать с другими службами, которые не предлагают эту опцию.