

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 의 콘텐츠 암호화 및 DRM AWS Elemental MediaConvert
<a name="implementing-digital-rights-management-drm"></a>

암호화를 통해 콘텐츠의 무단 사용을 방지하세요. 디지털 권한 관리(DRM) 시스템은 콘텐츠 암호화를 AWS Elemental MediaConvert 위해에 키를 제공하고, 복호화를 위해 지원되는 플레이어 및 기타 소비자에게 라이선스를 제공합니다.

다음 섹션에서는 MediaConvert용 SPEKE를 사용하여 콘텐츠 암호화를 선택하고 구현하는 방법에 대한 지침을 제공합니다.

**Topics**
+ [SPEKE를 사용한 컨테이너 및 DRM 시스템 지원](encryption-choosing-speke-version.md)
+ [SPEKE 배포](encryption-deploying-speke.md)
+ [SPEKE 암호화 파라미터](speke-encryption-parameters.md)
+ [SPEKE v2.0 프리셋](drm-content-speke-v2-presets.md)
+ [DRM으로 암호화 콘텐츠 키 사용](drm-content-key-encryption.md)
+ [DRM 암호화 문제 해결](troubleshooting-encryption.md)
+ [요구 사항](encryption-requirements.md)

# SPEKE를 사용한 컨테이너 및 DRM 시스템 지원
<a name="encryption-choosing-speke-version"></a>

