• Nenhum resultado encontrado

Nesta seção, discute-se alguns aspectos e cenários relacionados ao funcionamento da estratégia QSM-EXTRACTION. Diferentes casos analisados, tais como: alterações realizadas pelo usuário no arquivo original; alterações efetuadas, de forma intencional ou não, pelo provedor nos arquivos que armazenam as informações da qualidade, quantidade e medida; dentre outros. Adicionalmente, examina-se diferentes questões relacionadas a integridade e disponibilidade.

Inicialmente, considere o cenário onde um usuário deseja realizar uma alteração em um arquivo que, anteriormente, foi armazenado na nuvem utilizando-se a estratégia QSM- EXTRACTION. Neste caso, será necessário, primeiramente, recuperar os arquivos Fq.bin, Fs.bin e Fm.bin (os quais armazenam, respectivamente, as características de qualidade, quanti- dade e medida). Ou seja, é preciso transferir os arquivos Fq.bin, Fs.bin e Fm.bin dos provedores de serviços em nuvem para o cliente ou para uma terceira parte confiável. Em seguida, a partir desses três arquivos, o arquivo original é recomposto e apresentado ao cliente, o qual poderá realizar as alterações desejadas. Após a realização dessas alterações, o arquivo alterado deve passar pelas etapas de fragmentação, decomposição e dispersão, o que irá gerar novamente os

arquivos Fq.bin, Fs.bin e Fm.bin, os quais serão enviados para os provedores, atualizando os arquivos anteriores.

Vale destacar que, neste caso, a estratégia QSM-EXTRACTION assemelha-se a abordagem de criptografia. Mais precisamente, para se atualizar um arquivo que foi, anterior- mente, criptografado e armazenado na nuvem, é necessário, inicialmente, recuperar o arquivo criptografado (transferindo-o para o cliente ou para uma terceira parte confiável). Em seguida, deve-se descriptografar o arquivo, utilizando a chave adequada, para, em seguida, apresentar o arquivo ao usuário que deseja alterá-lo. Após a alteração, o arquivo é novamente criptografado e enviado para o provedor do serviço de armazenamento em nuvem (sobrepondo o arquivo criptografado anterior, por exemplo).

Em se tratando da abordagem da fragmentação, caso a alteração envolva atributos de um mesmo fragmento, será necessário apenas atualizar o fragmento. Porém, se a alteração en- volve atributos de fragmentos diferentes, será necessário executar alguma estratégia de reescrita, com a finalidade de transformar esta atualização em um conjunto de atualizações, uma para cada fragmento envolvido na atualização original, ou ainda transferir os fragmentos envolvidos na atualização para o cliente ou para uma terceira parte confiável.

Ainda para este primeiro cenário, caso utilize-se a abordagem de fragmentação e criptografia, o processo de alteração dos dados armazenados na nuvem pelo cliente poderá envolver a transferência de dados (fragmentos) dos provedores para o cliente ou para uma terceira parte confiável, a descriptografia dos atributos criptografados e a reescrita da atualização desejada (caso envolva atributos de fragmentos diferentes).

No segundo cenário, considere o caso onde o conteúdo de um dos arquivos produzi- dos pela estratégia QSM-EXTRACTION, Fq.bin, Fs.bin ou Fm.bin, e armazenado na nuvem, foi alterado, de forma proposital, por um atacante, ou acidental, por falha de equipamento ou sistema.

Neste caso, o processo de recomposição dos objetos de informação que compõem o arquivo original utilizado no QSM-EXTRACTION irá detectar essa alteração, conforme discutido na Seção 6.5.5. Contudo, não será possível reconstruir o arquivo original. Por outro lado, vale destacar que uma das premissas assumidas por este trabalho é que os provedores de nuvem garantem a integridade e a disponibilidade dos dados armazenados. Normalmente a nuvem é uma arquitetura distribuída com várias máquinas virtuais (instâncias) em uma ou várias zonas de disponibilidade, que oferece serviços de aplicações distribuídas, balanceamento

de carga, replicação de dados e tolerância a falhas. Mesmo assim, caso a premissa da garantia de disponibilidade não seja atendida, a estratégia QSM-EXTRACTION pode ser utilizada em conjunto com algoritmos de dispersão de informações (Information Dispersal Algorithm - IDA) para adicionar esta funcionalidade aos dados armazenados na nuvem. Por exemplo, os arquivos Fq.bin, Fs.bin e Fm.bin poderiam ser fragmentados em 3 partes cada um (n = 3), de forma que 2 partes (m = 2) sejam suficientes para recuperação dos arquivos originais. Neste caso os fragmentos seriam dispersos para 3 nuvens distintas conforme esquema da Tabela 15. Caso uma das nuvens fique indisponível, os arquivos podem ser recompostos a partir dos fragmentos armazenados nas outras duas nuvens ativas. A mesma abordagem pode ser utilizada no caso de um dos provedores corromper, de forma proposital ou não, os arquivos sob sua responsabilidade. Desta forma, apesar desta falha, seria possível reconstruir o arquivo original.

