Buscar

Unidade 3 - Procolodo de Rede e Criptografia

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROTOCOLOS DE REDE 
E CRIPTOGRAFIA
3
UNIDADE
SER_DIGSEC_CRIPTO_UNID3.indd 75 24/09/2020 16:00:04
Objetivos da unidade
Tópicos de estudo
 Entender os protocolos seguros de camada de transporte de rede TCP/IP;
 Analisar o uso de protocolo de aplicação segura em rede TCP/IP;
 Identificar os principais conceitos dos protocolos seguros, como SSL/TLS, HTTPS, 
SSH e PGP.
 Protocolos para transporte 
seguro: SSL/TLS, HTTPS, SSH
 Mecanismos de criptografia
 Protocolo SSL/TLS
 Protocolo HTTPS
 Protocolo SSH
 Protocolos na camada de apli-
cação: PGP
CRIPTOGRAFIA APLICADA 76
SER_DIGSEC_CRIPTO_UNID3.indd 76 24/09/2020 16:00:04
Protocolos para transporte seguro: SSL/TLS, HTTPS, SSH
A era da internet propiciou às pes-
soas a realização de diversas ativida-
des por meio de comunicação eletrô-
nica digital, popularizando termos, 
como e-mail, e-commerce, entre ou-
tros. Com a facilidade que todas essas 
novas interações trouxeram para as 
transações pessoais e comerciais, a 
necessidade de segurança no tráfego 
nos dados tornou-se item fundamen-
tal, a fi m de garantir a integridade e 
confi dencialidade das informações en-
volvidas nessas transações.
A fi m de estabelecer segurança e criptografi a no tráfego das informações, 
alguns protocolos de rede foram desenvolvidos para auxiliar nos controles de 
segurança dos componentes de infraestrutura de TI e as aplicações relaciona-
das à comunicação. Entre esses protocolos, podemos ter os padrões ligados ao 
encaminhamento dos dados, como SSL/TLS, além de padrões ligados às aplica-
ções, como o HTTPS, o SSH e o PGP.
Mecanismos de criptografia
Na prática, muitos recursos utilizam os protocolos de comunicação se-
gura para garantir algum nível de integridade e confidencialidade duran-
te uma comunicação. Uma das formas mais conhecidas de aplicação dos 
conceitos dos protocolos de criptografia em uma comunicação segura é 
o certificado digital, utilizado para garantir autenticidade, confidenciali-
dade e integridade no acesso e comunicação entre sistemas na Internet, 
sendo um tipo de registro relacionado a uma identidade virtual (igual ao 
CPF, por exemplo).
Na Figura 1, vemos um exemplo de informações sobre um certifi cado digital 
utilizado para comunicação segura por meio de um navegador web:
CRIPTOGRAFIA APLICADA 77
SER_DIGSEC_CRIPTO_UNID3.indd 77 24/09/2020 16:00:10
CRIPTOGRAFIA APLICADA 78
SER_DIGSEC_CRIPTO_UNID3.indd 78 24/09/2020 16:00:36
Figura 1. Exemplo de informações de certificado digital. Fonte: CERT.BR. Acesso em 16/9/2020.
Como podemos verificar na Figura 1, o certificado digital possui diversos cam-
pos que viabilizam uma identidade virtual, utilizando, para isso, padrões de infor-
mações presentes nos cabeçalhos de protocolos de criptografia, como o SSL, por 
exemplo. Além disso, o certificado utiliza o padrão de comunicação segura via o 
protocolo HTTPS, para garantir a confidencialidade e autenticidade das informa-
ções, garantidas pela autoridade certificadora responsável pelo certificado.
Sobre o funcionamento do processo de criptografia nos protocolos de co-
municação segura, um conceito base para a codificação das mensagens é o uso 
de algoritmos para realizar esse processo. Um dos mecanismos mais conhe-
cidos é o uso de chaves, codificando a informação de forma a garantir que a 
mensagem continue autêntica, confidencial e íntegra.
A chave atua com um valor específico sobre a cifragem, permitindo que os 
algoritmos de criptografia possam atender várias conexões simultâneas, sendo 
que o algoritmo utilizado define a forma como os dados serão encriptados.
O Diagrama 1 mostra, de uma forma geral, o funcionamento da comunica-
ção com a utilização do método de chaves para criptografia da comunicação: 
CRIPTOGRAFIA APLICADA 79
SER_DIGSEC_CRIPTO_UNID3.indd 79 24/09/2020 16:00:50
DIAGRAMA 1. ILUSTRAÇÃO DA CRIPTOGRAFIA POR CHAVES
QUADRO 1. PRINCIPAIS MÉTODOS DE CRIPTOGRAFIA
Fonte: FERREIRA; CAROLINE; MACEDO, 2018. (Adaptado).
No Diagrama 1, podemos perceber que a mensagem produzida pelo reme-
tente é encriptada por meio do uso do algoritmo de criptografia utilizado para 
a codificação, com a chave auxiliando o processo de geração da mensagem 
cifrada. Toda a informação é encaminhada, de forma criptografada, para o des-
tinatário da informação, que deve utilizar o mesmo algoritmo de criptografia 
definido pelo remetente, além de possuir uma chave para descodificar a infor-
mação cifrada, para, assim, ter acesso à informação original.
Sobre os métodos de encriptação mais comuns, podemos visualizar os prin-
cipais métodos de algoritmos utilizados pelos protocolos de comunicação se-
gura, no Quadro 1:
Método Descrição Principais algoritmos
Chave 
Simétrica.
Nesse método, a chave para codificação definida pelo remetente da 
informação cifrar a mensagem é a mesma utilizada pelo destinatário 
para o processo de descriptografia da informação cifrada, sendo a 
chave compartilhada entre o emissor e o destinatário.
DES, 
3DES, AES, 
Blowfish.
Chave 
Assimétrica.
Nesse método (também conhecido como criptografia de chave 
pública), é definido um par de chaves ao invés de uma chave ser 
compartilhada entre o emissor e o receptor: a chave pública, que 
deve estar presente nos destinos da informação criptografada; e 
a chave privada, que é mantida de forma segura pelo responsável 
da mensagem ou da comunicação. As partes da comunicação têm 
uma chave para encriptar a comunicação (pública), e uma chave 
utilizada para desencriptar à informação (privada).
RSA, DAS.
Mensagem 
plana
Mensagem 
plana
Mensagem 
criptografada
Interceptor
Internet
Chave da 
remetente
Chave do 
destinatário
Remetente Destinatário
Algoritmo de 
criptografia
Algoritmo de 
decriptação
CRIPTOGRAFIA APLICADA 80
SER_DIGSEC_CRIPTO_UNID3.indd 80 24/09/2020 16:00:50
Protocolo SSL/TLS
O SSL (sigla para Secure Socket Layer, em inglês) é um protocolo que surgiu na 
década de 1990 para implementação de segurança para comunicação em rede, 
largamente adotado na internet para a proteção do transporte de dados nas apli-
cações, tais como navegadores web, e-mail e comunicação de voz sobre IP (VoIP). 
Na atualidade, o SSL foi incorporado em outro padrão de protocolo de co-
municação segura, o TLS (sigla para Transport Layer Security, em inglês), que foi 
o padrão desenvolvido na década de 2000 para se tornar o padrão para segu-
rança em transações gerais pela web.
CURIOSIDADE
Devido ao fato de o TLS ser uma continuação do SSL, em muitos materiais 
é comum a referência adotada ser ao protocolo SSL/TLS.
De um modo geral, no histórico de atualizações e melhorias de segurança 
dos protocolos, desde o seu lançamento, o SSL teve três versões, sendo a úl-
tima delas a 3.0. O TLS só possui uma única versão (versão 1), que contempla 
atualizações e melhorias ao longo de tempo em releases específi cos, sendo a 
primeira delas (1.0) uma atualização direta para o SSL 3.0. A versão mais atual 
do TLS é a 1.3, porém a versão 1.2 do TLS ainda é adotada, em sua maioria, nas 
conexões seguras realizadas através dos principais protocolos da internet.
O formato do protocolo SSL/TLS encapsula, em seu cabeçalho, os protoco-
los da camada de aplicação da pilha TCP/IP, além de atuar diretamente com um 
protocolo da camada de transporte (geralmente com o protocolo TCP). No que 
diz respeito à criptografi a aplicada nas informações, o padrão utilizado varia 
tanto entre encriptação via chaves simétricas quanto via chaves assimétricas.
Para os agentes envolvidos na comunicação (cliente e servidor), o algo-
ritmo utilizado é reconhecido por meio de um processo de negociação de 
códigos realizado de forma interna no SSL/TLS. Esse processo é conhecido 
como CipherSuite.
No Diagrama 2, são exibidas as camadas de protocolos do modelo TCP/IP 
e como o SSL/TLS se posiciona com os seus protocolos internos, por meio do 
qual encapsula os protocolos de aplicação (HTTP, SMTP, FTP, entre outros):CRIPTOGRAFIA APLICADA 81
SER_DIGSEC_CRIPTO_UNID3.indd 81 24/09/2020 16:00:50
DIAGRAMA 2. CAMADAS DE PROTOCOLOS TCP/IP E O SSL/TLS
Conforme podemos visualizar no Diagrama 2, a estrutura básica do proto-
colo SSL/TLS é composta por duas camadas de protocolos internos, denomina-
dos como handshaking protocols e o record protocol. No caso, em uma aborda-
gem das camadas da pilha TCP/IP é possível interpretar que o SSL/TLS irá atuar 
na camada de aplicação, quase interligada à camada de transporte.
Cada uma das camadas dos sub-protocolos SSL/TLS é responsável por uma 
função na segurança da comunicação:
• Record protocol: é a camada mais baixa na pilha de rede, realiza o encap-
sulamento de todos os dados e os envia de forma segura durante a comunica-
ção, garantindo também uma configuração opcional de compressão de dados;
• Handshaking protocols: é a camada mais alta na pilha de rede, onde é 
realizada a negociação dos algoritmos e chaves de criptografia, além da auten-
ticação entre as partes envolvidas (cliente e servidor).
Por ser orientado à conexão, utilizando o processo de handshake na comu-
nicação segura, o SSL/TLS utiliza o protocolo TCP como protocolo da camada 
de transporte. Com isso, após o handshake da sessão TCP realizada, o TLS inicia 
o seu próprio processo de handshake para estabelecer uma sessão de trans-
porte confiável. Todo o controle do processo é realizado no cabeçalho do pro-
tocolo SSL/TLS pelos campos do cabeçalho da camada dos handshake protocols, 
sendo que durante o processo são trocados diversos pacotes entre o cliente e o 
servidor para tornar a comunicação aceita entre ambas às partes.
SSL/TLS
Handshaking protocols
Record protocol
TCP
IP
HTTP/SMTP/...
CRIPTOGRAFIA APLICADA 82
SER_DIGSEC_CRIPTO_UNID3.indd 82 24/09/2020 16:00:50
No Diagrama 3, podemos identificar as principais etapas relacionadas ao 
processo do TLS handshake, em uma conexão entre um cliente e servidor:
DIAGRAMA 3. O PROCESSO DE HANDSHAKE DO SSL/TLS
Fonte: Cloudflare. Acesso em: 16/09/2020.
No Diagrama 3, podemos verificar o procedimento geral de um handshake via 
TLS, em que o cliente e o servidor trocam diversas informações, tais como: a ver-
são de TLS utilizada, o tipo de algoritmo de criptografia utilizado, a autenticidade 
do servidor (via certificado digital e chave pública assimétrica) e a troca de chaves 
de criptografia simétrica, para a cifragem após a conexão estabelecida. Todos es-
ses dados são fornecidos em etapas, logo após o TCP handshake (em azul):
1. O cliente envia uma mensagem denominada Client Hello, incluindo as 
suas próprias informações gerais do TLS, dentre elas a versão do protocolo e o 
tipo de cifra suportado na comunicação, além de um identificador randômico;
2. O servidor responde com uma mensagem Server Hello, na qual envia as 
suas informações gerais do TLS, dentre elas a versão do protocolo e o tipo de 
cifra suportado na comunicação, além do seu próprio identificador randômico;
Cliente Servidor
SYN
ACK
Clientehelllo
ClienteKeyExchange
ChangeCipherSpec
Finished
ChangeCipherSpec
Finished
ServerHello
Certificate
ServerHelloDone
SYN ACK
TCP
50 m
s
TLS
110 m
s
CRIPTOGRAFIA APLICADA 83
SER_DIGSEC_CRIPTO_UNID3.indd 83 24/09/2020 16:00:50
3. O cliente, então, realiza o processo de autenticação, no qual verifi ca a 
autenticidade do certifi cado enviado pelo servidor e a checagem da autoridade 
certifi cadora responsável pela emissão. Após essa confi rmação, o cliente utiliza 
a chave pública enviada pelo servidor para encriptar uma sequência de bytes 
gerada, que será a senha dessa comunicação. Com isso, somente com a chave 
privada armazenada no servidor a senha será descriptografada;
4. A partir do momento em que todas as informações de autenticação são troca-
das, tanto o cliente quanto o servidor irão validar esses dados. Com tudo em ordem, o 
cliente envia a mensagem de fi nalização do handshake, com o servidor respondendo 
com uma mensagem própria, da mesma forma, fazendo a fi nalização do handshake;
5. Com o handshake do TLS completo, a comunicação irá persistir no uso das 
informações de criptografi a utilizadas, até a fi nalização da sessão.
Protocolo HTTPS
A maior parte dos serviços e sites 
disponibilizados via web é, geralmen-
te, disponibilizado para acesso por 
parte dos usuários por meio do pro-
tocolo HTTP, associado a um site ou 
aplicação hospedados em um servi-
dor web. Quando solicitamos acesso a 
um endereço na internet por meio de 
um navegador, essa aplicação solicita 
os dados da página, para exibi-los da 
forma adequada para o usuário solici-
tante da requisição, carregando o con-
teúdo de um determinado site, sendo processado pelo servidor web.
Para garantir a comunicação segura dos dados das páginas web, o HTTP utiliza 
a extensão de segurança para o próprio protocolo, incorporando a estrutura do 
SSL/TLS às requisições realizadas. Com isso, os dados das conexões entre o cliente 
e o servidor trafegam em um fl uxo criptografado, garantido por essa extensão do 
HTTP denominada HTTPS (sigla para Hyper Text Transfer Protocol Secure, em inglês), 
sendo, portanto, o HTTPS uma implementação adicional do HTTP.
CRIPTOGRAFIA APLICADA 84
SER_DIGSEC_CRIPTO_UNID3.indd 84 24/09/2020 16:00:56
DIAGRAMA 4. FORMATO PADRÃO DE UMA URI
Para entender a estrutura do HTTPS, é necessário saber como a comunica-
ção via HTTP é realizada. Em geral, o acesso aos conteúdos por meio do proto-
colo HTTP são realizados por um formato denominado URI (sigla para Uniform 
Resource Identifier, em inglês). A URI é o formato mais comum utilizado durante 
a consulta a um conteúdo na web por meio de uma string, geralmente associa-
da ao formato, como vemos no exemplo do Diagrama 4:
De acordo com o Diagrama 4, podemos verificar como a URI é estruturada, 
seguindo o padrão para acesso de um determinado conteúdo web. Vejamos 
a descrição para os principais itens presentes na especificação de uma URI:
• Esquema: o protocolo a ser usado durante a requisição, sendo quase 
sempre especificado como http: ou https:;
• Autoridade: o servidor onde está sendo executado o serviço HTTP (com 
a requisição sendo feita por um nome, por meio do protocolo DNS ou direta-
mente pelo endereço IP);
• Path: os diretórios e arquivos, em forma hierárquica, dos conteúdos dis-
poníveis no servidor web;
• Query: parâmetros que as aplicações web localizadas no servidor es-
peram durante as requisições para o funcionamento. No caso de envio de 
parâmetros do tipo query, após a identificação de um caracter ?, o exemplo 
citado no Diagrama 4 está mais associado ao método de requisição HTTP do 
tipo GET, por manter todos os dados na própria URI. Já o método POST usa 
um formato de segurança por obscuridade, ocultando a query no corpo da 
requisição HTTP.
Na Figura 2, podemos verificar a estrutura das informações dos cabeça-
lhos HTTP de envio e resposta, cujo conteúdo pode ser criptografado por 
meio do uso da extensão segura, por meio do HTTPS:
http://www.algumsite.com.br/conteudo?consulta=valor
Esquema Autoridade QheryPath
CRIPTOGRAFIA APLICADA 85
SER_DIGSEC_CRIPTO_UNID3.indd 85 24/09/2020 16:00:56
Figura 2. Exemplo de cabeçalho HTTP. Fonte: Apache Traffic Server. Acesso em: 16/09/2020.
Cabeçalho HTTP
Exemplo de requisição
Registro de requisição
GET http://wwwRockyDawg.com/HTTP/1.0
Cabeçalho MIME
Proxy-Connections: Keep-Alive
Data: Segunda-feira, 14 de dezembro de 2009 04:15:01 GMT
User-Agent: Mozilla/5.0 (en)
Content-Location: http://d.com/index.html
Accept: image/gif, */*
Content-Length: 7931
Accept-Charset: isso/8859-1
Content-Type: text/html
Proxy-Connection: close
Campos MIME
Campos MIME
Cabeçalho MIME
HTTP/1.0 200 OK
Registro de resposta
Cabeçalho HTTP
Exemplo de resposta
Na Figura 2, podemos verificar o padrão de envio do cabeçalho HTTP a partir 
do cliente, contendo as informações de requisição, com a URI e o método utilizado 
(no caso, o GET) e os dadossobre o conteúdo consultado (por meio do cabeçalho 
do tipo MIME, contendo dados sobre o navegador de origem, os tipos de arquivos 
e padrões de caracteres). O servidor responde com um cabeçalho indicando a ver-
são do HTTP (no caso 1.0) junto com um código de status de OK para a requisição, 
com o cabeçalho MIME de resposta indicando as informações por parte do servi-
dor (data/hora da consulta, localização, tamanho e tipo de conteúdo).
Para implementação do SSL/TLS por meio do protocolo HTTP, é possível 
utilizar formatos de programas no servidor web, os quais provêm os meca-
nismos de cifra e chaves necessários para estabelecer a configuração de uma 
comunicação segura.
DICA
Uma das principais ferramentas para implementação do protocolo SSL/TLS é 
o OpenSSL, que disponibiliza bibliotecas para uso de criptografia de uso geral.
CRIPTOGRAFIA APLICADA 86
SER_DIGSEC_CRIPTO_UNID3.indd 86 24/09/2020 16:00:56
O funcionamento da autenticação na sessão HTTP com o SSL/TLS, geral-
mente, funciona da seguinte maneira:
• Quando o usuário se conecta pesquisando por uma URI iniciada pelo forma-
to https://, o servidor web retorna um certifi cado digital para o navegador. As in-
formações do certifi cado são de responsabilidade da entidade responsável pela 
emissão dele, sendo essa entidade identifi cada como autoridade certifi cadora;
• A máquina de onde o usuário iniciou a comunicação já possui uma cópia 
de certifi cados válidos de todas as principais autoridades certifi cadoras reco-
nhecidas como confi áveis, por meio das quais a autenticidade das informações 
fornecidas pelo certifi cado do servidor web é comprovada, após a verifi cação 
do handshake do SSL/TLS;
• A partir dessa verifi cação, o navegador pode aceitar o certifi cado, de for-
ma automática, iniciando, assim, a criptografi a da conexão (o navegador tam-
bém poderá notifi car o usuário se o certifi cado não for confi ável, deixando a 
decisão de confi ar no documento por parte do cliente).
Para obter o certifi cado de uma autoridade certifi cadora, o admi-
nistrador do site deve gerar uma requisição de certifi cado, envian-
do o arquivo com as informações para a entidade. A emissora 
irá realizar a assinatura e validação da requisição, emitindo o 
arquivo do certifi cado que valida a autenticidade das informações.
Protocolo SSH
Em um sistema operacional, o shell é a interface de acesso para o usuário fi nal es-
pecifi car comandos e executar aplicações, conversando diretamente com o kernel.
Para utilizar uma interface de comandos via rede em um sistema operacional é 
possível especifi car um protocolo que irá realizar a conexão entre o cliente e o 
servidor, em que é necessário o acesso via shell.
O formato de acesso remoto pelo shell de comandos é muito útil para um ad-
ministrador de sistema. Ele o usa para a execução de tarefas de gerenciamento, 
aplicações, processos automatizados, entre outros. Porém, a segurança é algo 
fundamental no tráfego dessas informações via rede, pelo fato de que a execução 
de comandos remotos, muitas vezes, envolve processos críticos na infraestrutura 
de TI de uma empresa.
CRIPTOGRAFIA APLICADA 87
SER_DIGSEC_CRIPTO_UNID3.indd 87 24/09/2020 16:00:56
O primeiro formato de protocolo para acesso via shell de forma remota, 
executado sobre TCP/IP, não oferecia uma arquitetura de segurança padrão 
para as conexões, permitindo a quebra de confidencialidade do tráfego de da-
dos, por meio de espionagem das informações enviadas.
CURIOSIDADE
O protocolo Telnet (sigla para Terminal Network, em inglês) foi o primeiro 
modelo de protocolo para acesso remoto adotado em larga escala.
O protocolo SSH (sigla para Secure Shell, em inglês) implementa a cripto-
grafia via TCP/IP para acesso remoto, tanto para a execução de comandos 
quanto para a transferência de arquivos. Como o SSH possui uma suíte com 
aplicativos multiplataforma utilizados para realizar a conexão entre um clien-
te e servidor, é comum associar o nome SSH somente às ferramentas de aces-
so, e não ao protocolo.
A versão mais atual do protocolo SSH é conhecida como SSH-2 (versão 2), 
contendo melhorias relacionadas à segurança, implementadas desde a pri-
meira versão (denominada como SSH-1). Sobre a arquitetura do protocolo, 
em si, ele é formado por uma pilha de camadas de funcionalidades específi-
cas, para cada função necessária para a conexão remota, conforme podemos 
verificar no Diagrama 5:
DIAGRAMA 5. CAMADAS DO PROTOCOLO SSH
IP
TCP
SSH-TRANS
SSH-AUTH SSH-CONN
SSH
CRIPTOGRAFIA APLICADA 88
SER_DIGSEC_CRIPTO_UNID3.indd 88 24/09/2020 16:00:56
Como podemos visualizar no Diagrama 5, na abordagem das camadas da 
pilha TCP/IP, é possível interpretar que o SSH irá atuar na camada de aplicação. 
A estrutura básica do protocolo SSH é composta por três camadas internas de 
outros protocolos, denominados como SSH-TRANS, SSH-AUTH e SSH-CONN.
Cada uma das camadas dos sub-protocolos SSH é responsável por uma fun-
ção na segurança da conexão remota:
• SSH-TRANS: essa camada implementa a segurança no encaminhamento 
da conexão por meio da troca de informações de segurança entre o cliente e 
o servidor envolvidos na comunicação (no mesmo formato do SSL/TLS). Como 
funções principais, a SSH-TRANS é responsável pela autenticidade do servidor, 
a integridade dos dados trafegados, a confidencialidade das informações da 
conexão, além de possível compressão do tráfego;
• SSH-AUTH: essa camada implementa a autenticação do cliente em rela-
ção ao servidor, de uma forma muito similar ao SSL/TLS, por meio do envio de 
informações de identificação, como o login do usuário, o nome reconhecido do 
servidor e o método de autenticação. Como método de autenticação, o SSH 
pode utilizar formatos específicos, sendo os mais comuns por uma senha defi-
nida na base de dados de usuário, utilizada pelo servidor remoto ou por meio 
de um par de chaves compartilhadas (geralmente do tipo assimétricas, porém 
sendo possível utilizar chaves simétricas também), sem a necessidade de uma 
senha específica (opção muito utilizada para automatização de rotinas e aces-
so em provedores na nuvem, por exemplo);
• SSH-CONN: essa camada entra em cena após ser totalmente estabelecido 
o canal seguro entre o cliente e o servidor, possibilitando o uso de diversas 
aplicações para o tráfego de dados via SSH, como a execução de comandos, 
transferência de arquivos e encaminhamento de porta, por exemplo.
Dentro da especificação de uma sessão via o protocolo SSH, o canal seguro 
pode trazer a execução de aplicações nos seguintes formatos:
• Tipo session: o formato mais comum e base de funcionamento 
do SSH. Esse tipo é utilizado para execução remota de 
um programa, seja um shell de comandos no sistema 
operacional, um executável ou um utilitário para 
transferência de arquivos (também denominado 
como secure copy);
CRIPTOGRAFIA APLICADA 89
SER_DIGSEC_CRIPTO_UNID3.indd 89 24/09/2020 16:00:56
• Tipo x11: esse formato refere-se ao padrão de protocolo denominado X 
Window System, utilizado para exibição de interface gráfica por meio de rede 
no SSH. Com isso, é possível executar aplicações que carregam um ambiente 
gráfico associado, como aplicativos de área de trabalho, por exemplo;
• Tipos forwarded-tcpip e direct-tcpip: apesar de serem dois tipos diferen-
tes de canal seguro, ambos implementam uma forma avançada de utilização do 
protocolo SSH para criptografia de tráfego de dados: o túnel seguro para algu-
ma aplicação TCP/IP que não utilize comunicação segura. Com isso, outros pro-
tocolos TCP/IP podem utilizar o SSH como uma VPN, para trafegar informações 
de forma criptografada em uma rede não-confiável, garantindo a confidencia-
lidade e integridade das informações. A diferença entre os tipos está em rela-
ção a origem do túnel no encaminhamento da porta TCP/IP: o forwarded-tcpip 
implementa o encaminhamento de porta no lado remoto da conexão, enquan-
to o direct-tcpip implementao encaminhamento no lado local da conexão. 
Na Figura 3 temos uma ilustração geral do funcionamento do encaminha-
mento de portas através do SSH:
Figura 3. Ilustração do port forwarding do SSH. Fonte: SSH.COMb. Acesso em: 16/09/2020.
SSH
SSH
Aplicação Servidor de 
aplicação
Servidor SSH
Na Figura 3, podemos identificar que a conexão entre o cliente e o servidor 
é estabelecida por meio do protocolo SSH, garantindo a criptografia do trans-
porte dos dados. A aplicação no lado cliente irá utilizar o canal seguro via SSH 
para estabelecer a conexão com o servidor da aplicação no lado remoto, por 
meio da porta TCP/IP correspondente (por exemplo, um cliente de banco de da-
dos conectando via internet em um servidor de banco de dados sem utilização 
de criptografia). Todo o tráfego vindo da aplicação cliente irá ser enviado dire-
tamente ao servidor SSH, que irá encaminhar para o servidor de aplicação real.
CRIPTOGRAFIA APLICADA 90
SER_DIGSEC_CRIPTO_UNID3.indd 90 24/09/2020 16:00:56
Dentre as aplicações principais disponíveis para a utilização do protocolo 
SSH, podemos destacar em plataforma Unix/Linux o OpenSSH, que implementa 
tanto a ferramenta cliente (programa ssh) quanto a ferramenta relacionada ao 
servidor (programa sshd). Já em ambiente Windows, dentre as principais utili-
zadas podemos destacar a interface cliente do Putty, utilizada para conectar-se 
na porta TCP/IP de um servidor SSH remoto.
EXPLICANDO
A porta padrão na qual o servidor SSH aguarda por requisições vindas dos 
clientes do protocolo SSH é a 22 do tipo TCP.
Na Figura 4, podemos ver um exemplo de execução da ferramenta Putty, 
para acessar um servidor SSH a partir de uma máquina com sistema operacio-
nal Windows:
Figura 4. Interface do Putty. Fonte: SSH.COMa. Acesso em: 16/09/2020.
Na Figura 4, podemos verificar que o Putty possui toda a interface para aces-
so via SSH de forma bastante intuitiva para o usuário, devendo ser especifica-
das as informações gerais para a realização da conexão IP do servidor e com a 
porta do serviço SSH, além de configurações adicionais para customização da 
CRIPTOGRAFIA APLICADA 91
SER_DIGSEC_CRIPTO_UNID3.indd 91 24/09/2020 16:01:09
sessão de login remoto. Através do Putty, inclusive, é possível 
realizar, nas opções avançadas, a confi guração para utilizar 
sessões de canal seguro para o padrão x11 e a criação de 
encaminhamento de porta (SSH tunnel).
Protocolos na camada de aplicação: PGP
O PGP (sigla para Pretty Good Privacy, em inglês) foi um padrão de software 
desenvolvido no início da década de 1990, que trouxe a criptografi a para um 
formato mais próximo do usuário fi nal, quando o padrão de encriptação era 
mais utilizado no meio governamental e militar.
A ideia principal do PGP é possibilitar a criptografi a em arquivos armazena-
dos em um computador pessoal ou mesmo em mensagens de e-mail, atuan-
do, também, como assinatura digital para conteúdo. Basicamente, por meio do 
PGP a criptografi a é realizada com base nas funcionalidades de autenticação, 
compressão, confi dencialidade e compatibilidade com e-mail. O PGP utiliza 
como base o padrão aberto criado para encriptação de dados com método de 
chave assimétrica, denominado OpenPGP.
No Diagrama 6, podemos visualizar, de um modo geral, como funciona o 
processo de criptografi a e descriptografi a por PGP:
PROCESSO DE DESCRIPTAÇÃO
PROCESSO DE ENCRIPTAÇÃO
Arquivo bruto Encriptar arquivocom chave pública
Chave pública
Arquivo encriptado E-mail ou FTP
E-mail ou FTP Arquivo encriptado
Chave privada
Descriptar arquivo
com chave privada Arquivo bruto
DIAGRAMA 6. FLUXOGRAMA DA CRIPTOGRAFIA COM PGP
Fonte: Go Anywhere. Acesso: 16/09/2020.
CRIPTOGRAFIA APLICADA 92
SER_DIGSEC_CRIPTO_UNID3.indd 92 24/09/2020 16:01:09
No Diagrama 6, podemos verifi car que o arquivo padrão é encriptado com 
uma chave pública, e o arquivo criptografado é enviado por meio de protocolos 
padrão, como o e-mail ou FTP. No destino, o arquivo recebido é decifrado pela 
chave privada do receptor da mensagem, retornando o conteúdo ao seu original.
Uma das principais aplicações do PGP é a implementação em código aberto 
do software GnuPG (sigla para GNU Privacy Guard, em inglês). Na Figura 5, po-
demos ver um exemplo de funcionamento do GnuPG:
Figura 5. Interface do GnuPG. Fonte: GnuPG. Acesso em: 16/09/2020.
Na Figura 5, podemos visualizar a exibição da chave utilizada por um de-
terminado usuário do GnuPG, com a qual ele pode assinar ou 
encriptar arquivos (por meio da chave pública) ou decifrar ar-
quivos (com a chave privada). Com o identifi cador da chave 
(key ID) e o e-mail do usuário é possível utilizar a mesma 
chave para ambas às funcionalidades de criptografi a.
CRIPTOGRAFIA APLICADA 93
SER_DIGSEC_CRIPTO_UNID3.indd 93 24/09/2020 16:01:32
Sintetizando
Vimos, nessa unidade, os principais aspectos sobre os protocolos de 
segurança e criptografia em TCP/IP, destacando a importância deles no 
tráfego seguro dos dados em rede, ou ao executar aplicações em uma má-
quina, garantindo os pilares da confidencialidade, integridade e autentici-
dade das informações envolvidas em uma comunicação. 
Existem alguns mecanismos que fazem uso, na prática, desses proto-
colos de comunicação segura como, por exemplo, o uso de identidades no 
mundo virtual no formato de certificados digitais, os quais conferem au-
tenticidade e veracidade sobre quem está participando na comunicação.
Dentre os métodos utilizados para garantir a criptografia das informa-
ções, estão os protocolos que utilizam como base algoritmos de encripta-
ção: simétricos, em que a chave para criptografar e decifrar a informação 
é a mesma, devendo ser compartilhada por meio de um canal seguro entre 
as partes; ou assimétricos, no qual existem duas chaves, a pública e a pri-
vada, para a cifragem é utilizada a chave pública e para descodificação a 
chave privada.
O protocolo SSL/TLS atua como dos principais protocolos utilizados 
para a criptografia de dados trafegados sobre TCP/IP, atuando com a crip-
tografia das sessões utilizadas durante uma conexão. Ele é reconhecido 
por essa nomenclatura devido ao fato de o TLS ser uma continuação do 
protocolo SSL, mantendo sua estrutura, porém trazendo melhorias de se-
gurança. Em sua arquitetura, o SSL/TLS possui camadas internas de pro-
tocolo, o record protocol e o handshaking protocol, que garantem o esta-
belecimento do canal seguro para comunicação (o TLS handshake). Uma 
das principais implementações do SSL/TLS é a extensão segura para o 
protocolo HTTP, por meio do uso do HTTPS nas conexões via URI, fazendo 
com que o cabeçalho das requisições e respostas do protocolo web sejam 
encriptadas na comunicação.
O protocolo SSH é utilizado por padrão para acesso remoto em siste-
mas para a execução de comandos, transferência de arquivos, sistema 
gráfico ou encaminhamento de portas, tudo isso em um canal seguro de 
criptografia. Para isso, o protocolo possui camadas adicionais que cuidam 
CRIPTOGRAFIA APLICADA 94
SER_DIGSEC_CRIPTO_UNID3.indd 94 24/09/2020 16:01:32
do processo de canal seguro (o SSH-TRANS, SSH-AUTH e SSH-CONN), uti-
lizando aplicações como o OpenSSH ou Putty. Além disso, na camada de 
aplicação, o protocolo PGP é uma das implementações de criptografia a 
ser aplicado em arquivos e mensagens de e-mail.
CRIPTOGRAFIA APLICADA 95
SER_DIGSEC_CRIPTO_UNID3.indd 95 24/09/2020 16:01:33
Referências bibliográficas
ALVARENGA, L. G. Criptografia clássica e moderna. 1. ed. Joinville: Clube dos 
Autores, 2010.
APACHE TRAFFIC SERVER. HTTP headers. Disponível em: <https://docs.traffi-
cserver.apache.org/en/latest/developer-guide/plugins/http-headers/index.
en.html>. Acesso em: 16 set. 2020.
CERT.BR - Centro de Estudos, Respostas e Tratamento de Incidentes de Segu-
rança do Brasil. Criptografia. Disponível em: <https://cartilha.cert.br/cripto-
grafia/>. Acesso em: 16 set. 2020.
CLOUDFLARE. What is a TLS handshake.Disponível em: <https://www.cloud-
flare.com/learning/ssl/what-happens-in-a-tls-handshake/>. Acesso em: 16 set. 
2020.
FERREIRA, F.; CAROLINE, S.; MACEDO, W. IPsec - segurança na camada de 
rede. GTA/UFRJ - Grupo de Teleinformática e Automação, Rio de Janeiro, 
[s. a.], [s. n.], 2018. Disponível em: <https://www.gta.ufrj.br/ensino/eel878/re-
des1-2018-1/trabalhos-vf/ipsec/#referencias>. Acesso em: 16 set. 2020.
FOROUZAN, B. A.; FEGAN, S. C. Protocolo TCP/IP. 3. ed. Porto Alegre: AMGH, 
2009.
GNUPG. GPA screenshots. Disponível em: <https://gnupg.org/related_softwa-
re/gpa/screenshots.html>. Acesso em: 16 set. 2020.
GO ANYWHERE. Open PGP encryption. Disponível em: <https://www.goany-
where.com/managed-file-transfer/encryption/open-pgp>. Acesso em: 16 set. 
2020.
GOYAL, D. et al. (Org.) Design and analysis of security protocol for commu-
nication. 1. ed. Hoboken: John Wiley & Sons, 2020.
LUCAS, M. W. PGP & GPG: email for the practical paranoid. 1. ed. [s. l.]: No Starch 
Press, 2006.
MELO, S. et al. BS7799: da tática à prática em servidores Linux. 1. ed. Rio de 
Janeiro: Alta Books, 2007.
MOLINARI, W. Desconstruindo a web: as tecnologias por trás de uma requisi-
ção. 1. ed. São Paulo: Casa do Código, 2016.
NAKAMURA, E. T.; GEUS, P. L. Segurança de redes em ambientes cooperati-
vos. 1. ed. São Paulo: Novatec, 2007.
CRIPTOGRAFIA APLICADA 96
SER_DIGSEC_CRIPTO_UNID3.indd 96 24/09/2020 16:01:33
OPPLIGER, R. SSL and TLS: theory and practice. 1. ed. [s. l.]: Artech House, 2009.
SSH.COMa. How to use Putty on Windows. Disponível em: < https://www.ssh.
com/ssh/putty/windows/>. Acesso em: 16 set. 2020.
SSH.COMb. SSH tunnel. Disponível em: <https://www.ssh.com/ssh/tunne-
ling/>. Acesso em: 16 set. 2020.
CRIPTOGRAFIA APLICADA 97
SER_DIGSEC_CRIPTO_UNID3.indd 97 24/09/2020 16:01:33

Continue navegando