내보내기(0) 인쇄
모두 확장

미디어 보안

업데이트 날짜: 2014년 8월

Azure 미디어 서비스를 사용하면 미디어를 컴퓨터에서 전송하는 시점부터 전체 저장, 처리 및 배달 과정에 걸쳐 보호할 수 있습니다. 다음 다이어그램에는 전반적인 콘텐츠 보호 방식이 나와 있습니다.

미디어 서비스 콘텐츠 보호

이 항목은 다음과 같이 구성되어 있습니다.

아래에는 데이터 보호와 관련된 몇 가지 유용한 개념과 용어가 나와 있습니다.

Access policy
AccessPolicy 엔터티는 자산에 대한 액세스 권한(예: 읽기, 쓰기 및 나열) 및 기간을 정의합니다. 일반적으로 AccessPolicy 개체를 Locator에 전달하여 자산에 포함된 파일에 액세스하는 데 사용할 수 있도록 합니다.

로케이터는 자산에 포함된 파일에 액세스할 수 있는 진입점을 제공합니다. 미디어 서비스는 두 가지 로케이터 유형을 지원합니다. 그 중 하나는 미디어를 스트리밍(예: MPEG DASH, HLS 또는 부드러운 스트리밍)하는 데 사용되는 OnDemandOrigin 로케이터이고 다른 하나는 미디어 파일을 다운로드하는 데 사용되는 액세스 서명(SAS) URL 로케이터입니다. 액세스 정책은 지정된 자산에 대한 클라이언트의 권한과 액세스 기간을 정의하는 데 사용됩니다. 로케이터와 액세스 정책에는 다대일 관계가 적용될 수 있습니다. 따라서 서로 다른 여러 로케이터가 모두 동일한 권한 및 기간 설정을 사용하면서 다양한 시작 시간과 연결 유형을 여러 클라이언트에 제공할 수 있습니다. 하지만 Azure 저장소 서비스에서 설정하는 공유 액세스 정책 제한으로 인해 지정된 자산과 연관된 고유 로케이터는 한 번에 6개 이상 사용할 수 없습니다. 자세한 내용은 공유 액세스 서명 사용(REST API)을 참조하세요.

Advanced Encryption Standard (AES)
AES-128은 128비트 키와 블록을 사용하는 보안 암호화 알고리즘입니다. AES 봉투(envelope) 암호화는 비디오 스트리밍용 종단 간 암호화 방식입니다. 데이터는 전송되기 전에 서버에서 암호화되며, 클라이언트는 데이터를 볼 수 있도록 암호를 해독합니다. 따라서 서버와 클라이언트 간에 비디오 데이터를 안전하게 전송할 수 있으며 중간에서 타인이 비디오 데이터를 가로채더라도 해당 데이터를 읽을 수 없습니다.

AES 봉투(envelope) 암호화를 사용하는 경우 HTTPS를 통해 수신된 암호화 키는 일반 텍스트로 표시됩니다. 더 강력하고 안전한 콘텐츠 보호 기능이 필요하면 일반 암호화('CENC')를 사용합니다. PlayReady DRM에서는 CENC를 지원합니다.

