Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica



Documentos relacionados
Sistemas Distribuídos: Conceitos e Projeto Controle de Acesso

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

Capítulo 8. Segurança de redes

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Segurança da Informação. Prof. Gleison Batista de Sousa

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings

FTP Protocolo de Transferência de Arquivos

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

Assinatura Digital: problema

Segurança da Informação

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Segurança em IEEE Wireless LAN

I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA

Segurança Internet. Fernando Albuquerque. (061)

SISTEMAS DISTRIBUÍDOS

UNIP UNIVERSIDADE PAULISTA

Tecnologia Segurança. Aires José Rover Universidade Federal de Santa Catarina

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 13

SSH Secure Shell Secure Shell SSH

Capítulo 7 CAMADA DE TRANSPORTE

Segurança da Informação

Proposta de estudo CNC

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Criptografia codificar dados em informações aparentemente sem sentido pessoas não consigam ter acesso às informações que foram cifradas

Quadro de consulta (solicitação do mestre)

Entendendo como funciona o NAT

Assinatura e Certificação Digital

Servidor de Gerenciamento de Chaves de Encriptação Aérea OTAR

SISTEMAS DISTRIBUÍDOS

Gerência de Segurança

3 SCS: Sistema de Componentes de Software

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

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

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

PARANÁ GOVERNO DO ESTADO

Soluções de Segurança em ambientes heterogêneos

Sumário INTRODUÇÃO... 4 PROTOCOLO ARP...5 ARP - ADDRESS RESOLUTION PROTOCOL...5 FUNCIONAMENTO DO PROTOCOLO ARP...5 CACHE ARP... 6

Gerenciamento das chaves criptográficas no Cloud Privacy Guard

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Tecnologia de Redes de Computadores - aula 5

Gestão de identidades em nuvens com o foco no sigilo de conteúdo

PROJETO INTEGRADOR. 5º PERÍODO Gestão da Tecnologia da Informação Noturno

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

Redes de Comunicações Capítulo 6.1

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Capítulo 5 Métodos de Defesa

Redes de Computadores

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Transcrição:

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br 20 de junho de 2013 Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 1 / 30

Conceitos de Segurança Conceitos de Segurança Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 2 / 30

Conceitos de Segurança Definições de Segurança Segurança de computação previne atacantes de atingir seus objetivos através do acesso não autorizado e uso não autorizado de computadores e redes de computadores; Um sistema seguro é aquele que fornece informações íntegras somente a usuários autenticados e autorizados, no momento em que elas são pedidas através de requisições válidas e identificadas, não permitindo que estas informações sejam recebidas, observadas ou alteradas por terceiros não autorizados. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 3 / 30

Conceitos de Segurança Conceitos Fundamentais Confidenciabilidade: Garante que as informações armazenadas em um sistema de computação ou transmitidas através de uma rede de computadores sejam acessadas ou manipuladas somente pelos usuários devidamente autorizados. Integridade: Garante que a informação processada ou transmitida chegue ao seu destino exatamente da mesma forma em que partiu da origem. Disponibilidade: Garante que o sistema de computação continue operando sem degradação de acesso e provê recursos aos usuários autorizados quando necessário. Legitimidade: Garante que os recursos não sejam utilizados por pessoas não autorizadas ou usados de forma não autorizada. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 4 / 30

Conceitos de Segurança Introdução A segurança em sistemas distribuídos pode ser dividida em 2 partes: 1 Comunicação segura entre processos, possivelmente em execução em máquinas diferentes; 2 Autorização, que visa garantir que os processos terão acesso somente a recursos de acordo com direitos de acesso previamente estabelecidos. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 5 / 30

Conceitos de Segurança Classificação de Ameaças 1 Interceptação: entidade não autorizada obtêm acesso a serviço ou dados; 2 Interrupção: situação na qual serviços ou dados tornam-se indisponíveis; 3 Modificação: alteração de dado ou serviço de forma não autorizada de forma a não atender a suas especificação original; 4 Fabricação: situação na qual dados ou atividades que normalmente não existiriam são geradas. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 6 / 30

Conceitos de Segurança Poĺıtica e Mecanismos de Segurança Poĺıtica de Segurança: define as regras que controlam o acesso autorizado aos recursos de computação e informações armazenadas; Mecanismos de Segurança: disponibiliza os meios através dos quais a poĺıtica de segurança pode ser implementada. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 7 / 30

