Introducción a la protección de contenidoContent protection overview

Puede usar Azure Media Services para proteger su contenido multimedia desde el momento en que este deja el equipo y pasa a través del almacenamiento, el procesamiento y la entrega.You can use Azure Media Services to secure your media from the time it leaves your computer through storage, processing, and delivery. Con Media Services puede entregar el contenido cifrado de forma dinámica en vivo y a petición con Estándar de cifrado avanzado (AES-128) o cualquiera de los tres sistemas de administración de derechos digitales (DRM) principales: Microsoft PlayReady, Google Widevine y Apple FairPlay.With Media Services, you can deliver your live and on-demand content encrypted dynamically with Advanced Encryption Standard (AES-128) or any of the three major digital rights management (DRM) systems: Microsoft PlayReady, Google Widevine, and Apple FairPlay. Media Services también proporciona un servicio para entregar claves AES y licencias de DMR (PlayReady, Widevine y FairPlay) a los clientes autorizados.Media Services also provides a service for delivering AES keys and DRM (PlayReady, Widevine, and FairPlay) licenses to authorized clients.

En la siguiente imagen se ilustra el flujo de trabajo de protección de contenido de Media Services:The following image illustrates the Media Services content protection workflow:

Protección con PlayReady

En este artículo se explican los conceptos y terminología pertinentes para conocer la protección de contenido con Media Services.This article explains concepts and terminology relevant to understanding content protection with Media Services. En el artículo también se proporcionan vínculos a artículos donde se indica cómo proteger el contenido.The article also provides links to articles that discuss how to protect content.

Cifrado dinámicoDynamic encryption

Puede usar Media Services para entregar el contenido cifrado de forma dinámica con la clave sin cifrado AES o el cifrado DRM mediante PlayReady, Widevine o FairPlay.You can use Media Services to deliver your content encrypted dynamically with AES clear key or DRM encryption by using PlayReady, Widevine, or FairPlay. Actualmente puede cifrar los formatos de streaming HTTP Live Streaming (HLS), MPEG DASH y Smooth Streaming.Currently, you can encrypt the HTTP Live Streaming (HLS), MPEG DASH, and Smooth Streaming formats. No se admite el cifrado en descargas progresivas.Encryption on progressive downloads is not supported. Cada método de cifrado admite los siguientes protocolos de streaming:Each encryption method supports the following streaming protocols:

  • AES: MPEG-DASH, Smooth Streaming y HLSAES: MPEG-DASH, Smooth Streaming, and HLS
  • PlayReady: MPEG-DASH, Smooth Streaming y HLSPlayReady: MPEG-DASH, Smooth Streaming, and HLS
  • Widevine: MPEG-DASHWidevine: MPEG-DASH
  • FairPlay: HLSFairPlay: HLS

Para cifrar un recurso, debe asociar una clave de contenido de cifrado con el recurso y, además, configurar una directiva de autorización para la clave.To encrypt an asset, you need to associate an encryption content key with your asset and also configure an authorization policy for the key. Media Services puede especificar o generar automáticamente las claves de contenido.Content keys can be specified or automatically generated by Media Services.

También necesita configurar la directiva de entrega del recurso.You also need to configure the asset's delivery policy. Si desea transmitir un recurso cifrado de almacenamiento, asegúrese de configurar la directiva de entrega del recurso para especificar cómo desea entregarlo.If you want to stream a storage-encrypted asset, make sure to specify how you want to deliver it by configuring the asset delivery policy.

Cuando un reproductor solicita una transmisión, Media Services usa la clave especificada para cifrar de forma dinámica el contenido mediante la clave sin cifrado de AES o el cifrado DRM.When a stream is requested by a player, Media Services uses the specified key to dynamically encrypt your content by using AES clear key or DRM encryption. Para descifrar la secuencia, el reproductor solicitará la clave del servicio de entrega de claves de Media Services.To decrypt the stream, the player requests the key from Media Services key delivery service. Para decidir si el usuario está o no autorizado para obtener la clave, el servicio evalúa las directivas de autorización que especificó para la clave.To decide whether or not the user is authorized to get the key, the service evaluates the authorization policies that you specified for the key.

