Você está na página 1de 56

Camadas de

Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco Camadas de Sessão, Apresentação e Aplicação
Modelo de Redes de Computadores
Referência
ISO/OSI

Aplicações

Arquitetura Profa. Kalinka Castelo Branco


das
Aplicações
Universidade de São Paulo
Processos em
Comunicação

Protocolos da Junho de 2020


Camada de
Sessão

Protocolos da
Camada de
Apresentação

1 / 42
Roteiro

Camadas de
Sessão,
Apresentação
e Aplicação
1 Modelo de Referência ISO/OSI
Profa.
Kalinka
Branco
2 Aplicações
Modelo de
Referência
ISO/OSI 3 Arquitetura das Aplicações
Aplicações

Arquitetura
das
4 Processos em Comunicação
Aplicações

Processos em
Comunicação 5 Protocolos da Camada de Sessão
Protocolos da
Camada de
Sessão 6 Protocolos da Camada de Apresentação
Protocolos da
Camada de
Apresentação

2 / 42
Camadas Superiores do Modelo de Referência
ISO/OSI
Camadas de
Sessão,
Apresentação Camada de Sessão
e Aplicação

Profa.
Cuida dos processos que controlam a transferência dos dados,
Kalinka
Branco
cuidando dos erros e administrando registros das transmissões.

Modelo de
• Serviços:
Referência
• Controle de diálogo (quem OSI
ISO/OSI
deve transmitir em cada
Aplicações 7 Aplicação
momento);
Arquitetura 6 Apresentação
das • Gerenciamento de tokens
Aplicações
(impede operações crı́ticas de 5 Sessão
Processos em
Comunicação serem executadas ao mesmo 4 Transporte

Protocolos da tempo); 3 Rede


Camada de • Sincronização (permite que 2 Enlace de dados
Sessão
uma transmissão continue do 1 Física
Protocolos da
Camada de ponto onde parou).
Apresentação

3 / 42
Camadas Superiores do Modelo de Referência
ISO/OSI
Camadas de
Sessão,
Apresentação Camada de Apresentação
e Aplicação

Profa.
Serve como o tradutor de dados para a rede: está ligada à
Kalinka
Branco
semântica e à sintaxe das informações transmitidas.
• Gerencia estruturas de dados
Modelo de
Referência abstratas: OSI
ISO/OSI
• Para que dois computadores
Aplicações 7 Aplicação
possam se comunicar, as
Arquitetura
estruturas de dados a serem 6 Apresentação
das
Aplicações trocados podem ser definidas 5 Sessão
Processos em
Comunicação
de maneira abstrata, com uma 4 Transporte
codificação padrão que será 3 Rede
Protocolos da
Camada de usada durante a conexão.
Sessão 2 Enlace de dados

Protocolos da
• É responsável pela compressão e 1 Física
Camada de
Apresentação
criptografia dos dados.
4 / 42
Camadas Superiores do Modelo de Referência
ISO/OSI
Camadas de
Sessão,
Apresentação Camada de Aplicação
e Aplicação

Profa.
Engloba protocolos que realizam a comunicação fim-a-fim entre
Kalinka
Branco
aplicações/processos de diferentes computadores.
• Contém muitos protocolos
Modelo de
Referência comumente necessários pelos OSI
ISO/OSI
usuários;
Aplicações 7 Aplicação
Arquitetura • Frequentemente nos referimos às
6 Apresentação
das camadas de Sessão,
Aplicações 5 Sessão
Processos em
Apresentação e Aplicação
Comunicação simplesmente como Camada de 4 Transporte

Protocolos da Aplicação: 3 Rede


Camada de
Sessão • As funções dessas três 2 Enlace de dados

Protocolos da camadas são implementadas de 1 Física


Camada de
Apresentação
modo bem integrado.

5 / 42
Algumas aplicações de rede

Camadas de
Sessão,
Apresentação
e Aplicação
• E-mail;
Profa. • Web;
Kalinka
Branco • Mensagens instantâneas;
Modelo de • Login remoto;
Referência
ISO/OSI • Compartilhamento de arquivos P2P;
Aplicações
• Jogos de rede multi-usuários;
Arquitetura
das
Aplicações
• Vı́deo-clipes;
Processos em • Voz sobre IP;
Comunicação

