DDBMS - Segurança e criptografia de banco de dados
Neste capítulo, examinaremos as ameaças que um sistema de banco de dados enfrenta e as medidas de controle. Também estudaremos criptografia como ferramenta de segurança.
Segurança de banco de dados e ameaças
A segurança dos dados é um aspecto imperativo de qualquer sistema de banco de dados. É de particular importância em sistemas distribuídos por causa do grande número de usuários, dados fragmentados e replicados, vários sites e controle distribuído.
Ameaças em um banco de dados
Availability loss - A perda de disponibilidade refere-se à indisponibilidade de objetos de banco de dados por usuários legítimos.
Integrity loss- A perda de integridade ocorre quando operações inaceitáveis são executadas no banco de dados acidental ou maliciosamente. Isso pode acontecer durante a criação, inserção, atualização ou exclusão de dados. Isso resulta em dados corrompidos, levando a decisões incorretas.
Confidentiality loss- A perda de confidencialidade ocorre devido à divulgação não autorizada ou não intencional de informações confidenciais. Isso pode resultar em ações ilegais, ameaças à segurança e perda da confiança pública.
Medidas de Controle
As medidas de controle podem ser amplamente divididas nas seguintes categorias -
Access Control- O controle de acesso inclui mecanismos de segurança em um sistema de gerenciamento de banco de dados para proteção contra acesso não autorizado. Um usuário pode obter acesso ao banco de dados após limpar o processo de login apenas por meio de contas de usuário válidas. Cada conta de usuário é protegida por senha.
Flow Control- Os sistemas distribuídos abrangem muito fluxo de dados de um site para outro e também dentro de um site. O controle de fluxo evita que os dados sejam transferidos de forma que possam ser acessados por agentes não autorizados. Uma política de fluxo lista os canais pelos quais as informações podem fluir. Ele também define classes de segurança para dados e transações.
Data Encryption- A criptografia de dados refere-se à codificação de dados quando dados confidenciais devem ser comunicados por canais públicos. Mesmo que um agente não autorizado obtenha acesso aos dados, ele não consegue entendê-los, pois estão em um formato incompreensível.
O que é criptografia?
Cryptography é a ciência de codificar informações antes de enviar por caminhos de comunicação não confiáveis, de forma que apenas um receptor autorizado possa decodificá-las e usá-las.
A mensagem codificada é chamada cipher text e a mensagem original é chamada plain text. O processo de conversão de texto simples em texto cifrado pelo remetente é chamado de codificação ouencryption. O processo de conversão de texto cifrado em texto simples pelo receptor é chamado de decodificação oudecryption.
Todo o procedimento de comunicação usando criptografia pode ser ilustrado através do diagrama a seguir -
Métodos convencionais de criptografia
Na criptografia convencional, a criptografia e a descriptografia são feitas usando a mesma chave secreta. Aqui, o remetente criptografa a mensagem com um algoritmo de criptografia usando uma cópia da chave secreta. A mensagem criptografada é então enviada por canais de comunicação públicos. Ao receber a mensagem criptografada, o receptor a descriptografa com um algoritmo de descriptografia correspondente usando a mesma chave secreta.
A segurança na criptografia convencional depende de dois fatores -
Um algoritmo de som conhecido por todos.
Uma chave secreta gerada aleatoriamente, de preferência longa, conhecida apenas pelo remetente e pelo receptor.
O algoritmo de criptografia convencional mais famoso é Data Encryption Standard ou DES.
A vantagem desse método é sua fácil aplicabilidade. No entanto, o maior problema da criptografia convencional é compartilhar a chave secreta entre as partes que se comunicam. As maneiras de enviar a chave são complicadas e altamente suscetíveis a espionagem.
Criptografia de chave pública
Em contraste com a criptografia convencional, a criptografia de chave pública usa duas chaves diferentes, conhecidas como chave pública e chave privada. Cada usuário gera o par de chave pública e chave privada. O usuário então coloca a chave pública em um local acessível. Quando um remetente deseja enviar uma mensagem, ele a criptografa usando a chave pública do destinatário. Ao receber a mensagem criptografada, o destinatário a descriptografa usando sua chave privada. Uma vez que a chave privada não é conhecida por ninguém além do destinatário, nenhuma outra pessoa que recebe a mensagem pode descriptografá-la.
Os algoritmos de criptografia de chave pública mais populares são RSA algoritmo e Diffie– Hellmanalgoritmo. Este método é muito seguro para enviar mensagens privadas. No entanto, o problema é que envolve muitos cálculos e, portanto, se mostra ineficiente para mensagens longas.
A solução é usar uma combinação de criptografia convencional e de chave pública. A chave secreta é criptografada usando criptografia de chave pública antes de ser compartilhada entre as partes que se comunicam. Em seguida, a mensagem é enviada usando criptografia convencional com o auxílio da chave secreta compartilhada.
Assinaturas digitais
Uma Assinatura Digital (DS) é uma técnica de autenticação baseada na criptografia de chave pública usada em aplicativos de comércio eletrônico. Ele associa uma marca única a um indivíduo dentro do corpo de sua mensagem. Isso ajuda outras pessoas a autenticar remetentes válidos de mensagens.
Normalmente, a assinatura digital de um usuário varia de mensagem para mensagem, a fim de fornecer segurança contra falsificação. O método é o seguinte -
O remetente pega uma mensagem, calcula o resumo da mensagem da mensagem e assina o resumo com uma chave privada.
O remetente então anexa o resumo assinado junto com a mensagem de texto simples.
A mensagem é enviada pelo canal de comunicação.
O receptor remove o resumo assinado anexado e verifica o resumo usando a chave pública correspondente.
O receptor então pega a mensagem de texto simples e a executa através do mesmo algoritmo de resumo da mensagem.
Se os resultados da etapa 4 e etapa 5 corresponderem, o destinatário saberá que a mensagem tem integridade e autenticidade.