EncDB: Uma Nova Abordagem para Gerenciamento de Dados Encriptados
EncDB oferece segurança e eficiência melhoradas para gerenciar dados criptografados na nuvem.
― 9 min ler
Índice
- A Necessidade de Serviços de Banco de Dados Criptografados
- Apresentando EncDB
- Algoritmos de Criptografia
- Arquitetura do Sistema EncDB
- Dois Modos de Operação
- Modo Apenas de Software
- Modo Habilitado por TEE
- Estratégia de Tomada de Decisão para Processamento de Consultas
- Switch Estático
- Switch de Modo Auto-adaptável
- Técnicas de Indexação para Aceleração de Consultas
- Tipos Definidos pelo Usuário
- Otimização de Consultas
- Avaliação de Desempenho do EncDB
- Taxa de Transferência e Latência
- Eficiência dos Modos Híbridos
- Considerações de Segurança
- Vulnerabilidades Abordadas
- Conclusão
- Fonte original
- Ligações de referência
A computação em nuvem virou moda pra gerenciar dados. Muitas empresas tão usando serviços externos pra armazenar e cuidar dos seus bancos de dados. Isso traz benefícios como custos mais baixos e flexibilidade, mas também gera preocupações sobre a privacidade dos dados. Quando as empresas deixam que os provedores externos gerenciem seus dados, elas perdem controle direto sobre eles. Isso cria riscos, principalmente se a segurança do provedor for comprometida.
Uma forma de proteger dados sensíveis é através da criptografia. Isso significa transformar os dados em um código seguro, pra que ninguém consiga ler sem a chave apropriada. Os métodos que existem permitem algumas operações em dados criptografados ou usam ambientes seguros especiais pra manter os dados em segurança. A gente propõe um novo sistema chamado EncDB que combina esses métodos pra melhorar a forma como as consultas criptografadas são processadas.
A Necessidade de Serviços de Banco de Dados Criptografados
À medida que as empresas transferem seus dados para provedores de nuvem, as preocupações com a privacidade aumentam. Quando os dados são armazenados na nuvem, os usuários não podem controlá-los fisicamente. A proteção desses dados depende das práticas de segurança do provedor de nuvem. Se essas medidas falharem, informações sensíveis podem ser expostas a ameaças potenciais, incluindo hackers ou até mesmo funcionários não confiáveis na organização do provedor.
Pra manter a confidencialidade, os dados podem ser criptografados antes de serem armazenados na nuvem. A criptografia tradicional protege os dados quando não estão sendo usados, mas pode dificultar a realização de operações no banco de dados. Pra superar isso, alguns sistemas usam Criptografia Homomórfica, permitindo certas operações em dados criptografados. Porém, esse método pode ter dificuldades com consultas complexas por causa das altas demandas de processamento.
Outra abordagem envolve usar Ambientes de Execução Confiáveis (TEE). Um TEE cria um espaço seguro dentro de um computador onde dados sensíveis podem ser processados sem exposição ao sistema operacional ou ao ambiente externo. No entanto, algumas soluções já existentes que usam TEE também enfrentam limitações.
Apresentando EncDB
Nosso novo sistema, EncDB, pretende resolver os problemas enfrentados pelos métodos existentes. Ele roda em bancos de dados populares como PostgreSQL e openGauss. O EncDB usa uma mistura de técnicas de criptografia e ambientes seguros pra melhorar o processamento de consultas enquanto mantém os dados seguros.
O EncDB combina dois modos: um que usa soluções apenas de software e outro que utiliza Ambientes de Execução Confiáveis. Isso permite que o sistema escolha adaptativamente o melhor método pra processar consultas, dependendo da situação. Essa flexibilidade pode levar a um desempenho melhor e maior eficiência.
Algoritmos de Criptografia
Pra garantir um nível de segurança robusto, o EncDB integra vários algoritmos de criptografia. Uma área crítica é a criptografia homomórfica, que permite cálculos em dados criptografados. Enquanto a criptografia homomórfica completa (FHE) permite qualquer operação em dados criptografados, muitas vezes ela é ineficiente pra uso no mundo real. Por outro lado, a criptografia homomórfica parcial (PHE) suporta operações específicas com melhor desempenho.
A gente também utiliza Criptografia Preservadora de Propriedades (PPE) pra algumas tarefas, como consultas de intervalo, que exigem comparações entre dados criptografados. Outro componente chave da nossa abordagem é o uso de TEEs, que fornecem uma área segura pra processamento de dados.
Arquitetura do Sistema EncDB
A estrutura do EncDB é construída em torno de dois componentes principais: o servidor de aplicação e o servidor não confiável. O servidor de aplicação é onde as operações seguras acontecem, enquanto o servidor não confiável gerencia os dados criptografados.
Dentro do sistema, existem vários elementos cruciais:
Motor de Criptografia e Descriptografia: Esse componente gerencia chaves de criptografia, realiza a criptografia de dados e descriptografa os resultados recebidos da nuvem. Ele também armazena informações sobre diferentes métodos de criptografia usados.
Reescritor de Consultas: O papel dessa parte é converter consultas de usuários em formatos compatíveis com dados criptografados.
Driver de Banco de Dados: Isso permite que a aplicação interaja com o banco de dados, enviando consultas e recebendo respostas.
Serviços de Computação do Lado do Servidor: Isso inclui funções definidas pelo usuário (UDFs) que podem executar operações em dados criptografados.
O processo de lidar com uma consulta SQL envolve fazer upload de dados em texto simples, criptografá-los e enviá-los pro servidor. O servidor faz operações nos dados criptografados e retorna os resultados, que depois são descriptografados pelo cliente.
Dois Modos de Operação
O EncDB opera em dois modos: um modo apenas de software e um modo habilitado por TEE.
Modo Apenas de Software
No modo apenas de software, as colunas de dados são armazenadas como texto cifrado ou formas criptografadas utilizando várias técnicas de criptografia. Quando uma instrução SQL é emitida, as colunas envolvidas são substituídas por seus equivalentes criptografados. Esse modo não requer nenhum hardware especial, diminuindo, assim, os custos de implantação. No entanto, ele tem suas desvantagens. Pode haver uma redundância significativa de dados e sobrecarga computacional, especialmente quando operações complexas precisam ser realizadas.
Modo Habilitado por TEE
O modo habilitado por TEE melhora a eficiência usando ambientes seguros. Nesse modo, funções específicas são executadas dentro de uma área segura. Os dados são descriptografados e operações são realizadas no texto simples, evitando as ineficiências de processar dados criptografados diretamente. Esse modo simplifica as necessidades de criptografia, pois qualquer método de criptografia simétrica pode ser usado para cálculos já que os dados sensíveis permanecem protegidos dentro do ambiente seguro.
Estratégia de Tomada de Decisão para Processamento de Consultas
O EncDB emprega uma estratégia única para determinar qual modo usar ao processar consultas. O sistema pode usar um switch estático ou um switch dinâmico, dependendo do estado atual dos recursos.
Switch Estático
Em um switch estático, o sistema pré-determina quais operações serão tratadas em qual modo. Essa abordagem pode levar a ineficiências se o modo selecionado não corresponder às capacidades atuais do sistema.
Switch de Modo Auto-adaptável
A estratégia auto-adaptável avalia dinamicamente as condições e alterna entre os dois modos em tempo real. Isso é feito através de um processo de microbenchmarking que monitora a disponibilidade atual dos recursos e ajusta as operações de acordo. Ao se adaptar às necessidades em tempo real, essa estratégia melhora o desempenho, reduzindo o risco de atrasos no processamento.
Técnicas de Indexação para Aceleração de Consultas
Outro aspecto significativo do EncDB é seu mecanismo de indexação de texto cifrado. Métodos de indexação padrão não podem ser aplicados diretamente a dados criptografados. Portanto, a gente introduz um índice especializado que pode suportar vários tipos de consultas, incluindo consultas de intervalo e funções agregadas.
Tipos Definidos pelo Usuário
Criamos um tipo definido pelo usuário (UDT) chamado "oreen" pra gerenciar como os dados criptografados são processados no banco de dados. Esse novo tipo permite uma melhor indexação e consulta sobre colunas criptografadas, aumentando a eficiência.
Otimização de Consultas
Ao introduzir um índice cifrado compatível com sistemas de banco de dados existentes, os usuários podem criar índices através de comandos SQL padrão. Isso garante que as interações com o sistema permaneçam intuitivas enquanto se beneficiam de um desempenho melhor nos bastidores.
Avaliação de Desempenho do EncDB
Fizemos testes de desempenho extensivos pra avaliar quão bem o EncDB funciona em diferentes cenários. Usando benchmarks como TPC-C, medimos o desempenho em várias configurações.
Taxa de Transferência e Latência
À medida que o número de transações simultâneas aumentava, observamos como várias configurações lidavam com a carga. O modo apenas de software mostrou desempenho reduzido em comparação com o banco de dados em texto simples, enquanto o modo habilitado por TEE ofereceu melhores resultados, especialmente sob alta concorrência.
Eficiência dos Modos Híbridos
Comparando switches estáticos e dinâmicos, percebemos que o switch dinâmico proporcionou o melhor desempenho durante cenários de alta concorrência. Ele ajustou as operações com base na disponibilidade atual dos recursos, reduzindo efetivamente as trocas de página e otimizando a execução da consulta.
Considerações de Segurança
O EncDB garante que nenhum dado em texto simples seja exposto ao servidor. Vários esquemas de criptografia são implantados de uma forma que minimiza a quantidade de informação revelada a potenciais atacantes.
Vulnerabilidades Abordadas
O sistema é projetado pra proteger contra vulnerabilidades comuns encontradas em métodos de criptografia tradicionais. A gente utiliza esquemas de criptografia avançados com resistência comprovada a ataques de inferência, garantindo que dados sensíveis permaneçam protegidos.
Conclusão
O EncDB representa um avanço significativo no campo dos sistemas de banco de dados criptografados. Ele combina técnicas inovadoras em criptografia, indexação e processamento adaptativo pra melhorar tanto o desempenho quanto a segurança.
Ao usar uma combinação de modos apenas de software e habilitados por TEE, junto com estratégias auto-adaptáveis, o EncDB oferece uma abordagem flexível e eficiente pra gerenciar dados sensíveis na nuvem. À medida que mais empresas adotam soluções em nuvem, garantir a confidencialidade e a integridade dos seus dados será fundamental, e sistemas como o EncDB serão essenciais pra atender a essas demandas.
Título: Enc2DB: A Hybrid and Adaptive Encrypted Query Processing Framework
Resumo: As cloud computing gains traction, data owners are outsourcing their data to cloud service providers (CSPs) for Database Service (DBaaS), bringing in a deviation of data ownership and usage, and intensifying privacy concerns, especially with potential breaches by hackers or CSP insiders. To address that, encrypted database services propose encrypting every tuple and query statement before submitting to the CSP, ensuring data confidentiality when the CSP is honest-but-curious, or even compromised. Existing solutions either employ property preserving cryptography schemes, which can perform certain operations over ciphertext without decrypting the data over the CSP, or utilize trusted execution environment (TEE) to safeguard data and computations from the CSP. Based on these efforts, we introduce Enc2DB, a novel secure database system, following a hybrid strategy on PostgreSQL and openGauss. We present a micro-benchmarking test and self-adaptive mode switch strategy that can dynamically choose the best execution path (cryptography or TEE) to answer a given query. Besides, we also design and implement a ciphertext index compatible with native cost model and query optimizers to accelerate query processing. Empirical study over TPC-C test justifies that Enc2DB outperforms pure TEE and cryptography solutions, and our ciphertext index implementation also outperforms the state-of-the-art cryptographic-based system.
Autores: Hui Li, Jingwen Shi, Qi Tian, Zheng Li, Yan Fu, Bingqing Shen, Yaofeng Tu
Última atualização: 2024-04-10 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2404.06819
Fonte PDF: https://arxiv.org/pdf/2404.06819
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.