Armazenamento Distribuído de Dados Seguros para Efeito de

Propaganda
XIV Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais — SBSeg 2014
Armazenamento Distribuído de Dados Seguros
para Efeito de Sistemas de Identificação Civil
Renata Jordão, Valério Aymoré Martins, Fábio Buiati,
Flávio Elias de Deus, Rafael Timóteo de Sousa Júnior
Departamento de Engenharia Elétrica, Universidade de Brasília
Campus Universitário Darcy Ribeiro, Asa Norte, 70910-900, Brasília, DF, Brasil
{renata.jordao, fabio.buiati}@redes.unb.br,
{valeriomartins, flavioelias, desousa}@unb.br
Abstract: In order to prevent the invasion and discovery of sensitive data, a new
approach is presented to protect the confidentiality of data even when the
attackers have access to all data from the server: using systems that perform
queries and inserts on encrypted data without the decryption key. The model set
is applied in a real scenario: a distributed system hosted by Google (EBQ Encrypted BigQuery), which includes the use of encryption in data stored in
non-relational databases for massive data processing. As a result, it´s shown
that these systems support a variety of applications with low overhead.
Resumo: Com o intuito de impedir a invasão e a descoberta de dados sigilosos
em sistemas de identificação, uma nova abordagem é apresentada para
proteger a confidencialidade dos dados, mesmo quando os atacantes têm acesso
aos dados do servidor, utilizando sistemas que realizam consultas em dados
criptografados sem acesso à chave de decodificação. O modelo proposto é
aplicado em um cenário real: um sistema distribuído hospedado pelo Google
(EBQ - Encrypted BigQuery), que abarca o uso de criptografia em dados que
são armazenados em bancos de dados não-relacionais (NoSQL) desenvolvidos
para o tratamento massivo de dados. Os resultados indicam a possibilidade de
uso do modelo em uma variedade de aplicações com baixo custo operacional.
1 Introdução
Atualmente, o cuidado com a criação e a manutenção de ambientes seguros é uma
atividade fundamental de administradores de sistemas, visto que a maioria dos ataques
relatados de roubos de informações e acessos não autorizados é feita diretamente na
origem dos dados (UNISYS, 2014) – seja pelo acesso aos seus bancos de dados por
pessoas pertencentes à organização, ou seja pela falta de mecanismos que evitam a leitura
direta das bases de dados remotamente por terceiros.
É, então, proposta deste trabalho a implementação de armazenamento distribuído de
dados seguros para ambientes nos quais haja risco de acesso direto ao dado ou de uso do
SGBD por outros acessos não autorizados. O objetivo desta proposta é garantir
confidencialidade e integridade aos dados hospedados em bancos de dados de sistemas
com conteúdo sigiloso, a partir de modelos criptográficos ajustáveis aos campos das
tabelas, o que permite operações de consultas diretamente nos dados cifrados. O modelo
éavaliado em um cenário real: um sistema hospedado pelo Google EBQ.
501
c
2014
SBC — Soc. Bras. de Computação
XIV Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais — SBSeg 2014
2. Armazenamento e processamento de dados massivos
2.1. Armazenamento de dados massivos baseados em NoSQL
O grande volume de dados gerado por aplicações Web tem contribuído para o surgimento
de novos paradigmas e tecnologias. Nesse contexto, uma nova categoria de banco de
dados, chamada NoSQL (Not Only SQL), foi proposta com o objetivo de atender aos
requisitos de gerenciamento de grandes volumes de dados. Essa categoria quebra o
paradigma ACID (CATTEL, 2011) e são agrupados em quatro tipos básicos, a saber:
•
Chave-valor (Key-Value Stores): modelo simples que permite a visualização do
banco de dados como uma grande tabela hash.
•
Orientado a colunas (BigTable-style Databases): armazenador que teve como
referência o modelo BigTable do Google e que, dentre suas características, podemos
destacar o particionamento dos dados com forte consistência dos mesmos.
•
Orientado a documentos (Document Databases): armazena coleções de
documentos, ou seja, objetos com identificadores únicos e um conjunto de campos
(documentos aninhados), assemelhando-se ao modelo chave-valor; porém cada
documento tem um conjunto de campos-chaves e os valores desses campos.
•
Orientado a grafos (Graph Databases): possui três componentes básicos (nós,
relacionamentos, propriedades) que permitem que o SGBD possa ser visto como um
multigrafo rotulado e direcionado, em que cada par de nós pode ser conectado por
mais de uma aresta.
2.2. Processamento de dados massivos
Hadoop foi desenvolvido para ser executado em um grande número de máquinas que não
compartem memória nem discos, no qual o HDFS (Hadoop Distributed File System)éo
sistema de arquivos distribuídos. Os dados são divididos em blocos que se propagam em
diferentes servidores. Assim, os dados armazenados em um servidor– que, porventura,
se desconecta ou morre– podem ser recuperados a partir de uma cópia conhecida. Para o
processamento de dados, o Hadoop implementa mecanismos que executam tarefas em
paralelo - o MapReduce - um framework computacional para processamento paralelo em
sistemas distribuídos. São suas funções:
•
Map: recebe uma lista como entrada; aplica uma função em que os blocos do
sistema de arquivos distribuídos podem ser processados em paralelo; gera uma
nova lista como saída, normalmente outros pares chave/valor.
•
Shuffle: responsável por organizar o retorno da função Map, atribuindo para a
entrada de cada Reduce todos os valores associados a uma mesma chave.
•
Reduce: recebe o resultado da função Map como entrada; aplica uma função para
que a entrada seja reduzida a um único valor na saída.
É alvo deste trabalho o modelo de armazenadores NoSQL orientados a colunas com
funções de MapReduce implementado pela Google: o BigQuery/Dremel.
BigQuery é a implementação externa da ferramenta Dremel, usada pelo Google para
serviço de consulta em grandes conjuntos de dados, usando uma arquitetura de
processamento paralelo e orientação a colunas, o que dá ganhos significativos de E/S,
pois não é lido todo o registro para cada consulta.
502
c
2014
SBC — Soc. Bras. de Computação
XIV Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais — SBSeg 2014
3. Proposta de Armazenamento de Dados Seguros
SONG et al. (2000) descrevem esquemas criptográficos para efetuar uma busca por
palavras-chave em dados cifrados usando um servidor inseguro. Boneh & Waters (2007)
apresentam um modelo com esquemas de chaves públicas para comparação, checagem
de subconjuntos e consultas de conjunção em dados cifrados. Esses esquemas têm cifras
de tamanho exponencial em relação ao texto em claro, limitando a sua aplicação prática.
Das implementações existentes, o CryptDB (POPA et al., 2011) é um sistema que provê
confidencialidade para aplicações baseadas em bancos de dados SQL, utilizando um
proxy para a interceptação das consultas vindas do cliente, cifrando toda a comunicação.
Boneh et al. (2013) apresentam o Cipherbase: um sistema de banco de dados SQL que
permite às organizações utilizar as vantagens da computação em nuvem mantendo a
confidencialidade dos dados sensíveis.
Neste trabalho emprega-se a implementação de segurança em modelos de
armazenamento orientado a colunas BigQuery da Google, que provê uma interface de
acesso criptografado, o EBQ - uma interface que permite a cifragem dos dados, por parte
do cliente, seguida do seu carregamento (upload) (TIGANI; NAIDU, 2014). O EBQ
inclui um campo extra (encrypt) ao armazenamento tradicional, que determina os tipos
de esquemas criptográficos que serão usados em cada coluna. Todo o acesso ao dado
armazenado se dá de forma distribuída pela integração da solução com o framework
Hadoop no Google BigQuery junto à plataforma de armazenamento (Figura 1).
Figura 1. Arquitetura EBQ.
Assim, a consulta de dados criptografados utiliza, para cada tipo de criptografia definido,
um conjunto de criptossistemas que trate esses dados adequadamente, sem a perda de
confidencialidade (Goldreich, 2009). São esses:
•
Algoritmo probabilístico: a cifra é dita probabilística quando para valores
diferentes existirem cifras diferentes com grande probabilidade (KAUFMAN et al.,
2002). Apesar de garantir confidencialidade e integridade, não é possível realizar
manipulações com os dados cifrados, exceto o comando SELECT.
•
Algoritmo determinístico: O modelo de criptografia é dito determinístico quando é
gerada a mesma cifra para a mesma mensagem em claro. Esse esquema permite a
realização de consultas de igualdade, isto é, pode realizar o comando SELECT com
predicados de igualdade, junções de igualdade, COUNT (POPA et al., 2011).
ವ
Busca por palavras: nesse esquema é calculada a função hash de todas as
sequências possíveis de palavras. Em seguida, os hashes são mantidos em um campo
503
c
2014
SBC — Soc. Bras. de Computação
XIV Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais — SBSeg 2014
e separados por espaços; e asim pode ser usada uma cláusula WHERE com checagem
de conteúdo (CONTAINS) com palavras-chaves inteiras, mas não aparece em
consultas SELECT simples.
ವ
Busca probabilística por palavras: consiste em buscar uma palavra com o retorno
de todas as posições em que ela aparece no texto em claro (SONG et. al, 2000).
Permite consultas com o uso da cláusula WHERE e atributo CONTAINS ou LIKE.
•
Criptografia homomórfica: criptografia que permite lidar com tipos específicos de
cálculos em cifras e gerar um resultado também cifrado que, quando decifrado,
corresponde ao resultado de operações realizadas em textos em claro (Gentry, 2009).
A Tabela 1 apresenta um resumo desses modelos.
Tabela 1. Resumo dos Esquemas Criptográficos Existentes no EBQ.
4. Análises e Resultados
Foi aplicado modelos criptográficos que atendessem todos os tipos criptográficos em
estudo, avaliando o desempenho e o custo operacional adicionados por cada
criptossistema quando aplicado em um sistema distribuído de armazenamento massivo
de dados orientado a colunas suportado do EBQ sobre o Google BigQuery.
Para análises de desempenho e overhead foi utilizado um ambiente com um computador
com processador core I5 1,8GHz, 6GB de RAM e Linux Ubuntu 14.04; executando a
ferramenta EBQ conectada ao Google BigQuery. O EBQ foi executado por meio de uma
ferramenta baseada em Python, que acessa BigQuery usando a linha de comando.
Foi utilizado um esquema orientado a colunas, tendo como tema um cadastro pessoal que
possui um número de identificação e diversas famílias de colunas, aonde um tipo de
criptografia foi escolhido para cada coluna de forma a permitir a análise de sua influência
no desempenho da consulta. Foi realizada a inserção com dois volumes de entrada (5000
e 50000 registros) para a análise do impacto do volume de dados criptografados em
relação ao tempo de resposta.
4.1. Realização das Consultas
Para suporte a análise foi realizada uma série consultas SQL com atributos e resultados
diversos tendo em vista a avaliação da viabilidade da aplicação dos criptossistemas em
grandes volumes de dados. Destacam-se: (a) Consultas simples sobre cada atributo de
cada família de colunas; (b) Consultas com cláusula WHERE com atributo de igualdade
para teste da cifra determinística; (c) Consultas com cláusula WHERE com a condição
CONTAINS para teste da cifra de busca probabilística por palavras; (d) Consultas com
cláusula WHERE e testes com operações algébricas para teste de cifragem homomórfica;
(e) Consultas com soma de duas colunas cifradas com criptografia homomórfica.
504
c
2014
SBC — Soc. Bras. de Computação
XIV Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais — SBSeg 2014
4.2. Avaliação dos Resultados
Foi avaliado o tempo de resposta de cada consulta EBQ, usando como comparação uma
tabela sem criptografia com os mesmos registros. Cada processo de consulta foi repetido
50 vezes, de forma a obter um tempo médio, uma vez que a maior parte do processamento
érealizada nos servidores do Google em um ambiente não-controlado em que não se pode
garantir a expectativa de execução correta e homogênea.
Da Figura 4, verifica-se que as consultas EBQ acrescentam um atraso ao tempo de
resposta, devido ao volume de dados que os esquemas criptográficos inserem. A consulta
simples apresenta valores altos, visto que requisitou uma coluna de cada família de
colunas. Observa-se também que a consulta de soma homomórfica gera um tempo de
resposta grande em relação à consulta sem criptografia, devido ao tempo de
processamento da soma das cifras agregado ao tempo de decodificação do resultado na
máquina do cliente. Mesmo que o volume de dados aumente pelo processo criptográfico,
esse aumento não prejudica a eficiência nem a velocidade de consultas dinâmicas.
Figura 4. Tempo médio (em segundos) gasto em consultas – 5000 registros.
A mesma consulta foi realizada com volume de 50000 registros (Figura 5) aonde observase que, mesmo aumentando a quantidade de dados, a margem de atraso permanece
aparentemente controlada, confirmando essa afirmação, apresentando a performance
obtida com o número de registros aumentado em 10 vezes o seu carregamento original.
Os atrasos encontrados são pequenos, se comparados com o tamanho da tabela gerada.
Novamente, observa-se que as consultas mais demoradas são aquelas que envolvem a
leitura de diferentes famílias de colunas e aquelas que realizam operações em cifras
homomórficas, que requerem processamento extra, devido à extensão de sua cifra.
Figura 5. Tempo médio (em segundos) gasto em consultas – 50000 registros.
505
c
2014
SBC — Soc. Bras. de Computação
XIV Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais — SBSeg 2014
Verifica-se, portanto, que a aplicação de consultas diretas sobre grandes volumes de
dados criptografados armazenados em ambiente distribuídos– como éo caso do EBQ–
adiciona um atraso ao intervalo de resposta. Porém, à medida que o volume de dados
cresce, essa variação se estabiliza.
5. Conclusões e trabalhos futuros
Os resultados apresentados permitem identificar que a utilização de criptografia em
grandes volumes de dados agrega alguma carga de dados e atraso ao tempo de resposta
às pesquisas, porém esse gasto extra de tempo e de memória não se torna tão relevante,
levando em conta a velocidade com que as operações são efetuadas. Como proposta de
trabalhos futuros é sugerida a inserção de uma gama maior de atributos de consultas,
como GROUP BY e DISTINCT, assim como a realização de consultas com parâmetros de
diferentes famílias de colunas. Além disso, seria interessante a implementação de um
servidor seguro de gerenciamento de chaves, permitindo que a configuração de
multiusuários acesse os dados criptografados.
Agradecimentos
Este trabalho conta com apoio do Ministério da Justiça, do Ministério do Planejamento,
Orçamento e Gestão, da FINEP (Convênio 01.12.0555.00 RENASIC/PROTO), da
Fundação de Apoio à Pesquisa do Distrito Federal (FAP-DF) e do Programa Nacional de
Pós-Doutorado/CAPES in Brazil (PNPD/CAPES).
Referências
Arasu, A., Blanas, S., Eguro, K., Kaushik, R., Kossmann, D., Ramamurthy, R., &
Venkatesan, R. (2013). Orthogonal Security with Cipherbase. In CIDR.
Boneh, D., & Waters, B. (2007). Conjunctive, subset, and range queries on encrypted
data. In Theory of cryptography (pp. 535-554). Springer Berlin Heidelberg.
Gentry, C. (2009). A fully homomorphic encryption scheme. PhD. Stanford University.
Goldreich, O. (2009). Foundations of Cryptography: vol. 2. Cambridge University Press.
Kaufman, C., Perlman, R; Speciner, M. (2002). Network Security: Private
Communication in a Public World. Editora: Prentice Hall, 2nd Edition.
Paillier, P. (1999). Public-key cryptosystems based on composite degree residousity
classes. In Advanced in cryptology – EUROCRYPT’99. Springer Berlin Heidelberg.
Popa, R. A., Redfield, C., Zeldovich, N., & Balakrishnan, H. (2011). Cryptdb: protecting
confidentiality with encrypted query processing. In Proceedings of the Twenty-Third
ACM Symposium on Operating Systems Principles (pp. 85-100). ACM.
Song, D. X., Wagner, D., & Perrig, A. (2000). Practical techniques for searches on
encrypted data. In Security and Privacy, 2000. S&P 2000. Proceedings. 2000 IEEE
Symposium on (pp. 44-55). IEEE.
Tigani, J., & Naidu, S. (2014). Google BigQuery Analytics. Editora: John Wiley & Sons.
1st Edition.
Unisys. (2014). Critical Infrastructure: Security Preparedness and Maturity.
Independently conducted by Ponemon Institute LLC.
506
c
2014
SBC — Soc. Bras. de Computação
Download