UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa.

Slides:



Advertisements
Apresentações semelhantes
Segurança em Redes - Código Seguro
Advertisements

Exercícios de Revisão Redes de Computadores Edgard Jamhour
Visão Geral da Tecnologia de Segurança AAA
Protocolos de Segurança
Sistemas Distribuídos Segurança
Criptografia e segurança de redes Capítulo 17
Segurança de Sistemas e Redes
Introdução às Redes Privadas Virtuais - VPN
SSL/TLS Universidade Federal do Rio de Janeiro Escola Politécnica
Redes de Computadores I
KERBEROS Redes de Computadores I
KERBEROS Trabalho de Redes de Computadores I Autores:
Gerencia de Redes Redes de Computadores II
Hash HTTPS SSL Certificados.
Secure Sockets Layer (SSL) e Transport Layer Security (TLS)
Segurança e Auditoria de Sistemas
Controle de Acesso Kerberos
Tópicos Avançados em Redes de Computadores Prof. Fabiano Sabha.
Tópicos Avançados em Redes de Computadores
Execícios de Revisão Redes de Computadores Edgard Jamhour
SRC Prof. Luciano Brandão 5° Semestre ( UFA!!!)
Visão Geral da Tecnologia de Segurança AAA. Segurança de Acesso à rede com AAA A Arquitetura de Segurança AAA: Authentication, Authorization, Accounting.
Protocolos Seguros Camada de Aplicação
SSL / TLS.
2007, Edgard Jamhour Professor Edgard Jamhour Exerício PPTP.
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.
Escola de Ciência e Tecnologia Curso: Sistema Operacionais Abertos Disciplina: Sistemas Operacionais Abertos 1 Prática.
Wireshark Captura de Protocolos da camada de aplicação Captura de Protocolos da camada de aplicação Maicon de Vargas Pereira Maicon de Vargas Pereira.
Criptografia: uma Introdução. ● Definição: Criptografia é o estudo de técnicas matemáticas relacionadas a aspectos da segurança da informação tais como:
Acesso Remoto Rede de Comunicação de Dados Prof. Cristiano José Cecanho.
Segurança em Redes de Computadores VI Semana de Informática Carlos de Castro Goulart Departamento de Informática Universidade Federal de Viçosa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
Protocolo TCP/IP Secção Objectivos Reconhecer os protocolos mais comuns Definir o protocolo TCP/IP Entender o sistema de endereçamento IP e a utilização.
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
Serviço de Protocolação Digital de Documentos Eletrônicos Acadêmico: Recígio Poffo Orientador: Paulo Fernando da Silva.
Faculdade de Tecnologia SENAC Pelotas/RS Tecnologia em Redes de Computadores Projeto Integrador I Configuração de Serviços de Rede no Linux DNS (Bind9)
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Prof. Msc. Diovani Milhorim
Administração e serviços de redes
Redes de Computadores e Aplicações – Modelo TCP/IP
Administração e serviços de redes
Curso Superior em Redes de Computadores
Protocolo HTTP Protocolo de Transferência de Hipertexto
WPA (Wi-fi Protected Access)
Soquetes (1) SOCKET Uma interface local, criada por aplicações, ponto final de comunicação no qual os processos de aplicação podem tanto enviar quanto.
Protocolos de Segurança IP IPSec
Nataniel Vieira Endereçamento IP Nataniel Vieira
Redes: Camada de Aplicação, pt. I Prof. Rafael Vieira
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Capítulo 7: Segurança de Redes
Versão 1.0 Lançada em 13 de fevereiro de 2002 Para:
Funções Hash.
INTRODUÇÃO A COMPUTAÇÃO
Serviço Nacional de Aprendizagem Comercial do Rio Grande do Sul
Introdução a Redes v5.1 Capítulo 3 Protocolos e Comunicações em Rede.
IPsec: IP Seguro Edgard Jamhour.
LAMP – Linux Apache MySql e PHP
Internet x Intranet x Extranet
Exercícios IPsec e LDAP
1.4 – Sistemas de Detecção de Intrusão
SISTEMAS DISTRIBUIDOS
Mobilidade de IP. Mobilidade de IP v4 Em termos mais técnicos, o IPv4 é uma sequência de 32 bits (ou quatro conjuntos de 8 bits). Os 8 bits podem variar.
Transcrição da apresentação:

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa Aula 17: Segurança (Parte III)

Instituto de Informática - UFG Assinaturas digitais Requisito: – Autenticação de documentos armazenados e mensagens – Proteção contra assinaturas forjadas – Prevenir que o assinante repudie um documento por ele assinado (negando sua responsabilidade) A encriptação de um documento com uma chave constitui uma assinatura -impossível para outros realizarem a assinatura sem conhecimento da chave -autenticação forte de documentos -proteção forte contra falsificações -fraca contra repúdio (assinante pode dizer que a chave foi comprometida) *

