83
Nível Aplicação 1 Estudar aspectos conceituais e de implementação de aplicações de rede – a razão de ser das redes, o interesse final do usuário. Nível Aplicação - Objetivo

Nível Aplicação - Objetivo

  • Upload
    adanna

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

Nível Aplicação - Objetivo. Estudar aspectos conceituais e de implementação de aplicações de rede – a razão de ser das redes, o interesse final do usuário. Nível Aplicação - Roteiro. Introdução DNS Correio Eletrônico WWW Multimídia: Streaming de Audio e Vídeo, Teleconferência - PowerPoint PPT Presentation

Citation preview

Page 1: Nível Aplicação - Objetivo

Nível Aplicação 1

Estudar aspectos conceituais e de implementação de aplicações de rede – a razão de ser das redes, o interesse final do usuário.

Nível Aplicação - Objetivo

Page 2: Nível Aplicação - Objetivo

Nível Aplicação 2

1. Introdução2. DNS3. Correio Eletrônico4. WWW5. Multimídia: Streaming de Audio e

Vídeo, Teleconferência6. Entrega de conteúdo: CDN, P2P

Nível Aplicação - Roteiro

Page 3: Nível Aplicação - Objetivo

Nível Aplicação 3

► Novas aplicações não param de surgir: Correio eletrônico, mensagem instantânea, FTP, WWW

(Navegação Web), Compartilhamento de arquivo P2P, Telefonia (VoIP), video-conferência, Redes Sociais, e-commerce, m-commerce, Redes Espaciais, Jogos ....

Cite a aplicação mais recente que você conhece:Shazam, 99Taxis, Moovit, GoogleTV....

Caminhamos em direção à Computação Ubíqua:“A interação homem-máquina será “invisível” no sentido de não ser notada, ainda que seja perceptível, através de um dispositivo qualquer.”

Introdução

Page 4: Nível Aplicação - Objetivo

Nível Aplicação 4

Papel da Aplicação

► O Nível Aplicação além de conter o trabalho final de interesse do usuário, também define protocolos para suporte às aplicações finais.

► Questões típicas: Como realizar com eficiência a tarefa que se propõe? Que protocolo será utilizado para realizar esta tarefa? Como simplificar para o usuário a interface?

► Protocolos de suporte no nível de aplicação não são um fim em si mesmos, mas suportam trabalhos finais.

► Exemplo de protocolos de suporte: DNS, Protocolos de Segurança, Protocolos de Gerência de Redes.

Page 5: Nível Aplicação - Objetivo

Nível Aplicação 5

O que é necessário definir ?

► Um protocolo do nível Aplicação define:

Tipos de mensagens trocadas: requisição e resposta; Sintaxe dos vários tipos de mensagens; Semântica dos campos; Regras: quando e como um processo envia

mensagens e responde mensagens (sincronização).

Page 6: Nível Aplicação - Objetivo

Nível Aplicação 6

DNS - Domain Name System Porque um Sistema de Nomes?

► As pessoas trabalham melhor com nomes do que com números; os computadores trabalham melhor com números, assim é necessário fazer a tradução nome-número.

► NA ARPANET havia o arquivo hosts.txt. (Ainda tem no Linux). Estratégia que não seria possível hoje... Que tal um controle centralizado?

► Já em 84 nascia uma especificação para resolver este problema (RFC 882).

Page 7: Nível Aplicação - Objetivo

Nível Aplicação 7

O que é DNS?

► DNS é um banco de dados distribuído. Cada segmento local controla sua porção e disponibiliza um banco para toda a rede num esquema cliente-servidor.

► Servidor: Torna disponível informação local de nomes.

► Cliente: contém os resolvedores – enviam perguntas pela rede aos servidores de nome.

► A estrutura deste banco de dados é hierárquica.

Page 8: Nível Aplicação - Objetivo

Nível Aplicação 8

Estrutura hierárquica - 1

Cada domínio é particionado em sub-domínios, que também são particionados, e assim por diante. As folhas não contêm sub-domínios (contém uma ou várias máquinas). Há dois tipos de domínio de nível superior: Genéricos e Países. (Há ~ 250).

Page 9: Nível Aplicação - Objetivo

Nível Aplicação 9

Estrutura hierárquica - 2Servidores de nomes Raiz são replicados: controlado pelo ICANN (Internet Coporation for Assigned Names and Numbers); Há 13 servidores raíz no mundo.

Page 10: Nível Aplicação - Objetivo

Nível Aplicação 10

Zonas- Divisão do Espaço de Nomes

• Teoricamente um mesmo servidor de nomes poderia

servir toda a Internet, ou um domínio de primeiro nível. Problemas:

- Se este servidor parasse, a Internet pararia...- Sobrecarga neste servidor;- Banco de dados centralizado distante;

- Manutenção;• O espaço de nomes foi dividido em zonas. Cada zona

tem uma parte da árvore e servidores de nomes com informação (autoridade) sobre aquela zona; A zona é a parte do domínio que não foi delegada a outros.

Page 11: Nível Aplicação - Objetivo