Clave sin cifrado AES-128 frente a DRMAES-128 clear key vs. DRM

Los clientes suelen preguntarse si deben usar el cifrado de AES o un sistema de DRM.Customers often wonder whether they should use AES encryption or a DRM system. La diferencia principal entre los dos sistemas es que, con el cifrado de AES, la clave de contenido se transmite al cliente en un formato sin cifrar ("fuera de peligro").The primary difference between the two systems is that with AES encryption the content key is transmitted to the client in an unencrypted format ("in the clear"). Como resultado, la clave usada para cifrar el contenido se puede ver en un seguimiento de la red en el cliente en texto sin formato.As a result, the key used to encrypt the content can be viewed in a network trace on the client in plain text. La clave sin cifrado AES-128 es adecuada para los casos de uso en los que el destinatario es una entidad de confianza (p. ej., cifrado de vídeos corporativos distribuidos dentro de una empresa para su visualización por parte de los empleados).AES-128 clear key encryption is suitable for use cases where the viewer is a trusted party (for example, encrypting corporate videos distributed within a company to be viewed by employees).

PlayReady, Widevine y FairPlay proporcionan un nivel de cifrado más alto en comparación con el cifrado de clave sin cifrado AES-128.PlayReady, Widevine, and FairPlay all provide a higher level of encryption compared to AES-128 clear key encryption. La clave de contenido se transmite en un formato cifrado.The content key is transmitted in an encrypted format. Además, el descifrado se controla en un entorno seguro en el nivel de sistema operativo donde a un usuario malintencionado le resulta más difícil atacar.Additionally, decryption is handled in a secure environment at the operating system level, where it's more difficult for a malicious user to attack. DRM se recomienda para los casos de uso en los que es posible que el destinatario no sea una entidad de confianza y usted requiere el nivel de seguridad más alto.DRM is recommended for use cases where the viewer might not be a trusted party and you require the highest level of security.

Cifrado de almacenamientoStorage encryption

Puede usar el cifrado de almacenamiento para cifrar localmente el contenido sin cifrar mediante el cifrado AES de 256 bits.You can use storage encryption to encrypt your clear content locally by using AES 256-bit encryption. A continuación puede cargarlo en Azure Storage, donde se almacenará cifrado y en reposo.You then can upload it to Azure Storage, where it's stored encrypted at rest. Los recursos protegidos con el cifrado de almacenamiento se descifran automáticamente y se colocan en un sistema de archivos cifrados antes de la codificación.Assets protected with storage encryption are automatically unencrypted and placed in an encrypted file system prior to encoding. Los recursos, opcionalmente, se vuelven a cifrar antes de volver a cargarlos como un nuevo recurso de salida.The assets are optionally re-encrypted prior to uploading back as a new output asset. El caso de uso principal para el cifrado de almacenamiento es cuando desea proteger los archivos multimedia de entrada de alta calidad con un sólido cifrado en reposo en disco.The primary use case for storage encryption is when you want to secure your high-quality input media files with strong encryption at rest on disk.

Para entregar un recurso cifrado de almacenamiento, debe configurar la directiva de entrega del recurso para que Media Services sepa cómo desea entregar el contenido.To deliver a storage-encrypted asset, you must configure the asset's delivery policy so that Media Services knows how you want to deliver your content. Antes de poder transmitir el recurso, el servidor de streaming descifra y transmite el contenido mediante la directiva de entrega especificada (por ejemplo, AES, cifrado común o sin cifrado).Before your asset can be streamed, the streaming server decrypts and streams your content by using the specified delivery policy (for example, AES, common encryption, or no encryption).

Tipos de cifradoTypes of encryption

PlayReady y Widevine utilizan cifrado común (modo AES-CTR).PlayReady and Widevine utilize common encryption (AES CTR mode). FairPlay utiliza el cifrado de modo AES-CBC.FairPlay utilizes AES CBC-mode encryption. El cifrado de clave sin cifrado AES-128 utiliza cifrado de sobre.AES-128 clear key encryption utilizes envelope encryption.

Servicio de entrega de licencias y clavesLicenses and keys delivery service