Tabela 15 – Estratégia QSM-EXTRACTION com garantia de disponibilidade

Arquivos Fq.bin Fs.bin Fm.bin

Fragmentos gerados Fq1, Fq2, Fq3 Fs1, Fs2, Fs3 Fm1, Fm2, Fm3 Nuvens CSP 1 CSP 2 CSP 3 Fragmentos dispersados nas nuvens Fq1, Fs2, Fm3 Fq2, Fs3, Fm1 Fq3, Fs1, Fm2

Outro aspecto a ser considerado na avaliação de uma estratégia de confidencialidade de dados armazenados na nuvem é a relação entre segurança e utilidade dos dados. Neste trabalho, definimos como utilidade a facilidade com que o dado armazenado na nuvem pode ser utilizado para responder consultas. A criptografia homomórfica possibilita a realização de consultas simples sobre os dados criptografados, mas a maior parte dos criptosistemas não atribui nenhuma utilidade aos dados criptografados. A abordagem da fragmentação, por sua vez, permite consultas sobre os atributos de um mesmo fragmento. Porém, caso a consulta envolva atributos armazenados em diferentes fragmentos, esta deve ser executada no cliente ou em uma TPC, o que envolve a transferência dos fragmentos para a máquina onde será executada a consulta. Na abordagem mista, que combina a utilização da fragmentação e da criptografia, a utilidade dos dados armazenados é maior do que na criptografia e menor do que na fragmentação. A variação da utilidade depende da quantidade de atributos que são criptografados.

A estratégia QSM-EXTRACTION pressupõe que o provedor é honesto, porém curioso (semi-honesto). Neste contexto, não faz sentido guardar informações pessoais (tais

como, fotos, cartas ou senhas) sem algum tipo de proteção. A estratégia QSM-EXTRACTION proporciona um nível elevado de confidencialidade aos arquivos armazenados na nuvem. Apenas quando reunidos é que os arquivos da Qualidade, Quantidade e Medida podem ser utilizados para recompor o arquivo original. Por outro lado, a utilidade dos dados armazenados nos provedores é mínima. Contudo, esta propriedade pode ser interessante para cenários onde o cliente não confia inteiramente no provedor ou deseja armazenar dados sensíveis.

6.7 Conclusão

As vantagens da estratégia proposta neste trabalho sobre as demais técnicas voltadas para garantir a confidencialidade dos dados armazenados na nuvem, são as seguintes:

• A estratégia QSM-EXTRACTION permite a recuperação dos dados anonimizados, sem perda da informação.

• Garante alto grau de confidencialidade sem a utilização de chaves criptográficas. • A estratégia QSM-EXTRACTION pode ser aplicada a qualquer formato de dado. • Não há limitação máxima para o tamanho do arquivo a ser anonimizado.

• A solução proposta suporta expurgo de dados da nuvem, pois os arquivos disponibilizados em provedores distintos não revelam informações sobre os dados originais. Caso o usuário deixe a nuvem, os dados podem ser considerados automaticamente expurgados.

• Algoritmos que compõem a estratégia QSM-EXTRACTION executam em tempo linear O(n), com desempenho melhor do que algoritmos tradicionais de criptografia simétrica, tais como Triple-DES e AES, para recuperação do arquivo armazenado na nuvem. • Em caso de arquivos de entrada no formato texto, o tamanho dos arquivos armazenados é

menor ou igual ao tamanho do arquivo original.

As desvantagens da estratégia proposta neste trabalho em relação as técnicas de fragmentação e de criptografia são as seguintes:

• Aumento do tamanho do espaço necessário para armazenamento dos arquivos das carac- terísticas dos objetos de informação (Fq.bin, Fs.bin e Fm.bin) em 12,5% do tamanho original do arquivo F.

• A estratégia QSM-EXTRACTION foi projetada para ser aplicável apenas a dados pessoais em bancos de dados NoSQL, enquanto as demais estratégias podem ser aplicadas a qualquer tipo de dado e a bancos de dados SQL e NoSQL.

abordagens, não há este limite inferior para o tamanho do arquivo a ser criptografado ou fragmentado.

O próximo capítulo trata de questões referentes as propostas experimentais para demonstrar a eficiência dos algoritmos da estratégia QSM-EXTRACTION.

7 AVALIAÇÃO EXPERIMENTAL

7.1 Introdução

Neste capítulo são apresentados os experimentos realizados com a finalidade de avaliar o desempenho da estratégia QSM-EXTRACTION. Inicialmente, os principais algoritmos de criptografia simétrica (DES, 3DES e AES) foram comparados com a estratégia proposta.

Para executar estes experimentos, foi utilizada uma infraestrutura de nuvem privada gerida pelo OpenStack (Openstack Cloud Operating System). A Figura 27 ilustra a arquitetura utilizada nos experimentos, a qual contém quatro máquinas virtuais, sendo um nó de proces- samento, chamado de Terceira Parte Confiável (TPC), e três nós de armazenamento de dados, denominados VM1 , VM2 e VM3. A Terceira Parte Confiável (TPC) atende as requisições de armazenamento e recuperação de arquivos enviadas pelo cliente (usuários e/ou aplicações), ou seja, executa as tarefas de decomposição e recomposição dos arquivos solicitados pelo cliente. Os nós de armazenamento de dados (VM1 , VM2 e VM3) emulam três diferentes provedores de serviços de nuvem. Assume-se que esses provedores são honestos, porém curiosos, isto é, executam corretamente os protocolos, mas têm interesse em obter informações extra sobre os dados armazenados.

