Partilhar via


Troca de chaves PlayReady

Key Exchange é o processo pelo qual chaves criptográficas arbitrárias (para algoritmos suportados), protegidas por PlayReady, são enviadas para o cliente a partir do Servidor de Licenças. Isso permite que o servidor execute operações criptográficas com essas chaves (criptografar, descriptografar, assinar, verificar) e o cliente execute a operação correspondente (descriptografar, criptografar, verificar, assinar) com as mesmas chaves.

Observação

Este recurso só é suportado quando o cliente e o servidor estão usando PlayReady versão 4.5 ou superior.

Importante

A operação criptográfica é executada sobre dados que não são protegidos pelo PlayReady. O PlayReady protege apenas as próprias chaves criptográficas.

Arquitetura do Key Exchange

As chaves são entregues ao cliente através de uma KeyExchangeLicense, um tipo exclusivo de licença que só pode ser usado para operações de troca de chaves, durante a aquisição de licenças comuns.

As chaves são protegidas no cliente pelo PlayReady no mesmo nível de segurança que as próprias chaves de conteúdo.

Importante

As chaves usadas para proteção do próprio conteúdo não devem ser enviadas ao cliente por meio de uma KeyExchangeLicense. Fazer isso é uma violação das Regras de Conformidade e Robustez do PlayReady (CR&RRs).

Licenças do Key Exchange

Uma única KeyExchangeLicense contém o seguinte

  • Uma única chave criptográfica
  • Política que indica qual operação criptográfica exclusiva (algoritmo mais tipo, por exemplo, "desencriptar") o cliente pode executar
  • Política adicional associada à chave, como expiração absoluta

Criptografia de troca de chaves

No servidor, uma KeyExchangeLicense é geralmente construída e usada no PlayReady Sever SDK como uma MediaLicense com as seguintes diferenças principais.

  • A chave criptográfica requer que sua operação criptográfica seja especificada ao mesmo tempo que a referida chave
  • Algumas políticas de MediaLicense não são suportadas, principalmente aquelas como Níveis de Proteção de Saída , que são relevantes apenas para reprodução

Consulte a documentação da classe KeyExchangeLicense para mais informações.

No cliente, uma KeyExchangeLicense é utilizada através de novas APIs Drm_KeyExchange_*. Eles permitem que um cliente execute as seguintes operações. Consulte a documentação da API fornecida nos comentários de código associados no PlayReady Device Porting Kit para obter mais informações.

  • Vincular a uma licença do KeyExchange que verifica a política de licença associada
  • Execute a única operação criptográfica permitida com a chave associada (repetidamente, conforme desejado)