Qual a diferença entre TLS, SSL e STARTTLS?

0
94
views

SSL, TLS e STARTTLS

Os termos SSL, TLS e STARTTLS são utilizados ocasionalmente quando nos referimos à segurança de uma ligação, no entanto o significado de cada um deste termos nem sempre é do conhecimento para a maioria das pessoas.

Este artigo, sendo uma tradução do tutorial “What is the difference between SSL, TLS, and STARTTLS?” publicado no fórum do cPanel, deverá ajudar a esclarecer alguma informação acerca de cada um destes termos.

SSL

O termo SSL significa “Secure Sockets Layer“, sendo um protocolo que recorre a Certificados SSL para ajudar na identificação do servidor ao qual se está a tentar ligar e iniciar a encriptação com o mesmo.

Este foi, até meados de 2015, um dos protocolos mais populares utilizados por serviços que necessitavam de recorrer à encriptação de uma ligação. No entanto, em 2015, a última versão do protocolo SSL (SSL v3.0) foi considerada insegura devido a uma falha que permitia a leitura de informação secreta, conhecido como ataque Poodle.

Por esse motivo, nenhuma versão do protocolo de encriptação SSL encontra-se activa nas versões mais recentes dos softwares/servidores.

Apesar dos protocolos especificamente definidos como SSL já não serem utilizados, o termo “SSL” é ainda utilizado muitas vezes para se referir a uma ligação segura que utilize os protocolos SSL ou TLS.

Por exemplo, quando nos referimos actualmente a Certificados SSL, estamos efectivamente a falar de Certificados TLS.

TLS

O termo TLS significa “Transport Layer Security“, ou seja, “Segurança da Camada de Transporte”, sendo o protocolo de segurança que sucedeu ao SSL. Como sucessor, este ainda é compatível com Certificados SSL.

O TLS tem várias semelhanças com o protocolo SSL, no entanto devido a ter em simultâneo muitas diferenças internas, este protocolo obteve uma denominação própria em vez de ter sido apenas chamado de SSL v4. Com esta alteração, os desenvolvedores do protocolo também alteraram a forma como os nomes das versões era dado, mudando apenas o valor da versão menor em cada lançamento.

Apesar de ser um “upgrade” ao protocolo SSL, a versão 1.0 do protocolo TLS é também considerada neste momento insegura, devido à falha de segurança denominada BEAST, pelo que a sua utilização deverá ser evitada sempre que possível. As versões recomendadas são o TLS 1.2 e TLS 1.3, devendo existir um esforço para utilizar a versão mais recente nas situações em que haja suporte e compatibilidade.

STARTTLS

Ao contrário do TLS e SSL, o STARTTLS não é um protocolo, mas sim um comando reconhecido por outros protocolos como IMAP, POP e SMTP.

Este comando é utilizado para transformar uma ligação não encriptada numa ligação encriptada sem a necessidade de recorrer a uma porta segura especifica, podendo utilizar qualquer protocolo de encriptação que esteja disponível no servidor, não estando necessariamente limitada ao TLS.

A ligação a um serviço encriptado por SSL ou TLS é feita utilizando uma porta em especifica. Por exemplo, a porta 465 é utilizada para ligações SMTP encriptadas e a porta 993 é utilizada para ligações IMAP encriptadas. Quando a ligação inicial é feita, o próprio servidor e o software que se liga ao mesmo negoceiam em que protocolo de encriptação e versão a ligação é feita. Assim que a negociação é feita, toda a informação transportada entre o servidor e o cliente é encriptada.

Uma ligação a um serviço não encriptado também utiliza uma porta especifica. Por exemplo, no caso do envio e recepção de e-mails através dos protocolos IMAP, POP e SMTP, são utilizadas as portas 143, 110 e 25 respectivamente. Estas ligações são feitas em pleno texto para o servidor, sendo portanto susceptíveis de serem interceptadas, tornando as mesmas inseguras.

É possível no entanto adicionar segurança a estas ligações recorrendo ao STARTTLS, uma vez que assim que este é chamado pelo software/cliente (Exemplo: Outlook, Thunderbird, Filezilla), é feita a negociação de protocolos de encriptação utilizadas entre o software e o servidor, tornando as ligações encriptadas e seguras. Esta ligação irá continuar uma porta padrão para esses protocolos, não necessitando da alteração para uma porta SSL/TLS.