Nível Aplicação 11

Ilustrando Divisão em Zonas

Na figura nota-se que há um servidor para washington.edu que cuida de eng.washington.edu mas não de cs.washington.edu que é uma zona separada com seus próprios servidores de nome.

Page 12: Nível Aplicação - Objetivo

Nível Aplicação 12

Processo de pesquisa DNS

1) Cliente pergunta endereço para seu servidor de nomes.

2) Se o servidor de nomes do cliente sabe responder (cache), o faz imediatamente;

3) Caso contrário, pergunta ao servidor raíz.

4) O servidor raíz, indica o servidor de 1o. Nível adequado (Referral)

5) O servidor local recebe o referral, e pergunta ao servidor de 1o. Nível. Este indica o servidor de 2o. Nível (referral).

6) Assim sucessivamente, até chegar ao servidor da máquina pesquisada. Este último dá a resposta final ao servidor de nomes do cliente, que finalmente responde ao cliente.

Page 13: Nível Aplicação - Objetivo

Nível Aplicação 13

Ilustração de pesquisa DNS

Vide slide 11 com os servidores selecionados

Page 14: Nível Aplicação - Objetivo

Nível Aplicação 14

Caching

Os servidores de nome armazenam a informação obtida em caches; em uma próxima consulta não precisam mais ir à luta na Internet, recuperando localmente a informação;

Resposta Non-Authoritative: vem do cache local;

Resposta Authoritative: recuperada de servidor-autoridade.

O tempo de vida de uma informação no cache, TTL (Time to live), controla o momento em que o servidor deve buscar novamente na Internet. TTL curto: vantagem - pegar sempre dados corretos na Internet; desvantagem - gasta banda, sobrecarrega servidores e degrada o desempenho.

Page 15: Nível Aplicação - Objetivo

Nível Aplicação 15

Registros de Recursos

O DNS mapeia nomes de domínios em registros de recursos. Contém informações relativas ao domínio.Um registro de recurso é representado por 5 campos:

Nome_Domínio Tempo_de Vida Classe Tipo Valor

Nome_Domínio : domínio ao qual o registro se aplicaTempo_de Vida : tempo que indica estabilidade do registro. Alto (Ex:86400-segundos do dia) ou baixo (60-segundos). Neste ultimo caso muito volátil.Classe: IN – Informações relacionadas a InternetTipo: Tipo do registro (descritos nas próximas telas)Valor: Semântica depende do tipo de registro

Page 16: Nível Aplicação - Objetivo

Nível Aplicação 16

Tipos de Registros de Recursos

Existem os seguintes diferentes tipos de registros:

Page 17: Nível Aplicação - Objetivo

Nível Aplicação 17

Registros NS e A

NS – Name Server Especifica o servidor de nomes para o domínio. Cada

servidor primário ou secundário deve ser declarado por este registro.

O domínio comp.ita.br tem como registro NS: comp.ita.br. IN NS ita-r.ita.br.

Se houvesse um secundário, haveria um registro comocomp.ita.br. IN NS nome2.ita.br.

A – AddressÉ o registro que relaciona IP-Nome. ita-r.ita.br. IN A 161.24.23.2

comp.ita.br. IN A 161.24.13.161 joana IN A 161.24.2.34

Page 18: Nível Aplicação - Objetivo

Nível Aplicação 18

Correio Eletrônico

A maior força da comunicação na Internet.

O Sistema de Correio iniciado na ARPANET, por um grupo de estudantes de Ciência da Computação, que tornou-se a RFC 822, sobrepujou um Sistema Internacional aprovado por empresas de telecomunicações, governo e setores da informática, o padrão X.400.

O número de mensagens enviadas eletronicamente por dia superou o correio convencional há muitos anos.

Symantec Report Finds Spam Accounts for 73 Percent of June-2011 Email

2013: ... “Spam volume continued to decrease, with 69% of all email being spam.”

Page 19: Nível Aplicação - Objetivo

Nível Aplicação 19

Arquitetura e Serviços

Sistemas de mensagem eletrônica compõem-se de 2 sub-sistemas:

1) Agente usuário: Permite interação com sistema de correio, cria o ambiente para que o usuário envie e recebe e-mail.

2) Agente de transferência de mensagem: Move a mensagem da origem ao destino; normalmente rodando em background (os chamados daemons), são processos do sistema que estão sempre disponíveis. Utilizam o protocolo

SMTP (Simple Mail Transfer Protocol).

Page 20: Nível Aplicação - Objetivo

Nível Aplicação 20

Agente Usuário

Leitor de e-mail: Thunderbird, Outlook, Gmail, etc...

Manipulam caixas de correio dos usuários, oferecendo opções amigáveis para facilitar o gerenciamento de msgs:

• Disposição de mensagens;• Respostas automáticas;• Agente de férias;• Bloco de assinatura.

SPAMs: o agente pode separar o que provavelmente é lixo;

Botnet: coleção de computadores infectados capazes de gerar Spams mais difíceis de serem detectados;

Page 21: Nível Aplicação - Objetivo

