HLS Common Encryption

최신 업데이트:2023-02-08 16:32:05

비디오를 더욱 보호하기 위해 Cloud VoD는 HLS AES 암호화를 제공하여 비디오가 불법 복제되는 것을 방지합니다. 비디오가 암호화되며 재생할 비디오의 암호를 해독하려면 특수 인증이 필요합니다.

작업 원리

HLS 프로토콜은 암호화 키를 정의합니다: # EXT-X-KEY . 비디오 파일이 암호화되었는지 여부와 암호화에 사용되는 알고리즘(현재 클라우드 VoD에서 AES-128 암호화 알고리즘을 사용함)을 식별하는 데 사용됩니다. 및 암호 해독 키를 가져올 주소를 제공합니다.
플레이어가 일반 텍스트 m3u8 파일을 수신하면 “#EXT-X-KEY” 태그에 따라 파일이 암호화된 것을 인식합니다. 재생하려면 플레이어는 “#EXT-X-KEY”에서 “URI”에 제공한 URL의 복호화 키를 가져온 후 “METHOD” 파라미터에 제공된 알고리즘 정보에 따라 비디오 파일을 복호화해야 합니다.
다음은 EXT-X-KEY를 사용하는 m3u8 파일의 예입니다:
Self-Service Configuration for China Premium Service Onboarding
클라우드 VoD는 AES-128 알고리즘을 사용하여 HLS 암호화를 제공하고 암호화 키는 CloudVoD KMS에서 관리하고 HTTPS를 통해 전송되어 불법 가로채는 것을 방지합니다.

CloudVoD KMS 주소: https://api.cloudv.haplat.net/vod/videoManage/getHlsKeyByVideoId

사용방법

비디오 암호화

  1. HLS 일반 암호화는 기본적으로 비활성화되어 있습니다. 먼저 고객 서비스에 문의하여 이 기능을 활성화하십시오.
  2. 트랜스코딩 템플릿을 생성하고 Enrypted 트랜스코딩 을 활성화합니다.
  3. 트랜스코딩 템플릿을 만든 후에는 비디오를 트랜스코딩하여 암호화를 트리거해야 합니다.
  4. 암호화가 완료되면 비디오 목록의 상태에 “트랜스코딩(암호화됨)”이 표시되어 비디오가 이미 암호화된 것입니다.

재생

비디오가 암호화되면 인증 매개 변수가 URL 끝에 추가됩니다. 예를 들어

https://cloudv.cdnetworks.com/appname/streamname/cloudv-transfer/playlist.m3u8?t=1666336607&k=3628a37a13d566252d&vid=cf352bbd01831000553f6000&r=f96237ab0183

자체 인증 서버를 설정하여 최종 사용자를 인증하고 인증된 사용자에게 인증 정보가 포함된 URL만 제공하는 것을 권장합니다. 정확한 적응 코드 또는 비디오 URL을 확보한 후 플레이어는 m3u8 재생 목록에서 키를 가져온 후 비디오의 암호를 해독하여 재생합니다. 프로세스는 주로 다음과 같은 단계로 나누어집니다:
단계 1
인증 파라미터 t, k, r 및 vid를 사용하여 암호화된 비디오의 URL을 가져옵니다. 예를 들어, 원래 비디오 URL은 다음과 같습니다

https://cloudv.cdnetworks.com/vod/test.m3u8

상기 인증 파라미터를 추가한 후 URL은

https://cloudv.cdnetworks.com/vod/test.m3u8?t=1533289173&k=b83eb56186b4c7c7ae7ff7e2a1ee58d9&vid=0f97c608015f10007f0f055d00000000&r=ff237ff1016410000950defa00000000

인증된 URL을 가져오거나 생성하는 방법은 다음과 같습니다:

이렇게 하면 비디오 재생 요청이 있을 때마다 URL을 조회해야 하고, URL 조회가 많기 때문에 사용자 서버에 과부하가 발생할 수 있습니다.

  • 다음과 같이 인증 파라미터 t, k, r 및 vid를 직접 추가할 수도 있습니다:
파라미터 설명
t 만료 시간을 나타내는 UNIX 두 번째 수준 타임스탬프입니다.
vid 비디오의 VideoId는 콘솔 또는 API getVideoList 를 통해 videoId를 확인할 수 있습니다.
k k=md5 (secretKey+vid+t+r). 콘솔에서 계정 > 보안 설정 > API 정보 관리 > AccessKey 관리 를 통해 SecretKey를 가져올 수 있습니다.
r r은 할당할 수 있는 난수입니다.

단계 2
예를 들어 플레이어가 인증 파라미터를 포함하는 URL을 요청할 경우

https://cloudv.cdnetworks.com/vod/test.m3u8?t=1533289173&k=b83eb56186b4c7c7ae7ff7e2a1ee58d9&vid=0f97c608015f10007f0f055d00000000&r=ff237ff1016410000950defa00000000

클라우드 VoD는 m3u8 파일을 다시 전송하고 다음과 같이 EXT-X-KEY의 URI 에 인증 정보를 자동으로 추가합니다:

단계 3
플레이어는 클라우드 VoD에서 m3u8을 검색한 후 클라우드 VoD 인증 서비스에 콘텐츠 키 가져오기 요청을 자동으로 보냅니다.
클라우드 VoD 인증 서비스는 인증 정보를 검증한 후 인증 정보가 검증되면 KMS가 콘텐츠 키를 플레이어로 전송합니다. 그렇지 않으면 요청이 직접 거부됩니다.
단계 4
암호 해독 키를 받은 후 플레이어는 비디오를 암호 해독하여 재생할 수 있습니다. 복호화 키는 암호화되어 HTTPS를 사용하여 전송됩니다. 전송 시 보안을 보장합니다.

이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.