Segurança em Sistemas Distribuídos Stanley Araujo de Sousa. - ppt carregar
Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.
PublicouHugo Cosme Alterado mais de 3 anos atrás
Apresentação em tema: "Segurança em Sistemas Distribuídos Stanley Araujo de Sousa."— Transcrição da apresentação:
1 Segurança em Sistemas Distribuídos Stanley Araujo de Sousa
2 Criptografia - História Usada por governantes e pelo povo em épocas de guerra e de paz. Criptografia na antiguidade; Criptografia na idade média; Criptografia na idade moderna; Criptografia na atualidade;
4  Criptologia = Criptografia + Criptoanálise  Criptografia é A arte de criar mensagens cifradas  Criptoanálise é a arte de solucionar mensagens cifradas
5 Conceitos  Cifras: Transformação de bit a bit;  Código: Transformação de palavra por palavra ou símbolo;  Estenografia("escrita coberta"): Na escrita, consiste em ocultar uma informação, através de códigos com caracteres convencionais (letras e números) ou símbolos
6 Conceitos  O código mais bem sucedido já inventado foi usado pelos EUA durante a Segunda Guerra Mundial no Pacífico. Eles simplesmente tinha índios navajo que se comunicavam uns com os outros usando palavras navajo específicas para termos militares como, por exemplo: chay-dagahi-nail-tsaidi(literalmente, assassino de cágado) para indicar uma arma antitanque. A linguagem navajo é altamente tonal, extremamente complexa, e não tem nenhuma forma escrita. Além disso, nenhuma pessoa no Japão conhecia nada sobre ela.
7 Cifra  O sistema de cifra possui duas classes: –Substituição; –Transposição
8 Cifra de Substituição  Cada letra ou grupo de letras é substituído por outras letras ou grupo de letras;  Exemplo: cifra de César (Caeser cipher)  Problemas –Aparentemente segura –Existe 26! = 4 x 10 26 possibilidades
9 Cifra de Substituição  Com poucos textos cifrados, o algoritmo pode ser quebrado. –Estratégias: Conhecimento das letras –Exemplo: No inglês –Letras: e, t, o, a, n, i –digramas: th, in, er, re e an –trigramas: the, ing, and e ion –Adivinhar uma frase ou palavra provável;
10 Cifras de transposição  Reordenam as letras, mas não as disfarçam.  Mensagens curtas não são seguras –Ex: SIM, tenho somente 3! = 6 possibilidades  A permutação pode-se basear em: –Palavra-chave: Palavra ou frase que não contenha letras repetidas A chave enumera a seqüência de colunas; Exemplo: NUMABOA é cifrado para AOBAMUN.
11 Cifra de transposição –Dispositivo mecânico
12 Criptografia  Grande contribuição dos militares;  Dificuldades: – Criptografar as informações no campo de batalha – Alterar os métodos criptográficos rapidamente;
13 Criptografia  Surge assim o método da figura abaixo.
14 Princípio Kerckhoff  Todos os algoritmos devem ser públicos; apenas as chaves são secretas.  O criptoanalista conhece os algoritmos e que o segredo reside exclusivamente na chave  Inúmeros criptólogos irão tentar "quebrar" o algoritmo
15  O tamanho da chave é uma questão muito importante no projeto  Chaves de 64 bits = 2 64 possibilidades  Quanto maior a chave, maior o fator de trabalho para o criptoanalista;  O fator de trabalho é exponencial ao tamanho da chave
16 Criptografia – serviços oferecidos  Disponibilidade: A informação estará disponível para acesso no momento desejado.  Integridade: Garante que o conteúdo da mensagem não foi alterado.  Controle de acesso: Garante que o conteúdo da mensagem somente será acessado por pessoas autorizadas
17 Criptografia – serviços oferecidos  Autenticidade da origem: Garante a identidade de quem está enviando a mensagem.  Não-repudiação: Previne que alguém negue o envio e/ou recebimento de uma mensagem.  Privacidade: Impede que pessoas não autorizadas tenham acesso ao conteúdo da mensagem, garantindo que apenas a origem e o destino tenham conhecimento.
18 Criptografia – Conceitos básicos  Algoritmo de criptografia: É uma função,normalmente matemática, que executa a tarefa de cifrar e decifrar os dados que se desejam manter seguro;  Chave criptográfica: Parâmetro do algoritmo de criptografia. Quanto maior a chave, maior a dificuldade do intruso ;
19 Criptografia – Conceitos básicos  Texto claro ou inteligível: Texto que se deseja cifrar  Texto cifrado: Informação após o processo de cifragem
20 Classificação dos sistemas Criptográficos  Criptografia Simétrica  Criptografia assimétrica  Outros critérios: –Maneira como o texto claro é processado Cifrador de blocos: Processa um bloco de entra e gera um bloco de saída Cifrador de fluxos: Processo elementos de forma contínua –Tipo de operação utilizada para transformar o texto claro em texto cifrado Substituição ou Transposição
21 Sistemas Criptográficos Simétricos  Outras denominações: Criptografia de chave simples ou de chave secreta  Técnica de criptografia onde é utilizada a mesma chave para criptografar e descriptografar os dados.
22 Sistemas Criptográficos Simétricos
23  Segurança do algoritmo –Não seja possível decifrar a mensagem baseado somente no texto cifrado –Segurança depende da manutenção da chave e não do algoritmo
24 Vantagens  Em geral, os algoritmos simétricos são computacionalmente mais simples;  Utilização do mesmo algoritmo para o receptor e emissor  Em caso de violação, facilmente se realiza a troca das chaves
25 Desvantagens  A chave deve ser trocada entre as partes e armazenada de forma segura;  Para n usuários precisaríamos de algo da ordem de n 2 chaves(dificulta a gerência das chaves)  A criptografia simétrica não garante a identidade de quem enviou ou recebeu a mensagem (autenticidade e não-repudiação).
26  Exemplos de Algoritmo de Criptografia Simétrica
27 DES(Data Encryption Standard):  Cifrador de blocos de 64 bits  Chaves de 56 bits  Desenvolvido pela ibm e NIST (National Institute of Standards and Technology)  Quebrado por "força bruta" em 1997 em um desafio lançado na Internet.
28 DES(Data Encryption Standard):
29 Triple DES  Chaves de 112 ou 168 bits  Variação do DES  É seguro, porém muito lento para ser um algoritmo padrão.
30 RC2  Cifrador de blocos  Desenvolvido por Ronald Rivest  Proprietário(RSA Segurança de Dados)  Chaves de 1 a 1024 bits  Softwares para fora do EUA (chaves de 40 bits)  Voltado para criptografia de e-mail corporativo
31 RC4  Cifrador de fluxo  Desenvolvido por Ronald Rivest  Proprietário(RSA Segurança de Dados)  Chaves de até 256 bits  Softwares para fora do EUA (chaves de 40 bits)  Fácil de implementar  10 vezes mais rápido que o DES
32 RC5  Cifrador de blocos  Desenvolvido por Ronald Rivest  Permite ao usuário definir: –tamanho da chave – tamanho do bloco – número de vezes que será aplicada a cifração sobre o arquivo
33 IDEA(Data Encryption Algorithm)  Cifrador de blocos de 64 bits  Desenvolvido por James e Xuejia, na Suiça  Chaves de 128 bits  Considerado muito forte
34 AES (Advanced Encryption Standard)  Substituto do DES  padrão oficial do governo dos EUA  Eleito o algoritmo Rijndael  Admite tamanho de chaves e blocos de 128 bits até 256 bits em intervalos de 32 bits  Porém, o AES especifica: –Tamanho do bloco: 128 bits –Comprimento da chave: 128, 192 ou 256 bits
35 AES (Advanced Encryption Standard)  Temos basicamente duas variantes –Bloco de 128 bits e chave de 128 bits: tende a ser o padrão – Bloco de 128 bits e chave de 256 bits
36 Sistemas Criptográficos Assimétricos  Baseada no conceito de par de chaves: –Chave privada –Chave pública  Qualquer uma das chaves é utilizada para cifrar uma mensagem e a outra para decifrá-la ;  As mensagens cifradas com uma das chaves do par só podem ser decifradas com a outra chave correspondente
37 Chave privada  Exclusiva de cada usuário  Deve ser mantida secreta  Usada para descriptografar as mensagens;  Usada para assinar as mensagens
38 Chave pública  Cada usuário tem a sua chave pública  Chave de cifração pública (disponibilizada em um repositório)  Utilizada para criptografar a mensagem;
39 Algoritmo Assimétrico CifrarDecifrar Canal Público Canal Inseguro Mensagem (abcdef...z) Mensagem (abcdef...z) Criptogra ma ( ...  ) Chave K Públic a Chave K Secreta Bob Alice
40 Algoritmo Assimétrico  Desvantagens –São relativamente lentos; RSA é 1000 mais lento que o AES –São complexos de serem implementados;  Vantagens –Qualquer pessoa pode enviar uma mensagem secreta usando a chave pública; –Não há necessidade do envio de chaves;  Outra abordagem: –União dos simétricos com assimétricos
41  Exemplos de Algoritmo de Criptografia Assimétrica
42 RSA  Ron Rivest, Adi Shamir e Len Adleman, que o criaram em 1977 no MIT  Atualmente, o algoritmo de chave pública mais amplamente utilizado, além de ser uma das mais poderosas formas de criptografia de chave pública conhecidas até o momento.  O RSA utiliza números primos.
43 ElGamal  O algoritmo envolve a manipulação matemática de grandes quantidades numéricas ;  Sua segurança advém de algo denominado problema do logaritmo discreto  O ElGamal obtém sua segurança da dificuldade de se calcular logaritmos discretos em um corpo finito, o que lembra bastante o problema da fatoração.
44 DSA (Digital Signature Algorithm)  Unicamente destinado a assinaturas digitais  Proposto pelo NIST em agosto de 1991  Utilizado no padrão DSS (Digital Signature Standard)  Variação dos algoritmos de assinatura ElGamal e Schnorr
45 Curvas Elípticas  Curvas elípticas para sistemas criptográficos de chave pública  Implementaram algoritmos de chave pública já existentes  Eles possuem o potencial de proverem sistemas criptográficos de chave pública mais seguros, com chaves de menor tamanho.
46 RSA  Sistema de criptografia de chaves públicas  Utilizado para cifração e assinatura digital  Desenvolvido por Rivest-Shamir-Adleman, MIT, em 1977  É considerado muito forte
47 RSA  Sua segurança baseia-se no fato de não existir um algoritmo eficiente na fatoração de números primos grandes. –A fatoração de um número de 500 dígitos demoraria 10 25 anos  Sua desvantagem é exigir chaves de pelo menos 1024 bits, e isso o torna bastante lento.
48 RSA - Funcionamento  Escolha dois números primos extensos, p e q (geralmente, de 1024 bits)  Calcule n = p x q e z = (p-1) x (q-1)  Escolha um número d tal que z e d sejam primos entre si; –Dois números inteiros são ditos primos entre si quando não existir um divisor maior do que 1 que divida ambos, ou seja, MDC(d,z)=1 –Por exemplo, 12 e 13 são primos entre si; porém, 12 e 14 não o são porque ambos são divisíveis por 2.  Encontre e de forma que e x d = 1 mod z
49 Processo  Divida o texto simples em blocos de tamanho P onde 0  P  n. Ou ache k bits, onde k é o maior número inteiro para o qual 2 k < n  Para criptografar P, calcule C = P e (mod n). Para descriptografar C, calcule P = C d (mod n)  As funções de criptografia e descriptografia são inversas entre si.
50 Processo  Para criptografar são necessários e e n  Para descriptografar são necessários d e n  Logo, a chave pública consiste em (e,n) e a chave privada consiste em (d,n)  Se n pudesse ser fatorado, o criptoanalista encontraria p e q, e a partir deles chegar a z. Com o conhecimento de z e e, é possível encontrar d utilizando o algoritmo de Euclides.
51 Exemplo  Escolhemos p = 3 e q =11, o que gera n =33 e z =20, e d=7. Então, resolve-se a equação 7e = 1(mod 20), que produz e = 3.  O texto cifrado é obtido através de C = P 3 (mod 33)  Neste exemplo, como n =33, k deve ser igual 5 bits. Logo, cada bloco de texto deve conter somente um único caracter
53 Assinatura Digital  Objetivo: Garantir a autenticidade de quem envia a mensagem, associada à integridade do seu conteúdo.  Garante o não-repúdio  Técnicas: –Algoritmos simétricos –Algoritmos assimétricos –Sumário de mensagens
54 Assimétrico CifrarDecifrar Canal Inseguro Chave K Pública (Bob) Chave K Secreta (Bob) ≡ ? BobAlice Canal Inseguro
55 Sumário de mensagens  Na prática é inviável e contraproducente utilizar puramente algoritmos de chave pública para assinaturas digitais  Denominada Message Digest, One-Way Hash Function. A função Hashing funciona como uma impressão digital de uma mensagem gerando, a partir de uma entrada de tamanho variável, um valor fixo pequeno: o digest ou valor hash.
56 Sumário de mensagens  Uma função de hashing é uma função criptográfica que gera uma saída de tamanho fixo (geralmente 128 a 256 bits) independentemente do tamanho da entrada  Para ter utilidade criptográfica, a função de hashing deve ser tal que
57 Sumário de mensagens  É simples (eficiente, rápido) se computar o hash de dada mensagem;  É impraticável se determinar a entrada a partir de seu hash;  É impraticável se determinar uma outra entrada que resulte no mesmo hash de uma dada entrada;  Os valores de hash possíveis são estatisticamente equiprováveis.
59 Sumário de mensagens  As funções de hash mais conhecidas são: –MD5 –SHA-1
60 MD5(Message Digest 5)  Inventado por Ron Rivest, do MIT.  Este algoritmo produz um valor hash de 128 bits para qualquer entrada  Projetado para ser rápido, simples e seguro  Um valor hash de 128 bits é causa de preocupação; é preferível uma função Hashing que produza um valor maior.
61 SHA-1 (Secure Hash Algorithm )  Desenvolvido pela NSA  Baseado no MD4  Gera um valor de hash de 160 bits independente da entrada  Não há nenhum ataque de criptoanálise conhecido contra o SHA-1
62 Certificados Digitais e Autoridades Certificadoras  Como confiar que determinada chave efetivamente pertence ao seu suposto proprietário?  É que um documento (eletrônico) contendo a chave pública de um usuário (ou processo) e dados de identificação do mesmo  Este documento deve ser assinado por uma autoridade confiável, a Autoridade Certificadora, atestando sua integridade e origem.
63 Certificados Digitais  O padrão mais comumente utilizado para certificados digitais é o denominado X-509  Prevê os seguintes campos: – chave pública do usuário; – nome do usuário proprietário da chave; – nome da organização associada; – data de emissão do certificado; – período de validade da chave.
64 Tipos de certificados  Certificados de CA: utilizados para validar outros certificados; são auto-assinados ou assinados por outra CA.  Certificados de servidor: utilizados para identificar um servidor seguro; contém o nome da organização e o nome DNS do servidor.  Certificados pessoais: contém nome do portador e, eventualmente, informações como endereço eletrônico, endereço postal, etc.  Certificados de desenvolvedores de software: utilizados para validar assinaturas associadas a programas.
65 Kerberos  O protocolo kerberos envolve três servidores: autenticação (Autentication Server), o TGS(Ticket-Grating Server) que concede os ingressos e o servidor que se deseja comunicar
66 Kerberos  O cliente envia um ticket para o AS  O ticket contém nome do usuário e o nome do TGS  O AS gera uma chave de sessão e criptografa com a chave pública do usuário  Cria um TGT (ingresso que concede ingresso) para o usuário apresentar ao TGS e codifica o TGT usando a chave de segredo do TGS (que só é conhecido pelo servidor de autenticação e o servidor TGS)  O usuário decifra a primeira mensagem e recupera a chave de sessão. E cria um autenticador(nome+endereço+selo tempo)
67 Kerberos  O usuário envia o pedido então ao TGS para fazer ingresso a um servidor designado. Contém o nome do servidor, o TGT KERBEROS (que foi codificado com o a chave de segredo do TGS), e o autenticador codificado  O TGS decifra o TGT com sua chave secreta e então usa a chave de sessão incluída no TGT para decifrar o autenticador  Compara a informação do autenticador com a informação do ingresso, o endereço da rede do usuário com o endereço foi enviado no pedido e o tempo estampado com o tempo atual
68 Kerberos  O TGS cria uma chave de sessão nova para o usuário e o servidor final. Inseri esta chave em um ingresso válido(nome do usuário, endereço da rede, um selo de tempo, e um tempo de vencimento) para o usuário apresentar ao servidor  O ingresso é codificado com a chave de segredo do servidor designado e o seu nome  O TGS também codifica a nova chave de sessão designada que vai ser compartilhada entre o usuário e o TGS. Envia ambas as mensagens de volta ao usuário  O usuário decifra a mensagem e a chave de sessão para uso com o servidor designado  Ele cria um autenticador novo codificado com a chave de sessão de usuário e servidor final
69 Kerberos  Envia a mensagem codificada pelo TGS e o autenticador codificado com a nova chave de sessão  O servidor designado decifra, confere o ingresso, o autenticador e também confere o endereço do usuário e o selo de tempo
70 SSL(Secure Socket Layer)
71 SSL  Protocolo de segurança desenvolvido pela Netscape Communications  A SSL constrói uma conexão segura entre dois soquetes, incluindo: – Negociação de parâmetros entre cliente e servidor – Autenticação mútua de cliente e servidor – Comunicação secreta – Proteção da integridade dos dados
72 SSL
73  A SSL é um conjunto de três protocolo situados, dois deles, a nível de aplicação e, o terceiro, entre o protocolo de aplicação e o TC  A SSL admite vários algoritmos com opções distintas  A principal tarefa da SSL é manipular a compactação e criptografia  HTTP sobre a SSL => HTTPS  Telnet, FTP, SMTP
74 SSL Handshake Protocol  O usuário envia uma mensagem( versão do SSL, algoritmo de criptografia, compactação, nonce) para o servidor.  O servidor escolhe alguns dos algoritmos especificados pelo usuário, um nonce e envia para o usuário  O servidor envia um certificado(ou cadeia de certificados) contendo a chave pública  O servidor envia uma mensagem para o usuário informando que é a vez dele.  O usuário escolhe, ao acaso, uma chave de 384 bits, codifica com a chave pública do servidor e envia.
75 SSL Handshake Protocol  A chave de sessão é a combinação da chave de 384 bits com os dois nonces de maneira complexa  O usuário informa que o servidor pode passar para a nova chave de sessão
76 SSL Record Layer Protocol  Tem-se um canal que faz uso de um algoritmo simétrico de criptografia e um algoritmo de inserção de redundância na mensagem (chamada de MAC, Message Autentication Code)  As mensagens são comprimidas, inseridas as MACs e então cifradas antes de serem envidadas ao TCP  No destino, após a mensagem ser decifrada, a autenticidade da mensagem é verificada, comparando-a com a MAC, quando então ela é descomprimida e envida para a camada de aplicação
77  - SSL Alert Protocol: – Acompanha os erros na Record Layer, fazendo troca de mensagens para sinalizar problemas com a seqüência de mensagens, erros de certificação ou encriptação.  SSL Change Cipher SPEC Protocol: – Sinaliza as transições nas estratégias de cifragem.
78  SSL Record Layer Protocol – Serviços de fragmentação – Compressão – Autenticação de mensagem – Número sequencial – Encriptação
79 Vantagens X Desvantagens  Vantagens – Mais convenientes e utilizados nas transações seguras – A implementação é relativamente simples  Desvantagens – O processo é lento – O usuário não tem certificados e caso tenham não verificam as chaves