0

SQL サーバー (2008 年) の 1 つで非対称キーを作成しました。パスワード フィールドを暗号化したところ、開発サーバーでそのパスワードを問題なく取得できました。

このデータを本番サーバーに移動する必要がある場合、問題が発生します。

作成されたキーのコードは次のとおりです。

CREATE MASTER KEY ENCRYPTION BY PASSWORD='#########'
CREATE ASYMMETRIC KEY UserEncryptionKey
WITH ALGORITHM = RSA_2048

これを本番サーバーで実行すると、キーが正常に作成されます。ただし、sproc を実行してパスワードを取得すると、NULL が返されます。

SQL:

    SELECT EncryptByAsymKey(AsymKey_ID('UserEncryptionKey'), Password ) 
    FROM Users WHERE UserName = '######'

暗号化されたフィールドを複数の SQL Server で機能させるために何をする必要があるかについて何か考えはありますか?

何かを明確にする必要がある場合はお知らせください。

ありがとう

4

1 に答える 1

0

暗号化されたデータをデータベースから別のデータベースに移動しないでください。技術的には可能ですが、その過程でキーが危険にさらされる可能性が高いため、その方法については説明しません。

サイト間でデータが交換される場合、通常の手順では、キーの管理と展開がデータ転送から分離されます。データは転送前に復号化され、データ転送専用の暗号化スキーム (TLS や SSL など) が使用されるため、実際の暗号化キーの展開と共有の問題が解消されます。

ちなみに、通常、非対称キーでデータを暗号化することはありません。データ操作には遅すぎます。誰もが行うことは、対称キーでデータを暗号化し、次に非対称キーで対称キーを暗号化することです。

于 2010-05-10T23:30:41.157 に答える