O ApsaraDB RDS for MySQL oferece três métodos de criptografia complementares: criptografia de disco, criptografia transparente de dados (TDE) e criptografia de coluna. Cada um protege os dados em uma camada diferente da pilha tecnológica. Esta página explica as ameaças mitigadas por cada método, o impacto no desempenho e quando utilizá-los.
Como funciona a criptografia de banco de dados
A criptografia não substitui o controle de acesso. Ela limita os danos quando esses controles falham, como no comprometimento de uma conta de administrador ou na cópia direta de arquivos de banco de dados do disco por um invasor.
Os três métodos protegem os dados em pontos distintos do sistema:
Criptografia de disco: protege os dados na camada de Infraestrutura como Serviço (IaaS), garantindo a segurança das informações no disco físico.
TDE: atua na camada de Plataforma como Serviço (PaaS) e criptografa os dados antes da gravação no sistema de arquivos.
Criptografia de coluna (edição básica do recurso de banco de dados always-confidential): protege os dados em trânsito entre o banco de dados e o cliente, assegurando a entrega dos resultados das consultas como texto cifrado.
O diagrama a seguir ilustra os vetores de ataque mitigados por cada método.

Tipos de ataque e cobertura
Sistemas de banco de dados são alvos de oito categorias de ataques:
|
Tipo de ataque |
Descrição |
Métodos comuns |
|
Ataque a administradores |
Compromete administradores de sistema. Administradores de banco de dados (DBAs) acessam dados e alteram configurações. Administradores de PaaS acessam arquivos no nível do SO. Administradores de IaaS acessam discos físicos. |
Vulnerabilidades do SO, vazamento de contas, sistemas mal configurados |
|
Ataque a usuários |
Compromete usuários finais com acesso ao banco de dados e escala privilégios via injeção de SQL. |
Vazamento de contas, violações lógicas de dados |
|
Ataque a aplicações |
Explora servidores de aplicação expostos à internet, que possuem superfície de ataque maior que a do próprio banco de dados. |
Vulnerabilidades de aplicação e do SO |
|
Ataque à rede |
Intercepta o tráfego entre a aplicação e o banco de dados. Métodos de evasão dificultam a detecção. |
Escuta e interceptação de rede |
|
Bypass do banco de dados |
Pessoal de PaaS copia arquivos de dados ou de backup diretamente dos discos do banco de dados. |
Violações físicas de dados |
|
Bypass do SO |
Pessoal de IaaS copia dados diretamente de discos locais ou em nuvem. |
Ataques de montagem |
|
Exploração do banco de dados |
Explora falhas de código no sistema de banco de dados para acessar dados direta ou indiretamente. |
Vulnerabilidades do SO do banco de dados |
|
Alvo em cópias de dados |
Ataca bancos de dados de desenvolvimento ou teste, que frequentemente espelham dados de produção, mas carecem de controles de segurança equivalentes. |
Qualquer um dos anteriores |
Escolha do método de criptografia
Cada método defende contra um subconjunto distinto dos tipos de ataque listados acima. A tabela abaixo resume as principais dimensões para ajudar na seleção do método adequado ou da combinação ideal.
|
**Criptografia de disco** |
**TDE** |
**Criptografia de coluna (edição básica)** |
|
|
Tipos de ataque mitigados |
Bypass do SO, Ataque a administradores (IaaS) |
Bypass do banco de dados, Bypass do SO, Ataque a administradores (PaaS e IaaS) |
Ataque a usuários, Ataque a aplicações, Ataque a administradores (DBA [1]), Ataque à rede, Alvo em cópias de dados |
|
Visibilidade para DBA |
Visível |
Visível |
Invisível |
|
Visibilidade para O&M de PaaS |
Visível |
Invisível |
Visível [1] |
|
Visibilidade para O&M de IaaS |
Invisível |
Invisível |
Visível [1] |
|
Granularidade da criptografia |
Instância |
Tabela e banco de dados |
Coluna |
|
Alterações na aplicação |
Nenhuma |
Nenhuma |
Substituir JDBC por EncJDBC (sem alterações de código) |
|
Perda típica de desempenho |
Mínima a nenhuma |
Menos de 5% |
Menos de 7% |
|
Perda de desempenho sob carga intensa |
Mínima |
Até 20% |
Até 21% |
|
Para mais informações |
[1] A edição básica não impede que o pessoal de O&M de PaaS ou IaaS acesse dados em texto simples. Para defesa nessas camadas, utilize a edição aprimorada por hardware do recurso de banco de dados always-confidential em conjunto com tecnologia de hardware confiável.
Funcionamento de cada método
Criptografia de disco
A criptografia de disco opera na camada IaaS. Ative-a ao criar discos de sistema ou de dados do Elastic Compute Service (ECS) ou adicione-a a discos de dados após a criação da instância. Após a ativação, o sistema criptografa automaticamente todos os dados nos discos que hospedam a instância ECS, sem necessidade de infraestrutura de gerenciamento de chaves.
Característica principal: Os dados são invisíveis para o pessoal de O&M de IaaS (engenheiros de processos físicos), mas DBAs e administradores de PaaS ainda podem acessar dados em texto simples.
Desempenho: O impacto é mínimo e, em muitos casos, imperceptível.
Criptografia transparente de dados (TDE)
O TDE opera na camada PaaS. O mecanismo de banco de dados criptografa os dados na memória antes de gravá-los no sistema de arquivos e os descriptografa durante a leitura. Esse processo ocorre de forma transparente, sem exigir alterações nas aplicações.
Característica principal: Os dados permanecem invisíveis tanto para o pessoal de O&M de IaaS quanto de PaaS. No entanto, DBAs ainda conseguem acessar dados em texto simples.
Desempenho: A perda de desempenho depende do tamanho das tabelas sensíveis em relação ao cache do banco de dados:
Se a tabela couber no cache, a perda de desempenho é insignificante.
Caso a tabela seja muito maior que o cache, a perda pode ser significativa.
Na maioria das cargas de trabalho, a perda permanece abaixo de 5%. Sob cargas extremamente pesadas, pode chegar a 20%.
Criptografia de coluna
A criptografia de coluna (edição básica do recurso de banco de dados always-confidential) opera na camada do kernel do banco de dados. Antes de enviar os resultados da consulta ao cliente, o banco de dados criptografa as informações. O cliente descriptografa os resultados usando a chave necessária. Isso separa a propriedade dos dados do seu gerenciamento: quem administra o banco de dados não consegue visualizar o conteúdo armazenado.
Característica principal: Os dados são invisíveis para DBAs. Contudo, o pessoal de O&M de PaaS e IaaS ainda pode acessar dados em texto simples no nível de armazenamento, a menos que se faça upgrade para a edição aprimorada por hardware.
Alteração necessária na aplicação: Substitua o driver Java Database Connectivity (JDBC) pelo EncJDBC. Nenhuma alteração de código é necessária além da troca do driver.
Desempenho: A perda de desempenho depende do volume de dados sensíveis nos resultados da consulta, e não do tamanho da tabela ou do banco de dados:
Consulta de uma única linha: perda mínima.
Consulta de um milhão de linhas de dados criptografados: perda significativa.
Na maioria das cargas de trabalho, a perda permanece abaixo de 7%. Sob cargas extremamente pesadas, pode chegar a 21%.
Arquitetura técnica
A tabela a seguir mostra as diferenças arquiteturais entre os três métodos.
|
**Criptografia de disco** |
**TDE** |
**Criptografia de coluna** |
|
|
Escopo efetivo |
Sistema operacional |
Kernel do banco de dados |
Kernel do banco de dados |
|
Escopo da criptografia |
Host e instância ECS |
Instância de banco de dados |
Instância de banco de dados |
|
Granularidade da criptografia |
Instância |
Banco de dados e tabela |
Coluna |
|
Transparência para a aplicação |
Transparente |
Transparente |
Substituir JDBC por EncJDBC |
Quando usar cada método
Utilize a criptografia de disco para atender a requisitos de conformidade da camada IaaS ou proteger contra cenários de roubo ou cópia de mídias físicas.
Adote o TDE para impedir que o pessoal de O&M de PaaS e IaaS — como administradores de SO — acesse o conteúdo dos arquivos do banco de dados, sem modificar sua aplicação.
Opte pela criptografia de coluna para impedir que DBAs visualizem dados sensíveis ou para proteger dados em trânsito entre o banco de dados e sua aplicação.
Esses métodos são complementares. Ambientes de produção com requisitos rigorosos de segurança podem utilizar os três simultaneamente.