O que é SSL e como ele protege um site

SSL (Secure Sockets Layer) e seu sucessor, TLS (Transport Layer Security), são protocolos para estabelecer links autenticados e criptografados entre computadores em rede. Embora o protocolo SSL tenha sido descontinuado com o lançamento do TLS 1.0 em 1999, ainda é comum se referir a essas tecnologias relacionadas como “SSL” ou “SSL / TLS”. A versão mais atual é o TLS 1.3, definido no RFC 8446 (agosto de 2018).

Chaves, certificados e Handshakes

SSL / TLS funciona vinculando as identidades de entidades, como sites e empresas, a pares de chaves criptográficas por meio de documentos digitais conhecidos como certificados X.509. Cada par de chaves consiste em uma chave privada e uma chave pública. A chave privada é mantida segura e a chave pública pode ser amplamente distribuída por meio de um certificado.

A relação matemática especial entre as chaves privadas e públicas em um par significa que é possível usar a chave pública para criptografar uma mensagem que só pode ser descriptografada com a chave privada. Além disso, o detentor da chave privada pode usá-la para assinar outros documentos digitais (como páginas da web) e qualquer pessoa com a chave pública pode verificar essa assinatura.

Se o próprio certificado SSL / TLS for assinado por uma autoridade de certificação (CA – certificate authority) publicamente confiável, como SSL.com, o certificado será implicitamente confiável para o software cliente, como navegadores da web e sistemas operacionais. CAs publicamente confiáveis ​​foram aprovadas pelos principais fornecedores de software para validar identidades que serão confiáveis ​​em suas plataformas. Os procedimentos de validação e emissão de certificados de uma CA pública estão sujeitos a auditorias regulares e rigorosas para manter esse status confiável.

Por meio do handshake SSL / TLS, as chaves privadas e públicas podem ser usadas com um certificado de confiança pública para negociar uma sessão de comunicação criptografada e autenticada pela Internet, mesmo entre duas partes que nunca se encontraram. Esse simples fato é a base da navegação segura na web e do comércio eletrônico como é conhecido hoje.

SSL / TLS e navegação segura na Web

O uso mais comum e conhecido de SSL / TLS é a navegação segura na web por meio do protocolo HTTPS. Um site HTTPS público configurado corretamente inclui um certificado SSL / TLS que é assinado por uma CA publicamente confiável. Os usuários que visitam um site HTTPS podem ter a certeza de:

Autenticidade: O servidor que apresenta o certificado possui a chave privada que corresponde à chave pública no certificado.

Integridade: Os documentos assinados pelo certificado (por exemplo, páginas da web) não foram alterados durante o trânsito por um intermediário.

Criptografia: As comunicações entre o cliente e o servidor são criptografadas.

Por causa dessas propriedades, SSL / TLS e HTTPS permitem que os usuários transmitam com segurança informações confidenciais, como números de cartão de crédito, números de previdência social e credenciais de login pela Internet, e garantam que o site para o qual eles estão enviando é autêntico. Com um site HTTP inseguro, esses dados são enviados como texto simples, prontamente disponível para qualquer bisbilhoteiro com acesso ao fluxo de dados. Além disso, os usuários desses sites desprotegidos não têm garantia confiável de terceiros de que o site que estão visitando é o que ele afirma ser.

Procure os seguintes indicadores na barra de endereço do seu navegador para ter certeza de que um site que você está visitando está protegido com um certificado SSL / TLS confiável:

  • Um ícone de cadeado fechado à esquerda do URL. Dependendo do seu navegador e do tipo de certificado instalado no site, o cadeado pode ser verde e / ou acompanhado de informações de identificação da empresa que o administra.
  • Se mostrado, o protocolo no início do URL deve ser https: //, não http: //. Observe que nem todos os navegadores exibem o protocolo.

Os navegadores de desktop modernos também alertam os visitantes sobre sites inseguros que não possuem um certificado SSL / TLS.

O que é SSL?

