Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

06 - Comunicação Segura

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

Comunicação Segura (Visão Geral)

A Comunicação Segura garante que os dados trocados entre dois pontos da rede não possam ser lidos (Confidencialidade) nem modificados (Integridade) por terceiros. Em redes modernas, assume-se que o meio físico é hostil (paradigma Zero Trust), e por isso aplicam-se camadas de proteção lógica em diferentes níveis.

1. Pilares da Comunicação Segura

Para que uma comunicação seja considerada segura, ela deve implementar:

  • Confidencialidade: Dados só podem ser lidos pelos destinatários autorizados — cifragem.
  • Integridade: Dados não podem ser alterados em trânsito sem detecção — HMAC, AEAD.
  • Autenticação de Ponta a Ponta: Garantia de que você está falando com quem deseja — certificados X.509, PKI.
  • Assinatura de Mensagem: Garantia de que o conteúdo não foi alterado e de autoria — assinatura digital.
  • Disponibilidade: O canal deve resistir a ataques de negação de serviço — DDoS protection, rate limiting.
  • Não-repúdio: Emissor não pode negar o envio — assinatura digital com chave privada.

2. Criptografia Simétrica vs. Assimétrica

Criptografia Simétrica

  • Mesma chave cifra e decifra.
  • Rápida (AES atinge ~10 Gbps em CPU moderno, ~100 Gbps com AES-NI).
  • Problema: distribuição segura da chave.
  • Algoritmos: AES-128/192/256, ChaCha20, 3DES (obsoleto), RC4 (inseguro).
  • Modos: GCM (recomendado, AEAD), CBC (legado), CTR.

Criptografia Assimétrica

  • Par de chaves: pública (compartilhada) + privada (secreta).
  • Lenta (~1000x mais lenta que simétrica).
  • Resolver o problema de distribuição de chaves.
  • Algoritmos: RSA, ECC (P-256, P-384, Curve25519), Diffie-Hellman.

Híbrido (Cifragem Prática)

[1] Cliente gera chave de sessão aleatória (symmetric, 256 bits)
[2] Cifra a chave de sessão com a chave pública do servidor (RSA/ECDSA)
[3] Envia a chave cifrada
[4] Servidor decifra com sua chave privada -> obtém chave de sessão
[5] Ambos usam a chave de sessão para cifrar todo o tráfego (AES-GCM)

[Alternativa moderna - DH/ECDH]:
[1] Cliente e servidor fazem ECDHE (Diffie-Hellman em curva elíptica)
[2] Derivam segredo compartilhado -> chave de sessão
[3] Cifragem simétrica (forward secrecy)

3. Funções de Hash Criptográfico

Hashes são funções unidirecionais que produzem um digest de tamanho fixo. Usados para verificar integridade, armazenar senhas e construir assinaturas digitais.

Algoritmo Tamanho do Hash Status
MD5 128 bits Quebrado, NÃO usar
SHA-1 160 bits Quebrado (SHAttered 2017)
SHA-256 256 bits Recomendado
SHA-3 224-512 bits Recomendado (Keccak)
BLAKE2/3 256-512 bits Rápido, recomendado

Para senhas, usar algoritmos com fator de custo: bcrypt, scrypt, Argon2id (vencedor da Password Hashing Competition 2015).

4. Assinatura Digital

A assinatura digital usa criptografia assimétrica "invertida": o emissor cifra o hash com sua chave privada, e o destinatário decifra com a chave pública. Como apenas o emissor possui a chave privada, fica provada a autoria. Algoritmos modernos: RSA-PSS, ECDSA, Ed25519.

5. VPN — Redes Privadas Virtuais

VPNs criam túneis criptografados sobre redes públicas, garantindo confidencialidade e integridade ponta-a-ponta.

IPSec (IP Security, RFC 4301+)

  • Camada 3 (Network), independente de aplicação.
  • Protocolos: ESP (cifragem + integridade), AH (apenas integridade, sem cifra), IKE (negociação).
  • Modos: Transport (cifra payload, mantém IP original) ou Tunnel (cifra pacote inteiro, novo cabeçalho IP).
  • Cifras modernas: AES-GCM, ChaCha20-Poly1305.
  • Site-to-Site (Cisco ASA, Fortinet, Palo Alto) e Remote Access (Cisco AnyConnect, FortiClient).

SSL/TLS (Transport Layer Security)

  • Camada 4/5, embutido em quase todo protocolo de aplicação: HTTPS, MQTTS, LDAPS, IMAPS, SMTPS, FTPS, SIP-TLS.
  • TLS 1.3 (RFC 8446): handshake otimizado (1-RTT ou 0-RTT), cifra suite reduzida (apenas AEAD), Perfect Forward Secrecy obrigatório.
  • Implementações: OpenSSL, BoringSSL (Google), LibreSSL, NSS (Mozilla), wolfSSL (IoT).

L2TP (Layer 2 Tunneling Protocol, RFC 2661)

  • Camada 2, encapsula quadros PPP.
  • Sem cifragem própria — combinado com IPSec (L2TP/IPSec) para segurança.
  • Em desuso em favor de SSL VPN e WireGuard.

