Troca de Chaves do PlayReady
O Key Exchange é o processo pelo qual chaves criptográficas arbitrárias (para algoritmos com suporte), protegidas pelo PlayReady, são enviadas ao cliente do Servidor de Licença. Isso permite que o Servidor execute operações criptográficas com essas chaves (criptografar, descriptografar, assinar, verificar) e o cliente para executar a operação correspondente (descriptografar, criptografar, verificar, assinar) com as mesmas chaves.
Observação
Esse recurso só tem suporte quando o cliente e o servidor estão usando o PlayReady versão 4.5 ou superior.
Importante
Os dados nos quais a operação criptográfica é executada 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 por meio de um 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 conteúdo em si não devem ser enviadas ao cliente por meio de um KeyExchangeLicense. Fazer isso é uma violação das Regras de Conformidade e Robustez do PlayReady (CR&RRs).
Licenças do Key Exchange
Um único 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, "descriptografar) o cliente pode executar
- Política adicional associada à chave, como expiração absoluta
Criptografia do Key Exchange
No servidor, um KeyExchangeLicense geralmente é construído e usado no SDK do PlayReady Sever como um MediaLicense com as seguintes diferenças principais.
- A chave criptográfica exige que sua operação criptográfica seja especificada ao mesmo tempo que a chave
- Não há suporte para algumas políticas do MediaLicense, 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 obter mais informações.
No cliente, um KeyExchangeLicense é usado por meio de novas APIs Drm_KeyExchange_*. Eles permitem que um cliente execute as operações a seguir. Consulte a documentação da API fornecida nos comentários de código associados no Kit de Portabilidade de Dispositivo PlayReady para obter mais informações.
- Associar a uma licença KeyExchange que verifica a política de licença associada
- Executar a única operação criptográfica permitida com a chave associada (repetidamente, conforme desejado)