Asset encryption options
업로드, 저장 및 배달하려는 콘텐츠 형식에 따라 미디어 서비스에서 제공하는 다양한 암호화 옵션 중에서 선택할 수 있습니다.

  • None - 암호화가 사용되지 않습니다. 기본값입니다. 이 옵션을 사용할 때는 전송 중이거나 저장소에 보관된 콘텐츠가 보호되지 않습니다.

    점진적 다운로드를 사용하여 MP4를 배달하려는 경우에는 이 옵션을 사용하여 콘텐츠를 업로드하거나 인코딩합니다.

  • StorageEncrypted - AES 256비트 암호화를 사용하여 일반 콘텐츠를 로컬에서 암호화한 다음 Azure 저장소에 업로드하려면 이 옵션을 사용합니다. 그러면 콘텐츠가 안전하게 암호화된 상태로 저장됩니다. 저장소 암호화를 통해 보호되는 자산은 인코딩 전에 자동으로 암호 해독된 다음 암호화된 파일 시스템에 저장되며, 필요에 따라 새 출력 자산으로 다시 업로드하기 전에 다시 암호화됩니다. 기본적으로는 고품질 입력 미디어 파일을 강력한 암호화가 적용된 상태로 디스크에 안전하게 저장하려는 경우 저장소 암호화를 사용합니다.

    저장소 암호화된 자산을 배달하려면 미디어 서비스에서 콘텐츠를 배달할 방법을 인식하도록 자산의 배달 정책(IAssetDeliveryPolicy)을 구성해야 합니다. 자산을 스트리밍하기 전에 스트리밍 서버에서 저장소 암호화를 제거하고 지정된 배달 정책(예: AES, PlayReady 또는 암호화 없음)을 사용하여 콘텐츠를 스트리밍합니다.

  • CommonEncryption - 일반 암호화 또는 PlayReady DRM을 사용하여 콘텐츠를 암호화하거나 이미 암호화된 콘텐츠를 업로드하려는 경우(예: PlayReady DRM으로 보호된 부드러운 스트리밍) 이 옵션을 사용합니다.

  • EnvelopeEncrypted – AES(Advanced Encryption Standard)를 사용하여 암호화된 HLS(HTTP 라이브 스트리밍)를 보호하거나 이미 보호된 HLS를 업로드하려는 경우 이 옵션을 사용합니다. AES로 이미 암호화된 HLS를 업로드하는 경우 Transform Manager를 통해 HLS를 암호화한 상태여야 합니다.

note참고
점진적 다운로드용으로 암호화된 자산을 제공하려는 경우에는 해당 자산의 암호를 해독해야 합니다.

Cipher-block Chaining (CBC)
CBC는 같은 일반 텍스트가 포함된 블록에 대해 서로 다른 암호화 텍스트를 만들기 위해 이전 블록의 XOR을 사용하는 작업의 블록 암호화 모드입니다. 첫 번째 블록에는 IV(Initialization Vector)가 필요합니다. 첫 번째 블록은 이전 블록을 XOR해야 하는데 이전 블록이 없기 때문에 IV가 해당 이전 블록 대신 사용됩니다.

Common Encryption Scheme (CENC)
CENC는 표준 암호화 및 키 매핑 방법을 지정합니다. 또한 보호된 스트림의 암호를 해독하는 데 필요한 암호화 관련 메타데이터의 일반 형식을 정의합니다. 그와 동시에 권한 매핑, 키 취득/저장, DRM 준수 규칙 등의 관리는 DRM 시스템 또는 'cenc' 체계를 지원하는 시스템이 수행하도록 합니다. PlayReady에서는 CENC를 지원합니다. MPEG DASH를 스트리밍하려면 CENC 옵션을 사용해야 합니다. 자세한 내용은 Azure Media Encryptor를 위한 태스크 기본 설정를 참조하세요.

Dynamic encryptionStatic encryption
Azure 미디어 서비스에서는 동적 암호화나 정적 암호화를 사용하여 AES-128, PlayReady DRM 또는 저장소 암호화를 통해 콘텐츠를 암호화할 수 있습니다. 동적 암호화를 사용하는 것이 좋습니다.

동적 암호화 및 패키징을 사용할 때는 단일 형식의 파일(적응 비트 전송률 MP4 또는 적응 비트 전송률 부드러운 스트리밍)만 저장하고 해당 형식에 대해서만 비용을 지불하면 됩니다. 미디어 서비스 서비스는 클라이언트가 스트리밍 URL에서 지정하는 형식을 기준으로 올바른 형식의 콘텐츠를 작성, 암호화 및 제공합니다. 예를 들어 http://test001.origin.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest(format=m3u8-aapl)는 클라이언트에 HLS 형식 스트림이 필요함을 나타냅니다.

동적 암호화와 정적 암호화에 대한 설명은 동적 암호화와 정적 암호화 비교 블로그에서 확인할 수 있습니다.

