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

Acelera la adopción de PCI DSS con MongoDB Atlas

caso de uso: Pagos

Industrias: servicios financieros, Seguridad y cumplimiento

Productos: MongoDB Atlas, Queryable Encryption, Cifrado en reposo mediante la gestión de claves del cliente, Nodos privados, Auditoría de bases de datos, Certificación PCI DSS

Emparejar: Amazon Web Services

PCI DSS constituye el estándar de referencia para proteger los datos de las cuentas de pago. Establece una base de prácticas técnicas y operativas para sistemas que almacenan, procesan o transmiten CHD. Proporciona al equipo un punto de referencia común sobre cómo deben protegerse y controlarse los sistemas de pago.

Proteger los datos de pago suele implicar cifrado. Con un enfoque convencional, una vez que un campo está cifrado, ya no se puede buscar por su valor. Para una plataforma de pagos, esta limitación representa un problema práctico, porque la investigación de fraudes depende de la búsqueda en campos confidenciales, como el correo electrónico, el teléfono o la referencia de cuenta de un cliente. Sin una forma de buscar datos cifrados, la investigación obliga a una elección incómoda: o bien descifrar datos de forma masiva, lo que amplía la exposición, o trabajar más lentamente y sin conexión. Este dilema conduce a la cuestión de diseño de la solución:

¿Cómo puede una plataforma de pagos mantener los datos cifrados en reposo y aún así permitir que los analistas de fraude los busquen por valor?

PCI DSS eleva el nivel de protección de los datos de pago. Sus últimas versiones, v4.0 y v4.0.1, dar más importancia al cumplimiento continuo, a auditar en un punto temporal y considerar la reducción del alcance para reducir el esfuerzo de evaluación de los proveedores de servicios.

Según PCI DSS, el cumplimiento sigue un modelo de responsabilidad compartida: MongoDB Atlas garantiza la seguridad operativa de la plataforma host, mientras que los clientes controlan la configuración de su implementación y las políticas de datos.

Dicho claramente, el uso de MongoDB no hace que una solución sea compatible con PCI DSS por sí solo. El cumplimiento se evalúa frente a un entorno específico, que abarca el producto, sus procesos y la organización. MongoDB Atlas ofrece una infraestructura certificada además de funcionalidad de la capa de datos que reducen la cantidad de trabajo para lograr el cumplimiento y disminuyen el alcance de la auditoría. El valor aquí es la aceleración y la reducción del alcance, no una garantía de cumplimiento.

El Consejo de Estándares de Seguridad de PCI mantiene PCI DSS y organiza un conjunto de requisitos agrupados bajo objetivos de control:

Objetivo
Requisitos

Compilar y mantener una red segura

  1. Controles de seguridad de la red

  2. Configuraciones seguras

Proteger los datos de la cuenta

  1. Proteger datos de cuenta almacenados

  2. Cifrar datos en tránsito

Mantener un programa de gestión de vulnerabilidades

  1. Anti-malware

  2. Software y sistemas seguros

Implementar un control de acceso sólido

  1. Restringir el acceso según la necesidad de conocer

  2. Identificar y autenticar usuarios

  3. Restringir el acceso físico

Supervise y pruebe las redes regularmente

  1. Registro y supervisión de todo el acceso

  2. Probar la seguridad regularmente

Mantén una política de seguridad de la información

  1. Política de seguridad organizativa

Bajo el modelo de responsabilidad compartida, estos requisitos son una división en estas capas:

  • Capa de infraestructura (responsabilidad del proveedor): Comprende seguridad física, controles de red, aplicación de parches en la plataforma y cifrado en reposo del almacenamiento subyacente. MongoDB nube es un proveedor de servicios certificado por PCI DSS, validado por un QSA, Coalfire Systems. Para el entorno CHD en MongoDB Cloud, un QSA puede confiar en el AOC de MongoDB Cloud, disponible bajo solicitud a través del Centro de Confianza de MongoDB. Esta capa prevalidada elimina la necesidad de que los clientes vuelvan a auditar la infraestructura subyacente.

  • Capa de aplicación (responsabilidad del cliente): Comprende cómo el producto almacenar, protege, query, enmascara y auditar CHD, y quién está autorizado a leer la información. Esta capa sigue siendo una decisión de diseño del cliente.

