Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Criptografia em execução

Você pode usar o driver Kotlin para criptografar campos específicos do documento usando um conjunto de recursos chamado criptografia em execução. A criptografia em execução permite que sua aplicação criptografe os dados antes de enviá-los ao MongoDB e query documento com campo criptografados.

Aviso

MongoDB 8.2 Problema conhecido

A versão 8.2.0 do mongocryptd pode não ser executada no Windows. Esse bug afeta a criptografia em execução com o driver se você especificar o argumento --logpath NUL ao iniciar mongocryptd.

To learn more about this issue and how to resolve it, see Known Issues in the MongoDB 8.2 Release Notes.

O driver Kotlin usa a biblioteca de criptografia mongodb-crypt para criptografia em uso. Esta versão do driver é compatível com mongodb-crypt v5.13.0.

Dica

Lista de materiais

Recomendamos adicionar a Lista de materiais (BOM) do driver JVM ao seu aplicação para gerenciar as versões dos artefatos do driver. Isso elimina a necessidade de especificar uma versão para qualquer pacote individual coberto pelo BOM, simplificando o gerenciamento de dependências. Para saber mais, consulte a etapa Adicionar a lista de materiais do acionador do guia de Início rápido.

Selecione a partir das seguintes guias Maven e Gradle para ver como adicionar a dependência do mongodb-crypt ao seu projeto utilizando o gerenciador especificado:

<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-crypt</artifactId>
</dependency>
</dependencies>

A criptografia em uso impede que usuários não autorizados visualizem dados em texto simples à medida que são enviados ao MongoDB ou enquanto estão em um banco de dados criptografado. Para ativar a Criptografia em execução em uma aplicação e autorizá-la a descriptografar dados, você deve criar chaves de encriptação que somente sua aplicação possa acessar. Somente aplicativos que têm acesso às suas chaves de criptografia podem acessar os dados descriptografados em texto simples. Se um invasor obtiver acesso ao banco de dados, ele só poderá ver os dados de texto cifrado criptografados porque não tem acesso às chaves de encriptação.

Você pode usar criptografia em uso para criptografar campos em seus documentos MongoDB que contêm os seguintes tipos de dados confidenciais:

  • Números de cartão de crédito

  • Endereços

  • Informação de saúde

  • Informações financeiras

  • Qualquer outra informação sensível ou pessoalmente identificável (PII)

O MongoDB oferece os seguintes recursos para habilitar a criptografia em uso:

Queryable Encryption (QE) é um recurso de criptografia em execução que oferece suporte à consulta de valores de campo criptografados de forma exclusiva, incluindo consultas de igualdade, faixa, prefixo, sufixo e substring. O suporte a query de faixa requer o MongoDB Server 8.0 ou posterior. O suporte a query de prefixo, sufixo e substring requer o MongoDB Server 9.0 ou posterior.

Para saber mais sobre Queryable Encryption, consulte Queryable Encryption no manual do Servidor.

A criptografia no nível do campo do lado do cliente (CSFLE) oferece suporte à pesquisa de igualdade em campos criptografados. O MongoDB Server versão 4.2 introduziu o CSFLE.

Ao contrário do QE, o CSFLE exige que você selecione um algoritmo de criptografia para cada campo, e essa escolha determina se você pode executar query no campo. A criptografia determinística sempre produz o mesmo valor de saída para o mesmo valor de entrada. Como os valores correspondentes parecem iguais após a criptografia, você pode executar query de igualdade nesses campos. A criptografia aleatória produz um valor de saída diferente cada vez que criptografado o mesmo valor de entrada. Os driver podem descriptografar esses campo, mas você não pode fazer query deles.

A criptografia determinística troca um pouco de confidencialidade pelo suporte a query. Quando um campo criptografado tem baixa cardinalidade, um invasor pode comparar a frequência com que cada valor criptografado aparece e inferir os valores originais. Essa técnica é chamada de análise de frequência. Para proteger campos que você não consulta, use a criptografia aleatória.

Dica

Para saber mais sobre esses conceitos, consulte as seguintes entradas na Wikipedia:

Para saber mais sobre CSFLE, consulte CSFLE no manual do servidor.