Panoramica della protezione del contenutoContent protection overview

È possibile usare Servizi multimediali di Azure per proteggere i file multimediali dal momento in cui escono dal computer fino alle fasi di archiviazione, elaborazione e recapito.You can use Azure Media Services to secure your media from the time it leaves your computer through storage, processing, and delivery. Con Servizi multimediali è possibile distribuire contenuti live e on demand crittografati dinamicamente con AES-128 (Advanced Encryption Standard) o con uno dei principali sistemi DRM (Digital Rights Management): Microsoft PlayReady, Google Widevine e 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. Servizi multimediali offre anche un servizio per la distribuzione di chiavi AES e licenze DRM (PlayReady, Widevine e FairPlay) ai client autorizzati.Media Services also provides a service for delivering AES keys and DRM (PlayReady, Widevine, and FairPlay) licenses to authorized clients.

L'immagine seguente illustra il flusso di lavoro di protezione dei contenuti di Servizi multimediali:The following image illustrates the Media Services content protection workflow:

Protezione con PlayReady

Questo articolo usa una terminologia e illustra concetti importanti per comprendere la protezione dei contenuti con Servizi multimediali.This article explains concepts and terminology relevant to understanding content protection with Media Services. L'articolo include anche collegamenti ad articoli che descrivono come proteggere i contenuti.The article also provides links to articles that discuss how to protect content.

Crittografia dinamicaDynamic encryption

È possibile usare Servizi multimediali per distribuire i contenuti crittografati dinamicamente con chiave non crittografata AES o con crittografia 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. Attualmente è possibile crittografare i formati HLS (HTTP Live Streaming), MPEG DASH e Smooth Streaming.Currently, you can encrypt the HTTP Live Streaming (HLS), MPEG DASH, and Smooth Streaming formats. La crittografia sui download progressivi non è supportata.Encryption on progressive downloads is not supported. Ogni metodo di crittografia supporta i protocolli di streaming seguenti:Each encryption method supports the following streaming protocols:

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

Per crittografare un asset è necessario associare una chiave simmetrica di crittografia all'asset e configurare anche i criteri di autorizzazione per la chiave.To encrypt an asset, you need to associate an encryption content key with your asset and also configure an authorization policy for the key. Le chiavi simmetriche possono essere specificate o generate automaticamente da Servizi multimediali.Content keys can be specified or automatically generated by Media Services.

È anche necessario configurare i criteri di distribuzione degli asset.You also need to configure the asset's delivery policy. Se si vuole trasmettere in streaming un asset con contenuto crittografato di archiviazione, assicurarsi di specificare come si intende recapitarlo configurando i criteri di distribuzione dell'asset.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.

Quando un flusso viene richiesto da un lettore, Servizi multimediali usa la chiave specificata per crittografare dinamicamente i contenuti mediante la chiave non crittografata AES o la crittografia 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. Per decrittografare il flusso, il lettore richiede la chiave dal servizio di distribuzione delle chiavi di Servizi multimediali.To decrypt the stream, the player requests the key from Media Services key delivery service. Per decidere se l'utente è autorizzato a ottenere la chiave, il servizio valuta i criteri di autorizzazione specificati.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.

Chiave non crittografata AES-128 e DRMAES-128 clear key vs. DRM

I clienti spesso si chiedono se devono usare la crittografia AES o un sistema DRM.Customers often wonder whether they should use AES encryption or a DRM system. La differenza principale tra i due sistemi è che con la crittografia AES la chiave simmetrica viene trasmessa al client in un formato non crittografato ("in chiaro").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"). Di conseguenza, è possibile visualizzare la chiave usata per crittografare i contenuti in una traccia di rete sul client in testo non crittografato.As a result, the key used to encrypt the content can be viewed in a network trace on the client in plain text. La crittografia con chiave non crittografata AES-128 è adatta nei casi in cui il visualizzatore è attendibile (ad esempio, la crittografia di video aziendali distribuiti all'interno di un'azienda per essere visualizzati dai dipendenti).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 e FairPlay offrono tutti un livello superiore di crittografia rispetto alla crittografia della chiave non crittografata AES-128.PlayReady, Widevine, and FairPlay all provide a higher level of encryption compared to AES-128 clear key encryption. La chiave simmetrica viene trasmessa in un formato crittografato.The content key is transmitted in an encrypted format. Inoltre, la decrittografia viene gestita in un ambiente sicuro a livello di sistema operativo, più difficilmente attaccabile da un utente malintenzionato.Additionally, decryption is handled in a secure environment at the operating system level, where it's more difficult for a malicious user to attack. Il DRM è consigliato per i casi d'uso in cui il visualizzatore potrebbe non essere attendibile ed è necessario il massimo livello di sicurezza.DRM is recommended for use cases where the viewer might not be a trusted party and you require the highest level of security.

Crittografia di archiviazioneStorage encryption

È possibile usare la crittografia di archiviazione per crittografare i contenuti localmente tramite crittografia AES a 256 bit,You can use storage encryption to encrypt your clear content locally by using AES 256-bit encryption. quindi caricarli nel servizio Archiviazione di Azure dove vengono archiviati in forma crittografata.You then can upload it to Azure Storage, where it's stored encrypted at rest. Gli asset protetti con la crittografia di archiviazione vengono decrittografati automaticamente e inseriti in un file system crittografato prima della codifica,Assets protected with storage encryption are automatically unencrypted and placed in an encrypted file system prior to encoding. quindi ricrittografati facoltativamente prima di essere ricaricati come nuovo asset di output.The assets are optionally re-encrypted prior to uploading back as a new output asset. La crittografia di archiviazione viene usata principalmente quando si vogliono proteggere i file multimediali con input di alta qualità con una crittografia avanzata sul disco locale.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.

