Apple FairPlay 라이선스 요구 사항 및 구성

Media Services 로고 v3


경고

Azure Media Services는 2024년 6월 30일에 사용 중지됩니다. 자세한 내용은 AMS 사용 중지 가이드를 참조하세요.

Azure Media Services를 사용하면 Apple FairPlay 스트리밍(AES-128 CBC)으로 HLS 콘텐츠를 암호화할 수 있습니다. 또한 Media Services는 FairPlay 라이선스를 배달하는 서비스를 제공합니다. FairPlay 스트리밍은 iOS 디바이스, Apple TV 및 macOS의 Safari에서 HLS(HTTP 라이브 스트리밍)를 통해 전송된 비디오에만 사용할 수 있는 Apple 기술입니다. Apple 고객이 HLS 형식을 통해 FairPlay로 보호된 콘텐츠를 재생하려고 하면 라이선스를 얻기 위한 요청이 라이선스 배달 서비스로 전송됩니다. 라이선스 서비스에서 요청을 승인하면 클라이언트로 전송하여 지정된 콘텐츠의 암호를 해독하고 재생하는 데 사용되는 라이선스가 발급됩니다.

또한 Media Services는 FairPlay 라이선스를 구성할 수 있는 API를 제공합니다. 이 항목에서는 FairPlay 라이선스 요구 사항을 설명하고 Media Services API를 사용하여 FairPlay 라이선스를 구성하는 방법을 보여줍니다.

요구 사항

Media Services를 사용하여 Apple FairPlay로 암호화된 HLS 콘텐츠를 암호화하고 FairPlay 라이선스를 배달할 때 다음이 필요합니다.

  • Apple Development Program에 등록합니다.

  • Apple에서는 배포 패키지를 얻으려면 콘텐츠 소유자를 요구합니다. 이미 Media Services로 KSM(키 보안 모듈)을 구현했고 최종 FPS 패키지를 요청하고 있음을 명시합니다. 최종 FPS 패키지에는 인증을 생성하고 ASK(애플리케이션 비밀 키)를 얻기 위한 지침이 있습니다. ASK를 사용하여 FairPlay를 구성합니다.

  • Media Services 키/라이선스 전송 쪽에서 다음 항목을 설정해야 합니다.

    • AC(앱 인증서): 프라이빗 키가 포함된 .pfx 파일입니다. 이 파일을 만들고 암호로 암호화합니다. .pfx 파일은 Base64 형식이어야 합니다.

      다음 단계에서는 FairPlay에 대한 .pfx 인증서 파일을 생성하는 방법을 설명합니다.

      1. https://slproweb.com/products/Win32OpenSSL.html에서 OpenSSL을 설치합니다.

        FairPlay 인증서 및 Apple에서 전달하는 다른 파일이 있는 폴더로 이동합니다.

      2. 명령줄에서 다음 명령을 실행합니다. 이렇게 하면 .cer 파일이 .pem 파일로 변환됩니다.

        "C:\OpenSSL-Win32\bin\openssl.exe" x509 -inform der -in FairPlay.cer -out FairPlay-out.pem

      3. 명령줄에서 다음 명령을 실행합니다. 이렇게 하면 .pem 파일이 프라이빗 키가 있는 .pfx 파일로 변환됩니다. OpenSSL에서 .pfx 파일에 대한 암호를 묻습니다.

        "C:\OpenSSL-Win32\bin\openssl.exe" pkcs12 -export -out FairPlay-out.pfx -inkey privatekey.pem -in FairPlay-out.pem -passin file:privatekey-pem-pass.txt

    • 앱 인증서 암호: .pfx 파일을 만들기 위한 암호입니다.

    • ASK: 이 키는 Apple 개발자 포털을 사용하여 인증을 생성할 때 받습니다. 각 개발 팀에 고유한 ASK가 제공됩니다. ASK 복사본을 저장하고 안전한 장소에 보관합니다. Media Services에 ASK를 FairPlayAsk로 구성해야 합니다.

  • FPS 클라이언트 쪽에서 다음을 설정해야 합니다.

    • AC(앱 인증서): 운영 체제에서 일부 페이로드를 암호화하는 데 사용하는 공개 키가 포함된 .cer/.der 파일입니다. 플레이어에 필요하기 때문에 Media Services에서 이에 대해 알고 있어야 합니다. 키 배달 서비스는 해당 프라이빗 키를 사용하여 암호를 해독합니다.
  • FairPlay 암호화된 스트림을 재생하려면 먼저 실제 ASK를 받은 다음 실제 인증서를 생성합니다. 이 프로세스에서는 다음 세 가지 요소를 모두 만듭니다.

    • .der 파일
    • .pfx 파일
    • .pfx에 대한 암호

참고

Azure Media Services는 패키징 또는 키 배달 중에 인증서 만료 날짜를 확인하지 않습니다. 인증서가 만료된 후에도 계속 작동합니다.

FairPlay 및 플레이어 앱

콘텐츠가 Apple FairPlay로 암호화된 경우, 개별 비디오 및 오디오 샘플은 AES-128 CBC 모드를 사용하여 암호화됩니다. FairPlay 스트리밍 (FPS)은 디바이스 운영 체제에 통합되며, iOS 및 Apple TV에서 고유하게 지원됩니다. OS X의 Safari는 EME(Encrypted Media Extensions) 인터페이스 지원을 사용하여 FPS를 지원합니다.

Azure Media Player는 FairPlay 재생도 지원합니다. 자세한 내용은 Azure Media Player 설명서를 참조하세요.

iOS SDK를 사용하여 고유한 플레이어 앱을 개발할 수 있습니다. FairPlay 콘텐츠를 재생하려면 라이선스 교환 프로토콜을 구현해야 합니다. Apple에서는 이 프로토콜을 지정하지 않습니다. 키 배달 요청을 전송하는 방법은 앱마다 다릅니다. Media Services FairPlay 키 배달 서비스에서는 SPC가 다음 형식의 www-form-url 인코딩된 게시 메시지로 도착해야 합니다.

spc=<Base64 encoded SPC>

Azure Key Vault FairPlay 프라이빗 키(.pfx)를 저장합니다.

Apple에서 받은 프라이빗 키(.pfx)는 보안 인증서로 취급해야 하며 Azure Key Vault에 저장할 수 있습니다.

  • 먼저 관리자가 .pfx 인증서 파일을 기본 64 텍스트 파일로 변환해야 합니다.
  • 변환된 파일은 Azure DevOps Services에 보안 텍스트 파일로 저장할 수 있습니다.
  • 그런 다음, 문자열을 Azure KeyVault에 수동으로 "비밀 개체"로 저장하거나, 솔루션에 대한 배포/빌드 스크립트의 일부로 저장할 수 있습니다. Azure KeyVault에 FairPlay 프라이빗 인증서를 저장하는 예제는 Gridwich 프로젝트 샘플 코드에서 확인할 수 있습니다.
  • 필요에 따라 .pfx 파일 암호를 키 자격 증명 모음에 비밀로 저장할 수 있습니다.

CLI 스크립트 예제

base64로 인코딩된 프라이빗 키 파일을 Azure KeyVault에 복사하려면 다음을 수행합니다.

set -eu
echo key vault : $SHARED_KV_NAME
echo "Copying FairPlay certificate to key vault as secret"
az keyvault secret set --vault-name $SHARED_KV_NAME -n ams-fairPlay-certificate-b64 -f $(FairPlayCertificate.secureFilePath) --output none

도움말 및 지원 보기

다음 방법 중 하나로 Media Services에 질문하거나 업데이트를 따를 수 있습니다.