Conceitos de Segurança Canais Seguros de Comunicação Um canal seguro proteje emissores e receptores contra interceptação, modificação e fabricação de mensagens. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 8 / 30

Conceitos de Segurança Canais Seguros de Comunicação: Autenticação e Integridade Autenticação e integridade da mensagem devem ser providas em conjunto; Considere um sistema que provê autenticação mas não integridade: Bob tem como saber se foi Alice que enviou uma mensagem m mas do que serve isso se ele não tem garantias que m foi modificada durante a transmissão? Considere que agora o sistema provê apenas integridade: do que adianta Bob ter certeza que uma mensagem que informa que ele ganhou R$ 1.000.000,00 se ele não tem como verificar se a mensagem veio da loteria? Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 9 / 30

Introdução a Criptografia Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 10 / 30

Introdução a Criptografia Encriptação e decriptação são realizadas utilizando-se métodos criptográficos parametrizados por chaves; A mensagem original é chamada de texto claro (plaintext) e é representada por P; O texto cifrado é representado por C; C = E K (P) denota que o texto cifrado C é obtido encriptando-se o texto claro P usando a chave K; P = D K (C) expressa que a decriptação do texto cifrado C usando a chave K resulta no texto claro P; Existem três diferentes ataques dos quais precisamos nos proteger: 1 Interceptação de mensagens; 2 Alteração de mensagens; 3 Inserção de mensagens. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 11 / 30

Introdução a Criptografia Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 12 / 30

Sistemas Criptográficos Simétricos A mesma chave é utilizada para criptografar e descriptografar a mensagem: P = D K (E K (P)); Denotaremos por K A,B a chave compartilhada por A e B. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 13 / 30

Requisitos de Sistemas Criptográficos 1 Para qualquer função de criptografar E, deve ser computacionalmente inviável encontrar a chave K dado um texto claro P e o texto cifrado C = E K (P); 2 Dado um texto claro P e a chave K deve também ser inviável encontrar outra chave K tal que E K (P) = E K (P). Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 14 / 30

Sistemas Criptográficos: DES DES (Data Encryption Standard); Usado em sistemas criptográficos simétricos; Projetado para operar em blocos de 64 bits de dados; Usado como sistema padrão de criptografia por anos, foi recentemente substituído pelo algoritmo Advanced Encryption Standard (AES) que opera em blocos de 128 bits; O algoritmo AES foi projetado para ser rápido o suficiente para ser implementado em cartões inteligentes (smart cards). Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 15 / 30

Autenticação Baseada em Chave Compartilhada 1 Alice envia seu identificador a Bob indicando que deseja estabelecer um canal de comunicação; 2 Bob envia o desafio R B a Alice, que pode ser um número aleatório; 3 Alice criptografa o desafio com a chave K A,B compartilhada com Bob e retorna o desafio ao mesmo; 4 Bob descriptografa a mensagem e verifica se ela contêm R B. Se este for o caso, ele sabe que Alice está do outro lado: quem poderia ter encriptado R B com K A,B a não ser Alice? 5 Agora Alice deve ter certeza que conversa com Bob. Para tanto, Alice envia o desafio R A. Ao descriptografar a mensagem retornada por Bob K A,B, ela terá certeza que Bob está do outro lado. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 16 / 30

Autenticação Baseada em Chave Compartilhada Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 17 / 30

Autenticação Usando Central de Distribuição de Chaves Um dos problemas com o protocolo de Autenticação Baseada em Chave Compartilhada é a escalabilidade: se o sistema contêm N nós, cada um deve compartilhar uma chave secreta com N 1 nós, o que requer um total de N(N 1)/2 chaves; Uma alternativa é utilizar uma Central de Distribuição de Chaves (KDC) que compartilha uma chave secreta com cada nó. Neste caso, será necessário gerenciar ao todo apenas N chaves; O Protocolo utilizado na figura é o seguinte: 1 Alice envia uma mensagem ao KDC informando que deseja conversar com Bob; 2 O KDC retorna uma mensagem contendo a chave secreta K A,B encriptada por K A,KDC ; 3 O KDC também envia uma mensagem a Bob contendo a chave secreta K A,B encriptada por K B,KDC Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 18 / 30

Autenticação Usando Central de Distribuição de Chaves Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 19 / 30

