Camada de registros do TLS e conjuntos de cifras
Compreenda a fragmentação de registros, a encriptação AEAD e a seleção de cifras.
Camada de registros do TLS e conjuntos de cifras é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.
Visão geral da camada de registros
A camada de registros do TLS é a subcamada de transporte do TLS. Ela fragmenta os dados em registros de até 16 KB, opcionalmente os compacta (apenas no TLS 1.2), os cifra com AEAD e adiciona um cabeçalho de 5 bytes.
Campos do cabeçalho de registro
Bytes 0: ContentType (20=ChangeCipherSpec, 21=Alerta, 22=Negociação, 23=ApplicationData). Bytes 1–2: versão legada (0x0303 para compatibilidade com o TLS 1.2). Bytes 3–4: comprimento do conteúdo útil seguinte.
Criptografia AEAD nos registros
No TLS 1.3, cada registro é cifrado com AEAD (por exemplo, AES-GCM). O valor único é derivado aplicando XOR entre o número de sequência implícito e o IV de tráfego. O AAD é o cabeçalho de registro de 5 bytes. A marca de autenticação é anexada.
Nomenclatura dos conjuntos de cifras
TLS_AES_128_GCM_SHA256 = troca de chaves (ECDHE implícito no TLS 1.3) + AES-128-GCM (AEAD) + SHA-256 (para HKDF). No TLS 1.2: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 nomeia todos os componentes explicitamente.
Conjuntos de cifras obsoletos
O TLS 1.3 proíbe: RC4 (fluxo de chaves enviesado), 3DES (ataque de encontro no meio, Sweet32), modo CBC (BEAST, Lucky13, POODLE), criptografia NULL, cifras de grau de exportação (40 bits) e MD5/SHA-1 no PRF. Apenas conjuntos AEAD permanecem.
Fragmentação de registros
Registros TLS grandes são divididos em fragmentos de ≤16 KB. Cada fragmento é criptografado de forma independente. O receptor remonta os registros antes de encaminhá-los à camada de aplicação. Os limites da fragmentação não têm significado semântico.
Protocolo de alertas
Os alertas são enviados como registros TLS com ContentType=21. Dois bytes: nível (1=aviso, 2=fatal) + descrição (0=close_notify, 40=handshake_failure, 42=bad_certificate, 70=protocol_version). Os alertas fatais encerram a conexão.
Valor único do número de sequência
O número de sequência por registro começa em 0 e aumenta de 1 em 1. Ele é preenchido até o comprimento do vetor de inicialização (12 bytes para GCM) e submetido a XOR com o vetor de inicialização do tráfego. Isso impede a reutilização desse valor entre registros sem a transmissão explícita de um valor único.
Escolha de um conjunto de cifras
Dê preferência a TLS_AES_256_GCM_SHA384 para obter segurança de 256 bits. Use TLS_CHACHA20_POLY1305_SHA256 em dispositivos móveis ou embarcados sem AES-NI. Evite conjuntos de cifras de 128 bits para dados altamente sensíveis e de longa duração.
DTLS: TLS sobre UDP
O DTLS (RFC 6347) adapta o TLS ao UDP. Ele adiciona números de sequência aos cabeçalhos dos registros, lida com a reordenação e usa uma negociação baseada em cookie para evitar ataques de negação de serviço. É usado em WebRTC, VPNs e protocolos da Internet das Coisas.
Inspeção de registros com Python
Use o módulo ssl ou o scapy para capturar registros TLS. Com SSLKEYLOGFILE definido, o Wireshark descriptografa os registros automaticamente. O método Python ssl.SSLSocket.read() descriptografa os dados de forma transparente na camada de aplicação.
Verificação rápida
Contra o que o número de sequência protege na criptografia de registros do TLS 1.3?
Recapitulação
Você compreende a estrutura dos registros TLS, a criptografia AEAD, a derivação de valores únicos e a seleção de conjuntos de cifras. A seguir: como o TLS valida os certificados do servidor durante a negociação.
Perguntas Frequentes
A aula “Camada de registros do TLS e conjuntos de cifras” é grátis?
Sim — o texto completo de “Camada de registros do TLS e conjuntos de cifras” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.
O que vou aprender em “Camada de registros do TLS e conjuntos de cifras”?
Compreenda a fragmentação de registros, a encriptação AEAD e a seleção de cifras. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cryptology Academy?
Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Camada de registros do TLS e conjuntos de cifras”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cryptology Academy?
Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Handshake do TLS 1.3 passo a passo
- Camada de registros do TLS e conjuntos de cifras
- Validação de certificados no TLS
- Ataques ao TLS: BEAST, POODLE e downgrade