SQL Server 2008 - 透過的データ暗号化による復号化されていないアクセス
-
02-10-2019 - |
質問
私の質問は - と重複しています。 Oracle Transparent Data Encryption の復号化されていないアクセス - ただし SQL Server 2008 の場合。
を設定できますか SQLサーバー2008 次のステートメントがすべて真であるという方法でデータベースを作成しますか?
a) 特定の列。すべての列が暗号化される可能性があるため、データベース ファイルへの直接ファイル アクセスによって攻撃者がレコードを取得することはできません。
b) 暗号化された列は、許可されたユーザーに対して透過的に復号されます。特定の役割や特権を持つことによって
c) 「通常の」管理タスク (チューニング、スキーマ オブジェクトの作成/削除、データベースの再起動、データ ディクショナリからの選択) を実行するための適切な権限を持つ管理者はテーブルを選択できますが、暗号化された列内の暗号化されたデータのみが表示されます。
これが可能であれば、どうすればよいでしょうか。それが不可能な場合、少なくともこれらの要件に「近づく」ためにはどのような選択肢がありますか?
a) は可能であることはわかっていますが、b) と c) についてはわかりません。
ありがとう。
解決
いいえ、選択した列に対してのみ透過的データ暗号化を実行することはできないためです。
透明なデータ暗号化(TDE)は、データファイルとログファイルのリアルタイムI/O暗号化と復号化を実行します。暗号化は、データベース暗号化キー(DEK)を使用します。これは、回復中に可用性のためにデータベースブートレコードに保存されます。DEKは、サーバーのマスターデータベースに保存されている証明書またはEKMモジュールによって保護されている非対称キーを使用して保護されている対称キーです。TDEは、データとログファイルを意味する「安静時」のデータを保護します。さまざまな業界で確立された多くの法律、規制、およびガイドラインに準拠する能力を提供します。これにより、ソフトウェア開発者は、既存のアプリケーションを変更せずにAEと3DES暗号化アルゴリズムを使用してデータを暗号化できます。 参照.
TDE について考慮すべき点がいくつかあります (提供: ブラッド・マギーのブログ):
TDE はメモリ内のデータを保護しないため、データベースに対する DBO 権限、または SQL Server インスタンスに対する SA 権限を持つユーザーであれば誰でも機密データを見ることができます。つまり、TDE では、DBA が見たいデータを表示することを妨げることはできません。
TDE は細分性がありません。その後、データベース全体が暗号化されます。
TDE はクライアント アプリケーションと SQL Server の間の通信を保護しないため、ネットワーク上を流れるデータを保護するには他の暗号化方法を使用する必要があります。
FILESTREAM データは暗号化されません。
SQL Server インスタンス上のいずれかのデータベースで TDE が有効になっている場合、tempdb データベースは自動的に暗号化されます。これにより、同じインスタンス上で実行されている暗号化されたデータベースと暗号化されていないデータベースの両方のパフォーマンスが低下する可能性があります。
TDE の実装に必要なリソースは列レベルの暗号化よりも少なくなりますが、それでもある程度のオーバーヘッドが発生するため、CPU ボトルネックが発生している SQL Server では TDE を使用できない可能性があります。
TDE で暗号化されたデータベースは、SQL Server 2008 の新しいバックアップ圧縮を利用できません。バックアップの圧縮と暗号化の両方を利用したい場合は、SQL バックアップなどのサードパーティ アプリケーションを使用する必要があります。これにより、これらのタスクの両方をペナルティなしで実行できます。
これは興味深いかもしれません: 方法:データの列を暗号化する