TLS (Transport Layer Security) funciona sobre TCP (Transmission Control Protocol) estabelecendo um canal de comunicação seguro entre um cliente e um servidor. Quando o TLS é usado sobre TCP, ele se integra à comunicação confiável e orientada à conexão do TCP para garantir a integridade dos dados, o sequenciamento e a entrega confiável. O processo de handshake TLS inicia a conexão segura, onde o cliente e o servidor negociam algoritmos criptográficos, trocam chaves e se autenticam usando certificados digitais. Uma vez concluído o handshake TLS, os dados transmitidos pela conexão TCP são criptografados e descriptografados usando chaves de sessão derivadas dos segredos trocados, garantindo confidencialidade e proteção contra espionagem ou adulteração.
O TLS funciona passo a passo para proteger a comunicação entre um cliente e um servidor em uma rede. O processo começa com o cliente enviando uma mensagem “ClientHello” ao servidor, especificando versões TLS suportadas, algoritmos criptográficos e parâmetros de sessão. O servidor responde com uma mensagem “ServerHello”, selecionando um conjunto de criptografia com suporte mútuo e gerando uma chave de sessão. O servidor também envia seu certificado digital ao cliente para autenticação. O cliente verifica o certificado do servidor e gera um segredo pré-mestre, criptografa-o com a chave pública do servidor e envia-o ao servidor. Ambas as partes derivam chaves de sessão do segredo pré-mestre e as utilizam para criptografar transmissões de dados subsequentes, garantindo confidencialidade, integridade e autenticidade da comunicação.
O TLS opera principalmente sobre TCP devido à confiabilidade, ao sequenciamento e à natureza orientada à conexão do TCP, que são essenciais para uma comunicação segura que exige entrega e ordem de dados garantidas. O TLS aproveita os recursos do TCP para estabelecer e gerenciar conexões seguras, criptografando cargas de dados para proteger contra interceptação e manipulação, garantindo ao mesmo tempo uma transmissão confiável entre clientes e servidores através de redes IP.
O TLS pode funcionar tecnicamente sobre UDP (User Datagram Protocol), mas é menos comumente usado na prática. O UDP não tem conexão e não garante entrega confiável ou sequenciamento de dados, o que representa desafios para a implementação do TLS. No entanto, em certos cenários onde a comunicação leve e em tempo real é priorizada em detrimento da confiabilidade (como VoIP ou jogos online), o Datagram Transport Layer Security (DTLS), uma variante do TLS projetada para UDP, pode ser usado. O DTLS incorpora mecanismos para abordar as características do UDP, como retransmissões de handshake e verificação de número de sequência, para fornecer comunicação segura em redes UDP não confiáveis.
O TLS funciona com HTTP (Hypertext Transfer Protocol) para fornecer comunicação segura entre clientes (como navegadores da web) e servidores (como sites). Quando o TLS é usado com HTTP, ele é comumente chamado de HTTPS (HTTP Secure). O HTTPS criptografa solicitações e respostas HTTP usando TLS, protegendo dados confidenciais, como credenciais de login, transações financeiras e informações pessoais, contra interceptação por agentes mal-intencionados. O TLS protege as comunicações HTTP estabelecendo uma sessão TLS segura por meio de um processo de handshake, verificando a identidade do servidor com certificados digitais e criptografando os dados transmitidos pela conexão HTTP para garantir a confidencialidade, integridade e autenticidade das interações na web.