Per distribuire un asset con contenuto crittografato di archiviazione, è necessario configurare i criteri di distribuzione dell'asset in modo da informare Servizi multimediali della modalità di distribuzione del contenuto.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. Per permettere lo streaming dell'asset, il server di streaming rimuove la crittografia ed esegue lo streaming dei contenuti usando i criteri di recapito specificati (ad esempio AES, crittografia comune o nessuna crittografia).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).

Tipi di crittografiaTypes of encryption

PlayReady e Widevine usano la crittografia comune (modalità CTR AES).PlayReady and Widevine utilize common encryption (AES CTR mode). FairPlay usa la crittografia in modalità CBC AES.FairPlay utilizes AES CBC-mode encryption. La crittografia con chiave non crittografata AES-128 usa la crittografia della busta.AES-128 clear key encryption utilizes envelope encryption.

Servizio di distribuzione di licenze e chiaviLicenses and keys delivery service

Servizi multimediali offre un servizio di distribuzione delle chiavi per la distribuzione di licenze DRM (PlayReady, Widevine, FairPlay) e di chiavi AES ai client autorizzati.Media Services provides a key delivery service for delivering DRM (PlayReady, Widevine, FairPlay) licenses and AES keys to authorized clients. È possibile usare il portale di Azure, l'API REST o Media Services SDK per .NET per configurare i criteri di autorizzazione e autenticazione per le licenze e le chiavi.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.

Controllare l'accesso ai contenutiControl content access

È possibile controllare chi ha accesso ai propri contenuti configurando i criteri di autorizzazione delle chiavi simmetriche.You can control who has access to your content by configuring the content key authorization policy. I criteri di autorizzazione delle chiavi simmetriche possono prevedere una limitazione aperta o relativa al token.The content key authorization policy supports either open or token restriction.

Autorizzazione apertaOpen authorization

Con i criteri di autorizzazione aperti la chiave simmetrica viene inviata a qualsiasi client (nessuna limitazione).With an open authorization policy, the content key is sent to any client (no restriction).

Autorizzazione con tokenToken authorization

Con i criteri di autorizzazione con restrizione del token, la chiave simmetrica viene inviata solamente a un client che fornisca un token JSON Web (JWT) o un token Web semplice (SWT) valido nella richiesta di licenza/chiave.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. Questo token deve essere emesso da un servizio token di sicurezza.This token must be issued by a security token service (STS). È possibile usare Azure Active Directory come servizio token di sicurezza oppure distribuire un servizio token di sicurezza personalizzato.You can use Azure Active Directory as an STS or deploy a custom STS. Il servizio token di sicurezza deve essere configurato in modo da creare un token firmato con la chiave specificata e rilasciare le attestazioni specificate nella configurazione della restrizione token.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. Il servizio di distribuzione delle chiavi di Servizi multimediali restituisce al client la chiave o la licenza richiesta se il token è valido e le attestazioni del token corrispondono a quelle configurate per la chiave o la licenza.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.

Quando si configurano i criteri di restrizione del token, è necessario specificare i parametri primary verification key, issuer e audience.When you configure the token restricted policy, you must specify the primary verification key, issuer, and audience parameters. Il parametro primary verification key include la chiave usata per firmare il token.The primary verification key contains the key that the token was signed with. Il parametro issuer è il servizio token di sicurezza che rilascia il token.The issuer is the secure token service that issues the token. Il parametro audience (talvolta denominato scope) descrive l'ambito del token o la risorsa a cui il token autorizza l'accesso.The audience, sometimes called scope, describes the intent of the token or the resource the token authorizes access to. Il servizio di distribuzione delle chiavi di Servizi multimediali verifica che i valori nel token corrispondano ai valori nel modello.The Media Services key delivery service validates that these values in the token match the values in the template.

URL di streamingStreaming URLs

Se l'asset è stato crittografato con più sistemi DRM, usare un tag di crittografia nell'URL di streaming (format='m3u8-aapl', encryption='xxx').If your asset was encrypted with more than one DRM, use an encryption tag in the streaming URL: (format='m3u8-aapl', encryption='xxx').

Si applicano le considerazioni seguenti:The following considerations apply:

  • Può essere specificato solo un tipo di crittografia.No more than one encryption type can be specified.
  • Il tipo di crittografia non deve essere specificato nell'URL se all'asset è stata applicata una sola crittografia.Encryption type doesn't have to be specified in the URL if only one encryption was applied to the asset.
  • Il tipo di crittografia non fa distinzione tra maiuscole e minuscole.Encryption type is case insensitive.
  • Possono essere specificati i seguenti tipi di crittografia:The following encryption types can be specified:
    • cenc: per PlayReady o Widevine (crittografia comune)cenc: For PlayReady or Widevine (common encryption)
    • cbcs-aapl: per FairPlay (crittografia CBC AES)cbcs-aapl: For FairPlay (AES CBC encryption)
    • cbc: per la crittografia della busta AEScbc: For AES envelope encryption

Passaggi successiviNext steps

Gli articoli seguenti descrivono i passaggi successivi da eseguire per iniziare a usare la protezione dei contenuti:The following articles describe next steps to help you get started with content protection: