データベースでSQL Serverの暗号化と復号化を使用したいと考えています。私はそれに関連する多くの記事を読んで、私は同様に私のSQLサーバーでそのことを試みた。 私はSymmetric Key
とTransparent Data Encryption
を私の両手で試しました。対称キーは、キーがsys.symmetric_keys
テーブルに保存され、管理者権限を持つユーザーがそのキーを表示して使用することができるフィールド/セルベースのセキュリティとしても知られています。TDS
はcertificate + private key + Encription By Password
で動作し、基本的には誰かが私のデータベースバックアップを持っている場合、彼らはcertificate + private key
ファイルとEncription By Password
を知らなくてもそこでそれを復元することはできません。これらはすべてSymmetric key and TDS
で働いている間に私が知るようになったポイントです。私の研究によると、TDS
は非常に安全ですが、Symmetric key
はキーをデータベースに保存するため安全ではないことがわかります。SQL Serverの暗号化と復号化
私は下に述べたステップがSymmetric Key
トポロジで可能であることを知りたいと思います。 「はい」の場合は、「いいえ」の場合は、同じことを達成するための他の方法は何ですか。データベースにキーを保存しない方法
- は、私は、フィールドを暗号化したい たびは、フロントエンドからの私のキーを渡すことを意味します。
UPDATE dbo.tablename SET CARDnumber_encrypted= EncryptByKey(Key_GUID('CreditCards_Key'), FirstName);
私はKey_GUID('CreditCards_Key')
でいくつかの余分な変数を使用することができます。そのため、キーがあれば、フィールドはdecrypt
になりません。私ものようなフロントエンドで値を暗号化して、バックエンドにそれを保存し、再び私は、フロントエンドにその事を行いますそのフィールド解読のための私のフロントエンドから暗号化を使用することができますが、私はそれをやりたい
すべてのものをフロントエンド用ではなくバックエンドに入れる。
私が指摘したポイントをどのように達成できるか教えてください。あなたが私のポイントを得ていないなら、もう一度私に尋ねてください。
助けが必要です。
ありがとうございます。できます。 – Rahul