Nível Aplicação 21

Agentes de Transferência de Msg

Utilizam o protocolo Simple Mail Transfer Protocol. O protocolo de e-mail da Internet.

Simples de fato:- Cliente solicita conexão TCP na porta 25 do destino;- Servidor ouve esta porta, aceita conexão, copia as

mensagens, coloca nas mailboxes (Caixas de Correio) apropriadas;

- Se o servidor não estiver preparado para aceitar conexões, o cliente tenta mais tarde.

- Agentes de usuário apresentam aos usuários uma visão do conteúdo de suas mailboxes.

Page 22: Nível Aplicação - Objetivo

Nível Aplicação 22

Arquitetura do sistema de e-mail

Há distinção entre o envelope e o conteúdo. O envelope tem a informação suficiente para

transportar a mensagem.O conteúdo é separado entre cabeçalho e corpo.

Page 23: Nível Aplicação - Objetivo

Nível Aplicação 23

Formato de Mensagens

Inicialmente só se permitia texto no corpo, depois houve demanda por outros formatos, até se definir um padrão: MIME (Multipurpose Internet Mail Extensions) que permite enquadrar as diferentes informações transportadas.Tipos de conteúdo MIME e subtipos

Page 24: Nível Aplicação - Objetivo

Nível Aplicação 24

Entrega Final

Normalmente, o agente de usuário não está na mesma máquina que o agente de transferência, que está on-line o tempo todo. Há protocolos para a remessa final: IMAP ou POP3.

Webmail: O agente de usuário é uma interface do usuário fornecida por páginas Web. Quando o usuário acessa a página do servidor web de e-mail do provedor, se loga e o servidor encontra a caixa de correio daquele usuário, montando uma página web com o conteúdo da caixa e a envia ao navegador (provavelmente incluem JavaScripts)

Page 25: Nível Aplicação - Objetivo

Nível Aplicação 25

World Wide Web - www► Estrutura arquitetônica que permite acessar documentos

em milhões de máquinas pela Internet. Para muitos é sinônimo de Internet.

► A idéia de “teia” de documentos ligados (Berners-Lee) teve a primeira demonstração pública em 1991.

► A idéia ganhou interface gráfica (Andreessen em 1993 com o Mosaico), que em 1994 criou a Netscape;

► Criou-se o W3C – World Wide Web Consortium em 1994, padronizaram-se protocolos e ... explodiu!

► A era ponto com: período onde empresas de web passaram a valer milhões (ou bilhões) – Google, Facebook, Amazon...

Page 26: Nível Aplicação - Objetivo

Nível Aplicação 26

Modelo cliente-servidor► Cliente: solicita pedido de conexão TCP com a

máquina onde está a página e envia mensagem solicitando a página.

► Servidor: Ouve a porta TCP 80 aguardando pedidos de conexão. A conexão é estabelecida, o servidor manda a resposta com a página solicitada. A seguir libera a conexão.

Protocolo para solicitação-resposta para buscar páginas: HTTP (HyperText Transfer Protocol).

► É necessário um mecanismo para nomear e localizar páginas de forma única => URL.

Page 27: Nível Aplicação - Objetivo

Nível Aplicação 27

URL

URL – Uniforme Resource Locator – Traz a identificação da página da seguinte maneira:

http://www.comp.ita.br/institucional/departamentos.htm

Que deve ser interpretado:► http -> protocolo► www.comp.ita.br -> nome DNS da máquina onde está

o documento► institucional/departamentos.htm -> nome do caminho:

subdiretório e arquivo com a página de interesse.HTML – HyperText Markup Language – Linguagem

padronizada com a qual são escritas as páginas de maneira a serem interpretadas pelos navegadores.

Page 28: Nível Aplicação - Objetivo

Nível Aplicação 28

Passos do BrowserQuando o usuário clica em uma página desejada:1. O browser determina a URL;2. O browser pede ao DNS o IP da máquina desejada

(www.ita.br);3. DNS responde com o IP (161.24.23.160);4. O browser solicita conexão TCP na porta 80 da máquina

encontrada;5. O browser envia um GET do arquivo desejado;6. A máquina responde enviando o arquivo desejado;7. Se houver outras URLs na página, busca todas.8. O browser exibe o texto e a seguir as imagens do arquivo.9. A conexão TCP é liberada se não houver outras

solicitações em curto período.;

Page 29: Nível Aplicação - Objetivo

Nível Aplicação 29

Navegador no cliente

Se HTML, exibição direta pelo interpretador do browser.O servidor retorna o tipo da página, se for um tipo interno, sabe

como exibir a página: associa tipo a visualizador.

Plug-in: módulo de código que navegador busca e instala como extensão do navegador; Aplicação auxiliar: programa completo executado como processo separado; ex: powerPoint

Page 30: Nível Aplicação - Objetivo

Nível Aplicação 30

Páginas dinâmicas (1)

O modelo era estático: solicita-se um arquivo, servidor o retorna. Atualmente deseja-se que o conteúdo seja gerado por demanda ao invés de armazenado em disco e/ou gerado ao rodarem aplicações e serviços.

