Questão de Segurança da Informação — TLS, SSL e HTTPS — VUNESP 2024
Segurança da Informação›TLS, 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.
Identifica-se que esse payload se refere ao protocolo TLS, sucessor do SSL.
Nesse cenário, pode-se afirmar corretamente que
Ao valor 52362c10, em hexadecimal, representa uma estampa de tempo (timestamp).
Ba mensagem capturada ocorre depois de uma mensagem do tipo server_done do handshake SSL/TLS.
Cse trata de uma resposta a uma mensagem do tipo certificate_request do handshake SSL/TLS.
Da mensagem capturada contém um certificado digital X.509.
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.
1ClientHello (timestamp)
2ServerHello
3Certificate
4ServerHelloDone
5ClientKeyExchange
6ChangeCipherSpec
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.