このトピックでは、データベースシステムで使用されるさまざまな暗号化方法を比較します。 このトピックでは、ビジネス要件に基づいて暗号化方法を選択する方法についても説明します。
概要
アクセス制御システムは、特定のエリアへのアクセスを制限するために使用されます。 例えば、住宅コミュニティでは、多層アクセス制御システムは、許可された個人のみが特定のエリアにアクセスできることを保証するために、コミュニティ入口、建物入口、および個々のアパート入口での入場を制限する。 アクセス制御システムは、場所とエリアに基づいて異なるアクセス制御結果を達成できます。 暗号化方法は、住宅コミュニティのアクセス制御システムと同じように機能します。 暗号化方法を使用して機密データを暗号化し、データの位置と粒度に基づいてさまざまな効果を得ることができます。
データベース暗号化方法の概要
ディスク暗号化: Elastic Compute Service (ECS) インスタンスの作成中にシステムディスクとデータディスクを作成する場合、またはECSインスタンスの作成後にデータディスクを個別に作成する場合は、[暗号化] を選択してディスク暗号化機能を有効にします。 この機能を有効にすると、システムはECSインスタンスをホストするサーバー上のECSインスタンスのデータを自動的に暗号化します。 ディスク暗号化は、鍵管理インフラストラクチャを展開または維持することなく、データのプライバシー、自律性、およびセキュリティを保護するのに役立ちます。 ディスクの暗号化により、サービスとしてのインフラストラクチャ (IaaS) レイヤーでディスクに保存されるデータのセキュリティが確保されます。 詳細については、「概要」をご参照ください。
透過的データ暗号化 (TDE ): データがデータベースメモリからファイルシステムに書き込まれる前に、データベースエンジンはメモリ内のデータを暗号化してから、暗号化されたデータをファイルシステムに書き込みます。 TDEは、Platform as a Service (PaaS) レイヤーのファイルシステムに保存されるデータのセキュリティを確保します。 詳細については、「TDEの設定」をご参照ください。
列の暗号化 (常に機密のデータベース機能の基本版): クエリ結果がデータベースからクライアントに送信される前に、結果が暗号化されます。 クライアントは必要なキーを使用してクエリ結果を復号します。 これにより、データベースクライアントとデータベース間で転送されるデータが暗号文になります。 列の暗号化により、データがクライアントとデータベース間で転送される際のデータセキュリティが確保されます。 詳細については、「概要」をご参照ください。
潜在的なデータベース攻撃
データベースはシステムアプリケーションであり、データベース内のデータはセキュリティリスクに対して脆弱です。 次の図は、セキュリティリスクと攻撃パスを示しています。 詳細については、「Oracleのデータベースセキュリティの最大セキュリティアーキテクチャ」をご参照ください。
次の表では、さまざまな種類の攻撃について説明します。
データ型 | 説明 | 移動方法 |
攻撃管理者 | OS管理者などのシステム管理者を攻撃します。 システム管理者は、データベースシステムに対して最高の権限を持っています。 攻撃者が管理者アカウントを取得すると、攻撃者はすべてのストレージリソース、システム、および周辺機器を管理およびアクセスできます。 データベースシステムでは、システム管理者は次のタイプに分類されます。
| OSの脆弱性 管理者アカウントのリーク 不適切なシステム構成 |
攻撃ユーザー | データベースユーザーなどのユーザーを攻撃します。 エンドユーザーは、データベースシステムと特定のデータにアクセスできます。 攻撃者はユーザーアカウントを取得し、そのアカウントを使用してユーザーデータにアクセスし、論理データ侵害攻撃などの攻撃を開始できます。 これにより、攻撃者は、SQLインジェクションなどを使用して脆弱性を悪用し、特権をエスカレートし、管理者権限を取得できます。 | ユーザーアカウントのリーク 論理的なデータ侵害 |
攻撃アプリ | Webサイトサーバーなどのアプリケーションサービスを攻撃します。 アプリケーションサービスは、インターネットを介してアクセス可能であり、より大きな攻撃領域を有し、厳密に保護されたデータベースと比較して、侵入に対してより脆弱である。 | アプリケーションサービスの脆弱性 OSの脆弱性 |
攻撃ネットワーク | ネットワークデータのリッスンやインターセプトなど、ネットワーク接続を攻撃します。 ほとんどの場合、ネットワーク攻撃はバイパス方法を使用し、検出が困難です。 | ネットワークのリスニングと傍受 |
バイパスデータベース | データベースシステムをバイパスしてデータを取得し、バイパスモードでデータベースデータを盗みます。 たとえば、PaaS担当者は、データベースディスクからデータファイルとバックアップファイルをコピーすることで、物理的なデータ侵害を開始できます。 | 物理的なデータ侵害 |
バイパスOS | OSのファイルシステムをバイパスしてデータを取得し、バイパスモードでディスクデータを盗みます。 たとえば、IaaS担当者は、ローカルディスクまたはクラウドディスクからデータを直接コピーできます。 | マウント攻撃 |
Exploitデータベース | コードバグなどのデータベースシステム内の欠陥を悪用して、データベースに直接または間接的にアクセスします。 | データベースOSの脆弱性 |
ターゲットデータのコピー | 開発およびテストデータベースを攻撃します。 ほとんどの場合、本番データは開発およびテストデータベースに直接同期されます。 しかし、開発およびテストデータベースのセキュリティを確保するための効果的な方法はありません。 その結果、開発およびテストデータベースは、本番データベースよりも脆弱です。 | 前述のいずれかの攻撃メソッド |
システム内のさまざまなアプリケーションパスでこれらの潜在的なデータベースセキュリティリスクに対処するために、さまざまなシステムアプリケーションで潜在的なデータベースセキュリティリスクに対応するための包括的なセキュリティソリューションが必要です。 ソリューションを開発するには、SSLと証明書サービス、認証とアクセス制御、ホワイトリストとセキュリティグループ、データの暗号化とマスキング、セキュリティ監査など、さまざまなセキュリティテクノロジーと管理方法が必要です。 以下のセクションでは、暗号化方法について詳しく説明します。
暗号化方式の能力行列
データベースで使用される暗号化方法には、ディスク暗号化、TDE、および列暗号化が含まれます。 次の表に、暗号化方法を示します。 ビジネスの問題点、暗号化の粒度、変換コスト、パフォーマンスに基づいて適切な暗号化方法を選択できます。
データベース暗号化方式 | ディスク暗号化 | TDE
| 列の暗号化 (常に機密データベース機能の基本版) |
解決できる問題 | OSと攻撃管理者のバイパス (IaaS) | バイパスデータベース、バイパスOS、および攻撃管理者 (PaaSおよびIaaS) | 攻撃ユーザー、攻撃アプリ、攻撃管理者 (DBA 1 ️)⃣) 攻撃ネットワークとターゲットデータのコピー |
DBAなどのデータベースO&M担当者に対するデータの可視性 | 表示可能 | 表示可能 | 見えない |
OS管理者などのPaaS O&M担当者に対するデータの可視性 | 表示可能 | 見えない | はい1 ️⃣ |
物理プロセスエンジニアなどのIaaS O&M担当者へのデータの可視性 | 見えない | 見えない | はい1 ️⃣ |
暗号化の粒度 | インスタンス | テーブルとデータベース | カラム |
ビジネス変革 | 非該当 | 非該当 | Java Database Connectivity (JDBC) ドライバーをEncJDBCに置き換える必要があり、コードを変更する必要はありません。 |
パフォーマンス | わずかなパフォーマンス損失、または損失なし |
|
|
1 ️⃣常時機密データベース機能の基本版では、PaaSおよびIaaSレイヤーのO&M担当者が平文データにアクセスするのを防ぐことはできません。 常に機密性の高いデータベース機能のハードウェア拡張版を、信頼できるハードウェアテクノロジーとともに使用して、PaaSおよびIaaSレイヤーからの攻撃から防御できます。 ハードウェア強化版は、常に機密性の高いデータベース機能の基本版と比較して、強化されたセキュリティを提供します。
暗号化方法の原理の比較
異なるデータベース暗号化方法の違い
ストレージセキュリティ技術 | ディスク暗号化 | TDE | 列の暗号化 |
有効範囲 | オペレーティングシステム | データベースカーネル | データベースカーネル |
暗号化スコープ | ホストとECSインスタンス | データベースインスタンス | データベースインスタンス |
暗号化の粒度 | インスタンス | データベースとテーブル | カラム |
アプリケーションの認識 | アプリケーションに透明 | アプリケーションに透明 | アプリケーションのJDBCをEncJDBCに置き換える |
概要
このトピックでは、既存のデータベース暗号化方法を紹介し、データベースが直面するセキュリティリスクと適用可能な暗号化方法についてユーザーの観点から説明し、データベース暗号化方法の違いについて説明します。 セキュリティ要件、ビジネス変革コスト、およびパフォーマンスに基づいて、適切なデータベース暗号化方法を選択できます。