Protocolos da • Videoconferência em tempo real;


Camada de
Sessão • Computação paralela em larga escala;
Protocolos da
Camada de
• Etc.
Apresentação

6 / 42
Criando uma aplicação de rede

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka • Programas que
Branco
executam em
Modelo de diferentes sistemas
Referência
ISO/OSI finais e
Aplicações comunicam-se
Arquitetura através da rede
das
Aplicações • Ex.: servidor
Processos em Web se
Comunicação comunica com o
Protocolos da navegador;
Camada de
Sessão

Protocolos da
Camada de
Apresentação

7 / 42
Criando uma aplicação de rede

Camadas de
Sessão,
Apresentação
e Aplicação
• Programas não
Profa.
Kalinka
relacionados ao
Branco núcleo da rede:
Modelo de • Dispositivos do
Referência
ISO/OSI
núcleo da rede
não executam
Aplicações
aplicações de
Arquitetura
das usuários.
Aplicações
• Aplicações nos
Processos em
Comunicação
sistemas finais
Protocolos da
permitem rápido
Camada de desenvolvimento
Sessão
e disseminação.
Protocolos da
Camada de
Apresentação

8 / 42
Arquiteturas das aplicações

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco

Modelo de
Referência
• Cliente-servidor;
ISO/OSI
• Peer-to-peer (P2P);
Aplicações

Arquitetura
• Hı́brido de cliente-servidor e P2P.
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

9 / 42
Arquitetura cliente-servidor

Camadas de
Sessão,
• Servidor:
Apresentação
e Aplicação
• Sempre ligado;
• Endereço IP
Profa.
Kalinka permanente;
Branco
• Escalabilidade.
Modelo de
Referência
• Cliente:
ISO/OSI • Comunica-se com o
Aplicações servidor;
Arquitetura • Pode estar
das
Aplicações conectado
Processos em intermitentemente;
Comunicação
• Pode ter endereços
Protocolos da
Camada de
IP dinâmicos;
Sessão • Não se comunica
Protocolos da diretamente com
Camada de
Apresentação outros clientes.
10 / 42
Arquitetura P2P pura

Camadas de
Sessão, • Não há servidor sempre
Apresentação
e Aplicação ligado;
Profa.
Kalinka
• Sistemas finais
Branco arbitrários se
Modelo de comunicam
Referência
ISO/OSI diretamente;
Aplicações • Pares estão conectados
Arquitetura
das
intermitentemente e
Aplicações mudam endereços IP;
Processos em
Comunicação • Exemplo: Gnutella;
Protocolos da
Camada de
• Altamente escalável;
Sessão
• Porém, difı́cil de
Protocolos da
Camada de gerenciar.
Apresentação

11 / 42
Arquitetura hı́brida de cliente-servidor e P2P

Camadas de
Sessão,
Apresentação
e Aplicação • Napster:
Profa. • Transferência de arquivos P2P;
Kalinka
Branco • Busca de arquivos centralizada:
• Pares registram conteúdo no servidor central;
Modelo de
Referência • Pares consultam o mesmo servidor central para localizar
ISO/OSI conteúdo.
Aplicações
• Instant messaging :
Arquitetura
das • Conversa entre usuários P2P;
Aplicações
• Localização e detecção de presença centralizadas:
Processos em
Comunicação
• Usuários registram o seu endereço IP junto ao servidor
central quando ficam online;
Protocolos da
Camada de • Usuários consultam o servidor central para encontrar
Sessão
endereços IP dos contatos.
Protocolos da
Camada de
Apresentação

12 / 42
Processos em comunicação

Camadas de
Sessão,
Apresentação
e Aplicação
• Processo: programa que executa num hospedeiro
Profa.
• Processos no mesmo hospedeiro se comunicam usando
Kalinka comunicação entre processos definida pelo sistema
Branco
operacional (SO);
Modelo de • Processos em hospedeiros distintos se comunicam
Referência
ISO/OSI trocando mensagens através da rede.
Aplicações

Arquitetura Processos
das
Aplicações • Processo cliente: processo que inicia a comunicação;
Processos em
Comunicação • Processo servidor: processo que espera para ser contatado.
Protocolos da
Camada de
Sessão • Nota: aplicações com arquiteturas P2P possuem processos
Protocolos da clientes e processos servidores.
Camada de
Apresentação

