• Nenhum resultado encontrado

Soluções de Gestão Confiável de Dados na Nuvem

Esta seção apresenta algumas soluções estudadas no âmbito deste trabalho que propõem resolver a maioria das questões relacionadas à confidencialidade de dados na nuvem. Estes sistemas de armazenamento de dados em nuvem atendem a objetivos de confidencialidade, integridade e tolerância a falhas. Existem problemas relacionados à confiança em terceiros que gerenciam a nuvem, à disponibilidade dos recursos, ao nível de segurança oferecido pela nuvem e, por último, à espionagem por parte do fornecedor do serviço ou até acesso aos dados em si (STRUMBUDAKIS, 2014).

1. iDataGuard: Este sistema apresenta um componente de middleware a ser executado no cliente ou em uma Terceira Parte Confiável - TPC. As aplicações exportam os seus dados em um conjunto de pastas para este middleware que por sua vez realiza o armazenamento em um conjunto de nuvens. O sistema se responsabiliza pelo gerenciamento dos dados nas nuvens, que não percebem a sua existência, visto que para elas, o sistema é apenas mais uma aplicação a ser atendida. Para alcançar este tipo de comunicação, o sistema usa adaptadores para cada uma das nuvens, criando assim uma camada de abstração, a fim de combater a heterogeneidade entre os vários fornecedores, dado que as operações agora suportadas pelo sistema limitam-se a inserções, atualizações, leituras e remoções de conteúdo.

Os dados do sistema são criptografados por chaves geradas a partir de uma senha fornecida pelo usuário e em função das iterações do algoritmo, de modo a que não seja possível, para os atacantes, recriar a chave. Os objetos guardados nas diversas nuvens são compostos por vários atributos. Por exemplo: o conteúdo dos dados, o nome do dado, os metadados e um identificador gerado pelo módulo CryptInd (JAMMALAMADAKA et al., 2013), para permitir indexação da pasta. Além de prover a confidencialidade dos dados, para prevenir ataques baseados na estrutura, é possível esconder a estrutura do sistema de pastas, recorrendo a especificação da estrutura dentro dos metadados que vão criptografados, como também os outros atributos, a exceção do identificador. O sistema também preserva a integridade dos diversos objetos, utilizando códigos de criptografia Hash-based Message Authentication Code - HMAC, os quais são calculados e guardados por parte dos servidores. A pesquisa sobre os conteúdos criptografados é uma das limitações do sistema. Para minimizar este problema os autores usam uma segunda abordagem, particionando várias vezes o índice de cada objeto, propondo assim a versão CryptInd++, permitindo pesquisas

por padrões. Por exemplo: nas consultas, a pesquisa pode ser feita procurando um subconjunto de caracteres de uma palavra para encontrar assim a palavra em questão, que fornece o identificador do conteúdo completo permitindo assim obter o conteúdo baseado numa pesquisa parcial. Por fim, existem algumas limitações relacionadas com a escalabilidade do sistema e pode haver casos onde a solução não seja viável, por exemplo quando um cliente executa um pedido de indexação completa da estrutura. A necessidade do uso de índices auxiliares não é o ideal, devido a necessidade de comunicação adicional, o quê causa aumento do tráfego na comunicação com as nuvens.

2. Silverline: Este sistema oferece serviços de “segurança como um serviço"para proteger dados de inquilinos em nuvens públicas, mesmo que o software ou serviços de um determinado inquilino sejam eles próprios inseguros. SilverLine aumenta o desempenho do gerenciador de máquinas virtuais do provedor de nuvem (Por exemplo, XenServer, VMware ESXi, etc.) para isolamento dos dados e da rede entre vários inquilinos de nuvem, e combina esse isolamento com modificações para sistemas operacionais convidados para obter isolamento de dados. Estes mecanismos protegem contra vazamentos de dados decorrentes de comprometimento, configuração incorreta ou ataques de inquilinos coresidentes na nuvem (RISTENPART et al., 2009).

Para garantir confidencialidade, os dados são encriptados ao máximo possível, o quê pode comprometer o desempenho do sistema. Para evitar isto, o sistema minimiza o acessos aos dados para os usuários, de modo a não expor a um único usuário toda a informação caso não seja necessário. Para tal, são definidos grupos de acesso a partir da analise das operações realizadas pelos usuários. Deste modo, os clientes só podem visualizar conteúdo para o qual lhes foi autorizado acesso, recorrendo unicamente às chaves que cada possuem, podendo existir clientes com mais que uma chave de acordo com o grupo de permissões nos quais se inserem.

Silverlineoferece vantagens para atualização de chaves criptográficas por não necessitar criptografar novamente os objetos guardados, situação que iria necessitar protocolos de comunicação e computação adicional, causando impacto indesejável no desempenho do sistema. A alternativa proposta quando um usuário é removido é, em vez de cifrar os dados de novo, o sistema gera uma nova chave para os dados armazenados, atualizando os clientes restantes do grupo com a nova chave. O ponto negativo desta solução é o perigo de, a longo prazo, criar inconsistências e provocar sobrecarga de gerenciamento.

3. HAIL (High Availability and Integrity Layer): É um sistema distribuído criptográfico que utiliza um conjunto de ferramentas para permitir o uso de múltiplos serviços de armazenamento simultâneo na nuvem, possibilitando ao cliente consultar se uma pasta de dados armazenada está intacta e é recuperável (BOWERS et al., 2009). Este sistema baseia-se em duas verificações básicas: prova de recuperação (Proof of Recovery - POR) e prova de posse (Proof of Possesion – PDP). Estas provas permitem que o cliente verifique a existência e integridade dos dados disponibilizados pelo sistema na nuvem.

