Revoca playReady

Che cos'è la revoca PlayReady

La revoca è un processo per identificare i client che hanno compromesso la sicurezza e impedire a tali client di ottenere l'accesso a licenze aggiuntive per decrittografare il contenuto protetto.

Quando Microsoft identifica un client con sicurezza compromessa, il dispositivo può essere revocato e aggiunto a un elenco di revoche. L'elenco di revoche viene scaricato periodicamente dai server licenze che rilasciano licenze per il contenuto protetto. I server licenze usano questo elenco di revoche per negare le licenze ai dispositivi revocati, impedendo così al dispositivo di riprodurre contenuto appena protetto.

Gli elenchi di revoche vengono aggiornati nei dispositivi quando non sono aggiornati. L'elenco di revoche può anche essere rilasciato con le licenze. Il componente DRM nel dispositivo controlla questo elenco di revoche prima di trasferire il contenuto ad altri dispositivi. Impedendo la comunicazione con i componenti revocati, le applicazioni revocate non funzionano più. Una volta revocato, l'unico modo per risolvere la situazione consiste nel sostituire l'elemento revocato o rimuovere il componente revocato da una versione più recente dell'elenco di revoche.

Microsoft compila e gestisce l'elenco di revoche e la relativa struttura di controllo delle versioni. I clienti PlayReady possono scaricare questo elenco dal collegamento seguente:

PlayReady Revocation List(https): https://aka.ms/revinfo

PlayReady Revoche List(http): https://go.microsoft.com/fwlink/?LinkId=110086

Requisito per i server PlayReady

In base ai requisiti delle regole di conformità per i prodotti PlayReady, le aziende che operano un server PlayReady "devono aggiornare gli elenchi di revoche di certificati PlayReady Server Software Development Kit per ogni server PlayReady una volta alla settimana". Ciò garantisce che qualsiasi client compromesso ottenga le richieste di licenza rifiutate in un intervallo di tempo ragionevole dopo l'aggiunta da Microsoft all'elenco di revoche.

Ignorando le singole voci nell'elenco di revoche PlayReady

A partire da PlayReady Server versione 4.3, l'applicazione server può ignorare in modo esplicito uno o più hash revocati e continuare a rilasciare contenuto ad essi anche se vengono revocati. Ciò può essere utile per le aziende che producono e distribuiscono contenuto protetto e che desiderano avere un maggiore controllo sulla posizione in cui tale contenuto può fluire.

Per utilizzare questa funzionalità, è necessario creare un nuovo file XML contenente gli hash del certificato da ignorare e aggiungere una nuova voce al file web.config dell'implementazione di RMSDK. Il formato del file XML è il seguente.

<?xml version="1.0" ENCODING="utf-8"?>
   <RevAllowInfo>
      <AllowList>
         <CertificateHash>2C4OCYBGE3XZ3ODIUVUWD0SVLWH4W1NX9EA5DMJZ/PK=</CertificateHash>
         <CertificateHash>9OHU9A1KAJYI9BUWQWAVXBOO7R4XS+GG8HV0ESDBTNW=</CertificateHash>
      </AllowList>
   </RevAllowInfo>

I dati all'interno del nodo "CertificateHash" devono corrispondere all'hash del modello revocato o del certificato aziendale. Microsoft intende pubblicare queste informazioni, insieme alle informazioni sul modello corrispondenti, per le revoche future.

È inoltre necessario fare riferimento a questo file XML dall'interno della configurazione del server.

  • Per le distribuzioni RMSDK basate su .NET Core:

    • Il file XML deve essere aggiunto come progetto di elemento.
    • La stringa RevocationAllowFile in config/RMSDKConfig.cs deve essere aggiornata con il percorso del file XML.
  • Per le distribuzioni RMSDK basate su IIS:

    • Aggiungere una nuova chiave con il nome "REVOCATIONALLOWFILE" che punta al file XML al file web.config.
    • Ad esempio, se il file XML precedente è denominato "REVOCATIONALLOWSAMPLE.XML", il file di web.config verrà aggiornato come indicato di seguito.
<?xml version="1.0" encoding="utf-8"?>
   <configuration>
      <appSettings>
         ...
         <add key="RevocationAllowFile" value="REVOCATIONALLOWSAMPLE.XML">
         ...