13 / 42
Sockets

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco • Os processos enviam/recebem mensagens para/dos seus
sockets;
Modelo de
Referência • Um socket é análogo a uma porta:
ISO/OSI
• Processo transmissor envia a mensagem através da porta;
Aplicações
• O processo transmissor assume a existência da
Arquitetura
das infraestrutura de transporte no outro lado da porta que faz
Aplicações
com que a mensagem chegue ao socket do processo
Processos em
Comunicação receptor.
Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

14 / 42
Sockets

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco

Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

15 / 42
Endereçando os processos

Camadas de
Sessão,
Apresentação
e Aplicação • Para que um processo receba mensagens, ele deve possuir
Profa. um identificador;
Kalinka
Branco • Cada host possui um endereço IP único de 32 bits;
Modelo de • Pergunta: o endereço IP do host no qual o processo está
Referência
ISO/OSI sendo executado é suficiente para identificar o processo?
Aplicações • Resposta: não, muitos processos podem estar executando
Arquitetura
das
no mesmo host;
Aplicações
• O identificador inclui tanto o endereço IP quanto os
Processos em
Comunicação números das portas associadas com o processo no host;
Protocolos da • Exemplo de números de portas:
Camada de
Sessão • Servidor HTTP: 80;
Protocolos da • Servidor de E-mail: 25.
Camada de
Apresentação

16 / 42
Protocolos da Camada de Sessão

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco

Modelo de
Referência
• RPC (Remote Procedure Call) ou Chamada de
ISO/OSI
Procedimento Remoto;
Aplicações
• RTP (Real-time Transport Protocol).
Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

17 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação
• O Remote Procedure Call (RPC) permite que clientes
Profa.
Kalinka executem procedimentos em hosts remotos de forma que
Branco
os detalhes da rede fiquem ocultos para o programador;
Modelo de • Funcionamento:
Referência
ISO/OSI 1 Processo no host 1 chama um procedimento no host 2 e
Aplicações fica suspenso;
Arquitetura 2 Processo no host 2 recebe a chamada de procedimento
das
Aplicações remoto e executa o procedimento;
Processos em 3 Quanto finalizada a execução, processo no host 2 envia a
Comunicação
resposta para o host 1;
Protocolos da 4 Host 1 recebe a resposta como retorno do procedimento e
Camada de
Sessão retorna sua execução normalmente;
Protocolos da
Camada de
Apresentação

18 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação

Profa. • Cliente é o processo que solicita a chamada de


Kalinka
Branco
procedimento remoto:
• Deve estar vinculado a um procedimento de biblioteca,
Modelo de
Referência chamado stub do cliente.
ISO/OSI
• Servidor é o processo que recebe a chamada e executa o
Aplicações
procedimento remoto:
Arquitetura
das • Deve estar vinculado a um procedimento de biblioteca,
Aplicações
chamado stub do servidor ou skeleton.
Processos em
Comunicação • Os stubs são os procedimentos que utilizam as primitivas
Protocolos da
Camada de
de sockets para as trocas de mensagens.
Sessão

Protocolos da
Camada de
Apresentação

19 / 42
RPC

Camadas de
Sessão,
Apresentação
1 Cliente realiza a chamada de procedimento remoto
e Aplicação (repassado para seu stub). Esse processo é visto como
Profa.
Kalinka
uma chamada de procedimento local para o programador.
Branco O stub cliente empacota os parâmetros, processo
Modelo de conhecido como empacotamento ou marshaling.
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão,
Apresentação 2 Envio da mensagem que contém a chamada do
e Aplicação
procedimento e os parâmetros como uma sequência de
Profa.
Kalinka bytes (passaram também por serialização) por meio de
Branco
sockets.
Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação 3 Envio da mensagem ao host remoto pelo protocolo de
Profa. Camada de Transporte, que pode ser orientado à conexão
Kalinka
Branco ou não.
Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação 4 O stub do servidor (skeleton) recebe a mensagem por um
Profa. socket, desempacota os parâmetros e converte para o
Kalinka
Branco
formato especı́fico de máquina.
Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação 5 O stub do servidor chama a função do procedimento
Profa. remoto disponı́vel no servidor passando os argumentos
Kalinka
Branco
definidos pelo cliente.
Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação 6 Quando finaliza a execução da função, os resultados
Profa.
Kalinka
retornam para o stub do servidor.
Branco

Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação 7 O stub do servidor serializa os resultados e realiza a
Profa.
Kalinka
chamada de primitiva do socket.
Branco

Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação 8 Os resultados são enviados como uma sequência de bytes
Profa.
Kalinka
pela rede para o cliente.
Branco

Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
9 O stub do cliente recebe os resultados do seu socket.
Kalinka
Branco

Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação
10 Resultados são remontados e retornados para a função do
Profa.
Kalinka
cliente.
Branco

Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

