Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Encriptación en uso

Puede usar el controlador Java Reactive Streams para cifrar campos específicos de un documento mediante un conjunto de funciones denominadas cifrado en uso. Este cifrado permite que su aplicación cifre datos antes de enviarlos a MongoDB y consulte documentos con campos cifrados.

Advertencia

MongoDB 8.2 Problema conocido

Versión 8.2.0 de mongocryptd Es posible que no se ejecute en Windows. Este error afecta al cifrado en uso con el controlador si se especifica el argumento --logpath NUL al iniciar mongocryptd.

Para aprender más sobre este problema y cómo resolverlo, consulte Problemas conocidos en MongoDB 8.2 notas de versión.

El driver de flujos reactivos de Java utiliza la librería de cifrado mongodb-crypt para el cifrado en uso. Esta versión del driver es compatible con mongodb-crypt v5.6.4.

Tip

Lista de Materiales

Recomendamos agregar el programa de materiales del driver JVM (BOM) a tu aplicación para gestionar las versiones de los artefactos del driver. Esto remueve la necesidad de especificar una versión para cualquier paquete individual cubierto por el BOM, lo que simplifica la gestión de dependencias. Para obtener más información, consulta el Agregue el paso de la Lista de materiales del controlador de la guía de descarga e instalación.

Seleccione de lo siguiente Maven y Gradle pestañas para ver cómo añadir la dependencia mongodb-crypt a su proyecto utilizando el gestor especificado:

<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-crypt</artifactId>
</dependency>
</dependencies>
dependencies {
implementation 'org.mongodb:mongodb-crypt'
}

El cifrado en uso impide que los usuarios no autorizados vean datos de texto sin formato mientras se envían a MongoDB o mientras están en una base de datos cifrada. Para habilitar la encriptación en uso en una aplicación y autorizarla a descifrar datos, debe crear claves de cifrado a las que solo su aplicación pueda acceder. Solo las aplicaciones que tienen acceso a tus claves de cifrado pueden acceder a los datos en texto plano descifrados. Si un atacante obtiene acceso a la base de datos, solo puede ver los datos cifrados, ya que no tiene acceso a las claves de cifrado.

Puede que uses cifrado en uso para cifrar los campos de tus documentos de MongoDB que contengan los siguientes tipos de datos sensibles:

  • Números de tarjetas de crédito

  • Direcciones

  • Información de salud

  • Información financiera

  • Cualquier otra información confidencial o de identificación personal (PII)

MongoDB ofrece las siguientes funcionalidades para habilitar el cifrado en uso:

Queryable Encryption es la funcionalidad de cifrado de última generación en uso, que se introdujo por primera vez como funcionalidad en vista previa en MongoDB Server versión 6.0 y como funcionalidad generalmente disponible (GA) en MongoDB 7.0. La Queryable Encryption permite buscar la igualdad de los campos cifrados y cifra cada valor de manera única.

Importante

La funcionalidad de vista previa no es compatible con MongoDB 7.0

La implementación de Queryable Encryption en MongoDB 6.0 es incompatible con la versión GA introducida en MongoDB 7.0. La funcionalidad de vista previa de Queryable Encryption ya no es compatible.

Para conocer más sobre Queryable Encryption, consulte Queryable Encryption en el manual del servidor.

El cifrado a nivel de campo del lado del cliente (CSFLE) se introdujo en la versión 4.2 de MongoDB Server y permite buscar la igualdad en campos cifrados. CSFLE difiere de Queryable Encryption en que puedes seleccionar, ya sea un algoritmo de cifrado determinista o aleatorio para cifrar campos. Cuando utilices CSFLE, solo podrás query campos cifrados que utilicen un algoritmo de cifrado determinista. Cuando utiliza un algoritmo de cifrado aleatorio para cifrar campos en CSFLE, pueden ser descifrados, pero no se pueden realizar consultas de igualdad en esos campos. Cuando utilices Queryable Encryption, no podrás especificar el algoritmo de cifrado, pero sí podrás consultar todos los campos cifrados.

Cuando cifras un valor de manera determinista, el mismo valor de entrada produce el mismo valor de salida. Si bien el cifrado determinista te permite realizar consultas en esos campos cifrados, los datos cifrados con baja cardinalidad son susceptibles a la ruptura de códigos mediante el análisis de frecuencia.

Tip

Para obtener más información sobre estos conceptos, consulta las siguientes entradas de Wikipedia:

Para saber más sobre CSFLE, consulte CSFLE en el manual del servidor.

Volver

autenticación de empresa

En esta página