O que são SSL, SSH, HTTPS?

Maio 2017


Para que serve o SSL?


SSL = Secure Socket Layer
É um sistema que permite a troca de informações entre dois computadores, de modo seguro. SSL fornece 3 coisas:
  • Privacidade: Impossível espionar as informações trocadas. *Integridade: Impossível falsificar as informações trocadas.
  • Autenticação: Ele garante a identidade do programa, da pessoa ou empresa com a qual nos comunicamos.


SSL é um complemento ao TCP / IP e pode (potencialmente) proteger qualquer protocolo ou programa usando TCP/IP.

O SSL foi criado e desenvolvido pela empresa Netscape e RSA Segurança. Agora há versões de código aberto (Open Source), assim como um protocolo livre semelhante: TLS (ver mais abaixo).

Por que usar o SSL em vez de outro sistema?



Por que usar o OpenSSL?

  • SSL é padronizado.
  • Existe uma versão livre do SSL: OpenSSL que você pode usar nos seus programas, sem pagar direitos autorais.
  • OpenSSL é Open Source: todo mundo pode controlar e verificar o código-fonte (O segredo fica nas chaves de criptografia, não no algoritmo em si).
  • SSL foi criptoanalizado: este sistema foi mais analisado do que todos os seus concorrentes. O SSL foi revisado por inúmeros especialistas em criptografia. Portanto, pode ser considerado seguro.
  • Ele é muito conhecido: é fácil criar programas que interagirão com outros programas usando o SSL.


Muito cuidadocom os sistemas proprietários: ao contrário do que se poderia pensar, a segurança de um sistema de criptografia não se baseia no segredo do algoritmo de criptografia, mas no segredo da chave. Devemos confiar apenas em sistemas que foram publicados e analisados.

Como funciona o SSL?


SSL é composto de dois protocolos:
  • SSL Handshake protocol: antes de comunicar, os dois programas SSL negociam chaves e protocolos de criptografia em comum.
  • SSL Record protocol: Uma vez negociados, eles criptografam todas as informações trocadas e realizam vários testes.

O aperto de mão SSL ("handshake")


No início da comunicação o cliente e o servidor trocam:
  • A versão SSL com a qual eles querem trabalhar,
  • A lista de métodos de criptografia (simétrico e assimétrico) e de assinatura que todo mundo conhece (com comprimentos de chaves),
  • Métodos de compressão que todo mundo conhece
  • Números aleatórios,
  • Certificados.


Cliente e servidor tentam usar o melhor protocolo de criptografia e diminuem até encontrar um protocolo comum para ambos. Depois de feito isso, eles podem começar a troca de dados.

A comunicação SSL ("record")


Com o SSL, o remetente de dados:
  • Corta os dados em pacotes,
  • Comprime os dados,
  • assina criptograficamente os dados,
  • Criptografa os dados,
  • Envia os dados.


Aquele que recebe os dados:
  • Desencriptografa os dados,
  • Verifica a assinatura dos dados,
  • Descompacta os dados,
  • Remonta os pacotes de dados.

Como o SSL protege as comunicações?


O SSL usa:
  • um sistema de criptografia assimétrico (como o RSA ou o Diffie-Hellman). Saiba mais aqui: ele é utilizado para criar a "master key" (chave principal), que criará chaves de sessão.
  • um sistema de criptografia simétrico (DES, 3DES, IDEA, RC4...) usando as chaves de sessão para criptografar os dados.
  • um sistema de assinatura criptográfico das mensagens (HMAC, utilizando o MD5, SHA...) para ter certeza de que as mensagens não estão corrompidas.


É durante o "handshake" SSL que o cliente e o servidor escolhem os sistemas comuns (criptografia assimétrica, simétrica, assinatura e comprimento de chave).

No seu navegador, você pode ver a lista dos sistemas utilizados, colocando o cursor sobre o cadeadinho, quando você está em uma página HTTPS.

Para que servem os certificados?


