データベースに公開鍵と秘密鍵を安全に保存したい。公開鍵/秘密鍵を安全にデータベースに格納する
私の質問は、秘密鍵を安全にデータベースに格納する方法です。 (公開鍵は、とにかく安全である必要はありません)。
私は現在2つの方法があります。
- 秘密鍵にパスフレーズ(すなわち、ユーザーのマスターパスワード)を追加し、データベース内の文字列
- 暗号化対称アルゴリズムを使用して、秘密鍵としてそれを保存し、データベース に文字列としてそれを保存します
これらの方法で十分ですか?
どちらが優れているのでしょうか、それとも同じですか?
もっと良い方法がありますか?
更新 なぜ私がこれをやりたいのか混乱するかもしれません。私のユースケースは、チームベースのパスワード管理システムです。パブリックキーはパスワード(チーム内の各ユーザーに1つ)を暗号化するために使用され、パスフェーズのプライベートキーはパスワードの解読に使用されます。
対称暗号化の仕方が第1のものと異なるだけです。それらは本質的に同等ですが、第2のものではあなた自身で対称暗号化アルゴリズムを選択することができます。どちらにも長所と短所があります。要件を提示していないので、これは意見に基づいています。 –
私の唯一の要件は、秘密鍵が安全に保存されていることです(つまり、ハッカーがそれを保持していれば、復号化できません)。あなたの言っていることから、それらは本質的に同じものですが、2番目の方法は私にもっと制御を与えます。私は正しい?より良い方法はありますか?また、どのような要件を知りたいですか? –
はい、しかし、第2の方法にも欠点があります。なぜなら、誰も、暗号化者さえも、暗号化を正しく実装することができないからです。エラーの余地はあまりありませんが、潜在的にそれを危険にさらす可能性があります。私が言ったように、これは意見に基づいています。 –