20 / 42
RPC

Camadas de
Sessão, • Linguagens mais populares não são adaptadas para
Apresentação
e Aplicação chamadas de procedimento remoto, logo, é utilizado um
Profa. compilador especı́fico para gerar códigos:
Kalinka
Branco • O compilador utiliza uma definição da interface da
chamada remota (Interface Definition Language ou IDL)
Modelo de
Referência
como entrada e produz os stubs de cliente e servidor.
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

21 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação

Profa. • Considerado um protocolo da Camada de Sessão e da


Kalinka
Branco Camada de Apresentação devido à reformatação dos
parâmetros e dos resultados.
Modelo de
Referência
ISO/OSI
• Sistemas de RPC: ONC RPC ou Sun RPC, CORBA e Java
Aplicações RMI.
Arquitetura • Vantagens:
das
Aplicações • Facilidade para a programação de aplicações distribuı́das
Processos em por esconder detalhes de rede do programador;
Comunicação
• Permite o uso da sintaxe tradicional de chamada de
Protocolos da
Camada de
procedimentos.
Sessão

Protocolos da
Camada de
Apresentação

22 / 42
RPC

Camadas de
Sessão,
Apresentação
e Aplicação
• Desvantagens:
Profa.
Kalinka • Dificuldade para a passagem de parâmetros por referência,
Branco
que resulta em restrições no formato dos procedimentos;
Modelo de • Não permite o uso de variáveis globais;
Referência
ISO/OSI
• Necessário conhecer o servidor e as funções remotas
Aplicações
previamente;
Arquitetura
• Desempenho inferior às chamadas locais, já que existe o
das overhead do empacotamento e do tempo de transmissão
Aplicações
dos dados.
Processos em
Comunicação • Problemas de segurança, já que os procedimentos podem
Protocolos da acessar espaço de memória não permitido ou pode haver
Camada de interceptação dos dados.
Sessão

Protocolos da
Camada de
Apresentação

23 / 42
RTP

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco
• O Real-time Transport Protocol (RTP) fornece serviço de
transporte de streamings para aplicações multimı́dias:
Modelo de
Referência • Identificação do payload;
ISO/OSI • Numeração de sequência;
Aplicações • Timbre de hora (timestamp);
Arquitetura • Monitoramento da rede e gerenciamento de QoS (Quality
das
Aplicações of Service).
Processos em
Comunicação
• Utiliza o UDP para a transmissão de seus pacotes.
Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

24 / 42
RTP

Camadas de
Sessão, • PT (Payload type): identifica o formato do payload, como
Apresentação
e Aplicação MP3;
Profa. • Número de sequência (Sequence Number ): permite a
Kalinka
Branco ordenação dos pacotes e a detecção de pacotes perdidos;
• Timestamp: timbre de hora.
Modelo de
Referência • SSRC: identificador da origem, permitindo multiplexar e
ISO/OSI

Aplicações
demultiplexar vários fluxos.
Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

25 / 42
RTP

Camadas de
Sessão,
Apresentação • Uso de perfis para codificar e decodificar diferentes
e Aplicação
formatos de áudio e vı́deo;
Profa.
Kalinka
Branco
• O número de sequência permite a identificação de perda
de pacotes e sua ordenação. Caso um pacote seja perdido,
Modelo de
Referência a aplicação pode executar uma aproximação por
ISO/OSI
interpolação.
Aplicações