Instituto de Informática - UFG Funções de digest seguro -O documento inteiro encriptado é uma assinatura impraticavelmente longa -sendo assim, encripta-se apenas um digest (resumo) do documento -Uma função de digest seguro computa um hash de tamanho fixo H(M) que caracteriza o documento M -H(M) deve ser: -rápido de se computar -difícil de inverter - difícil de computar M dado H(M) -difícil de derrotar em quaisquer variantes do Birthday Attack -MD5: Desenvolvido por Rivest (1992). Computa um digest de 128 bit. Taxa de Mbytes/s. - SHA-1: (1995) baseado no MD4 de Rivest, mas tornado mais seguro através da produção de um digest de 160 bits. Taxa: 67.9 Mbytes/s - Qualquer algoritmo de criptografia assimétrico pode ser usado em CBC (cipher block chaining). O último bloco na cadeia é H(M) *

Instituto de Informática - UFG Assinaturas digitais com chaves públicas Assinatura h H(doc) D(K pub,{h}) h' h = h'?authentic:forged Verificação M H(M) 128 bits h E(K pri, h) {h} Kpri M signed doc M {h} Kpri *

Instituto de Informática - UFG MACs: Assinaturas de baixo custo com chave privada Assinatura Verificação M K M K h = h'?authentic:forged h M signed doc H(M+K) h h' H(M+K) * Assinante e verificador compartilham a chave privada K MAC: Message Authentication Code

Instituto de Informática - UFG Estudo de caso: O protocolo Needham - Schroeder Nos primeiros sistemas distribuídos ( ) era difícil proteger os servidores – Ex.: contra ataques de mascaramento sobre um servidor de arquivos – porque não havia mecanismos para autenticar a origem das requisições – criptografia de chave pública ainda não era disponível ou prática  computadores eram muito lentos para calcular funções trap-door  o Algoritmo RSA não estava disponível até 1978 Needham e Schroeder desenvolveram um protocolo de autenticação e distribuição de chaves para uso em uma rede local – Um primeiro exemplo do tipo de cuidado necessário para se projetar um algoritmo efetivamente seguro – Introduziu várias idéias de projeto, incluindo o uso de “nonces” – Baseado em um servidor de autenticação, como aquele visto anteriormente *

Instituto de Informática - UFG HeaderMessageNotes 1. A->S: A, B, N A A requests that S provides a key for Communication with B. 2. S->A:{N A, B, K AB, {K AB, A} K B } K A S returns a message encrypted in A’s secret key, containing a newly generated key K AB and a ‘ticket’ encrypted in B’s secret key. The nonce N A demonstrates that the message was sent in response to the preceding one. A believes that S sent the message because only S knows A’s secret key. 3. A->B: A sends the ‘ticket’ to B. 4. B->A: B decrypts the ticket and uses the new key K AB to encrypt another nonce N B. 5. A->B: A demonstrates to B that it was the sender of the previous message by returning an agreed transformation of N B. {K AB, A} K B {N B } K AB {N B - 1} K AB Ticket O protocolo de autenticação com chave secreta de Needham–Schroeder N A é um nonce. Nonces são inteiros que são adicionados a mensagens para demonstrar a originalidade da transação. Eles são geradas pelo processo remetente sempre que necessário, por exemplo incrementando um contador ou lendo o relógio do sistema (com precisão de milissegundos). * Ponto fraco: A msg 3 pode não ser “fresca” – e K AB pode ter sido comprometida enquanto armazenada no computador de A. Kerberos (a seguir) contempla isto adicionando um timestamp, ou nonce, à msg 3.

Instituto de Informática - UFG Estudo de caso: Kerberos – serviço de autenticação e distribuição de chaves ● Torna segura a comunicação com servidores em uma LAN – Desenvolvido no MIT nos anos 1980 para prover segurança em uma rede de campus com mais de 5000 usuários – baseado no protocolo de Needham - Schroeder ● Padronizado e agora incluído em sistemas operacionais – Internet RFC 1510, OSF DCE – BSD UNIX, Linux, Windows 2000, NT, XP, etc. – Disponível no sítio do MIT ● O servidor Kerberos cria uma chave secreta compartilhada para cada servidor que necessite de uma e a envia (encriptada) para o computador do usuário ● A senha do usuário é o segredo original compartilhado com Kerberos *

Instituto de Informática - UFG Server Client Do Operation Authentication database Login session setup Ticket- granting service T Kerberos Key Distribution Center Server session setup Authen- tication service A Service function Arquitetura de sistema de Kerberos 3. Request for server ticket 4. Server ticket Step B 5. Service request Request encrypted with session key Reply encrypted with session key Step C 1. A->S: A, B, N A 2. S->A:{N A, B, K AB, {K AB, A} K B } K A 3. A->B: 4. B->A: {K AB, A} K B {N B } K AB Protocolo Needham - Schroeder 5. A->B: {N B - 1} K AB Step B once per server session Step C once per server transaction * Figure 7.16 Step A once per login session 1. Request for TGS ticket 2. TGS ticket Step A TGS: Ticket-granting service

