O recurso de criptografia de colunas do Data Security Center (DSC) criptografa colunas específicas em bancos de dados ApsaraDB RDS for MySQL, ApsaraDB RDS for PostgreSQL, PolarDB for MySQL, PolarDB for PostgreSQL, PolarDB for PostgreSQL (Oracle Compatible) e PolarDB-X 2.0. Essa funcionalidade impede que usuários não autorizados acessem dados sensíveis em texto simples por meio de softwares da plataforma em nuvem ou ferramentas de conexão com o banco de dados, ajudando a mitigar ameaças de segurança internas e externas.
Benefícios
Nenhuma alteração na aplicação necessária: O driver do cliente gerencia a criptografia e a descriptografia de forma transparente, sem exigir modificações na aplicação.
Baixa sobrecarga de desempenho: Testes de benchmark TPC-C demonstram que o desempenho atinge mais de 93% das operações em texto simples.
Proteção criptográfica de ponta a ponta: Os dados são sempre retornados como texto cifrado. Mesmo que as credenciais do banco de dados sejam comprometidas, os dados permanecem seguros.
Suporte completo a SQL: Todas as funções nativas de consulta SQL operam sobre dados criptografados sem limitações.
Gerenciamento seguro de chaves: Especifique quais chaves utilizar. As chaves são destruídas imediatamente quando o serviço é encerrado, com suporte para atualização e rotação de chaves.
Conceitos principais
A criptografia de colunas no DSC divide-se em duas partes: configurações de criptografia e gerenciamento de permissões de conta. As configurações de criptografia definem o algoritmo, o método e o escopo (instâncias, bancos de dados, tabelas e colunas). O gerenciamento de permissões de conta controla quais contas de banco de dados podem acessar os dados criptografados e seu nível de permissão.
Algoritmo de criptografia: A criptografia de colunas utiliza os algoritmos padrão de mercado SM4-128-GCM, AES-128-GCM e AES-256-GCM para criptografar dados nas colunas especificadas.
-
Método de criptografia: A criptografia de colunas oferece dois métodos para gerenciar chaves de criptografia dos bancos de dados especificados: chave local e chave KMS.
Chave local: As chaves de criptografia são geradas e armazenadas no seu ambiente local.
Chave KMS (Recomendado): Utilize o Key Management Service (KMS) para hospedar as chaves de criptografia do banco de dados especificado. O DSC permite usar uma Customer Master Key criada e gerenciada por você no KMS. Tipos de chave.
-
Permissões de conta:
As contas referem-se às contas de banco de dados das instâncias autorizadas às quais você concedeu acesso ao DSC.
Permissões disponíveis:
Permissão
Descrição
Ciphertext Permission (JDBC Decryption)
Por padrão, a conta acessa o texto cifrado das colunas criptografadas. Utilize um SDK com o driver de cliente always-confidential para descriptografar os dados usando uma chave local ou chave KMS.
Ciphertext Permission (No Decryption Permission)
A conta acessa apenas o texto cifrado. A descriptografia não é possível por nenhum meio.
Plaintext Permissions
Após ativar a criptografia de colunas em um banco de dados, a conta ignora a criptografia e acessa diretamente os dados em texto simples nas colunas criptografadas.
Cotas e limites
|
Tipo de banco de dados |
Versão |
Algoritmo de criptografia |
Método de criptografia |
Permissão |
|
ApsaraDB RDS for MySQL |
A versão principal do mecanismo é MySQL 5.7 ou MySQL 8.0, e a versão secundária do mecanismo é 20240731 ou posterior. |
|
|
|
|
ApsaraDB RDS for PostgreSQL |
A versão principal do mecanismo é PostgreSQL 16, e a versão secundária do mecanismo deve ser 20241230 ou posterior. |
AES-256-GCM. |
Chave local. |
|
|
PolarDB for MySQL |
A versão principal do mecanismo é MySQL 5.7 ou MySQL 8.0, e a versão do proxy de banco de dados deve ser 2.8.36 ou posterior. Importante
Ao configurar políticas de criptografia de colunas para um cluster PolarDB for MySQL, use um endpoint de cluster de leitura/gravação. Endpoints primários não suportam políticas de criptografia de colunas. Configurar proxy de banco de dados e Gerenciar endpoints. |
AES-128-GCM. |
Chave local. |
|
|
PolarDB for PostgreSQL |
A versão principal do mecanismo é PostgreSQL 14, e a versão do banco de dados é 2.0.14.15.31.0 ou posterior. |
AES-256-GCM. |
Chave local. |
|
|
PolarDB for PostgreSQL (Oracle Compatible) |
Apenas a versão 2.0 compatível com sintaxe Oracle é suportada. A versão principal do mecanismo é PostgreSQL 14, e a versão do banco de dados é 2.0.14.15.31.0 ou posterior. |
AES-256-GCM. |
Chave local. |
|
|
PolarDB-X 2.0 |
A série deve ser Enterprise Edition. A versão do banco de dados deve ser polardb-2.5.0_5.4.20-20250714 ou posterior. |
|
|
Faturamento
O DSC oferece uma cota gratuita para uma coluna criptografada. Para criptografar mais colunas, ative o serviço de Column Encryption e adquira uma quantidade suficiente de number of encrypted columns (baseado em assinatura). Faturamento.
Se você definir o encryption method como KMS key, serão aplicadas taxas do KMS para hospedagem de chaves. Faturamento do produto.
Visão geral do processo
Fluxo de trabalho de criptografia de colunas
A figura a seguir ilustra o fluxo de trabalho de criptografia de colunas. Configure criptografia de colunas para um banco de dados.
Acesso a dados criptografados
Após configurar a criptografia de colunas, as contas com permissão de texto cifrado recebem apenas o texto cifrado ao consultar colunas criptografadas. A descriptografia no lado do cliente recupera o texto simples, garantindo que os dados permaneçam criptografados durante a transmissão.
Uso do cliente
A Alibaba Cloud fornece drivers de cliente always-confidential para Java e Go. Utilize uma conta com permissão de texto cifrado (descriptografia JDBC) para descriptografar e acessar dados em texto simples nas colunas criptografadas.
|
Linguagem |
Tipo de banco de dados |
Documentação |
|
Java |
|
Integrar EncJDBC (Suporta descriptografia com chave local e chave KMS) |
|
Go |
|
Integrar driver GoLang (Suporta descriptografia apenas com chave local) |