Arquitetura
• Por meio do timestamp é possı́vel detectar a diferença de
das
Aplicações
tempo entre os pacotes, reproduzir cada amostra após um
Processos em
tempo correto e executar bufferizações.
Comunicação
• Outra vantagem do uso do timestamp é a sincronização
Protocolos da
Camada de de vários fluxos, como em uma transmissão de TV digital
Sessão
com um fluxo de vı́deo e dois fluxos de áudio com dois
Protocolos da
Camada de idiomas diferentes.
Apresentação

26 / 42
RTP

Camadas de
Sessão,
Apresentação
e Aplicação
• Geralmente associado ao RTP, é usado o Real-Time
Profa.
Kalinka Control Protocol (RTCP) que monitora a rede, oferece
Branco
serviços de sincronização e de interface para o usuário.
Modelo de
Referência
• Com informações a respeito da qualidade da rede, como
ISO/OSI latência (atraso) e jitter (variação do atraso), é possı́vel
Aplicações
que os algoritmos de codificação aumentem sua taxa de
Arquitetura
das dados, resultando em melhor qualidade. E vice-versa,
Aplicações
reduzindo sua taxa no caso de problemas na rede.
Processos em
Comunicação • Esse protocolo pode também executar tarefas de
Protocolos da
Camada de
sincronização entre diferentes fontes de fluxo e nomear
Sessão essas fontes para serem mostradas para o usuário.
Protocolos da
Camada de
Apresentação

27 / 42
Protocolos da Camada de Apresentação

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco

Modelo de • MIME (Multipurpose Internet Mail Extensions);


Referência
ISO/OSI
• SSL (Secure Sockets Layer );
Aplicações

Arquitetura
• TLS (Transport Layer Security ).
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

28 / 42
MIME

Camadas de
Sessão,
Apresentação
e Aplicação
• O Multipurpose Internet Mail Extensions (MIME) é um
Profa.
Kalinka
padrão criado para permitir a inserção de componentes que
Branco não fossem caracteres ASCII em e-mails, por exemplo:
Modelo de
• Outros caracteres além do ASCII (como de outros
Referência
ISO/OSI
alfabetos);
• Anexos binários, como arquivos de áudio, imagens e vı́deos;
Aplicações
• Textos enriquecidos com diferentes formatações de fontes,
Arquitetura
das cores, entre outros;
Aplicações
• Em e-mails, é geralmente utilizado com o SMTP
Processos em
Comunicação (protocolo de e-mails), mas também é usado com HTTP:
Protocolos da • De acordo com o tipo do conteúdo, é possı́vel especificar
Camada de
Sessão aplicativos de visualização corretos;
Protocolos da
Camada de
Apresentação

29 / 42
MIME

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka • Cabeçalho MIME:
Branco
• MIME-Version: identifica a versão do MIME. Atualmente
Modelo de é usada a versão 1.0.
Referência
ISO/OSI • Content-Type: descreve o tipo e subtipos de dados.
Aplicações Exemplos: text/plain, image/jpeg, audio/mp3,
Arquitetura video/mp4, e application/msword.
das
Aplicações
• Content-Transfer-Encoding: define a codificação usada.
• Content-ID: identificador único.
Processos em
Comunicação • Content-Description: descrição do conteúdo.
Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

30 / 42
MIME

Camadas de
Sessão,
Exemplo:
Apresentação MIME−V e r s i o n : 1 . 0
e Aplicação
C o n t e n t −Type : m u l t i p a r t / a l t e r n a t i v e ;
Profa. b o u n d a r y =‘‘−− b o u n d a r y t e x t p r e v i o u s d e f i n e d −−’’
Kalinka
Branco
−−b o u n d a r y t e x t p r e v i o u s d e f i n e d −−
Modelo de
C o n t e n t −Type : t e x t / e n r i c h e d ;
Referência c h a r s e t = ‘ ‘ u t f −8 ’ ’
ISO/OSI C o n t e n t −T r a n s f e r −E n c o d i n g : qu ote d −p r i n t a b l e
Aplicações
T h i s i s t h e body t e x t o f a <b o l d>s a m p l e m e s s a g e</ b o l d> .
Arquitetura
das
Aplicações −−b o u n d a r y t e x t p r e v i o u s d e f i n e d −−
Processos em C o n t e n t −Type : m e s s a g e / e x t e r n a l −body ;
Comunicação a c c e s s t y p e = ‘ ‘ anon−f t p ’ ’ ;
Protocolos da
s i t e = ‘ ‘ b i c y c l e . abcd . com ’ ’ ;
Camada de d i r e c t o r y = ‘ ‘ pub ’ ’ ;
Sessão name = ‘ ‘ b i r t h d a y . snd ’ ’
Protocolos da C o n t e n t −Type : a u d i o / b a s i c
Camada de C o n t e n t −T r a n s f e r −E n c o d i n g : b a s e 6 4
Apresentação

