라이선스 갱신 및 블랙리스트를 통한 라이브 스트림 실시간 차단

개요

이 가이드는 도브러너 멀티 DRM 서비스를 사용하여 불법 사용자에 대한 라이브 스트리밍을 실시간으로 차단하는 기술적 방법을 제공합니다. 이 솔루션은 DRM 라이선스 갱신(Renewal) 메커니즘을 통한 지속적인 라이선스 유효성 검사와 DRM 블랙리스트 API를 통한 즉각적인 재생 제어를 활용합니다.

sequenceDiagram
    participant A as 최종 사용자<br>(클라이언트 플레이어)
    participant B as 스트리밍 플랫폼
    participant C as 도브러너 DRM 서버
    opt 정상 사용자의 경우
    A ->> C: 주기적인 DRM 라이선스 갱신 요청
    C ->> C: 토큰 유효성 및 블랙리스트 확인
    C ->> A: DRM 라이선스 갱신 발급
    A ->> A: 라이브 스트림 계속 재생
    end
    B ->> B: 불법 스트림 모니터링 및 사용자 ID 확인
    opt 확인된 불법 사용자 차단
    B ->> C: 불법 사용자 ID 등록
    C ->> C: 블랙리스트 DB에 해당 ID 저장
    A ->> C: DRM 라이선스 갱신 요청 (블랙리스트 대상)
    C ->> C: 토큰 및 블랙리스트 확인 
    C -->> A: DRM 라이선스 갱신 거부
    A -->> A: 라이브 스트림 재생 중단
    end

이 문서는 확장 가능하고 반응성이 뛰어난 라이브 콘텐츠 보호를 원하는 스트리밍 플랫폼 운영자 및 백엔드 엔지니어, 또는 DRM 솔루션 통합업체를 대상으로 합니다.

기능 요약

라이선스 갱신

라이선스 갱신을 통해 DRM 클라이언트(브라우저 또는 앱)는 라이선스 서버와의 세션을 주기적으로 검증할 수 있습니다. 플레이어는 DRM 라이선스 토큰에 지정된 갱신 주기에 따라 갱신 요청을 트리거합니다. 스트리밍 플랫폼은 라이선스 갱신으로 재생 세션 중간에 보안 정책을 동적으로 적용하여 실시간 제어를 구현할 수 있습니다.

라이선스 갱신 요청의 트리거 동작은 DRM 유형과 플레이어에 따라 다릅니다.

  • Widevine 클라이언트
    • 갱신 요청은 플레이어와 관계없이 Widevine CDM에 의해 자동으로 트리거됩니다.
  • PlayReady 및 FairPlay 클라이언트
    • 갱신 요청을 수동으로 트리거하기 위해 플레이어에 추가 구성이 필요합니다. 수동 트리거 간격은 라이선스 토큰에 설정된 갱신 주기와 일치해야 합니다.
    • PlayReady 및 FairPlay 클라이언트 설정에 대한 자세한 내용은 CSL 가이드를 참조하시기 바랍니다.

DRM 블랙리스트

DRM 블랙리스트는 등록된 특정 사용자 ID를 기반으로 라이선스 발급 또는 갱신을 거부하는 데 사용되는 기능입니다. 블랙리스트에 등록된 사용자 ID에서 다음 번 라이선스 갱신을 시도하면 미리 정의된 오류 코드와 함께 세션이 거부되어 해당 사용자의 스트림 재생이 중단됩니다.

DRM 블랙리스트 기능에서 사용되는 사용자 ID는 DRM 라이선스 획득에 사용되는 토큰 데이터의 user_id 값입니다. 토큰 생성 시 이 값을 입력하지 않거나 최종 사용자와 관련이 없는 임의의 값을 입력하면 사용자 ID에 대한 블랙리스트 적용이 불가능합니다.

DRM 블랙리스트 기능은 사용자 아이디뿐만 아니라 특정 디바이스 아이디에 대한 차단도 지원합니다. 그러나 Widevine DRM의 갱신 라이선스 요청에는 디바이스 ID 데이터가 포함되지 않으므로 디바이스 ID 블랙리스트로는 실시간 스트리밍을 차단할 수 없습니다.

불법 사용자 모니터링

스트리밍 플랫폼 제공업체는 라이브 이벤트 중에 차단할 최종 사용자를 찾기 위해 불법 스트리밍이나 의심스러운 활동이 있는지 서비스를 모니터링해야 합니다. 도브러너 멀티 DRM 서비스에는 이러한 불법 스트리밍 모니터링 기능이 포함되지 않습니다.

모니터링에 대한 도움이 필요하신 경우 헬프데스크를 통해 상담해 주시기 바랍니다.

구현 가이드

1. 라이선스 토큰 설정

라이선스 갱신을 사용하려면 DRM 라이선스 토큰의 playback_policy 아래에 renewal_duration(갱신 주기) 값이 있어야 합니다. 갱신 주기가 설정된 DRM 라이선스는 해당 기간 동안만 유효하며, 플레이어가 DRM으로 보호된 스트리밍을 계속 재생할 수 있도록 일정 간격으로 갱신되어야 합니다.

라이선스 토큰 JSON 예제:

{
  "policy_version": 2,
  "playback_policy": {
    "persistent": false,
    "renewal_duration": 60
  }
}
  • renewal_duration은 라이선스 갱신 주기(초 단위)를 정의합니다.
  • 해당 주기를 조정하여 차단의 실시간성과 라이선스 서버의 부하 및 비용 간의 균형을 맞출 수 있습니다.
