@@ -15,11 +15,10 @@ Features
15
15
Overview
16
16
--------
17
17
18
- On this page, you can learn about the security benefits of {+qe+},
19
- how {+qe+} works and {+qe+} compares to other
20
- security mechanisms supported by MongoDB. You can also view a
21
- fictional scenario that demonstrates the value of
22
- {+qe+} in securing your data.
18
+ On this page, you can learn about the security benefits of {+qe+},
19
+ how it works, and how it compares to other security mechanisms supported
20
+ by MongoDB. You can also view a fictional scenario that demonstrates the
21
+ value of {+qe+} in securing your data.
23
22
24
23
.. _qe-features-csfle:
25
24
@@ -31,56 +30,54 @@ encrypt data before transporting it over the network using fully
31
30
randomized encryption, while maintaining queryability.
32
31
Sensitive data is transparently encrypted and decrypted by the client
33
32
and only communicated to and from the server in encrypted form.
34
- The security guarantees for sensitive fields containing both low
33
+ The security guarantees for sensitive fields containing both low
35
34
cardinality (low-frequency) data and high cardinality data are identical
36
35
37
36
Unlike :ref:`Client-Side Field Level Encryption <manual-csfle-feature>`
38
37
that can use :ref:`Deterministic Encryption <csfle-deterministic-encryption>`,
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.
38
+ {+qe+} uses fast, searchable encryption schemes based on `Structured Encryption <https://dl.acm.org/doi/abs/10.1007/978-3-030-77883-5_13>`__.
39
+ These schemes produce different encrypted output values even when given
40
+ the same cleartext input.
44
41
45
42
How {+qe+} Works
46
43
------------------------------
47
44
48
- The diagram below shows the process and architecture of how {+qe+} is
45
+ The diagram below shows the process and architecture of how {+qe+} is
49
46
used in a customer environment.
50
47
51
48
.. image:: /images/QE-how-it-works.png
52
49
:alt: How Queryable Encryption works
53
50
54
- In this diagram, the user is able to query on fully randomly encrypted
51
+ In this diagram, the user is able to query on fully randomly encrypted
55
52
data such as SSN number.
56
53
57
54
The process and mechanisms that makes this possible within the
58
55
{+qe+} framework are as follows:
59
56
60
- 1. When the application submits the query, MongoDB drivers first analyze
57
+ 1. When the application submits the query, MongoDB drivers first analyze
61
58
the query.
62
59
63
- 2. The driver recognizes the query is against an encrypted field and
64
- requests the encryption keys from the customer-provisioned key
60
+ 2. The driver recognizes the query is against an encrypted field and
61
+ requests the encryption keys from the customer-provisioned key
65
62
provider such as:
66
63
67
- - AWS Key Management Service (AWS KMS)
64
+ - AWS Key Management Service (AWS KMS)
68
65
- Google Cloud KMS
69
66
- Azure Key Vault
70
67
- Any {+kmip-kms+}
71
68
72
- 3. The driver submits the query to the MongoDB server with the encrypted
69
+ 3. The driver submits the query to the MongoDB server with the encrypted
73
70
fields rendered as ciphertext.
74
71
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
72
+ 4. Queryable Encryption implements a fast, searchable scheme that allows
73
+ the server to process queries on fully encrypted data, without knowing
74
+ anything about the data. The data and the query itself remain encrypted
78
75
at all times on the server.
79
76
80
- 5. The MongoDB server returns the encrypted results of the query to the
77
+ 5. The MongoDB server returns the encrypted results of the query to the
81
78
driver.
82
79
83
- 6. The query results are decrypted with the keys held by the driver and
80
+ 6. The query results are decrypted with the keys held by the driver and
84
81
returned to the client and shown as plaintext.
85
82
86
83
{+qe+} functions with the help of the following data structures. It is critical
@@ -191,17 +188,21 @@ To learn more, see
191
188
Comparison of Features
192
189
----------------------
193
190
194
- The following diagram describes security features MongoDB supports and
191
+ The following diagram describes security features MongoDB supports and
195
192
the potential security vulnerabilities that they address:
196
193
197
194
.. image:: /images/QE_Security_Feature_Chart.png
198
195
:alt: Diagram that describes MongoDB security features and the potential vulnerabilities that they address
199
196
200
197
.. important:: Use the Mechanisms Together
201
198
202
- To secure a production deployment, use all the security mechanisms
203
- discussed in this guide together. The mechanisms are not mutually
204
- exclusive.
199
+ To secure a production deployment, use Role-Based Access
200
+ Control, Encryption at Rest, Transport Encryption, and optionally, the
201
+ In-Use Encryption security mechanisms together. Please note that you cannot
202
+ use both {+csfle+} and {+qe+} to encrypt different fields in the same
203
+ collection.
204
+
205
+ To learn more about {+csfle+}, see :ref:`{+csfle+} Features <csfle-features>`.
205
206
206
207
Scenario
207
208
--------
0 commit comments