본문으로 건너뛰기

콘텐츠 접근 제어 (JWT)

JWT 기반 콘텐츠 인증이란?

JWT(JSON Web Token)는 사용자 인증(authentication) 및 권한 부여(authorization)를 안전하게 처리하기 위한 업계 표준 방식입니다.

Kollus VOD는 고유의 보안 키 시스템을 기반으로 한 JWT 발급 메커니즘을 통해 다음과 같은 고차원 보안을 구현합니다.

  • URL 변조 방지: 재생 URL이 생성된 후 외부에서 데이터를 임의로 변경할 수 없도록 서명(Signature) 검증을 거칩니다.
  • 세밀한 권한 제어: 특정 사용자(End User)에게만 재생 권한을 부여하거나, 토큰의 유효 시간을 설정하여 콘텐츠 유출을 방지합니다.

인증에 사용되는 키

인증 키설명
보안 키JWT의 무결성을 보장하기 위한 비밀 키입니다. 서명 생성 시 사용됩니다.
사용자 키서비스 계정의 고유 식별자입니다. JWT와 함께 전달되어 어떤 계정의 보안 키로 서명을 검증할지 판단하는 기준이 됩니다.
미디어 콘텐츠 키채널에 등록된 콘텐츠에 부여되는 고유 식별자입니다. 토큰에 포함되어 해당 콘텐츠에 대한 실제 접근 권한을 증명합니다.
ℹ️참고

각 인증 키에 대한 설명과 발급 위치는 서비스 연동 키 문서를 참고하세요.


JWT 구조 및 인증 프로세스

JWT 기본 구조

JWT는 세 부분으로 구성됩니다.

JWT 구조
구성 요소역할
헤더(header)토큰의 유형(JWT)과 서명에 사용된 암호화 알고리즘(예: HS256) 정보를 담습니다.
페이로드(payload)실제 인증 정보인 클레임(Claims)이 포함됩니다. 사용자 ID, 만료 일시, 허용된 미디어 콘텐츠 키 등이 여기에 기록됩니다.
서명(signature)헤더와 페이로드를 조합한 후 서버만 알고 있는 보안 키로 암호화한 값입니다. 토큰의 위·변조를 판별하는 핵심 장치입니다.

Kollus VOD 인증 처리 워크플로우

Kollus VOD는 업계 표준 보안 규격인 HMAC SHA-256(HS256) 알고리즘을 사용합니다.

  1. 토큰 요청: 사용자(End User)가 서비스 로그인을 시도하면, 고객사 서버는 해당 사용자의 정보를 확인합니다.
  2. JWT 생성: 고객사 서버에서 보안 키를 사용하여 사용자 ID, 만료 일시 등이 포함된 JWT를 생성합니다.
  3. 재생 URL 요청: 클라이언트는 생성된 JWT와 사용자 키를 결합하여 아래 형식의 URL로 재생을 요청합니다.
    https://v.kr.kollus.com/s?jwt={JWT}&custom_key={사용자_키}
  4. 무결성 검증: Kollus 인증 서버는 전달받은 사용자 키로 해당 계정의 보안 키를 찾아 JWT 서명을 검증합니다.
  5. 재생 승인: 서명이 유효하고 페이로드 내 만료 일시가 지나지 않았다면, 즉시 재생 세션을 발급합니다.

JWT 페이로드 예시

사용자 catenoid가 콘텐츠 vnCVPVyV(미디어 콘텐츠 키)를 재생하기 위한 JWT 페이로드 예시입니다.

{
"cuid": "catenoid",
"expt": 1703980800,
"mc": [
{
"mckey": "vnCVPVyV"
}
]
}
옵션설명
cuid사용자 ID
exptJWT 만료 일시
mc재생할 콘텐츠 정보를 포함하는 배열
mckey콘텐츠 식별자 (미디어 콘텐츠 키)
ℹ️개발자 가이드

상세 내용은 암호화 콘텐츠 재생 URL 생성 (JWT) 문서를 참고하세요.