4. Record Layer

O Protocolo SSL é um protocolo estruturado em camadas. Em cada camada mensagens podem incluir campos para tamanho, descrição e conteúdo. O protocolo SSL toma as mensagens a serem transmitidas pelas camada superiores, fragmenta os dados em blocos manuseáveis, opcionalmente executa a compressão dos dados, aplica um MAC (message authentication code), encripta e transmite os resultados. Os dados recebidos são descriptados, verificados, descomprimidos e remontados, para então serem entregues aos clientes de camadas de nível superior.

A comunicação de da através do estabelecimento de uma sessão, caracterizado por um Estado de Sessão e um Estado de Conexão.

O Estado de Sessão é constituído pelos seguintes elementos:

O Estado de Conexão é constituido pelos seguintes elementos:

No nível inferior, a Record Layer é suportada por um protocolo de transporte, tal como o TCP, entre a camada de aplicação e a camada de transporte está o SSL RECORD PROTOCOL, que tem a função de encapsular os diversos protocolos de nível superior e prover os seguintes serviços:

Uma vez que o handshake tenha sido completado, as duas partes trocam segredos que são usados para encriptar os registros e computar códigos de autenticação de mensagens (MAC) sobre seus conteúdos. As técnicas utilizadas na encriptação e na função MAC são definidas na mensagem CipherSpec. Estas funções transformam uma estrutura SSLCompressed em um SSLCiphertext. A transmissão inclui tambem um número de seqüência para detectar perda de menssagens, ou mensagens alteradas. O algoritmo MAC é computado antes da encriptação, portanto a encriptação é feita no bloco inteiro, incluindo o MAC.

Exercicio