Questão de Segurança da Informação — OAuth — VUNESP 2023
Segurança da Informação›OAuth
Código
vu196438
Banca
VUNESP
Órgão
Pref Pindamonhangaba
Ano
2023
Cargo
WDes (Pref Pinda)
No padrão OAuth 2.0, a respeito de tokens do tipo Bearer, é correto afirmar que
Anão apresentam a possibilidade de expirar após um intervalo de tempo e, portanto, não são considerados seguros.
Bsão encriptados por si só e, portanto, o uso de TLS é dispensável em requisições que acessam recursos protegidos, conforme RFC 6750.
Cbaseiam-se em um Message Authentication Code (MAC) criptográfico computado com elementos da requisição ao recurso protegido, sendo enviado no próprio cabeçalho HTTP.
Dconsistem em strings no formato usuário:senha codificados em Base64.
Equalquer um que possua o token pode utilizá-lo para acessar recursos protegidos, desde que ele seja válido, sem precisar provar a posse de uma chave criptográfica.
Revelar gabarito e comentário▾
GabaritoE — qualquer um que possua o token pode utilizá-lo para acessar recursos protegidos, desde que ele seja válido, sem precisar provar a posse de uma chave criptográfica.
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”.
Tokens Bearer no OAuth 2.0
Gabarito: letra E. O token Bearer é um token de acesso que confere ao seu portador o direito de acessar recursos protegidos, sem que ele precise provar a posse de uma chave criptográfica — basta que o token seja válido. Essa é a definição central do RFC 6750, que especifica o uso de tokens Bearer no OAuth 2.0.
O OAuth 2.0 é um protocolo de autorização que permite que aplicações acessem recursos protegidos em nome de um usuário, sem expor suas credenciais. Para isso, o servidor de autorização emite tokens de acesso, que são apresentados pelo cliente ao servidor de recursos. O token Bearer é o tipo mais comum de token de acesso no OAuth 2.0. A palavra "Bearer" significa "portador": quem possui o token é considerado autorizado a usá-lo, como se fosse um "vale-presente" digital. Essa característica traz uma implicação de segurança importante: se o token for roubado ou vazado, o atacante pode usá-lo para acessar os recursos protegidos, desde que o token ainda seja válido. Por isso, o RFC 6750 recomenda fortemente o uso de TLS (HTTPS) para proteger a transmissão do token, e também recomenda que os tokens tenham um tempo de vida curto e sejam revogáveis.
A alternativa E captura exatamente essa essência: qualquer um que possua o token pode utilizá-lo, sem precisar provar a posse de uma chave criptográfica. Isso é o que diferencia o token Bearer de outros tipos de token, como o Sender-Constrained Token, que exige que o cliente comprove a posse de uma chave privada (proof of possession). O token Bearer é simples e amplamente utilizado, mas sua segurança depende de medidas complementares, como o uso de TLS e a gestão adequada do ciclo de vida do token.
A banca explora a confusão entre o token Bearer e outros mecanismos de segurança, como a criptografia, o MAC (Message Authentication Code) e a autenticação básica HTTP. É importante entender que o token Bearer não é criptografado por si só, não usa MAC, e não é uma string no formato usuário:senha codificada em Base64. Ele é apenas uma string opaca (ou um JWT) que representa uma autorização concedida. A segurança do token Bearer não está na sua estrutura interna, mas na sua transmissão segura (TLS) e na sua validade limitada.
Guarde a fronteira entre o token Bearer e os demais mecanismos: o Bearer é "quem tem, usa"; o Sender-Constrained exige prova de posse; a autenticação básica usa usuário:senha em Base64; e o MAC é um código de autenticação de mensagem. É exatamente nessa fronteira que as alternativas se dividem.
Token Bearer (OAuth 2.0): Definição (RFC 6750) (Quem possui, usa, Sem prova de posse de chave, String opaca ou JWT); Segurança (TLS obrigatório, Tempo de vida curto, Revogável); Confusões comuns (Não é criptografado, Não usa MAC, Não é Basic Auth (Base64)); Contraste (Sender-Constrained: exige prova de posse)
Alternativa A — ❌ Incorreta
Afirma que os tokens Bearer não podem expirar e, por isso, não são seguros. Isso é falso: os tokens Bearer podem e devem expirar após um intervalo de tempo. O access token do OAuth 2.0 tem tempo de vida curto, justamente para reduzir o risco de uso indevido em caso de vazamento. A expiração é uma medida de segurança, não uma ausência dela. O erro está em afirmar que não há possibilidade de expiração.
Alternativa B — ❌ Incorreta
Afirma que os tokens Bearer são encriptados por si só e que o uso de TLS é dispensável. Isso é duplamente errado. Primeiro, o token Bearer não é criptografado por si só — ele pode ser uma string opaca ou um JWT assinado, mas a criptografia não é uma característica inerente ao Bearer. Segundo, o RFC 6750 exige o uso de TLS para proteger a transmissão do token, justamente porque o Bearer não tem proteção criptográfica própria. A alternativa inverte a recomendação de segurança.
Alternativa C — ❌ Incorreta
Afirma que os tokens Bearer se baseiam em um Message Authentication Code (MAC) criptográfico computado com elementos da requisição. Isso é uma confusão com o OAuth 1.0, que usava assinaturas HMAC, e com o conceito de Sender-Constrained Token. O token Bearer do OAuth 2.0 não usa MAC — ele é simplesmente apresentado no cabeçalho HTTP, sem qualquer prova de posse ou assinatura. A alternativa descreve um mecanismo de segurança que não é o do Bearer.
Alternativa D — ❌ Incorreta
Afirma que os tokens Bearer consistem em strings no formato usuário:senha codificados em Base64. Isso é a descrição da autenticação básica HTTP (Basic Auth), não do token Bearer. O token Bearer é uma string opaca ou um JWT, que representa uma autorização concedida, e não contém credenciais do usuário. A alternativa confunde dois mecanismos de autenticação/autorização completamente diferentes.
Alternativa E — ✅ Correta ⟵ GABARITO
Afirma que qualquer um que possua o token pode utilizá-lo para acessar recursos protegidos, desde que ele seja válido, sem precisar provar a posse de uma chave criptográfica. Essa é a definição exata do token Bearer, conforme o RFC 6750. O termo "Bearer" significa que a posse do token é suficiente para o acesso — não é necessário apresentar nenhuma outra prova de identidade ou chave. A alternativa está correta e espelha a essência do mecanismo.