Media Services proporciona un servicio de entrega de claves para proporcionar licencias DRM (PlayReady, Widevine, FairPlay) y claves AES a clientes autorizados.Media Services provides a key delivery service for delivering DRM (PlayReady, Widevine, FairPlay) licenses and AES keys to authorized clients. Puede utilizar Azure Portal, la API de REST o SDK de Media Services para .NET para configurar las directivas de autorización y autenticación de sus licencias y claves.You can use the Azure portal, the REST API, or the Media Services SDK for .NET to configure authorization and authentication policies for your licenses and keys.

Acceso al contenido de controlControl content access

Puede controlar quién tiene acceso a su contenido configurando la directiva de autorización de claves de contenido.You can control who has access to your content by configuring the content key authorization policy. La directiva de autorización de claves de contenido admite la restricción open o la restricción de token.The content key authorization policy supports either open or token restriction.

Autorización openOpen authorization

Con una directiva de autorización open, la clave de contenido se envía a cualquier cliente (sin restricción).With an open authorization policy, the content key is sent to any client (no restriction).

Autorización de tokenToken authorization

Con una directiva de autorización con restricción de token, la clave de contenido solo se enviará a un cliente que presente JSON Web Token (JWT) o Simple Web Token (SWT) válidos en la solicitud de clave/licencia.With a token-restricted authorization policy, the content key is sent only to a client that presents a valid JSON Web Token (JWT) or simple web token (SWT) in the key/license request. Un servicio de token seguro (STS) debe emitir este token.This token must be issued by a security token service (STS). Puede usar Azure Active Directory como un STS o implementar un STS personalizado.You can use Azure Active Directory as an STS or deploy a custom STS. Se debe configurar el STS para crear un token firmado con las notificaciones de clave y emisión que especificó en la configuración de restricción de tokens.The STS must be configured to create a token signed with the specified key and issue claims that you specified in the token restriction configuration. El servicio de entrega de claves de Media Services devolverá la clave/licencia solicitada al cliente si el token es válido y las reclamaciones del token coinciden con las configuradas para la clave/licencia.The Media Services key delivery service returns the requested key/license to the client if the token is valid and the claims in the token match those configured for the key/license.

Al configurar la directiva de restricción de token, debe especificar los parámetros de clave de comprobación principal, el emisor y el público.When you configure the token restricted policy, you must specify the primary verification key, issuer, and audience parameters. La clave de comprobación principal contiene la clave con la que se firmó el token.The primary verification key contains the key that the token was signed with. El emisor es el servicio de token seguro que emite el token.The issuer is the secure token service that issues the token. El público, a veces denominado ámbito, describe la intención del token o del recurso cuyo acceso está autorizado por el token.The audience, sometimes called scope, describes the intent of the token or the resource the token authorizes access to. El servicio de entrega de claves de los Media Services valida que estos valores del token coincidan con los valores de la plantilla.The Media Services key delivery service validates that these values in the token match the values in the template.

Direcciones URL de streamingStreaming URLs

Si el recurso se cifró con más de un DRM, use una etiqueta de cifrado en la dirección URL de streaming: (formato = 'm3u8-aapl', cifrado = 'xxx').If your asset was encrypted with more than one DRM, use an encryption tag in the streaming URL: (format='m3u8-aapl', encryption='xxx').

Se aplican las siguientes consideraciones:The following considerations apply:

  • No se puede especificar más de un tipo de cifrado.No more than one encryption type can be specified.
  • El tipo de cifrado no tiene que especificarse en la dirección URL si solo se aplicó un cifrado al recurso.Encryption type doesn't have to be specified in the URL if only one encryption was applied to the asset.
  • El tipo de cifrado distingue mayúsculas de minúsculas.Encryption type is case insensitive.
  • Se pueden especificar los siguientes tipos de cifrado:The following encryption types can be specified:
    • cenc: para PlayReady o Widevine (cifrado común)cenc: For PlayReady or Widevine (common encryption)
    • cbcs-aapl: para FairPlay (cifrado AES-CBC)cbcs-aapl: For FairPlay (AES CBC encryption)
    • cbc: para cifrado de sobre AEScbc: For AES envelope encryption

Pasos siguientesNext steps

En los próximos artículos se describen los siguientes pasos para empezar con la protección de contenido:The following articles describe next steps to help you get started with content protection: