LabHub

Keycloak 과 기업 인증 · OIDC 토큰과 검증 · 퀴즈

퀴즈: OIDC 토큰

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. JWT 의 헤더와 페이로드는?

    1. Base64URL 인코딩일 뿐이라 누구나 읽을 수 있다
    2. 대칭키로 암호화되어 있다
    3. gzip 으로 압축되어 있다
    4. 서명 값의 일부로 포함된다
  2. `aud` 클레임 검증을 빠뜨리면?

    1. 만료 시각을 지난 토큰이 그대로 통과한다
    2. 같은 인증 서버가 발급한 다른 API 용 토큰이 통과한다
    3. 공개키가 맞아도 서명 검증이 실패한다
    4. 리프레시 토큰 교환이 거부되기 시작한다
  3. 로컬 JWT 검증이 introspection 보다 나은 점과 그 대가는?

    1. 검증이 더 정확함 / 매번 느림
    2. 네트워크 왕복이 없어 빠름 / 취소를 즉시 반영하지 못함
    3. 탈취에 더 안전함 / 구현이 복잡함
    4. 표준 방식임 / 캐시가 꼭 필요함
  4. JWT 헤더의 `kid` 가 필요한 이유는?

    1. 개별 토큰을 구별하는 식별자로 쓰려고
    2. JWKS 에 공개키가 여럿일 때 어느 것으로 서명했는지 지정하려고
    3. 검증 결과를 캐시할 때의 키로 쓰려고
    4. 토큰을 발급한 서버를 식별하려고
  5. ID 토큰으로 API 를 호출하면 안 되는 이유는?

    1. ID 토큰이 너무 커서 헤더에 안 들어가서
    2. ID 토큰은 만료가 너무 짧기 때문에
    3. ID 토큰의 aud 는 클라이언트 앱이지 API 서버가 아니라서
    4. 액세스 토큰과 서명 방식이 달라서
  6. 헤더의 `alg` 를 검증하지 않으면 가능한 공격은?

    1. none 알고리즘이나 알고리즘 혼동으로 서명 검증을 우회하는 공격
    2. 가로챈 토큰을 다시 보내는 재생 공격
    3. 다른 사이트에서 요청을 위조하는 CSRF
    4. 로그인 전 세션 ID 를 심는 세션 고정