Gestão confiável de dados cifrados, distribuídos em múltiplas nuvens de armazenamento

Tamanho: px
Começar a partir da página:

Download "Gestão confiável de dados cifrados, distribuídos em múltiplas nuvens de armazenamento"

Transcrição

1 João Miguel Cardia Melro Rodrigues Nº Gestão confiável de dados cifrados, distribuídos em múltiplas nuvens de armazenamento Preparação da Dissertação de Mestrado em Engenharia Informática 1º Semestre, 2012/2013 Orientador: Prof. Doutor Henrique João Domingos Fevereiro, 2013

2

3 Copyright João Miguel Cardia Melro Rodrigues A Faculdade de Ciências e Tecnologia e a Universidade Nova de Lisboa têm o direito, perpétuo e sem limites geográficos, de arquivar e publicar esta dissertação através de exemplares impressos reproduzidos em papel ou de forma digital, ou por qualquer outro meio conhecido ou que venha a ser inventado, e de a divulgar através de repositórios científicos e de admitir a sua cópia e distribuição com objectivos educacionais ou de investigação, não comerciais, desde que seja dado crédito ao autor e editor. iii

4

5 Resumo A presente dissertação de mestrado tem em vista tirar partido das virtudes oferecidas pelos sistemas baseados em nuvens de armazenamento de dados na Internet, propondo uma solução que evite as anteriores dificuldades pela utilização conjugada de soluções de diferentes provedores, numa visão de nuvem de nuvens de armazenamento e computação. O objectivo é conceber, implementar, testar e validar um sistema de middleware confiável, que disponibilize um conjunto de serviços às aplicações, para que estas possam usar de forma transparente os serviços dos diferentes provedores. Os componentes e serviços da solução visam estabelecer condições de segurança, confiabilidade e disponibilidade dos dados, sendo essas condições asseguradas e verificáveis, de forma independente de cada um dos provedores utilizados. O sistema middleware utiliza mecanismos de fragmentação, encriptação, replicação e indexação dinâmica de dados que são depois distribuídos e mantidos cifrados nas diferentes nuvens de armazenamento utilizadas, assegurando resiliência face a falhas ou problemas de segurança que se manifestem ao nível da solução de cada provedor. Para tal, utilizar-se-ão técnicas criptográficas que combinam garantias de autenticação, privacidade e integridade dos fragmentos de dados, que serão sempre mantidos cifrados quando se encontram nas nuvens, sendo replicados para garantia de tolerância a falhas ou intrusões independentes ao nível dos repositórios de cada um dos provedores. A solução passa pela concepção, desenvolvimento e validação de esquemas criptográficos que combinam técnicas de encriptação homomórfica e cifras baseadas em múltiplos segredos partilhados (usando algoritmos do tipo secret sharing) ou provas de autenticação e integridade de dados replicados baseadas em assinaturas de grupo (usando algoritmos do tipo threshold group-signatures). A combinação dos anteriores processos criptográficos é suportada de forma integrada com os mecanismos de tolerância a falhas ou intrusões bizantinas. Desta forma, a solução a propor permitirá conjugar propriedades de segurança e privacidade dos dados mantidos em diferentes nuvens, usando mecanismos de replicação, fiabilidade e disponibilidade dos recursos, tendo por base um modelo de tolerância a falhas ou a intrusões que possam ocorrer por vulnerabilidades ao nível das infra-estruturas dos provedores ou por acções ilícitas realizadas por pessoal de operação ou administradores de sistemas dos respectivos provedores A combinação destas garantias faz-se, por outro lado, com controlo total dos utilizadores, com total independência de cada um dos provedores. Palavras-chave: Computação na Nuvem; Nuvens de Armazenamento de Dados; Segurança de Sistemas de Computação em Nuvem; Autenticidade, Confidencialidade, Privacidade e Integridade de dados; Tolerância a Falhas Bizantinas; Tolerância a Intrusões; Indexação e Replicação de Dados em Múltiplas Nuvens de Armazenamento; Criptografia Computacional; Algoritmos de Encriptação com Segredos Partilhados, Assinaturas Digitais Resilientes em Grupo, Técnicas de Encriptação Homomórfica. v

6

7 Abstract This dissertation aims to take advantage of the virtues offered by data storage cloud based systems on the Internet, proposing a solution that avoids previous difficulties by combining different providers solutions in a vision of a cloud of clouds storage and computing. The objective is to design, implement, test and validate a reliable middleware system, that offers a range of services to applications, so that they can transparently use the services of different providers. The components of the solution and services are designed to establish conditions for security, reliability and availability of data, with these conditions being secured and verifiable independently of each provider. The middleware system uses fragmentation mechanisms, encryption, replication, and dynamic data indexing that is then distributed encrypted and kept in different storage clouds, ensuring resilience to failures or security problems that occur at the level of each provider's solution. To ensure that, will be used cryptographic techniques that combine guarantees of authentication, privacy and integrity of data fragments, which are always kept encrypted when they are in the clouds, being replicated to ensure intrusion and fault tolerance independently of providers repositories. The solution involves the design, development and validation of cryptographic schemes that combine homomorphic encryption technics and cipher based secret sharing or authentication proof and integrity of replicated data based on threshold signatures. The combination of the above cryptographic processes is supported in an integrated way with the mechanisms of fault Byzantine or intrusion tolerance. Thus, the proposed solution will combine the data safety and privacy held in different clouds, using replication mechanisms, resources reliability and availability, based on a model of intrusions or fault tolerance that may occur due to vulnerabilities level of providers infrastructure or illegal actions performed by operating personnel or system administrators of the respective providers. Combining these guarantees is made, moreover, with complete control of users, with total independence of each provider. Keywords: Cloud Computing; Cloud Storage; Security in Cloud Based Systems; Data Authenticity, Confidentiality, Privacy and Integrity; Security in Cloud Computing Systems; Byzantine Fault Tolerance; Intrusion Tolerance; Data Indexing and Replication in Multiple Cloud Storage Providers; Applied Computational Cryptography; Cryptographic Algorithms to Threshold Signature Support, Secret Sharing Cryptographic Techniques, Homomorphic Encryption Techniques. vii

8

9 Índice 1 Introdução Contexto e motivação Segurança de dados mantidos em nuvens de armazenamento Problema Objectivos Abordagem à solução e principais contribuições esperadas Resumo de contribuições Organização do relatório Trabalho Relacionado Mecanismos de cifra partilha de segredos Assinaturas Threshold Sistemas para gestão confiável de dados Provedores de serviços de armazenamento na nuvem Aproximação à elaboração da dissertação Visão arquitectural do sistema Trabalho de prototipagem anteriormente endereçado Aproximação à avaliação do sistema Plano de Trabalho para Elaboração da Dissertação Bibliografia ix

10

11 Lista de Figuras Figura 1. Visão geral do sistema... 6 Figura 2. Arquitectura geral do sistema... 9 Figura 3. Interpolação polinomial utilizada no esquema de Shamir com k = Figura 4. Intersecção de planos no esquema Blakley com k = Figura 5. Arquitectura do sistema idataguard Figura 6. Mapa com as zonas dos dados armazenados no serviço Amazon S Figura 7. Mapa com as localizações dos servidores do Nirvanix cloud storage Figura 8. Mapa com as localizações dos servidores do Rackspace Cloud Files Figura 9. Visão especificada da arquitectura do sistema Figura 10. Planeamento da elaboração da tese xi

12

13 Lista de Siglas e Acrónimos ABE - Attribute Based Encryption AES - Advanced Encryption Standard API - Application Programming Interface CA - Certification Authority CIFS - Common Internet File System EHR - Electronic Health Records EU - European Union HAIL - High-Availability and Integrity Layer for Cloud Storage HMAC - Hash-based Message Authentication Code HTML - HyperText Markup Language HTTP - Hypertext Transfer Protocol IaaS - Infrastructure as a Service IMAP - Internet Message Access Protocol KDF - Key Derivation Function MAC - Message Authentication Code MD5 - Message-Digest algorithm 5 MIME - Multipurpose Internet Mail Extensions NFS - Network File System OEK - Object Encryption Key PaaS - Platform as a Service PDP - Proof of Data Possession POP3 - Post Office Protocol POR - Proof Of Retrievability RACS - Redundant Array of Cloud Storage RAID - Redundant Array of Independent Drives REST - Representational State Transfer S/MIME - Secure Multipurpose Internet Mail Extensions SaaS - Software as a Service SLA - Service Level Agreement SMTP - Simple Mail Transfer Protocol SSL - Secure Sockets Layer TA - Trusted Authority TCB - Trusted Computing Base US - United States xiii

14

15 1 Introdução 1.1 Contexto e motivação Num contexto actual de globalização e agilização dos negócios, torna-se cada vez mais importante a gestão cuidada e em segurança dos dados relativos ao funcionamento interno de empresas e seus clientes. Face à inevitável geração crescente de volumes de dados, dada a tendência crescente da utilização da Internet como plataforma global de aplicações, serviços e negócios, a utilização de soluções baseadas em nuvens de armazenamento de dados e suporte de computação vem-se tornando cada vez mais interessante. Estas soluções disponibilizam modelos de custos pay-per-use que permitem minimizar custos operacionais, garantem o acesso aos dados e aplicações com condições interessantes de fiabilidade e elevada disponibilidade. Por outro lado, promovem uma gestão simplificada e optimizada da elasticidade de recursos computacionais necessários em cada instante, e beneficiam de vantagens inerentes à deslocalização ou distribuição global dos dados e aplicações à escala da Internet. As soluções existentes disponibilizam ainda condições interessantes de segurança, fiabilidade, disponibilidade e ubiquidade dos recursos computacionais, dados e aplicações, à escala da rede Internet. Embora com outro foco e interesse na sua utilização, as soluções de computação e armazenamento de dados em nuvens de provedores Internet, são cada vez mais utilizadas por utilizadores individuais, permitindo associar o tipo de vantagens anteriores à possibilidade de acesso individual a tais repositórios, de forma ubíqua e económica. Tem-se verificado um aumento significativo no número de provedores de serviços baseados na nuvem [1], o que tem promovido a competitividade nesse mercado e o consequente abaixamento gradual de custos. Existem hoje diferentes soluções com diferentes modelos de custo e diversos âmbitos de operação, podendo adequar-se a diferentes necessidades e requisitos dos utilizadores. As soluções de vários provedores oferecem vantagens no que diz respeito aos custos, desempenho, manutenção, escalabilidade, facilidade de implementação e acesso deslocalizado. A oferta de serviços na nuvem divide-se por vários tipos de abordagem, nomeadamente: disponibilização de infraestruturas computacionais (IaaS) que oferecem poder computacional diferenciado através de soluções virtualizadas; plataformas (PaaS) onde o provedor oferece recursos e ferramentas sobre os quais de poderão desenvolver aplicações; e serviços de software (SaaS) para suporte de aplicações [2],[3]. Tendo como principal foco a oferta de serviços de armazenamento (fornecido como soluções PaaS), verifica-se que essas soluções gozam de um conjunto de propriedade, entre as quais se resumem as seguintes: Elasticidade As soluções baseadas na nuvem oferecem uma elasticidade sem precedentes onde os recursos são adaptados dinamicamente às necessidades do sistema em causa eliminando o problema relacionado com a gestão e adaptação de recursos (resources-ondemand); Escalabilidade e deslocalização Normalmente suportada pela aplicação, obriga a que o provedor adapte as suas características à forma como a aplicação poderá escalar, ou seja, as soluções baseadas na nuvem permitem que o sistema escale não só localmente como globalmente permitindo acomodar uma utilização crescente e deslocalizada desse sistema; Custos O serviço elástico oferecido pelos provedores na nuvem reduz drasticamente os custos associados às tradicionais infra-estruturas locais, fazendo com que os recursos empresariais possam ser mobilizados totalmente para a base do negócio eliminando assim a preocupação sobre o funcionamento e sobre as garantias oferecidas pela plataforma de trabalho. Ou seja, podemos associar uma quantidade de custos às infra-estruturas tradicionais não apresentadas aos clientes de provedores na nuvem, como por exemplo: investimento inicial, manutenção, energia, substituição ou novo equipamento e gestão de espaço [4]. 1

16 Além da elasticidade, escalabilidade e modelo de custos, os provedores oferecem ainda algumas garantias que, apesar de não auditáveis, podem ser importantes no momento da escolha dum provedor. De forma geral as condições são descritas através de um SLA no qual são especificadas as condições sobre as quais o sistema irá executar ditando os possíveis eventos e qual o impacto temporal dos mesmos sobre o sistema. Nestas condições, alguns critérios relativos a condições efetivas de segurança e confiabilidade das soluções são por vezes omissos ou não são suficientes, quando esses fatores se podem revelar críticos na adopção por esse tipo de soluções. 1.2 Segurança de dados mantidos em nuvens de armazenamento Como se referiu anteriormente, a utilização de repositórios de dados em nuvens de armazenamento na Internet (ou Internet cloud storage services) permitem endereçar diversas vantagens de operação, nomeadamente: 2 Evita a sobrecarga ou complexidade da gestão, operação e manutenção dos dados; Permite reduzir custos totais do tipo TCO (ou Total Cost of Owenership) de soluções convencionais bem como de custos específicos de licenciamento e operação de sistemas de armazenamento associados às soluções habituais em centros de dados; Endereça requisitos primários de fiabilidade e disponibilidade no acesso a dados (com condições de acesso ubíquo no contexto de diferentes utilizadores, diferentes dispositivos computacionais que acedem aos dados e diferentes aplicações que podem partilhar esses dados); Suporta condições básicas de segurança, com controlo de acesso aos dados ou protecção de comunicações no acesso a esses mesmos dados, com suporte genérico de serviços Web protegidos por HTTPS. A análise das anteriores vantagens suscita o interesse na utilização de soluções fornecidas por diferentes provedores de nuvens de armazenamento de dados na Internet. No entanto, a adopção por essas soluções revela-se problemática quando certos requisitos adicionais são considerados. De entre estes requisitos destacam-se os requisitos de manutenção e gestão de dados com garantias de confiabilidade e privacidade, com verificação e controlo permanente e independente, por parte dos utilizadores. Na verdade, a utilização de soluções baseadas em nuvens de armazenamento, como solução de outsourcing de gestão e manutenção de dados mas com condições de controlo sobre os mesmos, revela-se um problema em aberto [5]. Esta problemática manifesta-se em geral como preocupação por parte de muitas entidades que têm analisado este problema [6] e têm inspirado diferentes premissas de investigação na área da segurança de sistemas de computação e armazenamento em nuvens. Por exemplo, no ramo da saúde [7] a adopção de soluções de repositórios em nuvens de armazenamento e gestão de dados exige a necessidade de gerir dados referentes a milhares de utentes de forma segura e deslocalizada. É necessário garantir que os dados não são corrompidos nem apagados (ou se forem apagados pelos utilizadores, o sejam de facto). Estas aplicações exigem diferentes modelos de controlo de acesso, com requisitos de controlo de verificação. Neste caso (como em outros exemplos de aplicações), também é preciso atender a diferentes aspectos legais e éticos relativos à salvaguarda de condições de propriedade e privacidade dos dados ou privacidade de operações sobre os mesmos. Estes aspectos devem poder satisfazer requisitos de direitos, liberdades e garantias dos cidadãos bem como de protecção de instituições, pessoas e bens. Outro dos problemas na adopção de soluções de nuvens de computação e armazenamento é a dependência dos utilizadores em relação aos provedores, conhecida por vendor lock-in [3]. Este problema está associado a práticas que permitam ao fornecedor colocar o utilizador uma situação desvantajosa, por exemplo em relação a possibilidades de renegociação de condições de prestação do serviço ou no contexto de tomadas de decisão sobre descontinuação do serviço ou migração de dados para outros provedores. Existem vários casos reportados [5] onde por diversas razões os dados foram destruídos ou revelados a terceiros por forma ilícita ou por forma acidental, violando propriedades básicas como a confidencialidade, integridade e disponibilidade dos dados, provocando prejuízos avultados às empresas detentoras dos dados em causa.