Tem acontecido que grande parte dos dados importantes está no servidor, podendo ser acessado de qualquer parte, sem precisar aplicações específicas no cliente => É necessário apenas acesso Web - apoiando a idéia de computação em nuvem.

Page 31: Nível Aplicação - Objetivo

Nível Aplicação 31

Páginas dinâmicas (2)

Ex: Serviço de exibição de mapa1) Usuário pede mapa dado endereço do local;2) Programa no servidor acessa BD, gera página solicitada;3) Retorna página ao cliente;4) Cliente quer zoom: programa no cliente interage c/ user;5) Para atender as solicitações podem ser necessários mais

dados;6) Capturam-se dados adicionais do BD;7) Retorna resposta.

Page 32: Nível Aplicação - Objetivo

Nível Aplicação 32

Páginas dinâmicas (3)Possíveis implementações no Servidor:• CGI (Common Gateway Interface) – API com interface para

que servidores Web falem com scripts (RFC 3875);• PHP (Hypertex Preprocessor) – Linguagem embute scripts na

página HTML; mais fácil e simples que CGI;• JSP (JavaServer Pages) – escrito em Java semelhante a PHP• ASP.NET (Activer Server Pages.NET) versão da Microsoft.No Cliente: quando é necessário interagir diretamente c/ user:• JavaScript –linguagem de nível muito alto, a mais popular;• VBScript – baseado em Visual Basic p/ plataforma Windows;• Applets – miniaplicativos compilados para JVM (Java Virtual

Machine), rápidos e portáveis (Sun);• ActiveX – Microsoft, os mais rápidos.

Page 33: Nível Aplicação - Objetivo

Nível Aplicação 33

HTTP► HTTP: Hypertex Transfer Protocol: protocolo que define

pedidos e respostas entre cliente/servidor. Pela simplicidade lembra o SMTP.

► Protocolo consistindo de: Conjunto de solicitações dos browsers para os

servidores Conjunto de respostas no sentido contrário.Cabeçalhos em ASCII e conteúdo em formato MIME.

► Protocolo em expansão, utilizado cada vez mais indiscriminadamente: players usam HTTP para solicitar informações dos albúns, antivírus usam HTTP para baixar atualizações, etc.

Page 34: Nível Aplicação - Objetivo

Nível Aplicação 34

Streaming de Áudio e Vídeo

A partir de 2000 áudio e vídeo na Internet cresceram, pois:• Computadores mais poderosos;• Grande largura de banda na Internet e em sua borda.

A maior parte do tráfego da Internet já é vídeo – ¼ dos usuários da Internet visitam o YouTube diariamente.

Como largura de banda está suficiente, o desafio ainda reside no atraso e jitter .

Serão abordados 3 casos de crescente dificuldade:• Streaming de mídia armazenada (ex: youtube);• Streaming de mídia ao vivo (radio via Internet e IPTV);• Conferência Interativa de áudio e vídeo (ex: skype).

Page 35: Nível Aplicação - Objetivo

Nível Aplicação 35

Streaming de Mídia Armazenada (1)

Assistir vídeos na Internet: VoD (Video on Demand)

Na resposta é enviado o arquivo do tipo MIME video/mp4O navegador salva o filme em um arquivo auxiliar e passa

o nome do arquivo ao player. Problema: grande demora inicial para exibição do filme.

Page 36: Nível Aplicação - Objetivo

Nível Aplicação 36

Streaming de Mídia Armazenada (2)

A página vinculada ao filme não é o arquivo do filme real. O Meta-arquivo contém descritores do arquivo, como ex: rtps://joes-movie/movie-0025.mp4

Player pede o filme à URL indicada: pode mostrar o filme antes de totalmente baixado (navegador não mais no loop).

Page 37: Nível Aplicação - Objetivo

Nível Aplicação 37

Técnicas utilizadas:

1) Gravar programas em disco (ex: meia hora depois) – idem streaming de mídia armazenada (quase ao vivo);

2) Enviar conteúdo ao vivo – streaming de mídia contínuo. Manter no cliente um buffer grande o suficiente, servidor envia em velocidade maior que da reprodução. atraso inicial de uns 10s, mas suaviza o jitter, .

3) Multicasting: 1 só stream para N clientes- problema: nem todos os roteadores da Internet usam multicast. Dentro de um provedor que garanta, assim por ex, IPTV dentro do escopo de uma empresa pode usar multicasting com seus clientes.

Streaming de Mídia ao Vivo (1)

Page 38: Nível Aplicação - Objetivo

Nível Aplicação 38

Com poucos clientes e áudio, unicast pode ser tolerado.

Se há banda razoável, qualquer um pode montar uma estação de rádio:

Streaming de Mídia ao Vivo (2)

Page 39: Nível Aplicação - Objetivo

Nível Aplicação 39

Início: voz na rede pública comutada 1999: voz e dados, meio a meio;2002: dados – uma grandeza a mais que voz.Então, porque a rede de dados não absorve a rede

