Как сохранить пароль приложения в базе данных? - PullRequest
0 голосов
/ 27 декабря 2018

Мне нужна помощь, чтобы определить, является ли мое решение для хранения пароля в базе данных хорошим (безопасным).Информационная безопасность - сложная тема, поэтому я не уверен, что мое решение слабое или даже перегружено.

Моему приложению необходимо сохранить несколько пользователей и пароли в базе данных и использовать их для входа в другое приложение.Этот вход происходит только на стороне сервера.Мы можем назвать этих пользователей «Провайдерами».Каждый провайдер идентифицируется с помощью уникального id, получаемого из интерфейсного приложения, и необходимо знать, какого провайдера необходимо использовать.

Хранить пароли в виде простого текста не является альтернативой.Итак, моя идея заключается в следующем: зашифруйте каждый пароль, используя некоторый секретный ключ с другим salt для каждого поставщика.Секретный ключ сохраняется в серверном приложении (секрет Kubernetes) и используется вместе с солт-информацией для расшифровки паролей.

Итак, у нас будет такая таблица:

+------------+-------------------------+---------------------+----+
|    Name    |        Password         |         Salt        | id |
+------------+-------------------------+---------------------+----+
| Provider 1 | 7c73c5a83fa580b5d6f8208 | feacbc02a3a697b0    | 23 |
| Provider 2 | 23291ac8bc335a1277a39d2 | 3a6acbc02a97b0fe    | 88 |
+------------+-------------------------+---------------------+----+

Поскольку количество провайдеров очень мало (не более 20), для меня кажется, что для каждого поставщика немного соли, но это более безопасное решение.

Итак, мой вопрос: это решение?безопасно для моего сценария?

...