Надежно хранить открытые / закрытые ключи в базе данных

Я хочу надежно хранить открытые и закрытые ключи в базе данных.

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

У меня есть два метода в настоящее время.

  • Добавьте парольную фразу (т.е. главный пароль пользователя) к закрытому ключу и сохраните его в виде строки в базе данных.
  • Зашифруйте закрытый ключ, используя симметричный алгоритм, и сохраните его в виде строки в базе данных.

Достаточно ли этих методов?

Что лучше или это одно и то же?

Есть ли лучшие способы?

Обновить
Некоторые из вас могут быть смущены тем, почему я хочу это сделать. Мой пример использования — система управления паролями, основанная на команде. Открытые ключи используются для шифрования пароля (по одному для каждого пользователя в команде), а закрытый ключ с парольной фазой используется для расшифровки пароля.

0

Решение

Первый вариант, вероятно, лучше, потому что проще испортить собственную реализацию симметричного шифрования, чем правильно использовать существующую. Парольные фразы на закрытых ключах обычно означают лишь некоторую форму симметричного шифрования.

PS. Я не уверен, почему вы используете закрытые / открытые ключи здесь. Если это для доказательства, кто загрузил ключ — отлично. Если это для самого шифрования — почему бы просто не использовать вместо этого симметричное шифрование сохраненного пароля? Если все люди, которым дано право читать его, знают пароль к закрытому ключу, то большой разницы нет. Единственная вещь, которую вы, кажется, получаете, это возможность циклически переключать клавиши без изменения ключевой фразы, которую все знают.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]