Suppression sécurisée de PlayReady
Introduit dans PlayReady version 4.0, PlayReady Secure Delete est une fonctionnalité qui permet aux fournisseurs de services de recevoir un accusé de réception sécurisé lorsqu’une licence persistante est supprimée par l’application sur le client. Auparavant, lorsqu’une licence a été supprimée, les fournisseurs de services n’ont pas été avertis lorsque la suppression a été terminée. Avec PlayReady Secure Delete, les opérations suivantes sont possibles.
Les fournisseurs de services peuvent suivre les licences actuellement stockées et les licences qui ont été supprimées sur un ordinateur client donné. Les fournisseurs de services peuvent émettre un nombre spécifique de licences persistantes à un client et suivre le nombre de licences sur l’ordinateur de ce client. La fonctionnalité Suppression sécurisée répond également à l’exigence de spécification EME (Encrypted Media Extensions), telle que définie en septembre 2017, qui spécifie qu’un enregistrement de suppression de licence doit être envoyé au serveur lors de la suppression de la licence.
La figure suivante illustre un flux de suppression sécurisée.
Avant la suppression sécurisée, l’application ou le client instancie d’abord un module cdm (PlayReady Content Decryption Module) et acquiert une licence persistante auprès du serveur (étapes 1 à 7 de la figure ci-dessus).
Ensuite, PlayReady stocke la licence dans le magasin de données (HDS, Hashed Data Stockage), ainsi qu’un enregistrement de l’objet blob de session de licence, composé d’un identificateur de session (SessionId) et d’un ou plusieurs identificateurs de clé (KID). Lorsque l’application ou le client lance une demande de suppression de licence, il appelle les API appropriées pour supprimer la ou les licences associées au kid du magasin de données. Pendant un processus de suppression de licence non sécurisé, PlayReady supprime la ou les licences du magasin de données sans action supplémentaire. À l’aide de la suppression sécurisée, PlayReady supprime non seulement la ou les licences associées au kid du magasin de données, mais génère également un défi de suppression sécurisée qui contient les id de session et les kid(s) (étapes 12-13 de la figure ci-dessus).
L’application ou le client envoie ensuite la demande de suppression sécurisée au serveur de suppression sécurisée, qui traite ensuite le défi.
Après avoir traité la demande de suppression sécurisée, le serveur de suppression sécurisée envoie une réponse de suppression sécurisée non chiffrée non signée qui contient un Id de session codé en base 64 à l’application (ou client).
Enfin, une fois que le client reçoit la réponse De suppression sécurisée, PlayReady valide que l’ID de session contenu dans la réponse De suppression sécurisée correspond à l’Id de session utilisé pour générer le défi de suppression sécurisée. Si la validation réussit, PlayReady supprime l’enregistrement de la session de licence du magasin de données.