Modelo de responsabilidad compartida en capas de PCI DSS

Figura 1. Modelo de responsabilidad compartida en capas de PCI DSS

haga clic para ampliar

El Proyecto PSP llena la capa de aplicación. Comprende una arquitectura de referencia y un conjunto de mejores prácticas. Muestra cómo usar MongoDB para alinear la capa de aplicación con los objetivos de control de PCI DSS para proteger los datos almacenados, restringir el acceso, su supervisión y reducir el alcance al auditar. Este proyecto constituye un punto de partida para acelerar la adopción de PCI DSS.

El Proyecto PSP es una plataforma PSP alineada con PCI DSS. Ejecuta el ciclo de vida de los pagos en MongoDB Atlas: pago con tarjeta y autorización, puntuación de fraude automatizada e investigación de analistas de varios niveles. Muestra cómo los analistas pueden buscar datos cifrados con una filosofía de diseño clara:

Cifre todo. Query cualquier cosa. Las claves son suyas.

Con la capa de infraestructura heredada de Atlas (consulte la Figura 1), el trabajo restante se realiza en la capa de aplicación. Atlas ofrece diversas funcionalidades para respaldar este trabajo, siendo Queryable Encryption la principal. El conjunto completo de funcionalidades se enumera en la sección de capacidad de MongoDB.

Con un enfoque convencional, un campo se mantiene en texto sin formato para que se pueda buscar (legible por cualquier persona con acceso a la base de datos), o se cifra para que esté protegido (pero ya no se puede buscar). Queryable Encryption elimina esa disyuntiva para los tipos de query que admite.

Arquitectura de cifrado de MongoDB: Queryable Encryption, gestión de llaves de cifrado y capas de protección de datos

Figura 2. Arquitectura de cifrado de MongoDB: Queryable Encryption, gestión de claves y capas de protección de datos

haga clic para ampliar

Para un campo que permite búsquedas de igualdad, el flujo es el siguiente:

  • El driver cifra el valor de búsqueda en el lado del cliente, utilizando el DEK del campo.

  • El servidor compara ese valor cifrado con un índice cifrado. Compara texto cifrado con texto cifrado y no descifra el campo.

  • Cuando los documentos coincidentes regresan al proceso de la aplicación, el driver descifra los campos de destino en memoria. MongoDB Atlas solo almacena y procesa texto cifrado, guardado como subtipo binario BSON 06; como resultado, un administrador de base de datos con acceso total al clúster solo ve bytes opacos.

El efecto concreto en el Proyecto PSP: un analista de fraudes busca un cliente por correo electrónico cifrado, teléfono o referencia de cuenta y recupera el registro, mientras que el valor de texto sin formato no llega a Atlas. Esta capacidad mantiene la PII confidencial cifrada en reposo y disponible por valor, sin el descifrado masivo que amplía el CDE.

Los campos que necesitan protección pero no búsqueda utilizan un modo no buscable, descifrado solo para una solicitud autorizada y escalada. La sección del modelo de datos cubre ambos modos y los campos que protegen.

El Proyecto PSP combina varias capacidades de MongoDB y Atlas. Cada una corresponde a una parte específica del trabajo de la capa de aplicación de PCI DSS:

Capacidad
Rol en el Proyecto
Objetivos de control de PCI DSS
Documentación de MongoDB

Queryable Encryption:igualdad

Busque PII cifrado (correo electrónico, teléfono, referencia de cuenta) por coincidencia exacta; el campo está cifrado en el lado del cliente, por lo que el servidor de base de datos solo almacena y procesa el texto cifrado para él y no recibe el texto sin cifrar.