17 Na verdade, vários tipos de aplicações podem ter, em maior ou menor grau, condicionalismos tal como se apresentam anteriormente, destacando-se as seguintes: Aplicações que gerem ou manipulam dados médicos ou biomédicos bem como de históricos clínicos individuais; Sistemas de armazenamento de mensagens de correio electrónico (ou de outsourcing de serviços de correio electrónico com base em soluções do tipo Internet cloud storage services), com garantia de condições de privacidade do conteúdo das mensagens para os seus utilizadores; Aplicações que utilizam dados privados bancários, contabilísticos ou financeiros de indivíduos, empresas ou organizações que devem estar ao abrigo de condições de salvaguarda de confidencialidade e controlo de privacidade por parte de diferentes sujeitos; Aplicações que gerem históricos de operações privadas ou factos que requerem ser mantidos em condições de privacidade, seja por razões legais ou éticas, como é o caso de dados ou operações em aplicações ou sistemas de suporte a investigação judicial que devem ser mantidos em sigilo por obrigações legais durante os processos de investigação ou antes de processos de trânsito em julgado; Sistemas de suporte de repositórios de dados que devam preservar condições de segurança face a processos ilícitos de análise ou correlação desses dados e que permitam violar condições de protecção de liberdades, direitos ou garantias de cidadãos, instituições, empresas ou organizações; Aplicações na área de suporte a actividades de forças de defesa e segurança. Em resumo, apesar dos aspectos associados à utilização vantajosa de soluções na nuvem, é necessário que existam soluções que satisfaçam requisitos adicionais de segurança, privacidade, confiabilidade e garantia efectiva de disponibilidade dos dados. Tais soluções devem permitir que tais propriedades possam ser controladas e verificadas de forma independente por parte dos utilizadores. 1.3 Problema A problemática da presente dissertação de mestrado insere-se na proposta, concepção, materialização e validação de sistemas de software que permita tirar partido de vantagens decorrentes da utilização de soluções de nuvens de armazenamento hoje disponíveis e operadas por diversos provedores na Internet, garantindo que essa utilização se faça com a garantia de propriedades de segurança e privacidade de dados, bem como de fiabilidade e disponibilidade de acesso aos mesmos. Pretende-se que estas propriedades sejam conjugadas na solução proposta, com controlo independente dos utilizadores (isto é, de forma independente dos provedores envolvidos). A conjugação destes critérios, na perspectiva da dissertação, deve envolver a proposta de uma solução confiável, sendo que a propriedades da confiabilidade deve assegurar que se verificam simultaneamente os seguintes critérios: Segurança dos dados dos principais (que deles são donos ou deles possuam propriedade), nomeadamente garantindo propriedades de autenticação, confidencialidade, integridade e controlo de acesso aos dados mantidos em qualquer nuvem de armazenamento, mesmo sob condições de falha ou ataques às comunicações ou ataques por intrusão às próprias nuvens de armazenamento; Privacidade dos dados dos principais, garantindo que os dados nunca são expostos, sendo sempre mantidos cifrados, enquanto residem ou são operados em infra-estruturas computacionais ou soluções de software operadas na nuvem, implicando que quaisquer operações (incluindo operações em tempo real) se realizem sobre os próprios dados cifrados; Privacidade de operações, garantindo que não sejam reveladas as operações que se realizam sobre os dados mantidos cifrados, nem seja possível inferir ou correlacionar essas operações, sem controlo dos principais que realizam licitamente essas operações; Fiabilidade, garantindo que as condições de segurança e acesso aos dados permitam aos principais assegurar que a recuperação dos dados da nuvem se faz de forma fiável, em 3

18 qualquer momento, independentemente da nuvem ou das condições operacionais do seu provedor; Disponibilidade, garantindo que os dados dos principais estão sempre disponíveis, independentemente da característica de disponibilidade de cada nuvem de armazenamento. 1.4 Objectivos Para tirar partido das virtudes oferecidas pelos sistemas baseados nas nuvens de armazenamento e para solucionar os problemas inerentes ao uso dos mesmos, a presente dissertação visa conceber, implementar, testar e validar um sistema de middleware confiável, com vista a tirar partido das vantagens oferecidas por vários provedores de serviços de armazenamento de dados numa solução de nuvem de nuvens de armazenamento. Este sistema poderá ser usado por diferentes aplicações, sendo visto como um serviço (solução proxy) com interface semelhante à API de uma nuvem de armazenamento, que intermediará a utilização de diferentes nuvens, de forma transparente para os utilizadores e suas aplicações. O objectivo é conceber, arquitectar, implementar, integrar e validar na solução de middleware a endereçar um conjunto de componentes e serviços que visam estabelecer condições de segurança, privacidade, confiabilidade e disponibilidade dos dados, sendo essas condições asseguradas e verificáveis, de forma independente de cada um dos provedores utilizados, tendo por base o sistema de middleware que será usado como único sistema TCB (ou Trustable Computing System) por parte dos seus utilizadores (com conjunto com os próprios recursos computacionais dos utilizadores). O sistema middleware utiliza mecanismos de fragmentação, encriptação, replicação e indexação dinâmica de dados que são depois distribuídos e mantidos cifrados nas diferentes nuvens de armazenamento utilizadas. A utilização de múltiplas nuvens permitirá assegurar resiliência face a falhas ou problemas de segurança que se manifestem ao nível da solução de cada provedor. Para tal, o sistema de middleware integra componentes que implementam técnicas criptográficas combinando garantias de autenticação, privacidade e integridade dos fragmentos de dados, que serão sempre mantidos cifrados quando se encontram mantidos ou replicados nas nuvens, para garantia de tolerância a falhas ou tolerância a intrusões bizantinas e independentes ao nível dos repositórios de cada um dos provedores. A solução passa pela concepção, desenvolvimento e validação de esquemas criptográficos que combinam técnicas de encriptação homomórfica e cifras baseadas em múltiplos segredos partilhados (usando algoritmos do tipo secret sharing) ou provas de autenticação e integridade de dados replicados baseadas em assinaturas de grupo (usando algoritmos do tipo threshold group-signatures). A combinação dos anteriores processos criptográficos é suportada de forma integrada com os mecanismos de tolerância a falhas ou intrusões bizantinas. Desta forma, a solução a propor permitirá conjugar propriedades de segurança e privacidade dos dados mantidos em diferentes nuvens, usando mecanismos de replicação, fiabilidade e disponibilidade dos recursos, tendo por base um modelo de tolerância a falhas ou a intrusões que possam ocorrer por vulnerabilidades ao nível das infra-estruturas dos provedores ou por acções ilícitas realizadas por pessoal de operação ou administradores de sistemas dos respectivos provedores A combinação destas garantias faz-se, por outro lado, com controlo total dos utilizadores, com total independência de cada um dos provedores. Como caso de estudo para avaliação da solução de middleware descrita pretende-se utilizar como base um repositório privado de mensagens de correio electrónico (que possa ser usado com a mesma funcionalidade de um actual sistema do tipo WebMail System) e/ou um sistema de repositório de ficheiros privados. Os repositórios dos dados nestes dois ambientes serão mantidos em múltiplas nuvens de armazenamento, com base em soluções chave-na-mão do tipo repositórios chave-valor, usando-se soluções disponíveis de provedores reais Internet. Estes sistemas irão permitir a avaliação do sistema de middleware respondendo às questões relacionadas não só com a segurança e disponibilidade como com questões relacionadas com o desempenho e viabilidade da solução proposta, face aos critérios enunciados. Pretende-se ainda que os ambientes demonstradores sejam modulares e configuráveis de forma poderem ter componentes de suporte que possam ser reutilizados ou facilmente adaptados a outras aplicações e diferentes provedores dos serviços em causa. 4

19 1.5 Abordagem à solução e principais contribuições esperadas Como solução pretende-se desenvolver um sistema de middleware que de forma geral actua de intermediário entre o cliente e as nuvens de armazenamento a fim de conseguir os objectivos propostos. Na solução proposta pretende-se desenvolver mecanismos baseados nos serviços de segurança descritos na norma X.800 [8]. Podemos dividir a solução abordada em partes distintas: Autenticidade e integridade, garantidas através do uso de assinaturas threshold [9]. Estas assinaturas são diferentes das tradicionais assinaturas RSA [10] pois possibilitam a criação de uma assinatura dividida em partes verificáveis individualmente, onde a corrupção apenas é possível através da adulteração de pelo menos ( ) partes da assinatura. Para verificação e após reunidas partes (valor configurável) é possível verificar a assinatura através de uma chave pública gerada no momento da criação da assinatura. Contrariamente às assinaturas RSA, a chave pública é gerada utilizada unicamente para a verificação da assinatura para a qual foi gerada garantindo uma maior segurança e aumentando o custo computacional; Confidencialidade, garantida através do uso de criptografia simétrica com recurso a algoritmos como o AES. Alternativamente poderão ser utilizados mecanismos de partilha de segredos como é o caso do esquema Shamir [11], Asmuth-Bloom [12] ou Blakley [13] nos quais um bloco de dados é repartido por partes sendo necessárias partes (valor configurável) para a recuperação do bloco original. A confidencialidade nas comunicações entre o middleware a desenvolver e os clientes ou provedores de serviços de armazenamento será garantida pelo uso do protocolo SSL; Integridade, garantida através do uso de MAC e através da replicação bizantina dos dados pelos vários serviços de armazenamento disponíveis, ou seja, a verificação de integridade poderá ser efectuada através do uso de quóruns bizantinos ou através do uso de códigos de verificação de integridade. A integridade também é oferecida pelo uso de assinaturas threshold as quais poderão julgar-se insuficientes; Disponibilidade dos dados, garantida através do uso de armazenamento replicado onde serão utilizados vários provedores de armazenamento na nuvem aos quais estão inerentes características diferenciadas. Para combater a heterogeneidade associada a cada um dos provedores serão criados adaptadores para cada um dos provedores sendo que estes adaptadores irão oferecer ao middleware um conjunto de operações comuns associados aos serviços de armazenamento na nuvem. O uso de drivers ou adaptadores é bastante recorrente em sistemas do middleware de comunicação com diversas as nuvens como é o caso dos sistemas idataguard [14] e DepSky [15]. Para garantir a disponibilidade do sistema poderão ser utilizados sistemas de replicação como o Apache Cassandra [16] o qual irá permitir a existência de várias instâncias do mesmo middleware partilhando uma base de dados comum; Pretende-se ainda que sejam oferecidos mecanismos de pesquisa sobre os dados e por consequente a indexação dos mesmos para isso poderá ser efectuada uma simples indexação sobre os dados ou alternativamente uma pesquisa sobre o conteúdo dos mesmos fazendo recursos a bibliotecas como o Apache Tika toolkit [17] que permite extrair conteúdo de ficheiros com estrutura complexa (por ex. RTF, PDF, DOC, XML, etc ). A indexação dos dados poderá ainda ser adaptada segundo o caso de estudo a abordar. Como casos de estudo pretende-se utilizar um sistema de correio electrónico o qual irá permitir a avaliação do mecanismo indexação não só sobre os meta-dados, próprios das mensagens de correio electrónico, como do conteúdo das mensagens seguindo a norma MIME e S/MIME. O uso dum sistema de armazenamento de ficheiros permitirá avaliar o sistema perante grandes volumes de dados. Através dos testes, a serem efectuados após o desenvolvimento da solução proposta e com recurso aos casos de estudo acima referidos, serão extraídos dados através dos quais será possível concluir sobre a segurança, performance e viabilidade da solução proposta. Tal como podemos verificar na Figura 1 o sistema a desenvolver é constituído por duas componentes distintas. O componente middleware no qual se pretende garantir as propriedades de confidencialidade, integridade e autenticidade dos dados depositados nas nuvens de armazenamento. E o componente de gestão de correio electrónico ou sistema de ficheiros que se pretende utilizar a fim de efectuar a avaliação do sistema. Podemos ainda observar que o sistema encontra-se ele mesmo 5