SSL (Secure Sockets Layer) e seu sucessor, TLS (Transport Layer Security), são protocolos para estabelecer links autenticados e criptografados entre computadores em rede. Embora o protocolo SSL tenha sido descontinuado com o lançamento do TLS 1.0 em 1999, ainda é comum se referir a essas tecnologias relacionadas como “SSL” ou “SSL / TLS”.

O que é um certificado SSL?

Um certificado SSL (também conhecido como certificado TLS ou SSL / TLS) é um documento digital que vincula a identidade de um site a um par de chaves criptográficas que consiste em uma chave pública e uma chave privada. A chave pública, incluída no certificado, permite que um navegador da web inicie uma sessão de comunicação criptografada com um servidor da web por meio dos protocolos TLS e HTTPS. A chave privada é mantida em segurança no servidor e é usada para assinar digitalmente páginas da web e outros documentos (como imagens e arquivos JavaScript).

Um certificado SSL também inclui informações de identificação sobre um site, incluindo seu nome de domínio e, opcionalmente, informações de identificação sobre o proprietário do site. Se o certificado SSL do servidor da web for assinado por uma autoridade de certificação (CA) publicamente confiável, como SSL.com, o conteúdo assinado digitalmente do servidor será considerado autêntico pelos navegadores da web e sistemas operacionais dos usuários finais.

O que é TLS?

TLS (Transport Layer Security), lançado em 1999, é o sucessor do protocolo SSL (Secure Sockets Layer) para autenticação e criptografia. O TLS 1.3 é definido na RFC 8446 (agosto de 2018).

Preciso de um endereço IP dedicado para usar SSL / TLS?

Antes, era um requisito obrigatório ter um IP dedicado para cada certificado SSL em um servidor web. Este não é mais o caso devido a uma tecnologia chamada Server Name Indication (SNI). Especificamente, sua plataforma de hospedagem terá que oferecer suporte a SNI.

Qual porta é recomendada para usar SSL / TLS?

Para compatibilidade máxima, a porta 443 é a porta padrão, portanto recomendada, usada para comunicações SSL / TLS seguras. No entanto, qualquer porta pode ser usada.

Qual é a versão atual do SSL / TLS?

TLS 1.3, definido em agosto de 2018 pela RFC 8446, é a versão mais recente de SSL / TLS. O TLS 1.2 (RFC 5246) foi definido em agosto de 2018 e também continua em amplo uso. As versões do SSL / TLS anteriores ao TLS 1.2 são consideradas inseguras e não devem mais ser usadas.

Quais são os problemas de segurança com as versões mais antigas do TLS?

As versões 1.0 e 1.1 do TLS são afetadas por um grande número de vulnerabilidades de protocolo e implementação que foram publicadas por pesquisadores de segurança nas últimas duas décadas. Ataques como ROBOT afetaram o algoritmo de troca de chave RSA, enquanto LogJam e WeakDH mostraram que muitos servidores TLS podem ser enganados em usar parâmetros incorretos para outros métodos de troca de chave. O comprometimento de uma troca de chaves permite que os invasores comprometam completamente a segurança da rede e descriptografem as conversas.

Ataques a cifras simétricas, como BEAST ou Lucky13, demonstraram que várias cifras suportadas em TLS 1.2 e anteriores, com exemplos incluindo cifras RC4 ou modo CBC, não são seguras.

Até as assinaturas foram afetadas, com o ataque de falsificação de assinatura RSA de Bleichenbacher e outros ataques de preenchimento semelhantes.

A maioria desses ataques foi mitigada no TLS 1.2 (desde que as instâncias do TLS estejam configuradas corretamente), embora o TLS 1.2 ainda seja vulnerável a ataques de downgrade, como POODLE, FREAK ou CurveSwap. Isso se deve ao fato de que todas as versões do protocolo TLS anteriores a 1.3 não protegem a negociação de handshake (que decide a versão do protocolo que será usada durante a troca).