telefônica? Voz consome pouca banda =>VoIP – Voz sobre IP.

Pehr Anderson, em projeto de aula no curso do MIT criou protótipo de voz sobre a rede de dados, tirou B na matéria mas criou a empresa NBX e em 1999 a vendeu por US$90 milhões.

Teleconferência em T Real acrescenta o requisito latência baixa aos casos anteriores. Buffer de 10s não resolve...

Teleconferência em Tempo Real (1)

Page 40: Nível Aplicação - Objetivo

Escolhas devem ser feitas para garantir a latência (em muitos

casos não resolvem, devido a atrasos de propagação fixo)

• UDP;

• Codificadores e Decodificadores rápidos;

• Mecanismos de QoS na camada de rede:

• Serviços Diferenciados; pacotes VoIP passam na frente;

• Aumentar largura de banda: impedir criação de filas.

• Tamanho de pacotes curtos: Não obstante maior overhead

dos cabeçalhos, VoIP usa pacotes curtos.

Teleconferência em Tempo Real (2)

Page 41: Nível Aplicação - Objetivo

Why real-time data can not use TCP? TCP forces the receiver application to wait for

retransmission in case of packet loss, which causes large delays.;

TCP cannot support multicast; TCP congestion control mechanisms decreases the

congestion window when packet losses are detected ("slow start"). Audio and video, on the other hand, have "natural" rates that cannot be suddenly decreased;

TCP headers are larger than a UDP header (40 bytes for TCP compared to 8 bytes for UDP);

TCP doesn’t contain the necessary timestamp and encoding information needed by the receiving application;

TCP doesn’t allow packet loss. In A/V however loss of 1-20% is tolerable;

Teleconferência em Tempo Real (3)

Page 42: Nível Aplicação - Objetivo

Nível Aplicação 42

Entrega de conteúdo

A Internet hoje, além de meio de comunicação, é distribuidora de conteúdo, o que traz requisitos específicos:• O local onde está o conteúdo não é importante (diferente

de uma chamada de voz);• Alguns sites são extremamente populares: Youtube é

responsável por até 10% do tráfego da Internet – precisa montar uma rede de distribuição;

• Além de banda larga no núcleo e bordas, desenvolver arquiteturas para reduzir os atrasos: CDN – Content Distribution Network: coleção distribuída

de máquinas de um provedor; P2P – coleção de computadores compartilha recursos.

Page 43: Nível Aplicação - Objetivo

Nível Aplicação 43

Redes de Entrega de Conteúdo

Sites muito grandes precisam outras técnicas para entregar conteúdo em escala global. Vantagens da hierarquia:• A árvore pode ser estendida em largura e profundidade;• Consulta feita próxima ao cliente: menor delay, menos

congestionamento;• Carga total da rede é minimizada;

Page 44: Nível Aplicação - Objetivo

Nível Aplicação 44

Redirecionamento de DNS

Cliente quer a página www.cdn.com/page.html. Consulta DNS, obtém IP do servidor de nomes deste domínio (da CDN), que quando consultado inspeciona o IP de quem pergunta e devolve na resposta o IP do servidor mais próximo do cliente. Para isto tem mapa de IPs. Pode incorporar política: este servidor é o mais próximo, mas está sobrecarregado, vá àquele.

Page 45: Nível Aplicação - Objetivo

Nível Aplicação 45

Redes Peer-to-peer

Saída simples para distribuir muito conteúdo: dá poder aos pequenos.• 1999: Napster primeira aplicação fechada pelos tribunais• Hoje: grande tráfego da Internet.

Computadores são peers (pares) que podem ser ora cliente, ora servidores.Redes formadas são escaláveis pois, embora esteja entrando mais um cliente, e portanto aumentando os downloads, também estão aumentando os uploads. Protocolo BitTorrent (mais popular de P2P) e algoritmos DHT (Distributed Hash Table) cuidam de descentralizar a pesquisa

Page 46: Nível Aplicação - Objetivo

Nível Aplicação 46

BitTorrent

Animação da transferência do arquivo a 7 clientes ligados a um seed.

Page 47: Nível Aplicação - Objetivo

Segurança 47

Segurança de Redes

As redes do governo federal são alvos de uma média de 2.100 incidentes por hora,  cerca de 60 são considerados mais sérios. A maioria dos ataques às redes do governo federal está relacionada à desconfiguração, vulnerabilidade de códigos e de servidores, "phishing"(fraude eletrônica para "pescar" dados como senhas) e "malwares“.

Na área de segurança é fundamental desenvolver soluções proprietárias, segundo Otávio Cunha da Silva, coordenador geral do CEPESC (Centro de Pesquisas e Desenvolvimento para a Segurança das Comunicações) da Abin (Agência Brasileira de Inteligência), evitando assim a inserção de backdoors - maneira de ganhar acesso a serviços e sistemas.

Page 48: Nível Aplicação - Objetivo

Segurança 48

Segurança de Redes

Os problemas dividem-se nas seguintes areas interligadas:

► Sigilo;► Autenticação;► Não-repúdio;► Integridade

