Configuration et conditions de licence Apple FairPlay

Logo de Media Services v3


Avertissement

Azure Media Services sera mis hors service le 30 juin 2024. Pour plus d’informations, consultez le Guide de mise hors service AMS.

Azure Media Services vous permet de chiffrer votre contenu HLS avec Apple FairPlay Streaming (AES-128 CBC). Media Services fournit également un service de remise de licences FairPlay. FairPlay Streaming est une technologie Apple qui n’est disponible que pour la vidéo transférée via HTTP Live Streaming (HLS) sur les appareils iOS, sur Apple TV et dans Safari sur macOS. Quand un client Apple tente de lire votre contenu protégé par FairPlay avec le format HLS, une demande est envoyée au service de remise de licence pour obtenir une licence. Si le service de licence approuve la requête, il émet la licence qui est envoyée au client et sert à déchiffrer et lire le contenu spécifié.

Media Services propose également des API qui vous permettent de configurer vos licences FairPlay. Cette rubrique décrit les conditions de licence FairPlay et montre comment vous pouvez configurer une licence FairPlay à l’aide des API Media Services.

Spécifications

Les éléments suivants sont nécessaires lors de l’utilisation de Media Services pour chiffrer votre contenu HLS avec Apple FairPlay et fournir des licences FairPlay :

  • S’inscrire au programme Apple Developer Program.

  • Apple exige que le propriétaire du contenu se procure le package de déploiement. Indiquez que vous avez déjà implémenté le module de sécurité des clés (KSM) avec Media Services et que vous avez besoin du package FPS final. Voici les instructions figurant dans le package FPS final pour générer la certification et obtenir la clé secrète d’application (ASK). Utilisez la clé ASK pour configurer FairPlay.

  • Les éléments suivants doivent être définis du côté de la remise de clé/licence Media Services :

    • Certificat d’application : fichier .pfx qui contient la clé privée. Vous devez créer ce fichier et le chiffrer avec un mot de passe. Le fichier .pfx doit être au format Base64.

      Les étapes suivantes décrivent la génération d’un fichier de certificat .pfx pour FairPlay :

      1. Installez OpenSSL à partir de https://slproweb.com/products/Win32OpenSSL.html.

        Accédez au dossier dans lequel se situent le certificat FairPlay et les autres fichiers fournis par Apple.

      2. Exécutez la commande suivante à partir de la ligne de commande. Elle permet de convertir le fichier .cer en fichier .pem.

        « C:\OpenSSL-Win32\bin\openssl.exe" x509 -inform der -in FairPlay.cer -out FairPlay-out.pem

      3. Exécutez la commande suivante à partir de la ligne de commande. Elle permet de convertir le fichier .pem en fichier .pfx avec la clé privée. Le mot de passe du fichier .pfx est ensuite demandé par OpenSSL.

        « C:\OpenSSL-Win32\bin\openssl.exe" pkcs12 -export -out FairPlay-out.pfx -inkey privatekey.pem -in FairPlay-out.pem -passin file:privatekey-pem-pass.txt

    • Mot de passe du certificat d’application : mot de passe pour créer le fichier .pfx.

    • ASK : cette clé est reçue quand vous générez la certification à l’aide du portail des développeurs Apple. Chaque équipe de développement reçoit une ASK unique. Enregistrez une copie de la clé ASK et stockez-la dans un endroit sûr. Vous devez configurer la clé ASK comme FairPlayAsk avec Media Services.

  • Les éléments suivants doivent être définis par FPS côté client :

    • Certificat d’application : fichier .cer/.der qui contient la clé publique utilisée par le système d’exploitation pour chiffrer une charge utile. Media Services doit le connaître, car il est requis par le lecteur. Le service de remise de clé le déchiffre à l'aide de la clé privée correspondante.
  • Pour lire un flux chiffré FairPlay, vous devez obtenir une clé ASK réelle en premier lieu, puis générer un certificat réel. Ce processus crée les trois composants suivants :

    • Fichier .der
    • Fichier .pfx
    • Mot de passe du fichier .pfx

Notes

Azure Media Services ne vérifie pas la date d’expiration du certificat lors de l’empaquetage ou de la remise de clé. Il continue à fonctionner après l’expiration du certificat.

Applications FairPlay et de lecteur

Quand votre contenu est chiffré avec Apple FairPlay, les échantillons audio et vidéo individuels sont chiffrés à l’aide du mode AES-128 CBC. FairPlay Streaming (FPS) est intégré dans les systèmes d'exploitation de l’appareil, avec prise en charge native sur iOS et Apple TV. Safari sur OS X active FPS à l’aide de la prise en charge de l’interface EME (Encrypted Media Extensions).

Le lecteur multimédia Azure prend aussi en charge la lecture FairPlay. Pour plus d’informations, consultez Documentation du lecteur multimédia Azure.

Vous pouvez développer vos propres applications de lecteur à l’aide du kit SDK iOS. Pour pouvoir lire le contenu FairPlay, vous devez implémenter le protocole d’échange de licence. Ce protocole n’est pas spécifié par Apple. Chaque application doit décider comment envoyer des requêtes de distribution de clés. Le service de remise de clé Media Services FairPlay s’attend à ce que le certificat SPC soit fourni en tant que message encodé www-form-url au format suivant :

spc=<Base64 encoded SPC>

Stocker une clé privée FairPlay (.pfx) dans Azure Key Vault

La clé privée (.pfx) que vous recevez d’Apple doit être traitée comme un certificat sécurisé et peut être stockée dans Azure Key Vault.

  • Le fichier de certificat .pfx doit d’abord être converti en fichier texte de base 64 par l’administrateur
  • Une fois converti, ce fichier peut être stocké dans Azure DevOps Services en tant que fichier texte sécurisé.
  • La chaîne peut ensuite être stockée manuellement dans Azure Key Vault sous la forme d’un « objet secret », ou dans le cadre d’un script de déploiement ou de build pour votre solution. Pour voir un exemple de stockage du certificat privé FairPlay dans Azure Key Vault, consultez l’exemple de code du projet Gridwich.
  • Si vous le souhaitez, vous pouvez stocker le fichier .pfx comme un secret dans le coffre de clés.

Exemple de script CLI

Pour copier le fichier de clé privée encodé en base64 dans Azure KeyVault :

set -eu
echo key vault : $SHARED_KV_NAME
echo "Copying FairPlay certificate to key vault as secret"
az keyvault secret set --vault-name $SHARED_KV_NAME -n ams-fairPlay-certificate-b64 -f $(FairPlayCertificate.secureFilePath) --output none

Obtenir de l’aide et du support

Vous pouvez contacter Media Services pour toute question ou suivre nos mises à jour selon l’une des méthodes suivantes :