Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.

Slides:



Advertisements
Apresentações semelhantes
André Oliveira Castro Marcelo Siqueira Pereira Filho
Advertisements

Criptografia Assimétrica
1 Segurança em Redes de Computadores Referência: Slides extraídos do material dos professores Jim Kurose e Keith Ross relativos ao livro Redes de Computadores.
CRIPTOGRAFIA.
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Criptografia e Segurança em Redes Capítulo 13
Criptografia e Segurança em Redes Capítulo 13
Criptografia e segurança de redes Chapter 14
Criptografia e Segurança em Redes Capítulo 9 Quarta Edição William Stallings William Stallings Slides de Lawrie Brown Tradução: Bruno e Mario.
Criptografia e Segurança em redes capítulo 11
Dornélio Mori Ney Bermudes
Funções de hash unidirecionais
SSL (Secure Sockets Layer) SET (Secure Eletronic Transactions)
Segurança de Sistemas e Redes
Criptografia II.
Criptografia II.
Execícios de Revisão Redes e Sistemas Distribuídos II Edgard Jamhour
Segurança em Comércio Eletrônico
Modelo de referência OSI
Funções Criptográficas de Hash
Autenticação de Mensagens
Criptografia de Chave Pública
Troca de Chaves Autenticação
Função Hash e Autenticação em Redes de Computadores
Public Key Infrastructure PKI
TRABALHO 6: Tecnologias e Ferramentas para Garantir a Segurança
Hash HTTPS SSL Certificados.
Aula 1 – Introdução a segurança de dados
Secure Sockets Layer (SSL) e Transport Layer Security (TLS)
Company LOGO Criptografia de dados em PHP.
Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012.
Documentos Digitais Aula 9.
Confidencialidade usando Criptografia Simétrica
7: Segurança de Redes1 Capítulo 7: Segurança de Redes Fundamentos: r o que é segurança? r criptografia r autenticação r integridade de mensagens r distribuição.
Segurança Ênfase em Comércio Eletrônico. Objetivo Apresentar os principais conceitos envolvendo criptografia,Assinatura digital e Certificação digital.
Assinaturas digitais.
LUCAS DE ANDRADE VINICIUS BERNARDINO DA SILVA
Segurança & Auditoria de Sistemas AULA 07 Eduardo Silvestri
Segurança e Auditoria de Sistemas
Introdução a Criptologia (cont.)
Prof. Arthur Transmissão de Dados A Camada de Aplicação Transmissão de Dados Prof. Arthur O Modelo de Referência TCP/IP A Camada de.
Exercício 3 Função de hash Assinatura digital
Sistemas Seguros Criptografia Simétrica e Assimétrica
Assinatura Digital kryptós + gráphein Thiago Castelló Fonseca Verônica Taquette Vaz Redes de Computadores I Prof. Otto Carlos Muniz Bandeira Duarte.
Protocolos Básicos Autenticação. Protocolos Básicos Esquemas de autenticação São métodos através dos quais alguém pode provar sua identidade, sem revelar.
Controle de Acesso Kerberos
PGP – Pretty Good Privacy Privacidade Bastante Boa
Tópicos Avançados em Redes de Computadores Prof. Fabiano Sabha.
Seminário Criptografia
Alunos: Felipe Marcelino da Silva Jean Bruno Souto Villete.
Tópicos Avançados em Redes de Computadores
Exercício 2 Função resumo (hash) Assinatura digital
S EGURANÇA, C ONTROLE E A UDITORIA DE D ADOS 7 - Criptografia.
Algoritmos de Chave Pública
Autenticação de Mensagens
Segurança de Redes de Computadores Prof. Paulo Fernando da Silva.
Execícios de Revisão Redes de Computadores Edgard Jamhour
3. Criptografia Assimétrica
SRC Prof. Luciano Brandão 5° Semestre ( UFA!!!)
Criptografia Assimétrica e Autenticação de Mensagens
MAC499 – Trabalho de Formatura Supervisionado
Segurança de Redes de Computadores
Segurança de Redes de Computadores Prof. Paulo Fernando da Silva.
Tópicos Avançados em Redes
5 – Distribuição de chaves
SISTEMAS OPERACIONAIS
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Segurança em Comércio Eletrônico Comércio tradicional realizado de maneira centralizada cercado de restrições legais Comércio eletrônico realização de.
Criptografia simétrica
Transcrição da apresentação:

Segurança em Sistemas Distribuídos Stanley Araujo de Sousa

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;

Conceitos

 Criptologia = Criptografia + Criptoanálise  Criptografia é A arte de criar mensagens cifradas  Criptoanálise é a arte de solucionar mensagens cifradas

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

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.

Cifra  O sistema de cifra possui duas classes: –Substituição; –Transposição

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 possibilidades

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;

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.

Cifra de transposição –Dispositivo mecânico

Criptografia  Grande contribuição dos militares;  Dificuldades: – Criptografar as informações no campo de batalha – Alterar os métodos criptográficos rapidamente;

Criptografia  Surge assim o método da figura abaixo.

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

 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

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

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.

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 ;

Criptografia – Conceitos básicos  Texto claro ou inteligível: Texto que se deseja cifrar  Texto cifrado: Informação após o processo de cifragem

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

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.

Sistemas Criptográficos Simétricos

 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

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

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).

 Exemplos de Algoritmo de Criptografia Simétrica

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.

DES(Data Encryption Standard):

Triple DES  Chaves de 112 ou 168 bits  Variação do DES  É seguro, porém muito lento para ser um algoritmo padrão.

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 corporativo

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

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

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

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

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

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

Chave privada  Exclusiva de cada usuário  Deve ser mantida secreta  Usada para descriptografar as mensagens;  Usada para assinar as mensagens

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;

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

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

 Exemplos de Algoritmo de Criptografia Assimétrica

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.

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.

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

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.

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

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 anos  Sua desvantagem é exigir chaves de pelo menos 1024 bits, e isso o torna bastante lento.

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

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.

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.

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

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

Assimétrico CifrarDecifrar Canal Inseguro Chave K Pública (Bob) Chave K Secreta (Bob) ≡ ? BobAlice Canal Inseguro

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.

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

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.

Sumário de mensagens  As funções de hash mais conhecidas são: –MD5 –SHA-1

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.

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

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.

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.

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.

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

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)

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

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

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

SSL(Secure Socket Layer)

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

SSL

 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

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.

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

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

 - 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.

 SSL Record Layer Protocol – Serviços de fragmentação – Compressão – Autenticação de mensagem – Número sequencial – Encriptação

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