−−b o u n d a r y t e x t p r e v i o u s d e f i n e d −−
31 / 42
SSL

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco
• O Secure Sockets Layer (SSL) é um protocolo
criptográfico para a comunicação segura com o protocolo
Modelo de
Referência
TCP:
ISO/OSI • Muito usado com o protocolo HTTP, chamando-se de
Aplicações HTTPS;
Arquitetura • Pode ser usado para qualquer aplicação sobre TCP.
das
Aplicações • O SSL provê uma API com sockets, semelhante à API do
Processos em
Comunicação TCP, disponibilizada por bibliotecas.
Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

32 / 42
SSL

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
• Principais propriedades de uma comunicação segura:
Branco
1 Confidencialidade: proteção contra descoberta ou
Modelo de interceptação não autorizada;
Referência 2 Integridade: garantia de que não há modificação ou
ISO/OSI
destruição da informação transmitida;
Aplicações
3 Disponibilidade: assegura o acesso e uso rápido e
Arquitetura
das confiável da informação;
Aplicações
4 Autenticação: valida a identidade do usuário/entidade;
Processos em
Comunicação
5 Não-repúdio: impede que seja negada a autoria ou

Protocolos da
ocorrência de um envio ou recepção de uma informação.
Camada de
Sessão

Protocolos da
Camada de
Apresentação

33 / 42
SSL

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco Criptografia
Modelo de Conjunto de técnicas que permitem tornar incompreensı́vel uma
Referência
ISO/OSI mensagem originalmente escrita com clareza, de forma a
Aplicações permitir que apenas o destinatário a decifre e a compreenda.
Arquitetura
das
Aplicações • SSL utiliza diversos algoritmos de criptografia para
Processos em garantir confidencialidade e autenticação.
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

34 / 42
SSL

Camadas de
Sessão,
Apresentação
e Aplicação
• Criptografia simétrica:
Profa.
Kalinka
Branco

Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da • Exemplos: AES, DES, 3DES.


Camada de
Apresentação

35 / 42
SSL

Camadas de
Sessão,
Apresentação • Criptografia assimétrica:
e Aplicação

Profa.
Kalinka
Branco

Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de • Exemplos: RSA e ECC.
Apresentação

36 / 42
SSL

Camadas de
Sessão,
Apresentação
e Aplicação Função hash
Profa. Uma função que aceita uma mensagem de tamanho variável
Kalinka
Branco como entrada e produz um valor de hash de tamanho fixo.
Modelo de
Referência
ISO/OSI
Função de hash criptográfica
Aplicações É um algoritmo para o qual é computacionalmente inviável
Arquitetura
das
descobrir um objeto de dados que seja mapeado para um
Aplicações resultado de hash pré-especificado ou dois objetos de dados que
Processos em
Comunicação
sejam mapeados para o mesmo resultado de hash.
Protocolos da
Camada de
Sessão
• SSL utiliza funções de hash criptográficas para garantir a
Protocolos da integridade das mensagens.
Camada de
Apresentação

37 / 42
SSL

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka
Branco • Possui três fases:
• Apresentação (handshake): estabelecimento de algoritmos
Modelo de
Referência de criptografia e troca de chaves;
ISO/OSI
• Derivação de chave: deriva-se chaves de criptografia e de
Aplicações
Código de Autenticação de Mensagem (Message
Arquitetura
das
Authentication Code ou MAC);
Aplicações • Transferência de dados: troca de mensagens de forma
Processos em segura.
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

38 / 42
SSL

Camadas de
Sessão, • O MAC é o resultado da função hash criptográfica para a
Apresentação
e Aplicação concatenação da mensagem com uma chave de
Profa. autenticação e é sempre enviado com cada mensagem. No
Kalinka
Branco SSL, o MAC também contém o número de sequência dos
pacotes.
Modelo de
Referência
ISO/OSI