Microsoft PlayReady DRM
미디어 서비스를 사용하면 PlayReady DRM을 통해 콘텐츠를 보호할 수 있습니다. PlayReady는 미디어 스트림 암호를 해독하는 데 필요한 암호 해독 키를 보호하는 라이선스 서버를 사용하여 재생 중에 스트림을 보호합니다. 플레이어는 PlayReady에 대한 준수 및 견고성 규칙을 충족하는 견고하고 안전한 재생 환경도 제공해야 합니다. 사용자는 PlayReady로 보호된 자산에 액세스할 때 플레이어 ID와 장치 정보를 라이선스 서버에 전달합니다. 그러면 라이선스 서버는 사용자에게 스트림 액세스 권한이 있는지를 확인하고 사용자의 장치가 스트림 암호를 해독하도록 신뢰할 수 있는 장치인지를 결정합니다.

또한 미디어 서비스는 Microsoft PlayReady 라이선스 배달용 서비스도 제공합니다. PlayReady 라이선스 배달 서비스에 등록하려면 다음을 수행합니다.

미리 보기 기능에 설명된 지침에 따릅니다.

Azure 관리 포털에서 콘텐츠 보호 탭으로 이동하여 Branding Reporting(브랜드 보고) 테이블에 행을 추가합니다. 미디어 서비스 PlayReady 라이선스 서비스는 저장을 누르고 몇 분 후에 사용됩니다.

PlayReady 라이선스 배달 서비스에 등록하고 나면 Azure 관리 포털을 사용하여 PlayReady 라이선스 서비스 정책을 구성할 수 있습니다. 미디어 서비스는 사용자가 보호된 콘텐츠를 재생하려 할 때 PlayReady DRM 런타임에서 적용하도록 할 권한과 제한을 구성하는 데 사용할 수 있는 API도 제공합니다. 자세한 내용은 PlayReady 동적 암호화 및 라이선스 배달 서비스 사용를 참조하세요.

자체 공급자를 구현하거나 타사 공급자를 사용할 수도 있습니다. 자체 PlayReady 라이선스 서버를 구현하는 방법에 대한 자세한 내용은 Microsoft PlayReady 개요를 참조하세요.

PlayReady license and AES clear key delivery services
미디어 서비스는 권한이 부여된 클라이언트에 PlayReady 라이선스 및 AES 암호화되지 않은 키를 배달하기 위한 서비스를 제공합니다. Azure 관리 포털 또는 Media Services SDK for .NET을 사용하여 라이선스와 키에 대한 권한 부여 및 인증 정책을 구성할 수 있습니다.

포털을 사용하는 경우 AES로 암호화된 모든 콘텐츠에 적용되는 AES 정책과 PlayReady로 암호화된 모든 콘텐츠에 적용되는 PlayReady 정책을 하나씩 구성할 수 있습니다. 구성을 보다 자세하게 제어하려면 Media Services SDK for.NET을 사용합니다.

PlayReady license template
미디어 서비스는 PlayReady 라이선스 배달용 서비스를 제공합니다. 최종 사용자 플레이어(예: Silverlight)에서 PlayReady 보호된 콘텐츠를 재생하려고 하면 라이선스를 취득하기 위해 요청이 license delivery 서비스로 전송됩니다. 라이선스 서비스에서 요청을 승인하면 클라이언트로 전송되어 지정된 콘텐츠를 암호 해독하고 재생하는 데 사용할 수 있는 라이선스가 발급됩니다.

라이선스에는 사용자가 보호된 콘텐츠를 재생하려고 할 때 PlayReady DRM 런타임에서 적용할 권한 및 제한 사항이 포함되어 있습니다. 미디어 서비스는 PlayReady 라이선스를 구성하는 데 사용할 수 있는 API를 제공합니다.