Proteger los datos de la cuenta almacenados; restringir el acceso.

Queryable Encryption: no consultable, y cifrado a nivel de campo del lado del cliente

Cifre los campos de alta sensibilidad (dirección, ID del gobierno, carga útil de la puerta de enlace sin procesar) solo para recuperación, descifrado en el lado del cliente.

Proteger los datos de la cuenta almacenados; restringir el acceso.

Claves gestionadas por el cliente

Mantenga la llave maestra de cliente en el KMS propio del cliente; las llaves maestras permanecen allí y MongoDB no tiene acceso a ellas, mientras que las llaves de datos están cifradas bajo ellas.

Proteja los datos de la cuenta almacenados.

Librería compartida de cifrado automático: crypt_shared

Realice el cifrado y descifrado en el proceso del driver/aplicación, para que el texto sin cifrar de los campos cifrados no cruce la red hasta Atlas.

Proteja los datos de cuenta almacenados; cifre en tránsito.

RBAC y federación de identidades

Acceso granular basado en roles a nivel de base de datos y colección, con LDAC / Active Directory, OpenID Connect y federación de identidades de la fuerza laboral para la autenticación.

Restringir el acceso según la necesidad de conocer; identificar y autenticar a los usuarios.

Jerarquía de dos niveles de llaves de cifrado de datos

Aplicar la visibilidad de campo de mínimo privilegio criptográficamente, respaldado por roles de Atlas por nivel y usuarios de base de datos.

Restringir el acceso según la necesidad de conocer.

Redes privadas

Mantenga el tráfico de datos de los titulares de tarjetas en la red troncal del proveedor de nube a través de nodos privados, con la inclusión en listas blancas de IP, formando un límite de red definido alrededor del CDE.

Construya y mantenga una red segura.

Atlas Auditoría de base de datos

Registro el acceso a campos confidenciales como un registro de auditar y reenviar los registros de auditar a un sistema SIEM para revisión.

Registrar y supervisar todos los accesos.

Seguridad de la capa de transporte 1.3 en Conexiones de Atlas

Cifre los datos del titular de la tarjeta en cada salto de red.

Cifrar datos en tránsito.

Modelo orientado a documentos con esquema alineado con BIAN

Modelar los datos de tarjetas, transacciones y partes para que los datos del titular de la tarjeta puedan aislarse y minimizarse.

Admite la limitación del alcance y la minimización de datos.

Los principios fundamentales de esta solución, incluidos un límite de API estable, Queryable Encryption a nivel de campo y un modelo de DEK por nivel de acceso, se pueden aplicar a otros casos de uso:

  • Finanzas abiertas: Acceso a los datos basado en el consentimiento que restringe a un tercero a los campos que un cliente autorizó, como PSD2 y el derecho de los consumidores a los datos.

  • Salud: Información de salud protegida según la HIPAA.

  • Seguros y patrimonio: Plataformas que gestionan identificadores gubernamentales y datos de cuentas financieras bajo el GDPR.

El Proyecto PSP es la posición de pasarela de pago en la cadena estándar de pago con tarjeta:

  • Backend del comerciante

  • Pasarela de pago: Procesador, adquirente, red de tarjetas y emisor

Posee el almacenamiento con alcance PCI DSS, el cifrado y el control de acceso que rige quién puede leer qué campos de datos del titular de la tarjeta. No emula la red de tarjetas ni el procesador; por lo que la arquitectura se centra en la capa de seguridad de los datos.

Los actores posteriores, como el procesador, el adquirente, la red de tarjetas y el emisor de tarjetas, son subsistemas externos a los que se accede a través de proveedores. En la demostración, cada proveedor tiene un módulo con funcionalidad incorporada que mantiene el Proyecto autocontenido, pero pueden ser reemplazados por un subsistema externo real en producción. El emisor de la tarjeta es uno de esos proveedores: su módulo de funcionalidad incorporada almacena los datos de la tarjeta internamente para la demostración, mientras que en producción esos datos residirían en un emisor externo.

