Overview
Puede usar el controlador Ruby para cifrar campos específicos de un documento mediante un conjunto de funciones llamadas cifrado en uso. Este cifrado permite que su aplicación cifre datos antes de enviarlos a MongoDB y consulte documentos con campos cifrados.
Advertencia
Problema conocido de MongoDB 8.2
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 obtener más información sobre este problema y cómo resolverlo, consulte Problemas conocidos en las 8.2 notas de la versión de MongoDB.
El cifrado en uso impide que usuarios no autorizados vean datos de texto plano mientras se envían a MongoDB o mientras se encuentran en una base de datos cifrada. Para habilitar el cifrado 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 con acceso a sus claves de cifrado pueden acceder a los datos de texto plano descifrados. Si un atacante accede a la base de datos, solo podrá ver los datos cifrados, ya que no tiene acceso a las claves de cifrado.
Puedes utilizar el encriptación en uso para cifrar campos en tus documentos de MongoDB que contienen 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 características para habilitar el cifrado en uso:
Queryable Encryption
El cifrado consultable es la función de cifrado en uso de próxima generación, introducida inicialmente como versión preliminar en MongoDB Server 6.0 y como función de disponibilidad general (GA) en MongoDB 7.0. El cifrado consultable permite buscar la igualdad en los campos cifrados y cifra cada valor de forma única.
Importante
Función de vista previa incompatible con MongoDB 7.0
La implementación del cifrado consultable en MongoDB 6.0 es incompatible con la versión GA introducida en MongoDB 7.0. La función de vista previa del cifrado consultable ya no es compatible.
Para obtener más información sobre el cifrado consultable, consulte Cifrado consultable en el manual del servidor MongoDB.
Cifrado a nivel de campo del lado del cliente
El cifrado a nivel de campo del lado del cliente (CSFLE) permite la búsqueda de igualdad en campos cifrados. CSFLE se diferencia del cifrado consultable en que permite seleccionar un algoritmo de cifrado determinista o aleatorio para cifrar los campos. Al usar CSFLE, solo se pueden consultar campos cifrados que utilicen un algoritmo de cifrado determinista. Al usar un algoritmo de cifrado aleatorio para cifrar campos en CSFLE, estos se pueden descifrar, pero no se pueden realizar consultas de igualdad en esos campos. Al usar el cifrado consultable, no se puede especificar el algoritmo de cifrado, pero se pueden consultar todos los campos cifrados.
Al cifrar un valor de forma determinista, el mismo valor de entrada produce el mismo valor de salida. Si bien el cifrado determinista permite realizar consultas en esos campos cifrados, los datos cifrados con baja cardinalidad son susceptibles de ser descifrados mediante análisis de frecuencia.
Tip
Para obtener más información sobre estos conceptos, consulta las siguientes entradas de Wikipedia:
Para obtener más información sobre CSFLE, consulte CSFLE en el manual de MongoDB Server.