Здравствуйте. Предположим, есть база данных, в которой хранятся пользовательские данные (логины и пароли к сторонним ресурсам, на которых нет API). По понятным причинам хочется эти доступы уберечь, но при этом они будут использоваться сервером для сбора данных с этих ресурсов.
Планирую зашифровать эти данные в базе ключом, уникальным для каждого пользователя. Встает вопрос, где хранить ключи шифрования. Если на сервере, то есть два варианта:
- в отдельной БД, но здесь надо думать, как обезопасить уже эту базу.
- в хранилище ключей на сервере.
Варианты с хранением на сервере мне не нравятся.
Если на клиенте, то в cookies или в локальном хранилище держать ключ, шифруя и дешифруя данные на клиенте и обновляя ключ время от времени. Но тогда мне нужно будет отправлять дешифрованные данные обратно на сервер, чтобы он их использовал. Можно ли так делать?
Проблема еще в том, что я первый раз решаю такую задачу и сомневаюсь в каждом шаге. Подскажите, пожалуйста, как?