A criptografia em nível de coluna é um tipo de criptografia de dados que criptografa colunas de dados específicos em uma tabela de banco de dados. Essa criptografia é tipicamente usada para proteger dados sensíveis, como números de cartão de crédito ou números da previdência social, de serem comprometidos se o banco de dados for violado.
A criptografia em nível de coluna é diferente da criptografia completa da base de dados, que criptografa todos os dados na base de dados, e da criptografia em nível de linha, que criptografa todos os dados em uma linha específica da base de dados.
A criptografia em nível de coluna normalmente usa um algoritmo de criptografia de chave simétrica, como o AES, para criptografar os dados. A chave simétrica é então ela própria criptografada com um algoritmo de criptografia de chave assimétrica, como o RSA, e armazenada em um local seguro. Para descriptografar os dados, a chave simétrica é primeiro descriptografada usando a chave assimétrica, e depois os dados são descriptografados usando a chave simétrica. Qual criptografia é a mais segura? Não há uma resposta definitiva para esta pergunta, pois depende de vários fatores, incluindo a sensibilidade dos dados criptografados, os requisitos de segurança da organização, as capacidades do algoritmo de criptografia e a disponibilidade de recursos computacionais. Em geral, porém, os algoritmos de criptografia mais fortes são mais seguros do que os mais fracos. Os bancos de dados SQL são criptografados por padrão? Não, os bancos de dados SQL não são criptografados por padrão. Entretanto, a maioria dos sistemas de gerenciamento de banco de dados (SGBD) fornece alguma forma de criptografia para seus bancos de dados. Por exemplo, Microsoft SQL Server fornece Transparent Data Encryption (TDE), Oracle Database fornece Transparent Data Encryption (TDE), e IBM DB2 fornece Infosphere Guardium Data Encryption.
A TDE é criptografia de nível de coluna?
Sim, a TDE é uma técnica de criptografia em nível de coluna. Ela criptografa os dados no banco de dados em nível de coluna, o que significa que cada coluna de dados é criptografada individualmente. Isso o torna mais seguro do que outras técnicas de criptografia, como a criptografia em nível de linha, que criptografa os dados no banco de dados em nível de linha. Que algoritmo o TDE usa? TDE usa o algoritmo de encriptação XOR para encriptar dados.
Como encriptar um nível de coluna no SQL Server?
Para criptografar uma coluna no SQL Server, você pode usar as funções de criptografia embutidas, tais como EncryptByPassPhrase ou EncryptByKey. Estas funções tomam uma coluna ou valor como entrada e retornam uma versão criptografada dessa coluna ou valor. Você pode então armazenar a versão criptografada no banco de dados.
Para descriptografar uma coluna, você usa a função DecryptByPassPhrase ou DecryptByKey, que pega uma coluna ou valor criptografado como uma entrada e retorna a versão descriptografada.
Para mais informações sobre estas funções, consulte a documentação do SQL Server.