Atenção: esse artigo tem um vídeo complementar. Clique e assista!
O artigo apresenta diferentes mecanismos para implementação de criptografia nas versões 2000 e 2005 do SQL Server. Para isso, exemplos práticos são descritos. Ao final, é apresentada uma solução de implementação para a funcionalidade de autenticação de usuário com criptografia através de um exemplo.
Para que serve:
O artigo auxilia DBAs na implantação de criptografia em bases de dados no SQL Server 2000 e 2005, apresentando os principais mecanismos de criptografia disponibilizados por este SGBD através de exemplos práticos e de fácil acompanhamento por parte dos leitores.
Em que situação o tema é útil:
A segurança dos dados é um requisito essencial em qualquer organização que possua uma base de dados. O objetivo com a criptografia é impedir o acesso aos dados por pessoas não autorizadas, seja da mesma empresa ou pessoas externas.
O SQL Server oferece diversas formas de se trabalhar com criptografia de dados. Neste artigo, será apresentada uma solução que possibilita conhecer uma forma como poderemos criptografar uma informação em um banco de dados e recuperar a mesma de forma simples e fácil. Para isso, serão utilizados recursos do sistema gerenciador de banco de dados SQL Server 2000 e 2005.
Criptografia de Dados
A criptografia de um modo geral é utilizada para esconder, proteger as informações daqueles que não estão autorizados a conhecer o conteúdo de um arquivo. Ela é muito importante e ajuda também a cobrir falhas de segurança em alguns casos como, por exemplo, imaginemos que um de seus servidores que continham informações secretas da empresa e de clientes foi roubado por uma falha humana, alguém da sua equipe esqueceu a porta do CPD aberta, uma situação bem drástica, porem não impossível de acontecer. Nesta situação, uma boa política de segurança se tratando de criptografia faria com que os dados ali no servidor não tivessem valor nenhum para a pessoa que roubou, pois ele não teria a chave ou senha para poder visualizar os dados.
Com isso, pode-se dizer que a criptografia ajuda a garantir a segurança, mas não deve ser utilizado como uma única forma de proteção de seus dados.
A criptografia tem quatro objetivos principais:
• confidencialidadeda mensagem: só o destinatário autorizado deve ser capaz de extrair o conteúdo da mensagem da sua forma cifrada. Além disso, a obtenção de informação sobre o conteúdo da mensagem (como uma distribuição estatística de certos caracteres) não deve ser possível, uma vez que, se o for, torna mais fácil a análise criptográfica.
• integridadeda mensagem: o destinatário deverá ser capaz de determinar se a mensagem foi alterada durante a transmissão.
• autenticaçãodo remetente: o destinatário deverá ser capaz de identificar o remetente e verificar que foi mesmo ele quem enviou a mensagem.
• não-repúdioouirretratabilidadedo emissor: não deverá ser possível ao emissor negar a autoria da mensagem.
Tipos de Algoritmos: Criptografia Simétrica e Assimétrica
Existem basicamente dois tipos principais de algoritmos para implementar os conceitos de criptografia: Criptografia Simétrica e Criptografia Assimétrica.
O que caracteriza a criptografia simétrica é que ela utiliza a mesma chave para cifrar e decifrar as informações (Figura 1). Ela é considerada rápida, mas não tão segura como a chave assimétrica que iremos falar logo a seguir. Nela, existe a possibilidade de que alguém mal intencionado consiga captar a chave e possa através dela decifrar os dados, já que, como dito anteriormente, a mesma é utilizada para cifrar e decifrar, ou seja, ela é de poder do emissor e do receptor partindo do principio que somente eles possuam a chave simétrica. Embora existam esses problemas, esse mecanismo de criptografia é muito utilizado hoje em dia devido a sua velocidade.
Figura 1. Criptografia Simétrica
Já a criptografia assimétrica possui dois tipos de chave, uma para criptografar e outra para descodificar os dados (Figura 2). Um detalhe importante que existe neste tipo de criptografia é que uma dessas chaves é privada e a outra é publica. A chave utilizada para criptografar os dados é a que chamamos de chave publica, ou seja, a pessoa que transmite os dados utiliza essa chave, isso porque ela é divulgada para quem deseja enviar os dados cifrados. Já a chave utilizada para descodificar as informações é a que chamamos de chave privada, o que subentende que ela é de domínio da pessoa que tem direito de visualizar os dados em seu estado normal. A descodificação se torna possível porque ambas as chaves estão ligadas matematicamente, por isso é possível decifrar o que foi cifrada pela outra. A criptografia assimétrica também possui sua desvantagem: o seu desempenho não é dos melhores, pois os processos de criptografar e descodificar utilizam um algoritmo mais complexo do que o mecanismo de criptografia simétrica.
...