Token restriction
콘텐츠 키 권한 부여 정책은 개방형, 토큰 제한, IP 제한 등의 권한 부여 제한을 하나 이상 포함할 수 있습니다. 토큰으로 제한되는 정책에는 STS(보안 토큰 서비스)에서 발급한 토큰을 함께 제공해야 합니다. 미디어 서비스는 SWT(단순 웹 토큰) 형식 및 JWT(JSON 웹 토큰) 형식의 토큰을 지원합니다. . 보안 토큰 서비스는 제공하지 않습니다. 사용자 지정 STS를 만들 수도 있고 Microsoft Azure ACS를 활용하여 토큰을 발급할 수도 있습니다. STS는 지정된 키로 서명된 토큰을 만들고 토큰 제한 구성에서 지정한 클레임을 발급하도록 구성해야 합니다. 미디어 서비스 키 배달 서비스는 토큰이 유효하고 토큰의 클레임이 키나 라이선스에 대해 구성된 클레임과 일치하는 경우 클라이언트에 요청된 키나 라이선스를 반환합니다.

토큰으로 제한되는 정책을 구성할 때는 primary verification key, issueraudience 매개 변수를 지정해야 합니다. primary verification key는 토큰을 서명하는 데 사용된 키를 포함하며 issuer는 토큰을 발급하는 보안 토큰 서비스입니다. 경우에 따라 scope라고도 하는 audience는 토큰이 액세스 권한을 부여하는 리소스나 토큰의 용도를 설명합니다. 미디어 서비스 키 배달 서비스는 토큰의 이러한 값이 템플릿의 값과 일치하는지 유효성을 검사합니다.

Azure 관리 포털을 사용하여 토큰으로 제한되는 정책을 구성하는 경우에는 ISSUER Uri 값이 "urn:someissuer"와 같이 "urn:"으로 시작해야 하며 SCOPE Uri는 http://testacs.com과 같이 "http://"로 시작해야 합니다.

SWT 토큰을 발급하도록 ACS를 구성하는 방법은 토큰 인증을 통해 Azure 미디어 서비스 AES/PlayReady 라이선스 서비스를 사용하여 ACS 구성 블로그에 나와 있습니다.

다음 블로그에서는 JWT를 사용하여 콘텐츠 키 배달을 제한하는 방법을 보여 줍니다. JWT 토큰 인증

미디어 서비스를 사용하여 콘텐츠를 암호화할 때는 다음 고려 사항이 적용됩니다.

  • 중 2층 파일은 추가 처리 전에 적응 비트 전송률 MP4 집합으로 변환하는 것이 좋습니다.

    동적 암호화를 사용할 때는 파일을 적응 비트 전송률 MP4 또는 적응 비트 전송률 부드러운 스트리밍 파일 집합으로 인코딩해야 합니다.

    인코딩 작업에서 적응 비트 전송률 MP4 집합이 포함된 자산을 가져올 수 있습니다. 예를 들어 중 2층 파일이 단일 MP4인 경우 미디어 서비스 인코더를 사용하여 MP4 파일을 적응 비트 전송률 MP4 집합으로 인코딩할 수 있습니다. 자세한 내용은 Encoding Media with Media Services를 참조하세요.

    기존 적응 비트 전송률 MP4 집합이 이미 있으면 해당 파일을 자산에 업로드하고 자산 처리를 계속할 수 있습니다. 외부 인코더를 사용하여 집합을 인코딩한 경우에는 집합의 유효성을 검사하는 것이 좋습니다. 자세한 내용은 외부 인코더로 인코딩된 적응 비트 전송률 MP4 유효성 검사를 참조하세요.

  • 점진적 다운로드용으로 암호화된 자산을 제공하려는 경우에는 해당 자산의 암호를 해독해야 합니다.

암호화되지 않은 콘텐츠를 로컬에서 AES-256으로 암호화한 다음 Azure 저장소로 업로드하려는 경우 StorageEncrypted 옵션을 사용합니다. 이 옵션을 사용하면 로컬에서 콘텐츠를 암호화한 다음 Azure 저장소로 업로드합니다. 이 저장소에서 콘텐츠는 암호화된 상태로 저장됩니다. 인코딩 또는 패키징 작업을 포함하는 미디어 프로세서 파이프라인의 입력으로 사용 중인 콘텐츠를 안전하게 보호하려는 경우 이 시나리오를 사용합니다. StorageEncryption을 통해 보호되는 자산은 인코딩 전에 자동으로 암호 해제되어 암호화된 파일 시스템에 저장됩니다. 인코딩 또는 패키징 작업의 결과로 작성되는 자산이 저장소 암호화되도록 지정할 수도 있습니다. 자세한 내용은 저장소 암호화된 콘텐츠 생성를 참조하세요.

