Infraestrutura computacional e redes Flashcards
Quais os tipos de certificados TLS?
- DV (Domain Validation): Verifica apenas a propriedade do domínio.
- OV (Organization Validation): Verifica a identidade da organização por trás do domínio.
- EV (Extended Validation): Oferece o nível mais alto de validação, exibindo o nome da organização na barra de endereços.
Quais os ataques conhecidos ao TLS?
- Ataque POODLE: Explorava a compatibilidade com SSL 3.0.
- Ataque BEAST: Afetava implementações de TLS 1.0.
- Ataque Heartbleed: Uma vulnerabilidade na biblioteca OpenSSL.
Quais os algoritmos utilizados para troca de chaves no protocolo TLS?
Algoritmos de chave assimétrica
RSA (Rivest-Shamir-Adleman)
- Usado em versões antigas do TLS (até TLS 1.2).
- O cliente usa a chave pública do servidor para criptografar um segredo, que é então enviado ao servidor.
- Problema: Se um invasor conseguir a chave privada do servidor, ele pode descriptografar todas as comunicações passadas.
DH (Diffie-Hellman)
- Baseado no problema matemático do Logaritmo Discreto.
- Cliente e servidor geram segredos temporários que, combinados, criam uma chave de sessão.
- Problema: Versões estáticas (DHE com chave fixa) podem ser vulneráveis a ataques.
DHE (Diffie-Hellman Ephemeral)
- Variante de DH que usa chaves temporárias para cada sessão, garantindo sigilo de encaminhamento (Forward Secrecy).
- Evita que um invasor que comprometa a chave privada do servidor descriptografe sessões antigas.
- Usado no TLS 1.2, mas pode ser lento devido ao alto custo computacional.
ECDH (Elliptic Curve Diffie-Hellman)
- Versão baseada em Curvas Elípticas do DH, com segurança equivalente, mas mais eficiente (chaves menores e menor consumo de CPU).
- Pode ser usado de forma estática (ECDH) ou temporária (ECDHE).
ECDHE (Elliptic Curve Diffie-Hellman Ephemeral)
- Variante efêmera de ECDH, garantindo sigilo de encaminhamento.
- Amplamente utilizado no TLS 1.2 e obrigatório no TLS 1.3 devido ao seu alto nível de segurança e eficiência.
PSK (Pre-Shared Key)
- Usa uma chave pré-compartilhada entre cliente e servidor, evitando a necessidade de troca de chaves durante a negociação.
- Menos comum, mas usado em ambientes IoT e VPNs.
RC4 (Rivest Cipher 4)
- Obsoleto.
Quais os algoritmos utilizados para confidencialidade de dados no protocolo TLS?
Algoritmos de chave simétrica.
AES (Advanced Encryption Standard)
- Um dos algoritmos mais utilizados no TLS 1.2 e 1.3.
- Suporta tamanhos de chave de 128, 192 e 256 bits.
- Modos de operação comuns:
- AES-CBC (Cipher Block Chaining) – usado no TLS 1.2, mas vulnerável a ataques como BEAST.
- AES-GCM (Galois/Counter Mode) – modo mais seguro e eficiente, usado no TLS 1.2 e obrigatório no TLS 1.3.
ChaCha20
- Alternativa ao AES, usada quando AES não é eficiente (exemplo: dispositivos móveis sem aceleração de hardware).
- Funciona junto com Poly1305 (MAC) para garantir integridade.
- Usado no TLS 1.2 e TLS 1.3.
3DES (Triple DES) – Depreciado
- Usado em versões antigas do TLS, mas inseguro e lento.
- Vulnerável a ataques como Sweet32.
- Não recomendado no TLS moderno.
Quais as principais partes do protocolo TLS?
Handshake (Negociação Inicial)
- Estabelece a comunicação segura entre cliente e servidor.
- Utiliza algoritmos de chave assimétrica.
- Define qual versão do TLS será usada e quais algoritmos de criptografia serão aplicados.
- No TLS 1.2, pode envolver várias rodadas de troca de mensagens.
- No TLS 1.3, o handshake é otimizado (1-RTT) para reduzir a latência.
Principais Etapas no Handshake:
- Cliente e servidor trocam Hello Messages para escolher a versão do protocolo.
- O servidor envia seu certificado digital para autenticação.
- Definição da troca de chaves (RSA, ECDHE, etc.).
- Geração da chave de sessão para criptografia simétrica.
Registro (Record Layer)
- Responsável por proteger e transportar os dados.
- Utiliza algoritmos de chave simétrica.
- Divide os dados em fragmentos, aplica compressão, autenticação e criptografia.
- Garante confidencialidade (criptografia) e integridade (HMAC, AEAD).
- Trabalha com modos de operação como:
- AES-GCM (TLS 1.2 e 1.3)
- ChaCha20-Poly1305 (TLS 1.2 e 1.3)
Quais as principais mensagens do protocolo TLS?
-
ClientHello:
- Enviado pelo cliente (normalmente o navegador).
- Contém informações como a versão do TLS que o cliente suporta, a lista de cifras (algoritmos de criptografia) preferidas, e dados necessários para estabelecer a conexão.
-
ServerHello:
- Enviado pelo servidor.
- Contém a versão do TLS e a cifra escolhida para a comunicação, junto com outros dados necessários para a troca de chaves e criptografia.
- Após essa mensagem tudo será criptografado.
-
Certificate:
- Enviado pelo servidor.
- Contém o certificado digital do servidor, que é usado para autenticar sua identidade. O certificado inclui a chave pública do servidor, que será usada pelo cliente para a troca de chaves.