Page 49: Nível Aplicação - Objetivo

Segurança 49

Que nível deve cuidar da segurança?

Todos os níveis podem contribuir► Físico: evitar grampos, ex. manter cabo em tubos

com gás com pressão controlada;► Enlace: criptografar cada quadro (abrir em cada

roteador? ineficiente);► Rede: firewalls controlando IPs;► Transporte: criptografar conexões fim-a-fim;► Aplicação: autenticação de usuário e não-repúdio.

Page 50: Nível Aplicação - Objetivo

Segurança 50

Criptografia (1)

Criptografia: escrita secreta.Arte historicamente usada por militares, diplomatas,

amantes...

Governos adotam seus algoritmos, muitos utilizam o Princípio de Kerckhoff: Todos os algoritmos devem ser públicos, apenas as chaves são secretas.

Ao tornar o algoritmo público, inúmeros criptólogos tentam decodificar o algoritmo; se durante cinco anos após sua publicação ninguém conseguiu ele é considerado sólido.

Manter o algoritmo secreto (segurança por obscuridade) não funciona.

Page 51: Nível Aplicação - Objetivo

Segurança 51

Criptografia (2)

A alta administração do governo brasileiro foi apresentada em 14/8/2013, a um novo sistema de proteção de comunicações intragovernamentais – na prática um token com algoritmo de criptografia para garantir a inviolabilidade das trocas de informações. A ferramenta funciona, por exemplo, para o envio de e-mails entre os ministros de Estado.

Segundo o diretor do Departamento de Segurança da Informação e Comunicações da Presidência da República: “...para proteger informações precisamos de criptografia e com algoritmo do Estado. No caso, dois algoritmos feitos em parceria com o Cepesc da Abin que já têm 12 ou 13 anos de uso, plenamente seguros, nunca quebrados.”

Page 52: Nível Aplicação - Objetivo

Segurança 52

Introdução à Criptografia

The encryption model (for a symmetric-key cipher).

Page 53: Nível Aplicação - Objetivo

Segurança 53

Blocos de Cifras

Os métodos usam substituição ou transposição.• Substituição: cada letra ou grupo de letras é

substituído por outra letra ou grupo de letras. Problema: ataques de dicionário.

• Transposição: reordenam as letras.

Blocos de Cifras: Obtém n bits de texto simples como entrada e o transformam, usando a chave, em um bloco de n bits de texto cifrado.

Page 54: Nível Aplicação - Objetivo

Segurança 54

DES- Data Encryption Standard

• Padrão adotado pelo governo americano em 1977 (até ~1997) (a) General outline.(b) Detail of one iteration. The circled + means exclusive OR.

Page 55: Nível Aplicação - Objetivo

Segurança 55

Triple DES

► Em 1979, verificou-se que a chave do DES era pequena. Para resolver este problema criou o 3DES com 3 estágios e duas chaves:

(a) Triple encryption using DES. (b) Decryption.Se k1=k2, o DES de única chave é compatível com o

3-DES

Page 56: Nível Aplicação - Objetivo

Segurança 56

AES - Advanced Encryption Standard

O NIST (National Institute of Standards and Technology) decidiu que o governo precisava de novo algoritmo. Em janeiro de 1997 patrocinou uma competição mundial com regras previamente definidas, como o tamanho da chave suportado: 128, 192 e 256 bits.

Em 2001 o NIST anunciou o algoritmo selecionado denominado Rijndael (Rijmen e Daemen – belgas) que foi adotado pelo governo americano; dominante no mundo.Uma boa implementação por software em máquina de

2Ghz deve ser capaz de alcançar uma taxa de criptografia de 700Mbps, o suficiente para codificar mais de cem vídeos de MPEG-2 em tempo real. Em hardware é mais rápido ainda.

Page 57: Nível Aplicação - Objetivo

Segurança 57

Modos de cifra

► Algumas propriedades das cifras de substituição monoalfabética podem ser usadas para anular parcialmente a cifra.

► No exemplo, o conteúdo do arquivo está todo criptografado, porém é possível inverter campos sem necessáriamente conhecer o conteúdo.

Page 58: Nível Aplicação - Objetivo

Segurança 58

Cipher Block Chaining Mode

► Cipher block chaining. (a) Encryption. (b) Decryption.

Page 59: Nível Aplicação - Objetivo

Segurança 59

Outras cifras

► Some common symmetric-key cryptographic algorithms.

Page 60: Nível Aplicação - Objetivo

Segurança 60

Algoritmos de Chave Pública - 1

O elo fraco do sistema de chave simétrica é a distribuição da chave: ambos os lados devem possuir a chave secreta compartilhada

.Criado por Diffie e Hellman em 1976, novo sistema

de criptografia tem 3 requisitos:1. D(E(P))=P2. É muito difícil deduzir D a partir de E3. E não pode ser decifrado por ataque de texto

simples escolhido.(Se intrusos experimentam E até cansar, quebram e

decifram D a partir de E...)

Page 61: Nível Aplicação - Objetivo

Segurança 61

Algoritmos de Chave Pública - 2