Arquitectura en capas de la plataforma PSP y componentes externos

Figura 3. Arquitectura por capas de la plataforma PSP y componentes externos

haga clic para ampliar

La arquitectura utiliza los siguientes componentes:

  • Tablero de PSP (Interfaz de usuario): La capa de presentación. No se comunica con la base de datos directamente. Al pagar, tokeniza el PAN para que el PAN completo no sea transmitido ni almacenado por el núcleo del PSP.

  • PSP API gateway (backend): El único punto de entrada y el único componente que puede descifrar campos protegidos. Contiene el cliente de Queryable Encryption, resuelve el rol del emisor y selecciona el nivel de clave correcto por solicitud. Todas las entidades que llaman, incluyendo la interfaz de usuario, las cuentas de servicio y las integraciones, pasan por la misma API y están sujetas a las mismas reglas de RBAC y de clave.

  • MongoDB Atlas (M10 o superior) con Queryable Encryption: almacena solo texto cifrado (subtipo binario 06) para cada campo protegido. Un administrador de base de datos con acceso total al clúster ve bytes opacos. TLS 1.3 protege todos los datos en tránsito. El Proyecto PSP se basa en la búsqueda por igualdad, que es compatible en producción.

  • AWS KMS: Contiene la llave maestra de cliente que cifra y descifra las llaves de cifrado de datos. La llave maestra de cliente permanece en KMS, y MongoDB no tiene acceso a ella. Un proveedor de claves local está disponible como alternativa sin conexión para demostraciones.

Nota

El soporte de Queryable Encryption para query de prefijo, sufijo y subcadena está en vista previa pública y requiere MongoDB 8.2 o posterior. Asegúrese de usar MongoDB 8.2 o posterior tanto en el clúster de Atlas como en la librería crypt_shared. Las query de igualdad y de rango no necesitan 8.2.

El modelo de datos del Proyecto PSP sigue las convenciones de nomenclatura de dominios de servicio de BIAN, por lo que cada colección y campo se asigna a un dominio de servicio definido en el estándar BIAN. Además de BIAN, MongoDB Queryable Encryption define la postura de seguridad a nivel de campo.

MongoDB Queryable Encryption mantiene un campo cifrado en el lado del cliente y permite que el servidor consulte el texto cifrado. El Proyecto PSP utiliza estos tipos de query:

  • Igualdad (producción): El modo de búsqueda para las claves de búsqueda con alcance PCI DSS. El driver cifra el valor de query y lo compara con un índice cifrado, por lo que el servidor no descifra el campo. Esta funcionalidad permite a un analista de fraude encontrar un registro por correo electrónico, teléfono o referencia de cuenta sin exponer texto sin cifrar.

  • Sin query (solo recuperación): La modalidad sin capacidad de búsqueda para los campos de mayor sensibilidad, incluida la dirección residencial, el identificador del gobierno y las cargas útiles sin procesar de la puerta de enlace. Un cliente autorizado descifra estos campos justo a tiempo únicamente.

  • Rango (producción): Se utiliza para búsquedas de bandas de valores, como el filtro por un rango de cantidades. Mantiene la cantidad cifrada.

  • Prefijo, sufijo y subcadena (vista previa pública): Demostrado para búsquedas de coincidencia parcial de estilo KYC en campos de identidad cifrados.

Para los campos de tarjeta y PII con alcance PCI DSS siguientes, el diseño de acceso se reduce a las siguientes categorías:

Campo
Clasificación
Modo de cifrado
Buscable

cardTransactionAccountReference

Referencia de cuenta / Información de identificación personal

QE:equality

Sí

customerAgreementReference

Referencia de cuenta

QE:equality

Sí

partyEmailAddress

PII

QE:equality

Sí

partyMobilePhoneNumber

PII

QE:equality

