Docs Menu
Docs Home
/ / /
C++ ドライバー
/

使用中の暗号化

項目一覧

  • Overview
  • Queryable Encryption
  • クライアントサイドのフィールド レベル暗号化

C++ドライバーでは、 使用中の暗号化と呼ばれる機能のセットを使用して、特定のドキュメントフィールドを暗号化できます。 使用中の暗号化により、アプリケーションはMongoDBに送信する前にデータを暗号化し、暗号化されたフィールドを持つドキュメントをクエリできます。

使用中の暗号化は、 MongoDBに送信されるとき、または 暗号化されたデータベース内にあるときに権限のないユーザーがプレーンテキスト データを表示するのを防ぎます。 アプリケーションで使用中の暗号化を有効にし、そのアプリケーションがデータの復号化を許可するには、アプリケーションのみがアクセスできる暗号化キーを作成する必要があります。 暗号化のキーにアクセスできるアプリケーションのみが、復号されたプレーンテキスト データにアクセスできます。 攻撃者がデータベースへのアクセスを取得した場合、暗号化のキーにアクセスできないため、暗号化された暗号化された暗号化データのみが表示されます。

使用中の暗号化を使用して、次のタイプの機密データを含むMongoDBドキュメント内のフィールドを暗号化できます。

  • クレジット カード番号

  • 住所

  • ヘルス情報

  • 金融情報

  • その他の機密情報または個人を特定できる情報(PII)

MongoDBは、使用中の暗号化を有効にするために次の機能を提供しています。

  • Queryable Encryption

  • クライアントサイドのフィールド レベル暗号化

Queryable Encryption は、使用可能な次の暗号化機能であり、MongoDB Server バージョン 6.0 のプレビュー機能として導入され、その後 MongoDB 7.0 の一般提供(GA)機能として導入されます。 Queryable Encryption は、暗号化されたフィールドで等価性を検索することをサポートしており、各値を一意に暗号化します。

重要

MongoDB 7.0 と互換性のないプレビュー機能

MongoDB 6.0 での Queryable Encryption の実装は、MongoDB 7.0 で導入された GA バージョンと互換性がありません。 Queryable Encryption プレビュー機能はサポートされなくなりました。

Queryable Encryptionの詳細については、 MongoDB Serverマニュアルの「 Queryable Encryption 」を参照してください。

クライアント側フィールド レベル暗号化( CSFLE )はMongoDB Serverバージョン 4.2 で導入され、暗号化されたフィールドの等価検索をサポートしています。 CSFLE は、フィールドを暗号化するために決定的またはランダムな暗号化アルゴリズムのいずれかを選択できる点で Queryable Encryption と異なります。 CSFLE を使用している場合は、決定的な暗号化アルゴリズムを使用する暗号化されたフィールドのみをクエリできます。 CSFLE のフィールドを暗号化するためにランダムな暗号化アルゴリズムを使用する場合、それらは復号化することはできますが、それらのフィールドに対して等価クエリを実行することはできません。 Queryable Encryption を使用する場合、暗号化アルゴリズムを指定することはできませんが、すべての暗号化されたフィールドをクエリできます。

値を確定的に暗号化すると、同じ入力値によって同じ出力値が生成されます。 決定的な暗号化を使用すると、暗号化されたフィールドに対してクエリを実行できますが、濃度の低い暗号化データは、頻度分析によるコードの影響を受けやすくなります。

Tip

これらの概念の詳細については、 Wikipedia の次のエントリを参照してください。

CSFLE の詳細については、サーバー マニュアルの「 クライアント側フィールドレベル暗号化ガイドとCSFLE 」を参照してください。

戻る

エンタープライズ認証メカニズム