Gestão de identidades em nuvens com o foco no sigilo de conteúdo Vitor Hugo Galhardo Moia Marco Aurélio Amaral Henriques {vhgmoia, marco}@dca.fee.unicamp.br Universidade Estadual de Campinas - UNICAMP Faculdade de Engenharia Elétrica e de Computação FEEC REUNIÃO DE PROJETO - RNP 06 de março de 2015 Rio de Janeiro - RJ
Agenda Introdução Motivação Serviços de nuvem com proteção de conteúdo Níveis de sigilo Recuperação de chaves Deduplicação Estudo de caso: Encryption App (OwnCloud) Conclusão
Introdução Computação nas nuvens: Opção para armazenamento de dados: Escalável Dinâmica Evita-se custos de infraestrutura e manutenção locais Pagamento sob demanda Grande disponibilidade dos dados 1
Motivação Preocupação com a segurança e privacidade no armazenamento de dados: Dados normalmente armazenados em claro. Potenciais falhas na segurança permitem acesso a informações sensíveis por terceiros. Dados armazenados em nuvens públicas (Google, Microsoft etc.) podem ser monitorados sem o conhecimento do usuário. 2
Serviços de nuvem com proteção de Exemplos: Encryption App (OwnCloud) SpiderOak Cyphertite Wuala Credeon Boxcryptor conteúdo Criptografia do nome: realizada por apenas alguns provedores e em alguns casos como um serviço a parte. Foco da apresentação: proteção do conteúdo Maior probabilidade de adesão por parte dos usuários e por ser uma questão que traz riscos aos mesmos. 3
Níveis de sigilo Os serviços podem ser classificados de acordo com os níveis de proteção que provêm: Nível 1: Criptografia do canal de comunicação (TLS/SSL) Ex.: Microsoft OneDrive. Nível 2: TLS + Criptografia do conteúdo no servidor da nuvem Ex.: DropBox e OwnCloud (com Encryption App). Nível 3: Criptografia do conteúdo no cliente Ex.: SpiderOak, Cyphertite, Wuala, Credeon e Boxcryptor 4
Nível 1 Criptografia do canal de comunicação (TLS/SSL) Ex.: Microsoft OneDrive. Computador do cliente TLS Canal cifrado Arquivo cifrado Ah1720jdsif 0kdsjfdsi10 2398fjsjfds w9203ij 92 982jfkdslf9 ssd9dsw23 TLS Arquivo em claro Arquivo em claro Storage (Computador do usuário: cliente) 5
Características do nível de sigilo 1 Nível 1 provê sigilo somente na comunicação cliente servidor. Dado armazenado em forma clara: o provedor tem acesso ao arquivo. O provedor pode usar os dados para melhorar resultados de buscas ou direcionar propagandas. Não há sobrecarga no usuário para o gerenciamento de chaves. O envio e recuperação seguros de dados exige 4 operações de criptografia de conteúdo (duas no cliente e duas no servidor). A senha do usuário não é utilizada (mesmo que indiretamente) no processo de criptografia de conteúdo: gestão de senhas simplificada. Processo transparente ao usuário. Permite deduplicação: informações replicadas entre usuários distintos são armazenadas uma única vez. 6
Nível 2 Criptografia do conteúdo no servidor da nuvem Computador do cliente TLS Ex.: DropBox e Encryption App (OwnCloud). Canal cifrado TLS AES 256 Arquivo cifrado Ah1720jdsif 0kdsjfdsi10 2398fjsjfds w9203ij 92 982jfkdslf9 ssd9dsw23 Storage Arquivo em claro Armazenamento Ch. Secreta de arquivo RSA 4096 Ch. Pública do usuário Ch. secreta de arquivo cifrada 7
Nível 2 Criptografia do conteúdo no servidor da nuvem Computador do cliente TLS Ex.: DropBox e Encryption App (OwnCloud). Canal cifrado TLS AES 256 Arquivo cifrado Ah1720jdsif 0kdsjfdsi10 2398fjsjfds w9203ij 92 982jfkdslf9 ssd9dsw23 Storage Arquivo em claro Recuperação Ch. Secreta de arquivo RSA 4096 Ch. Privada do usuário Ch. secreta de arquivo cifrada 8
Características do nível de sigilo 2 Gerenciamento de chaves fica por conta do servidor. O usuário não tem garantia absoluta de sigilo aos dados. O provedor pode usar os dados para melhorar resultados de buscas ou direcionar propagandas. Não há sobrecarga no usuário para gerenciar chaves. O envio e recuperação seguros de dados exige 6 operações de criptografia de conteúdo (duas no cliente (TLS) e quatro no servidor (duas para comunicação TLS e duas para armazenagem)). A senha do usuário pode ser utilizada no processo de criptografia de conteúdo: gestão de senhas mais complexa já que há implicações na troca de senhas. Processo transparente ao usuário. Deduplicação possível, mas mais complexa que no nível 1: depende do processo de criptografia adotado pela nuvem. 9
Nível 3 Criptografia do conteúdo no cliente Ex.: SpiderOak, Cyphertite, Wuala, Credeon e Boxcryptor Arquivo em claro Arquivo cifrado AES 256 Ah1720jdsif 0kdsjfdsi10 2398fjsjfds w9203ij 92 982jfkdslf9 ssd9dsw23 Storage Armazenamento (Computador do usuário: cliente) Ch. secreta RSA 4096 Ch. Pública do usuário Ch. secreta cifrada 10
Nível 3 Criptografia do conteúdo no cliente Ex.: SpiderOak, Cyphertite, Wuala, Credeon e Boxcryptor Arquivo em claro Arquivo cifrado AES 256 Ah1720jdsif 0kdsjfdsi10 2398fjsjfds w9203ij 92 982jfkdslf9 ssd9dsw23 Storage Recuperação (Computador do usuário: cliente) Ch. secreta RSA 4096 Ch. Privada do usuário Ch. secreta cifrada 11
Características do nível de sigilo 3 Gerenciamento de chaves fica por conta do usuário. O usuário tem garantia absoluta de sigilo dos dados. Há sobrecarga no usuário para gerenciar chaves. O envio e recuperação seguros de dados exige apenas 2 operações de criptografia de conteúdo (no cliente). A senha de autenticação do usuário pode ser utilizada no processo de criptografia de conteúdo, mas é recomendável ter outra senha para criptografia: gestão de senhas mais complexa. Processo menos transparente ao usuário. Deduplicação inviável sem medidas específicas (chave secreta derivada do Hash do arquivo, por exemplo). Arquivos mais imunes a ataques à privacidade na nuvem. Perda de chave implica na perda de conteúdo (recuperação de chave impossível). 12
Recuperação de chave Alguns serviços oferecem a opção de recuperação de chaves. Duas situações possíveis: Situação 1: Perda da chave privada utilizada para a decifragem. Situação 2: Gestor precisa recuperar arquivos cifrados por colaboradores que não pertençam mais ao seu grupo. 13
Prós e contras da recuperação de chaves Recuperação pode ser vantajosa ou não, dependendo do contexto. Vantagens: Evita perda de dados devido a perda de chave. Permite aos gestores recuperar trabalhos de ex-colaboradores. Desvantagem: Os provedores de serviço de nuvem podem ter acesso às chaves e aos arquivos de seus usuários. Encryption App utiliza tem a opção da habilitação da recuperação de senha, a escolha do usuário, porém o administrador terá acesso a todos os dados do mesmo. Outros esquemas geralmente não permitem essa opção. 14
Deduplicação Técnica para otimizar espaço em disco eliminando armazenamentos duplicados de uma mesma informação. Modos de deduplicação: Single user: apenas na conta do usuário. Redução dos custos de armazenamento limitada. Cross user: realizado entre todos os usuários. Estima-se que 60% dos dados podem ser de-duplicados (dependendo da técnica utilizada e da natureza dos dados armazenados). Momento da deduplicação: Antes do envio do arquivo, mas comandada pelo servidor. Economia de espaço e banda, mas possibilita ataques. Após arquivo já estar armazenado. Economiza espaço, mas não banda, e é mais seguro contra ataques. 15
Deduplicação Vulnerabilidade Ataque: identificação de arquivos Utilização do modo Cross user e realização da deduplicação antes do envio do arquivo Funcionamento do ataque: Monitoramento da rede ao enviar um arquivo. Se o arquivo for transferido, não há cópias do mesmo no servidor, caso contrário, alguém já possui este arquivo. Fragmentação de arquivo pode atenuar os efeitos deste ataque. 16
Storage Encryption App (OwnCloud) Geração de chaves de conteúdo Gerador de chaves simétricas Ch. de arquivo RC4 Ch. de arquivo cifrada Ch. compartilhada RSA 4096 Ch. compartilhada cifrada Gerador de chaves assimétricas Ch. Privada do usuário Ch. Pública do usuário AES 256 Ch. Privada do usuário cifrada Login Senha Derivar chave Ch. derivada Destruir 17
Storage Encryption App (OwnCloud) Obtenção de chaves de conteúdo Ch. de arquivo RC4 Ch. de arquivo cifrada Ch. compartilhada RSA 4096 Ch. compartilhada cifrada Ch. pública Destruir Ch. Privada AES 256 Ch. Privada cifrada Login Senha Derivar chave Ch. derivada Destruir 18
Storage Encryption App (OwnCloud) Geração de chaves de compartilhamento público Ch. compartilhada RSA 4096 Ch. compartilhada cifrada Gerador de chaves assimétricas Ch. Privada de compartilhamento público Ch. Pública de compartilhamento público AES 256 Ch. Privada cifrada ( ) Caractere de espaço Derivar chave Ch. derivada Destruir 19
Storage Encryption App (OwnCloud) Obtenção de chaves de compartilhamento público Ch. compartilhada RSA 4096 Ch. compartilhada cifrada Destruir Ch. Privada de compartilhamento público AES 256 Ch. Privada cifrada ( ) Caractere de espaço Derivar chave Ch. derivada Destruir 20
Storage Encryption App (OwnCloud) Geração de chaves de recuperação Ch. compartilhada RSA 4096 Ch. compartilhada cifrada Gerador de chaves assimétricas Ch. Privada de recuperação - administrador Ch. Pública de recuperação administrador AES 256 Ch. Privada cifrada Login Senha do administrador Derivar chave Ch. derivada Destruir 21
Storage Encryption App (OwnCloud) Obtenção de chaves de recuperação Ch. compartilhada RSA 4096 Ch. compartilhada cifrada Ch. Privada de recuperação - administrador AES 256 Ch. Privada cifrada Login Senha do administrador Derivar chave Ch. derivada Destruir 22
Encryption App (OwnCloud) Armazenamento de conteúdo Computador do cliente TLS Canal cifrado TLS AES 256 Arquivo cifrado Ah1720jdsif 0kdsjfdsi10 2398fjsjfds w9203ij 92 982jfkdslf9 ssd9dsw23 Storage Ch. de arquivo RC4 Ch. de arquivo cifrada Arquivo em claro Ch. compartilhada RSA 4096 Ch. Pública do usuário e/ou Ch. Pública adm. e/ou Ch. Pública de compartilhamento Ch. Compartilhada cifrada 23
Encryption App (OwnCloud) Recuperação de conteúdo Arquivo cifrado TLS Computador do cliente Arquivo em claro Login Senha Canal cifrado TLS AES 256 Ch. de arquivo Ch. Privada cifrada Derivar chave RC4 Ah1720jdsif 0kdsjfdsi10 2398fjsjfds w9203ij 92 982jfkdslf9 ssd9dsw23 Ch. compartilhada AES 256 Ch. derivada Ch. de arquivo cifrada RSA 4096 Ch. Privada Storage Ch. Compartilhada cifrada Destruir 24
Conclusão As chaves criptográficas utilizadas para o sigilo de conteúdo na nuvem são estreitamente ligados à identidade do usuário. É de suma importância saber como elas são geradas, por quem e quando. Provedores de nuvens costumam derivar chaves criptográficas a partir do par de autenticação login/senha dos usuários. Autenticação pode se tornar o elo mais fraco, independente do nível de sigilo e da qualidade dos algoritmos adotados. 25
Conclusão Os processos de autenticação são muito simples em relação ao potencial risco envolvido. Deveriam ser mais seguros a fim de dificultar acessos não autorizados. Sugestão: utilizar técnicas de autenticação de 2 ou mais fatores ou strong authentication (autenticação forte). O uso de criptografia de conteúdo somente na nuvem pode enfraquecer a percepção de segurança por parte dos usuários, que poderão optar por não armazenar conteúdo sensível na mesma e também por não utilizar o serviço de armazenamento criptografado que lhes for oferecido. Seria interessante haver também uma funcionalidade de criptografia no lado do cliente para os casos em que usuários mais familiarizados com as técnicas de segurança pudessem optar por fazer sua gestão de chaves e se responsabilizar totalmente pela segurança de seus arquivos. 26
Fim Obrigado!
Perguntas