Durante uma negociação (handshake) SSL, verifique a identidade da pessoa com quem você está se comunicando. Como ter certeza de que o servidor com quem você está falando é quem ele diz ser?
É aí que entram os certificados. Na hora de se conectar a um servidor web seguro, este enviará um certificado com o nome da empresa, endereço, etc. É uma espécie de carteira de identidade.

Como verificar a autenticidade desta carteira de identidade?
São as PKI (Public Key Infrastructure), das empresas externas (às quais você faz, implicitamente, confiança), que vão verificar a autenticidade do certificado.
(A lista destas PKI está incluída no seu navegador. Geralmente tem a VeriSign, a Thawte, etc.)
Estas PKI assinam criptograficamente os certificados das empresas (e elas são pagas por isso).
O uso do SSL: HTTPS, SSH, FTPS, POPS...
O SSL pode ser usado para proteger praticamente qualquer protocolo usando TCP / IP.
Alguns protocolos foram especialmente modificados para suportar o SSL:
  • HTTPS: é HTTP+SSL. Este protocolo está incluído em praticamente todos os navegadores, e permite que você (por exemplo) consulte suas contas bancárias na web de forma segura.
  • FTPS é uma extensão do FTP (File Transfer Protocol) usando SSL.
  • SSH (Secure Shell) é uma espécie de telnet (ou rlogin) seguro. Isso permite que você se conecte a um computador remoto com segurança e ter uma linha de comando. O SSH tem extensões para proteger outros protocolos (FTP, POP3, ou mesmo X Windows).

É possível tornar seguros os protocolos, criando túneis SSL. Depois de criar o túnel, você pode fazer passar qualquer protocolo por ele (SMTP, POP3, HTTP, NNTP, etc). Todos os dados trocados são criptografados automaticamente.
Isto pode ser feito com ferramentas como o STunnel ou o SSH .
Veja este exemplo com o protocolo POP3:

Com o protocolo POP3 que, normalmente, você usa para ler os seus e-mails, as senhas e as mensagens transitam claramente na Internet. Suas senhas e mensagens podem ser roubadas.

Com o túnel SSL, e sem alterar os softwares cliente e servidor , você pode garantir a recuperação de seus e-mails: ninguém pode roubar suas senhas ou e-mails, pois tudo que passa pelo túnel SSL é criptografado.
Mas isso requer a instalação do STunnel no cliente e no servidor.
Alguns provedores de acesso oferecem este serviço, mas ainda é muito raro. Pergunte ao seu provedor de acesso se ele tem este tipo serviço instalado.

O STunnel permite assim a proteção da maioria dos protocolos baseados no TCP/IP, sem alterar os softwares . Ele é muito fácil de instalar.
Quais são as diferentes versões do SSL?
O SSL versão 3.0 é muito semelhante ao SSL versão 2.0 , mas o SSL v2.0 tem menos algoritmos de criptografia que o SSL V3.0.

TLS v1.0 é um protocolo semelhante com base no SSL. As aplicações usando o TLS v1.0 pode se comunicar facilmente com as aplicações utilizando o SSL v3.0.
Então, quando vejo o cadeado, estou protegido?

O cadeado te indica se as comunicações entre o seu browser e o site são seguras: ninguém pode espiá-los, e ninguém pode mexer nas comunicações. Mas ele não garante nada mais

Para tirar uma foto:
HTTPS (o cadeado), é como um carro blindado: ele garante a segurança do transporte.
Mas realmente transporte.
O carro blindado não garante que o banco usa bons cofres e que eles fecham bem.

O carro blindado também não garante que o banco não desfalque ninguém.

O carro blindado realmente garante o transporte.

É a mesma coisa para o HTTPS (o cadeadinho do browser).

Da mesma forma que criminosos podem contratar um carro blindado, piratas e bandidos podem muito bem criar um site seguro (com o cadeadinho).

Tenha cuidado e não confie em qualquer informação em qualquer site, com ou sem cadeado.


Artigo original publicado por sebsauvage

Tradução feita por Lucia Maurity y Nouira

Veja também

Publicado por pintuda. Última modificação: 29 de setembro de 2011 às 13:55 por pintuda.
Este documento, intitulado 'O que são SSL, SSH, HTTPS?', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.