Je me suis demandé comment la location de films iTunes fonctionnait du point de vue de la sécurité. Étant donné que les fichiers « loués » sont en fait téléchargés sur lordinateur de lutilisateur et puis joué à partir de là, il semble quil ny ait aucun moyen dempêcher lutilisateur de sauvegarder les fichiers indéfiniment.
Il est possible que les fichiers soient stockés dans un format propriétaire (quelque chose comme CSS), mais cela pourrait facilement être renversé à long terme par la rétro-ingénierie du code qui les lit (comme cela sest produit avec DeCSS) .
Je serais très heureux si quelquun pouvait me diriger vers des références analysant ce système.
Réponse
Les systèmes DRM ont tendance à tous fonctionner selon une variante des mêmes principes de base:
- Les contenus sont chiffrés avec un algorithme de cryptographie symétrique, comme par exemple AES-128.
- La clé de contenu, accompagnée dune description lisible par machine des droits dutilisation (par exemple « lecture pendant 48 heures ») est fournie à lappareil de lutilisateur lors de lachat du contenu.
- Cette clé + droits le bundle est souvent appelé une « licence », et est lui-même chiffré avec la cryptographie à clé publique. Cela implique que lappareil de lutilisateur possède la clé privée pour décrypter cette licence.
- Lors de la lecture du contenu, il y a forcément un » « morceau de logiciel sexécutant dans lapplication de lecture – dans cet exemple iTunes. « Trusted » est entre guillemets car Apple lui fait confiance, pas vous!
- Ce logiciel, parfois appelé « agent », est en charge du décryptage et, surtout, de lapplication des droits dutilisation. Dans cet exemple, il détruira peut-être la clé après 48 heures.
- Les agents, en raison de leur nature, sont généralement fortement blindés contre les attaques, pour vaincre les tentatives de rétro-ingénierie: la décompilation donnera des résultats inutiles, le débogage est rendu impossible, etc.
Alors … Pour répondre à votre question: oui, le contenu et la clé de décryptage sont tous les deux sur lappareil (au moins pendant un certain temps) mais il « sa contre toute tentative de les assembler. Les gens ont parfois réussi dans le passé, mais la barre est de plus en plus haute.
Commentaires
- Je doute que votre dernière puce soit strictement correcte – quel que soit le niveau d’obscurcissement effectué, il est sans aucun doute possible de procéder à une rétro-ingénierie du code avec suffisamment de temps et d’efforts. De plus, lors du débogage " hints " sont sans aucun doute supprimés du code compilé, le débogage nest en aucun cas impossible dans de telles conditions.