Neste novo sistema há uma chave para criptografia e outra para descriptografia. A chave de criptografia é pública, e a outra é privada.

(O termo chave secreta é mais utilizado para criptografia simétrica)

Alice publica EA em sua home page. Mantém DA secreto.

Bob publica EB em sua home page. Mantém DB secreto.

Quando Alice quer mandar mensagem para Bob, cifra a mensagem usando EB.

Como somente Bob tem DB só ele pode decifrar a mensagem.

Page 62: Nível Aplicação - Objetivo

Segurança 62

RSA

Descoberto por pesquisadores do MIT :Rivest, Shamir, Adleman. A principal desvantagem é exigir chaves de pelo menos 1024 bits para manter um bom nível de segurança, o que o torna lento.

RSA é lento para codificar grandes volumes de dados, portanto é utilizado para distribuição de chaves que são empregadas em algoritmos mais rápidos como AES

Page 63: Nível Aplicação - Objetivo

Segurança 63

Digital Signatures

Assinaturas visam que:► o receptor verifique a identidade do transmissor,► o transmissor não possa repudiar a mensagem,► o receptor não tenha possibilidade de forjar ele

mesmo a mensagem.

Há várias estratégias: Assinaturas de chave simétrica Assinaturas de chave pública Sumário de Mensagens

Page 64: Nível Aplicação - Objetivo

Segurança 64

Assinaturas de Chave Simétrica

► Digital signatures with Big Brother.

E se Alice negar que enviou uma mensagem?E se Trudy interceptar e repetir a mensagem? t...

Qual o problema estrutural deste esquema?

Page 65: Nível Aplicação - Objetivo

Segurança 65

Assume-se que D(E(P)) = P and E(D(P)) = P

Digital signatures using public-key cryptography.

E se Alice negar que enviou uma mensagem?Ela poderia espertamente fazer uma declaração que

foi invadida e sua chave roubada...

Assinaturas de Chave Pública

Page 66: Nível Aplicação - Objetivo

Segurança 66

Função Hash

Utilizada em esquema de autenticação que não exige criptografia da mensagem inteira (não sigilo). Utiliza função de hash unidirecional, representada por MD (Message Digest), sumário de mensagem.Propriedades importantes:1. Se P for fornecido, o cálculo de MD(P) será

muito fácil;2. Se MD(P) for fornecido, será efetivamente

impossível encontrar P.3. Dado P, ninguém pode encontrar P’ tal que

MD(P’) = MD(P).4. Uma mudança na entrada de até mesmo 1 bit

produz uma saída muito diferente.

Page 67: Nível Aplicação - Objetivo

Segurança 67

Message Digests

► Digital signatures using message digests.

O algoritmo SHA-1 e SHA-2 são os mais utilizados. O algoritmo MD5 muito popular não é mais considerado seguro, pois demonstrou-se que pode se obter P´ tal que MD(P)=MD(P´)

Page 68: Nível Aplicação - Objetivo

Segurança 68

SHA-1

► Use of SHA-1 and RSA for signing nonsecret messages.

Para verificar a assinatura Bob deve: Aplicar SHA-1 sobre M recebido => Hcalculado; Aplicar EA em DA(H) recebido => Hrecebido Comparar Hcalculado com Hrecebido.

Page 69: Nível Aplicação - Objetivo

Segurança 69

Gerenciamento de Chaves Públicas (1)

Um modo de Trudy subverter a criptografia de chave pública.

Page 70: Nível Aplicação - Objetivo

Segurança 70

Gerenciamento de Chaves Públicas (2)

Que tal um centro de distribuição de chave pública, 24 horas disponível fornecendo chaves por demanda?

Problema de escalabilidade.A solução pensou em entidades certificadores, ou CA

(Certification Authority) que não precisam estar online, mas certifica as chaves pertencentes a pessoas ou organizações.

A CA emite certificados => vincula chave pública a nome de protagonista.

Se no exemplo anterior Trudy inserir seu certificado, Alice pode conferir e verificar que não está falando com Bob.

Page 71: Nível Aplicação - Objetivo

Segurança 71

Certificado

► A possible certificate and its signed hash.

► O que acontece se Trudy pegar o seu certificado e alterar os campos do protagonista para apontar para Bob?

► O certificado pode vincular a chave a um atributo, ex: proprietário maior de 18 anos.

► Definiu-se um padrão para certificados, o X.509.

Page 72: Nível Aplicação - Objetivo

Segurança 72

Infraestrutura de Chave Pública (1)

► Que tal uma única CA emitir certificados para todo o mundo? Escalabilidade…

► Que tal uma CA central delegar autoridade a várias CAs no mundo que usam sua chave? Pontos de falha...

► Que tal uma hierarquia, cada CA regional com sua chave, mas certificadas por uma entidade central mundial? Problema do BigBrother de novo...

Soluçao: Infraestrutura de Chave Pública => hierarquia a partir de um ponto, âncora de confiança. Existem várias raízes o que evita uma única autoridade confiável no mundo. Navegadores modernos são previamente carregados com chaves públicas de mais de 100 raízes.

