Pular para o conteúdo principal

Questão de Segurança da Informação — TLS, SSL e HTTPS — VUNESP 2024

Segurança da InformaçãoTLS, SSL e HTTPS
Código
vu212368
Banca
VUNESP
Órgão
EsFCEx
Ano
2024
Cargo
CFO/QC ( )

Um pacote de rede foi capturado por uma ferramenta do tipo sniffer, que efetua monitoramento e análise de tráfego. Sobre esse pacote, verificou-se que carrega um segmento TCP, o qual é exibido juntamente com seu payload da seguinte maneira.

Imagem associada para resolução da questão

Identifica-se que esse payload se refere ao protocolo TLS, sucessor do SSL. 

 

Nesse cenário, pode-se afirmar corretamente que

  1. Ao valor 52362c10, em hexadecimal, representa uma estampa de tempo (timestamp).
  2. Ba mensagem capturada ocorre depois de uma mensagem do tipo server_done do handshake SSL/TLS.
  3. Cse trata de uma resposta a uma mensagem do tipo certificate_request do handshake SSL/TLS.
  4. Da mensagem capturada contém um certificado digital X.509.
  5. Ea mensagem indica que quatro conjuntos de cifras são suportados pelo cliente.
Revelar gabarito e comentário

GabaritoA — o valor 52362c10, em hexadecimal, representa uma estampa de tempo (timestamp).

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Protocolo TLS: análise de payload capturado

Gabarito: letra A. O valor 52362c10 em hexadecimal, presente no payload TLS, representa uma estampa de tempo (timestamp) — campo gmt_unix_time do registro ClientHello, que carrega a data/hora do cliente no momento do início do handshake. As demais alternativas descrevem mensagens ou conteúdos que não correspondem ao que é exibido no pacote capturado.

O TLS (Transport Layer Security) é o protocolo sucessor do SSL (Secure Sockets Layer), desenvolvido pela Netscape em 1994. O SSL 3.0, lançado em 1996, serviu de base para o TLS 1.0, padronizado pela IETF no RFC 2246. Ambos operam sobre um protocolo de transporte confiável (TCP) e têm como objetivo prover confidencialidade, integridade e autenticação para as comunicações. O handshake TLS é o processo pelo qual cliente e servidor negociam a versão do protocolo, os algoritmos criptográficos (cipher suites) e trocam as chaves necessárias para estabelecer uma sessão segura.

O handshake TLS segue uma sequência bem definida de mensagens. O cliente inicia enviando um ClientHello, que contém a versão máxima do protocolo suportada, uma lista de cipher suites, um número aleatório (nonce) e, em versões mais antigas, um timestamp. O servidor responde com ServerHello, escolhendo a versão e a cipher suite, e pode enviar Certificate (seu certificado X.509), ServerKeyExchange, CertificateRequest (se solicitar autenticação do cliente) e ServerHelloDone. O cliente então responde com ClientKeyExchange, possivelmente Certificate e CertificateVerify, e finalmente ChangeCipherSpec e Finished. A partir daí, os dados da aplicação são trocados de forma criptografada.

A mensagem capturada, identificada como TLS, exibe o valor 52362c10 em hexadecimal. Esse valor, quando convertido para decimal, corresponde a 1379449872, que representa uma data/hora específica (em 2013). No TLS 1.0 e 1.1, o campo gmt_unix_time do ClientHello é exatamente um timestamp de 4 bytes que indica o horário do cliente. Esse campo foi removido no TLS 1.2 e 1.3 por questões de privacidade, mas sua presença no payload é um forte indicativo de que se trata de um ClientHello de uma versão antiga do protocolo.

A pegadinha da banca está em associar o payload a mensagens do handshake que não são as primeiras trocadas. O ClientHello é a primeira mensagem enviada pelo cliente, antes de qualquer ServerHelloDone, CertificateRequest ou troca de certificados. Além disso, a lista de cipher suites é um campo do ClientHello, mas o valor 52362c10 não representa essa lista — ele é o timestamp. A alternativa correta é a única que identifica corretamente o campo presente no payload.

  1. 1ClientHello (timestamp)
  2. 2ServerHello
  3. 3Certificate
  4. 4ServerHelloDone
  5. 5ClientKeyExchange
  6. 6ChangeCipherSpec
  7. 7Finished
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

O valor 52362c10 em hexadecimal é a representação do campo gmt_unix_time do registro ClientHello do TLS. Esse campo é um timestamp de 4 bytes que indica a data e hora do cliente no momento do início do handshake. Convertendo 0x52362c10 para decimal, obtemos 1379449872, que corresponde a uma data em 2013. Essa é a interpretação correta do valor exibido no payload.

Alternativa B — ❌ Incorreta

A mensagem capturada é um ClientHello, que é a primeira mensagem do handshake TLS, enviada pelo cliente ao servidor. A mensagem server_done (ou ServerHelloDone) é enviada pelo servidor depois de receber o ClientHello e enviar suas próprias mensagens (ServerHello, Certificate, etc.). Portanto, o ClientHello ocorre antes de qualquer server_done, não depois.

Alternativa C — ❌ Incorreta

A mensagem capturada é um ClientHello, que é a primeira mensagem do handshake. A mensagem certificate_request é enviada pelo servidor ao cliente, solicitando que o cliente apresente seu certificado digital. Isso ocorre depois do ClientHello, na fase de negociação. O ClientHello não é uma resposta a certificate_request; ele é a mensagem que inicia o handshake.

Alternativa D — ❌ Incorreta

O ClientHello não contém um certificado digital X.509. O certificado é enviado pelo servidor na mensagem Certificate, que ocorre depois do ServerHello. O ClientHello apenas inicia a negociação, declarando as capacidades do cliente (versão, cipher suites, timestamp). O certificado X.509 é uma estrutura separada, transmitida em uma mensagem posterior do handshake.

Alternativa E — ❌ Incorreta

O ClientHello contém uma lista de cipher suites suportadas pelo cliente, mas o valor 52362c10 não representa essa lista. Esse valor é o timestamp (gmt_unix_time). A lista de cipher suites é um campo separado, que vem após o timestamp e o número aleatório, e é codificada como uma sequência de identificadores de 2 bytes. O payload exibido não mostra essa lista, apenas o timestamp.

Gabarito: letra A

Link permanente: /questoes/vu212368