Casos de uso: Pagamentos
Setores: Serviços financeiros, segurança e compliance
Produtos: MongoDB Atlas, Queryable Encryption, Criptografia em descanso usando gerenciamento de chaves de cliente, Private Endpoints, Auditoria de banco de dados, Certificação PCI DSS
Parceiros: Amazon Web Services
Visão Geral da Solução
PCI ODSS constitui o padrão de referência para proteger os dados da conta de pagamento. Define uma linha de base de práticas técnicas e operacionais para sistemas que armazenam, processam ou transmitem CC. Ele oferece às equipes um ponto de referência comum de como os sistemas de pagamento devem ser protegidos e controlados.
A proteção de dados de pagamento geralmente envolve criptografia. Com uma abordagem convencional, uma vez que um campo é criptografado, ele não pode mais ser pesquisado por seu valor. Para uma plataforma de pagamento, essa limitação representa um problema prático, pois a descoberta de fraudes depende da pesquisa de campos confidenciais, como o e-mail, o telefone ou a referência da conta de um cliente. Sem uma maneira de pesquisar dados criptografados, a pesquisa força uma escolha incómoda: descriptografar dados em massa, o que amplia a exposição, ou trabalhar mais lentamente e offline. Esse impasse leva à questão do design da solução:
Como uma plataforma de pagamento pode manter os dados criptografados em repouso e, ainda assim, permitir que os analistas de fraude os pesquisem por valor?
O PCI DSS levanta a barra de como os dados de pagamento são protegidos. Suas versões mais recentes, v.4 0 e v..,4 01colocam mais peso na conformidade contínua, nas auditorias pontuais e tratam a redução do escopo para reduzir o esforço de avaliação do serviço providers.
No PCI DSS, a conformidade segue um modelo de responsabilidade compartilhada: o MongoDB Atlas garante a segurança operacional da plataforma host, enquanto os clientes controlam a configuração e as políticas de dados de sua implantação.
Dito explicitamente, o uso do MongoDB não torna, por si só, uma solução compatível com PCI DSS. A conformidade é avaliada em relação a um ambiente específico, abrangendo o produto, seus processos e a organização. O MongoDB Atlas oferece uma infraestrutura certificado além de recursos de camada de dados que reduzem a quantidade de trabalho para alcançar a conformidade e reduzir o escopo da auditar . O valor aqui é a aceleração e a redução do escopo, não uma garantia de conformidade.
Como é a aparência do PCI DSS e onde as camadas são divididas
O Conselho de Padrões de Segurança PCI mantém o PCI DSS e organiza um conjunto de requisitos agrupados sob objetivos de controle:
Objetivo | Requisitos |
|---|---|
Construa e mantenha uma rede segura |
|
Proteger dados da conta |
|
Mantenha um programa de gerenciamento de vulnerabilidades |
|
Implemente um forte controle de acesso |
|
Monitore e teste redes regularmente |
|
Mantenha uma política de segurança da informação |
|
No modelo de responsabilidade compartilhada, esses requisitos divisão nessas camadas:
Camada de infraestrutura (responsabilidade do provedor): compreende segurança física, controles de rede, aplicação de patches de plataforma e criptografia em descanso do armazenamento subjacente. O MongoDB Cloud é um provedor de serviços certificado PCI DSS, validado por um QSA, Coalfire Sistemas. Para o ambiente CRD no MongoDB Cloud, um QSA pode confiar no MongoDB Cloud AOC, disponível sob solicitação por meio do MongoDB Trust Center. Essa camada pré-validada elimina a necessidade de os clientes auditarem novamente a infraestrutura subjacente.
Camada de aplicativo (responsabilidade do cliente): compreende como o produto armazena, protege, consultas, máscara e auditorias do CAD e quem tem permissão para ler as informações. Essa camada continua sendo a decisão de design do cliente.
figura 1. Modelo em camadas de responsabilidade compartilhada do PCI DSS
O projeto PSP preenche a camada do aplicação . É composto por uma arquitetura de referência e um conjunto de melhores práticas. Ele mostra como usar o MongoDB para alinhar a camada de aplicação com os objetivos de controle do PCI DSS para proteger os dados armazenados, restringir o acesso, monitorá-los e reduzir o escopo da auditar . Este projeto constitui um ponto de partida para acelerar a implantação do PCI DSS.
A proposta arquitetônica
O projeto PSP é uma plataforma PSP alinhada ao PCI DSS. Ele executa o ciclo de vida de pagamento no MongoDB Atlas: checkout e autorização de cartão , pontuação automatizada de fraudes e análise de analistas de vários níveis. Ele mostra como os analistas podem pesquisar dados criptografados com uma lógica de design clara:
Criptografe tudo. Faça uma query de qualquer coisa. As chaves são suas.
Com a camada de infraestrutura herdada do Atlas (consulte a figura 1), o trabalho restante acontece na camada de aplicação . O Atlas oferece diversas funcionalidades para dar suporte a esse trabalho, sendo a Queryable Encryption a principal funcionalidade. O conjunto completo de recursos é enumerado na seção Recursos do MongoDB .
Queryable Encryption em foco
Com uma abordagem convencional, um campo é mantido em texto simples para que possa ser pesquisado (legível por qualquer pessoa com acesso ao banco de dados ) ou criptografado para que fique protegido (mas não seja mais pesquisável). A Queryable Encryption remove esse problema para os tipos de query compatíveis.
figura 2. Arquitetura de criptografia do MongoDB : camadas de Queryable Encryption, gerenciamento de chaves e proteção de dados
Para um campo pesquisável de igualdade , o fluxo prossegue da seguinte forma:
O driver criptografa o valor de pesquisa no lado do cliente , usando a DEK do campo.
O servidor compara esse valor criptografado com um índice criptografado. Ele compara texto cifrado com texto cifrado e não descriptografa o campo.
Quando os documentos correspondentes retornam ao processo do aplicação , o driver descriptografa os campos de destino na memória. O MongoDB Atlas armazena e processa somente texto cifrado, mantido como Subtipo Binário BSON 06; como resultado, um administrador de banco de dados com acesso completo ao cluster vê apenas bytes opacos.
O efeito concreto no projeto PSP : um analista de fraudes procura um cliente por e-mail, telefone ou referência de conta criptografados e obtém o registro de volta, enquanto o valor do texto simples não chega ao Atlas. Esse recurso mantém a PII sensível criptografada em repouso e disponível por valor, sem a descriptografia em massa que amplia o CDE.
Os campos que precisam de proteção, mas não de pesquisa, usam um modo não pesquisável , descriptografado apenas para uma solicitação autorizada e escalonada. A seção do modelo de dados abrange ambos os modos e os campos que eles protegem.
Recursos do MongoDB para a camada de aplicativos
O projeto PSP combina vários recursos do MongoDB e Atlas . Cada um mapeia para uma parte específica do trabalho da camada de aplicativo do PCI DSS:
Capacidade | Role no projeto | Objetivos de controle do PCI DSS | Documentação do MongoDB |
|---|---|---|---|
Criptografia Consultável:igualdade | Pesquise PII criptografado (e-mail, telefone, referência da conta) por correspondência exata; o campo é criptografado do lado do cliente , portanto, o servidor do banco de dados armazena e processa somente texto cifrado para ele e não recebe texto simples. | Proteger os dados armazenados da conta; restringir o acesso. | |
Queryable Encryption: não pesquisável e criptografia no nível do campo do lado do cliente | Criptografe campos de alta sensibilidade (endereço, ID do governo, carga útil do gateway bruto) somente para recuperação, descriptografados do lado do cliente. | Proteger os dados armazenados da conta; restringir o acesso. | |
Chaves gerenciadas pelo cliente | Manter a Chave Mestre do Cliente no Serviço de Gerenciamento de Chaves do próprio cliente; as chaves mestres permanecem lá e o MongoDB não tem acesso a elas, enquanto as chaves de dados são criptografadas sob elas. | Proteja os dados da conta armazenados. | |
Biblioteca compartilhada de criptografia automática: | Execute criptografia e descriptografia no processo do driver/ aplicação , para que o texto simples para campos criptografados não atravesse o fio para o Atlas. | Proteger os dados armazenados da conta; criptografar em trânsito. | |
RBAC e Federação de Identidades | Acesso baseado em função granular no nível do banco de dados e da coleção, com LDAC/Active Directory, OpenID Connect e federação de identidade da força de trabalho para autenticação. | Restringir o acesso por necessidade de saber; identificar e autenticar usuários. | |
Hierarquia de chave de criptografia de dados de dois níveis | Aplique a visibilidade de campo de mínimo privilégio criptograficamente, com o suporte de roles do Atlas por nível e usuários de banco de dados . | Restringir o acesso pela necessidade de saber. | |
Rede privada | Mantenha o tráfego de dados do titular do cartão no backlink do provedor de nuvem em endpoints privados, com a lista de permissões de IP, formando um limite de rede definido em torno do CDE. | Construa e mantenha uma rede segura. | |
Auditoria de banco de dados do Atlas | Registre o acesso a campos confidenciais como um registro de auditar e encaminhe os registros de auditar para um sistema SIEM para revisão. | Registre e monitore todo o acesso. | |
Segurança da camada de transporte 1.3 em conexões Atlas | Criptografe os dados do titular do cartão em cada salto da rede. | Criptografe dados em trânsito. | |
Modelo de documento com Bian-esquema alinhado | Modele dados de cartão, transação e partes para que os dados do titular do cartão possam ser isolados e minimizados. | Suporta o escopo e a minimização de dados. |
Casos de uso adjacentes
Os princípios básicos desta solução, incluindo um limite de API estável, Queryable Encryption no nível do campo e um modelo de DEK por tier de acesso, podem ser aplicados a outros casos de uso:
Financiamento aberto: acesso a dados com escopo de consenso que restringe um terceiro aos campos autorizados por um cliente , como SSD2 e direito aos dados do consumidor.
Saúde: informações de saúde protegidas sob o HIPAA.
Seguros e saúde: plataformas que lidam com identificadores governamentais e dados de contas financeiros de acordo com o GDPR.
Arquiteturas de referência
O projeto PSP é a posição do gateway de pagamento na cadeia de pagamento com cartão padrão:
Backend do mercador
Gateway de pagamento: processador, adquirente, rede de cartões e emissor
Ele é proprietário do armazenamento no escopo do PCI DSS, da criptografia e do controle de acesso que determina quem pode ler quais campos de dados do portador do cartão. Não emula a rede do cartão nem o processador; então a arquitetura se concentra na camada de segurança de dados.
Atores downstream, como o processador, o adquirente, a rede de cartões e o emissor de cartões, são subsistemas externos, acessados por meio de provedores. Na demonstração, cada fornecedor tem um módulo integrado que mantém o projeto autônomo, mas eles podem ser substituídos por um subsistema externo real em produção. O emissor do cartão é um desses fornecedores: seu módulo integrado armazena dados do cartão internamente para a demonstração, enquanto na produção esses dados residiriam em um emissor externo.
figura 3. Arquitetura em camadas da plataforma PSP e componentes externos
Componentes da arquitetura
A arquitetura usa os seguintes componentes:
Painel do PSP (Frontend): a camada de apresentação. Ele não fala diretamente com o banco de dados . No check-out, ele tokeniza o PAN para que o PAN completo não seja transmitido ou armazenado pelo núcleo do PSP.
Gateway de API PSP (backend): o ponto de entrada único e o único componente que pode descriptografar campos protegidos. Ele contém o cliente Queryable Encryption , resolve a função do chamador e seleciona o nível de chave correto por solicitação. Todos os chamadores, incluindo a interface do usuário, contas de serviço e integrações, passam pela mesma API e estão sujeitos ao mesmo RBAC e regras principais.
MongoDB Atlas (M10 ou superior) com Queryable Encryption: armazena apenas texto cifrado (subtipo binário 06) para cada campo protegido. Um administrador de banco de dados com acesso completo ao cluster vê bytes opacos. O TLS 1.3 protege todos os dados em trânsito. O projeto PSP depende da pesquisa de igualdade, que é suportada em produção.
AWS KMS: contém a chave mestra do cliente que envolve e desembrulhou as chaves de criptografia de dados. A CMK permanece no KMS e o MongoDB não tem acesso a ela. Um provedor de chaves local está disponível como um fallback offline para demos.
Observação
O suporte do Queryable Encryption para queries de prefixo, sufixo e substring está em pré-visualização pública e requer MongoDB 8.2 ou posterior. Certifique-se de que está usando o MongoDB 8.2 ou posterior no Atlas cluster e na biblioteca crypt_shared. As queries de igualdade e faixa não precisam de 8.2.
Abordagem do modelo de dados
O modelo de dados do projeto PSP segue as convenções de nomenclatura de domínio de serviço Bian, portanto, cada coleção e campo mapeia para um domínio de serviço definido no padrão Bian. Além do Bian, o MongoDB Queryable Encryption define a postura de segurança em nível de campo.
Tipos de query e como o projeto os aplica
A Queryable Encryption do MongoDB mantém um campo criptografado no lado do cliente, permitindo que o servidor faça queries no texto cifrado. O projeto PSP usa estes tipos de query:
Igualdade (produção): o modo pesquisável para as chaves de pesquisa com escopo PCI DSS. O driver criptografa o valor da query e o compara com um índice criptografado, para que o servidor não descriptografe o campo. Esse recurso permite que um analista de fraudes encontre um registro por e-mail, telefone ou referência de conta sem expor o texto simples.
Sem query (somente recuperação): o modo não pesquisável para os campos de maior sensibilidade, incluindo endereço residencial, identificador do governo e payloads brutos do gateway. Um cliente autorizado descriptografa esses campos apenas just-in-time.
Intervalo (produção): usado para pesquisas de faixa de valor, como filtragem por uma faixa de quantidade. Ele mantém o valor criptografado.
Prefixo, sufixo e substring (visualização pública): demonstrado para pesquisas de correspondência parcial no estilo KYC em campos de identidade criptografados.
Para os campos de cartão e PII com escopo PCI DSS abaixo, o design de acesso é reduzido às seguintes categorias:
Campo | Classificação | Modo de criptografia | Pesquisável |
|---|---|---|---|
| Referência da conta / PII |
| Sim |
| Referência da conta |
| Sim |
| PII |
| Sim |
| PII |
| Sim |
| CDC |
| No |
| PII alta |
| No |
| PII alta |
| No |
| Operacional sensível |
| No |
| Token de rede | Texto simples | Sim |
| Somente exibição | Texto simples | No |
PAN completo ( | CDC | Não armazenado pelo núcleo do PSP | n/a para o núcleo PSP |
CVV e Pin | Dados de autenticação confidenciais | Nunca armazenado | N/A |
As opções de design que mantêm os dados do titular do cartão fora do escopo sempre que possível incluem:
Tokenização do pan: o aplicação substitui o pan completo por um
tok_<uuid>token substituto do e retém apenas os últimos quatro dígitos para fins de exibição.Captura zero SAD: os endpoints nunca capturam SAD, como CVV ou Pin.
Reduzir o escopo por meio de segmentação e tokenização
Uma prática comum do PCI DSS mantém os dados do titular do cartão fora dos sistemas que não precisam deles, de modo que a maior parte da plataforma fique fora do CDE. Essas técnicas aplicam segmentação, que isola o CDE do restante do sistema, e tokenização, que substitui o número da conta primária por um token substituto mantido em um cofre de tokenização dedicado. A segmentação não é um requisito do PCI DSS, mas tira os sistemas do escopo e reduz o custo de avaliação; quando usado, deve ser documentado, justificado e validado.
O projeto PSP aplica estas técnicas na camada de dados:
O PAN completo nunca reside no núcleo do PSP: o núcleo armazena apenas o token substituto, o BIN e os últimos quatro dígitos. A maior parte da plataforma não contém dados do titular do cartão e permanece fora do escopo. O PAN completo pertence ao subsistema do emissor do cartão, que é externo na produção. Na demonstração, um módulo emissor embutido substituível fica e armazena o PAN em seu próprio cofre isolado, criptografado com
QE:equality. Esse campo pode ser correspondido para pesquisa exata e detecção duplicada sem ser descriptografado.A PII é centralizada: os campos de identidade, como e-mail ou telefone, residem em uma única coleção de partes Bian SD-13 que o contrato, o cartão e os registros de transações fazem referência. Um lugar para proteger e processar uma solicitação de apagamento do assunto dos dados.
Os campos sensíveis ficam atrás de uma camada de chave separada:
QE:noneos campos usam um tier de chave de criptografia de dados diferente dos camposQE:equalitypesquisáveis, portanto, o limite entre dados confidenciais e não confidenciais é imposto pelas chaves.
Este é um padrão de referência, não uma certificação. A definição de CDE e sua validação permanecem de responsabilidade do cliente e do avaliador para confirmar.
Chaves forçadas de controle de acesso, não código de aplicativo
Separe o DEK dos níveis de criptografia:
Nível de pesquisa:
QE:equalityas chaves estão disponíveis para todas as funções de analista autenticadas para pesquisa.Nível sensível:
QE:noneas chaves estão disponíveis apenas para um Investigador de nível 2 que possui um token de escalonamento válido de curta duração e para um Auditor de segurança somente para leitura.O núcleo do design: o 1 mapa de campos criptografados de um cliente de nível omite as chaves sensíveis, portanto o driver não pode descriptografar esses campos e os retorna como texto cifrado. O controle de acesso em nível de campo aqui é criptográfico em vez de uma projeção no código do aplicação , o que reduz o risco de um vazamento acidental por meio de um bug de query. Quando um analista escala um caso e um Investigador de nível 2 aprova, o Investigador recebe um token de escalonamento que ativa o pool de cliente de nível sensível para essa solicitação.
Construir a solução
Esta seção é um guia de implantação para equipes que desejam executar e avaliar a solução. Ele aborda as opções de configuração importantes para uma implantação bem-sucedida, como executar a pilha localmente e como implantá-la na produção. Use este repositório GitHub para implementar esta solução.
Configurar os pré-requisitos
Verifique se seu projeto atende aos seguintes requisitos:
Node.js 20 LTS ou superior.
Docker e Docker Compose (recomendado para executar a pilha completa).
Um cluster MongoDB Atlas , M10 ou superior. A Queryable Encryption não está disponível na camada grátis.
Um provedor de chave, como AWS KMS ou o provedor local,
PSP_KMS_PROVIDER=local, para desenvolvimento offline.Biblioteca compartilhada de criptografia automática. Faça o download a partir dos downloads do MongoDB Enterprise e ponto
MONGODB_CRYPT_SHARED_LIB_PATHpara. O backend retorna para caminhos de instalação comuns se não for definido.
Configurar o serviço de gerenciamento de chaves
Use o comando de configuração do banco de dados npm run setup:db para provisionar o cofre de chaves MongoDB . Use uma DEK para cada campo criptografado, envolto pela CMK. Esta etapa é idempotente, para que você possa executá-la novamente com segurança para reutilizar chaves existentes.
Use um KMS gerenciado, como o AWS KMS, para qualquer sistema de produção ou produção. A CMK permanece na própria conta da organização e o MongoDB não tem acesso a ela.
Para AWS KMS, configure o provedor por meio de variáveis de ambiente:
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
Como alternativa, use um fornecedor de chaves local que mantenha a chave mestre em uma variável ambiental. Essa configuração funciona como uma solução alternativa para declarações offline e desenvolvimento local e não é apropriada para dados reais do titular do cartão.
Configure a solução alternativa local do KMS apenas para expressões offline:
PSP_KMS_PROVIDER=local PSP_KMS_LOCAL_MASTER_KEY=<96-byte base64 key> # generate with: npm run setup:key:master
O provedor local exige uma chave mestre de64 base de 96bytes. A Queryable Encryption espera esse tamanho para um fornecedor local.
Configurar o barramento de evento
A plataforma é orientada a eventos. Eventos de negócios e conformidade fluem por um barramento de evento . O mecanismo é selecionado pelo EVENT_BUS_ENGINE e o mesmo código de editor e consumidor é executado independentemente da escolha.
Use o Kafka para ambientes de produção ou de alta taxa de transferência, para que os eventos sejam duráveis, particionados e consumíveis por outros 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
Use o mecanismo in-process para ambientes menos exigentes, como desenvolvimento local, demonstrações ou implantações de baixo volume.
EVENT_BUS_ENGINE=in-process
Os dados do cartão viajam como um envelope criptografado, portanto, a escolha do mecanismo não altera a postura do PCI DSS.
Definir configurações adicionais
Defina os seguintes valores na raiz .env antes de iniciar a pilha:
MongoDB Atlas:
MONGODB_URI,MONGODB_DB_NAMEBiblioteca compartilhada do QE:
MONGODB_CRYPT_SHARED_LIB_PATHAutenticação:
PSP_JWT_SECRET,PSP_OAUTH_KEY_PROVIDERFrontend/comerciante:
NEXT_PUBLIC_PSP_URL_BACKEND_PUBLIC,PSP_MERCHANT_OAUTH_CLIENT_ID,PSP_MERCHANT_OAUTH_CLIENT_SECRET,PSP_MERCHANT_SESSION_SECRET
O repositório contém um arquivo .env para editar; consulte a página wiki de Instalação para a lista completa.
Execute a demonstração localmente com o Docker Compose
Instale dependências, provisione e popular o banco de dados e, em seguida, inicie a pilha. Docker Compose é o caminho recomendado para uma primeira execução. Ele inicia o backend, o portal PSP e o aplicativo comercial como uma pilha em contêiner autônoma:
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 desenvolvimento local com recarga ativa, use npm run dev em vez de docker compose up.
Depois de em execução, os serviços estão disponíveis em:
Portal PSP em http://localhost:8080
Aplicativo de comerciante em http://localhost:8082
API de backend em http://localhost:8081
OpenAPI/Swagger em
/docVerificação de integridade em
/api/v1/system/health
figura 4. Interface do usuário de demonstração do aplicação LeafyPay
setup:db requer um cluster Atlas M10 ativo ou superior com credenciais KMS válidas. A demonstração usa apenas dados sintéticos.
Implantar para produção
Para um ambiente de produção ou compartilhado, implante no Kubernetes em vez de em um único host do Docker Compose:
npm run deploy:kube # Kubernetes deploy via tools/kube.ts npm run deploy:docker # alternative: containerised deploy with docker compose
Configurações de produção recomendadas:
Use o AWS KMS para o provedor chave e o barramento de evento Kafka.
Forneça as connection strings e credenciais do QE por nível como segredos do Kubernetes.
Encerre o tráfego do cliente por TLS e acesse o Atlas por meio de endpoints privados, quando disponíveis.
Escale o backend horizontalmente depois que o AWS KMS estiver em vigor; mantenha uma única réplica somente enquanto estiver executando no provedor de chave local.
Principais Aprendizados
Projete para a responsabilidade compartilhada desde o primeiro dia: a certificação PCI DSS do MongoDB Atlas permite que a camada de infraestrutura seja herdada por meio do AOC, mas a camada do aplicativo permanece sob responsabilidade do cliente.
Habilitar criptografia e pesquisa juntas: a Queryable Encryption oferece suporte à pesquisa de correspondência exata em PII criptografados sem que o servidor as descriptografe, o que pode facilitar a tarefa de "descriptografar para investigar" que tende a ampliar o escopo do PCI DSS.
Imponha o controle de acesso com chaves, não apenas com código: um modelo DEK por nível torna o acesso em nível de campo criptográfico. Um cliente de baixo privilégio não pode descriptografar campos confidenciais, o que reduz a chance de um bug de query os vazar.
Reduzir o escopo antes de proteger os dados: a tokenização do PAN e o armazenamento apenas dos últimos quatro dígitos ocultados mantêm a maior parte do sistema fora do escopo de dados do portador do cartão. Os dados fora do escopo precisam de menos controles do que os dados criptografados, mas ainda no escopo, portanto, a redução do escopo reduz a superfície de auditar .
Crie a faixa de auditar para sobreviver às chaves: Mantenha o registro de acesso somente para anexação descriptografado e separado dos dados que ele descreve, para que ele permaneça legível por meio da rotação de chaves e seja compatível com o registro e o monitoramento de acesso que o PCI DSS espera.
Autores
- Antonio Membrides Espinosa, MongoDB