主な機能
項目一覧
Overview
このページでは、クライアント側フィールド レベル暗号化(CSFLE)のセキュリティ上の利点と、CSFLE が MongoDB でサポートされている他のセキュリティ メカニズムと比較する方法について説明します。 また、データの保護における CSFLE の値を示す架空のシナリオを表示することもできます。
クライアントサイドのフィールド レベル暗号化
クライアント側フィールド レベル暗号化(CSFLE)は、クライアント アプリケーションがネットワーク経由でデータを転送する前にデータを暗号化できる MongoDB の機能です。 機密データはクライアントによって透過的に暗号化および復号化され、暗号化された形式でのみサーバーとの間で通信されます。 CSFLE は、次のシナリオで暗号化されたフィールドを安全に維持します。
データベース スーパーユーザーによる暗号化されたフィールドへの直接アクセス
サーバーのメモリを読み取ることで暗号化されたフィールドにアクセスする
安全でないネットワーク経由で暗号化されたフィールドのキャプチャ
データベースまたはバックアップ ファイルの読み取りを使用して、ディスク上の暗号化されたフィールドにアクセスする
すべてのクライアントが機密性のないデータ フィールドにアクセスできますが、暗号化されたデータ フィールドの読み取りと書込みができるのは適切に構成された CSFLE クライアントのみです。
重要
リモート キー管理システム
CSFLE を本番環境で使用する場合は、暗号化キーを保存するためにリモート KMS(Key Management System)を使用する必要があります。
CSFLE でリモート KMS を使用する方法を示す手順ガイドについては、「 チュートリアル 」を参照してください。
サポートされているすべての KMS プロバイダーのリストを表示するには、「 KMS プロバイダー 」を参照してください。
リモート KMS を使用する必要がある理由の詳細については、「リモート キー管理システムを使用する理由 」を参照してください。
その他のセキュリティ メカニズム
このセクションでは、MongoDB でサポートされている次のセキュリティ メカニズムについて説明し、そのユースケースと制限について説明します。
ロールベースのアクセス制御
ロールベースのアクセス制御は、管理者がユーザーに対するコレクション レベルの権限を付与および制限できるセキュリティ メカニズムです。 適切なロールの定義と割り当てにより、このソリューションは誤ってデータを公開し、アクセスを防止します。
ロールベースのアクセス制御では、次のシナリオを保護できません。
安全でないネットワーク経由でのデータのキャプチャ
データベースまたはバックアップ ファイルの読み取りによるディスク上のデータへのアクセス
サーバーのメモリを読み取ることでデータにアクセスする
データベース スーパーユーザーによるデータへの直接アクセス
詳細については、「ロールベースのアクセス制御 」を参照してください。
保管時の暗号化
保管時の暗号化は、ディスク上のデータベースファイルを暗号化するメカニズムです。 このメカニズムにより、データベース認証情報を持たないが、データベースをホストしているコンピューターにアクセスできるユーザーは、データを表示できなくなります。
このメカニズムでは、次のシナリオからデータを保護しません。
安全でないネットワーク経由でのデータのキャプチャ
サーバーのメモリを読み取ることでデータにアクセスする
データベース スーパーユーザーによるデータへの直接アクセス
詳細については、「保存時の暗号化 」を参照してください。
トランスポート暗号化 (TLS/SSL)
TLS/SSL を使用したトランスポート暗号化により、ネットワーク経由でデータが暗号化されます。 TLS/SSL は、安全でないネットワークを移動する際にデータを保護しますが、特権ユーザーからのデータやディスク上にあるデータを保護することはできません。
詳しくは、「 TLS/SSL を使用したトランスポート暗号化」を参照してください。
機能の比較
Queryable Encryption の詳細については、「 Queryable Encryption の機能 」を参照してください。
次の表では、潜在的なセキュリティ上の懸念と、 MongoDBの暗号化機能がその問題にどのように対処するかについて説明しています。 これらのメカニズムを一緒に使用します: ロールベースのアクセス、保管時の暗号化、トランスポート暗号化、使用中の暗号化。 同じコレクションでは、 クライアント側フィールドレベル暗号化 とQueryable Encryptionの両方を使用できません。
重要
これは一般的な比較を目的とした高レベルのサマリーです。 詳しくは、「 Queryable Encryptionの概要 」 参照してください。 および ステートレス ドキュメント データベース暗号化スキームの設計と分析 ホワイトペーパー。
スレッド | TLS/SSL トランスポートの暗号化 | 保管時の暗号化(EaR) | Queryable Encryption (Equality) + TLS/SSL + EaR | CSFLE + TLS/SSL + EaR |
---|---|---|---|---|
ネットワーク スループット(攻撃者はネットワーク トラフィックにアクセスできる) | 操作メタデータを識別します | 操作メタデータを識別します | 操作メタデータを識別します | 操作メタデータを識別します |
ディスクからのデータベース回復(攻撃者は物理ディスクにアクセスできる) | データベースを説明します | データベースと操作メタデータのサイズを表示 | データベースと操作メタデータのサイズを表示 | データベースと操作メタデータのサイズを表示 |
データベースを説明します | データベースを説明します | データベースと操作メタデータのサイズを表示 | 値と操作メタデータの頻度を報告 | |
高度な永続しきい値(攻撃者はネットワーク、ディスク、メモリに長期間にわたって継続的にアクセスし、検出されないまま) | データベースを説明します | データベースを説明します | Queryable Encryptionは ATP を保護するように設計されていません。 詳細については、 ホワイトペーパー を参照してください。 | CSFLE は ATP から保護するように設計されていません。 詳細については、 ホワイトペーパー を参照してください。 |
[1] | これでは、完了した操作の間に抽出が発生することを前提としています。 ホワイトペーパー を参照 詳細については、「 」を参照してください。 |
Scenario
次の架空のシナリオは、アプリケーションのデータを保護する際のクライアント側フィールド レベル暗号化(CSFLE)の値と、CSFLE がこのガイドで説明されている他のセキュリティ メカニズムとどのように相互作用するのかを示しています。
このシナリオでは、架空の会社MedcoMDの従業員の個人情報、保証情報、医療レコードを保存する医療マネジメント システムで機密データを保護します。 医療データはいずれも公開されず、ソーシャル セキュリティ番号(SSN、米国政府が発行する ID 番号)、保証適用番号、バイナリ サインの測定値などの特定のデータは、特に機密性が高く、プライバシー コンプライアンスが対象となります。 データが機密かつ安全に保たれることは、会社と従業員にとって重要です。
MedcoMD では、次のユースケースを満たすためにこのシステムが必要です。
」
システムを使用して、連絡先情報を使用してユーザーの身元を確認します。
レシーバーは、クライアントの保証ポリシープロバイダーを表示できますが、ポリシー番号は表示できません。
レプリケーション担当者は、従業員の医療レコードにアクセスできません。
MedcoMDは、次のいずれかの方法で機密データを公開することにも懸念されています。
受信者の一般表示画面でのデータの誤った公開。
データベース管理者などのスーパーユーザーによるデータベースへの直接アクセス。
安全でないネットワーク経由でのデータのキャプチャ。
データベース サーバーのメモリを読み取ることでデータにアクセスします。
データベースまたはバックアップ ファイルを読み取ることでデータにアクセスします。
MedcoMD は、メトリクス マネジメント システムの機能とアクセス制限のバランスを取るためにできることは何ですか。
解決法
MedcoMD は、ユースケースを満たし、機密性の高い医療データの公開を防ぐために、次のセキュリティ メカニズムを使用しています。
ネットワーク上を移動する際にデータを保護するためのトランスポート暗号化(TLS/SSL) 。
データベースまたはバックアップ ファイルの読み取りによるデータの公開を防ぐための保管時の暗号化。
ロールベースのアクセス制御は、データベースユーザーがタスクを実行するために必要なコレクションへのアクセスを制限します。
CSFLE で機密フィールドを暗号化すると、次のユースケースと制約を満たすことができます。
CSFLE で暗号化されたデータは暗号化されていない形式でデータベース サーバーに存在しないため、サーバー メモリからのデータの読み取りは防止します。
CSFLE が有効になっていないクライアントを使用して受信者の ID を確認し、受信者の公開画面に機密データが誤って表示されるのを防ぐことができます。
CSFLE 対応のクライアントを持つ従業員を提供することで、従業員がオフィスで機密データをプライベートで表示できるようにします。
詳細
MongoDB デプロイを保護するために実装する必要があるセキュリティ対策のリストを表示するには、セキュリティ チェックリスト を参照してください。
CSFLE の使用を開始するには、「クイック スタート」を参照してください。