다음 JWT를 단순히 Base64URL 디코딩한 결과만으로 신뢰해서는 안 된다. 요청을 승인하기 전에 확인해야 할 서명, 시간, 발급자·대상 관련 핵심 항목을 서술하시오.
JOSE 헤더
{ "alg": "RS256", "kid": "k2" }페이로드
{ "iss": "https://auth.example",
"aud": "exam-api",
"nbf": 1787360400,
"exp": 1787364000 }모범답안
허용한 알고리즘과 신뢰한 키로 서명을 검증하고, exp와 nbf 같은 시간 제한 및 iss와 aud가 현재 API의 정책과 일치하는지 확인한다. kid는 신뢰한 키 집합 안에서 해석하고 필요하면 키 교체·토큰 폐기 정책도 적용한다.
풀이와 판단 근거
JWT의 Base64URL payload는 누구나 읽고 만들 수 있으므로 서명 검증 없이 claim을 신뢰해서는 안 된다. 서버는 토큰이 선언한 알고리즘을 무조건 따르지 말고 허용 목록과 신뢰 키로 서명을 검증해야 한다.
그 뒤 만료·유효 시작 시각, 발급자와 대상 서비스를 확인하고 키 교체나 강제 로그아웃 요구가 있으면 해당 정책까지 반영해야 한다.
자주 틀리는 지점
- payload 디코딩 성공만으로 서명이 유효하다고 판단
- alg=none 또는 예상 밖 알고리즘을 허용
- exp만 확인하고 issuer와 audience를 생략
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.