MediaConvert는 [SPEKE 버전 1.0](https://docs.aws.amazon.com/speke/latest/documentation/the-speke-api.html)과 [SPEKE 버전 2.0](https://docs.aws.amazon.com/speke/latest/documentation/the-speke-api-v2.html)을 모두 지원합니다. 자세한 내용은 [SPEKE 파트너 및 고객 안내서](https://docs.aws.amazon.com/speke/latest/documentation/speke-api-specification.html)를 참조하세요.

**SPEKE v1.0 지원 컨테이너 및 DRM 시스템**

다음 표에는 SPEKE 버전 1.0이 지원하는 다양한 컨테이너 및 디지털 권한 관리(DRM) 시스템이 나와 있습니다.


**SPEKE v1.0 DRM 지원**  

|  |  |  |  | 
| --- |--- |--- |--- |
| 출력 그룹 유형 | Apple FairPlay | Google Widevine | Microsoft PlayReady | 
| DASH | 지원되지 않음 | 지원 | 지원됨 | 
| Apple HLS | 지원됨 | 지원되지 않음 | 지원되지 않음 | 
| Microsoft Smooth | 지원되지 않음 | 지원되지 않음 | 지원됨 | 
| CMAF DASH 및 CMAF HLS | 지원됨 | 지원됨 | 지원됨 | 

**SPEKE v2.0 지원 컨테이너 및 DRM 시스템**

다음 표에는 SPEKE 버전 2.0이 지원하는 다양한 컨테이너 및 디지털 권한 관리(DRM) 시스템이 나와 있습니다.


**SPEKE v2.0 DRM 지원**  

|  |  |  |  | 
| --- |--- |--- |--- |
| 출력 그룹 유형 | Apple FairPlay | Google Widevine | Microsoft PlayReady | 
| DASH | 지원되지 않음 | 지원 | 지원됨 | 
| Apple HLS | 지원(Sample-AES) | 지원됨 | 지원됨 | 
| Microsoft Smooth | 지원되지 않음 | 지원되지 않음 | 지원되지 않음 | 
| CMAF DASH 및 CMAF HLS | 지원(CBCS) | 지원(CBCS 및 CENC) | 지원(CBCS 및 CENC) | 

**지원되는 DRM 시스템 ID**

다음 표에는 MediaConvert가 지원하는 다양한 DRM [시스템 ID](https://dashif.org/identifiers/content_protection/)가 나와 있습니다.


|  |  |  |  | 
| --- |--- |--- |--- |
| 시스템 ID - DRM 시스템 지원 매트릭스 | Apple FairPlay | Google Widevine | Microsoft PlayReady | 
|  시스템 ID | 94ce86fb-07ff-4f43-adb8-93d2fa968ca2 | edef8ba9-79d6-4ace-a3c8-27dcd51d21ed | 9a04f079-9840-4286-ab92-e65be0885f95 | 

# SPEKE 배포
<a name="encryption-deploying-speke"></a>

DRM(디지털 권한 관리) 시스템 공급자는 MediaConvert에서 DRM 암호화를 사용하도록 설정하는 데 도움을 줄 수 있습니다. 일반적으로 공급자는 MediaConvert가 실행 AWS 리전 중인 동일한의 AWS 계정 에 배포할 SPEKE 게이트웨이를 제공합니다.

MediaConvert를 주요 서비스에 연결하기 위해 자체 API Gateway를 구축해야 하는 경우 GitHub에서 제공하는 [SPEKE 참조 서버](https://github.com/awslabs/speke-reference-server)를 출발점으로 사용할 수 있습니다.

# SPEKE 암호화 파라미터
<a name="speke-encryption-parameters"></a>

암호화를 요청할 때 서비스가 DRM 솔루션 공급자의 키 서버를 찾고 사용자를 사용자로 인증하며 적절한 인코딩 키를 요청할 수 있도록 입력 파라미터를 제공합니다. 일부 옵션은 특정 출력 그룹에 대해서만 사용 가능합니다.

SPEKE 암호화 파라미터를 다음과 같이 입력합니다.
+ **리소스 ID**에 콘텐츠의 식별자를 입력합니다. 서비스는 이 값을 키 서버로 전송하여 현재 엔드포인트를 식별합니다. 고유의 식별자를 만드는 방법은 액세스 제어를 얼마나 세분화하고 싶은가에 따라 다릅니다. 이 서비스에서는 동시 암호화 프로세스에서 동일한 ID를 사용할 수 없습니다. 리소스 ID는 콘텐츠 ID라고도 합니다.

  다음 예제에서는 리소스 ID를 보여줍니다.

  ```
  MovieNight20171126093045
  ```
+  **System ID(시스템 ID)**에 스트리밍 프로토콜 및 DRM 시스템의 고유 식별자를 입력합니다. 지정할 수 있는 시스템 ID의 수는 출력 그룹 유형에 따라 다릅니다.
  + CMAF – **DASH에서 신호가 전송되는 시스템 ID**에 ID를 하나 이상 최대 3개까지 지정합니다. **System ID signaled in HLS(HLS에서 신호가 전송되는 시스템 ID)**에 ID를 하나 지정합니다.
  + DASH – **시스템 ID**에 ID를 하나 이상 최대 2개까지 지정합니다.
  + Apple HLS – **시스템 ID**에 ID를 하나 지정합니다.

  단일 필드에 여러 개의 시스템 ID를 입력하는 경우, 각각 다른 줄에 입력합니다. 쉼표나 다른 문장 부호로 구분해서는 안 됩니다.

  공통 시스템 ID의 목록은 [DASH-IF 시스템 ID](https://dashif.org/identifiers/content_protection/)를 참조하세요. ID를 모르는 경우 DRM 솔루션 공급자에게 요청하세요.
+ **URL**에서 키 서버와의 통신을 위해 사용자가 설정한 API Gateway 프록시의 URL을 입력합니다. API Gateway 프록시는 MediaConvert AWS 리전 와 동일한에 있어야 합니다.

  다음 예제는 URL을 보여줍니다.

  ```
  https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
  ```
+ (선택 사항) **인증서 ARN**에 콘텐츠 키 암호화에 사용할 2048 RSA 인증서 ARN을 입력합니다. 이 옵션은 DRM 키 공급자가 콘텐츠 키 암호화를 지원할 경우에만 사용하세요. 이 옵션을 사용할 경우 키 공급자가 지원하지 않으면 요청이 실패합니다.

  여기에 인증서 ARN을 입력하려면 해당 인증서를 이미 로 가져와서 ACM의 인증서 ARN을 MediaConvert **인증서** 창에 AWS Certificate Manager입력하고 MediaConvert와 연결해야 합니다. 자세한 내용은 [DRM으로 암호화 콘텐츠 키 사용](drm-content-key-encryption.md) 단원을 참조하십시오.

  다음은 인증서 ARN의 예입니다.

  ```
  arn:aws:acm:region:123456789012:certificate/97b4deb6-8983-4e39-918e-ef1378924e1e
  ```

**MediaConvert 콘솔을 사용하여 SPEKE v1.0으로 콘텐츠를 암호화하려면:**

  1. 평소처럼 트랜스코딩 작업을 설정합니다. 자세한 내용은 [자습서: 작업 설정 구성](setting-up-a-job.md)을(를) 참조하세요.

  1. **작업 생성** 페이지의 왼쪽에 있는 **작업** 창의 **출력 그룹**에서, 암호화를 활성화하려는 출력 그룹을 선택합니다.

  1. **DRM 암호화**를 켭니다.

  1. **CMAF** 및 **Apple HLS** 출력 그룹에 대한 암호화 방법을 선택합니다. 현재 사용하는 DRM 시스템에서 작동하는 암호화 방법을 선택해야 합니다.

     **DASH ISO** 및 **MS Smooth** 출력 그룹의 경우 암호화 방법을 지정하지 마세요. MediaConvert는 항상 이러한 출력 그룹의 경우 AES-CTR(AES-128) 암호화를 사용합니다.

  1. **CMAF** 및 **Apple HLS** 출력 그룹의 경우 콘텐츠 암호화 키의 소스를 선택합니다. **Key provider type(키 공급자 유형)**에서 **SPEKE**를 선택하여 DRM 솔루션 공급자가 제공한 키를 사용하여 암호화하거나, **Static key(정적 키)**를 선택하여 고유의 키를 입력합니다.

     **DASH ISO** 및 **MS Smooth** 출력 그룹의 경우 콘텐츠 암호화 키의 소스를 지정하지 마세요. 이러한 출력 그룹에서, MediaConvert는 SPEKE 준수 키 공급자를 통한 DRM만 수행합니다.
     + **SPEKE**에서 암호화 파라미터 필드를 입력합니다.
     + **정적 키**는 아래 [정적 키 암호화 파라미터](#static-key-encryption-parameters) 섹션을 참조하세요.

## Apple HLS 및 CMAF에 대한 추가 구성 옵션
<a name="additional-encryption-parameters"></a>
+ (선택 사항) **상수 초기화 벡터**에 콘텐츠 암호화를 위해 해당 키에서 사용할 32자의 문자열로 표현되는 128비트 16바이트 16진수 값을 입력합니다.

## 정적 키 암호화 파라미터
<a name="static-key-encryption-parameters"></a>

다음은 정적 키 암호화에 대한 옵션입니다.
+ **정적 키 값** – 콘텐츠를 암호화하기 위한 유효한 문자열입니다.
+ **URL** – 플레이어 디바이스가 콘텐츠를 암호화 해제할 수 있도록 매니페스트에 포함시킬 URL입니다.

# SPEKE v2.0 프리셋
<a name="drm-content-speke-v2-presets"></a>

SPEKE 버전 2.0은 오디오 및 비디오 트랙별로 고유한 암호화 키를 사용할 수 있도록 다중 암호화 키를 지원합니다. MediaConvert는 **프리셋**을 사용하여 암호화를 구성합니다. MediaConvert API가 이러한 프리셋을 정의합니다. 프리셋은 오디오 트랙의 채널 수와 비디오 트랙의 비디오 해상도를 기반으로 암호화 키를 특정 오디오 또는 비디오 트랙에 매핑합니다. MediaConvert는 오디오 및 비디오 암호화 프리셋의 특정 조합을 사용하여 서로 다른 세 가지 암호화 시나리오를 지원합니다.
+ [시나리오 1: 암호화되지 않은 트랙과 암호화된 트랙](#drm-content-speke-v2-presets-unencrypted-and-encrypted-tracks)
+ [시나리오 2: 모든 오디오 및 비디오 트랙에 대한 단일 암호화 키](#drm-content-speke-v2-presets-single-encryption-key-for-all-tracks)
+ [시나리오 3: 오디오 및 비디오 트랙에 대한 여러 암호화 키](#drm-content-speke-v2-presets-multiple-encryption-keys-for-audio-and-video-tracks)

## 시나리오 1: 암호화되지 않은 트랙과 암호화된 트랙
<a name="drm-content-speke-v2-presets-unencrypted-and-encrypted-tracks"></a>

**비디오 암호화 프리셋** 또는 **오디오 암호화 프리셋** 메뉴에서 **암호화되지 않음** 프리셋을 선택하여 오디오 또는 비디오 트랙을 암호화하지 *않도록* 선택할 수 있습니다. 오디오 프리셋과 비디오 프리셋 모두에 대해 **암호화되지 않음**을 선택할 수는 없습니다. 이렇게 하면 어떠한 트랙도 암호화할 의도가 없다는 의미이기 때문입니다. 또한 **공유**는 특수한 프리셋이므로 오디오와 비디오에 대해 **암호화되지 않음** 프리셋과 **공유** 프리셋을 함께 사용할 수 없습니다. 자세한 내용은 [시나리오 2: 모든 오디오 및 비디오 트랙에 대한 단일 암호화 키](#drm-content-speke-v2-presets-single-encryption-key-for-all-tracks) 섹션을 참조하십시오.

다음 목록에서는 **암호화되지 않음** 프리셋의 유효한 조합을 설명합니다.
+ **암호화되지 않음** 오디오 트랙과 이름이 `PRESET_VIDEO_`로 시작하는 모든 비디오 프리셋
+ **암호화되지 않음** 비디오 트랙과 이름이 `PRESET_AUDIO_`로 시작하는 모든 오디오 프리셋

## 시나리오 2: 모든 오디오 및 비디오 트랙에 대한 단일 암호화 키
<a name="drm-content-speke-v2-presets-single-encryption-key-for-all-tracks"></a>

SPEKE 버전 2.0 **공유** 프리셋은 SPEKE 버전 1.0에서처럼 모든 오디오 및 비디오 트랙에 대한 단일 암호화 키를 사용합니다. **공유** 프리셋을 선택할 때는 오디오 암호화와 비디오 암호화에 모두 사용하도록 선택하십시오.

## 시나리오 3: 오디오 및 비디오 트랙에 대한 여러 암호화 키
<a name="drm-content-speke-v2-presets-multiple-encryption-keys-for-audio-and-video-tracks"></a>

이름이 `PRESET_VIDEO_` 또는 `PRESET_AUDIO_`로 시작하는 프리셋을 사용하면 MediaConvert는 특정 프리셋이 정의하는 여러 암호화 키로 오디오 트랙과 비디오 트랙을 암호화합니다. 다음 표에는 MediaConvert가 키 서버에서 요청하는 키 수와 해당 키가 트랙에 매핑되는 방식이 나와 있습니다. 특정 키의 기준과 일치하는 트랙이 없는 경우 MediaConvert는 해당 키를 트랙 암호화에 사용하지 않습니다.

MediaConvert는 해상도에 해당하는 키로 I-프레임 전용 트릭플레이 트랙을 암호화합니다.

다음 표에서 **키 이름** 값은 MediaConvert가 CPIX 문서에서 사용하는 `ContentKeyUsageRule@IntendedTrackType` 속성의 값입니다. 이 값은 특정 콘텐츠 키에 대해 SPEKE 서버로 전송됩니다.


**비디오 암호화 프리셋**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/drm-content-speke-v2-presets.html)

다음 표에서 **키 이름** 값은 MediaConvert가 CPIX 문서에서 사용하는 `ContentKeyUsageRule@IntendedTrackType` 속성의 값입니다. 이 값은 특정 콘텐츠 키에 대해 SPEKE 서버로 전송됩니다.


**오디오 암호화 프리셋**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/drm-content-speke-v2-presets.html)

이제 MediaConvert가 암호화되지 않은 트랙과 암호화된 트랙에 대해 SPEKE 버전 2.0 프리셋을 어떻게 지원하는지 알았습니다. 이러한 프리셋을 사용하면 모든 오디오 및 비디오 트랙에 단일 암호화 키를 사용하거나 오디오 및 비디오 트랙별로 여러 암호화 키를 사용할 수 있습니다.

# DRM으로 암호화 콘텐츠 키 사용
<a name="drm-content-key-encryption"></a>

가장 안전한 DRM 암호화 솔루션의 경우 암호화된 콘텐츠 외에 암호화된 콘텐츠 키를 사용하세요. 암호화된 콘텐츠 키를 사용하려면 적절한 인증서를 AWS Certificate Manager (ACM)로 가져온 다음 함께 사용할 수 있도록 준비해야 합니다 AWS Elemental MediaConvert. ACM에 대한 자세한 내용은 [AWS Certificate Manager 사용 설명서](https://docs.aws.amazon.com/acm/latest/userguide/)를 참조하십시오.

실행과 동일한 리전 AWS Certificate Manager 에서를 실행합니다 AWS Elemental MediaConvert.

**DRM 콘텐츠 키 암호화를 위한 인증서를 준비하려면**

1. 2048 RSA, SHA-512 서명 인증서를 가져옵니다.

1. [https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/)에서 ACM 콘솔을 엽니다.

1. [AWS Certificate Manager인증서 가져오기](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html)의 지침에 따라 인증서를 ACM으로 가져옵니다. 나중에 필요하므로 결과 인증서 ARN을 기록해 두세요.

   DRM 암호화에 사용하려면 인증서가 ACM에서 **발급됨** 상태여야 합니다.

1. [https://console.aws.amazon.com/mediaconvert](https://console.aws.amazon.com/mediaconvert/)에서 MediaConvert 콘솔을 엽니다.

1. 탐색 창에서 **Certificates(인증서)** 아래에 인증서 ARN을 입력하고 **Associate certificate(인증서 연결)**를 선택합니다.

** AWS Elemental MediaConvert와 연결된 인증서를 찾으려면**

ACM 콘솔에서 인증서를 나열하여 MediaConvert와 연결한 인증서를 찾을 수 있습니다. 인증서 설명의 **세부 정보** 섹션에서 MediaConvert 연결을 보고 인증서 ARN을 검색할 수 있습니다. 자세한 내용은 [ACM 관리형 인증서 목록](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-list.html) 및 [ACM 인증서 설명](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-describe.html)을 참조하세요.

**에서 인증서를 사용하려면 AWS Elemental MediaConvert**

DRM 암호화를 사용하는 경우 SPEKE 암호화 파라미터에 연결된 인증서 ARN 중 하나를 지정합니다. 이렇게 하면 콘텐츠 키 암호화가 활성화됩니다. 동일한 인증서 ARN을 여러 작업에 사용할 수 있습니다. 자세한 내용은 [SPEKE를 사용한 컨테이너 및 DRM 시스템 지원](encryption-choosing-speke-version.md) 단원을 참조하세요.

**인증서를 갱신하려면**

연결한 인증서를 갱신하려면에서 AWS Elemental MediaConvert다시 가져옵니다 AWS Certificate Manager. 인증서는 MediaConvert에서 사용이 중단되지 않고 갱신됩니다.

**인증서를 삭제하려면**

에서 인증서를 삭제하려면 먼저 다른 서비스에서 인증서를 연결 해제 AWS Certificate Manager해야 합니다. 인증서를 연결 해제하려면 ACM에서 인증서 ARN을 AWS Elemental MediaConvert복사하고 MediaConvert **인증서** 창으로 이동하여 인증서 ARN을 입력한 다음 **인증서 연결 해제를** 선택합니다.

# DRM 암호화 문제 해결
<a name="troubleshooting-encryption"></a>

가 키를 AWS Elemental MediaConvert 요청할 때 DRM 시스템 키 서버를 사용할 수 없는 경우 콘솔에 키 서버 사용 불가라는 메시지가 표시됩니다.

콘텐츠 키 암호화는 작업의 복잡성을 다시 한 번 가중합니다. 콘텐츠 키 암호화가 설정된 작업에 문제가 발생할 경우 작업 설정에서 인증서 ARN을 제거하고 명확한 키 전달을 사용하여 작업을 문제 해결합니다. 이렇게 해서 문제가 해결되면 인증서 ARN을 다시 입력하고 작업을 다시 시도해 봅니다.

문제 해결을 위해 [AWS Support 센터](https://console.aws.amazon.com/support/home#/)에 문의하는 경우 다음 정보를 제공하세요.
+ 작업이 실행된 리전
+ 작업 ID
+ 계정 ID
+ DRM 솔루션 공급자의 이름
+ 문제 해결에 도움이 될 수 있는 문제에 대한 기타 세부 정보

# 요구 사항
<a name="encryption-requirements"></a>

MediaConvert에서 콘텐츠 암호화를 구현할 때는 다음과 같은 제한 사항 및 요구 사항을 참조하세요.
+  AWS Secure Packager and Encoder Key Exchange(SPEKE) API를 사용하여 디지털 권한 관리(DRM) 시스템 공급자와의 통합을 용이하게 합니다. SPEKE에 대한 자세한 내용은 [SPEKE(Secure Packager and Encoder Key Exchange)란 무엇입니까?](https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html)를 참조하십시오.
+ DRM 시스템 공급자가 SPEKE를 지원해야 합니다. SPEKE를 지원하는 DRM 공급자 목록은 *SPEKE 파트너 및 고객 안내서*의 [Get on board with a DRM platform provider](https://docs.aws.amazon.com/speke/latest/documentation/customer-onboarding.html#choose-drm-provider) 주제를 참조하세요. DRM 공급자는 MediaConvert에서 DRM 암호화 사용을 설정하는 데 도움을 줄 수 있습니다.