Para que serve o SSL?
É 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 só 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 só 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
Nenhum comentário:
Postar um comentário
Agradecemos sua participação.