Verificação pública e armazenamento seguro de dados
dinâmicos em computação nas nuvens
Humberto Gustavo de Melol1, Prof. Dr. João Nunes de Souza1
1
Programa de pós-graduação em ciência da computação
Universidade Federal de Uberlândia (UF)
Uberlândia – MG – Brasil
[email protected], [email protected]
Nível: Mestrado
Data de Ingresso: 03/2009
Previsão defesa: Agosto 2011
Resumo. Com a disseminação e a popularização da internet, cada vez mais
pessoas e empresas estão utilizando os serviços oferecidos no ambiente da
computação nas nuvens. Diante desse cenário, o objetivo principal desse
artigo é prover mecanismos de seguranças mais eficazes e eficientes. A
contribuição desse trabalho visa propor um modelo de verificação pública e
ferramentas de manipulação e armazenamento em banco de dados cifrados
nesses ambientes.
Palavras-chave: Banco de dados, Criptografia, Computação nas nuvens.
1. Caracterização do problema
Com a grande disseminação e a crescente evolução das tecnologias de armazenamento,
comunicação e internet, muitas empresas e clientes tem procurado cada vez mais na
computação nas nuvens uma solução mais eficaz e barata para seus negócios. Nessa
arquitetura os softwares de aplicação e os bancos de dados estão armazenados em
grandes data centers, onde existe uma grande estrutura física própria e adequada para
armazenamento e segurança física do local. Esse tipo de arquitetura traz muitas
vantagens com relação à portabilidade, mobilidade, além de um custo menor de
aquisição e manutenção de arquitetura e infra-estrutura de TI, principalmente no caso
das grandes empresas que possuem filiais geograficamente distantes.
Com o avanço e a popularização desses serviços, o custo armazenamento nos
data centers, os preços dos computadores, banda de internet e os softwares de serviços
tendem a cair. Porém esse paradigma apresenta diversos desafios de segurança, e um
dos maiores problemas enfrentados é a garantia da integridade das informações
armazenadas nas nuvens contra possíveis ataques e principalmente aos administradores
dos sistemas de banco de dados e servidores dos data centers.
Esse trabalho propõe um esquema de verificação pública para garantir a
integridade e a segurança no armazenamento das informações nas nuvens, além de criar
um mecanismo para consultar banco de dados cifrados nas nuvens sem a necessidade de
decifrar os dados no servidor.
2. Fundamentação teórica
2.1 Criptografia
Criptografia vem do grego Kryptos=escondido e gráphein=grafia, seu principal objetivo
é possibilitar que duas partes possam se comunicar de forma segura através de um canal
de comunicação geralmente inseguro.
Uma mensagem que será enviada por um remetente a um destinatário é
comumente chamada de texto claro, sobre essa mensagem é aplicado uma técnica de
cifragem, após a aplicação dessa técnica é obtido um texto cifrado de forma que seja
inteligível a qualquer estranho que interceptar a mensagem. Esse texto cifrado é então
enviado para o destinatário que por sua vez irá decodificar e ler a mensagem com
clareza, esse processo é chamado comumente de decifragem. Esses processos utilizam
as chaves que são componentes fundamentais que interagem com os algoritmos que são
públicos.
Existem dois tipos de criptografia em relação às chaves: simétrica e assimétrica.
Quando o destinatário e o remetente utilizam a mesma chave para cifragem e
decifragem, é chamado de criptografia de chave simétrica. Esse tipo é geralmente
utilizado para cifragem de grandes massas de dados, devido ao seu bom desempenho de
processamento. O outro tipo de criptografia é o de chave pública. Nesse sistema é
utilizado um par de chaves chamadas de pública e privada, sendo que uma é utilizada
para cifrar e outra para decifrar. Esse esquema é utilizado para cifragem de pequenas
quantidades de dados, pois o seu desempenho é menor em relação ao sistema de chave
simétrica.
2.2. Assinaturas Digitais
São técnicas de criptografia assimétrica que permitem provar de forma única que a
mensagem enviada ao destinatário veio do emissor. Esse esquema possui três
propriedades:
•
Autenticidade: Confirmação de que a assinatura foi realizada pelo emissor;
•
Integridade: Qualquer alteração na mensagem faz com que a assinatura não
corresponda ao emissor;
•
Não repúdio: O emissor não pode negar a autenticidade da mensagem.
2.3. Funções de Hash
São técnicas matemáticas que transformam uma grande quantidade de informação de
entrada em uma pequena quantidade de informação na saída, com o objetivo de
identificar uma informação de forma única. O Hash tem como principais propriedades:
•
Ser unidirecional: Ou seja, a partir de um código de Hash é impossível encontrar
o texto original;
•
Resistente a colisões: Não deve existir um par de textos com o mesmo código de
Hash.
As técnicas de Hash são muito utilizadas na verificação da integridade de
informações.
3. Caracterização de Contribuição
As contribuições pretendidas por este trabalho são as definições de um modelo de
segurança visando à verificação pública dos dados armazenados na nuvem. Outra
contribuição importante do nosso trabalho será acrescentar no esquema proposto em [2]
um modelo que visa tratar também os dados privados, utilizando um sistema de
cifragem sobre uma base de dados e criar mecanismos para consultar e manipular esses
dados de formar cifrada, ou seja, sem a necessidade de decifrá-los no servidor,
possibilitando assim uma maior segurança no contexto de armazenamento na nuvem,
protegendo essas informações principalmente dos administradores dos servidores e os
bancos de dados dos data centers.
4. Estado atual do trabalho
Estão em andamento as seguintes atividades:
•
Levantamento bibliográfico;
•
Estudo teórico sobre criptografia;
•
Estudo comparativo das linguagens de programação e SGBD que serão
utilizados no desenvolvimento do sistema;
5. Trabalhos relacionados
Uma abordagem de verificação pública é proposta em [2]. Nesta abordagem é feito a
implementação de um modelo de verificação pública somente sobre dados não cifrados
utilizando assinaturas BLS e o conceito de emparelhamento bilinear. Os autores
atingiram os objetivos nesse contexto. Nossa abordagem difere desse trabalho no fato de
aplicar essa verificação sobre bancos de dados cifrados, além da manipulação e
armazenamento dessas informações.
Na abordagem [3] é proposto um esquema de execução SQL sobre banco de
dados cifrados, utilizando funções de mapeamento e meta dados. Esses mecanismos são
muito importantes no auxilio a consultas em bancos de dados cifrados sem a
necessidade de decifrá-los no servidor.
6. Resultados esperados
Com a crescente procura e demanda de serviços na computação nas nuvens, esperamos
com esse trabalho desenvolver um mecanismo capaz de satisfazer todas as condições de
segurança necessárias para tornar o ambiente mais seguro de se utilizar.
Para validação do trabalho será desenvolvido um estudo de caso envolvendo
uma aplicação no qual irá permitir consultas e manipulação dos dados armazenados em
um banco de dados cifrado, sem a necessidade de decifrar os dados no servidor. Será
necessário também testar os mecanismos de verificação pública das informações
armazenadas nas nuvens.
7. Referências
[1] Stinson, Douglas R. (2006), Cryptography Theory and Practice, Chapman &
Hall/CRC, 3rd edition.
[2] Wang, Qian, Wang, Cong, Li, Jin, Ren, Kui, Lou, Wenjing (2009), “Enabling Public
Verificability and Data Dynamics for Storage Security in Cloud Computing”,
Cryptology ePrint Archive, Report 2009.
[3] Hacigumus, Hakan, Lyer, Bala, Li, Chen, Mehrotra, Sharad (2002), “Executing SQL
over Encrypted Data in Database-Service-Provider Model”. Technical Report TRDB-0202, Database research Group at University of California, Irvine 2002.
Download

Verificação pública e armazenamento seguro de dados