O que é TLS e como ele se compara ao SSL?

13

O TLS é a versão "nova" do SSL? Quais recursos ele adiciona ou quais são os problemas de segurança que ele aborda?

Qualquer coisa que suporta SSL suporta TLS? O que estaria envolvido em fazer a troca? A mudança vale a pena?

Por que os e-mails são enviados por "TLS oportunista" e as VPNs geralmente chamadas de SSL VPN? Existe alguma diferença na tecnologia, talvez criando espaço para uma linha de produtos "TLS VPN"?

goodguys_activate
fonte

Respostas:

11

TLS e SSL são tecnologias estreitamente relacionadas.

Primeiro, email e TLS oportunista. O ESMTP tem a opção de executar a parte real da transferência de dados da conversa em um link criptografado. Isso faz parte do protocolo e foi chamado TLS durante a maior parte de sua existência. Funciona aproximadamente assim:

-> EHLO foreignmailer.example.com
<- 250 Howdy, stranger
<- [list of capabilities, of which TLS is listed]
-> [Indicates it wants to start a TLS session]
<- [accepts negotioation]
-> [Mail actions, of which LOGIN might be one]

Depois que a sessão TLS for iniciada, novos métodos de login poderão estar disponíveis. Este é um exemplo de um protocolo que inclui o Transaction Layer Security diretamente nele. Os certificados usados ​​são o mesmo tipo de certificado usado para SSL sobre HTTP.

Para um exemplo de serviço que não inclui TLS diretamente, use POP3 sobre SSL. Nesse caso, a sessão segura é negociada antes que o protocolo real seja negociado. Em essência, o POP3 está sendo encapsulado dentro de uma sessão segura.

Em geral, se um serviço suportar SSL, ele poderá ser estendido para suportar TLS. Se isso foi feito ou não, cabe aos mantenedores do serviço. Isso significa que o TLS pode substituir o SSL em "SSL VPNs".

As VPNs SSL são distintas de seus primos baseados em IPSec, pois a sessão segura é feita em um nível diferente. As VPNs SSL funcionam da mesma maneira que o POP3 sobre SSL, pois o tráfego é encapsulado por uma conexão TCP existente. As VPNs IPSec criam um túnel seguro no nível IP , onde as VPNs SSL criam um túnel seguro no nível TCP . A razão pela qual as VPNs SSL parecem estar assumindo o controle é que são mais fáceis de configurar e mais tolerantes às más condições de rede. As VPNs SSL podem e usam o protocolo TLS para proteger a sessão, embora dependa do fabricante da própria VPN.

Quanto às diferenças exatas de nível de protocolo entre SSL e TLS, nas quais não consigo entrar. O TLS como padrão foi alcançado mais tarde que o SSL e, portanto, inclui algumas das lições aprendidas nas primeiras versões do SSL. O SSLv3 foi ratificado em 1996 e o ​​TLS1.0 em 1999, e o desenvolvimento adicional de protocolos parece estar limitado ao conjunto TLS. Demorou muito tempo para o SSLv1 e a v2 desaparecerem. O TLS é o sucessor claro do conjunto SSL.

sysadmin1138
fonte
Quando o SSLv3 deve desaparecer e ser substituído pelo TLS? Alguma situação hoje ou no futuro próximo que isso seria relevante?
goodguys_activate
@ MakerOfThings7 Em termos de suporte ao navegador, ele desaparecerá assim que 90% dos usuários de navegação ativa suportarem TLS sem retornar ao SSLv3. Provavelmente isso acontecerá nos próximos 5-7 anos. Isso pode mudar se um ponto fraco fácil de explorar for descoberto no SSLv3, o que forçaria um lançamento mais rápido.
sysadmin1138
2
O SSL v 3 e o TLSv1 foram quebrados no ataque BEAST luxsci.com/blog/… ), e o SSL v3 novamente via POODLE ( arstechnica.com/security/2014/10/… ), esperançosamente, podemos pressionar para que o TLS 1.2 seja usado mais frequentemente
Jim B
As especificações para o TLS 1.2 estão aqui tools.ietf.org/html/rfc5246 e para 1.3 (rascunho atualmente) estão aqui ietf.org/id/draft-ietf-tls-tls13-02.txt
Jim B
5

TLS é essencialmente uma atualização para SSL. As alterações não são dramáticas, mas são significativas o suficiente para quebrar a compatibilidade com o SSL3.0.

O artigo da Wikipedia cobre extensivamente, mas em termos razoavelmente compreensíveis. (Não quero RTFM, mas não quero repetir tudo lá.)

Eles são usados ​​de maneiras semelhantes e ainda é referido como SSL. Basicamente, você escolhe seu esquema de criptografia para ser um ou outro.

gWaldo
fonte
5
+1, a maior diferença é que o SSL é criptografia implícita, o que significa que a conexão começa com um handshake de criptografia e não faz nada até obter êxito. O TLS é explícito, a conexão é iniciada e, em algum momento, o cliente pede para começar a criptografar a comunicação.
Chris S
1
@ Chris: Você tem certeza disso? opensslparece discordar. (Muitos programas de dizer "TLS" quando querem dizer "STARTTLS".)
user1686
@Grawity, acho que você está confundindo o modo de fallback do TLS com SSL. Muitos aplicativos usarão um wrapper TLS que reconhece uma negociação SSL e inicia o handshake imediatamente. Se um aplicativo estiver executando TLS puro (sem fallback), deverá emitir o STARTTLS (ou equivalente, depende do protocolo, embora a maioria dos protocolos o use) antes do início do handshake de criptografia.
Chris S
Todos esses comentários se aplicam ao SSL / TLS sendo usado por outros protocolos. SSLv3 e TLSv1.0 são quase idênticos, com diferenças conhecidas apenas pelos especialistas em protocolo.
Nasko
Além disso, o TLS não quebra a compatibilidade com SSL, verifique suas fontes.
Nasko
3

