すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:異なるデータベース暗号化方法の比較

最終更新日:Aug 27, 2024

このトピックでは、データベースシステムで使用されるさまざまな暗号化方法を比較します。 このトピックでは、ビジネス要件に基づいて暗号化方法を選択する方法についても説明します。

概要

アクセス制御システムは、特定のエリアへのアクセスを制限するために使用されます。 例えば、住宅コミュニティでは、多層アクセス制御システムは、許可された個人のみが特定のエリアにアクセスできることを保証するために、コミュニティ入口、建物入口、および個々のアパート入口での入場を制限する。 アクセス制御システムは、場所とエリアに基づいて異なるアクセス制御結果を達成できます。 暗号化方法は、住宅コミュニティのアクセス制御システムと同じように機能します。 暗号化方法を使用して機密データを暗号化し、データの位置と粒度に基づいてさまざまな効果を得ることができます。

データベース暗号化方法の概要

  • ディスク暗号化: Elastic Compute Service (ECS) インスタンスの作成中にシステムディスクとデータディスクを作成する場合、またはECSインスタンスの作成後にデータディスクを個別に作成する場合は、[暗号化] を選択してディスク暗号化機能を有効にします。 この機能を有効にすると、システムはECSインスタンスをホストするサーバー上のECSインスタンスのデータを自動的に暗号化します。 ディスク暗号化は、鍵管理インフラストラクチャを展開または維持することなく、データのプライバシー、自律性、およびセキュリティを保護するのに役立ちます。 ディスクの暗号化により、サービスとしてのインフラストラクチャ (IaaS) レイヤーでディスクに保存されるデータのセキュリティが確保されます。 詳細については、「概要」をご参照ください。

  • 透過的データ暗号化 (TDE ): データがデータベースメモリからファイルシステムに書き込まれる前に、データベースエンジンはメモリ内のデータを暗号化してから、暗号化されたデータをファイルシステムに書き込みます。 TDEは、Platform as a Service (PaaS) レイヤーのファイルシステムに保存されるデータのセキュリティを確保します。 詳細については、「TDEの設定」をご参照ください。

  • 列の暗号化 (常に機密のデータベース機能の基本版): クエリ結果がデータベースからクライアントに送信される前に、結果が暗号化されます。 クライアントは必要なキーを使用してクエリ結果を復号します。 これにより、データベースクライアントとデータベース間で転送されるデータが暗号文になります。 列の暗号化により、データがクライアントとデータベース間で転送される際のデータセキュリティが確保されます。 詳細については、「概要」をご参照ください。

潜在的なデータベース攻撃

データベースはシステムアプリケーションであり、データベース内のデータはセキュリティリスクに対して脆弱です。 次の図は、セキュリティリスクと攻撃パスを示しています。 詳細については、「Oracleのデータベースセキュリティの最大セキュリティアーキテクチャ」をご参照ください。

image

次の表では、さまざまな種類の攻撃について説明します。

データ型

説明

移動方法

攻撃管理者

OS管理者などのシステム管理者を攻撃します。 システム管理者は、データベースシステムに対して最高の権限を持っています。 攻撃者が管理者アカウントを取得すると、攻撃者はすべてのストレージリソース、システム、および周辺機器を管理およびアクセスできます。 データベースシステムでは、システム管理者は次のタイプに分類されます。

  • データベース管理者 (DBA) は、データベースデータにアクセスして設定を変更できます。

  • OS管理者などのPaaS管理者は、OSおよびファイルシステムのデータにアクセスできます。

  • プラットフォーム管理者などのIaaS管理者は、ディスクなどの周辺機器上のデータにアクセスできます。

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に置き換える必要があり、コードを変更する必要はありません。

パフォーマンス

わずかなパフォーマンス損失、または損失なし

  • 影響要因: 機密データベースとテーブルのサイズ、データベース構成、およびアプリケーションの負荷

    • たとえば、テーブルサイズがキャッシュサイズよりも小さい場合、パフォーマンスの損失は非常に低くなります。 テーブルサイズがキャッシュサイズよりもはるかに大きい場合、パフォーマンスの低下は大きくなります。

  • ほとんどの場合、パフォーマンスの損失は5% 未満です。 アプリケーションの負荷が非常に重い場合、パフォーマンスの損失は20% に達する可能性があります。

  • 影響要因: データベースとテーブルのサイズに依存しない、クエリ結果の機密データのサイズ

    • たとえば、クエリが1つのデータを取得する場合、パフォーマンスの損失は最小限に抑えられます。 ただし、100万個のデータを取得すると、パフォーマンスが大幅に低下する可能性があります。

  • 結論: ほとんどの場合、パフォーマンスの損失は7% 未満です。 アプリケーションの負荷が非常に重い場合、パフォーマンスの損失は21% に達する可能性があります。

1 ️⃣常時機密データベース機能の基本版では、PaaSおよびIaaSレイヤーのO&M担当者が平文データにアクセスするのを防ぐことはできません。 常に機密性の高いデータベース機能のハードウェア拡張版を、信頼できるハードウェアテクノロジーとともに使用して、PaaSおよびIaaSレイヤーからの攻撃から防御できます。 ハードウェア強化版は、常に機密性の高いデータベース機能の基本版と比較して、強化されたセキュリティを提供します。

暗号化方法の原理の比較

異なるデータベース暗号化方法の違い

ストレージセキュリティ技術

ディスク暗号化

TDE

列の暗号化

有効範囲

オペレーティングシステム

データベースカーネル

データベースカーネル

暗号化スコープ

ホストとECSインスタンス

データベースインスタンス

データベースインスタンス

暗号化の粒度

インスタンス

データベースとテーブル

カラム

アプリケーションの認識

アプリケーションに透明

アプリケーションに透明

アプリケーションのJDBCをEncJDBCに置き換える

概要

このトピックでは、既存のデータベース暗号化方法を紹介し、データベースが直面するセキュリティリスクと適用可能な暗号化方法についてユーザーの観点から説明し、データベース暗号化方法の違いについて説明します。 セキュリティ要件、ビジネス変革コスト、およびパフォーマンスに基づいて、適切なデータベース暗号化方法を選択できます。