企業は機密データを保存する必要があります。今は証明書について話さないでください。
DBAは次のことを行います。
CREATE SYMMETRIC KEY SecureSymmetricKey1
WITH ALGORITHM = DESX
ENCRYPTION BY PASSWORD = N'blabla';
プログラマーはデータを暗号化する必要があり、次のことを行います。
-- open key
OPEN SYMMETRIC KEY SecureSymmetricKey1
DECRYPTION BY PASSWORD = N'blabla'
-- actual encrpyt
DECLARE @encrypted_str VARBINARY(MAX)
SET @encrypted_str = EncryptByKey(Key_GUID('SecureSymmetricKey1'),'my data');
別のプログラマーがデータを読み取りたいので、次のようにします。
DECLARE @decrypted_str VARBINARY(MAX)
SET @decrypted_str = DecryptByKey(...encrypted_str...)
大丈夫だ。
質問:
プログラマーが対称鍵を開くとき、パスワードを知っている必要があります。プログラマーがパスワードを知っているべきではないと思います。これはどのように解決できますか?
GOD ハッカーが
.bak
ファイル全体を取得し、自分のホーム マシンでバックアップを復元した場合、プログラマーの 1 人が作成した SP を表示し、パスワードを確認できます。そして、ハッカーは次のことができます:OPEN SYMMETRIC KEY SecureSymmetricKey1 パスワードによる復号化 = N'blabla'
私は何が欠けていますか?
助けてくれてありがとう。