Autenticação Usando Central de Distribuição de Chaves A desvantagem desta abordagem é que Alice pode iniciar a inicialização do canal seguro mesmo antes de Bob ter recebido a chave secreta a ser compartilhada (K A,B ) do KDC; Uma alternativa é fazer com que o KDC envie K B,KDC (K A,B ) à Alice e permitir que ela se preocupe em contactar Bob, conforme ilustrado na figura a seguir; A mensagem K B,KDC (K A,B ) também é conhecida como um tíquete. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 20 / 30

Autenticação Usando KDC onde Alice inicia a conexão com Bob Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 21 / 30

Problema: Reprodução de Mensagem Considere que Chuck roubou uma chave velha de Bob K old B,KDC e que interceptou uma resposta velha K A,KDC (K A,B ),K old B,KDC (K A,B) Bob já negociou uma nova chave secreta compartilhada com o KDC; Chuck, paciente, espera até que Alice solicite novamente o estabelecimento de um canal seguro com Bob; Chuck reproduz a mensagem velha e engana Alice, que passa a acreditar que está falando com Bob porque ele pode decifrar o tíquete e provar que conhece K A,B. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 22 / 30

nonce Nonce é um número aleatório usado somente uma vez. Por exemplo, um número escolhido de um conjunto muito grande; Seu propósito é relacionar duas mensagens exclusivamente uma com a outra; Ele pode ser utilizado para proteger o protocolo do ataque de reprodução de mensagem, como ilustrado no protocolo a seguir; No exemplo, a mensagem 1 é relacionada com a mensagem 2 e Alice saberá, com certeza, que a mensagem 2 é enviada como uma resposta à mensagem 1 e que não é, por exemplo, uma reprodução de uma mensagem mais velha. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 23 / 30

Protocolo de Autenticação Needham-Schoeder Figura: A reprodução de mensagem mais velha será descoberta imediatamente, já que o nonce na mensagem de resposta não combinará com o nonce na requisição original. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 24 / 30

Protocolo de Autenticação Needham-Schoeder Na mensagem 4, retornando-se R A2 1 e não apenas R A2, Bob não somente prova que conhece a chave secreta compartilhada, mas também que decifrou o desafio propriamente dito; Isso também vincula a mensagem 4 à mensagem 3 do mesmo modo que o nonce R A vinculou a mensagem 2 à mensagem 1; Portanto, o protocolo possui esta proteção adicional contra reproduções. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 25 / 30

Proteção Contra Reutilização de Chave de Sessão Se Chuck se apossar de uma chave velha K A,B, ele poderia reproduzir a mensagem 3 e fazer com que Bob estabeleça um canal; Bob acreditará que está falando com Alice quando, na verdade, é Chuck quem está na outra extremidade; Precisamos relacionar a mensagem 3 com a mensagem 1, isto é, fazer com que a chave dependa da requisição inicial de Alice para estabelecer um canal com Bob; O truque é incorporar um nonce na requisição enviada por Alice a KDC; Contudo, o nonce tem que vir de Bob, conforme o protocolo a seguir. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 26 / 30

Proteção Contra Reutilização de Chave de Sessão Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 27 / 30

Estabelecimento de Chave Através de Canais Inseguros Uma forma elegante e muito utilizada para o estabelecimento de chaves através de canais inseguros é o protocolo Diffie-Hellman (1976); Alice e Bob desejam estabelecer uma chave secreta. O primeiro requisito é que ambos devem concordar em dois números grandes n e g que podem ser públicos; Alice escolhe aleatoriamente um número aleatório grande (x) que ela mantêm em segredo. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 28 / 30

Estabelecimento de Chave Através de Canais Inseguros Bob por sua vez também escolhe um número (y); 1 Alice envia a Bob g x mod n, juntamente com n e g. Esta informação pode ser enviada como texto limpo, já que é computacionalmente impossível computar x dado g x mod n; 2 Bob, ao receber a mensagem, calcula (g x mod n) y que equivale a g xy mod n. Ele também envia g y mod n à Alice, que pode computar (g y mod n) x = g xy mod n. Consequentemente, ambos (e somente eles) possuem agora a chave secreta g xy mod n; Perceba que não foi necessário tornar os números secretos x e y conhecidos. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 29 / 30

Estabelecimento de chave Diffie-Hellman Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de junho de 2013 30 / 30