Développement d’un packageur PlayReady
Vous devez examiner plusieurs considérations avant de commencer à incorporer PlayReady dans votre packager pour protéger le contenu. Notez que le développement d’un package qui fournit une protection PlayReady pour le contenu que vous souhaitez chiffrer :
- Ne nécessite pas de contrat de licence de Microsoft.
- Il n’existe aucun frais pour Microsoft associé à l’insertion de PlayReady dans votre contenu.
- Il n’existe aucun paiement de redevance pour Microsoft applicable aux encodeurs PlayReady ou aux packagers.
Par conséquent, vous n’avez pas besoin d’allouer de temps ou de budget pour ces éléments.
Remarque
Certains partenaires Microsoft PlayReady peuvent développer un packageur PlayReady pour votre entreprise si vous ne voulez pas le développer vous-même.
Présentation du développement du
Le temps de développement pour l’incorporation de la fonctionnalité PlayReady dans votre packager dépend du développement et du test des composants suivants :
Générateur de clés : génère la valeur de clé utilisée pour chiffrer le contenu (ainsi que son KeyID associé). Si vous utilisez le mécanisme KeySeed, ce générateur doit implémenter la fonction comme défini dans la spécification PlayReady Key Seed .
Générateur d’en-tête PlayReady : génère l’objet PlayReady (y compris l’en-tête PlayReady et/ou un magasin de licences incorporé). Cet en-tête PlayReady inclut keyID ou la liste des keyID, l’URL par défaut du serveur de licences PlayReady et toute valeur personnalisée dont vous avez besoin pour votre contenu protégé. Cette fonction doit suivre les exigences décrites dans la spécification d’en-tête PlayReady.
Packager : package le contenu à l’aide de la valeur de clé fournie par le générateur de clés et de l’objet PlayReady créé par le générateur d’en-tête PlayReady.
Système de gestion des clés : stocke la valeur de clé et son KeyId associé (non requis si vous utilisez le mécanisme KeySeed).
Développement d’un packageur PlayReady
Si vous avez décidé de développer votre propre Packager PlayReady, vous devez décider de la façon dont vous souhaitez que le packager fonctionne, en fonction de la façon dont vous souhaitez que votre contenu soit stocké et remis. La liste suivante fournit les étapes nécessaires pour ajouter des fonctionnalités PlayReady à votre packager.
Choisissez votre format de chiffrement. Plusieurs types de chiffrement différents sont utilisés pour protéger le contenu. Microsoft PlayReady systèmes utilisent l’algorithme de clé symétrique, Advanced Encryption Standard (AES). À compter de la version 4.0, les systèmes PlayReady prennent en charge les clés AES 128 dans les modes CBC (Chaînage de blocs de chiffrement) et CTR (mode compteur), comme défini dans la norme ISO/IEC 23001-7. Les mécanismes de chiffrement utilisés pour protéger le contenu sont encapsulés dans un conteneur, afin que les fichiers puissent être parcourus et déchiffrés efficacement sur diverses plateformes.
Tout format de chiffrement qui utilise des clés AES-128 utilisées en mode CTR ou en mode CBC est autorisé par les règles de conformité pour les produits PlayReady. Pour plus d’informations, consultez Modes de chiffrement de contenu PlayReady.
Choisissez la façon dont vous allez chiffrer votre contenu. Pour plus d’informations, consultez Utilisation des clés de chiffrement.
Choisissez si vous souhaitez déchiffrer votre contenu à l’aide de PlayReady uniquement ou si vous souhaitez prendre en charge plusieurs drMs. Pour plus d’informations, consultez Utilisation des outils de chiffrement.
Choisissez la façon dont vous allez générer et stocker des clés de contenu (valeur de clé et ID de clé).
Votre packager doit inclure un certain type de générateur de clés qui crée la valeur de clé utilisée pour chiffrer et déchiffrer votre contenu. Le générateur de clés doit associer un ID de clé à la valeur de clé. La valeur de clé reste un secret, et l’ID de clé est public et est inséré dans l’en-tête PlayReady dans votre contenu. Si le packager n’inclut pas de générateur de clés, vous devez développer ou en sourcer un séparément.
Vous devrez soit développer un système de gestion des clés pour stocker plusieurs valeurs de clé et leurs ID de clé associés, soit une licence d’un tiers. Le système de gestion des clés peut être une base de données ou tout autre type de système de stockage, mais doit être sécurisé pour empêcher toute personne d’accéder aux valeurs de clé sans autorisation. Microsoft ne fournit pas de système de gestion de clés avec PlayReady. Vous pouvez également utiliser le mécanisme KeySeed fourni avec PlayReady à la place du système de gestion des clés (le mécanisme KeySeed doit être incorporé dans votre package et dans le serveur PlayReady qui fournit les licences pour déchiffrer le contenu).
Choisissez la façon dont vous allez insérer un objet PlayReady (y compris l’en-tête PlayReady et/ou le magasin de licences incorporé) dans votre contenu chiffré. Pour plus d’informations, consultez Comment générer un en-tête PlayReady.
Choisissez la façon dont vous allez fournir les valeurs de clé et les ID de clé à un serveur PlayReady, qui distribuera ensuite les valeurs de clé aux clients PlayReady.
Vous pouvez développer votre propre serveur de licence PlayReady (nécessite une licence de PlayReady, mais aucun frais ni redevances n’est collecté par Microsoft pour votre développement ou utilisation d’un serveur PlayReady), ou vous pouvez utiliser un serveur PlayReady fourni ou géré par un tiers. Que vous développez votre propre serveur PlayReady ou le serveur PlayReady soit fourni ou géré par un tiers, vous devez être en mesure de communiquer les valeurs de clé et les ID de clé au serveur en temps opportun pour que le client puisse lire efficacement votre contenu.
Choisissez la façon dont les clients vont contacter le serveur de licence PlayReady pour acquérir les clés de chiffrement de contenu. Les applications clientes doivent être informées de l’URL du serveur de licence PlayReady (également appelée URL d’acquisition de licence ou URL LA) lorsqu’elles doivent acquérir une licence. Les applications clientes peuvent être programmées pour que cette valeur d’URL LA soit codée en dur ou la récupérer dynamiquement à partir du serveur. Si l’application cliente n’a pas cette valeur d’URL LA, elle utilise la valeur d’URL LA trouvée dans l’en-tête PlayReady du contenu, qui est l’URL LA par défaut. Bien qu’il ne soit pas obligatoire, il est très courant pour les services d’inclure une valeur d’URL LA par défaut dans l’en-tête PlayReady du contenu au moment de l’empaquetage.