Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Junte-se a nós no Amazon Web Services re:Invent 2024! Saiba como usar o MongoDB para casos de uso de AI .
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
MongoDBchevron-right

Como a Queryable Encryption pode manter o James Bond seguro

AM
Ashni Mehta2 min read • Published Sep 29, 2022 • Updated Apr 02, 2024
MongoDBJava
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
Empresa de todos os tamanhos continuam a adotar o poder dos dados. Com esse poder, no entanto, vem uma grande responsabilidade – ou seja, a responsabilidade de proteger esses dados e clientes, cumprir as normas de privacidade de dados e controlar e limitar o acesso a dados confidenciais e regulamentados.
Embora as soluções de criptografia existentes, tanto em trânsito quanto em repouso, cubram muitos dos casos de uso acima, nenhuma delas protege dados confidenciais enquanto estão em uso. No entanto, a criptografia em uso costuma ser um requisito para cargas de trabalho de alta sensibilidade, especialmente para clientes de serviços financeiros, saúde e organizações de infraestrutura crítica.
A Queryable Encryption, um novo recurso do MongoDB atualmente em pré-visualização, oferece aos clientes uma maneira de criptografar dados confidenciais e mantê-los criptografados durante todo o seu ciclo de vida, seja na memória, nos registros, em trânsito, em repouso ou em backups.
Agora você pode criptografar dados confidenciais no lado do cliente, armazená-los como dados criptografados totalmente aleatórios no lado do servidor e executar consultas expressivas nesses dados criptografados. Os dados nunca estão em texto claro no banco de dados, mas o MongoDB ainda pode processar consultas e executar operações no lado do servidor.
Encontre mais detalhes sobre Queryable Encryption.

Configurando o Queryable Encryption com Java

Há duas maneiras de configurar a Queryable Encryption. Você pode Go a rota de criptografia automática, que permite realizar leituras e gravações criptografadas sem a necessidade de escrever código especificando como os campos devem ser criptografados, ou você pode Go a rota manual, o que significa que precisará especificar a lógica para criptografia.
Para usar Queryable Encryption com Java, você precisará de 4.7.0-beta0 (ou posterior) do driver Java
, e versão 1.5.0-rc2 (ou posterior) do MongoCrypt. Você também precisará do MongoDB Atlas ou do MongoDB Enterprise se quiser usar a criptografia automática. Se você não tiver o Atlas ou Enterprise, não precisa se preocupar! Você pode obter um cluster gratuito para sempre no Atlas registrando.
Depois de concluir esses pré-requisitos, você pode configurar a Queryable Encryption e especificar quais campos deseja criptografar. Confira o início rápido para saber mais.

Ok, mas o que isso tem a ver com James Bond?

Vamos explorar o seguinte caso de uso. Suponha, por um momento, que você trabalhe para uma empresa ultrassecreta e tenha a tarefa de manter as identidades de seus funcionários em segredo.
O trecho de código abaixo representa um novo funcionário, James Bond, que trabalha em sua empresa:
1Document employee = new Document()
2
3       .append("firstName", "James")
4
5       .append("lastName", "Bond")
6
7       .append("employeeId", 1006)
8
9       .append("address", "30 Wellington Sq");
O documento contendo as informações de James Bond é adicionado a umaemployees coleção “ ” que tem dois campos criptografados, EmployeeID e endereço. Saiba mais sobre campos criptografados.
Supondo que alguém, talvez Auric Platinumer, queira encontrar o endereço de James Agent, mas não tenha acesso a um cliente criptografado, só poderia ver o seguinte:
1“firstName” : “James”,
2
3“lastName” : “Bond”,
4
5"employeeId": {"$binary": {"base64": "B5XwlQMzFkOmmW0VTcE1QhoQ/ZYHhyMqItvaD+J9AfsAFf1koD/TaYpJG/sCOugnDlE7b4K+mciP63k+RdxMw4OVhYUhsCkFPrhvMtk0l8bekyYWhd8Leky+mcNTy547dJF7c3WdaIumcKIwGKJ7vN0Zs78pcA+86SKOA3LCnojK4Zdewv4BCwQwsqxgEAWyDaT9oHbXiUJDae7s+EWj+ZnfZWHyYJNR/oZtaShrooj2CnlRPK0RRInV3fGFzKXtiOJfxXznYXJ//D0zO4Bobc7/ur4UpA==", "subType": "06"}},
6
7"address": {"$binary": {"base64": "Biue77PFDUA9mrfVh6jmw6ACi4xP/AO3xvBcQRCp7LPjh0V1zFPU1GntlyWqTFeHfBARaEOuXHRs5iRtD6Ha5v5EjRWZ9nufHgg6JeMczNXmYo7sOaDJ", "subType": "06"}}
Dos quatro campos do meu documento, os dois últimos permaneceram criptografados (EmployeeId e endereço). Como o cliente de Auric não estava criptografado, ele não conseguiu acessar o endereço de James Agent.
No entanto, se Auric estivesse usando um cliente criptografado, ele seria capaz de ver o seguinte:
1"firstName": "James", 
2
3"lastName": "Bond", 
4
5"employeeId": 1006, 
6
7"address": "30 Wellington Sq"
... e ser capaz de rastrear James Bond.

Resumo

É claro que meu exemplo com o James Agent é fictício, mas espero que ele exemplifique uma das muitas maneiras pelas quais a Queryable Encryption pode ajudar. Para obter mais detalhes, consulte nossos Docs ou os seguintes links úteis:
Se você tiver algum problema ao usar o Queryable Encryption, informe-nos nos fóruns da comunidade ou enviandotíquetes no projeto JAVA. Boa criptografia!

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Artigo

Como proteger o acesso aos dados do MongoDB com o Views


Apr 07, 2023 | 4 min read
Artigo

Sincronização inicial retomável no MongoDB 4.4


Sep 11, 2024 | 5 min read
Início rápido

Introdução a pipelines de agregação em Python


Oct 01, 2024 | 14 min read
Notícias e Anúncios

Novas coleções de séries temporais do MongoDB


Sep 09, 2024 | 8 min read
Sumário