갱신 주기가 짧으면 블랙리스트 지정 후 시스템에서 스트림을 더 빨리 차단할 수 있습니다. 하지만 더 많은 라이선스 요청과 더 높은 이용 요금이 발생하게 됩니다.

보다 자세한 설명은 구독 및 과금 항목을 참고하시기 바랍니다.

2. 플레이어 연동

라이선스 갱신 요청 트리거

앞서 언급했듯이 PlayReady 및 FairPlay 클라이언트 환경에서는 라이선스 갱신을 활성화하기 위해 클라이언트 플레이어에서 추가 구성이 필요합니다.

각 DRM 유형 별 플레이어 설정에 대한 상세 정보는 동시 재생 제한 가이드 문서를 참고하시기 바랍니다.

DRM 라이선스 토큰 갱신

라이선스 토큰에는 유효 기간(기본값: 600초)이 있으며, 해당 값은 도브러너 콘솔에서 설정할 수 있습니다. 만료된 토큰으로 라이선스 갱신을 요청하면 라이선스 서버는 오류 코드 7011(라이선스 토큰 만료)과 함께 이를 거부합니다.

이러한 라이선스 갱신 실패를 방지하려면 클라이언트는 토큰 만료 전에 스트리밍 플랫폼의 백엔드에 새 토큰을 요청해야 합니다. 플레이어는 DRM 라이선스 갱신 이벤트 발생 시 스트리밍 플랫폼에서 새 라이선스 토큰을 받도록 처리해야 합니다.

프록시 방식의 라이선스 연동 시나리오에서는 스트리밍 플랫폼 백엔드 시스템의 토큰 프록시 서버가 라이선스 갱신 요청을 중계할 때 자동으로 새 토큰을 생성하도록 구현할 수 있습니다. 이 경우 클라이언트 플레이어에는 토큰 갱신에 대한 추가적인 구현이 불필요합니다.

토큰 갱신 처리에 대한 기술 지원이 필요한 경우, 헬프데스크로 문의해 주시기 바랍니다.

3. 블랙리스트 적용

라이브 이벤트 중 차단이 필요한 최종 사용자 아이디를 식별한 경우, API 연동을 통한 자동 처리 또는 웹 콘솔 UI에서 수작업을 통해 해당 사용자 아이디를 DRM 블랙리스트에 등록할 수 있습니다.

자세한 방법은 DRM 블랙리스트 가이드에서 확인할 수 있습니다.

고려 사항

구독 및 과금

재생 시작 시점에만 요청이 발생하는 일반적인 DRM 라이선스와 달리, 라이선스 갱신은 재생 중 주기적인 요청으로 훨씬 많은 라이선스 발급이 일어납니다. 이에 따라 라이선스 갱신 기능을 이용하면 추가적인 요금이 발생합니다.

요금제 설명 비고
MAU (월간 활성 사용자 수 기반) 갱신 라이선스는 활성 사용자 수와 별도로 과금됩니다. 라이선스 갱신을 사용하려면 선택 요금 항목을 추가해야 합니다.
MAL (월간 라이선스 발급 수 기반) 갱신 라이선스가 전체 라이선스 발급 수에 합산됩니다. 추가적인 선택 요금 가입이 불필요합니다.

라이선스 사용량 추정

갱신 라이선스 수 = 시청자 수 × (이벤트 기간 / 갱신 주기)

예를 들어 시청자 수가 10,000명이고 갱신 간격이 60초인 라이브 이벤트의 경우 시간당 약 60만 개의 라이선스 갱신 요청이 발생합니다.

라이선스 갱신과 키 로테이션 비교

라이브 스트림 실시간 차단 시나리오에서는 재생 세션 동안 지속적인 인증을 위해 DRM 라이선스 갱신을 사용합니다. 해당 목적을 위해 DRM 키 로테이션 기능을 사용할 수도 있지만, 키 로테이션이 가지고 있는 확장성 문제로 인해 대규모 서비스에는 적합하지 않습니다.

비교 항목 라이선스 갱신 키 로테이션
재생 세션 중 주기적 인증
콘텐츠 키의 변경 여부 아니오 (라이선스만 연장)
확장성 높음 (재생 시작 시점에 따라 분산된 라이선스 요청) 낮음 (동시 요청에 의한 트래픽 스파이크 발생)
활용 분야 라이브 스트림 실시간 차단. 동시 재생 제한(CSL) 소규모 라이브 스트림의 보안성 향상. 프로그램 유형에 따른 보안 정책 적용.

CSL 기능과의 비교

동시 재생 제한(Concurrent Stream Limiting)라이브 스트림 실시간 차단은 모두 DRM 라이선스 갱신을 활용하는 기능입니다. 하지만 두 기능은 다음과 같은 차이점이 있습니다.

비교 항목 동시 재생 제한 (CSL) 라이브 스트림 실시간 차단
목적 과도한 계정 공유 제한 라이브 이벤트 중에 불법 사용자를 차단
제어 시점 재생 시작 시 재생 시작 및 세션 중간

결론

DRM 라이선스 갱신과 블랙리스트 기능을 통해 라이브 스트리밍 차단을 구현하면 불법 스트리밍에 대해 확장 가능하고 신속하게 대응할 수 있습니다. 합법적인 사용자에게 영향을 주지 않고 세션 중간에 개입할 수 있으므로 고부가가치 라이브 이벤트와 프리미엄 콘텐츠를 보호하는 데 이상적입니다.


이전