Skip to content

Commit b6e4a14

Browse files
author
Chris Cho
authored
DOCSP-31167: Amend admonitions about using security mechanisms together (#3523) (#4147)
* DOCSP-31167: Amend admonitions about using security mechanisms together (cherry picked from commit 9b44f7c)
1 parent 9214414 commit b6e4a14

File tree

2 files changed

+38
-32
lines changed

2 files changed

+38
-32
lines changed

source/core/csfle/features.txt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ MongoDB and explains their use cases and limitations:
7373
Role-Based Access Control
7474
~~~~~~~~~~~~~~~~~~~~~~~~~
7575

76-
Role-Based Access Control is a security mechanism that
76+
Role-Based Access Control is a security mechanism that
7777
allows administrators to grant and restrict collection-level permissions
7878
for users. With the appropriate role definition and assignment, this
7979
solution prevents accidental disclosure of data and access.
@@ -129,9 +129,14 @@ and the potential security vulnerabilities that they address:
129129

130130
.. important:: Use the Mechanisms Together
131131

132-
To secure a production deployment, use all the security mechanisms
133-
discussed in this guide together. The mechanisms are not mutually
134-
exclusive.
132+
To secure a production deployment, use Role-Based Access
133+
Control, Encryption at Rest, Transport Encryption, and optionally, the
134+
In-Use Encryption security mechanisms together. Please note that you cannot
135+
use both {+csfle-abbrev+} and {+qe+} to encrypt different fields in the same
136+
collection.
137+
138+
To learn more about {+qe+}, see :ref:`{+qe+} Features <qe-features>`.
139+
135140

136141
Scenario
137142
--------
@@ -185,7 +190,7 @@ Solution
185190
~~~~~~~~
186191

187192
MedcoMD uses the following security mechanisms to satisfy their use cases
188-
and protect against the disclosure of sensitive medical data:
193+
and protect against the disclosure of sensitive medical data:
189194

190195
- :ref:`Transport Encryption (TLS/SSL) <csfle-features-transport-encryption>`
191196
to secure data as it travels over the network.

source/core/queryable-encryption/features.txt

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ Features
1515
Overview
1616
--------
1717

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.
2322

2423
.. _qe-features-csfle:
2524

@@ -31,56 +30,54 @@ encrypt data before transporting it over the network using fully
3130
randomized encryption, while maintaining queryability.
3231
Sensitive data is transparently encrypted and decrypted by the client
3332
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
3534
cardinality (low-frequency) data and high cardinality data are identical
3635

3736
Unlike :ref:`Client-Side Field Level Encryption <manual-csfle-feature>`
3837
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.
4441

4542
How {+qe+} Works
4643
------------------------------
4744

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
4946
used in a customer environment.
5047

5148
.. image:: /images/QE-how-it-works.png
5249
:alt: How Queryable Encryption works
5350

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
5552
data such as SSN number.
5653

5754
The process and mechanisms that makes this possible within the
5855
{+qe+} framework are as follows:
5956

60-
1. When the application submits the query, MongoDB drivers first analyze
57+
1. When the application submits the query, MongoDB drivers first analyze
6158
the query.
6259

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
6562
provider such as:
6663

67-
- AWS Key Management Service (AWS KMS)
64+
- AWS Key Management Service (AWS KMS)
6865
- Google Cloud KMS
6966
- Azure Key Vault
7067
- Any {+kmip-kms+}
7168

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
7370
fields rendered as ciphertext.
7471

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
7875
at all times on the server.
7976

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
8178
driver.
8279

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
8481
returned to the client and shown as plaintext.
8582

8683
{+qe+} functions with the help of the following data structures. It is critical
@@ -191,17 +188,21 @@ To learn more, see
191188
Comparison of Features
192189
----------------------
193190

194-
The following diagram describes security features MongoDB supports and
191+
The following diagram describes security features MongoDB supports and
195192
the potential security vulnerabilities that they address:
196193

197194
.. image:: /images/QE_Security_Feature_Chart.png
198195
:alt: Diagram that describes MongoDB security features and the potential vulnerabilities that they address
199196

200197
.. important:: Use the Mechanisms Together
201198

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>`.
205206

206207
Scenario
207208
--------

0 commit comments

Comments
 (0)