O sistema HAIL oferece garantias de recuperabilidade de dados, considerando o modelo de adversário como sendo o de um atacante que procura corromper ou controlar sucessivos servidores simultaneamente, mas nunca todos os servidores ao mesmo tempo, permitindo que as outras réplicas reconstruam os dados. Normalmente, os servidores não se comuni- cam diretamente, estando a comunicação limitada ao cliente-servidor, sem incrementar o custo da comunicação, por permitir computação do lado do servidor.

Em relação ao mecanismo de detecção e correção de servidores defeituosos, o cliente fica encarregado de se comunicar com os outros servidores cujos fragmentos de dados não estão corrompidos para atualizar os servidores em falha. Para este efeito o HAIL recorre a 3 elementos importantes:

a) código de agregação: técnica de compressão das respostas para os clientes, pela combinação de diversos códigos message authentication code-MACs em um único código, sendo assim mais eficiente a verificação de vários blocos simultaneamente, em tempo real, sem a necessidade de ocupar espaço adicional em disco.

b) Códigos de dispersão: distribuem os dados nos diversos servidores, mais concreta- mente usam código de correção de erros com proteção de integridade garantida pelos códigos MACs.

c) Código de servidor: os blocos de dados encontram-se codificados com código de correção, protegidos contra corrupção de baixo nível dos conteúdos caso os testes de integridade falhem.

As limitações do sistema HAIL são as seguintes: trata apenas com dados estáticos (i.e., os algoritmos não suportam atualizações e múltiplas versões dos dados) e requer que os servidores executem código.

4. DepSky: É um sistema para replicação de dados em várias nuvens que melhora a dis- ponibilidade, integridade e confidencialidade da informação armazenada. As unidades

de dados (data units) no DepSky disponibilizadas pelos proprietários dos dados podem ser consultados no modo de leitura por um conjunto de usuários autorizados. A dis- ponibilidade é garantida mesmo em caso de falhas por algoritmos de replicação para sistemas de quóruns bizantinos de disseminação, onde os dados armazenados em cada servidor são auto-verificáveis por meio de assinaturas digitais e resumos criptográficos. São apresentadas duas versões do sistema: DepSky-A, para garantir integridade e disponi- bilidade dos dados, e a versão DepSky-CA que utiliza partilha de chaves a fim de prover confidencialidade aos dados armazenados.

O sistema garante capacidade de recuperação para um conjunto de (3f + 1) para f servidores defeituosos ou com dados corrompidos. Para garantir a integridade dos dados, os mesmos são assinados digitalmente sendo guardadas as assinaturas nos próprios servidores. No sistema DepSky-CA, o sistema permite que os dados estejam distribuídos pelos diversos servidores de forma que seja necessário obter f + 1 partes para reconstruir o segredo, sendo assim, para um atacante com f partes, é impossível recriar os dados originais.

Figura 41 – Distribuição de dados nas nuvens (STRUMBUDAKIS, 2014)

A figura 41 mostra um exemplo de dispersão de dados por várias nuvens. Os protocolos ADS (Available DEPSKY) e CADS (Confidential & Available DEPSKY) são utilizados nos clientes. A diferença entre estes protocolos é a informação enviada para as nuvens. No caso de um cliente usar o protocolo ADS, é enviada uma cópia da informação para todas as nuvens. Com o protocolo CADS a informação é dividida em partes, tantas quanto o

número de nuvens, e depois cada parte é enviada para sua nuvem. A informação é dividida de maneira que apenas seja necessário um determinado número de partes para reconstruir a informação original, e não a totalidade das partes.

Tabela 19 – Comparação entre os Sistemas de Armazenamento Confiável Sistema Confidencialidade Integridade Disponibilidade iDATAGUARD criptografia simétrica criptografia HASH usa camada de mid-

dlewareem TPC

Silveline criptografia simétrica - -

HAIL fragmentação e disper- são -

usa TPC e Prova de Recuperação (PDP)

Prova de Posse (POR)

DepSky partilha de chaves assinaturas digitais quóruns bizantinos QSM-

EXTRACTION

extração das caracterís- ticas dos objetos de in- formação

restrições de integri- dade das característi- cas dos objetos de in- formação

Algoritmos de dis- persão (RABIN’s IDA)

A Tabela 19 apresenta uma comparação das características de confidencialidade, integridade e disponibilidade dos quatro sistemas de armazenamento confiável descritos nesta seção. Pode-se constatar que os sistemas iDataguard, HAIL e DepSky fornecem as 3 caracte- rísticas de segurança. Enquanto Silverline fornece apenas confidencialidade. HAIL é o único que trabalha com dados não criptografados, por isso é considerado o que oferece menor confi- dencialidade aos dados armazenados. A estratégia QSM-EXTRACTION é flexível e poderia ser adaptada para uso no sistema iDATAGUARD em substituição à criptografia simétrica para garantir a confidencialidade. No sistema Silverline, o uso de QSM-EXTRACTION acrescentaria integridade ao sistema. A combinação de QSM-EXTRACTION com HAIL poderia minimizar a fragmentação e dispersão dos dados.

8.6 Conclusão

Este capítulo descreveu os trabalhos relacionados à proteção da confidencialidade, integridade e disponibilidade dos dados armazenados na nuvem que utilizam técnicas de cripto- grafia, fragmentação isoladamente ou em conjunto. Foram destacadas as vantagens da abordagem da estratégia QSM-EXTRACTION em relação às técnicas de criptografia e fragmentação. O próximo capítulo expressa as conclusões deste trabalho e indica direções para trabalhos futuros.

9 CONCLUSÕES E TRABALHOS FUTUROS

Este capítulo destaca as principais conclusões que resultaram das pesquisas efetuadas durante a realização desta tese. Adicionalmente, discute-se possíveis extensões e aplicações das ideias aqui apresentadas.