저장소 암호화된 자산을 배달하려면 동적 암호화를 사용하고 자산의 배달 정책(IAssetDeliveryPolicy)을 구성하여 콘텐츠를 배달하려는 방법을 미디어 서비스에 알려야 합니다. 자산을 스트리밍하기 전에 스트리밍 서버에서 저장소 암호화를 제거하고 지정된 배달 정책을 사용하여 콘텐츠를 스트리밍합니다. 예를 들어 AES(Advanced Encryption Standard) 암호화 키로 암호화된 자산을 배달하려면 정책 유형을 DynamicEnvelopeEncryption으로 설정합니다. 저장소 암호화를 제거하고 일반 자산으로 스트리밍하려면 정책 유형을 NoDynamicEncryption으로 설정합니다. 기타 배달 정책 유형은 AssetDeliveryPolicyType을 참조하세요. 자세한 내용은 저장소 암호화된 콘텐츠 배달를 참조하세요.

동적 암호화 기능을 활용하려면 다음을 수행해야 합니다.

  • scale unit(streaming unit라고도 함)를 하나 이상 가져옵니다. 자세한 내용은 미디어 서비스의 크기를 조정하는 방법을 참조하세요.

  • 적응 비트 전송률 MP4 파일 또는 적응 비트 전송률 부드러운 스트리밍 소스 파일 집합을 포함하는 자산을 업로드하거나 인코딩합니다.

  • 자산에 대해 배달 정책을 구성합니다. 배달 정책 구성에는 다음 항목이 포함됩니다.

    • 배달 프로토콜(예: MPEG DASH, HLS, HDS, 부드러운 스트리밍 또는 모두)

    • 동적 암호화 유형(예: 일반 암호화 또는 봉투(envelope) 암호화)

    • PlayReady 라이선스 취득 URL 또는 AES 키 취득 URL

미디어 서비스를 사용하여 동적 암호화를 수행할 때 지원되는 시나리오는 다음과 같습니다.

PlayReady DRM을 사용하여 정적으로 암호화할 때 지원되는 시나리오는 다음과 같습니다.

정적 암호화를 사용할 때 AES-128 암호화는 HLS에만 적용될 수 있습니다.

다음 예제에는 Media Services .NET SDK를 사용하여 AES로 HLS를 암호화하는 방법을 보여 줍니다. 정적 암호화를 사용하여 AES-128로 HLSv3 보호.

미디어 서비스 PlayReady 라이선스 또는 AES 키 배달 서비스를 사용할 때는 콘텐츠 키에 대한 권한 부여 정책을 구성해야 합니다. 콘텐츠 키를 클라이언트로 배달하려면 개발자가 콘텐츠 키 권한 부여 정책을 구성해야 하며 클라이언트(플레이어)가 해당 정책을 충족해야 합니다. 콘텐츠 키 권한 부여 정책은 개방형, 토큰 제한, IP 제한 등의 권한 부여 제한을 하나 이상 포함할 수 있습니다. 자세한 내용은 다음 항목에서 "콘텐츠 키의 권한 부여 정책 구성" 섹션을 참조하세요.

Using PlayReady Dynamic Encryption and License Delivery Service

Using AES-128 Dynamic Encryption and Key Delivery Service

미디어 서비스 PlayReady 라이선스 및 AES 키 배달 서비스를 사용할 때 가장 일반적으로 수행하는 시나리오는 다음과 같습니다.

클라이언트 응용 프로그램을 개발하고 미디어를 사용하는 방법에 대한 자세한 내용은 비디오 플레이어 응용 프로그램 개발을 참조하세요.

참고 항목

표시:
© 2015 Microsoft