Figura 27 – Arquitetura dos Experimentos Realizados.

Como Terceira Parte Confiável (TPC) foi utilizada uma máquina virtual Windows Server 2008 com processador Intel Xeon E5-2407 CPU @ 2.20GHz, 4GB de RAM e 40GB

de armazenamento. Vale destacar ainda que, esta máquina virtual foi usada para executar os algoritmos de criptografia AES, DES e TRIPLE-DES, bem como os algoritmos da estratégia QSM-EXTRACTION. Cada um dos três nós de processamento (VM1, VM2 e VM3) tinha a seguinte configuração: Sistema Operacional Ubuntu 14.04, processador Intel Xeon E5-2407 CPU 2.20 GHz, 4 GB de RAM e 50 GB de armazenamento. Todas essas quatro máquinas virtuais estavam sob a gerência do OpenStack.

Neste cenário, um cliente que necessita armazenar um arquivo F, envia uma requisi- ção para a TPC armazenar um arquivo nas nuvens, juntamente com o arquivo a ser armazenado. Em seguida, a TPC extrai as características de Qualidade, Quantidade e Medida dos objetos de informação que compõem o arquivo do cliente e as armazena em três nuvens administrativamente e fisicamente distintas. O processo de recuperação do arquivo por parte do cliente ocorre de forma inversa: O cliente envia uma solicitação de requisição do arquivo ao TPC que recupera os 3 arquivos contendo as características de Qualidade, Quantidade e Medida, reconstrói e envia o arquivo solicitado ao cliente.

Cada um dos nós de armazenamento (VM1 , VM2 e VM3) possui uma instância do MongoDB. Em cada uma dessas instâncias são armazenados os arquivos contendo, res- pectivamente, as características de Qualidade, Quantidade e Medida, dos arquivos enviados pelo cliente. O MongoDB é um banco de dados de código aberto, de alta performance, sem esquemas, orientado a documentos, escrito na linguagem de programação C++. Além de ser orientado a documentos, O MongoBD é formado por um conjunto de documentos JSON. Muitas aplicações podem, dessa forma, modelar dados de modo mais natural, pois estes podem ser aninhados em hierarquias complexas. O MongoDB foi escolhido por ser um dos bancos de dados mais utilizados em ambientes de computação em nuvem e por existirem oportunidades para melhoria da confidencialidade dos dados nele armazenados. O MongoDB suporta comunicação utilizando protocolo binário de baixo nível, mas não fornece um método para criptografar dados automaticamente. Isso significa que qualquer atacante com acesso ao sistema de arquivos pode extrair diretamente as informações dos arquivos (OKMAN et al., 2011).

Para realizar a avaliação da eficiência da estratégia QSM-EXTRACTION, foi utili- zado uma coleção de documentos criados sinteticamente, com diferentes tamanhos. Cada um dos arquivos gerados possui quatro partes (ou atributos), que possuem o mesmo tamanho. Estes atributos são: currículo vitae (A1), texto do artigo (A2), foto do autor (A3) e texto de avaliação do artigo (A4).

Os algoritmos que compõem a estratégia QSM-EXTRACTION foram implementa- dos em linguagem C++ e são descritos a seguir (Tabela 16):

Tabela 16 – Algoritmos de QSM-EXTRACTION

Algoritmo Entrada Funcionalidade Saída

Frag Arquivo F fragmentação do

arquivo F em iobjetos

Coleção de iobjetos

Fdec iobjeto Extração das caracterís-

ticas do iobjeto

Qualidade, Quanti- dade e Medida Fp1 Qualidade, Quanti-

dade, Medida

Permutação dos elemen- tos da Medida

Medida anonimizada Fp2 Qualidade, Medida

anonimizada

Permutação dos elemen- tos da Qualidade

Qualidade anonimi- zada

Fp3 Quantidade, Medida

anonimizada

Permutação dos elemen- tos da Quantidade

Quantidade anonimi- zada

Fa Medida anonimizada Compactação da Me- dida

Medida_Mod32, Resto_Mod32

Fa−1 Medida Mod32,

Resto_Mod32

Descompacta a Medida Medida anonimizada Fp−1 2 Medida anonimizada, Qualidade anonimi- zada Deanonimiza a Quali- dade Qualidade Fp−1 3 Medida anonimizada, Quantidade anonimi- zada Deanonimiza a Quanti- dade Quantidade Fp−1 1 Medida anonimizada, Qualidade, Quantidade Deanonimização da Me- dida Medida

Frec Qualidade, Quanti- dade, Medida

Recomposição do iob- jeto a partir de suas ca- racterísticas

iobjeto