O protocolo de registro SSL/TLS é responsável pela transmissão confiável e segura de dados entre um cliente e um servidor. Ele fica abaixo dos protocolos de dados de handshake e aplicativos TLS de nível superior. Sua operação envolve estas etapas:
1.
Fragmentação: Os dados do aplicativo (por exemplo, de HTTP, SMTP) são divididos em fragmentos de um tamanho gerenciável. Isso é crucial para a transmissão de rede eficiente e impede que pacotes excessivamente grandes sobrecarregem a rede.
2.
compressão (opcional): Os dados fragmentados são opcionalmente compactados. Esta etapa é menos comum nas implementações modernas, porque a sobrecarga de compressão geralmente supera os benefícios da largura de banda reduzida. No entanto, o protocolo suporta.
3.
Cálculo do MAC: Um código de autenticação de mensagem (MAC) é calculado usando uma chave secreta derivada durante o aperto de mão. Isso fornece integridade de dados, garantindo que os dados não tenham sido adulterados durante o trânsito. O algoritmo Mac específico é determinado durante o aperto de mão (por exemplo, HMAC-SHA256).
4.
Criptografia: Os dados (junto com o Mac) são criptografados usando um algoritmo cifra simétrico acordado durante o handshake (por exemplo, AES-128-GCM, chacha20-Poly1305). Isso garante a confidencialidade, impedindo que os espinhos de ler as informações transmitidas.
5.
Criação de registro: Os dados criptografados, juntamente com o tipo de registro (por exemplo, alterar especificações cifra, alerta, dados de aplicativos), são encapsulados em um registro SSL/TLS. Este registro inclui cabeçalhos especificando o tipo de conteúdo, versão de protocolo e comprimento.
6.
transmissão: O registro SSL/TLS é transmitido pelo protocolo de transporte subjacente (geralmente TCP).
7. Recepção
: O destinatário recebe o registro SSL/TLS.
8.
Decripção: O destinatário descriptografa o registro usando a chave simétrica compartilhada.
9.
verificação do Mac: O destinatário recalcula o Mac usando os dados recebidos e a chave secreta compartilhada. Em seguida, compara o Mac recalculado com o Mac recebido. Uma incompatibilidade indica adulteração ou corrupção de dados.
10.
descompressão (opcional): Se a compactação foi usada, o destinatário descomprima os dados.
11.
remontagem: O destinatário remonta os fragmentos nos dados originais do aplicativo.
12.
Passando para a camada de aplicação: Os dados de aplicativos remontados são passados para a camada de aplicativo para processamento.
em resumo: O protocolo de registro SSL/TLS garante comunicação segura fragmentando, compactando (opcionalmente), adicionando MAC para integridade, criptografando a confidencialidade, encapsulando em um registro, transmitindo e revertendo o processo por outro lado para fornecer os dados originais com segurança. Cada etapa usa algoritmos e chaves estabelecidos durante o processo de aperto de mão anterior. Qualquer falha em qualquer estágio, como a incompatibilidade do MAC, geralmente resulta na encerramento da conexão.