Sí

paymentCardExpirationDate

CHD

QE:none

No

customerAgreementResidentialAddress

Alto PII

QE:none

No

governmentIdentificationReference

Alto PII

QE:none

No

rawGatewayPayload, processorTransactionMetadata

Operacional sensible

QE:none

No

paymentCardReference

Token de red

Texto sin formato

Sí

paymentCardMaskedPanDisplay

Solo mostrar

Texto sin formato

No

PAN completo (paymentCardNumber)

CHD

No almacenado por el núcleo de PSP

No aplicable para el núcleo de PSP.

CVV y PIN

Datos sensibles de autenticación

Nunca se almacena

N/A

Las opciones de diseño que mantienen los datos del titular de la tarjeta fuera del alcance siempre que sea posible incluyen:

  • Tokenización de PAN: La aplicación reemplaza el PAN completo con un token sustituto tok_<uuid> y conserva solo los últimos cuatro dígitos para fines de visualización.

  • Captura cero de SAD: Los puntos de conexión nunca capturan SAD como CVV o PIN.

Una práctica común de PCI DSS mantiene los datos de los titulares de tarjetas fuera de los sistemas que no los necesitan, de modo que la mayor parte de la plataforma queda fuera del CDE. Estas técnicas aplican la segmentación, que aísla el CDE del resto del sistema, y la tokenización, que reemplaza el número de cuenta principal con un token sustituto almacenado en una bóveda de tokenización dedicada. La segmentación no es un requisito de PCI DSS, pero saca los sistemas del alcance y reduce el costo de la evaluación; cuando se utiliza, debe documentarse, justificarse y validarse.

El Proyecto PSP aplica estas técnicas en la capa de datos:

  • El PAN completo nunca reside en el núcleo del PSP: El núcleo solo almacena el token sustituto, el BIN y los últimos cuatro dígitos. La mayor parte de la plataforma no contiene datos de titulares de tarjetas y queda fuera del alcance. El PAN completo pertenece al subsistema emisor de tarjetas, que es externo en producción. En la demostración, una funcionalidad incorporada de módulo emisor reemplazable actúa como sustituto y almacena el PAN en su propia bóveda aislada, cifrado con QE:equality. Este campo se puede hacer coincidir para una búsqueda exacta y la detección de duplicados sin descifrarlo.

  • La PII está centralizada: Los campos de identidad, como el correo electrónico o el teléfono, residen en una única colección de partes BIAN SD-13 a la que hacen referencia el acuerdo, la tarjeta y los registros de transacciones. Un único lugar para proteger y procesar una solicitud de borrado de datos del interesado.

  • Los campos confidenciales se encuentran detrás de un nivel de clave independiente: QE:none campos utilizan un nivel de llave de cifrado de datos diferente al de los campos QE:equality que admiten búsquedas, por lo que el límite entre los datos sensibles y los no sensibles se aplica mediante las llaves.

Este es un patrón de referencia, no una certificación. La definición de CDE y su validación siguen siendo responsabilidad del cliente y el evaluador debe confirmarlas.

Volver a separar el DEK de los niveles de cifrado:

  • Nivel de búsqueda: QE:equality Las claves están disponibles para todos los roles de analista autenticados para la búsqueda.

  • Nivel confidencial: QE:none Las claves están disponibles únicamente para un investigador de nivel 2 que posea un token de escalada válido y de corta duración, y para un auditor de seguridad de solo lectura.

  • El núcleo del diseño: El mapa de campos cifrados de un cliente de nivel 1 omite las claves confidenciales, por lo que el driver no puede descifrar esos campos y los devuelve como texto cifrado. El control de acceso a nivel de campo aquí es criptográfico en lugar de una proyección en el código de la aplicación, lo que reduce el riesgo de una fuga accidental a través de un error de query. Cuando un analista escala un caso y un investigador de nivel 2 lo aprueba, el investigador recibe un token de escalada que activa el grupo de clientes de nivel confidencial para esa solicitud.