O SSL, como as pessoas já apontaram, é um protocolo desenvolvido pela Netscape no passado. Em algum momento, o corpo de padrões da IETF decidiu adotar o protocolo SSLv3 como padrão, por isso sofreu alterações muito sutilmente e recebeu o nome de TLSv1.0.

Portanto, para a maioria das pessoas, o TLSv1.0 é quase equivalente ao SSLv3. A razão pela qual as pessoas ainda chamam a família de protocolos SSL é por razões históricas - todos estão acostumados com o nome e continuam usando-o. É bem possível que a VPN esteja usando o TLS oculto, mas o nome de marketing ainda permanece como VPN SSL.

Desde o TLSv1.0, houve duas revisões do padrão e agora ele está no TLSv1.2, que embora ainda seja compatível, apresenta algumas mudanças significativas. Devido ao design do SSL / TLS, o cliente e o servidor podem negociar qual versão do protocolo desejam usar, para que os clientes que usam o TLSv1.0 ainda possam conversar com os servidores que implementam o TLSv1.2 e vice-versa.

Considerando a interoperabilidade entre todas as versões do protocolo, não há "mudança", pois elas são da mesma família. É uma questão de "preciso usar a versão mais recente?". Como em qualquer outra área, a resposta a esta pergunta dependerá se a versão atual que você está usando tem alguma limitação ou não. Atualmente, não há problemas com o uso do SSLv3, mas a maioria dos clientes e servidores por aí trabalha com o TLSv1.0.

Espero que isso esclareça um pouco a imagem. Caso contrário, deixe-me saber o que ainda é confuso, tentarei explicar melhor.

Nasko
fonte
0

O TLS é a versão "nova" do SSL? Quais recursos ele adiciona ou quais são os problemas de segurança que ele aborda?

TLS é t ransporte L Ayer S egurança e, geralmente, refere-se ao comando STARTTLS em servidores de correio SMTP. Pode ou não usar SSL (consulte SEE palm versamal, por exemplo), mas em geral o SSL é o principal sistema de segurança usado. O TLS também foi usado para outros fins (como HTTP) e as especificações RFC mais recentes estão na versão 1.2

Qualquer coisa que suporta SSL suporta TLS? O que estaria envolvido em fazer a troca? A mudança vale a pena?

Geralmente, mas por qualquer coisa, com TLS sendo considerado, você está se referindo a servidores de e-mail, portanto, especificamente, servidores de e-mail que possuem um certificado SSL podem usar o TLS para transferir e receber e-mails.

Por que os e-mails são enviados por "TLS oportunista" e as VPNs geralmente chamadas de SSL VPN? Existe alguma diferença na tecnologia, talvez criando espaço para uma linha de produtos "TLS VPN"?

Isso cheira como os meatheads de marketing entraram na sala. "TLS oportunista" significa simplesmente que, se o starttls não retornar um 220 (Pronto para iniciar o TLS), vá em frente e envie o email de qualquer maneira. Observe que TLS é uma opção SENDER e não uma opção de recebimento. Em alguns servidores de email, pode ser possível recusar emails não TLS, mas essa seria a exceção, não a regra.

O TLS também suporta autenticação mútua e não simplesmente a criptografia de uma conexão.

O envio de um email por uma VPN (SSL ou outro esquema de segurança) simplesmente torna a segurança dos servidores de correio essencialmente irrelevante, você pode usar o TLS em uma VPN (e pode até usar o TLS como o esquema de segurança da VPN), mas isso não afeta necessariamente como o correio é transportado se apenas a conexão VPn estiver criptografada entre os servidores de correio (portanto, dos servidores de origem e de destino, eles podem estar transmitindo texto não criptografado padrão)

Jim B
fonte
Eu peço desculpa mas não concordo. O TLS geralmente não se refere ao comando STARTTLS no SMTP. Qualquer documentação que você ler se referirá ao TLS como o protocolo TLS, usado pelo SMTP para proteger seu tráfego. Agora, quando se trata de "TLS Oportunista", você pode envolver protocolos de nível superior que têm a "oportunidade" de usar ou não o TLS.
Nasko
Você certamente pode discordar. No entanto, se você perguntar a 10 administradores para que serve o TLS, 9 dirá email. Até a pergunta pressupõe e-mails sobre TLS. Menciono também que o TLS é usado para outras coisas. O RFC 2434 define quais cifras podem ser negociadas na mensagem Hello do servidor - não tem nada a ver com TLS oportunista. O SMTP não define nenhuma criptografia. RFC 3207 define STARTTLS como uma extensão de servidor
Jim B
"TLS" refere-se apenas a "STARTTLS" incorretamente. STARTTLS é apenas uma palavra-chave para generalizar a abordagem, mas requer integração no protocolo inicial. O comando STARTTLS é semelhante em SMTP e IMAP, mas precisa ser integrado à sintaxe no LDAP; o mesmo mecanismo em S-HTTP (não HTTPS) não usa essa palavra-chave. Não é porque os clientes de email oferecem uma escolha entre "SSL" e "TLS" para significar uma escolha entre SSL / TLS inicial e oportunista que o uso do nome está correto. Aposto que alguns servidores SMTPS suportam TLSv1 muito bem, antecipadamente. Você também pode ver algum SSLv3 depois de usar o STARTTLS.
Bruno
1
Essa resposta está errada. STARTTLS é um comando usado em muitos protocolos (por exemplo, SMTP) para iniciar TLS ou SSL. Fora isso, eles são irrelevantes.
Nikos