Skip to content

Commit 267915b

Browse files
authored
DOCSP-23293 QE Product Description Feedback Updates - Part 2 (#1309)
* DOCSP-23293 Feedback updates * CR1 Feedback * add section to features page * numbered list fix * fix * edit * TR1 Feedback * header correction
1 parent 01d1aa2 commit 267915b

File tree

5 files changed

+88
-6
lines changed

5 files changed

+88
-6
lines changed

source/core/queryable-encryption/features.txt

Lines changed: 66 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ Features
1515
Overview
1616
--------
1717

18-
On this page, you can learn about the security benefits of {+qe+}, and how {+qe+} compares to other
18+
On this page, you can learn about the security benefits of {+qe+},
19+
how {+qe+} works and {+qe+} compares to other
1920
security mechanisms supported by MongoDB. You can also view a
2021
fictional scenario that demonstrates the value of
2122
{+qe+} in securing your data.
@@ -27,14 +28,60 @@ fictional scenario that demonstrates the value of
2728

2829
{+qe+} is a feature of MongoDB that enables a client application to
2930
encrypt data before transporting it over the network using fully
30-
randomized encryption, while maintaining equality queryability.
31+
randomized encryption, while maintaining queryability.
3132
Sensitive data is transparently encrypted and decrypted by the client
3233
and only communicated to and from the server in encrypted form.
34+
The security guarantees for sensitive fields containing both low
35+
cardinality (low-frequency) data and high cardinality data are identical
3336

3437
Unlike :ref:`Client-Side Field Level Encryption <manual-csfle-feature>`
3538
that can use :ref:`Deterministic Encryption <csfle-deterministic-encryption>`,
36-
{+qe+} uses fast, searchable encryption schemes that always encrypt a
37-
given input value to a different encrypted output value.
39+
{+qe+} uses fast, searchable encryption schemes based on
40+
`Structured Encryption
41+
<https://dl.acm.org/doi/abs/10.1007/978-3-030-77883-5_13>`__
42+
that always encrypts a given cleartext input value to a different
43+
encrypted output value.
44+
45+
How {+qe+} Works
46+
------------------------------
47+
48+
The diagram below shows the process and architecture of how {+qe+} is
49+
used in a customer environment.
50+
51+
.. image:: /images/QE-how-it-works.png
52+
:alt: How Queryable Encryption works
53+
54+
In this diagram, the user is able to query on fully randomly encrypted
55+
data such as SSN number.
56+
57+
The process and mechanisms that makes this possible within the
58+
{+qe+} framework are as follows:
59+
60+
1. When the application submits the query, MongoDB drivers first analyze
61+
the query.
62+
63+
2. The driver recognizes the query is against an encrypted field and
64+
requests the encryption keys from the customer-provisioned key
65+
provider such as:
66+
67+
- AWS Key Management Service (AWS KMS)
68+
- Google Cloud KMS
69+
- Azure Key Vault
70+
- Any KMIP-enabled provider
71+
72+
3. The driver submits the query to the MongoDB server with the encrypted
73+
fields rendered as ciphertext.
74+
75+
4. Queryable Encryption implements a fast, searchable scheme that allows
76+
the server to process queries on fully encrypted data, without knowing
77+
anything about the data. The data and the query itself remain encrypted
78+
at all times on the server.
79+
80+
5. The MongoDB server returns the encrypted results of the query to the
81+
driver.
82+
83+
6. The query results are decrypted with the keys held by the driver and
84+
returned to the client and shown as plaintext.
3885

3986
{+qe+} functions with the help of the following data structures. It is critical
4087
that these are not modified or deleted, or query results will be incorrect.
@@ -141,6 +188,21 @@ cannot protect your data from a privileged user or as it sits on disk.
141188
To learn more, see
142189
:manual:`Transport Encryption using TLS/SSL </core/security-transport-encryption/>`
143190

191+
.. important:: Use the Mechanisms Together
192+
193+
To secure a production deployment, use all the security mechanisms
194+
discussed in this guide together. The mechanisms are not mutually
195+
exclusive.
196+
197+
Comparison of Features
198+
----------------------
199+
200+
The following diagram describes security features MongoDB supports and
201+
the potential security vulnerabilities that they address:
202+
203+
.. image:: /images/QE_Security_Feature_Chart.png
204+
:alt: Diagram that describes MongoDB security features and the potential vulnerabilities that they address
205+
144206
.. important:: Use the Mechanisms Together
145207

146208
To secure a production deployment, use all the security mechanisms

source/core/queryable-encryption/fundamentals/encrypt-and-query.txt

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,8 +243,26 @@ Query Types
243243
{+qe+} allows you to specify on which fields you want to enable querying by passing
244244
a query type to the ``queries`` option in your encrypted fields object.
245245

246-
{+qe+} supports the ``equality`` query type. The ``equality`` query type allows
247-
you to query encrypted fields using the following expressions:
246+
{+qe+} currently supports ``none`` or ``equality`` query types.
247+
The new cryptography framework introduced as part of {+qe+}
248+
in MongoDB 6.0 is designed to accommodate additional
249+
expressive encrypted searches, such as range and string operators.
250+
251+
A query type of ``none`` indicates that the data will be encrypted but
252+
is not intended to be queryable. Queries cannot be run on encrypted
253+
data with a query type of ``none``. Encrypted data will be returned
254+
if queries are run on:
255+
256+
- non-encrypted fields
257+
- fields with a query type of ``equality`` in the same collection
258+
and decrypted at the client.
259+
260+
.. important:: None Specified Query Types
261+
262+
.. include:: /includes/fact-qe-no-query-type.rst
263+
264+
The ``equality`` query type allows you to query encrypted fields
265+
using the following expressions:
248266

249267
- :manual:`$eq </reference/operator/query/eq/>`
250268
- :manual:`$ne </reference/operator/query/ne/>`

source/images/QE-how-it-works.png

734 KB
Loading
81 KB
Loading
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
If query type is not explicitly specified, the query type will
2+
default to ``none`` and the data will not be queryable.

0 commit comments

Comments
 (0)