Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
Como o CSFLE descriptografa documentos
Nesta página
Esta página descreve como o CSFLE usa metadados do seu diretório de dados e da chave mestra do cliente para descriptografar dados.
Metadados usados para descriptografia
Quando você criptografa dados usando o CSFLE, os dados criptografados são armazenados como um objeto BinData
subtipo 6 que inclui os seguintes metadados:
O
_id
do diretório de dados usado para criptografar os dadosO algoritmo de criptografia usado para criptografar os dados
O diretório de dados contém metadados que descrevem qual chave mestra do cliente foi usada para criptografá-las.
Os drivers e mongosh
usam esses metadados para tentar descriptografar automaticamente seus dados.
Processo de descriptografia automática
Para descriptografar automaticamente seus dados, seu cliente habilitado para CSFLE executa o seguinte procedimento:
Verifique os metadados blob do
BinData
do campo que você pretende descriptografar para a Chave de criptografia de dados e o algoritmo de criptografia usados para criptografar o valor.Verifique a collection de cofre de chaves configurada na conexão de reconhecimento de data center atual para o diretório de dados especificado. Se a collection de cofre de chaves não contiver a chave especificada, a descriptografia automática falhará e o driver retornará um erro.
Verifique os metadados da Chave de criptografia de dados para a Chave mestra do cliente (CMK) usada para criptografar o material da chave.
Descriptografe a chave de criptografia de dados. Este processo varia de acordo com o provedor de KMS:
Descriptografe o valor
BinData
usando a chave de criptografia de dados descriptografada e o algoritmo apropriado.
Os aplicativos com acesso ao servidor MongoDB que também não têm acesso ao CMK e às Chaves de criptografia de dados necessárias não podem descriptografar os valores BinData
.
Comportamento de leitura criptografada automaticamente
Para operações de leitura, o driver criptografa os valores de campo no documento de query usando seu esquema de criptografia antes de emitir a operação de leitura.
Em seguida, seu aplicativo cliente usa os metadados BinData
para descriptografar automaticamente o documento que você recebe do MongoDB.
Para saber mais sobre esquemas de criptografia, consulte Esquemas de criptografia.
Saiba mais
Para saber como configurar o reconhecimento de data center para criptografia no nível do campo do lado do cliente, consulte Opções do MongoClient específicas do CSFLE.
Para saber mais sobre o relacionamento entre diretório de dados e chave mestra do cliente, consulte Chaves e cofres de chaves.