TLS (Transport Layer Security) é um protocolo criptográfico projetado para fornecer comunicação segura em uma rede de computadores. Ele é bem-sucedido e é baseado no protocolo SSL (Secure Sockets Layer) anterior, com o objetivo de aumentar a segurança, melhorar a eficiência e solucionar vulnerabilidades encontradas no SSL. O TLS opera na camada de transporte do modelo OSI, protegendo os canais de comunicação entre aplicativos executados em sistemas cliente e servidor. Ele garante a confidencialidade, integridade e autenticação dos dados, criptografando os dados transmitidos pela rede e verificando as identidades das partes comunicantes usando certificados digitais.
Em resumo, o TLS estabelece uma conexão segura entre um cliente e um servidor negociando algoritmos de criptografia, trocando chaves e autenticando identidades. Ele protege informações confidenciais, como credenciais de login, transações financeiras e dados pessoais, contra acesso e interceptação não autorizados. O TLS visa fornecer recursos de segurança robustos, mantendo a compatibilidade com protocolos e aplicativos existentes, garantindo comunicação segura entre vários serviços e aplicativos de rede.
TLS significa Transport Layer Security, substituindo o protocolo anterior SSL (Secure Sockets Layer). A mudança na nomenclatura de SSL para TLS reflete melhorias e aprimoramentos significativos nos protocolos de segurança e algoritmos criptográficos. O TLS incorpora algoritmos de criptografia mais fortes, mecanismos de autenticação aprimorados e melhor resistência contra ataques e vulnerabilidades identificadas em versões anteriores do SSL. A transição de SSL para TLS significa uma mudança em direção a métodos mais seguros e confiáveis de estabelecimento de canais de comunicação criptografados na Internet e em outras redes de computadores.
O processo de TLS envolve várias etapas importantes para estabelecer uma conexão segura e criptografada entre um cliente e um servidor:
- Handshake: O processo de handshake TLS começa com o cliente enviando uma mensagem “ClientHello” ao servidor, especificando versões TLS suportadas e algoritmos de criptografia.
- Resposta do servidor: O servidor responde com uma mensagem “ServerHello”, selecionando a versão TLS mais alta e o conjunto de criptografia mais forte compatível com as preferências do cliente.
- Certificate Exchange: O servidor envia ao cliente seu certificado digital, contendo sua chave pública e outras informações de identificação. O cliente verifica a autenticidade do certificado em relação a autoridades de certificação (CAs) confiáveis.
- Key Exchange: Usando criptografia assimétrica, o cliente e o servidor trocam chaves de sessão simétricas para serem usadas para criptografar e descriptografar dados durante a sessão TLS.
- Criptografia: Uma vez estabelecidas as chaves de sessão, os dados trocados entre o cliente e o servidor são criptografados e descriptografados usando algoritmos de criptografia simétrica acordados durante o handshake.
- Estabelecimento da conexão: Com o handshake completo e as chaves de sessão seguras estabelecidas, o protocolo TLS garante a comunicação criptografada e autenticada entre o cliente e o servidor.
O TLS opera na camada de transporte (Camada 4) do modelo OSI (Open Systems Interconnection). Ele protege canais de comunicação entre aplicativos executados em sistemas cliente e servidor, acima da camada TCP (Protocolo de Controle de Transmissão) e abaixo da camada de aplicativo (Camada 7). Ao operar na camada de transporte, o TLS garante que os dados trocados entre aplicativos sejam criptografados, autenticados e protegidos contra acesso não autorizado ou adulteração durante a transmissão. Esse posicionamento permite que o TLS forneça comunicação segura para vários protocolos de camada de aplicação, como HTTP (em HTTPS), SMTP, FTPS e outros, garantindo segurança ponta a ponta em uma ampla gama de serviços e aplicações de rede.