@@ -15,7 +15,8 @@ Features
15
15
Overview
16
16
--------
17
17
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
19
20
security mechanisms supported by MongoDB. You can also view a
20
21
fictional scenario that demonstrates the value of
21
22
{+qe+} in securing your data.
@@ -27,14 +28,60 @@ fictional scenario that demonstrates the value of
27
28
28
29
{+qe+} is a feature of MongoDB that enables a client application to
29
30
encrypt data before transporting it over the network using fully
30
- randomized encryption, while maintaining equality queryability.
31
+ randomized encryption, while maintaining queryability.
31
32
Sensitive data is transparently encrypted and decrypted by the client
32
33
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
33
36
34
37
Unlike :ref:`Client-Side Field Level Encryption <manual-csfle-feature>`
35
38
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.
38
85
39
86
{+qe+} functions with the help of the following data structures. It is critical
40
87
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.
141
188
To learn more, see
142
189
:manual:`Transport Encryption using TLS/SSL </core/security-transport-encryption/>`
143
190
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
+
144
206
.. important:: Use the Mechanisms Together
145
207
146
208
To secure a production deployment, use all the security mechanisms
0 commit comments