Page 73: Nível Aplicação - Objetivo

Segurança 73

Infraestrutura de Chave Pública (2)

► (a) A hierarchical PKI. (b) A chain of certificates.

Page 74: Nível Aplicação - Objetivo

Segurança 74

Revogação de Certificados

Certificados podem ser revogados, por algum abuso, ou se a chave foi exposta, ou até a chave da CA foi exposta, ou o prazo de validade expirou.

A CA deve emitir periodicamente uma lista dos certificados revogados, a CRL (Certificate Revocation List), com os números dos revogados.

Problema: Como saber se o certificado que você está conferindo não foi revogado? Consultar a CRL, que fica na CA ? Ou guardar as CRLs nos diretórios onde ficam os certificados, pois a CRL é assinada e não pode ser adulterada...

Page 75: Nível Aplicação - Objetivo

Segurança 75

IPSec

Havia uma batalha sobre onde deveria acontecer a criptografia, resultou no projeto IPSec com vários serviços à escolha dos usuários. Usa chave simétrica pelo desempenho.

Usa um tipo de conexão onde a chave é válida, chamada de SA Security Association onde trafega um identificador de segurança desta conexão.

Há um arcabouço para o estabelecimento de chaves: ISAKMP – Internet Security Association and Key Management Protocol. RFC 2408: “ISAKMP is not bound to any specific cryptographic algorithm, key generation technique, or security mechanism”. Flexível para acomodar diversas situações.

Page 76: Nível Aplicação - Objetivo

Segurança 76

Política de Segurança

► Uma política de segurança é um conjunto de regras e práticas que regulam como uma organização gerencia, protege e distribui suas informações e recursos. A implementação de uma política de segurança baseia-se na aplicação de regras que limitam o acesso às informações e recursos de uma determinada organização.

► Essa política define o que é, e o que não é permitido em termos de segurança, durante a operação e acesso de um sistema.

Page 77: Nível Aplicação - Objetivo

Segurança 77

Firewall

Em edifícios, os firewalls servem para impedir que o fogo se propague de uma parte do edifício para outra. Uma Internet firewall serve um fim semelhante, isto é, impede que os perigos da Internet se propaguem para a rede local da instituição

Firewall é o nome dado ao dispositivo de rede que tem por função regular o tráfego de rede entre redes distintas, impedir a transmissão de dados nocivos ou não autorizado de uma rede a outra. Devem inspecionar o tráfego de acordo com a política de segurança estabelecida.

Page 78: Nível Aplicação - Objetivo

Segurança 78

Firewall (2)

Na prática um firewall é mais parecida com o fosso e a ponte levadiça de um castelo medieval, servindo vários fins:

a) obriga a que todas as entradas se efetuem via um ponto cuidadosamente controlado e monitorado;

b) impede os atacantes de se aproximarem das defesas internas;

c) obriga a que todas as saídas se efetuem via um ponto cuidadosamente controlado e monitorado.

Page 79: Nível Aplicação - Objetivo

Segurança 79

Firewall (3)

Configuração onde o Firewall protege a rede interna

Page 80: Nível Aplicação - Objetivo

Segurança 80

Segurança em Redes sem Fio

Potencialmente mais perigosas que as redes com fio.

Padrão 802.11i, conhecido como WPA2, utiliza o AES como algoritmo de criptografia.

Cenários possíveis:► Ambiente doméstico: cada usuário entra com a

senha conhecida, através da qual se derivam chaves de sessão.

► Ambiente corporativo: há um servidor de autenticação e um protocolo que informa como o cliente e servidor interagem (EAP – Extensible Authentication Protocol)

Page 81: Nível Aplicação - Objetivo

Segurança 81

SSL (1)

Secure Sockets Layer. Constrói conexão segura entre dois soquetes, incluindo:

► Negociação de parâmetros entre cliente e servidor;

► Autenticação mútua;► Comunicação secreta;► Proteção da Integridade.

Posicionamentodo SSL napilha de protocolos.O chamadoHTTPS é oHTTP sobre SSL

Page 82: Nível Aplicação - Objetivo

Segurança 82

SSL (2)

Se o usuário não tem certificado, pode usar senha para se autenticar (fora do escopo do SSL).

Admite vários algoritmos de criptografia, dá preferência aos mais rápidos (não AES) como RC4 ou 3DES e MD5.

A padronização do SSL pelo IETF resultou no TLS (Transport Layer Security) que prefere o AES, e não interopera com o SSL. A maioria dos navegadores implementa os dois.

Page 83: Nível Aplicação - Objetivo

Segurança 83

Questões SociaisA Internet e sua tecnologia de segurança é uma área para a

qual convergem questões sociais e a política pública.Questões importantes: Até que ponto a privacidade é um

direito? Até que ponto anonimato é benéfico?Alice codifica sua mensagem com E3, depois E2, finalmente

E1. Em E1 se retira o primeiro cabeçalho e encaminha sem deixar rastros. Assim sucessivamente os respostadores no meio do caminho.