SQLの暗号化に関する質問があります。アプリケーションのコード(C#)でデータを暗号化し、暗号化されたデータをデータベースに格納するのは、組み込みのSQL暗号化オプション私が好きなSQL-CLR関数を使用してSQL Serverで暗号化されたデータを検証するSafey
こと:
あなたが別のサーバー上のデータベースを復元する場合、またはSQLレプリケーションの使用時にデータを復号化することができますを確認することを心配する必要はありません。私はあなたがそれを行うことができる特別なキーを生成することができますが、あまりにも多くのオーバーヘッドがあることを知っています。
暗号化方式と暗号化されたデータを完全に分離します。
ユーザのパスワードの検証は、ユーザの入力とハッシュされたパスワードを比較することによってアプリケーションのコードで行われます。私は誰も特定のパスワードを持つユーザーの数を確認するためにクエリを実行する必要はないと考えています。
一方、暗号化されたデータがクレジットカード番号である場合、特定のカードがいつ使用されたかを知るためにクエリを実行することは異常ではない。
この問題を解決するために、SQL-CLR関数を使用して暗号化されたデータを検証することを検討しています。これは、検証のためにのみ使用され、暗号化には使用されません。
私は、このユーザー関数をリレーするストアドプロシージャをいくつか作成して、データをクエリできるようにしたい場合は、これがどれほど安全かどうか疑問です。
ありがとうございます!
「暗号化されたデータの検証」とはどういう意味ですか?それを即座に解読することを意味しますか? – Alex
パフォーマンスの影響を考慮しましたか?例えば。データベースなどに索引を作成したいと思いますか?自分でホイールを再発明するのではなく、既存のアプローチ(オンラインでチュートリアルを探す)を実装することを強くお勧めします。セキュリティがあれば、すべての努力をミュートにする簡単なミスをするのは簡単です。それは鎖の中で最も弱いリンクです。 – Alex