Aplicações

Arquitetura
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

39 / 42
SSL

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
• Pacotes SSL:
Kalinka • Tipo: indica se é uma mensagem de apresentação ou de
Branco
dado;
Modelo de • Versão: versão do protocolo sendo usada;
Referência
ISO/OSI • Comprimento: comprimento é usado para extrair os dados;
Aplicações • Dados e MAC são criptografados com a chave de sessão
Arquitetura EB .
das
Aplicações

Processos em
Comunicação

Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

40 / 42
SSL

Camadas de
Sessão,
• Apresentação:
Apresentação 1 Cliente envia uma lista de algoritmos de criptografia que
e Aplicação
ele suporta e um nonce (Number Once, um número que só
Profa.
Kalinka é usado pelo protocolo uma única vez);
Branco 2 Servidor escolhe um algoritmo simétrico, um algoritmo
Modelo de
assimétrico e uma função hash criptográfica da lista do
Referência cliente e responde com suas escolhas, um certificado e um
ISO/OSI
nonce;
Aplicações
3 Cliente verifica o certificado, extrai a chave pública do
Arquitetura
das servidor, gera um segredo pré-mestre e o envia
Aplicações
criptografado com a chave pública do servidor;
Processos em 4 Acontece a fase de derivação de chave, onde são geradas
Comunicação

Protocolos da
as chaves de criptografia e de MAC a partir do segredo
Camada de pré-mestre tanto pelo cliente quanto pelo servidor;
Sessão
5 Cliente envia o MAC de todas as mensagens de
Protocolos da
Camada de apresentação;
Apresentação 6 Servidor envia o MAC de todas as mensagens de
apresentação; 41 / 42
SSL

Camadas de
Sessão,
• Apresentação:
Apresentação 1 Cliente envia uma lista de algoritmos de criptografia que
e Aplicação
ele suporta e um nonce (Number Once, um número que só
Profa.
Kalinka é usado pelo protocolo uma única vez);
Branco 2 Servidor escolhe um algoritmo simétrico, um algoritmo
Modelo de
assimétrico e uma função hash criptográfica da lista do
Referência cliente e responde com suas escolhas, um certificado e um
ISO/OSI
nonce;
Aplicações
3 Cliente verifica o certificado, extrai a chave pública do
Arquitetura
das servidor, gera um segredo pré-mestre e o envia
Aplicações
criptografado com a chave pública do servidor;
Processos em 4 Acontece a fase de derivação de chave, onde são geradas
Comunicação

Protocolos da
as chaves de criptografia e de MAC a partir do segredo
Camada de pré-mestre tanto pelo cliente quanto pelo servidor;
Sessão
5 Cliente envia o MAC de todas as mensagens de
Protocolos da
Camada de apresentação;
Apresentação 6 Servidor envia o MAC de todas as mensagens de
apresentação; 41 / 42
SSL

Camadas de
Sessão,
• Apresentação:
Apresentação 1 Cliente envia uma lista de algoritmos de criptografia que
e Aplicação
ele suporta e um nonce (Number Once, um número que só
Profa.
Kalinka é usado pelo protocolo uma única vez);
Branco 2 Servidor escolhe um algoritmo simétrico, um algoritmo
Modelo de
assimétrico e uma função hash criptográfica da lista do
Referência cliente e responde com suas escolhas, um certificado e um
ISO/OSI
nonce;
Aplicações
3 Cliente verifica o certificado, extrai a chave pública do
Arquitetura
das servidor, gera um segredo pré-mestre e o envia
Aplicações
criptografado com a chave pública do servidor;
Processos em 4 Acontece a fase de derivação de chave, onde são geradas
Comunicação

Protocolos da
as chaves de criptografia e de MAC a partir do segredo
Camada de pré-mestre tanto pelo cliente quanto pelo servidor;
Sessão
5 Cliente envia o MAC de todas as mensagens de
Protocolos da
Camada de apresentação;
Apresentação 6 Servidor envia o MAC de todas as mensagens de
apresentação; 41 / 42
SSL