Esta sección es una guía de implementación para equipos que desean ejecutar y evaluar la solución. Cubre las opciones de configuración que importan para una implementación exitosa, cómo ejecutar la pila localmente y cómo implementarlo para producción. Utilice este repositorio de GitHub para implementar esta solución.

1

Verifique que su Proyecto cumpla con los siguientes requisitos:

  • Node.js 20 LTS o superior.

  • Docker y Docker Compose (recomendado para ejecutar la pila completa).

  • Un clúster de MongoDB Atlas, M10 o superior. Queryable Encryption no está disponible en clúster gratuitos.

  • Un proveedor clave, como AWS KMS, o el proveedor local, PSP_KMS_PROVIDER=local, para el desarrollo sin conexión.

  • La Librería compartida de cifrado automático. Descárgala de las descargas de MongoDB Enterprise y dirígete a MONGODB_CRYPT_SHARED_LIB_PATH. El backend recurre a rutas de instalación comunes si no está configurado.

2

Utilice el comando de configurar la base de datos npm run setup:db para el provisionamineto de la bóveda de claves de MongoDB. Utilice una DEK para cada campo cifrado, envuelta por la llave maestra de cliente. Este paso es idempotente, por lo que puede volver a ejecutarlo de forma segura para reutilizar las claves existentes.

Utilice un KMS gestionado, como Amazon Web Services KMS, para cualquier implementación de producción o similar a la de producción. La llave maestra de cliente permanece en la cuenta propia de la organización y MongoDB no tiene acceso a ella.

Para AWS KMS, configure el proveedor a través de variables de entorno:

PSP_KMS_PROVIDER=aws
AWS_CMK_ARN=arn:aws:kms:<region>:<account-id>:key/<key-id>
AWS_REGION=<region>
AWS_ACCESS_KEY_ID=<access-key-id>
AWS_SECRET_ACCESS_KEY=<secret-access-key>
# AWS_SESSION_TOKEN=<token> # optional, for temporary credentials

Alternativamente, utilice un proveedor de claves local que guarde la clave maestra en una variable de entorno. Este configurar funciona como una solución alternativa para demostraciones sin conexión y desarrollo local, y no es adecuada para datos reales de titulares de tarjetas.

Configure la solución alternativa de KMS local solo para demostraciones sin conexión:

PSP_KMS_PROVIDER=local
PSP_KMS_LOCAL_MASTER_KEY=<96-byte base64 key> # generate with: npm run setup:key:master

El proveedor local requiere una clave maestra de 96bytes de base64. MongoDB Queryable Encryption espera este tamaño para un proveedor local.

3

La plataforma está orientada a eventos. Los eventos empresariales y de cumplimiento fluyen a través de un bus de eventos. El motor es seleccionado por EVENT_BUS_ENGINE, y el mismo código de publicador y consumidor se ejecuta independientemente de la elección.

Utilice Kafka para entornos de producción o de alto rendimiento, para que los eventos sean duraderos, particionados y consumibles por otros sistemas.

EVENT_BUS_ENGINE=kafka
KAFKA_BROKERS=broker1:9092,broker2:9092
KAFKA_CLIENT_ID=pci-psp
KAFKA_SSL=true
KAFKA_SASL_MECHANISM=plain # or scram-sha-256 / scram-sha-512
KAFKA_SASL_USERNAME=<username>
KAFKA_SASL_PASSWORD=<password>
EVENT_BUS_TOPIC_PREFIX=pci.psp

Utilice el motor en proceso para entornos menos exigentes, como el desarrollo local, las demostraciones o las implementaciones de bajo volumen.

EVENT_BUS_ENGINE=in-process

Los datos de las tarjetas viajan como un sobre cifrado, por lo que la elección del motor no cambia la postura de PCI DSS.

4

