私はセキュリティ資格情報(サーバーのユーザー名とパスワードなど)を保存する必要があるCMDBのようなアプリケーションに取り組んでいます。
これらの制約でそれらを安全に保存するための最良の方法を探しています:
- ほとんどのユーザーは、すべての資格情報にアクセスできるわけではありません (ユーザーの役割によって異なります)。
- すべてのパスワードが同じキーで暗号化されることは望ましくありません (既に試行済み: ユーザーが会社を辞めるとき、キーを変更するのは面倒です...)
- 実際、秘密鍵をアプリのソースにハードに記述したり、どこにでも保存したりしたくありません (以前のバージョンでは、秘密鍵は私たちの耳に保存されていました...)
- パスワード強度の監査を実現する必要があります (つまり、スクリプトから復号化されたパスワードを解析します)
- 資格情報にアクセスできなくなった場合 (キーの紛失など) があってはなりません => 許可されていない人に見られたくないが、紛失したくない => これに対する解決策制約は、物理ロッカーへの通常のエクスポートである可能性があります...
アプリケーション(https、...)またはデータベース(パブリックアクセスなし、...)のセキュリティの問題自体については質問していませんが、ストレージ側についてのみ質問しています(データベースにあることさえできません...?暗号化されたファイルなど) ...) : アプリのコードやデータベースのコンテンツ (最悪の場合) にアクセスできたとしても、誰かが復号化された資格情報を読み取ることができないようにすることは可能ですか?
魔法の解決策を求めていることは承知していますが、それが存在するかどうか知りたいです ;o)