Fermer

octobre 16, 2023

Déchiffrer le code : la technologie DRM d’Apple (partie 1)

Déchiffrer le code : la technologie DRM d’Apple (partie 1)


Introduction au DRM Fairplay

« Fair-play DRM » est essentiellement la technologie de gestion des droits numériques d’Apple. Fairplay est également connu sous le nom de Fairplay Streaming (FPS), dont le rôle principal est de fournir en toute sécurité le contenu crypté via le protocole HTTP Live Streaming. Il empêche le téléchargement de vidéos et assure la protection de l’enregistrement d’écran lorsque le contenu protégé est diffusé en continu.

En d’autres termes, Fairplay est utilisé pour diffuser le contenu en toute sécurité sur l’application iOS, l’application macOS et l’application tvOS. Fairplay DRM prend en charge le protocole de diffusion de contenu sans fil d’Apple, « Airplay ».

Le contenu peut être lu sur les appareils Apple et les systèmes d’exploitation à l’aide d’Airplay sans aucun encodage ni décryptage supplémentaire. Ce contenu conserve un niveau de sécurité équivalent à celui rencontré lors de sa lecture sur ses appareils d’origine, comme les iPhones.

Historique des DRM FairPlay

Fairplay DRM a été initialement développé par Veridisc. Il a ensuite été adopté par Apple. Et maintenant connu sous le nom de Fairplay DRM.

Initialement, Fairplay était utilisé par Apple pour la protection des fichiers audio dans iTunes. Mais plus tard, Fairplay a été lancé pour protéger les fichiers audio et vidéo.

Qu’est-ce que le serveur de streaming FairPlay (FPS)

FPS est intégré au système d’exploitation de l’appareil, qui prend en charge les appareils mobiles Apple (iPhone/iPad) et AppleTv. Safari sur Mac OS permet le streaming Fair Play en utilisant la prise en charge de l’interface EME.

Le rôle principal de FPS est de fournir les clés des appareils mobiles Apple, AppleTV et Safari sur OS, qui permettent la lecture de contenu vidéo crypté.

Compatibilité Fairplay avec différents systèmes d’exploitation d’appareils Apple

Mobile-

  • Application native iOS : iOS 9.0 ou version ultérieure
  • Navigateur iOS Safari : 11.2 ou version ultérieure
  • Système d’exploitation iPad : 13.1 ou version ultérieure

Apple TV-

PC-

  • Navigateur de dîner macOS : 10h10 ou version ultérieure

Apple Watch-

Caractéristiques de Fairplay DRM

  • Protection audio et vidéo
  • Lecture hors ligne
  • Prise en charge d’Apple Airplay

Fonctionnement du DRM FairPlay

1. L’application client informe le framework AVFoundation du système d’exploitation de l’appareil de lire le contenu FPS.

2. Le framework AVFoundation télécharge le fichier manifeste m3u8 à partir du serveur de contenu. et analysez-le en interne.

3. AVFoundation l’analyse en interne et recherche « EXT-X-KEY » ou « #EXT-X-SESSION-KEY : MÉTHODE = » balise pour voir si le contenu est crypté ou non. si sa valeur est « ÉCHANTILLON-AES » alors ce contenu est crypté.

Note:

MÉTHODE attribut indique au joueur quelle méthode de cryptage est utilisée pour crypter ce contenu. Si le contenu n’est pas chiffré, la valeur serait MÉTHODE=AUCUNEPour le cryptage AES-128, la valeur serait «MÉTHODE=AES-128».

4. Si le contenu est protégé, AVFoundation/OS demande la clé FPS à l’application client.

5. Dans cette phase, l’application fournit les données contentId et DRM-Certificate à AVFoundation/OS pour préparer le contexte de lecture du serveur (SPC).

6. Dans Cette phase, le système d’exploitation crée un contexte de lecture de serveur (SPC). FPS protège le contexte de lecture du serveur (SPC) avec la clé publique RSA du fournisseur de contenu. Un certain nombre de vérifications sont effectuées par le FPS pour vérifier le certificat du fournisseur de contenu avant d’échanger des médias cryptés.

7. Dans cette phase, l’application envoie un message SPC au Key Server pour préparer le CKC (Contexte de la clé de contenu).

8. Les modules du serveur de clés lisent le CPS (Contexte de lecture du serveur) du CKC et rétablissez-le dans l’application. Généralement, dans cette phase, KSM (Key Server Module) encapsule la clé de contenu et le vecteur d’initialisation selon la spécification FPS. Ensuite, le serveur crée un contexte de clé de contenu en réponse à l’application qui contient la clé de contenu et le vecteur d’initialisation.

9. L’application client fournit ensuite CKC au système d’exploitation du périphérique pour demander un contexte de lecture. AVFoundation/OS décrypte et lit le contenu en toute sécurité à l’aide des clés contenues dans les données CKC.

Restez à l’écoute pour la prochaine partie de cette série de blogs avec les extraits de code.

VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE






Source link

octobre 16, 2023