WireGuard

  • Protocolo moderno (RFC aberto, kernel Linux desde 5.6).
  • Apenas ~4.000 linhas de código (vs. ~600.000 do OpenSSL).
  • Cifra única: ChaCha20-Poly1305, Curve25519, BLAKE2s, HKDF.
  • Sem configuração de algoritmo — reduz superfície de ataque.

Comparativo

VPN Camada Cifra Padrão Porta
IPSec 3 AES-GCM UDP 500, 4500
SSL/TLS 4/5 AES-GCM, ChaCha20 TCP 443
L2TP/IPSec 2/3 AES-CBC UDP 1701, 500
OpenVPN 4 AES-GCM UDP/TCP 1194
WireGuard 3 ChaCha20-Poly1305 UDP 51820

6. Certificados Digitais e PKI

Certificado X.509

Documento assinado por uma CA (Certificate Authority) que vincula uma chave pública a uma identidade (domínio, organização, pessoa). Contém:

  • Versão (atual: v3)
  • Número de série
  • Algoritmo de assinatura (ex: sha256WithRSAEncryption)
  • Emissor (CA DN)
  • Validade (notBefore, notAfter)
  • Sujeito (titular DN)
  • Chave pública
  • Extensões: SAN (Subject Alternative Name), KeyUsage, BasicConstraints, CRL Distribution Points, Authority Information Access (AIA).

PKI (Public Key Infrastructure)

Conjunto de políticas, hardware, software e pessoas que gerenciam o ciclo de vida de certificados:

  • CA Raiz (Root CA): autoassinada, offline em HSM.
  • CA Intermediária: assina certificados finais, isolando a raiz.
  • RA (Registration Authority): valida identidade do solicitante.
  • CRL/OCSP: mecanismos de revogação.
  • CT (Certificate Transparency): logs públicos (Google) para auditoria.

7. Em Trânsito vs. At Rest

Estado Significado Exemplos
In Transit Dados trafegando na rede HTTPS, IPSec, WireGuard
At Rest Dados armazenados em disco/banco LUKS, BitLocker, AES-TDE, S3 SSE
In Use Dados em memória/CPU Confidential Computing (Intel SGX, AMD SEV)

Recomendação moderna: cifrar em ambos — TLS protege em trânsito, criptografia de disco protege em repouso. Para dados altamente sensíveis, considerar cifragem em nível de aplicação (envelope encryption com KMS).

8. Exemplo Prático: Configuração TLS 1.3 em Nginx

server {
    listen 443 ssl http2;
    server_name exemplo.com;

    ssl_certificate     /etc/ssl/certs/exemplo.crt;
    ssl_certificate_key /etc/ssl/private/exemplo.key;

    ssl_protocols TLSv1.3 TLSv1.2;
    ssl_prefer_server_ciphers off;
    ssl_ciphers 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256';
    ssl_ecdh_curve X25519:P-256;

    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;
    ssl_session_tickets off;

    # OCSP Stapling
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 1.1.1.1 valid=300s;
}

9. Boas Práticas

  • Desativar TLS 1.0 e 1.1 (RFC 8996).
  • Preferir TLS 1.3 e, quando usar 1.2, restringir a AEAD (AES-GCM, ChaCha20-Poly1305).
  • Renovar certificados antes do vencimento (ACME / Let's Encrypt automatiza isso).
  • Habilitar HSTS (Strict-Transport-Security: max-age=63072000; includeSubDomains; preload).
  • Avaliar adoção de mTLS (mutual TLS) para APIs internas (zero trust).
  • Monitorar fraquezas com ssllabs.com, testssl.sh, Mozilla Observatory.
Important

A segurança da comunicação depende da força dos algoritmos e chaves usados. Chaves curtas ou algoritmos antigos (como MD5 ou DES) são vulneráveis e devem ser evitados em redes corporativas. Algoritmos como RC4, 3DES e SHA-1 já têm ataques práticos publicados.

10. Resumo Técnico

Aspecto Recomendação 2024+
Cifra simétrica AES-256-GCM, ChaCha20-Poly1305
Troca de chaves X25519 (ECDHE)
Assinatura Ed25519, RSA-PSS-3072, ECDSA P-256
Hash SHA-256, SHA-3, BLAKE3
Senhas Argon2id
Protocolo VPN WireGuard, IPSec IKEv2, OpenVPN
TLS TLS 1.3 exclusivo

11. Conclusão

A comunicação segura é construída em camadas: criptografia simétrica para desempenho, assimétrica para troca de chaves, hash para integridade, certificados para autenticidade e VPNs para isolar tráfego. A combinação correta dessas primitives é o que torna possível hoje transações bancárias, governança eletrônica e comunicação empresarial segura sobre uma internet inerentemente insegura. A evolução contínua dos protocolos (TLS 1.3, WireGuard, Ed25519, Argon2) e a migração para esquemas pós-quânticos são tópicos que devem ser acompanhados por qualquer arquiteto de segurança.