Establezca los siguientes valores en la .env raíz antes de iniciar la pila:

  • MongoDB Atlas: MONGODB_URI, MONGODB_DB_NAME

  • Librería compartida de QE: MONGODB_CRYPT_SHARED_LIB_PATH

  • Autenticación: PSP_JWT_SECRET, PSP_OAUTH_KEY_PROVIDER

  • Frontend/comerciante: NEXT_PUBLIC_PSP_URL_BACKEND_PUBLIC, PSP_MERCHANT_OAUTH_CLIENT_ID, PSP_MERCHANT_OAUTH_CLIENT_SECRET, PSP_MERCHANT_SESSION_SECRET

El repositorio contiene un archivo .env para editar; consulta la página wiki de instalación para ver la lista completa.

5

Instale las dependencias, aprovisione y rellene la base de datos, y luego inicie la pila. Docker Compose es la ruta recomendada para una primera ejecución. Inicia el backend, el portal PSP y la aplicación del comerciante como una pila en contenedores autocontenida:

npm run setup # install root + backend + frontend + merchant dependencies
npm run setup:db # create QE collections, provision DEKs and indexes
npm run setup:seed # insert synthetic BIAN demo data
docker compose up # start the full stack

Para el desarrollo local con recarga en caliente, utilice npm run dev en lugar de docker compose up.

Una vez en funcionamiento, los servicios están disponibles en:

Interfaz de usuario de demostración de la aplicación Leafy Pay

Figura 4. Interfaz de usuario de demostración de la aplicación Leafy Pay

haga clic para ampliar

setup:db requiere un clúster de Atlas M10 o superior activo con credenciales de KMS válidas. La demostración solo utiliza datos sintéticos.

6

Para un entorno de producción o compartido, implemente en Kubernetes en lugar de en un único host de Docker Compose:

npm run deploy:kube # Kubernetes deploy via tools/kube.ts
# npm run deploy:docker # alternative: containerised deploy with docker compose

Configuraciones de producción recomendadas:

  • Utilice AWS KMS para el proveedor de claves y el bus de eventos de Kafka.

  • Proporcione las cadenas de conexión y las credenciales de QE por nivel como secretos de Kubernetes.

  • Finalice el tráfico de clientes a través de TLS y conéctese a Atlas a través de nodos privados donde esté disponible.

  • Escalar el backend horizontalmente una vez que Amazon Web Services KMS esté implementado; mantener una única réplica mientras se ejecuta en el proveedor de claves local.

  • Diseñe para la responsabilidad compartida desde el primer día: La certificación PCI DSS de MongoDB Atlas permite heredar la capa de infraestructura mediante el AOC, pero la capa de aplicación sigue siendo responsabilidad del cliente.

  • Habilitar el cifrado y la capacidad de búsqueda juntos: Queryable Encryption admite la búsqueda de coincidencia exacta en PII cifrada sin que el servidor la descifre, lo que puede facilitar la compensación "descifrar para investigar" que tiende a ampliar el alcance de PCI DSS.

  • Aplicar control de acceso con claves, no solo con código: Un modelo DEK por nivel hace que el acceso a nivel de campo sea criptográfico. Un cliente de bajo privilegio no puede descifrar campos confidenciales, lo que reduce la posibilidad de que un error de query los filtre.

  • Reducir el alcance antes de proteger los datos: Tokenizar el PAN y almacenar solo los últimos cuatro dígitos enmascarados mantiene la mayor parte del sistema fuera del alcance de los datos del titular de la tarjeta. Los datos que están fuera del alcance necesitan menos controles que los datos que están cifrados pero aún dentro del alcance, por lo que la reducción del alcance reduce la superficie de auditoría.

  • Diseñe el registro de auditoría para que sobreviva a las claves: Mantenga el registro de acceso de solo adición sin cifrar y separado de los datos que describe, para que siga siendo legible durante la rotación de claves y admita el registro de acceso y la supervisión que espera PCI DSS.

  • Antonio Membrides Espinosa, MongoDB