web-dev-qa-db-ja.com

SQL Server 2016では、Always EncryptedとTransparent Data Encryptionの違いは何ですか?

これを書いている今も、SQL Server 2016の公式リリースを待っているので、「常に暗号化」機能の有用性を探ることができます。

Always Encryptedと現在利用可能なSQL Server 2016の透過的データ暗号化の具体的な違いを知りたいので、将来のプロジェクトで正しい判断を下すことができます。

40
RoastBeast

Always Encryptedと比較した透過的データ暗号化の欠点:

  • 保存中のデータのみを保護-バックアップとデータファイルは「安全」ですが、移動中またはメモリ内のデータは脆弱です
  • データベース全体
  • すべてのデータは同じ方法で暗号化されます
  • バックアップの圧縮には時間がかかり、逆効果になる場合があります

    • まあ、実際には SQL Server 2016にはいくつかの改善点があります 暗号化されたデータを圧縮しようとすることについて私たちが通常知っていることを覆すものです-以前のバージョンよりもはるかに優れていますが、おそらく、ほんの一握りの列のみを暗号化する(テストされていない)よりも悪い
  • tempdbは暗号化も継承します– TDEを無効にした後も保持されます
  • Enterprise Editionが必要
  • sysadminに常にアクセス可能なデータ

Always Encryptedは、これらの問題のすべてまたは一部に対処します。

  • データは、保管中、移動中、およびメモリ内で保護されます-証明書、キー、およびデータを復号化できる人物を正確に制御します
  • 単一の列にすることができます
  • 暗号化タイプは選択肢です:
    • 確定的暗号化を使用して、インデックスとポイントルックアップ(SSNなど)をサポートできます。
    • ランダム暗号化を使用してより高度な保護を行うことができます(たとえば、クレジットカード番号)
  • データベース全体ではないため、バックアップの圧縮は必ずしも影響を受けません。もちろん、暗号化する列が多いほど、運が悪くなります
  • tempdbは関係ない
  • SQL Server 2016 Service Pack 1以降 すべてのエディションで常に暗号化が機能するようになりました
  • データはsysadminから保護できます(ただし、sysadminおよびWindows security/cert/key管理者は保護されません。つまり、これら2つのグループが共謀しない限り、責任を分離できます)。

ただし、制限があります。つまり、すべてのドライバーとアプリケーションが暗号化されたデータを直接処理できるわけではないため、場合によっては、ドライバーの更新/変更やコードの変更が必要になります。

48
Aaron Bertrand

簡単に言うと、TDEは保存時(ディスク上)で暗号化されたデータであり、AEはさらにネットワーク上で暗号化されたデータです。

3
Chad Mattox