このトピックでは、データベースシステムで使用されるさまざまな暗号化方式を比較し、ビジネス要件に基づいて暗号化方式を選択するのに役立ちます。
概要
アクセス制御システムは、特定の領域へのアクセスを制限するために使用されます。たとえば、住宅街では、多層アクセス制御システムによって、コミュニティ入口、建物入口、個々のアパート入口への侵入が制限され、許可された個人だけが特定の領域にアクセスできるようにします。アクセス制御システムは、場所や領域に基づいて異なるアクセス制御結果を実現できます。暗号化方式は、住宅街のアクセス制御システムと同じ役割を果たします。暗号化方式を使用して機密データを暗号化し、データの位置と粒度に基づいてさまざまな効果を実現できます。
データベース暗号化方式の紹介
ディスク暗号化
ECS インスタンスと一緒にシステムディスクまたはデータディスクを作成する場合、またはデータディスクを個別に作成する場合は、クラウドディスクの暗号化を有効にします。クラウドディスクが作成されると、クラウドディスクのホストとなる ECS インスタンスのオペレーティングシステム内のデータは、クラウドディスクに書き込まれるときに自動的に暗号化され、クラウドディスクから読み取られるときに自動的に復号化されます。ディスク暗号化は、IaaS(Infrastructure as a Service)レイヤーでディスクに保存されるデータのセキュリティを確保します。詳細については、「クラウドディスクの暗号化」をご参照ください。
透過的データ暗号化(TDE)
データがデータベースメモリからファイルシステムに書き込まれる前に、データベースエンジンはメモリ内のデータを暗号化してから、暗号化されたデータをファイルシステムに書き込みます。 TDE は、PaaS レイヤーのファイルシステムに保存されているデータのセキュリティを確保します。詳細については、「TDE の構成」をご参照ください。
列暗号化(常時機密データベース機能の基本エディション)
クエリ結果がデータベースからクライアントに送信される前に、結果は暗号化されます。クライアントは必要なキーを使用してクエリ結果を復号化します。これにより、データベースクライアントとデータベース間で転送されるデータが暗号文になります。列暗号化は、クライアントとデータベース間でデータが転送される際のデータセキュリティを確保します。詳細については、「概要」をご参照ください。
潜在的なデータベース攻撃
データベースはシステム アプリケーションであり、データベース内のデータはセキュリティリスクに対して脆弱です。次の図は、セキュリティリスクと攻撃パスを示しています。詳細については、「Oracle's Maximum Security Architecture for Database Security」を参照してください。
次の表は、さまざまな種類の攻撃について説明しています。
種類 | 説明 | 方法 |
管理者への攻撃 | OS 管理者などのシステム管理者を攻撃します。システム管理者は、データベースシステムで最高の権限を持っています。攻撃者が管理者アカウントを取得した場合、攻撃者はすべてのストレージリソース、システム、および周辺機器を管理およびアクセスできます。データベースシステムでは、システム管理者は次のタイプに分けられます。
| OS の脆弱性 管理者アカウントまたはパスワードの漏洩 不適切なシステム構成 |
ユーザーへの攻撃 | データベースユーザーなどのユーザーを攻撃します。エンドユーザーは、データベースシステムおよび特定のデータにアクセスできます。攻撃者はユーザーアカウントを取得し、そのアカウントを使用してユーザーデータにアクセスして、論理データ侵害攻撃などの攻撃を開始できます。これにより、攻撃者は SQL インジェクションなどを使用して脆弱性を悪用し、権限をエスカレーションして管理者権限を取得できます。 | ユーザーアカウントまたはパスワードの漏洩 論理データ侵害 |
アプリへの攻撃 | Web サイトサーバーなどのアプリケーションサービスを攻撃します。アプリケーションサービスはインターネット経由でアクセスでき、攻撃対象領域が広く、厳重に保護されているデータベースと比較して侵入に対してより脆弱です。 | アプリケーションサービスの脆弱性 OS の脆弱性 |
ネットワークへの攻撃 | ネットワークデータのリスニングや傍受など、ネットワーク接続を攻撃します。ほとんどの場合、ネットワーク攻撃はバイパス方式を使用し、検出が困難です。 | ネットワークのリスニングと傍受 |
データベースのバイパス | データベースシステムをバイパスしてデータを取得し、バイパスモードでデータベースデータを盗みます。たとえば、PaaS 担当者は、データベースディスクからデータファイルとバックアップファイルをコピーすることにより、物理データ侵害を開始できます。 | 物理データ侵害 |
OS のバイパス | OS のファイルシステムをバイパスしてデータを取得し、バイパスモードでディスクデータを盗みます。たとえば、IaaS 担当者は、ローカルディスクまたはクラウドディスクからデータを直接コピーできます。 | マウント攻撃 |
データベースのエクスプロイト | コードのバグなど、データベースシステム内の欠陥を悪用して、データベースに直接または間接的にアクセスします。 | データベース OS の脆弱性 |
データコピーの標的化 | 開発およびテストデータベースを攻撃します。ほとんどの場合、本番データは開発およびテストデータベースに直接同期されます。ただし、開発およびテストデータベースのセキュリティを確保するための効果的な方法は使用されていません。その結果、開発およびテストデータベースは本番データベースよりも脆弱です。 | 上記すべて |
システムのさまざまなアプリケーションパスにおけるこれらの潜在的なデータベースセキュリティリスクに対処するには、さまざまなシステムアプリケーションにおける潜在的なデータベースセキュリティリスクに対応するための包括的なセキュリティソリューションが必要です。ソリューションを開発するには、SSL および証明書サービス、認証とアクセス制御、ホワイトリストとセキュリティグループ、データの暗号化とマスキング、セキュリティ監査など、さまざまなセキュリティ技術と管理方法が必要です。
暗号化方式の機能マトリックス
データベースで使用される暗号化方式には、ディスク暗号化、TDE、および列暗号化が含まれます。次の表に、暗号化方式を示します。ビジネス上の課題、暗号化の粒度、変換コスト、およびパフォーマンスに基づいて、適切な暗号化方式を選択できます。
データベース暗号化方式 | ディスク暗号化 | TDE
| 列暗号化 (常時機密データベース機能の基本エディション) |
解決できる問題 | OS のバイパスと管理者への攻撃(IaaS) | データベースのバイパス、OS のバイパス、および管理者への攻撃(PaaS および IaaS) | ユーザーへの攻撃、アプリへの攻撃、管理者への攻撃、ネットワークへの攻撃、およびデータコピーの標的化 |
DBA などのデータベース運用担当者へのデータの可視性 | 可視 | 可視 | 不可視 |
OS 管理者などの PaaS 運用担当者へのデータの可視性 | 可視 | 不可視 | 可視 |
物理プロセスエンジニアなどの IaaS 運用担当者へのデータの可視性 | 不可視 | 不可視 | 可視 |
暗号化の粒度 | クラスター | テーブルとデータベース | 列 |
ビジネス変革 | 該当なし | 該当なし | Java Database Connectivity ( JDBC ) ドライバーを EncJDBC に置き換える必要があります。コードを変更する必要はありません。 |
パフォーマンス | わずかなパフォーマンスの低下、または低下なし |
|
|
暗号化方式の原則の比較
アーキテクチャ
次の図は、システムアーキテクチャに基づいて、データベースシステムにおける暗号化方式の役割を示しています。
ディスク暗号化は、ECS インスタンスの OS レイヤーと ECS インスタンスが存在するホストに適用され、OS ファイルを暗号化および復号化します。ディスク暗号化は、ECS インスタンスまたはクラウドディスクがデプロイされているホスト上のすべてのクラスターに有効です。
TDE はクラスターに適用され、キャッシュされたデータベースファイルを暗号化および復号化します。 TDE は個々のクラスターに有効です。
列暗号化はクラスターに適用され、データベースメモリ内のクエリ結果を暗号化および復号化し、暗号文のデータをクラスターに接続されているアプリケーションに返します。列暗号化は個々のクラスターに有効です。
列暗号化、TDE、およびディスク暗号化は組み合わせて使用できます。
データ
次の図は、暗号化方式によるデータベースシステム内のデータの暗号化状態を示しています。
ディスク暗号化では、データはディスクでは暗号文ですが、OS ファイルとデータベースではプレーンテキストです。
TDE では、データはディスクと OS ファイルでは暗号文ですが、データベースではプレーンテキストです。
列暗号化では、データはデータベース(エンジン内を除く)では暗号文ですが、OS ファイルとディスクではプレーンテキストです。データは暗号文で実行され、プレーンテキストで保存されます。
列暗号化と TDE の組み合わせにより、転送中のデータのエンドツーエンド暗号化が提供されます。
さまざまなデータベース暗号化方式の違い
ストレージセキュリティ技術 | ディスク暗号化 | TDE | 列暗号化 |
有効範囲 | OS | データベースエンジン | データベースエンジン |
暗号化範囲 | ホストまたは ECS インスタンス | クラスター | クラスター |
暗号化の粒度 | クラスター | データベースとテーブル | 列 |
アプリケーション認識 | アプリケーションに対して透過的 | アプリケーションに対して透過的 | アプリケーションでの JDBC から EncJDBC への置き換え |
概要
データベース暗号化技術は成熟していますが、データベースは依然としてユーザー視点からさまざまなセキュリティ脅威に直面しています。これらの脅威に対処するために、ディスク暗号化、TDE、列暗号化など、さまざまなデータベース暗号化技術が利用可能です。 セキュリティ要件、ビジネス変革コスト、およびパフォーマンスに基づいて、適切なデータベース暗号化メソッドを選択できます。