У меня есть следующий вариант использования:
Мое веб-приложение используется для создания рецептов. Когда я отправляю запрос на создание рецепта правительственному API, он подписывается сертификатом текущего пользователя. Сертификат хранится на сервере приложений и шифруется паролем, который знает только пользователь. Пользователи хотят иметь возможность временно хранить свой пароль в моем приложении, чтобы им не нужно было вставлять его для каждого создаваемого рецепта.
Какой самый безопасный способ сохранить этот пароль? Пара идей:
Локальное хранилище в браузере.
Плохо, потому что любой, имеющий доступ к устройству пользователя, может видеть пароль, даже если он не вошел в систему. Кроме того, если приложение не запущено, у меня нет возможности очистить пароль, если истекает желаемое время хранения. .
Память приложения внешнего интерфейса.
Плохо, потому что если пользователь обновляет страницу или открывает другую вкладку, сохраненный пароль исчезает.
Backend, в базе данных
Звучит как лучший вариант, потому что я могу зашифровать пароль. Стоит ли вообще шифровать? Я должен был бы зашифровать его с помощью некоторого ключа, хранящегося на той же машине, так что если кто-то получит доступ к этой машине, шифрование не имеет значения, потому что он сможет довольно легко расшифровать его.