O que é SSL/TLS?

                              SSL/TLS

Hoje vou explicar resumidamente como funciona o SSL/TLS mecanismos de segurança são sempre bem vindos em qualquer sistema e organização. As técnicas de segurança entre a conexão do navegador do cliente com servidor de uns anos para cá vem sendo muito utilizada, porém essa suíte já existe a muito tempo.
  SSL/TLS
O SSL foi criado em 1994 pela Netscape hoje é padrão em todos os navegadores e disponibilizado pelos servidores WEB  mais importantes.
Existem 3 versões do SSL;
SSLv1.0 – Essa não chegou a ser distribuída
SSLv2.0 (1994) – Essa versão apenas suporta autenticação do lado do servidor desse modo o cliente pode ter certeza que o servidor que está respondendo é ele mesmo. Porém existem vulnerabilidades que permitem “ forçar” a utilização de algoritmos fracos para conexão.
SSLv3.0 (1996) – Tem suporte a autenticação do servidor, e permite autenticar o cliente caso deseje. Já encontradas diversas vulnerabilidades como  POODLE attack.

Em 1996 a Netscape  passou as especificações do SSL para o IETF, em 1999 o IETF padronizou o SSL com o nome Transport layer Security (TLS). A primeira versão do SSL padronizada pelo IETF é conhecida como TLS. O TLSv 1.0 é muito parecido com o SSLv3.0. porém não são totalmente compatíveis. Em 2006 o IETF lançou o TLSv1.1, Em 2008 foi definido o TLSv1.2.

 O protocolo SSL/TLS está  entre as camadas de aplicação e TCP da camada de transporte,
Aplicação
SSL/TLS
TCP
IP
Física

Apenas dessa forma será possível que ele pegue a PDU da camada de cima e as criptografe garantindo assim a confidencialidade da informação.Hoje em dia existem diversas aplicações que fazem uso do SSL/TLS tais como ; 

HTTP/HTTPS
FTP/SFTP
SSH
LDAP/LDAPS
POP/POPS

O protocolo SSL/TLS é dividido em 2 subcamadas;

HandShake layer – Essa camada é responsável por estabelecer a sessão.
Record layer – Essa camada é responsável pelo estabelecimento da conexão.
(lembrando que dentro de uma sessão existem milhares de conexões)

A camada de handshake é composta pelos seguintes protocolos ;

Handshake – Usada para iniciar a conversa entre cliente e servidor nessa camada que se estabelece a versão do SSL/TLS que será usada na sessão, e junto os algoritmos criptográficos suportados em ambos os lados. Nessa camada ainda acontece a troca de certificados (chaves públicas).

Change Cipher Spec – Avisa ao servidor que a partir de um ponto x as mensagens começarão a ser criptografadas.

Alert – Envia mensagens informativas ou de erro.

A camada Record layer é composta pelos seguintes protocolos ;

SSL Record – Contém dados criptografados  e autenticados.

Mensagem hello do cliente – Usada pare iniciar a comunicação entre cliente e servidor,  o cliente envia primeiro a mensagem Hello ao servidor. A mensagem Hello do cliente contém informações sobre as variáveis suportadas pelo mesmo.
Mensagem Hello do servidor – Após o recebimento da mensagem Hello do cliente o servidor a processa, ele pode responder com uma mensagem de falha de HandShake ou  com uma mensagem Hello de servidor. A mensagem Hello de servidor verifica as variáveis suportadas pelo cliente e toma a decisão sobre o que será usado para a comunicação entre ambos. O servidor decide quais algoritmos criptográficos e qual será o método de compactação a ser usado.

 Diagrama simplificado de conexão cliente e se servidor



    As versões SSL/TLS suportadas pelo HTTPS devem ser configuradas no navegador web ;


 Como comentado logo no começo do post, não vou entrar em muitos detalhes sobre o SSL/TLS esse post serve para quem não tem nenhuma noção do mesmo. caso tenha mais interesse recomendo ler o RFC5246

Comentários

Postar um comentário

Postagens mais visitadas deste blog

VPN Site-To-Site PFsense Com IPsec (Parte 2)

VPN Site-To-Site PFsense Com IPsec (Parte 1)

Oque é IPSEC ?