Я хочу надежно хранить открытые и закрытые ключи в базе данных.
Поэтому мой вопрос заключается в том, как безопасно хранить закрытый ключ в базе данных. (открытый ключ в любом случае не должен быть безопасным).
У меня есть два метода в настоящее время.
Достаточно ли этих методов?
Что лучше или это одно и то же?
Есть ли лучшие способы?
Обновить
Некоторые из вас могут быть смущены тем, почему я хочу это сделать. Мой пример использования — система управления паролями, основанная на команде. Открытые ключи используются для шифрования пароля (по одному для каждого пользователя в команде), а закрытый ключ с парольной фазой используется для расшифровки пароля.
Первый вариант, вероятно, лучше, потому что проще испортить собственную реализацию симметричного шифрования, чем правильно использовать существующую. Парольные фразы на закрытых ключах обычно означают лишь некоторую форму симметричного шифрования.
PS. Я не уверен, почему вы используете закрытые / открытые ключи здесь. Если это для доказательства, кто загрузил ключ — отлично. Если это для самого шифрования — почему бы просто не использовать вместо этого симметричное шифрование сохраненного пароля? Если все люди, которым дано право читать его, знают пароль к закрытому ключу, то большой разницы нет. Единственная вещь, которую вы, кажется, получаете, это возможность циклически переключать клавиши без изменения ключевой фразы, которую все знают.
Других решений пока нет …