MongoDB、暗号化したままのデータベースを検索「Queryable Encryption」発表。データ格納時、メモリ上、データ転送、ログ、バックアップのすべてが暗号化データのまま
今回は「MongoDB、暗号化したままのデータベースを検索「Queryable Encryption」発表。データ格納時、メモリ上、データ転送、ログ、バックアップのすべてが暗号化データのまま」についてご紹介します。
関連ワード (格納時、現時点、部分一致等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
MongoDBは、6月7日から9日にかけて米ニューヨークで開催されたイベント「MongoDB World 2022」で、データを暗号化したまま検索できるMongoDBの新機能「Queryable Encryption」を発表しました。
現代の主要なデータベースであれば、データベース内にデータを暗号化して格納する機能を備えていますが、データ格納時に暗号化して格納し(Encryption at Rest)、検索時にはメモリ上でデータを復号して操作する実装が一般的です。
今回のMongoDBが実装を発表したQueryable Encryptionは、データ格納時に暗号化するだけでなく、復号することなく暗号化したままのデータに対して検索を実行し、メモリ上でも暗号データのまま操作し、暗号データのまま転送。クライアント側のMongoDB Driver内で復号するというもの。
同社によるとデータはログ内でもバックアップでも暗号化されたままであり、より安全にセンシティブなデータを扱えるようになっていると説明。市場においてこうした実装を実現する唯一のデータベースだとしています。
Announcing the Preview release of Queryable Encryption
Encrypt sensitive data from the client side
Store it as fully randomized encrypted data on the database server side
Run expressive queries on the encrypted datahttps://t.co/Ec3g86R8DA— MongoDB (@MongoDB) June 10, 2022
Queryable Encryptionは以下のように動作します。
1)アプリケーションがクエリを発行すると、MongoDBドライバがクエリを分析。
2)暗号化されたフィールドに対しての検索であることが認識されると、MongoDBドライバが暗号化キーを暗号化キー管理サービス(AWS KMS、Google Cloud KMS、Azure Key Vault、HashiCorp Vaultなどさまざまなサービス)に対して要求。
3)MongoDBドライバは暗号化されたフィールドに対応するクエリの部分を暗号化し、MongoDBにクエリを送信。
4)MongoDBサーバのQueryable Encryptionは、暗号化されたデータに対して、暗号化されたままクエリを処理。
5)暗号化されたまま結果を送信。
6)MongoDBドライバが結果を復号しアプリケーションへ平文で返信。
Queryable Encryptionはプレビューリリースとして公開されており、現時点では完全一致のみ実現。範囲や部分一致などそれ以外のクエリは今後対応する予定とのことです。
関連記事
- MongoDB、暗号化したままのデータベースを検索「Queryable Encryption」発表。データ格納時、メモリ上、データ転送、ログ、バックアップのすべてが暗号化データのまま