20 depositado numa nuvem, preferencialmente privada, o que pressupõe que a nuvem e o middleware são resistentes a ataques. A resistência do sistema irá residir na autenticação dos utilizadores perante o mesmo. Alternativamente e a fim de fornecer um ambiente controlado para o funcionamento do sistema este poderá executar na máquina do cliente. A solução proposta assume que o adversário não pode quebrar as técnicas criptográficas utilizadas como é o caso de hashes resistentes a colisões, encriptação ou assinaturas. Na solução proposta pretende-se ainda fazer uso de algumas bibliotecas criptográficas que disponibilizam algoritmos de cifra e de MAC. Figura 1. Visão geral do sistema 1.6 Resumo de contribuições As principais contribuições desta tese irão focar-se nas temáticas da segurança, tendo em conta aspectos como confidencialidade, integridade e autenticidade dos dados. Além disso pretende-se ainda que esta tese contribua na temática da indexação e pesquisa segura dos dados. Podemos então objectivar as contribuições nas seguintes características do sistema: Gestão controlada dos dados, através do fornecimento duma API simplificada será possível a qualquer aplicação que tenha como base o uso do sistema de middleware listar, adicionar, remover ou pesquisar dados garantindo o seu acesso permanente ou indisponibilidade permanente no caso da remoção dos dados. Além disso e visto que os dados que serão depositados nas nuvens de armazenamento se encontram cifrados, autenticados e replicados a necessidade de auditabilidade sobre os provedores é eliminada restringindo o controlo dos dados ao próprio middleware; Garantias de confidencialidade, através do uso de criptografia simétrica e/ou esquemas de secret sharing e com uma gestão de chaves autenticada será garantida à aplicação que tenha por base o sistema middleware que os dados se mantém seguros, ou seja, não são revelados a terceiros; Integridade dos dados, através do uso de MACs e de assinaturas sobre os dados será garantida a detecção de corrupção dos dados, sendo que a recuperação dos dados de forma íntegra será garantida através da utilização de mecanismos de replicação bizantina; Indexação e pesquisa segura dos dados, através do uso de indexação simples de metadados ou através de indexação do conteúdo pretende-se oferecer operações de pesquisa ao cliente que utiliza como base o sistema de middleware. Como caso de estudo, e tal como descrito anteriormente, será utilizado um sistema de correio electrónico que irá permitir a indexação dos metadados, associados a cada mensagem de correio electrónico na norma RFC822 [18], e do seu conteúdo utilizando as normas MIME e S/MIME; 6

21 Disponibilidade dos dados na presença de falhas, ou seja, na presença de descontinuidade dos serviços oferecidos por cada um dos provedores de armazenamento será possível a recuperação dos dados devido aos mecanismos de replicação utilizados. Adicionalmente o middleware poderá encontrar-se replicado possibilitando o acesso mesmo na eventualidade de falha de uma das instâncias; Independência dos provedores de serviços de armazenamento, o uso de um conjunto diverso de provedores de serviços de armazenamento irá impossibilitar a ocorrência de vender lock-in onde os provedores ditam o modelo de custos de forma unilateral. O uso de replicação e/ou fragmentação dos dados irá possibilitar uma distribuição uniforme dos dados sobre os diferentes provedores garantindo assim que em caso de necessidade os dados sejam depositados de forma simples noutro conjunto de provedores; Base de confiança independente dos provedores de serviços, ou seja, por fim é tido em conta que qualquer dos fornecedores de serviços de armazenamento poderá tentar corromper, revelar ou adulterar os dados que detêm nesse preciso momento. Para garantir que tal não é possível serão utilizados mecanismos de secret sharing e assinaturas threshold os quais irão garantir que a revelação ou corrupção dos dados com sucesso irá depender da associação de um conjunto (a determinar) de provedores de serviços. Esta associação é vista como pouco provável visto que seria considerada uma técnica algo complexa ou mesmo inexequível. 1.7 Organização do relatório O restante relatório encontra-se organizado e dividido em vários capítulos: Capítulo 2, no qual são apresentados vários algoritmos e sistemas considerados relevantes para o desenvolvimento da tese, bem como é feita uma discussão sobre os vários sistemas e algoritmos apresentados e a sua relevância no entender da solução proposta criando um paralelismo com as contribuições da tese. Neste capítulo serão apresentadas e discutidas metodologias utilizadas por sistemas de replicação de dados, algoritmos e técnicas de partilha de segredos (secret sharing) e finalmente serão comparados e discutidos sistemas semelhantes ao sistema a desenvolvido no decorrer da tese; Capitulo 3, no qual é feita uma apresentação preliminar da arquitectura do sistema revendo os objectivos propostos. Na arquitectura proposta serão apresentados e descritos os vários componentes especificando a forma como os mesmos contribuem para cada um dos objectivos descritos no capítulo anterior; Capitulo 4, onde será descrito detalhadamente o plano para a elaboração da tese, descrevendo cada fase da elaboração e o tempo previsto para as mesmas. 7

22

