TLS/SSL (Transport Layer Security / Secure Sockets Layer)

Definição

TLS (Transport Layer Security) e seu antecessor SSL (Secure Sockets Layer) são protocolos criptográficos que têm como objetivo proteger a comunicação de dados entre dois sistemas, garantindo segurança na troca de informações pela internet.

O TLS atua entre a camada de transporte (TCP) e os protocolos de aplicação (como HTTP), fornecendo:

  • Criptografia dos dados em trânsito;
  • Autenticação entre as partes (geralmente do servidor);
  • Integridade dos dados.

Embora o termo SSL ainda seja muito usado, ele está obsoleto. A maioria dos sistemas modernos usa TLS 1.2 ou TLS 1.3.

Objetivos do TLS/SSL

  • Confidencialidade: impedir que terceiros leiam os dados transmitidos.
  • Integridade: detectar qualquer alteração nos dados durante o transporte.
  • Autenticação: validar a identidade do servidor (e opcionalmente do cliente).
  • Base para HTTPS: o TLS é o protocolo de segurança utilizado no HTTPS.

Exemplo prático (Python) — Conectar com TLS e verificar segurança

import ssl
import socket

def testar_tls(hostname):
    contexto = ssl.create_default_context()
    with socket.create_connection((hostname, 443)) as sock:
        with contexto.wrap_socket(sock, server_hostname=hostname) as ssock:
            print(f"Protocolo TLS utilizado com {hostname}:", ssock.version())

# Exemplo de uso
testar_tls("www.programicio.com")

Saída

Protocolo TLS utilizado com www.programicio.com: TLSv1.3

(A versão pode variar de acordo com o servidor.)

O ciclo do TLS/SSL

[Cliente inicia conexão] --> (Handshake TLS: troca de chaves e verificação do certificado) --> [Canal seguro estabelecido]
  • O handshake define os algoritmos e chaves de sessão.

  • Após isso, os dados são transmitidos com criptografia ponta a ponta.

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com