Instituto de Informática - UFG Kerberized NFS ● O protocolo Kerberos é muito caro para ser aplicado a cada operação do NFS ● Kerberos é usado no serviço de montagem (mount): – para autenticar a identidade do usuário – O UserID e GroupID do usuário são armazenados no servidor com o endereço IP do cliente ● Para cada requisição de arquivo: – O UserID e GroupID são enviados encriptados na chave de sessão compartilhada (ao invés e encriptar a requisição e a resposta) – O UserID e GroupID devem ser iguais àqueles armazenados no servidor – Os endereços IP também devem ser idênticos ● Esta abordagem tem alguns problemas – não consegue acomodar múltiplos usuários compartilhando o mesmo computador cliente (Por que?) – todos os sistemas de arquivos remotos devem ser montados a cada login do usuário (pois é o único ponto onde a autenticação é feita) *

Instituto de Informática - UFG Estuto de caso: Secure Socket Layer (SSL) ● Distribuição de chaves e canais seguros para comércio na Internet – Protocolo híbrido; depende de criptografia de chave pública – Originalmente desenvolvido pela Netscape Corporation (1994) – Estendido e adotado como um padrão da Internet com o nome de Transport Level Security (TLS) – Provê segurança em todos os servidores Web e navegadores e em versões seguras de Telnet, FTP e outras aplicações de rede ● Requisitos de projeto – Comunicação segura sem negociação de chaves ou ajuda de terceiros – Escolha livre dos algoritmos de criptografia por clientes e servidores – A comunicação em cada direção pode ser autenticada e/ou encriptada

Instituto de Informática - UFG A pilha de protocolos SSL SSL Handshake protocol SSL Change Cipher Spec SSL Alert Protocol Transport layer (usually TCP) Network layer (usually IP) SSL Record Protocol HTTPTelnet SSL protocols:Other protocols: * negotiates cipher suite, exchanges certificates and key masters changes the secure channel to a new spec implements the secure channel

Instituto de Informática - UFG Client A Server B ClientHello ServerHello SSL handshake protocol Estabelece a versão do protocolo, o ID da sessão, cipher suite, método de compressão, troca de valores de inicialização aleatórios Certificate Certificate Request ServerHelloDone Envia o certificado do servidor e requisita o certificado do cliente (opcional) Certificate Certificate Verify Envia resposta com o certificado do cliente se requisitado Change Cipher Spec Finished Change Cipher Spec Finished Muda a cipher suite e finaliza o handshake * Inclui a troca da chave mestra. A chave mestra é usada por A e B para gerar: 2 chaves de sessão2 chaves MAC K AB M AB K BA M BA ComponenteDescriçãoExemplo Método de troca de chaves o método a ser usado para troca da chave de sessão RSA com certificados de chave pública Cifra para transf. de dados a cifra de bloco ou stream a ser usada para dados IDEA Fução de digest de mensagens para criação de códigos de autenticação de msgs. (MACs) SHA Cipher suite

Instituto de Informática - UFG SSL: opções de configuração do handshake * ComponenteDescriçãoExemplo Método de troca de chaves o método a ser usado para troca da chave de sessão RSA com certificados de chave pública Cifra para transf. de dados a cifra de bloco ou stream a ser usada para dados IDEA Fução para digest de mensagens para criação de códigos de autenticação de msgs. (MACs) SHA

Instituto de Informática - UFG SSL record protocol Application data abcdefghi abcdefghi Record protocol units Fragment/combine Compressed units Compress MAC Hash Encrypted Encrypt TCP packet Transmit *

Instituto de Informática - UFG Sumário ● É essencial proteger contra ataques os recursos, canais de comunicação e as interfaces de sistemas e aplicações distribuídos. ● Isto é obtido com o uso de mecanismos de controle de acesso e canais seguros. ● Criptografia de chave pública e secreta provê a base para autenticação e comunicação segura. ● Kerberos e SSL são componentes de sistema largamente utilizados que oferecem suporte a comunicação segura e autenticada. *

Instituto de Informática - UFG Suposições de pior caso e linhas mestras para o projeto ● As interfaces são expostas ● As redes são inseguras  Limitar o tempo de vida e o escopo de cada segredo ● Os algoritmos e código de programa são disponíveis aos intrusos ● Os intrusos podem ter acesso a vastos recursos  Minimizar a base de confiança

Instituto de Informática - UFG From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4 © Pearson Education 2005