23 2 Trabalho Relacionado Figura 2. Arquitectura geral do sistema A aproximação ao sistema de middleware objectivado na presente dissertação está ilustrada na Figura 2. O sistema fornece uma interface pública oferecendo operações básicas de inserção, obtenção, remoção ou pesquisa de dados (semelhante à de uma actual solução de repositório de dados do tipo chave-valor na internet. Perante um pedido de inserção de dados, e segundo o fluxo acima apresentado, os dados são indexados, cifrados, são adicionadas provas de integridade, são replicados ou fragmentados e por fim cada um dos fragmentos ou réplicas é depositado nas nuvens de armazenamento. O índice para pesquisa, as configurações e valores gerados nos processos criptográficos e os dados relacionados com a localização dos dados nas nuvens públicas serão, numa primeira abordagem da dissertação, armazenados localmente e consultados pelos mesmos componentes quando necessário. De forma a conseguir os objectivos propostos a solução proposta foi divida em partes. Cada uma dessas partes está mapeada para o conjunto de componentes principais que emergem na visão de aproximação à arquitectura de software a conceber, desenvolver e testar na dissertação e que são visíveis na Figura 2. Nas próximas secções do presente capítulo apresenta-se pois o trabalho relacionado, tendo por base o estudo realizado e a análise das aproximações da investigação, bem como da análise de adequabilidade de técnicas e soluções que possam ser associadas a cada uma das vertentes anteriores da estrutura da solução, nomeadamente: 9

24 Mecanismos de encriptação com segredos partilhados contribuindo para o módulo de segurança. Pretende-se que o conjunto de técnicas de encriptação com segredos partilhados, do tipo das descritas e avaliadas na secção 2.1, possam servir com base para a garantia de confidencialidade dos dados oferecida pelo sistema. O uso destas técnicas permite que os dados se encontrem replicados (como múltiplas partes confidenciais ou provadas) e que a sua recuperação dependa não do uso de cifras mas da obtenção de um quórum de réplicas que tenham sido cifradas por uma ou mais partes constituintes de segredos partilhados (ou de sementes geradoras de chaves de cifra/decifra); Assinaturas Threshold contribuindo para o módulo de segurança. Pretende-se que a técnica apresentada e que se endereça na secção 2.2, possa ser usada para o suporte de provas de autenticidade e integridade sobre os dados depositados em múltiplas nuvens de armazenamento, sem necessidade de gestão chaves privadas únicas; Gestão confiável de dados em nuvens públicas neste subcapítulo pretende-se contribuir para os módulos de segurança, replicação e indexação através da apresentação e comparação de vários sistemas semelhantes em alguns aspectos ao sistema de middleware a desenvolver. Os sistemas apresentados na secção 2.3 utilizam diferentes mecanismos e técnicas para oferecer garantias de disponibilidade, integridade e confidencialidade dos dados depositados, sendo aproximações da investigação que permitem inspirar parte da solução que se procura; Provedores de serviços de armazenamento na nuvem que constituem o tipo de soluções que podem ser usadas como repositórios de nuvens de armazenamento combinadas na solução. As diversas soluções candidatas a utilização são apresentadas e comparadas n secção 2.4, tendo por base uma síntese de factores associados a: modelo de custos, tipologia de interfaces e operações em APIs, garantias oferecidas pelos fornecedores e aspectos de heterogeneidade do seu uso combinado e que exigirão a criação de adaptadores de forma a permitir a comunicação com os mesmos a partir de uma API uniforme de acesso a repositório, que possa incorporar gradualmente conectores específicos para as diferentes nuvens. 2.1 Mecanismos de cifra partilha de segredos Partilha de segredos ou do inglês Secret Sharing é uma solução para um problema que pode ser enunciado da seguinte forma [11]: Existem onze cientistas estão a trabalhar num projecto secreto. Eles pretendem guardar documentos numa gaveta de forma a que esta só possa ser aberta se pelo menos seis ou mais cientistas estiverem presentes. Desta forma são levantados os seguintes problemas: Qual o número mínimo de fechaduras necessárias? De quantas chaves deve cada cientista dispor? Podemos verificar através de simples calculo combinatório que seriam necessárias no mínimo fechaduras (combinações de, a ) e atribuir chaves a cada cientista ( ). Para resolver este problema foram criados algoritmos de partilha de segredos e assinaturas threshold nos quais os dados ou assinaturas são divididas em partes distintas sendo que para recuperar os dados ou validar as assinatura serão necessárias no mínimo partes, dai estes esquemas serem referidos como esquemas threshold-(k,n). A grande vantagem deste tipo de esquemas é o facto de garantirem confidencialidade dos dados sem que para isso seja necessária a obrigatoriedade de uma chave. Ou seja, podemos reparar que estes esquemas são particularmente úteis em ambientes onde são previstas ocorrências de falhas bizantinas podendo ser criados quóruns de elementos. Podemos ainda dividir os esquemas de partilha de segredos pelas suas propriedades em várias categorias [19]: Esquemas de partilha de segredos preposicionados, onde toda a informação do segredo é fornecida excepto uma pequena constante que irá activar o segredo numa fase posterior, por exemplo, uma mensagem broadcast poderá activar o segredo. Estes esquemas possibilitam que a recuperação apenas seja possível após um evento; 10

25 Esquemas com verificação de partes, onde é possível verificar a integridade e/ou autenticidade das diferentes partes, oferecendo assim um processo de recuperação de segredos mais fiável; Esquemas de partilha de segredos pró-activos, onde é possível alterar ou recuperar shares de forma individual, ou seja, sem a necessidade de recuperação e posterior criação e distribuição de novas partes Shamir Figura 3. Interpolação polinomial utilizada no esquema de Shamir com k = 4 O esquema de Shamir [11], publicado em 1979, é um esquema baseado em interpolação polinomial, ou seja, dado um conjunto de pontos é criada uma função polinomial a qual interpola todos os pontos em questão. Tal como podemos verificar na Figura 3 o processo consiste na atribuição de um conjunto de pontos a vários participantes sendo necessários pelo menos pontos para que seja efectuada uma interpolação que permita a recuperação da função utilizada para gerar todos os pontos, sendo que o segredo reside nessa função. Para partilhar o segredo em partes é necessário proceder à geração aleatória, por um dealer ou entidade confiável, de um polinómio de grau : Através da função são gerados ( ) onde ( ) pontos num plano bidimensional: ( ) ( ), sendo que ( ) ( ) Após a geração e distribuição dos pontos pertencentes ao plano pelos vários dos participantes na partilha de segredo podemos então proceder à recuperação do segredo. Para isso, e considerando apenas partes integras (( ) ( )), procedemos à computação de polinómios de Lagrange [20]: onde. Por fim para recuperar o segredo partilhado basta recuperar a função inicial ( ): ( ) ( ( )) onde ( ). 11

26 Este esquema de partilha de segredos goza de um conjunto de propriedades [19]: É perfeito, ou seja, o conhecimento de menos de partes não reduz o espaço de procura da do segredo partilhado visto que as restantes partes são igualmente prováveis; É ideal, ou seja, o tamanho de cada parte é o tamanho do segredo; É extensível a novos utilizadores, novas partes podem ser computadas e distribuídas sem afectar os utilizadores existentes; Fornece suporte à confiança depositada em cada provedor, ou seja, depositar múltiplas partes num mesmo provedor de armazenamento na nuvem permite que na fase de recuperação do bloco de dados original, possam ser recolhidas várias partes de um mesmo provedor; Não existem suposições, ou seja, ao contrário doutros esquemas criptográficos, este não se firma em suposições não comprovadas (por exemplo, a dificuldade de quebrar uma cifra). Exemplo: Se quisermos partilhar o número com e começamos por gerar dois ( ) números aleatórios: De seguida procedemos à geração da função com base no segredo partilhado e com base nos valores aleatórios gerados: ( ) Agora podemos proceder à geração de pontos tendo como base a função ( ) criada: ( ) ( ) ( ) ( ) ( ) ( ) Para recuperação do segredo D seleccionamos de forma aleatória Procedemos à computação de ( ) ( ) ( ) ( ) ( ) ( ) polinómios de Lagrange: pontos gerados anteriormente: Por fim computamos a função inicial: ( ) ( ) ( ) ( ) Podemos verificar que este método de partilha de segredos é bastante leve computacionalmente exigindo apenas simples cálculo matemático na geração e na recuperação das partes. Podemos ainda verificar que este, apesar de garantir a confidencialidade perante um número reduzido de partes, não oferece garantias de integridade por cada uma das partes podendo levar a dificuldades no momento da recuperação do segredo em causa. 12

27 2.1.2 Blakley Figura 4. Intersecção de planos no esquema Blakley com k = 3 O esquema de Blakley [13] publicado em 1979 (à semelhança do esquema de Shamir) faz uso da intercepção de hiperplanos a fim de encontrar um único ponto de intersecção de todos os planos sendo cada um destes planos correspondente a uma parte, a um share. Como podemos verificar na Figura 4 a intersecção de três planos dá origem a um ponto no qual se encontra definidas as coordenadas secretas. Neste esquema o segredo é uma coordenada de um ponto num espaço n-dimensional, ou seja, é caracterizado por num ponto de coordenadas ( ), onde é o número mínimo de partes necessárias para recuperar o segredo. O esquema é iniciado pela selecção de um valor primo e com a geração de um ponto -dimensional ( ) no qual sendo as restantes coordenadas valores aleatórios modulo. De seguida, sendo um valor inteiro aleatório, geramos variáveis por cada um dos nós: ( ) Sendo ( ( ) [ ] [ ] ) as variáveis incógnitas é atribuído a cada participante um hiperplano: [ ] Sendo cada parte ( ) e um conjunto de partes em que podemos proceder à recuperação do segredo bastando para isso resolver o sistema de congruências: { ( )} [ ] [ ( ) ] [ ] [ ] ( ) ( ) ( ) ( ) Exemplo: Se quisermos partilhar o número com e. Começamos por seleccionar um número primo, e gerar um ponto ( ) (4321,12,35). De seguida para cada parte (participante) geramos e aleatórios modulo e calculamos : Por fim para recuperar o segredo através de ( ) ( ) ( ) ( ) partes basta resolver o sistema de congruências: 13

28 [ ] [ ] [ ] ( ) ( ) ( ) Ao contrário do esquema de partilha de segredos de Shamir este esquema não é considerado perfeito pois um número crescente de partes (planos) reduz gradualmente o espaço de procura do segredo o que poderá por em vantagem o atacante que consiga obter algumas das partes que perfazem o segredo Asmuth-Bloom O esquema de partilha de segredos Asmuth-Bloom [12] faz uso de aritmética modular para fragmentação dos dados entre as várias partes e faz uso do teorema chinês do resto para recuperação dos dados. Este esquema é dividido em duas partes a geração, onde uma entidade fiável também chamada de dealer produz e distribuí as partes, e a fase de recuperação onde é utilizado o teorema do chinês do resto para recuperação do segredo. A fase de geração de partes é efectuada da seguinte forma: o segredo que se pretende partilhar então devem ser gerados um conjunto de números co- que obedecem às seguintes regras: Sendo primos Sendo então o dealer computa onde é um inteiro positivo sujeito à condição. É então entregue a parte a cada um dos participantes ( ) correspondente a: Na fase da construção com recurso a de partes válidas é obtido o sistema ( ) onde através do qual é resolvido aplicando o teorema do chinês do resto. O segredo D é computado da seguinte forma: Teorema Chinês do Resto O Teorema Chinês do Resto [21] na sua essência diz que é possível reconstruir um número inteiro através de um sistema de congruências lineares: ( ) ( ) Sendo ( ) ( ) e sendo um conjunto de números coprimos, ou seja: O processo de recuperação do número inteiro [ ] ( ). é iniciado com o cálculo de: De seguida é calculado: ( ) ( ) ( ) ( ( ) ( ) E por fim é calculado: ( ( )) 14

29 Exemplo: Se quisermos partilhar o número com e. Começamos por escolher números co-primos: Calculamos sendo que : ( ) ( ) Seja: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Podemos então computar: ( ( )) O teorema chinês do resto goza duma propriedade a qual permite que o segredo seja alterado sem que para isso seja necessária a substituição das partes que constituem o mesmo, ou seja, é possível através de operações sobre as partes existentes alterar o segredo no local onde partes se encontram sem que para isso seja preciso violar condições de confidencialidade. Esta propriedade insere este esquema na categoria de esquemas de partilha pró-activos. Por exemplo se quisermos alterar o segredo para então: Calculamos para cada uma das partes o valor do incremento para : ( ) ( ) ( ) Finalmente podemos verificar que: ( ( )) Concluindo, podemos ver a propriedade acima exemplificada como uma mais-valia na confidencialidade e nos custos no middleware que se pertence desenvolver, ou seja, este mecanismo permite que sejam alterados os dados presentes, neste caso, em nuvens de armazenamento públicas sem que sejam violadas as garantias de confidencialidade, ou seja, sem que seja necessária a remoção total das partes, geração de novas partes e a inserção das mesmas nas nuvens de armazenamento Discussão O esquema para partilha de segredos Shamir é considerado perfeito ao contrário do Blakley o que pode ser considerada uma mais valia na escolha do esquema de Shamir. Apesar disso, ambos permitirem a adição de novas partes do segredo sem a necessidade de gerar todas as outras partes novamente. O esquema Asmuth-Bloom devido ao uso do teorema do resto chinês possui propriedades homomórficas o que permite que o segredo seja alterado sem que para isso seja necessária a geração total de partes, ou seja, através de operações assíncronas individuais sobre cada uma das partes é possível actualizar o segredo sem que seja posta em causa a confidencialidade inerente ao mesmo. No decorrer da dissertação serão utilizados os três esquemas fazendo uma comparação nas garantias de segurança e na performance oferecida a cada um deles. 15

30 2.2 Assinaturas Threshold À semelhança dos outros processos de partilha de segredos, as assinaturas threshold [11] permitem que sejam divididos dados em partes e recuperar esses mesmos dados através de um mínimo de partes de um total de partes na presença de falhas, onde e. No caso das assinaturas threshold e tal como o nome indica este processo é utilizado para dividir assinaturas, ou seja, através de pelo menos fragmentos e uma chave pública é possível validar um assinatura. O processo utilizado é iniciado pela geração de uma chave pública de verificação e um conjunto de segredos ou chaves privadas de assinatura. Cada segredo deve ser aplicado para assinar o mesmo conjunto de dados. Os fragmentos da assinatura resultantes da aplicação do segredo são verificáveis de forma individual inserindo este esquema na categoria esquema de partilha de segredos com verificação de partes anteriormente referido. A motivação dos autores para explorarem este tipo de assinaturas foi o facto das mesmas oferecerem aplicação em consensos bizantinos em ambientes assíncronos sendo que para isso o protocolo de assinaturas teria de ser não interactivo, o que se confirma. Este esquema tem como base o algoritmo RSA e por isso goza das garantias oferecidas pelo mesmo. O algoritmo é iniciado pela geração de três números primos:, e o qual deverá ser superior a (número total de participantes). De seguida, e de forma semelhante ao processo RSA, calculamos: ( ) ( ) A chave para verificação da assinatura final (chave publica) é então definida por: ( ) De seguida são criados os segredos utilizados para gerar cada fragmento da assinatura do bloco em questão. Procedemos da seguinte forma, sendo: { ( ) ( ) Então: ( ( ) ) [ ] Podemos verificar que o polinómio ( ) compreende a chave privada que será dividida em partes. A cada um dos segredos é adicionado um verificador que irá permitir a verificação de integridade de cada fragmento da assinatura de forma individual. Sendo: ( ) [ ] ( ) Podemos então definir o segredo com os verificadores correspondentes como: 16 ( ) [ ] O bloco de dados é assinado através de cada um dos segredos, fazendo uso de aritmética modular, resultando em assinaturas ( ) onde ( ) Para o processo de verificação da assinatura são necessários fragmentos da assinatura validos sendo que a verificação de cada fragmento da assinatura é efectuada através de propriedades presentes na aritmética modular e com recursos ao uso de hashes computacionalmente seguros [9]

31 Após a obtenção de fragmentos válidos podemos então proceder à verificação da assinatura completa sobre os dados, constituída por fragmentos válidos ( ) utilizando para isso a chave publica criada anteriormente e utilizado valores derivados da interpolação de Lagrange. Procedemos então da seguinte forma: ( ) ( ) ( ) ( ) Se íntegros. então a assinatura final é válida concluindo assim que os dados D são autênticos e Podemos verificar por análise simples do processo que este permite algum grau de assincronismo, ou seja, o processo permite que sejam criadas a chave pública e os segredos utilizados na assinatura sem que para isso seja necessária a posse dos dados a assinar. Adicionalmente e tal como descrito anteriormente o processo utilizado é completamente não interactivo o que permite que aos fragmentos sejam verificados individualmente e que a verificação da assinatura seja feita no momento em que foram recolhidos um total de fragmentos. No sistema de middleware a desenvolver poderá ser interessante utilizar um mecanismo de pré-processamento que ofereça melhores performances no processamento dos dados, mais especificamente na criação das assinaturas. 2.3 Sistemas para gestão confiável de dados Confidencialidade, integridade e disponibilidade de dados em nuvens públicas DepSky O sistema DepSky [15] é descrito pelos autores como uma nuvem de nuvens que melhora o nível de disponibilidade, integridade e confidencialidade de dados armazenados na nuvem sendo que para lidar com questões de disponibilidade e integridade o DepSky utiliza mecanismos de replicação bizantina. Outra das questões a que o sistema DepSky responde é o vendor lock-in através do uso de várias nuvens eliminando assim a dependência individual de cada uma delas. O DepSky tal como outros sistemas deste tipo também apresenta vantagens ao nível criptográfico não sendo necessário qualquer tipo de processamento por parte do servidor, ou seja o servidor de armazenamento é tratado como uma entidade de armazenamento passiva que apenas suporta as operações obtenção, inserção, remoção ou listagem dos dados. No DepSky encontram-se definidos dois algoritmos distintos o DepSky-A, que garante disponibilidade e integridade e o DepSky-CA que adicionalmente providência confidencialidade. No modelo de dados apresentado pelo DepSky podemos verificar que cada unidade de dados é constituída por um identificador único, um número de versão (para suportar actualização dos dados), metadados próprios de cada aplicação, dados de verificação de integridade e os próprios dados. No desenho do sistema foram considerados três entidades os escritores de dados, os leitores de dados e os fornecedores de serviços na nuvem. O sistema considera que tanto leitores como escritores possam corromper os dados. Para resolver o problema da corrupção dos dados são utilizados mecanismos baseados em locks evitando assim que existam escritas em simultâneo sobre os mesmos blocos de dados. Para que seja possível escrever de forma autenticada nas nuvens de armazenamento 17

32 todos os escritores partilham uma chave privada utilizada para assinar alguns dos dados presentes na unidade de dados. As chaves públicas são disponibilizadas aos leitores através das próprias nuvens de armazenamento. Para garantir a confidencialidade dos dados na nuvem sem ser necessário um sistema de distribuição de chaves foi empregado um esquema de partilha de segredos onde um dealer distribui um segredo por participantes mas cada participante apenas recebe parte do segredo. A principal propriedade deste mecanismo é que são necessárias pelo menos partes para recuperar os dados sendo que nenhuma informação é revelada com menos de partes. Neste mecanismo cada uma das nuvens irá receber apenas uma parte (share) garantindo assim que as nuvens não terão acesso aos dados de forma individual. O modelo de confiança do sistema não se baseia apenas nas nuvens de forma individual, ou seja, assume-se que as nuvens em questão podem falhar de forma bizantina o que leva á necessidade de réplicas do mesmo bloco de dados onde é o número de falhas suportadas. O sistema de middleware descrito é bastante semelhante ao sistema que irá ser descrito e abordado no decorrer da elaboração da tese. De forma semelhante ao sistema DepSky o middleware a ser desenvolvido irá tentar garantir disponibilidade, integridade. Ao contrário do sistema descrito pelos autores a confidencialidade será garantida numa fase inicial através do uso de criptografia simétrica sendo as chaves utilizadas armazenadas no middleware de forma segura. Já a integridade, no que se refere a problemas relacionados com a concorrência, poderá ser garantida através do uso de locks e com o uso de MAC no que se refere a protecções contra ataques de tampering sobre as nuvens de armazenamento idataguard Os autores do idataguard [14] descrevem o sistema como sendo um sistema que combate a heterogeneidade, que reforça a segurança dos dados e que permite pesquisa sobre dados cifrados. O idataguard é constituído por uma aplicação cliente e por um middleware que executam na máquina cliente. Alternativamente o middleware idataguard pode ser executado num servidor proxy o qual se pressupõe seguro. 18 Figura 5. Arquitectura do sistema idataguard O sistema fornece duas interfaces: uma estilo sistema de ficheiros e outra baseada em objectos sendo que o modelo de dados abstracto considera todos os ficheiros como objectos. A execução do middleware é iniciada pela tradução dos dados outsource para um modelo de dados abstracto através da componente DT (Data Translator). O módulo criptográfico do sistema ou Crypto Module utiliza como base para o processo de geração de chaves uma password providenciada pelo cliente (masterpassword). A componente geradora de índice ou index generator gera um índice criptográfico para todos os ficheiros baseados em texto.

33 Cada objecto no sistema é representado por um identificador único (gerado a partir da concatenação do caminho absoluto com a password fazendo com que o calculo do hash seja determinístico), pelo nome, pelo conteúdo e por um conjunto de metadados do tipo chave-valor. Visto que o identificador não revela qualquer informação este permanece decifrado enquanto que os metadados, o nome e o conteúdo do ficheiro são cifrados utilizando a chave de encriptação do ficheiro ou OEK (Object Encryption Key). Esta chave é gerada on-the-fly utilizando uma função de derivação de chaves ou KDF (Key Derivation Function) da especificação PBE PKCS#5 utilizando como salt uma string aleatória prevenindo que o atacante pré-calcule as chaves para as passwords mais comuns. O salt é armazenado na parte não cifrada dos metadados no objecto, ou seja, será possível que o idataguard regenere a chave quando necessário. O sistema garante a integridade dos dados no sistema é garantida através do uso dum HMAC(Hash-based Message Authentication Code) aplicado sobre o identificador, nome, conteúdo, metadados e versão garantido assim a versão mais actual dos dados. De forma semelhante ao middleware a ser abordado no decorrer de elaboração da tese, a confidencialidade dos dados irá ser garantida através da encriptação dos dados por meio de chaves geradas on-the-fly. Além disso pretende-se também que existam mecanismos de combate a heterogeneidade por meio de criação de adaptadores que fornecem uma interface de acesso comum ao middleware Farsite O Farsite [22] é um sistema de ficheiros distribuído, seguro e escalável que funciona logicamente como um servidor de ficheiros centralizado. O sistema, desenhado para correr na máquina cliente, oferece garantias de disponibilidade, fiabilidade, confidencialidade e integridade sobre os ficheiros e directorias armazenados no mesmo. Utiliza um mecanismo de cache local com propagação lenta de actualizações conseguindo assim uma boa performance. O sistema protege os dados dos ficheiros e os metadados das directorias através de técnicas de criptográfica simétrica e através do uso de replicação bizantina. Para gestão de permissões foram definidos os certificados do espaço de nomes que associa a raiz de um sistema de ficheiros com um conjunto de máquinas que gerem os metadados da raiz, um certificado de utilizador que associa um utilizador à sua chave pública utilizada na validação perante o controlo de acessos e por fim um certificado máquina que associa uma máquina à sua chave pública que é utilizada para validar a máquina como recurso físico único. A chave privada da máquina fica armazenada localmente em cada máquina enquanto as chaves privadas de cada utilizador encontramse depositadas num directório global e são cifradas com a chave privada de cada utilizador. Cada máquina no sistema pode tomar três papéis distintos podendo ser um cliente, um membro de um grupo de directorias ou um host de ficheiros. A máquina cliente interage directamente com o utilizador enquanto um membro de um grupo de directorias é uma máquina que colectivamente gere a informação utilizando um protocolo bizantino tolerante a falhas. Todos os membros do grupo armazenam uma réplica da informação e à medida que o grupo recebe pedidos do cliente tratam-nos de forma determinística, actualizando a sua réplica e enviando a mensagem para o cliente. A replicação bizantina e verificação de semântica de acesso no grupo oferecem fiabilidade e integridade dos dados. Através do uso de hashs criptograficamente seguros sobre os conteúdos os grupos de directorias podem detectar corrupção sobre os conteúdos armazenados nos hosts de ficheiros prevenindo assim os mesmos de corromper os dados. Para conseguir fiabilidade e disponibilidade o Farsite replica os metadados das directorias por vários grupos de directorias e os dados dos ficheiro por vários hosts de ficheiros. Para armazenar dados de forma redundante são utilizados erasure codes em vez de simples replicação. Se uma máquina ficar indisponível durante um período de tempo considerável as suas funções migram para outra máquina utilizando as réplicas dos dados e metadados da directoria para regenerar os dados e metadados presentes nas máquinas de substituição. A privacidade é conseguida através da encriptação dos conteúdos dos ficheiros e dos metadados considerados sensíveis. Quando um cliente cria um novo ficheiro, este gera aleatoriamente um ficheiro chave, contendo uma chave simétrica, de seguida o cliente calcula o hash do ficheiro e utiliza esse 19

34 mesmo hash como chave para cifrar o bloco de dados. O ficheiro chave é então utilizado para encriptar os hashes em vez de encriptar os blocos directamente. A esta técnica chama-se encriptação convergente pois vários ficheiros não cifrados idênticos convergem num único ficheiro cifrado, independentemente da chave do utilizador. Fazer encriptação ao nível do bloco permite que o cliente escreva blocos individuais sem necessidade de escrever todo o ficheiro. Também permite que o cliente leia blocos de forma individual sem necessidade de esperar pela transferência do ficheiro completo do host de ficheiros. O sistema Farsite é de extremo interesse no contexto do sistema de middleware a desenvolver visto que aborda a temática das questões de confidencialidade, integridade e disponibilidade sobre um sistema de ficheiros através do qual é possível criar um ponto de comparação com a interface de sistema de ficheiros que se pretende desenvolver a fim de testar a solução proposta. Podemos desde logo verificar a existência de certificados associados a máquinas e utilizadores o que, no contexto da dissertação, permite que sejam criados mecanismos de controlo de acessos e de autenticação de serviços, neste caso do próprio sistema de middleware. Outro dos factores que se poderá considerar interessante é a utilização de hashes por parte dos grupos de directorias a fim de detectar corrupção dos dados nos hosts de ficheiros visto que este mecanismo poderá ser utilizado para detecção de blocos de dados corruptos por parte do middleware. A confidencialidade é oferecida por um mecanismo bastante interessante, chamado encriptação convergente, o que pode ser extremamente útil, perante a existência de vários utilizadores no middleware a desenvolver, reduzindo o espaço de armazenamento ocupado Discussão A maioria dos sistemas descritos apresentam mecanismos específicos interessantes que poderão ser incluídos no middleware a desenvolver. O DepSky oferece garantias de integridade, disponibilidade e confidencialidade pelo uso de esquemas de partilha de segredos, erasure codes e replicação. Por fim o sistema DepSky oferece alguns mecanismos que poderão ser incluídos no sistema no decorrer da dissertação como é o caso de locks, utilizados para garantir a integridade em acessos concorrentes, e garbage collection, o qual é importante na optimização do espaço ocupado e por consequente importante na redução dos custos. O sistema Farsite aproxima bastante o que se pretende desenvolver, no contexto da dissertação, visto que a base de confiança é depositada no próprio utilizador do sistema, ou seja, apesar dos dados, se encontrarem replicados de forma bizantina em máquinas não confiáveis, estes encontram-se cifrados podendo apenas ser decifrados com recurso às chaves na posse do utilizador. Além de uma base de confiança reduzida as garantias oferecidas pelo sistema são apresentadas e comprovadas por meio de um conjunto de mecanismos que se provaram seguros. Por fim o sistema Farsite, na solução apresentada, tem em conta o custo computacional e o espaço de armazenamento utilizado o que vai de encontro aos objectivos da presente dissertação Replicação como mecanismo para a disponibilidade e fiabilidade HAIL O HAIL [23] ou High-Availability and Integrity Layer for Cloud Storage é um sistema que pretende garantir a integridade e disponibilidade de dados de forma semelhante aos sistemas RAID onde invés da utilização de discos como base para o armazenamento são utilizados serviços de armazenamento na nuvem. O HAIL aborda as garantias dos dados em duas dimensões PDP (Proof of Data Possession) onde é garantido que os dados existem e POR (Proof Of Retrievability) onde é garantido que os dados são recuperáveis. A verificação de integridade, feita ao nível do ficheiro e não do bloco, é depositada na aplicação cliente ou num serviço externo eliminando a necessidade de comunicação entre servidores. Para garantir protecção contra um modelo de atacante bizantino o sistema faz uso de mecanismos de replicação admitindo que o atacante apenas conseguirá corromper réplicas num conjunto total de réplicas. Para verificação de integridade o HAIL extrai um bloco aleatório de cada uma das réplicas verificando se os mesmos são idênticos. Caso sejam detectadas falhas nas réplicas analisadas o sistema reconstrói as réplicas nos servidores faltosos com recurso aos restantes. 20

35 No decorrer da elaboração da tese irá ser utilizado um modelo de replicação bizantina e por isso poderão ser utilizados mecanismos de comparação entre blocos selectivos para verificar a corrupção das réplicas. Esta técnica torna-se apenas um pouco limitativa se tivermos em conta que as réplicas poderão ser diferentes no seu estado de armazenamento, ou seja, cada uma das réplicas poderá estar cifrada de forma diferente ou poderá ser acompanhada de assinaturas diferentes, como acontece no caso das assinaturas threshold RACS O RACS [24] ou Redundant Array of Cloud Storage é um sistema que divide os dados, de forma semelhante ao sistema RAID, por vários fornecedores de armazenamento na nuvem. O sistema, à semelhança do que se pretende desenvolver, tenta oferecer um serviço de armazenamento transparente e fiável oferecendo disponibilidade e integridade aos dados depositados enquanto oferece protecção contra o problema de vendor lock-in. O RACS, tal como ocorre com dos provedores de serviços de armazenamento nas nuvens, oferece as operações básicas de obtenção, inserção, eliminação e listagem de dados indexados por uma chave. Quando o RACS recebe um pedido de inserção de dados este divide os dados em partes de tamanho semelhante ( do tamanho original). De seguida o RACS utiliza erasure codes para proceder á criação partes redundantes perfazendo um total de partes sendo que as partes redundantes têm tamanhos idênticos às partes originais. Quando um cliente faz um pedido para obtenção de dados o RACS reúne partes e reconstrói os dados originais. Os metadados dos objectos são replicados pelos vários servidores de forma a possibilitar a distribuição de carga entre os vários servidores. Visto que todos os dados passam pelo proxy RACS, e visto que os dados são processados a cada pedido de inserção ou obtenção de dados o uso de um único proxy RACS pode ser visto como um bottleneck. Para mitigar o bottleneck em questão o RACS foi desenhado para executar num sistema distribuído onde vários proxies RACS coexistem explorando um conjunto idêntico de repositórios de dados. Cada proxy armazena uma quantidade limitada de dados incluindo informação de autenticação dos utilizadores, localização e credenciais de cada repositório. Alterações nestes dados são propagadas para os proxies restantes. O uso de vários proxies utilizando um mesmo conjunto de repositórios levanta o problema da concorrência nas escritas de objectos com chaves idênticas. Para resolver este problema o RACS coordena as operações de modo a que exista apenas um escritor e vários leitores (sincronização one-writer, many-reader ) para cada par (bucket, chave). O sistema RACS aborda a possibilidade do uso de aplicações cliente mais complexas que poderão fazer uso de configurações para a escolha de repositórios a fim de explorar a proximidade geográfica dos mesmos. Além disso permite que seja feita uma gestão de custos mais inteligente através dum balanceamento de carga pelos diferentes repositórios. A implementação do sistema RACS existente permite utilizar como repositórios de armazenamento o serviço Amazon S3, o Rackspace Cloud Files ou simplesmente o disco local. Numa análise rápida deste sistema podemos verificar a existência de mecanismos que vão de encontro aos objectivos propostos nesta dissertação. Falamos então da preocupação na integridade, disponibilidade e nos custos associados ao uso de provedores de serviços de armazenamento na nuvem Discussão O HAIL é um sistema que parte da filosofia RAID, utilizada nos discos de armazenamento, para oferecer as propriedades de integridade e disponibilidade dos dados, propriedades estas que deverão ser garantidas no sistema a desenvolver no decorrer da elaboração da tese. Este sistema conta também com um mecanismo de detecção de blocos corruptos e recuperação de dados, fazendo uso das definições PDP e POR, o que poderá ser interessante perante a inclusão dum mecanismo do mesmo índole no sistema de middleware a desenvolver. O RACS, de forma semelhante ao HAIL, explora uma filosofia RAID que garante a integridade e disponibilidade dos dados. Contrariamente ao HAIL o RACS é utilizado como um proxy, invés dum componente aplicacional, o que permite a coexistência de várias instancias do mesmo proxy que 21

36 coordenadas oferecem a disponibilidade do sistema. Tal como discutido anteriormente pretende-se que o sistema de middleware a desenvolver ofereça disponibilidade ao nível do sistema (e não dos dados) o que oferece um ponto comparação na metodologia de replicação utilizada pelos proxies RACS, pelo uso do sistema Apache Zookeeper [25], e o middleware a desenvolver, pelo uso do sistema Apache Cassandra [16] Politicas e controlo de acessos como mecanismos para a confidencialidade EHR O sistema descrito no artigo é uma plataforma que pretende garantir segurança e privacidade de registos médicos ou EHR (Electronic Health Records) [7], para isso é necessário garantir que os registos médicos se mantêm confidenciais estando apenas acessíveis a serviços de saúde e a pacientes autorizados. Para garantir as propriedades enunciadas o sistema faz uso de um mecanismo de encriptação baseada nos atributos ou ABE (Attribute Based Encryption). Um sistema ABE é um sistema de criptografia de chave pública no qual cada chave de cada utilizador é etiquetada com um conjunto de atributos e conteúdo cifrados os quais se encontram associados a uma política de acesso. A chave secreta do utilizador apenas pode decifrar conteúdo se o conjunto de atributos associados à chave do utilizador satisfizer a política de acesso associada ao conteúdo. A solução idealizada pelos autores assume que existe uma entidade confiável ou TA (Trusted Authority) que gera chaves para os utilizadores e que publica os valores públicos além disso ainda é assumido que as nuvens de armazenamento fornecem um serviço de armazenamento fiável e que os dados podem ser copiados e vistos pelo fornecedor destes mesmos serviços. Os registos dos pacientes podem ser vistos como ficheiros cifrados acompanhados duma tabela onde cada entrada contem metadados descrevendo o ficheiro cifrado, a localização também esta cifrada, uma política de acesso não cifrada e um índice de pesquisa ou SI (Search Index) para pesquisa de palavras dentro do próprio ficheiro cifrado. Para suporte das pesquisas sobre os dados cifrados o sistema utiliza uma primitiva chamada Secure Channel Free Public-Key Encryption with Keyword Search (PEKS). Este mecanismo permite que os utilizadores efectuem pesquisas privadas por palavras sobre os dados cifrados sem revelar as chaves ou correspondências parciais com o servidor. Este sistema apresenta um ponto de vista interessante no que se refere à forma como são geridas as políticas de acesso sobre dados privados. A encriptação e desencriptação de dados baseada nos atributos poderá suscitar interesse no decorrer da elaboração da tese visto que o sistema a desenvolver poderá depender de políticas de acesso as quais poderão ser alteradas ao longo do tempo. Este mecanismo irá então permitir alterar as políticas sem ser necessário cifrar novamente os dados Silverline O Silverline [26] é um sistema desenhado para melhorar a segurança dos dados armazenados em clouds públicas. O Silverline baseia-se num modelo simplista onde os dados são cifrados na aplicação cliente antes de serem armazenados. Sendo o Silverline um sistema desenhado para ser utilizado como middleware intermediário entre aplicações e as bases de dados, foi necessário criar um mecanismo para determinar quais os dados que devem ser cifrados e quais deverão ser mantidos em branco. A necessidade deste mecanismo deve-se devido à existência de operações nos sistemas de base de dados que apenas podem ser executadas sobre os dados não cifrados como é o exemplo das agregações ou comparações de desigualdade entre valores. Após determinar quais os dados a cifrar é necessário atribuir chaves a cada uma das células de dados. Uma das formas seria atribuir uma chave global utilizada em todas as operações de cifra. Esta solução iria gerar problemas de segurança, ou seja, o uso de uma única chave ditaria um ponto de falha único. Alternativamente poderiam ser utilizadas chaves diferentes para cada objecto o que iria introduzir um grande overhead na gestão e distribuição de chaves pelos vários utilizadores. Para resolver o problema da gestão de chaves o Silverline utiliza uma metodologia onde são criados grupos de dados sendo que a cada um é atribuído uma chave simétrica desta forma se uma chave for comprometida apenas parte dos dados será revelada. O Silverline garante um acesso transparente por parte dos utilizadores podendo ser utilizado em aplicações web baseadas num browser com suporte HTML5 sem ser necessária qualquer alteração no mesmo. O 22

37 sistema não aborda a questão da integridade remetendo para o uso de HMAC por parte da aplicação cliente. Sendo o caso de estudo a ser abordado, no decorrer da elaboração da tese, um sistema de correio electrónico podemos facilmente verificar as vantagens que poderão ser retiradas do uso de chaves partilhadas por grupos onde um grupo de utilizadores poderiam ter acesso a uma mesma mensagem reduzindo assim o espaço de armazenamento utilizado e por consequente a redução dos custos. Outra das funcionalidades que podemos retirar deste sistema, e que poderão ser incluídas no sistema de middleware, é o facto do TCB se basear em última instancia no web-browser do cliente o que reduz o problema da gestão de credenciais Discussão O sistema EHR, ao contrário dos restantes, apresenta uma solução, com vista a garantir a confidencialidade, orientada ao uso de políticas de acesso o que, sendo interessante e podendo ser adicionado ao sistema a desenvolver, sai fora da índole da dissertação. O Silverline apresenta uma aproximação à confidencialidade sobre dados presentes em bases de dados, que contrariamente à solução de middleware proposta, são cifrados de forma selectiva o que oferece vantagens nas operações sobre dados não cifrados Discussão final DepSky idataguard Farsite HAIL RACS EHR Silverline Confidencialidade X X X X X Integridade X X X X X Disp. dos dados X X X X X Comb. Heterogeneidade X X X Distribuição X X Suporte para Pesquisa X X Tabela 1. Comparação das propriedades dos diferentes sistemas Através da comparação feita na Tabela 1 podemos verificar que de forma geral todos os sistemas oferecem garantias de confidencialidade, integridade e disponibilidade dos dados as quais são o principal foco desta dissertação sendo estas garantias autocontidas nos módulos de segurança e replicação do middleware a desenvolver. Alguns dos sistemas apresentados combatem a heterogeneidade através do uso de adaptadores para as várias nuvens de armazenamento. No middleware a desenvolver essa funcionalidade será autocontida no módulo de armazenamento de nuvens e nos vários adaptadores para os diversos provedores. A pesquisa é outra funcionalidade que é suportada por alguns dos sistemas abordados. Ao contrário dos sistemas descritos não se pretende suportar pesquisa sobre dados cifrados mas sim pesquisa adaptada ao contexto das mensagens de correio electrónico, a ser abordado como caso de estudo. O middleware a desenvolver irá tirar partido da biblioteca Java Mail [27] que oferece uma framework para manipulação de mensagens de correio electrónico permitindo assim que sejam extraídos, por exemplo, elementos do cabeçalho. Também se pretende suportar, apesar de forma limitada, a indexação de documentos complexos como é o caso de documentos Microsoft Office, PDF, XML, HTML, RTF para avaliação do sistema perante a utilização do sistema de ficheiros como caso de uso. Para oferecer indexação de documentos complexos pretende-se utilizar as bibliotecas Aperture [28] ou Apache Tika [17] que permitem a extracção de dados e metadados de documentos com estrutura complexa. 23

38 2.4 Provedores de serviços de armazenamento na nuvem Amazon S3 24 Figura 6. Mapa com as zonas dos dados armazenados no serviço Amazon S3 O serviço de armazenamento, Amazon S3 [29], oferecido pela empresa Amazon permite a leitura, escrita e destruição de objectos com tamanhos compreendidos entre 1 byte e os 5 terabytes. O serviço não impõe qualquer limitação em relação ao número de objectos que podem ser inseridos. Os objectos depositados sob um identificador único encontram-se divididos por buckets os quais poderão ser armazenados em oito regiões ao nível global (Oregon US, Califórnia US, Virgínia US, Irlanda EU, Singapura na Asia, Tóquio no Japão, São Paulo no Brasil, Sydney Austrália) tal como apresentado na Figura 6. Dentro de cada região os dados encontram-se replicados por vários centros dados e dentro do próprio centro de dados. Para proteger os dados, por defeito o acesso aos objectos apenas pode ser efectuado pelo dono dos mesmos sendo que todas as operações são registadas para posterior consulta. Além dos mecanismos de controlo de acessos a Amazon oferece uma garantia de % de durabilidade dos dados e 99.99% de disponibilidade durante o período de um ano. O provedor oferece mecanismos de confidencialidade local, através do Amazon S3 Encryption Client, ou remota, no próprio repositório através do Amazon S3 Server Side Encryption sendo que os dados são transferidos sobre canais seguros. A gestão das chaves poderá ser local ou poderá ser remota se assim for desejado. A integridade dos dados é garantida pelo uso de checksums no momento do armazenamento ou obtenção dos dados. O modelo de custos oferecido é orientado ao GB armazenado sendo que o custo pode ser reduzido com um volume de dados crescente. Adicionalmente são cobrados os pedidos de PUT, COPY, POST, LIST e transferência de dados o que pode significar a ocorrência de vendor lock-in perante a necessidade de migração de dados devido aos custos de migração associados. No SLA apresentado pela Amazon podemos verificar uma secção de exclusões de contrato aplicadas a situações de suspensão ou terminação do serviço causadas por factores de força maior. Ou seja, perante questões como episódios de desastre natural ou falência da empresa a disponibilidade dos dados depositados poderá ser posta em causa Google cloud storage [30] A Google à semelhança da Amazon oferece um serviço de armazenamento orientado aos objectos depositados em buckets sob um identificador único acessíveis através de uma interface RESTful. Este provedor oferece disponibilidade dos dados através da replicação entre vários centros de dados. Os centros de dados da Google encontram-se divididos entre os Estados Unidos e a Europa não especificando a localização precisa dos mesmos. O provedor oferece ainda autenticação individual

39 através de OAuth2.0. Adicionalmente este oferece consistência read-after-write nas operações efectuadas sobre os dados fazendo com que os dados apenas possam ser lidos após todas as operações de escrita tiverem sido terminadas. A Google oferece um período de disponibilidade de 99.9% ao mês sendo que com períodos de disponibilidade inferiores a 99.9% o cliente é creditado percentualmente dependendo desse mesmo período. Tal como na Amazon a Google define no seu SLA regras de exclusão idênticas perante as quais o SLA não se aplica. Apesar de não explicitar no SLA as garantias de durabilidade oferecidas, a Google diz oferecer replicação dos dados ao nível dos vários centros de dados o que oferece algum suporte à durabilidade. O modelo de custos apresentado é em tudo idêntico ao utilizado pela Amazon o que pode representar uma potencial situação de vendor lock-in Nirvanix cloud storage [31] Figura 7. Mapa com as localizações dos servidores do Nirvanix cloud storage O serviço de armazenamento oferecido pela Nirvanix é suportado pelo uso de nós globalmente dispersos em seis localizações (Califórnia US, Texas US, Nova Jersey US, dois na Suíça EU e Japão). Ao contrário de outros provedores de serviços de armazenamento a Nirvanix oferece um sistema semelhante a um sistema de ficheiros oferecendo o suporte para estruturas de directorias já existentes. Para gestão dos dados o provedor oferece na sua API as primitivas para cópias, movimentação, renomeação ou eliminação de dados. A fiabilidade do sistema reside na replicação por múltiplos nós como na utilização de mecanismos RAID localmente no centro de dados. Além disso a integridade dos dados é verificada de forma frequente pelo uso de hashes os quais também são utilizados na verificação de integridade após o trânsito de dados. Como garantia de fiabilidade no serviço oferecido ao nível do controlo dos dados a Nirvanix é certificada com SAS 70 nível 2 o qual atesta a entidade em causa como capaz de gerir de forma controlada, segundo os objectivos, a informação que detém. O SLA definido pelo provedor define uma disponibilidade de 99.9% para um armazenamento simples, 99.99% perante o uso de replicação baseada em políticas com duas réplicas ou de % no caso de três réplicas. Tal como os restantes são incluídas exclusões no SLA no qual são incluídos imprevistos, falhas de segurança ao nível do cliente, uso impróprio do sistema, ou suspensão e terminação de serviços. A confidencialidade dos dados é garantida através de políticas físicas e mecanismos de acesso lógicos aos nós, pelo uso de comunicação SSL, e pela ausência, de forma explícita, da relação entre os dados e os clientes. O modelo de custos oferecido prevê o pagamento do volume de dados armazenados orientado ao GB, além disso são cobradas taxas de transferência de ficheiros sendo que o custo do upload e download são diferenciados. Novamente e de forma semelhante aos restantes a migração dum volume 25

40 de dados considerável pode significar custos avultados, ou seja, poderá ocorrer a situação de vendor lock-in Rackspace Cloud Files [32] 26 Figura 8. Mapa com as localizações dos servidores do Rackspace Cloud Files O Rackspace oferece armazenamento ao nível global contando com um total de cinco localizações diferentes (dois centros de dados no Texas US, um centro de dados em Chicago US, dois centros de dados em Virgínia US, dois centros de dados no Reino Unido EU, e um centro de dados em Hong Kong). As garantias de segurança oferecidas pelo Rackspace baseiam-se principalmente nas características dos centros de dados que alojam os dados. Ou seja, os mecanismos para garantir a durabilidade, confidencialidade e disponibilidade dos dados reside nas características físicas dos centros de dados e nas políticas de funcionamento interno não sendo exposto quaisquer mecanismos criptográficos que indiciem que os dados são armazenados de forma segura. O modelo de custos é semelhante ao dos restantes provedores apresentados apresentando um modelo onde são cobrados mensalmente os gigabytes armazenados sendo apenas cobrados os downloads efectuados o que incentiva o acontecimento vendor lock-in na medida em que na presença de uma alteração do modelo de custos poderá ser demasiado dispendioso migrar os dados para outro provedor. Ao contrario dos restantes os pedidos HTTP não são cobrados Comparação Comparando os vários sistemas podermos concluir que o serviço pela Amazon oferece boas garantias referentes tanto à disponibilidade como relativos à durabilidade dos dados apresentando alguns dos mecanismos utilizados para oferecer tais garantias. O serviço oferecido pela Google apesar de não explicitar um valor para a durabilidade descreve o sistema como replicado o que subentende a durabilidade dos dados. O serviço oferecido pelo provedor Nirvanix, à semelhança da Amazon, utiliza mecanismos de checksum para garantir a integridade dos dados depositados. Todos os provedores oferecem um acesso deslocalizado e global aos serviços, por meio de interfaces REST, sendo cobrado o espaço de armazenamento e a transferência de ficheiros. Podemos verificar através da análise dos vários provedores seleccionados que existe uma cobertura global parcialmente disjunta entre os vários provedores o que permitirá que sejam seleccionados através de uma heurística, mais ou menos complexa e de forma permanente ou dinâmica, quais os provedores utlizados como suporte ao armazenamento por parte do middleware a desenvolver. No decorrer da tese e na fase de avaliação espera-se que através da aplicação de um conjunto de testes se possa julgar quais vantagens provenientes do uso de vários provedores de armazenamento invés de apenas um.

41 3 Aproximação à elaboração da dissertação 3.1 Visão arquitectural do sistema De uma forma geral a tipologia geral, tal como apresentado na Figura 1, reside na existência de um conjunto de clientes os quais comunicam por meio de aplicações com um middleware que oferece um serviço de armazenamento que tem como base o serviço fornecido por vários provedores de nuvens públicas de armazenamento. Figura 9. Visão especificada da arquitectura do sistema A dissertação, com principal foco sobre o middleware, irá abordar o conjunto de componentes que perfazem o middleware tal como podemos verificar na Figura 9. Estes componentes serão desenvolvidos, testados e avaliados individualmente sendo que no fim será testada e avaliada a solução final proposta como um todo. Todos os componentes presentes no sistema deverão ser de algum modo configuráveis oferecendo uma base sólida para a avaliação do sistema Componente Interface A componente Interface constituída por alguns subcomponentes tem como objectivo fornecer às aplicações suporte às necessidades das mesmas. O servidor de correio electrónico irá fornecer interfaces SMTP e IMAP ou POP3 sendo que as mensagens depositadas são armazenadas de forma segura nas nuvens que o sistema dispõe. Uma interface de sistema de ficheiros que poderá ser do tipo NFS ou CIFS. E por fim uma interface REST que possibilita o uso de vários tipos de aplicações diferenciadas oferecendo operações básicas para depósito, pedido, pesquisa ou remoção de conteúdo baseando-se numa chave associada a esse mesmo conteúdo. A interface REST permite que o sistema seja testado de forma mais rica mas menos realista devido ao suporte para pesquisas e execução de operações independentes do contexto aplicacional, ou seja, o uso da API REST poderá ser interessante em fases de desenvolvimento iniciais. 27

Privacidade no email. Fevereiro de 2009 Luís Morais 2009, CERT.PT, FCCN

Privacidade no email. Fevereiro de 2009 Luís Morais 2009, CERT.PT, FCCN Privacidade no email Fevereiro de 2009 Luís Morais 2009, CERT.PT, FCCN 1 Introdução... 3 2 Funcionamento e fragilidades do correio electrónico... 3 3 Privacidade no correio electrónico... 5 3.1 Segurança

Leia mais

FairSky: Gestão Confiável e Otimizada de Dados em Múltiplas Nuvens de Armazenamento na Internet

FairSky: Gestão Confiável e Otimizada de Dados em Múltiplas Nuvens de Armazenamento na Internet Dissertação de Mestrado em Engenharia Informática FairSky: Gestão Confiável e Otimizada de Dados em Múltiplas Nuvens de Armazenamento na Internet Adriano Constantino de Sousa Strumbudakis Orientador: Professor

Leia mais

Segurança. Sistemas Distribuídos. ic-sod@mega.ist.utl.pt 09/05/2005 1

Segurança. Sistemas Distribuídos. ic-sod@mega.ist.utl.pt 09/05/2005 1 Segurança Sistemas Distribuídos ic-sod@mega.ist.utl.pt 1 Tópicos abordados I - Mecanismos criptográficos Cifra simétrica, cifra assimétrica, resumo (digest) Assinatura digital Geração de números aleatórios

Leia mais

Mestrado em Segurança da Informação e Direito no Ciberespaço

Mestrado em Segurança da Informação e Direito no Ciberespaço Escola Naval Mestrado em Segurança da Informação e Direito no Ciberespaço Segurança da informação nas organizações Supervisão das Politicas de Segurança Computação em nuvem Fernando Correia Capitão-de-fragata

Leia mais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais Computação em Nuvem Computação em nuvem: gerenciamento de dados Computação em nuvem (Cloud Computing) é uma tendência recente de tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação

Leia mais

Conceitos de Segurança em Sistemas Distribuídos

Conceitos de Segurança em Sistemas Distribuídos Conceitos de Segurança em Sistemas Distribuídos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br 30 de novembro de 2011

Leia mais

CUSTO TOTAL DE PROPRIEDADE DO PANDA MANAGED OFFICE PROTECTION. 1. Resumo Executivo

CUSTO TOTAL DE PROPRIEDADE DO PANDA MANAGED OFFICE PROTECTION. 1. Resumo Executivo 1. Resumo Executivo As empresas de todas as dimensões estão cada vez mais dependentes dos seus sistemas de TI para fazerem o seu trabalho. Consequentemente, são também mais sensíveis às vulnerabilidades

Leia mais

Sistemas Distribuídos Introdução a Segurança em Sistemas Distribuídos

Sistemas Distribuídos Introdução a Segurança em Sistemas Distribuídos Sistemas Distribuídos Introdução a Segurança em Sistemas Distribuídos Departamento de Informática, UFMA Graduação em Ciência da Computação Francisco José da Silva e Silva 1 Introdução Segurança em sistemas

Leia mais

Atributos de segurança. TOCI-08: Segurança de Redes. Ataques a canais de comunicação. Confidencialidade

Atributos de segurança. TOCI-08: Segurança de Redes. Ataques a canais de comunicação. Confidencialidade Atributos de segurança TOCI-08: Segurança de Redes Prof. Rafael Obelheiro rro@joinville.udesc.br Aula 9: Segurança de Comunicações Fundamentais confidencialidade integridade disponibilidade Derivados autenticação

Leia mais

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações Sistemas Multimédia Arquitectura Protocolar Simples Modelo OSI TCP/IP Redes e Comunicações Francisco Maia famaia@gmail.com Já estudado... Motivação Breve História Conceitos Básicos Tipos de Redes Componentes

Leia mais

Projecto de Engenharia de Software e Sistemas Distribuídos 2009-10. Requisitos para a 3ª entrega do projecto. FeaRSe.

Projecto de Engenharia de Software e Sistemas Distribuídos 2009-10. Requisitos para a 3ª entrega do projecto. FeaRSe. Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos Requisitos para a 3ª entrega do projecto FeaRSe 6 de Maio de 2010 Índice Índice... 1 1 Sumário... 2 2 Requisitos...

Leia mais

Paulo César Especialista de Soluções da ATM informática paulo.cesar@atminformatica.pt

Paulo César Especialista de Soluções da ATM informática paulo.cesar@atminformatica.pt Desktop Virtual Paulo César Especialista de Soluções da ATM informática paulo.cesar@atminformatica.pt Tendo em conta que a Virtualização será um dos principais alvos de investimento para o ano 2009 (dados

Leia mais

Partilha segura de ficheiros disponibilizados livremente na Internet

Partilha segura de ficheiros disponibilizados livremente na Internet Partilha segura de ficheiros disponibilizados livremente na Internet Nuno Matias, António Pinto Resumo As plataformas baseadas na nuvem (ou cloud computing) pressupõem a disponibilidade de informação,

Leia mais

Informação Útil Já disponível o SP1 do Exchange Server 2003

Informação Útil Já disponível o SP1 do Exchange Server 2003 Novidades 4 Conheça as principais novidades do Internet Security & Acceleration Server 2004 Membro do Microsoft Windows Server System, o ISA Server 2004 é uma solução segura, fácil de utilizar e eficiente

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

Relatório de Progresso

Relatório de Progresso Luís Filipe Félix Martins Relatório de Progresso Mestrado Integrado em Engenharia Electrotécnica e de Computadores Preparação para a Dissertação Índice Introdução... 2 Motivação... 2 Cloud Computing (Computação

Leia mais

Criptografia de chaves públicas

Criptografia de chaves públicas Marcelo Augusto Rauh Schmitt Maio de 2001 RNP/REF/0236 Criptografia 2001 RNP de chaves públicas Criptografia Introdução Conceito É a transformação de um texto original em um texto ininteligível (texto

Leia mais

Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos. Requisitos para a 3ª entrega do projecto.

Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos. Requisitos para a 3ª entrega do projecto. Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos Requisitos para a 3ª entrega do projecto Loja Virtual 5 de Maio de 2008 Índice Índice...2 1 Sumário...3 2 Requisitos...3

Leia mais

TRABALHO #1 Sistemas de Informação Distribuídos: Reflexão sobre a segurança

TRABALHO #1 Sistemas de Informação Distribuídos: Reflexão sobre a segurança DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Negócio Electrónico, 2006/2007 TRABALHO #1 Sistemas de Informação Distribuídos: Reflexão sobre a segurança

Leia mais

Protocolos Básicos e Aplicações. Segurança e SSL

Protocolos Básicos e Aplicações. Segurança e SSL Segurança e SSL O que é segurança na rede? Confidencialidade: apenas remetente e destinatário pretendido devem entender conteúdo da mensagem remetente criptografa mensagem destinatário decripta mensagem

Leia mais

FAZER MAIS COM MENOS Maio 2012 White Paper

FAZER MAIS COM MENOS Maio 2012 White Paper CLOUD COMPUTING FAZER MAIS COM MENOS Maio 2012 CLOUD COMPUTING FAZER MAIS COM MENOS Cloud Computing é a denominação adotada para a mais recente arquitetura de sistemas informáticos. Cada vez mais empresas

Leia mais

Criptografia de Chave Pública

Criptografia de Chave Pública Criptografia de Chave Pública Aplicações Privacidade, Autenticação: RSA, Curva Elíptica Intercâmbio de chave secreta: Diffie-Hellman Assinatura digital: DSS (DSA) Vantagens Não compartilha segredo Provê

Leia mais

Curso de Engenharia Informática (2º Ciclo) Teste nº 2 (frequência), 19/Dez/2009 Segurança em Sistemas e Redes de Computadores SSRC-0910-EN-2.1.

Curso de Engenharia Informática (2º Ciclo) Teste nº 2 (frequência), 19/Dez/2009 Segurança em Sistemas e Redes de Computadores SSRC-0910-EN-2.1. Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Curso de Engenharia Informática (2º Ciclo) Teste nº 2 (frequência), 19/Dez/2009 Segurança em Sistemas e Redes

Leia mais

4758 LINUX PROJECT. - Disponível para os ambientes Windows NT, Windows 2000, AIX, OS/400, z/os, e usuários de sistemas OS/390 ;

4758 LINUX PROJECT. - Disponível para os ambientes Windows NT, Windows 2000, AIX, OS/400, z/os, e usuários de sistemas OS/390 ; UNIVERSIDADE FEDERAL DO MARANHÃO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DA ELETRICIDADE HABILITAÇÃO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: SISTEMAS OPERACIONAIS DISTRIBUÍDOS

Leia mais

Paper presentation Security in grid computing: A review and synthesis Grid Security: Next Steps

Paper presentation Security in grid computing: A review and synthesis Grid Security: Next Steps Computação GRID Paper presentation Security in grid computing: A review and synthesis Grid Security: Next Steps Miguel Lobo nº 200707399 Pedro Oliveira nº 200501071 Paper Security in grid computing: A

Leia mais

Ricardo Campos [ h t t p : / / w w w. c c c. i p t. p t / ~ r i c a r d o ] Segurança em Redes. Segurança em Redes

Ricardo Campos [ h t t p : / / w w w. c c c. i p t. p t / ~ r i c a r d o ] Segurança em Redes. Segurança em Redes Autoria Esta apresentação foi desenvolvida por Ricardo Campos, docente do Instituto Politécnico de Tomar. Encontra-se disponível na página web do autor no link Publications ao abrigo da seguinte licença:

Leia mais

Enunciado do Projecto

Enunciado do Projecto C O M P U T A Ç Ã O M Ó V E L 2 0 0 7 / 2 0 0 8 Enunciado do Projecto 17 de Março de 2008 1. Objectivos Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Tema 4a A Segurança na Internet

Tema 4a A Segurança na Internet Tecnologias de Informação Tema 4a A Segurança na Internet 1 Segurança na Internet Segurança Ponto de Vista da Empresa Ponto de vista do utilizador A quem Interessa? Proxy Firewall SSL SET Mecanismos 2

Leia mais

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Tolerância a Falhas Ricardo Mendão Silva Universidade Autónoma de Lisboa r.m.silva@ieee.org January 14, 2015 Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos

Leia mais

Segurança da Informação

Segurança da Informação Segurança da Informação (Extraído da apostila de Segurança da Informação do Professor Carlos C. Mello) 1. Conceito A Segurança da Informação busca reduzir os riscos de vazamentos, fraudes, erros, uso indevido,

Leia mais

4 Serviços de Aplicação

4 Serviços de Aplicação 4 Serviços de Aplicação A existência de um suporte de comunicação permite a interligação de diversos dispositivos e também a disponibilização de diversas aplicações que adicionam funcionalidades ao sistema.

Leia mais

Administração de Sistemas (ASIST)

Administração de Sistemas (ASIST) Administração de Sistemas (ASIST) Criptografia Outubro de 2014 1 Criptografia kryptós (escondido) + gráphein (escrita) A criptografia utiliza algoritmos (funções) que recebem informação e produzem resultados

Leia mais

Escola Superior de Gestão de Santarém. Instalação e Manutenção de Redes e Sistemas Informáticos. Peça Instrutória G

Escola Superior de Gestão de Santarém. Instalação e Manutenção de Redes e Sistemas Informáticos. Peça Instrutória G Escola Superior de Gestão de Santarém Pedido de Registo do CET Instalação e Manutenção de Redes e Sistemas Informáticos Peça Instrutória G Conteúdo programático sumário de cada unidade de formação TÉCNICAS

Leia mais

OPORTUNIDADE DE MERCADO. Explosão de dados

OPORTUNIDADE DE MERCADO. Explosão de dados SOLUÇÕES EM GERENCIAMENTO E ARMAZENAMENTO VIRTUALIZADO DE DADOS OPORTUNIDADE DE MERCADO Explosão de dados 2 INVESTIMENTO x DEMANDA NOVOS DESAFIOS Evolução dos custos/gb em projetos de virtualização de

Leia mais

Cloud Computing: Quando a nuvem pode ser um risco para o negócio. Marco Lima aka Mago Enterprise Technology Specialist

Cloud Computing: Quando a nuvem pode ser um risco para o negócio. Marco Lima aka Mago Enterprise Technology Specialist Cloud Computing: Quando a nuvem pode ser um risco para o negócio Marco Lima aka Mago Enterprise Technology Specialist 05 De onde vem o termo nuvem? Business Servidores SAN WAN SAN LANs Roteador NAS Switch

Leia mais

Mecanismos de Autenticação dos Emails

Mecanismos de Autenticação dos Emails Mecanismos de Autenticação dos Emails De uma forma generalizada, pode-se identificar os seguintes problemas relacionados com a autenticidade dos emails: Envio de mensagens não solicitadas (spam), que pode

Leia mais

Dynamic Data Center. A infra-estrutura de suporte às SOA. Francisco Miller Guerra Senior Product Manager Fujitsu Siemens Computers

Dynamic Data Center. A infra-estrutura de suporte às SOA. Francisco Miller Guerra Senior Product Manager Fujitsu Siemens Computers Dynamic Data Center A infra-estrutura de suporte às SOA Francisco Miller Guerra Senior Product Manager Fujitsu Siemens Computers As necessidades do negócio pressionam continuamente as infra-estruturas

Leia mais

Enunciado de apresentação do projecto

Enunciado de apresentação do projecto Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 Enunciado de apresentação do projecto FEARSe Índice 1 Introdução... 2 2 Cenário de Enquadramento... 2 2.1 Requisitos funcionais...

Leia mais

Universidade Federal Fluminense Instituto de Computação Apresentado por: Igor Cesar Gonzalez Ribeiro

Universidade Federal Fluminense Instituto de Computação Apresentado por: Igor Cesar Gonzalez Ribeiro Universidade Federal Fluminense Instituto de Computação Apresentado por: Igor Cesar Gonzalez Ribeiro O US National Institute of Standards and Technology (NIST) define Cloude Computing como tendo as seguintes

Leia mais

Serviço de instalação e arranque da solução de armazenamento de rede HP StoreEasy 5000

Serviço de instalação e arranque da solução de armazenamento de rede HP StoreEasy 5000 Serviço de instalação e arranque da solução de armazenamento de rede HP StoreEasy 5000 Serviços HP Dados técnicos O Serviço de instalação e arranque da solução de armazenamento de rede HP StoreEasy 5000

Leia mais

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa Prof. Marcelo de Sá Barbosa Introdução Visão geral das técnicas de segurança Algoritmos de criptografia Assinaturas digitais Criptografia na prática Introdução A necessidade de proteger a integridade e

Leia mais

Segurança e Privacidade de Dados em Nuvens de Armazenamento

Segurança e Privacidade de Dados em Nuvens de Armazenamento Vítor Hugo Pedro Pereira Licenciado em Engenharia Informática Segurança e Privacidade de Dados em Nuvens de Armazenamento Dissertação para obtenção do Grau de Mestre em Engenharia Informática Orientador

Leia mais

Agenda CLOUD COMPUTING I

Agenda CLOUD COMPUTING I Agenda O que é Cloud Computing? Atributos do Cloud Computing Marcos do Cloud Computing Tipos do Cloud Computing Camadas do Cloud computing Cloud Computing Tendências O Cloud Computing do Futuro Pros &

Leia mais

Cartão de Cidadão. Autenticação com o Cartão de Cidadão AMA. 20 de Novembro de 2007. Versão 1.6

Cartão de Cidadão. Autenticação com o Cartão de Cidadão AMA. 20 de Novembro de 2007. Versão 1.6 Cartão de Cidadão Autenticação com o Cartão de Cidadão 20 de Novembro de 2007 Versão 1.6 AMA ÍNDICE 1. I TRODUÇÃO... 3 Modelo base de Autenticação... 3 Modelo de Autenticação Federado... 4 2. AUTE TICAÇÃO

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Segurança em Sistemas Informáticos

Segurança em Sistemas Informáticos Segurança em Sistemas Informáticos Politicas de Segurança Quando é que se torna necessário uma política de segurança? Quando existe um Bem com Valor Se o Bem se situa permanentemente ou temporariamente

Leia mais

Instituto Superior de Engenharia de Lisboa Departamento de Engenharia da Electrónica e das Telecomunicações e de Computadores

Instituto Superior de Engenharia de Lisboa Departamento de Engenharia da Electrónica e das Telecomunicações e de Computadores Nota: Seja preciso e conciso nas suas respostas. Para responder às perguntas de resposta múltipla utilize a tabela abaixo. Todas as outras perguntas devem ser respondidas em folhas de teste. Não faça letra

Leia mais

Segurança em computação nas nuvens

Segurança em computação nas nuvens Segurança em computação nas nuvens Aluno: Ricardo Dobelin Barros RA: 160105 Prof.: Marco Aurélio Amaral Henriques Universidade Estadual de Campinas - UNICAMP Faculdade de Engenharia Elétrica e de Computação

Leia mais

Carta de Segurança da Informação

Carta de Segurança da Informação Estrutura Nacional de Segurança da Informação (ENSI) Fevereiro 2005 Versão 1.0 Público Confidencial O PRESENTE DOCUMENTO NÃO PRESTA QUALQUER GARANTIA, SEJA QUAL FOR A SUA NATUREZA. Todo e qualquer produto

Leia mais

Instruções para aceder ao correio electrónico via web

Instruções para aceder ao correio electrónico via web Caro utilizador(a) Tendo por objectivo a melhoria constante das soluções disponibilizadas a toda a comunidade do Instituto Politécnico de Santarém, tanto ao nível de serviços de rede como sistema de informação.

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos exame de recurso, 9 de Fevereiro de 2012 1º Semestre, 2011/2012 NOTAS: Leia com atenção cada questão antes de responder.

Leia mais

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO. Licenciatura em Engenharia Informática e Computadores Alameda e Taguspark

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO. Licenciatura em Engenharia Informática e Computadores Alameda e Taguspark UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Licenciatura em Engenharia Informática e Computadores Alameda e Taguspark Sistemas Distribuídos e Engenharia de Software Projecto de 2010/2011

Leia mais

Segurança do Wireless Aplication Protocol (WAP)

Segurança do Wireless Aplication Protocol (WAP) Universidade de Brasília UnB Escola de Extensão Curso Criptografia e Segurança na Informática Segurança do Wireless Aplication Protocol (WAP) Aluno: Orlando Batista da Silva Neto Prof: Pedro Antônio Dourado

Leia mais

C.I.A. Segurança de Informação. Carlos Serrão (MSc., PhD.) IUL-ISCTE, DCTI, Adetti/NetMuST. carlos.serrao@iscte.pt carlos.j.serrao@gmail.

C.I.A. Segurança de Informação. Carlos Serrão (MSc., PhD.) IUL-ISCTE, DCTI, Adetti/NetMuST. carlos.serrao@iscte.pt carlos.j.serrao@gmail. C.I.A. Segurança de Informação Carlos Serrão (MSc., PhD.) IUL-ISCTE, DCTI, Adetti/NetMuST carlos.serrao@iscte.pt carlos.j.serrao@gmail.com http://www.carlosserrao.net http://blog.carlosserrao.net http://www.iscte.pt

Leia mais

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br CLOUD COMPUTING Andrêza Leite andreza.leite@univasf.edu.br Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing

Leia mais

Segurança Informática

Segurança Informática Cadeira de Tecnologias de Informação Ano lectivo 2009/10 Segurança Informática TI2009/2010_SI_1 Tópicos 1. O que é segurança? 2. Problemas relacionados com segurança 3. Criptografia 4. Assinatura digital

Leia mais

Curso de Engenharia Informática (2º Ciclo) Segurança em Sistemas e Redes de Computadores SSRC-0910-EN-1.1.A

Curso de Engenharia Informática (2º Ciclo) Segurança em Sistemas e Redes de Computadores SSRC-0910-EN-1.1.A Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Curso de Engenharia Informática (2º Ciclo) Segurança em Sistemas e Redes de Computadores SSRC-0910-EN-1.1.A 1º

Leia mais

Gestão de chaves assimétricas

Gestão de chaves assimétricas Gestão de chaves assimétricas SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES 1 Problemas a resolver Assegurar uma geração apropriada dos pares de chaves Geração aleatória

Leia mais

Segurança em Sistemas Informáticos

Segurança em Sistemas Informáticos Segurança em Sistemas Informáticos Politicas de Segurança Quando é que se torna necessário uma política de segurança? Quando existe um Bem Num espaço partilhado Uma politica de segurança procura garantir

Leia mais

1 ARQUITECTURA DO PRODUTO - MODULARIZAÇÃO E SISTEMAS DE PLATAFORMAS NA INDUSTRIA FERROVIÁRIA... 20.19.

1 ARQUITECTURA DO PRODUTO - MODULARIZAÇÃO E SISTEMAS DE PLATAFORMAS NA INDUSTRIA FERROVIÁRIA... 20.19. 1 ARQUITECTURA DO PRODUTO - MODULARIZAÇÃO E SISTEMAS DE PLATAFORMAS NA INDUSTRIA FERROVIÁRIA... 20.19. ESTRATÉGIA DE INOVAÇÃO 1 ARQUITECTURA DO PRODUTO - MODULARIZAÇÃO E SISTEMAS DE PLATAFORMAS NA INDUSTRIA

Leia mais

Computação em Grid e em Nuvem

Computação em Grid e em Nuvem Computação em Grid e em Nuvem Computação em Nuvem Molos 1 Definição Um grid computacional é uma coleção recursos computacionais e comunicação utilizados para execução aplicações Usuário vê o grid como

Leia mais

Capítulo 8 Segurança na Rede Prof. Othon Marcelo Nunes Batista Mestre em Informática

Capítulo 8 Segurança na Rede Prof. Othon Marcelo Nunes Batista Mestre em Informática Capítulo 8 Segurança na Rede Prof. Othon Marcelo Nunes Batista Mestre em Informática slide 1 Capítulo 8: Esboço 8.1 O que é segurança na rede? 8.2 Princípios de criptografia 8.3 Integridade de mensagem

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 1 Introdução Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras do livro

Leia mais

Fault Tolerance Middleware for Cloud Computing

Fault Tolerance Middleware for Cloud Computing Sistemas Distribuídos e Tolerância a Falhas Fault Tolerance Middleware for Cloud Computing Docente: Prof. Drª Paula Prata 2010-2011 Universidade da Beira Interior Paula Freire M3841 Tiago Machado M3863

Leia mais

Como a Cisco TI virtualizou os Servidores de Aplicações dos Centros de Dados

Como a Cisco TI virtualizou os Servidores de Aplicações dos Centros de Dados Case Study da Cisco TI Como a Cisco TI virtualizou os Servidores de Aplicações dos Centros de Dados A implementação de servidores virtualizados proporciona economias significativas de custos, diminui a

Leia mais

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações Prof. Fernando Augusto Teixeira 1 2 Agenda da Disciplina Certificado Digital e suas aplicações Segurança Criptografia Simétrica

Leia mais

CÓDIGO DA VAGA: TP08 QUESTÕES DE MÚLTIPLAS ESCOLHAS

CÓDIGO DA VAGA: TP08 QUESTÕES DE MÚLTIPLAS ESCOLHAS QUESTÕES DE MÚLTIPLAS ESCOLHAS 1) Em relação à manutenção corretiva pode- se afirmar que : a) Constitui a forma mais barata de manutenção do ponto de vista total do sistema. b) Aumenta a vida útil dos

Leia mais

Como usar a nuvem para continuidade dos negócios e recuperação de desastres

Como usar a nuvem para continuidade dos negócios e recuperação de desastres Como usar a nuvem para continuidade dos negócios e recuperação de desastres Há diversos motivos para as empresas de hoje enxergarem o valor de um serviço de nuvem, seja uma nuvem privada oferecida por

Leia mais

Segurança em Sistemas Informáticos

Segurança em Sistemas Informáticos Segurança em Sistemas Informáticos Politicas de Segurança Quando é que se torna necessário uma política de segurança? Quando existe um Bem Num espaço partilhado Uma politica de segurança procura garantir

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Tópicos Avançados II 5º período Professor: José Maurício S. Pinheiro AULA 2: Padrão X.509 O padrão X.509

Leia mais

5. Bases de dados: as questões de segurança, de criptografia e de proteção de dados

5. Bases de dados: as questões de segurança, de criptografia e de proteção de dados 5. Bases de dados: as questões de segurança, de criptografia e de proteção de dados A proteção jurídica das bases de dados em Portugal é regulada pelo Decreto-Lei n.º 122/2000, de 4 de Julho, que transpõe

Leia mais

Arquitecturas de Software

Arquitecturas de Software UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Mestrado em Engenharia Informática e de Computadores Primeiro Exame 21 de Janeiro de 2010, 17:00H 19:00H Nome: Número:

Leia mais

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA QUALQUER TIPO DE USUÁRIO Gustavo Henrique Rodrigues Pinto Tomas 317624 AGENDA Introdução: Cloud Computing Modelos de Implementação Modelos de Serviço Eucalyptus

Leia mais

INTERNET. TCP/IP protocolo de comunicação sobre o qual se baseia a Internet. (conjunto de regras para a comunicação entre computadores)

INTERNET. TCP/IP protocolo de comunicação sobre o qual se baseia a Internet. (conjunto de regras para a comunicação entre computadores) TCP/IP protocolo de comunicação sobre o qual se baseia a Internet. (conjunto de regras para a comunicação entre computadores) A cada computador integrado na rede é atribuído um número IP que o identifica

Leia mais

Requisitos de Segurança de E-mail

Requisitos de Segurança de E-mail Segurança de E-mail O e-mail é hoje um meio de comunicação tão comum quanto o telefone e segue crescendo Gerenciamento, monitoramento e segurança de e-mail têm importância cada vez maior O e-mail é muito

Leia mais

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O

Leia mais

Especificação do Sistema Operativo CAMES - CAixa Mágica Enterprise Server

Especificação do Sistema Operativo CAMES - CAixa Mágica Enterprise Server Especificação do Sistema Operativo CAMES - CAixa Mágica Enterprise Server Versão: 1.06 Data: 2010-11-15 SO CAMES 1 ÍNDICE A Apresentação do CAMES - CAixa Mágica Enterprise Server - Sistema Operativo de

Leia mais

Princalculo Contabilidade e Gestão

Princalculo Contabilidade e Gestão COMUNICAÇÃO EXTERNA Junho/2013 REGIME DOS BENS EM CIRCULAÇÃO A obrigação é a partir de quando? 1 de Julho de 2013 Quem está obrigado? Os que no ano anterior tiveram um volume de negócios superior a 100.000

Leia mais

ADMINISTRAÇÃO DE REDES DE COMPUTADORES 5/12/2005 UALG/FCT/DEEI 2005/2006

ADMINISTRAÇÃO DE REDES DE COMPUTADORES 5/12/2005 UALG/FCT/DEEI 2005/2006 ADMINISTRAÇÃO DE REDES DE COMPUTADORES Segurança 5/12/2005 Engª de Sistemas e Informática Licenciatura em Informática UALG/FCT/DEEI 2005/2006 1 Classes de criptografia Criptografia simétrica ou de chave

Leia mais

WEEBOX GESTÃO SIMPLIFICADA. Características e requisitos técnicos DE DOCUMENTOS WHITE PAPER SERIES

WEEBOX GESTÃO SIMPLIFICADA. Características e requisitos técnicos DE DOCUMENTOS WHITE PAPER SERIES WEEBOX GESTÃO SIMPLIFICADA DE DOCUMENTOS Características e requisitos técnicos WHITE PAPER SERIES Sobre o documento Identificador WP11132 Autor Luís Faria, Miguel Ferreira Contribuição Amazing Ideas Distribuição

Leia mais

Criptografia e Certificação Digital

Criptografia e Certificação Digital Criptografia e Certificação Digital Conheça os nossos produtos em criptografia e certificação digital. Um deles irá atender às necessidades de sua instituição. Criptografia e Certificação Digital Conheça

Leia mais

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1 Segurança na Web Cap. 4: Protocolos de Segurança Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW Page 1 é definido como um procedimento seguro para se regular a transmissão de dados entre computadores

Leia mais

Imagem Gustavo Santos. Observe Bombinhas SC.

Imagem Gustavo Santos. Observe Bombinhas SC. Imagem Gustavo Santos. Observe Bombinhas SC. 1 2 1. Uma nova modalidade de prestação de serviços computacionais está em uso desde que a computação em nuvem começou a ser idealizada. As empresas norte-

Leia mais

Infrascale Partnership: Your Online Cloud Storage Business

Infrascale Partnership: Your Online Cloud Storage Business 1 2 Cloud Backup info@bms.com.pt Tel.: 252 094 344 www.bms.com.pt Quem é a Infrascale? Um Pioneiro Global em Cloud Storage A Infrascale é uma empresa de Platform-as-a- Service (PaaS) (Plataforma como um

Leia mais

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes EN-3610 Gerenciamento e Interoperabilidade de Redes Computação em Nuvem Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente Computadores

Leia mais

Seu manual do usuário NOKIA C111 http://pt.yourpdfguides.com/dref/824109

Seu manual do usuário NOKIA C111 http://pt.yourpdfguides.com/dref/824109 Você pode ler as recomendações contidas no guia do usuário, no guia de técnico ou no guia de instalação para. Você vai encontrar as respostas a todas suas perguntas sobre a no manual do usuário (informação,

Leia mais

COM a globalização da internet e

COM a globalização da internet e FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO, NOVEMBRO 2010 1 SecurEmail: Servidor de Chaves Públicas OpenPGP e Integração com o FEUP Webmail João Carlos da Cruz de Sousa, José Carlos Medeiros de Campos

Leia mais

Segurança em IEEE 802.11 Wireless LAN

Segurança em IEEE 802.11 Wireless LAN Segurança em IEEE 802.11 Wireless LAN Giovan Carlo Germoglio Mestrado em Informática Departamento de Informática Universidade do Minho 1 Contextualização Padrão IEEE 802.11 Wireless LAN: Estabelecido em

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Documentação sobre a Tecnologia RAID

Documentação sobre a Tecnologia RAID Documentação sobre a Tecnologia RAID Enquanto especialista no armazenamento de dados, a LaCie reconhece que quase todos os utilizadores de computadores irão necessitar de uma solução de cópia de segurança

Leia mais

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU Auditoria e Segurança da Informação GSI536 Prof. Rodrigo Sanches Miani FACOM/UFU Princípios de Criptografia Tópicos O papel da criptografia na segurança das redes de comunicação; Criptografia de chave

Leia mais

Capítulo 17 Considerações quanto à Segurança na Computação na Nuvem. Considerações quanto à Segurança na Computação na Nuvem

Capítulo 17 Considerações quanto à Segurança na Computação na Nuvem. Considerações quanto à Segurança na Computação na Nuvem Capítulo 17 Considerações quanto à Segurança na Computação na Nuvem 1 C A P Í T U L O 1 7 Considerações quanto à Segurança na Computação na Nuvem 2 Certificação Security+ Da Prática Para o Exame SY0-301

Leia mais

Introdução à Criptografia. Segurança da Informação Prof. João Bosco M. Sobral

Introdução à Criptografia. Segurança da Informação Prof. João Bosco M. Sobral Introdução à Criptografia Segurança da Informação Prof. João Bosco M. Sobral 1 O que é Segurança da Informação Segurança de Informação relaciona-se com vários e diferentes aspectos referentes à: confidencialidade

Leia mais

ESPECIFICAÇÕES TÉCNICAS DA CLICKSIGN

ESPECIFICAÇÕES TÉCNICAS DA CLICKSIGN Data efetiva: 14 de abril de 2014. ESPECIFICAÇÕES TÉCNICAS DA CLICKSIGN Estas Especificações Técnicas contém informações sobre procedimentos operacionais e de segurança do Site, bem como sobre suas responsabilidades

Leia mais

CONCURSO ESCOLAS DA NOVA GERAÇÃO REGULAMENTO

CONCURSO ESCOLAS DA NOVA GERAÇÃO REGULAMENTO CONCURSO ESCOLAS DA NOVA GERAÇÃO REGULAMENTO Enquadramento geral Um dos principais desafios que se colocam à sociedade portuguesa é o do desenvolvimento de uma Sociedade de Informação, voltada para o uso

Leia mais

Cláusula 1.º Objecto. Cláusula 2.º Especificação da prestação

Cláusula 1.º Objecto. Cláusula 2.º Especificação da prestação CADERNO DE ENCARGOS CONTRATAÇÃO DE SERVIÇOS DE PARA A IMPLEMENTAÇÃO DE UM PROJECTO DE ARQUIVO DIGITAL DE INFRA-ESTRUTURAS DE IT O presente Caderno de Encargos compreende as cláusulas a incluir no contrato

Leia mais

Conselho Geral da Ordem Dos Advogados Departamento Informático

Conselho Geral da Ordem Dos Advogados Departamento Informático Nota Introdutória: Este documento destina-se a guiá-lo(a) através dos vários procedimentos necessários para configurar a sua caixa de correio da Ordem dos Advogados, no programa Microsoft Outlook 2003,

Leia mais