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
1
Nível Aplicação - Roteiro
1.
2.
3.
4.
5.
Introdução
DNS
Correio Eletrônico
WWW
Multimídia: Streaming de Audio e
Vídeo, Teleconferência
6. Entrega de conteúdo: CDN, P2P
Nível Aplicação
2
Introdução
►
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, ecommerce, 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.”
Nível Aplicação
3
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.
Nível Aplicação
4
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).
Nível Aplicação
5
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 nomenú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).
Nível Aplicação
6
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.
Nível Aplicação
7
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).
Nível Aplicação
8
Estrutura hierárquica - 2
Servidores de nomes Raiz são replicados: controlado pelo
ICANN (Internet Coporation for Assigned Names and
Numbers); Há 13 servidores raíz no mundo.
Nível Aplicação
9
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ãoNívelfoi
delegada a outros.
Aplicação
10
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.
Nível Aplicação
11
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.
Nível Aplicação
12
Ilustração de pesquisa DNS
Vide slide 11 com os servidores selecionados
Nível Aplicação
13
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 servidorautoridade.
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.
Nível Aplicação
14
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 aplica
Tempo_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 Internet
Tipo: Tipo do registro (descritos nas próximas telas)
Valor: Semântica depende do tipo de registro
Nível Aplicação
15
Tipos de Registros de Recursos
Existem os seguintes diferentes tipos de registros:
Nível Aplicação
16
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 como
comp.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 NívelAAplicação 161.24.2.34
17
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 tornouse 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.”
Nível Aplicação
18
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).
Nível Aplicação
19
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;
Nível Aplicação
20
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.
Nível Aplicação
21
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.
Nível Aplicação
22
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
Nível Aplicação
23
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)
Nível Aplicação
24
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...
Nível Aplicação
25
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.
Nível Aplicação
26
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.
Nível Aplicação
27
Passos do Browser
Quando 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
Nível Aplicação
28
solicitações em curto período.;
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
Aplicação
29
completo executado como Nível
processo
separado; ex: powerPoint
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.
Nível Aplicação
30
Páginas dinâmicas (2)
Ex: Serviço de exibição de mapa
1) 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;
Nível Aplicação
31
7) Retorna resposta.
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.
Nível Aplicação
32
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.Nível Aplicação
33
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 InterativaNível
deAplicação
áudio e vídeo (ex: skype).
34
Streaming de Mídia Armazenada (1)
Assistir vídeos na Internet: VoD (Video on Demand)
Na resposta é enviado o arquivo do tipo MIME video/mp4
O 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.
Nível Aplicação
35
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
Nível Aplicação
antes de totalmente baixado
(navegador não mais no loop).36
Streaming de Mídia ao Vivo (1)
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.
Nível Aplicação
37
Streaming de Mídia ao Vivo (2)
Com poucos clientes e áudio, unicast pode ser tolerado.
Se há banda razoável, qualquer um pode montar uma
estação de rádio:
Nível Aplicação
38
Teleconferência em Tempo Real (1)
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.NívelBuffer
de 10s não resolve...
Aplicação
39
Teleconferência em Tempo Real (2)
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 (3)
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 120% is tolerable;
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.
Nível Aplicação
42
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;
Nível Aplicação
43
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.
Nível Aplicação
44
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
Nível Aplicação
45
BitTorrent
Animação da transferência do arquivo a 7 clientes ligados a um
seed.
Nível Aplicação
46
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
Segurança
47
sistemas.
Segurança de Redes
Os problemas dividem-se nas seguintes areas interligadas:
Sigilo;
► Autenticação;
► Não-repúdio;
► Integridade
►
Segurança
48
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.
Segurança
49
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.
Segurança
50
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.”
Segurança
51
Introdução à Criptografia
The encryption model (for a symmetric-key cipher).
Segurança
52
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.
Segurança
53
DES- Data Encryption Standard
• Padrão adotado pelo governo americano em 1977 (até ~1997)
(a) General outline.
Segurança
54
(b) Detail of one iteration. The circled + means exclusive OR.
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
Segurança
55
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.
Segurança
56
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.
Segurança
57
Cipher Block Chaining Mode
►
Cipher block chaining. (a) Encryption. (b) Decryption.
Segurança
58
Outras cifras
►
Some common symmetric-key cryptographic algorithms.
Segurança
59
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))=P
2.
É muito difícil deduzir D a partir de E
3.
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...)
Segurança
60
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.
Segurança
61
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
Segurança
62
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
Segurança
63
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?
Segurança
64
Assinaturas de Chave Pública
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
Segurança
invadida e sua chave roubada...
65
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.
Segurança
66
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´)
Segurança
67
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 comSegurança
Hrecebido.
68
Gerenciamento de Chaves Públicas (1)
Um modo de Trudy subverter a criptografia de chave
pública.
Segurança
69
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
Segurança
pode conferir e verificar que
não está falando com Bob. 70
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.
Segurança
Definiu-se um padrão para certificados, o X.509.
►
►
71
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
Segurança
carregados com chaves públicas
de mais de 100 raízes.
72
Infraestrutura de Chave Pública (2)
►
(a) A hierarchical PKI. (b) A chain of certificates.
Segurança
73
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...
Segurança
74
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
Segurança
75
situações.
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.
Segurança
76
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.
Segurança
77
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.
Segurança
78
Firewall (3)
Configuração onde o Firewall protege a rede interna
Segurança
79
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)
Segurança
80
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.
Posicionamento
do SSL na
pilha de
protocolos.
O chamado
HTTPS é o
HTTP sobre SSL
Segurança
81
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.
Segurança
82
Questões Sociais
A 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.
Segurança
83
Descargar

Fundamentos de Redes