クライアントの情報を保存する必要のあるアプリケーションを作成しています(私のサービスに他の機密情報とともにアクセスするにはAPIキーとAPI Secretのように)。暗号化された機密ユーザー情報をデータベースに格納する方法は、実行時に解読する必要がありますか?
今、データベースでは、これらを暗号化された形式で保存します。これに関して、私は対称鍵暗号、AESで詳細を暗号化することに決めました。
しかしセキュリティ上の理由から、別のAES暗号化キーをクライアントごとに使用したいので、DBが侵害されても、すべてのデータを単一のキーで復号化することはできません。
しかし、明白な理由のために私は自分の秘密鍵を暗号化された情報でDBに保存したくありません。
私は鍵を保管する方法を決めることができません。特に、どの鍵がどのクライアントに属しているかのバインディングが必要です。
これをどのように達成できますか?このようなシナリオでは、どのアプローチが最適ですか?
これは本当に代わりにsecurity.stackexchange.comサイトに属しています。 stackoverflowで言語やランタイム環境を指定せずにセキュリティタグを使用する傾向がある場合は、それを赤い旗のように見なければなりません。 –