FR3009105A1 - Procede pour la restitution d'un contenu multimedia chiffre - Google Patents
Procede pour la restitution d'un contenu multimedia chiffre Download PDFInfo
- Publication number
- FR3009105A1 FR3009105A1 FR1357340A FR1357340A FR3009105A1 FR 3009105 A1 FR3009105 A1 FR 3009105A1 FR 1357340 A FR1357340 A FR 1357340A FR 1357340 A FR1357340 A FR 1357340A FR 3009105 A1 FR3009105 A1 FR 3009105A1
- Authority
- FR
- France
- Prior art keywords
- key
- multimedia content
- equipment
- gpu1
- graphics processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 9
- 238000009877 rendering Methods 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
La présente invention concerne un procédé pour la restitution sur un équipement (1) d'un contenu multimédia chiffré, l'équipement (1) comprenant des moyens de traitement de données (CPU1), un processeur graphique (GPU1) et des moyens de restitution (10), l'équipement (1) étant connecté via un réseau de communication (3) à un serveur multimédia (2) comprenant des moyens de traitement de données (CPU2), le procédé étant caractérisé en ce qu'il comprend la mise en œuvre d'étapes de : • ouverture d'un tunnel sécurisé entre les moyens de traitement de données (CPU2) du serveur multimédia (2) et le processeur graphique (GPU1) de l'équipement (1) via les moyens de traitement de données (CPU1) de l'équipement (1) ; • réception par le processeur graphique (GPU1) de l'équipement (1), via le tunnel sécurisé, de données permettant au processeur graphique (GPU1) de générer une clé de déchiffrement dudit contenu multimédia chiffré ; • génération de la clé de déchiffrement dudit contenu multimédia chiffré ; • déchiffrement par le processeur graphique (GPU1) dudit contenu multimédia grâce à ladite clé de déchiffrement et restitution sur les moyens de restitution (10).
Description
DOMAINE TECHNIQUE GENERAL La présente invention concerne la gestion des droits numériques, et en particulier un procédé pour la restitution sur un équipement d'un contenu multimédia chiffré. ETAT DE L'ART La gestion des droits numériques (en anglais « Digital Rights Management », DRM) désigne un ensemble de mesures destinées à contrôler l'utilisation des oeuvres numériques (c'est-à-dire des contenus le plus souvent audio et/ou vidéo) pour prévenir le non-respect des droits de leurs ayants-droits. Est communément utilisé un chiffrement du contenu, combiné à un accès conditionnel. Le fournisseur qui exploite ce contrôle d'accès ne confie une clé de déchiffrement qu'en échange d'une preuve de souscription (abonnement à une chaîne payante, VOD, téléchargement sur une plateforme légale, etc.). L'accès à la lecture (et/ou sa copie) du contenu ainsi protégé n'est alors autorisée que pour l'équipement ou l'identification logicielle certifiée par le fournisseur. Cette technique apporte satisfaction, mais présente des failles. En effet, c'est aujourd'hui le plus souvent un processeur de l'équipement (en anglais le « Central Processing Unit », CPU) qui met en oeuvre le déchiffrement de rceuvre via des logiciels dédiés. Et des programmes développés par des pirates arrivent à leurrer ces logiciels, de sorte à permettre le déchiffrement du contenu (puis sa lecture voire sa copie) sans disposer des clés. Pour contourner ce problème, il a été proposé de développer des systèmes de DRM profondément intégrés au matériel de chaque 30 équipement. Les ayants-droits souhaitent ainsi imposer un système « hardware » pour assurer la protection des contenus.
A défaut d'intégrer des chipsets dédiés dans tous les équipements (solution très couteuse), il a été proposé d'utiliser des processeurs graphiques des équipements (en anglais « Graphic Processing Unit », GPU).
Un GPU est un circuit intégré présent sur une carte graphique et dédié aux fonctions de calcul de l'affichage, généralement présentant une structure hautement parallèle qui le rend efficace pour une large palette de tâches graphiques comme le rendu 3D ou le traitement de signaux vidéo, mais également pour des tâches cryptographiques.
La demande de brevet européen EP1821201 propose ainsi un système dans lequel un GPU est utilisé pour réaliser des calculs cryptographiques sur des nombres entiers et flottants, en particulier pour déchiffrer des contenus. Ce système améliore sensiblement les performances cryptographiques, mais on constate que des failles subsistent : le GPU fonctionne en effet toujours sous le contrôle du CPU, et il reste possible pour des logiciels malveillants d'intercepter les échanges entre ces deux composants, de sorte à permettre encore le piratage de contenus. Alternativement, la demande de brevet européen EP1876563 propose une solution destinée aux militaires, dans laquelle une chaîne de caractères alphanumériques ASCII est déchiffrée puis affichée en utilisant un GPU. Pour cela, les clés sont stockées de façon permanente dans le GPU. La sécurité est absolue, mais le système nécessite de reconfigurer spécifiquement chaque GPU de façon personnalisée. Cela semble impossible à mettre en oeuvre pour les équipements grand public tels que les PC et les tablettes tactiles sur lesquels les contenus protégés sont destinés à être lus, dans la mesure où ces équipements comprennent des GPU de série.
Il serait souhaitable de disposer d'une méthode de protection des droits numériques qui ne présente pas les failles de sécurité des solutions connues, tout en étant facilement adaptable à l'ensemble des équipements grand public. PRESENTATION DE L'INVENTION Selon un premier aspect, la présente invention se rapporte donc à un procédé pour la restitution sur un équipement d'un contenu multimédia chiffré, l'équipement comprenant des moyens de traitement de données, un processeur graphique et des moyens de restitution, l'équipement étant connecté via un réseau de communication à un serveur multimédia comprenant des moyens de traitement de données, le procédé étant caractérisé en ce qu'il comprend la mise en oeuvre d'étapes de : (a) établissement d'un tunnel sécurisé entre les moyens de traitement de données du serveur multimédia et le processeur graphique de l'équipement via les moyens de traitement de données de l'équipement ; (b) réception par le processeur graphique de l'équipement, via le tunnel sécurisé, de données permettant au processeur graphique de générer une clé de déchiffrement dudit contenu multimédia chiffré ; (c) génération par le processeur graphique de l'équipement de la clé de déchiffrement dudit contenu multimédia chiffré ; (d) réception par le processeur graphique de l'équipement dudit contenu multimédia chiffré, transmis via les moyens de traitement de données de l'équipement ; (e) déchiffrement par le processeur graphique dudit contenu multimédia grâce à ladite clé de déchiffrement ; (f) restitution dudit contenu multimédia déchiffré sur les moyens de restitution.
Selon d'autres caractéristiques avantageuses et non limitatives : - le serveur multimédia est un boitier Set-Top Box et le réseau est un réseau local ; - le serveur multimédia est connecté via le réseau Internet à une plateforme fournissant le contenu multimédia ; - le serveur multimédia met en oeuvre le chiffrement dudit contenu multimédia à partir de données cryptographiques qu'il génère ; - lesdites données cryptographiques générées par le serveur multimédia comprennent une première clé de chiffrement et une deuxième clé de chiffrement, le contenu multimédia étant chiffré avec la première clé, les données permettant au processeur graphique de générer une clé de déchiffrement dudit contenu multimédia chiffré transmises à l'étape (b) comprenant la première clé chiffrée avec la deuxième clé ; - la deuxième clé est générée à partir : - d'au moins un algorithme implémenté à la fois sur le serveur multimédia et sur le processeur graphique de l'équipement ; et - d'au moins une variable générée aléatoirement par les moyens de traitement de données du serveur multimédia ; les données permettant au processeur graphique de l'équipement de générer une clé de déchiffrement dudit contenu multimédia chiffré transmises à l'étape (b) comprenant ladite variable ; - l'étape (c) comprend la regénération de la deuxième clé de chiffrement à partir de la variable reçue à l'étape (b), et le déchiffrement de la première clé chiffrée à partir de la deuxième clé regénérée ; - les première et deuxième clés de chiffrement sont des clés symétriques, les chiffrements du contenu multimédia et de la première clé étant mis en oeuvre conformément à l'algorithme Advanced Encryption Standard (AES) ; - le contenu multimédia est un flux audio et/ou vidéo ; - le flux est transmis par paquets via HTTP ; - l'étape (a) comprend la génération par le processeur graphique de l'équipement puis la transmission aux moyens de traitement de données du serveur multimédia, d'une clé publique pour le chiffrement asymétrique des données transportées via le tunnel sécurisé ; - le tunnel sécurisé est mis en oeuvre conformément au protocole Transport Layer Security (TLS), le chiffrement asymétrique étant mis en oeuvre conformément à l'algorithme Rivest Shamir Adleman (RSA).
Selon un deuxième aspect, l'invention concerne un équipement comprenant des moyens de traitement de données, un processeur graphique et des moyens de restitution, caractérisé en ce que le processeur graphique est configuré pour mettre en oeuvre : - Un module d'établissement via les moyens de traitement de données de l'équipement d'un tunnel sécurisé avec les moyens de traitement de données d'un serveur multimédia connecté à l'équipement via un réseau de communication ; - Un module de réception via le tunnel sécurisé des données permettant de générer une clé de déchiffrement dudit contenu multimédia chiffré ; - Un module de génération de la clé de déchiffrement dudit contenu multimédia chiffré ; - Un module de réception dudit contenu multimédia chiffré, transmis via les moyens de traitement de données de l'équipement ; - Un module de déchiffrement dudit contenu multimédia grâce à ladite clé de déchiffrement ; - Un module de restitution dudit contenu multimédia déchiffré sur les moyens de restitution.
Selon un troisième et un quatrième aspect, l'invention concerne un produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé selon le premier aspect de l'invention pour la restitution sur un équipement d'un contenu multimédia chiffré ; et des moyens de stockage lisibles par un équipement informatique sur lesquels un produit programme d'ordinateur comprend des instructions de code pour l'exécution d'un procédé selon le deuxième aspect de l'invention pour la restitution sur un équipement d'un contenu multimédia chiffré.
PRESENTATION DES FIGURES D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre d'un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés dans lesquels : - la figure 1 représente une architecture dans laquelle est mis en oeuvre le procédé selon l'invention ; - la figure 2 est un schéma de la génération d'une deuxième clé dans un mode de réalisation préféré du procédé selon l'invention. DESCRIPTION DETAILLEE Architecture En référence à la figure 1, le présent procédé est mis en oeuvre en un « serveur » 2 et un « client » 1. Ce dernier est un équipement multimédia grand public tel qu'un smartphone, une tablette tactile, un ordinateur personnel, une télévision connectée, console de jeux, un boitier multimédia secondaire), etc. De façon générale, l'équipement 1 comprend des moyens de traitement de données (en d'autres termes un « Central Processing Unit » tel qu'un processeur, ainsi référencé CPU1), un processeur graphique (en d'autres termes un « Graphical Processing Unit », c'est-à-dire une carte graphique, référencé GPU1) et des moyens de restitution 10 qui consistent généralement en un moyen d'affichage vidéo (un écran ou une sortie vidéo sécurisée) et/ou des moyens de restitution sonore (un ou plusieurs haut-parleurs). L'équipement 1 est connecté via un réseau de communication 3 au 30 serveur multimédia 2. On comprendra que ce dernier peut être n'importe quel équipement informatique apte à fournir un contenu, et disposant de ses propres moyens de traitement de données CPU2, et de moyens de communication avec l'équipement 1. De façon préférée, le serveur multimédia 2 est un boitier multimédia de type « Set Top Box » (STB). En effet, un tel dispositif est fourni pré- configuré par un opérateur, et fonctionne de manière « fermée ». En d'autres termes, un utilisateur ne dispose que d'un contrôle très limité de son fonctionnement, et n'a pas la possibilité d'ajouter ou de modifier des programmes qui y sont installés (contrairement à un PC par exemple), ce qui en fait un équipement particulièrement sécurisé.
Le serveur multimédia 2 est alors relié à l'équipement 1 par un lien réseau (en particulier au sein d'un réseau local), par exemple via Wi-Fi, connexion filaire, etc. De l'autre côté, le serveur multimédia 2 est connecté au réseau internet 4, par exemple via un boitier d'accès à Internet (IAD). Il est dans ces conditions souhaitable de mettre en oeuvre une 15 authentification de l'équipement 1, par exemple en prévoyant un mécanisme d'identification unique de l'équipement 1 (les identités des équipements 1 autorisés étant stockées dans une liste sur le serveur multimédia 2), et/ou en mesurant le temps de propagation (pour définir la localisation réelle de l'équipement 1 et adapter les données transmises 20 selon les critères définis avec les ayants droits), avec au préalable l'établissement d'un tunnel sécurisé basé sur la vérification mutuelle de certificats. Alternativement, le serveur multimédia 2 peut être un serveur distant connecté à l'équipement 1 via Internet, par exemple à travers un réseau 25 3G/4G si l'équipement 1 est un smartphone. Transport sécurisé de flux vidéo Le présent procédé permet la restitution sur l'équipement 1 d'un 30 contenu multimédia chiffré, en d'autres termes le transport du contenu depuis le serveur multimédia 2 vers l'équipement 1, son déchiffrement sur ce dernier et enfin sa restitution. Par contenu multimédia, on entend tout média transportable sur un réseau, et en particulier un contenu audio et/ou vidéo (par exemple un film, une série, une musique, un spot, etc.) diffusé sous la forme d'un flux délivré via un réseau de communication ou localement stocké dans le foyer.
Ce flux peut être directement fourni déjà chiffré au serveur multimédia 2 sous le format adéquat, mais en général il est obtenu déjà chiffré sous un format spécifique (par exemple en cas d'enregistrement PVR, « Personal Video Recorder », ou si le flux est récupéré depuis une plateforme 5 du réseau Internet), que le serveur multimédia 2 commence par déchiffrer. Dans ce dernier cas (ainsi que dans un cas où le flux était éventuellement directement fourni en clair), le serveur multimédia 2 met alors en oeuvre le chiffrement du flux en clair à partir de données cryptographiques qu'il génère. Par des algorithmes qui seront détaillés plus loin le serveur multimédia 2 génère des clés et chiffre le flux avant de le diffuser sur le réseau local 3 à destination d'un ou plusieurs équipements 1. La diffusion du flux se fait avantageusement par paquets via HTTP, par exemple selon le protocole HLS (HTTP Live streaming) ou selon le protocole MPEG-DASH (Dynamic Adaptive Streaming over HTTP), selon lequel le flux est segmenté en une séquence de petits fichiers (par exemple au format « ts », Transport Stream), chiffrés séparément et listés dans un fichier playlist (par exemple au format m3u8). On comprendra que l'homme du métier n'est limité à aucun type de contenu ou de format de données ou de protocole d'échange. Il est à noter 25 que des contenus qui ne sont pas sous forme de flux (on pensera par exemple à des programmes tels que des jeux vidéo) peuvent être transmis. Le présent procédé propose d'utiliser les capacités du GPU de l'équipement 1 pour réaliser la totalité des opérations cryptographiques qui vont permettre le déchiffrement du contenu. En d'autres termes, le CPU1 30 n'effectue aucune opération et se contente de faire transiter des données inexploitables (il agit comme un proxy).
Tunnel Le procédé utilise un tunnel sécurisé entre les moyens de traitement de données CPU2 du serveur multimédia 2 et le processeur graphique 5 GPU1 de l'équipement 1 via les moyens de traitement de données CPU1 de l'équipement 1, ouvert lors d'une étape (a). De tels tunnels, qui peuvent être conformes au protocole TLS (Transport Layer Security) ou un de ses prédécesseur SSL (Secure Sockets Layer) sont bien connus de l'homme du métier. Le tunnel sécurisé permet 10 de traverser le CPU1 de façon transparente, sans que celui-ci ne puisse interférer. De surcroit, les données à l'intérieur du tunnel subissent avantageusement un chiffrement asymétrique, par exemple de type RSA (Rivest Shamir Adleman). Pour cela, le GPU1 utilise une clé privée et une 15 clé publique (avantageusement d'au moins 2048 bits). La clé publique du serveur multimédia 2 est transmise en clair à l'équipement 1 qui la remet au GPU1. La clé publique du GPU1 est transmise chiffrée en asymétrique avec la clé publique précédemment transmise au CPU2 du serveur multimédia 2 en vue du chiffrement des données qui seront transmises via le tunnel. La 20 clé privée permet leur déchiffrement au sein du GPU1, ce qui garantit leur inviolabilité. Les données qui sont ainsi transmises au travers du tunnel dans une étape (b) sont des données permettant au processeur graphique GPU1 de 25 générer une clé de déchiffrement dudit contenu multimédia chiffré (ce qui est accompli dans une étape (c)). Clés et chiffrement du contenu 30 Ces données permettant de générer la clé de déchiffrement peuvent être directement la clé de déchiffrement elle-même, dans la mesure où elle est protégée par le chiffrement RSA. Toutefois, de façon préférée il s'agit de données qui seules sont inexploitables (en particulier par le CPU1), mais qui traitées par le GPU1 permettent de reconstituer cette clé de déchiffrement. Cela s'applique en particulier au cas dans lequel c'est le serveur multimédia 2 qui met en oeuvre, dans une étape préalable, le chiffrement du contenu multimédia à partir de données cryptographiques qu'il génère. Selon un mode de réalisation préféré, ces données cryptographiques comprennent une première clé de chiffrement et une deuxième clé de chiffrement. Chacune est une clé symétrique (c'est-à-dire qu'elle est la clé qui permet aussi bien le chiffrement que le déchiffrement). La première clé est générée aléatoirement et permet le chiffrement du contenu multimédia, par exemple en AES (Advanced Encryption Standard) mode CBC (Cipher Block Chaining). En d'autres termes, la clé de déchiffrement du contenu chiffré est cette première clé.
Dans la suite de la description, on appellera la première clé AESKey. Dans le cas d'un flux composé de fichiers ts, on peut chiffrer chaque .ts avec une AESKey différente. La deuxième clé appelée ProtectionKey, est une clé de surchiffrement utilisée pour chiffrer la première clé, par exemple en AES 20 CBC. Cette première clé chiffrée est appelée O_AESKey. Il est important de comprendre que bien que contenant AESKey (puisque O_AESKey=[AESKey]ProtectionKey), O_AESKey n'est pas exploitable seule. En d'autres termes, un équipement informatique disposant seulement de O_AESKey et du contenu chiffré avec AESKey ne sera pas capable de 25 lire ce contenu. Il est en effet nécessaire de disposer de ProtectionKey pour déchiffrer O_AESKey (et en extraire AESKey), et ainsi déchiffrer le contenu. Cette première clé chiffrée O_AESKey fait ainsi partie des données permettant de générer la clé de déchiffrement transmises via le tunnel sécurisé. 30 ProtectionKey peut également faire partie de ces données transmises via le tunnel (dans ce cas-là, la connaissance d'O_AESKey et de ProtectionKey est comme expliqué suffisante pour regénérer la première clé AESKey), mais alternativement il est souhaitable que cette clé ne sorte jamais du serveur multimédia 2 et le réseau pour éviter toute faille de sécurité, sans pour autant qu'elle doive être enregistrée de façon permanente dans le GPU1 de l'équipement 1 comme dans l'art antérieur présenté. Génération de la deuxième clé ProtectionKey Ce problème est résolu dans le présent procédé en générant indépendamment ProtectionKey à la fois sur le serveur multimédia 2 et sur l'équipement 1 par une méthode innovante, schématisée par la figure 2. Ainsi, ProtectionKey est tout d'abord générée une première fois sur le serveur multimédia 2 à partir : - d'au moins un algorithme implémenté à la fois sur le serveur multimédia 2 et sur le processeur graphique GPU1 de l'équipement ; et - d'au moins une variable générée aléatoirement par les moyens de traitement de données du serveur multimédia 2. Lesdites variables font ainsi partie des données permettant de générer la clé de déchiffrement transmises via le tunnel sécurisé. Dans la mesure où l'algorithme de génération de la clé est commun aux deux dispositifs, le GPU1 peut regénérer ProtectionKey à partir de ces seules variables. L'ensemble des données transmises via le tunnel sécurisé est donc avantageusement constitué de : - la première clé chiffrée par la deuxième clé (O AESKey) et surchiffrée par la clé RSA publique du GPU1 ; - la ou les variables elles aussi chiffrées par la clé RSA publique du GPU1 (lesquelles suffisent donc pour recalculer ProtectionKey au sein du GPU1, grâce aux algorithmes implantés).30 On peut utiliser pour générer la deuxième clé ProtectionKey des mécanismes algorithmiques polymorphes pour lesquels des librairies mathématiques sont disponibles pour les GPUs. Un exemple d'utilisation de ces mécanismes est l'usage d'une matrice d'algorithme de transformations qui appelées dans un ordre différent rendraient un résultat totalement différent entre deux appels consécutifs. GPU et cryptographie Un GPU est avant tout un processeur graphique, conçu pour travailler sur des images. Et AES étant un algorithme utilisant des traitements sur des matrices de bits, il est possible de tirer parti de la nature du GPU pour accélérer les opérations cryptographiques permettant d'obtenir la clé de déchiffrement du contenu multimédia (AESKey) en représentant les clés et variables utilisée comme des matrices de pixels, en d'autres termes des bitmaps. Des bibliothèques sont disponibles pour cette utilisation du GPU1. On citera ainsi par exemple les techniques « fragment shader » pour la mise en oeuvre des traitements cryptographiques, qui permettent une efficacité supérieure à celle d'un CPU. Déchiffrement et restitution du contenu multimédia Une fois les données permettant d'obtenir la clé de déchiffrement du contenu multimédia ayant été transmises via le tunnel sécurisé, le contenu chiffré est envoyé à l'équipement 1. Cet envoi peut se faire en clair, c'est-à-dire hors du tunnel et sans surchiffrement asymétrique. Le contenu chiffré sans la clé est en effet inexploitable.
Le contenu transite par le CPU1 et est reçu dans une étape (d) par le processeur graphique GPU1, au niveau duquel la clé de déchiffrement AESKey est disponible.
Dans une étape (e) le contenu est déchiffré (en utilisant à nouveau l'algorithme AES-1). On dispose alors du contenu restituable sans que sa clé de déchiffrement n'ait jamais été connue du CPU1, ni ait transmise d'une façon ou d'une autre. Elle est en effet déchiffrée et stockée directement dans le GPU1, et n'en sort jamais. Si le contenu est un flux audio/vidéo, c'est le GPU1 qui est le composant qui va gérer cette restitution sur les moyens 10 de l'équipement 1 (dans une dernière étape (f)). Dans la mesure où il est déchiffré par ce même GPU1, il est déjà préchargé pour restitution, d'où une efficacité optimale. Il est ainsi possible de déchiffrer et rendre le flux « à la volée », c'est-à-dire à la chaîne, suivant la séquence de fichiers élémentaires qui le constitue. Equipement Selon un deuxième aspect, l'invention concerne l'équipement 1 dont le GPU1 permet la mise en oeuvre du procédé selon le premier aspect. Comme expliqué, cet équipement 1 comprend des moyens de traitement de données CPU1, le processeur graphique GPU1 et des moyens de restitution 10. Le processeur graphique GPU1 est donc configuré pour mettre en oeuvre : - Un module d'établissement via les moyens de traitement de données CPU1 de l'équipement 1 d'un tunnel sécurisé avec les moyens de traitement de données CPU2 d'un serveur multimédia 2 connecté à l'équipement 1 via un réseau de communication 3 ; - Un module de réception via le tunnel sécurisé des données permettant de générer une clé de déchiffrement dudit contenu multimédia chiffré (en particulier la première clé chiffrée O_AESKey et la ou les variables) ; - Un module de génération de la clé de déchiffrement dudit contenu multimédia chiffré (c'est-à-dire la première clé AESKey) ; - Un module de réception dudit contenu multimédia chiffré, transmis via les moyens de traitement de données CPU1 de l'équipement 1 ; - Un module de déchiffrement dudit contenu multimédia grâce à ladite clé de déchiffrement ; - Un module de restitution dudit contenu multimédia déchiffré sur les moyens de restitution 10. Produit programme d'ordinateur Selon un troisième et un quatrième aspects, l'invention concerne un produit programme d'ordinateur comprenant des instructions de code pour l'exécution (en particulier sur le processeur graphique GPU1 de l'équipement 1) du procédé de restitution du contenu multimédia chiffré, ainsi que des moyens de stockage lisibles par un équipement informatique (notamment une mémoire du processeur graphique GPU1 de l'équipement 1) sur lequel on trouve ce produit programme d'ordinateur.
Claims (15)
- REVENDICATIONS1. Procédé pour la restitution sur un équipement (1) d'un contenu multimédia chiffré, l'équipement (1) comprenant des moyens de traitement de données (CPU1), un processeur graphique (GPU1) et des moyens de restitution (10), l'équipement (1) étant connecté via un réseau de communication (3) à un serveur multimédia (2) comprenant des moyens de traitement de données (CPU2), le procédé étant caractérisé en ce qu'il comprend la mise en oeuvre d'étapes de : (a) ouverture d'un tunnel sécurisé entre les moyens de traitement de données (CPU2) du serveur multimédia (2) et le processeur graphique (GPU1) de l'équipement (1) via les moyens de traitement de données (CPU1) de l'équipement (1) ; (b) réception par le processeur graphique (GPU1) de l'équipement (1), via le tunnel sécurisé, de données permettant au processeur graphique (GPU1) de générer une clé de déchiffrement dudit contenu multimédia chiffré ; (c) génération par le processeur graphique (GPU1) de l'équipement (1) de la clé de déchiffrement dudit contenu multimédia chiffré ; (d) réception par le processeur graphique (GPU1) de l'équipement (1) dudit contenu multimédia chiffré, transmis via les moyens de traitement de données (CPU1) de l'équipement (1) ; (e) déchiffrement par le processeur graphique (GPU1) dudit contenu multimédia grâce à ladite clé de déchiffrement ; (f) restitution dudit contenu multimédia déchiffré sur les moyens de restitution (10).
- 2. Procédé selon la revendication 1, dans lequel le serveur multimédia (2) est un boitier Set-Top Box et le réseau (3) est un réseau local.
- 3. Procédé selon la revendication 2, dans lequel le serveur multimédia (2) est connecté via le réseau Internet (4) à une plateforme (5) fournissant le contenu multimédia.
- 4. Procédé selon l'une des revendications précédentes, dans lequel le serveur multimédia (2) met en oeuvre le chiffrement dudit contenu multimédia à partir de données cryptographiques qu'il génère.
- 5. Procédé selon la revendication 4, dans lequel lesdites données cryptographiques générées par le serveur multimédia (2) comprennent une première clé de chiffrement et une deuxième clé de chiffrement, le contenu multimédia étant chiffré avec la première clé, les données permettant au processeur graphique (GPU1) de générer une clé de déchiffrement dudit contenu multimédia chiffré transmises à l'étape (b) comprenant la première clé chiffrée avec la deuxième clé.
- 6. Procédé selon la revendication 5, dans lequel la deuxième clé est générée à partir : - d'au moins un algorithme implémenté à la fois sur le serveur multimédia (2) et sur le processeur graphique (GPU1) de l'équipement (1) ; et - d'au moins une variable générée aléatoirement par les moyens de traitement de données (CPU2) du serveur multimédia (2) ; les données permettant au processeur graphique (GPU1) de l'équipement (1) de générer une clé de déchiffrement dudit contenu multimédia chiffré transmises à l'étape (b) comprenant ladite variable.
- 7. Procédé selon la revendication 6, dans lequel l'étape (c) comprend la génération de la deuxième clé de chiffrement à partir des variables reçues à l'étape (b), et le déchiffrement de la première clé chiffrée à partir de la deuxième clé générée.
- 8. Procédé selon l'une des revendications 5 à 7, dans lequel les première et deuxième clés de chiffrement sont des clés symétriques, les chiffrements du contenu multimédia et de la première clé étant mis en oeuvre conformément à l'algorithme Advanced Encryption Standard (AES).
- 9. Procédé selon l'une des revendications précédentes, dans lequel le contenu multimédia est un flux audio et/ou vidéo.
- 10. Procédé selon la revendication 9, dans lequel le flux est transmis par paquets via HTTP.
- 11. Procédé selon l'une des revendications précédentes, dans lequel l'étape (a) comprend la génération par le processeur graphique (GPU1) de l'équipement (1) puis la transmission aux moyens de traitement de données (CPU2) du serveur multimédia (2), d'une clé publique pour le chiffrement asymétrique des données transportées via le tunnel sécurisé.
- 12. Procédé selon la revendication 11, dans lequel le tunnel sécurisé est mis en oeuvre conformément au protocole Transport Layer Security (TLS), le chiffrement asymétrique étant mis en oeuvre conformément à l'algorithme Rivest Shamir Adleman (RSA).
- 13. Equipement (1) comprenant des moyens de traitement de données (CPU1), un processeur graphique (GPU1) et des moyens de restitution (10), caractérisé en ce que le processeur graphique (GPU1) est configuré pour mettre en oeuvre : Un module d'établissement, via les moyens de traitement de données (CPU1) de l'équipement (1) , d'un tunnel sécurisé avec les moyens de traitement de données (CPU2) d'un serveur multimédia (2) connecté à l'équipement (1) via un réseau de communication (3) ;- Un module de réception, via le tunnel sécurisé, des données permettant de générer une clé de déchiffrement dudit contenu multimédia chiffré ; - Un module de génération de la clé de déchiffrement dudit contenu multimédia chiffré ; - Un module de réception dudit contenu multimédia chiffré, transmis via les moyens de traitement de données (CPU1) de l'équipement (1) ; - Un module de déchiffrement dudit contenu multimédia grâce à ladite clé de déchiffrement ; - Un module de restitution dudit contenu multimédia déchiffré sur les moyens de restitution (10).
- 14. Produit programme d'ordinateur comprenant des 15 instructions de code pour l'exécution d'un procédé selon l'une des revendications 1 à 12 pour la restitution sur un équipement (1) d'un contenu multimédia chiffré.
- 15. Moyens de stockage lisibles par un équipement 20 informatique sur lesquels un produit programme d'ordinateur comprend des instructions de code pour l'exécution d'un procédé selon l'une des revendications 1 à 12 pour la restitution sur un équipement (1) d'un contenu multimédia chiffré.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1357340A FR3009105B1 (fr) | 2013-07-25 | 2013-07-25 | Procede pour la restitution d'un contenu multimedia chiffre |
PCT/FR2014/051924 WO2015011421A1 (fr) | 2013-07-25 | 2014-07-24 | Procédé pour la restitution d'un contenu multimedia chiffré |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1357340A FR3009105B1 (fr) | 2013-07-25 | 2013-07-25 | Procede pour la restitution d'un contenu multimedia chiffre |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3009105A1 true FR3009105A1 (fr) | 2015-01-30 |
FR3009105B1 FR3009105B1 (fr) | 2015-09-04 |
Family
ID=49111490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1357340A Active FR3009105B1 (fr) | 2013-07-25 | 2013-07-25 | Procede pour la restitution d'un contenu multimedia chiffre |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3009105B1 (fr) |
WO (1) | WO2015011421A1 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3053497B1 (fr) * | 2016-06-29 | 2019-09-13 | 4T Sa | Procede de renforcement de la securite d'un systeme de television a peage a base de retro-communication periodique obligatoire |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2363822A2 (fr) * | 2010-03-04 | 2011-09-07 | Comcast Cable Communications, LLC | Chemin vidéo sécurisé de PC |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7916864B2 (en) | 2006-02-08 | 2011-03-29 | Nvidia Corporation | Graphics processing unit used for cryptographic processing |
US7890747B2 (en) | 2006-07-06 | 2011-02-15 | Accenture Global Services Limited | Display of decrypted data by a graphics processing unit |
-
2013
- 2013-07-25 FR FR1357340A patent/FR3009105B1/fr active Active
-
2014
- 2014-07-24 WO PCT/FR2014/051924 patent/WO2015011421A1/fr active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2363822A2 (fr) * | 2010-03-04 | 2011-09-07 | Comcast Cable Communications, LLC | Chemin vidéo sécurisé de PC |
Non-Patent Citations (1)
Title |
---|
MENEZES A J ET AL: "Handbook of Applied Cryptography, OTHER HASH FUNCTION PROPERTIES AND APPLICATIONS", 1 January 1997, HANDBOOK OF APPLIED CRYPTOGRAPHY; [CRC PRESS SERIES ON DISCRETE MATHEMATICES AND ITS APPLICATIONS], CRC PRESS, BOCA RATON, FL, US, PAGE(S) 330 - 331,400, ISBN: 978-0-8493-8523-0, XP002238559 * |
Also Published As
Publication number | Publication date |
---|---|
WO2015011421A1 (fr) | 2015-01-29 |
FR3009105B1 (fr) | 2015-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1815681B1 (fr) | Unité de traitement de données audio/vidéo numériques et méthode de contrôle d'accès audites données | |
EP1305948B1 (fr) | Methode de distribution securisee de donnees numeriques representatives d'un contenu multimedia | |
EP3391585B1 (fr) | Procédé de sécurisation d'un enregistrement de contenu multimédia dans un support de stockage | |
EP1525748B1 (fr) | Procede et module electronique de transmission securisee de donnees | |
US10461944B2 (en) | Challenge-response method and associated computing device | |
US20080267411A1 (en) | Method and Apparatus for Enhancing Security of a Device | |
FR2905215A1 (fr) | Procede de transmission d'une donnee complementaire a un terminal de reception | |
EP1890493A1 (fr) | Méthode de révocation de modules de sécurité utilisés pour sécuriser des messages diffusés | |
EP3236632B1 (fr) | Procede et dispositif permettant l'application d'un systeme de controle d'acces a la protection des flux video en mode direct | |
WO2007051823A2 (fr) | Méthode de sécurisation de données échangées entre un dispositif de traitement multimédia et un module de sécurité | |
EP2107808A1 (fr) | Module de sécurité (SM) pour unité de traitement de données audio/vidéo | |
EP2643943A1 (fr) | Procede et systeme d'acces conditionnel a un contenu numerique, terminal et dispositif d'abonne associes | |
EP2827601A1 (fr) | Méthode et dispositif pour la protection des clés de déchiffrement d'un décodeur | |
FR2970134A1 (fr) | Procede de transmission et de reception d'un contenu multimedia | |
WO2015011421A1 (fr) | Procédé pour la restitution d'un contenu multimedia chiffré | |
EP1723791B1 (fr) | Methode de securisation d'un evenement telediffuse | |
EP2824868A1 (fr) | Réseau numérique local, procédés d'installation de nouveux dispositifs et procédés de diffusion et de réception de données dans un tel réseau | |
US10929549B1 (en) | System and method for protecting audio and video files | |
EP3329686B1 (fr) | Dispositif et procede pour modifier un flux de donnees multimedia chiffrees | |
US20240214362A1 (en) | Distributed data content protection | |
US20240214361A1 (en) | Distributed data content protection | |
EP2297938B1 (fr) | Controle d'acces a un contenu audiovisuel protege | |
FR3053497B1 (fr) | Procede de renforcement de la securite d'un systeme de television a peage a base de retro-communication periodique obligatoire | |
FR2843257A1 (fr) | Procede et systeme d'acces conditionnel applique a la protection de contenu | |
FR3112643A1 (fr) | Dispositif, méthode et programme pour une communication sécurisée entre boîtes blanches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |
|
PLFP | Fee payment |
Year of fee payment: 12 |