SQL Server/Azure SQL Database で使用可能なデータの暗号化機能について
高原 伸城
Support Escalation Engineer
皆さん、こんにちは。 BI Data Platform サポートチームの 高原 です。
今回は、SQL Server/Azure SQL Database で使用可能なデータの暗号化機能について紹介します。
SQL Server/Azure SQL Database で使用可能なデータの暗号化機能として、以下の機能があります。
今回は、透過的なデータ暗号化(TDE : Transparent Data Encryption)について紹介します。
■ 透過的なデータ暗号化(TDE : Transparent Data Encryption) ■ 暗号化関数■ Always Encrypted |
メモリ | データ/トランザクションログ (ストレージ) | |
透過的なデータ暗号化 | 平文状態 | 暗号化を有効化したデータベースの全データが暗号化状態 |
暗号化関数 | 暗号化指定した列は暗号化状態 | 暗号化指定した列は暗号化状態 |
Always Encypted | 暗号化指定した列は暗号化状態 | 暗号化指定した列は暗号化状態 |
透過的なデータ暗号化(以下 TDE)では、データベース物理ファイル (データ、ログ) を暗号化する機能となり、SQL Server、Azure SQL Database で使用可能です。
TDE では、データベース物理ファイル (データ、ログ) の暗号化/暗号化解除をオンラインで設定することが可能であり、暗号化には、データベース暗号化キー (以下 DEK) が使用されています。
DEK は、システム データベース master に保存されている証明書を使用して保護された対象キー もしくは、拡張キー管理 (EKM) モジュールに格納される非対称キー であり、データベース物理ファイルの Boot page (ブート ページ) に保存されます。
[TDE を使用するメリット]
本機能は、法律、規制、およびさまざまな業界で確立されているガイドラインの多くに準拠し、ソフトウェア開発者は、既存のアプリケーションを変更することなく、AES 及び 3DES 暗号化アルゴリズムを使用して、データの暗号化を行うことができます。
[TDE を使用するデメリット]
本機能を使用するうえで、一部 制限事項 があります。
※ 詳細は、以下の公開情報を参照ください。
+ 制限
[TDE を作成するために必要な権限]
データベースに対する CONTROL 権限、及び データベース暗号化キーを暗号化している 証明書 もしくは、非対称キーに対する VIEW DEFINITION 権限
[補足]
Azure SQL Database 上のデータベースに対して、TDE を有効化する方法については、以下の公開情報を参照ください。
Azure SQL Database での Transparent Data Encryption
[参考情報]
別の SQL Server への TDE で保護されたデータベースの移動 EKM を使用して TDE を有効にします。
※ 本Blogの内容は、2017年9月現在の内容となっております。