Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Encriptación en uso

Puede usar el driver de Kotlin para encriptar campos de documentos específicos utilizando un conjunto de funciones denominado encriptación en uso. El cifrado en uso permite que tu aplicación cifre los datos antes de enviarlos a MongoDB y consulte documentos con campos cifrados.

Advertencia

MongoDB 8.2 Problema conocido

La versión 8.2.0 de mongocryptd podría no ejecutarse en Windows. Este error afecta el encriptación en uso con el driver si se especifica el argumento --logpath NUL al iniciar mongocryptd.

Para obtener más información sobre este problema y cómo resolverlo, consulta Problemas conocidos en el MongoDB 8.2 notas de versión.

El controlador Kotlin utiliza la biblioteca de cifrado mongodb-crypt para el cifrado en uso. Esta versión del controlador es compatible con mongodb-crypt v...5120

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, consulte el paso Agregar la factura de materiales del driver de la guía de inicio rápido.

Selecciona entre las siguientes pestañas Maven y Gradle para ver cómo agregar la dependencia mongodb-crypt a tu 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 sensible o identificable personalmente (PII)

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

El cifrado consultable (QE) es una función de cifrado en uso que permite consultar valores de campos cifrados de forma única, incluyendo consultas de igualdad, rango, prefijo, sufijo y subcadena. La compatibilidad con consultas de rango requiere MongoDB Server 8.0 o posterior. La compatibilidad con consultas de prefijo, sufijo y subcadena requiere MongoDB Server 9.0 o posterior.

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

El cifrado de campo del lado del cliente (CSFLE) permite buscar igualdades en campos cifrados. La versión 4.2 del servidor MongoDB introdujo CSFLE.

A diferencia de QE, CSFLE requiere que seleccione un algoritmo de cifrado para cada campo, y esta elección determina si puede consultar dicho campo. El cifrado determinista siempre produce el mismo valor de salida para el mismo valor de entrada. Dado que los valores coincidentes se ven iguales después del cifrado, puede realizar consultas de igualdad en estos campos. El cifrado aleatorio produce un valor de salida diferente cada vez que cifra el mismo valor de entrada. Los controladores pueden descifrar estos campos, pero no puede consultarlos.

El cifrado determinista sacrifica cierta confidencialidad a cambio de compatibilidad con consultas. Cuando un campo cifrado tiene baja cardinalidad, un atacante puede comparar la frecuencia con la que aparece cada valor cifrado e inferir los valores originales. Esta técnica se denomina análisis de frecuencia. Para proteger los campos que no se consultan, utilice cifrado aleatorio.

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.