Partager via


Arrêt sécurisé PlayReady

Introduit dans PlayReady version 3.0, PlayReady Secure Stop est une fonctionnalité qui fournit les moyens d’un appareil PlayReady pour affirmer en toute confiance à un service de streaming multimédia que la lecture multimédia a arrêté pour tout élément de contenu donné. Cette fonctionnalité permet à vos services de streaming multimédia de contrôler et de rapporter avec précision les limites d’utilisation sur différents appareils pour un compte donné.

Vue d’ensemble de l’arrêt sécurisé

Un événement Secure Stop est signalé à un serveur d’arrêt sécurisé par le client lorsque la lecture multimédia s’arrête, soit à la fin du média, soit parce que l’utilisateur a arrêté la présentation multimédia quelque part au milieu. Lorsqu’un événement Secure Stop est signalé et au moment où l’événement Secure Stop est enregistré, le client PlayReady garantit que la clé de contenu est effacée de la mémoire. Un arrêt sécurisé est également signalé lorsque la session précédente se termine de manière inattendue (par exemple, en raison d’un blocage du système ou de l’application).

Notes

Secure Stop s’applique uniquement aux licences non persistantes.

Image animée montrant les demandes de licence entre les appareils et le service de licence, ainsi que les appareils et le service d’arrêt sécurisé

Il existe deux scénarios principaux pour l’envoi d’un défi De stop sécurisé :

  • Lorsque la lecture multimédia s’arrête à la fin, ou parce que l’utilisateur a arrêté la présentation multimédia quelque part au milieu.
  • Lorsque la session précédente se termine inopinément (par exemple, en raison d’un blocage du système ou de l’application). L’application doit interroger, au démarrage ou à l’arrêt, toutes les sessions d’arrêt sécurisé en attente et envoyer des défis distincts de toute autre lecture multimédia.

Pour plus d’informations sur l’arrêt sécurisé dans les applications UWP, consultez la section Ajouter un arrêt sécurisé dans l’article PLAYReady DRM .

Arrêt sécurisé 2

À compter de PlayReady version 4.2, PlayReady Secure Stop 2 offre davantage de sécurité en appliquant la fonctionnalité Secure Stop sur le client dans l’environnement d’exécution approuvé (TEE) au niveau de sécurité 3000.

Un service peut utiliser la fonctionnalité SecureStop pour appliquer la lecture sur plusieurs clients appartenant à un même compte d’utilisateur. Selon la configuration d’un client particulier dans ce compte d’utilisateur, le service reçoit des messages légèrement différents du client.

Le tableau suivant montre la logique de l’application serveur sur différentes versions de sécurité client et d’arrêt sécurisé.

Version du client Logique du serveur SecureStop Robustesse
PlayReady version 2.0+
SL2000
Le serveur ne reçoit aucun message SecureStop du client. Utilisez la logique d’application pour ce faire. Faible
PlayReady version 3.0+
SL3000 (exemple : application Windows 10)
Le serveur reçoit un message SecureStop1 du client.
La robustesse de ce message contre les attaques est supérieure à la logique d’application simple.
Moyenne
PlayReady version 4.2+
SL3000
Le serveur reçoit un message SecureStop2 du client. Un message SecureStop2 malveillant de ce client nécessite une attaque dans l’environnement d’exécution approuvé (TEE) du client.
La robustesse de ce message contre les attaques est supérieure à SecureStop1.
Élevé

Pour tirer parti de la fonctionnalité Secure Stop 2, l’application serveur doit activer la fonctionnalité comme suit :

  • Définissez la propriété SecureStop2AESKey sur la classe MediaLicense lors de l’émission d’une licence avec Secure Stop. (Cela peut être effectué, que le client prenne en charge Secure Stop 2 ou non.)
  • Créez une classe qui implémente l’interface ISecureStop2Handler (similaire à n’importe quel autre gestionnaire) de sorte que, pour n’importe quel KID donné, elle retourne la même clé utilisée lors de la définition de la propriété SecureStop2AESKey sur un MediaLicense avec ce KID.
  • Après avoir appelé GetSecureStopData, interrogez la propriété SecureStop2VerifiedSession sur la classe SecureStopDataChallenge. S’il est défini sur Guid.Empty, le client a envoyé un message SecureStop1. S’il est défini sur un autre Guid, le client a envoyé un message SecureStop2. Le GUID retourné est l’ID de session de la session unique dans le défi SecureStop2 qui peut être vérifié comme non malveillant (en supposant que l’environnement d’exécution approuvé (TEE) du client n’a pas été attaqué correctement.

Voir aussi

Serveur d’arrêt sécurisé