2.19.1 DBエリア暗号化機能とは
次のDBエリア内のデータ,およびシステムログファイル内のデータを暗号化することができます。この機能をDBエリア暗号化機能といいます。DBエリア暗号化機能を使用すると,機密情報の盗難などの脅威を防ぐことができます。
-
データ用DBエリア
-
ディクショナリ用DBエリア
-
作業表用DBエリア
-
システム表用DBエリア
暗号化対象とするDBエリアを選択できます。機密情報を含む表やインデクスを格納するデータ用DBエリアは暗号化し,機密情報を含まない表やインデクスを格納するデータ用DBエリアは暗号化しないという選択ができます。また,ディクショナリ用DBエリア,作業表用DBエリア,システム表用DBエリアも暗号化対象とするかどうかを選択できます。これらのDBエリアにも機密情報となるユーザデータが含まれることがあるため,データ用DBエリアを暗号化する場合はこれらのDBエリアも暗号化対象にすることを推奨します。
なお,DBエリアを1つでも暗号化対象とした場合,ユーザデータが含まれるシステムログファイルも自動的に暗号化対象になります。システムログファイルだけを暗号化対象にすることはできません。
DBエリア暗号化機能の概要を次の図に示します。
- メモ
-
-
マスタディレクトリ用DBエリアにはユーザデータが含まれることがないため,DBエリア暗号化機能の対象外になっています。
-
メモリ上のデータ(グローバルバッファやテーブルスキャンバッファなど)は暗号化されません。
-
暗号化対象のDBエリアに格納されている表のチャンクに対して,adbarchivechunkコマンドを実行して生成したアーカイブファイルなど,DBエリアの外部に存在するファイルは暗号化されません。
-
データの暗号化と復号はHADBサーバが実行するため,暗号化と復号に関するユーザの操作はありません。暗号化と復号はディスクへの入出力時に実行されます。ディスクにデータが格納されるときにデータが暗号化され,表の検索時などにデータをディスクから取り出すときにデータが復号されます。データの暗号化と復号の例を次の図に示します。
- ■暗号化対象とするデータ用DBエリア
-
機密情報を含む表(暗号化したいデータを含む表)を格納するデータ用DBエリアを暗号化します。また,インデクスデータにも機密情報となるユーザデータが含まれる可能性があるため,表に定義しているインデクスを格納するデータ用DBエリアも暗号化することを推奨します。
- ■APへの影響
-
データの暗号化と復号の処理は,HADBサーバが実行するため,APの変更は必要ありません。DBエリア暗号化機能を使用しないときと同様にSQL文を使ってHADBのデータベースを検索したり更新したりできます(透過的にデータベースを利用できます)。
- ■性能への影響
-
DBエリア暗号化機能を使用する場合,データの暗号化と復号の処理が追加される分,サーバマシンのリソース(CPUやメモリなど)をより多く消費するため,性能に影響を及ぼす可能性があります。データの暗号化と復号は,データの入出力時に行われるため,データの入出力を減らすと性能への影響を少なくできます。例えば,インデクスの見直しや,バッファの見直しなどが考えられます。DBエリア暗号化機能を使用する場合は,チューニングを実施してデータの入出力を減らすことを推奨します。チューニングについては,「14. チューニング」を参照してください。
- ■アクセス制御との関係
-
DBエリア暗号化機能は,機密情報の盗難という脅威からデータベースを守る機能であり,データベースへの不正なアクセスを防ぐ機能ではありません。正規のHADBユーザがデータベースへアクセスした場合は,データを復号して正しくデータを返却するため,正規のHADBユーザを使用した悪意を持つ人物のデータベースへのアクセスを防ぐことはできません。そのため,「誰がどの情報を閲覧可能か」というアクセス制御を行うには,アクセス権限を使用してください。アクセス権限については,「2.7.6 アクセス権限」を参照してください。
- ■データベースのセキュリティ上の脅威の代表的な例とDBエリア暗号化機能での対応
-
データベースのセキュリティ上の脅威の代表的な例とDBエリア暗号化機能での対応を次の表に示します。
表2‒23 データベースのセキュリティ上の脅威の代表的な例とDBエリア暗号化機能での対応 脅威の代表的な例
DBエリア暗号化機能での対応
データベースが保存されているディスクやバックアップメディアを盗まれることによる情報漏えい
○
データベース内のデータや認証パケットなどの改ざん
△※
通信経路のパケット盗聴による情報漏えい
×
メモリダンプ解析による情報漏えい
×
特権ユーザが不正に使用される
×
サーバのリソースを枯渇させたり,負荷を上昇させたりすることによるサービス妨害
×
SQLインジェクションなどによる攻撃
×
マルウェアに感染することによる攻撃
×
不正な操作の否認
×
- (凡例)
-
○:DBエリア暗号化機能を使用することで防ぐことができます。
△:DBエリア暗号化機能を使用することである程度防ぐことができます。
×:DBエリア暗号化機能では防ぐことができません。
- 注※
-
データが暗号化されるため,データの改ざんをある程度防ぐことができます。ただし,データの破壊を防ぐことはできません。
- ■AWS環境でクラウドストレージ機能を使用する場合の留意事項
-
AWS環境でクラウドストレージ機能を使用する場合,Amazon S3のバケットの暗号化機能を有効化する必要はありません。