Camadas de
Sessão,
• Apresentação:
Apresentação 1 Cliente envia uma lista de algoritmos de criptografia que
e Aplicação
ele suporta e um nonce (Number Once, um número que só
Profa.
Kalinka é usado pelo protocolo uma única vez);
Branco 2 Servidor escolhe um algoritmo simétrico, um algoritmo
Modelo de
assimétrico e uma função hash criptográfica da lista do
Referência cliente e responde com suas escolhas, um certificado e um
ISO/OSI
nonce;
Aplicações
3 Cliente verifica o certificado, extrai a chave pública do
Arquitetura
das servidor, gera um segredo pré-mestre e o envia
Aplicações
criptografado com a chave pública do servidor;
Processos em 4 Acontece a fase de derivação de chave, onde são geradas
Comunicação

Protocolos da
as chaves de criptografia e de MAC a partir do segredo
Camada de pré-mestre tanto pelo cliente quanto pelo servidor;
Sessão
5 Cliente envia o MAC de todas as mensagens de
Protocolos da
Camada de apresentação;
Apresentação 6 Servidor envia o MAC de todas as mensagens de
apresentação; 41 / 42
SSL

Camadas de
Sessão,
• Apresentação:
Apresentação 1 Cliente envia uma lista de algoritmos de criptografia que
e Aplicação
ele suporta e um nonce (Number Once, um número que só
Profa.
Kalinka é usado pelo protocolo uma única vez);
Branco 2 Servidor escolhe um algoritmo simétrico, um algoritmo
Modelo de
assimétrico e uma função hash criptográfica da lista do
Referência cliente e responde com suas escolhas, um certificado e um
ISO/OSI
nonce;
Aplicações
3 Cliente verifica o certificado, extrai a chave pública do
Arquitetura
das servidor, gera um segredo pré-mestre e o envia
Aplicações
criptografado com a chave pública do servidor;
Processos em 4 Acontece a fase de derivação de chave, onde são geradas
Comunicação

Protocolos da
as chaves de criptografia e de MAC a partir do segredo
Camada de pré-mestre tanto pelo cliente quanto pelo servidor;
Sessão
5 Cliente envia o MAC de todas as mensagens de
Protocolos da
Camada de apresentação;
Apresentação 6 Servidor envia o MAC de todas as mensagens de
apresentação; 41 / 42
SSL

Camadas de
Sessão,
• Apresentação:
Apresentação 1 Cliente envia uma lista de algoritmos de criptografia que
e Aplicação
ele suporta e um nonce (Number Once, um número que só
Profa.
Kalinka é usado pelo protocolo uma única vez);
Branco 2 Servidor escolhe um algoritmo simétrico, um algoritmo
Modelo de
assimétrico e uma função hash criptográfica da lista do
Referência cliente e responde com suas escolhas, um certificado e um
ISO/OSI
nonce;
Aplicações
3 Cliente verifica o certificado, extrai a chave pública do
Arquitetura
das servidor, gera um segredo pré-mestre e o envia
Aplicações
criptografado com a chave pública do servidor;
Processos em 4 Acontece a fase de derivação de chave, onde são geradas
Comunicação

Protocolos da
as chaves de criptografia e de MAC a partir do segredo
Camada de pré-mestre tanto pelo cliente quanto pelo servidor;
Sessão
5 Cliente envia o MAC de todas as mensagens de
Protocolos da
Camada de apresentação;
Apresentação 6 Servidor envia o MAC de todas as mensagens de
apresentação; 41 / 42
TLS

Camadas de
Sessão,
Apresentação
e Aplicação

Profa.
Kalinka • O Transport Layer Security (TLS) é o sucessor do SSL e o
Branco
protocolo de segurança recomendado atualmente, já que
Modelo de
Referência
foram encontradas vulnerabilidades nas versões do SSL;
ISO/OSI
• O TLS utiliza algoritmos de criptografia e de MAC mais
Aplicações
recentes e mais seguros, além de chaves maiores que
Arquitetura
das também elevam o nı́vel de segurança;
Aplicações

Processos em
• A versão mais atual é o TLS 1.3 definido pelo RFC 8446,
Comunicação
publicado em Agosto de 2018.
Protocolos da
Camada de
Sessão

Protocolos da
Camada de
Apresentação

42 / 42

Você também pode gostar