Brevet FR2890810A1 — publié le 20070316

Transformation d'une licence d'un contenu numérique en des licences La présente invention concerne un procédé pour transformer dans un dispositif informatique une licence mère d'un contenu numérique en des licences filles du contenu numérique. Une licence d'un contenu numérique, tel qu'un logiciel, un morceau musical, une séquence vidéo ou un document notamment textuel est un fichier numérique. Dans l'état de la technique, une licence d'un contenu numérique comprend des droits d'usage, des métadonnées, une clé de déchiffrement du contenu numérique et une signature numérique globale sur les droits d'usage, les métadonnées et la clé de déchiffrement. La licence est mémorisée localement sous forme de fichier numérique, par exemple dans un terminal d'usager. Des compteurs peuvent être associés aux droits d'usage; ils sont crées et ils sont modifiables localement dans le terminal contrairement aux droits d'usage, aux métadonnées et à la clé de déchiffrement. Les compteurs ne font pas partie de la licence. La signature numérique globale est produite grâce à une clé privée par exemple dans un serveur appartenant à un éditeur de contenu numérique sous licence. Des compteurs d'une licence sont relatifs au nombre de fois qu'un droit d'usage a été exercé par un terminal possédant la licence et un contenu numérique correspondant; par exemple un compteur relatif à un droit d'usage de lecture est incrémenté chaque fois que le terminal lit le contenu numérique. Il existe par ailleurs des transferts de licence d'un premier dispositif vers un autre dispositif, mais la licence ainsi transférée est prédéfinie et correspond à une copie partielle ou totale de la licence du premier dispositif. A l'exception des compteurs une licence étant figée, un terminal d'usager ne peut pas modifier de façon autonome une licence mémorisée localement afin, par exemple, de rendre la licence transmissible. Lorsqu'un terminal d'usager possède une licence sur un unique contenu numérique, il est impossible de diviser la licence en des licences, afin notamment de pouvoir répartir les droits d'usage de la licence sur plusieurs dispositifs informatiques. L'invention a pour objectif de remédier aux inconvénients précités en divisant une licence mère d'un contenu numérique en des licences filles du contenu numérique afin de répartir les droits d'usage de la licence mère et les contraintes associées aux droits d'usage, par l'intermédiaire des licences filles transmises à différents dispositifs informatiques. Pour atteindre cet objectif, un procédé pour transformer dans un dispositif informatique une licence mère d'un contenu numérique en des licences filles dudit contenu numérique, une licence mère comprenant au moins un droit d'usage associé à au moins une contrainte est caractérisé en ce qu'il comprend les étapes suivantes de: sélectionner un fichier de gestion de licence comprenant au moins une règle de transformation de licence et au moins une condition associée à chacune des règles, pour au moins une des règles du fichier sélectionné, vérifier que la licence mère remplit chacune des conditions associées à la règle et appliquer la règle à la licence mère lorsque chacune des conditions associées à la règle est remplie par la licence mère, et constituer les licences filles selon les règles appliquées à la licence mère. Le procédé peut comprendre des signatures des licences filles constituées par le dispositif informatique, tel qu'un terminal et non un serveur, en vue de protéger les licences filles, ainsi qu'une invalidation de la licence mère ayant participé à la constitution des licences filles afin que les droits d'usage de la licence mère ne soient pas réutilisés sur le contenu numérique. Comparativement à la technique antérieure, l'invention ne recourt pas à des variables, telles que les compteurs, qui par nature sont modifiables localement au cours de l'exploitation de la licence. Par contre selon l'invention, une licence est modifiable notamment à cause des contraintes associées aux droits d'usage recensés qui peuvent être maintenant signées après chaque modification de celles-ci par le dispositif informatique, et ainsi est acceptable grâce à la signature exécutée entre autres sur les contraintes venant d'être modifiées. Par conséquent, une contrainte selon l'invention exprime directement une valeur de décomptage relative à la consommation du dispositif informatique d'usager; par exemple un droit de lecture égal à N signifie que l'usager du dispositif informatique est encore autorisé à N lectures du contenu numérique, tandis que selon la technique antérieure, le droit de lecture égal à N est figé dans la licence et signifie que l'usager du dispositif informatique n'est autorisé initialement qu'à N lectures du contenu numérique lors de l'octroi de la licence. L'invention a également pour objet un dispositif informatique pour transformer une licence mère d'un contenu numérique en des licences filles dudit contenu numérique, une licence mère comprenant au moins un droit d'usage associé à au moins une contrainte. Le dispositif est caractérisé en ce qu'il comprend: un moyen pour sélectionner un fichier de gestion de licence comprenant au moins une règle de transformation de licence et au moins une condition associée à chacune des règles, pour au moins une des règles du fichier sélectionné, un moyen pour vérifier que la licence mère remplit chacune des conditions associées à la règle et un moyen pour appliquer la règle à la licence mère lorsque chacune des conditions associées à la règle est remplie par la licence mère, et un moyen pour constituer les licences filles selon les règles appliquées à la licence mère. Enfin, l'invention se rapporte à un programme d'ordinateur apte à être mis en oeuvre dans un dispositif informatique afin de transformer une licence mère d'un contenu numérique en au moins deux licences filles dudit contenu, une licence mère comprenant au moins un droit d'usage associé à au moins une contrainte, ledit programme comprenant des instructions qui, lorsque le programme est chargé et exécuté sur ledit dispositif informatique réalisent les étapes selon le procédé de l'invention. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations préférées de l'invention, données à titre d'exemples non limitatifs, en référence aux dessins annexés correspondants dans lesquels: - la figure 1 est un bloc-diagramme schématique d'un système de transformation d'une licence mère en des licences filles comprenant un dispositif informatique d'usager selon une réalisation préférée de l'invention; - la figure 2 est un algorithme d'un procédé général de transformation de licence selon l'invention; et - la figure 3 est un algorithme d'un procédé de transformation d'une licence mère en des licences filles selon l'invention mise en oeuvre au sein du procédé général de transformation de licence. Une licence Lfi ou Lm selon l'invention comprend au moins un droit d'usage D associé à au moins une contrainte CO et éventuellement des métadonnées M ainsi qu'une clé de déchiffrement K. La clé K permet de déchiffrer le contenu numérique sur lequel porte la licence. Un droit d'usage d'un contenu numérique est un droit sur le contenu numérique consenti par l'émetteur de la licence pour l'usager du dispositif informatique DI en contrepartie généralement d'un paiement. Par exemple, des droits d'usage sont un droit de lecture, d'écriture, d'impression ou de transmission. Une contrainte ou condition CO est associée à un 35 droit d'usage D. La contrainte encadre ou limite l'utilisation du droit d'usage par l'usager. Par exemple, une contrainte associée à un droit de lecture est un temps autorisé alloué à la lecture du contenu, tel que 20 minutes. Selon un autre exemple, une contrainte associée à un droit d'écriture est un nombre d'écritures autorisées du contenu numérique. Selon encore un autre exemple, une contrainte associée à un droit d'impression est un nombre d'impressions autorisées du contenu numérique. Dans le cas où aucune contrainte d'un droit d'usage n'a été formulée explicitement, ce droit d'usage est associé à une contrainte par défaut. Par exemple, un "droit de lecture" qui n'est associé à aucune contrainte spécifique est associé à une contrainte correspondant à une autorisation illimitée de lectures. En référence à la figure 1, un système de transformation selon l'invention comprend au moins un dispositif informatique DI, un serveur de diffusion de clé SD et un serveur de fichiers de gestion de licence SF. Par exemple le système de transformation comprend le dispositif informatique DI et quatre terminaux d'usager illustrés T1 à T4. Le dispositif informatique DI peut être du même type que l'un des terminaux T1 à T4. Le dispositif informatique DI, les terminaux T1 à T4, le serveur de diffusion SD et le serveur de fichiers de gestion SF communiquent à travers un réseau de télécommunications RT comprenant des réseaux d'accès respectifs et un réseau de transport. Le dispositif informatique DI reçoit notamment des clés de cryptage provenant du serveur de diffusion SD à travers le réseau de télécommunications RT. Dans une variante, le dispositif informatique DI n'est pas relié à un réseau de télécommunications et dispose localement des informations nécessaires à la mise en oeuvre du procédé général de transformation de licence. Le dispositif informatique DI et les terminaux T1 à T4 sont reliés à des réseaux d'accès respectifs par des liaisons respectives LT, LT1r LT2, LT3 et LT4. Un premier terminal T1 ou T4 est un ordinateur personnel relié directement par modem à la liaison LT1r LT4 de type xDSL (Digital Subscriber Line) ou RNIS (Réseau Numérique à Intégration de Services) reliée au réseau d'accès correspondant. La liaison LT1r LT4 peut être également une liaison filaire du type câble série, ou cordon de raccordement de type Ethernet, ou bus USB (Universal Serial Bus), ou encore fibre optique. Un deuxième terminal T2 est par exemple un terminal de radiocommunications cellulaire mobile, la liaison LT2 est un canal de radiocommunications, et le réseau d'accès respectif comprend le réseau fixe d'un réseau de radiocommunications, par exemple de type GSM (Global System for Mobile communications) avec un service GPRS (General Packet Radio Service), ou de type UMTS (Universal Mobile Telecommunications System). Selon un autre exemple, le troisième terminal T3 comprend un dispositif ou objet électronique de télécommunications qui est personnel à l'usager et qui peut être un assistant numérique personnel communicant PDA ou un téléphone intelligent (SmartPhone). Le dispositif ou objet électronique de télécommunications peut être relié par la liaison radio LT3 à une borne d'accès d'un réseau local sans fil de faible portée du type WLAN (Wireless LAN) ou conforme à l'une des normes 802.lXx, ou de moyenne portée selon le protocole WIMAx (World wide Interoperability Microwave Access). Plus généralement, le dispositif informatique DI peut être tout autre terminal domestique ayant des applications logicielles, éventuellement communiquant, portable ou non, tel qu'une console de jeux vidéo, ou un récepteur de télévision intelligent coopérant avec une télécommande à afficheur, ou un clavier alphanumérique servant également de souris à travers une liaison infrarouge. Les terminaux T1 à T4 qui sont des exemples de dispositif informatique DI et les réseaux d'accès respectifs ne sont pas limités aux exemples cidessus et peuvent être constitués par d'autres terminaux et réseaux d'accès connus. Le dispositif informatique DI comprend une unité centrale UC, un vérificateur de licence VL, un module d'application de règles de transformation de licence AR, un module de personnalisation MP, un module de transfert MT, un vérificateur de signature de licence VS, un module de signature de licence SL, un module d'invalidation de licence IL, initialement une licence mère Lm sous forme de fichier numérique et un fichier de gestion de licence FG. En référence à la figure 2, le procédé général de transformation de licence selon l'invention comprend des étapes El à E5 exécutées automatiquement dans le dispositif informatique DI. L'objectif de ce procédé est de créer des licences filles Lfl à Lfj, avec J un entier naturel strictement supérieur à 1, de manière à ce que chaque licence fille soit directement exploitable par un dispositif informatique et que la licence mère relative au même contenu numérique et ayant participé à la création des licences filles soit supprimée ou invalidée afin que la licence mère ne soit pas utilisée en doublon des licences filles. A l'étape El, le vérificateur de signature de licence VS vérifie la licence mère Lm afin notamment d'authentifier l'émetteur de la licence mère. La vérification de licence recourt à des clés publiques et privées associées à des algorithmes de signature à clé connus. A l'étape E2, les modules VL, AR et MP du dispositif informatique DI procèdent à la transformation de licence selon l'invention illustrée plus précisément à la figure 3. La licence mère Lm en entrée de cette étape est traitée afin de constituer les licences filles Lfl à LfJ en sortie. A l'étape E3, le module de signature de licence SL signe les licences filles Lfl à LfJ constituées. La signature des licences repose également sur des algorithmes de signature à clé connus. Dans la réalisation préférée de l'invention, le serveur de diffusion de clés SD transmet au dispositif informatique DI de manière sécurisée au moins une clé nécessaire à la signature de chacune des licences filles et éventuellement une autorisation de transformation de la licence mère. Dans la variante selon laquelle le dispositif informatique DI n'est pas relié à un réseau de télécommunications, le dispositif informatique DI dispose localement des informations nécessaires à la vérification de la signature de la licence mère et à la signature des licences filles Lfl à LfJ. A l'étape E4, le module de transfert MT transfère au moins l'une des licences filles Lfl signées à un autre dispositif informatique, tel que l'un des terminaux T1 à T4. A l'étape E5, le module d'invalidation de licence IL invalide la licence mère Lm qui a été utilisée pour la constitution des licences filles. L'invalidation d'une licence consiste soit à supprimer ou à altérer la signature, soit à directement supprimer le fichier numérique représentant la licence. En référence à la figure 3, le procédé de transformation d'une licence mère en des licences filles selon l'invention, correspondant à l'étape E2 du procédé général de transformation de licence, comprend principalement des étapes F1 à F5. A l'étape F1, l'unité centrale UC du dispositif informatique DI sélectionne un fichier de gestion de licence FG comprenant au moins une règle de transformation de licence REG et au moins une condition associée à chacune des règles. La sélection est réalisée selon la licence mère Lm, ou plus précisément selon un identificateur de la licence mère Lm associé au fichier de gestion de licence FG. Lorsqu'aucun fichier de gestion de licence n'est sélectionné, la licence mère Lm n'est pas transformée. Le fichier de gestion de licence définit des transformations valides sur au moins une licence et est mémorisé dans le dispositif informatique DI. Le fichier de gestion de licence comprend un identificateur de licence lorsque ce fichier est relatif à une licence spécifique. Le fichier de gestion de licence comprend un identificateur de fournisseur lorsque ce fichier est commun à des licences d'un fournisseur. Le fichier de gestion de licence peut comprendre à la fois un identificateur de licence et un identificateur de fournisseur. Dans une variante, le fichier est sélectionné par le dispositif informatique DI auprès du serveur de fichier de gestion de licence SF en fonction d'un identificateur de fournisseur de licences transmis préalablement au dispositif informatique DI. Ainsi, le fichier de gestion de licence n'est pas nécessairement et initialement mémorisé dans le dispositif informatique DI. Le fournisseur peut assurer la mise à jour régulière et la mise à disposition du fichier de gestion de ses licences. Un avantage de cette variante est la possibilité d'incorporer dans le fichier de gestion de licence des règles de mises à jour de licence et ainsi de réaliser des mises à jour de licence de manière transparente pour l'usager de la licence. Une règle de transformation de licence peut consister à diviser une contrainte dénombrable associée à un droit d'usage en des contraintes élémentaires qui seront respectivement incorporées dans une licence fille. Par exemple, la contrainte d'un droit de lecture de la licence mère Lm est une autorisation de lire 3 fois le contenu numérique et la contrainte élémentaire incorporée dans trois licences filles est une autorisation de lire 1 fois le contenu numérique. Dans ce mode de réalisation, pour chaque règle de transformation de licence du fichier sélectionné, le vérificateur de licence VL vérifie si la licence mère Lm remplit les conditions CD associées à la règle REG à l'étape F2. Les conditions associées à une règle permettent de déterminer si la règle de transformation est applicable à la licence mère Lm. Une condition associée à une règle de transformation de licence peut porter sur un droit d'usage de licence. Par exemple, une condition associée à une règle de transformation est que la licence mère doit contenir un droit de lecture. Une condition associée a une règle de transformation de licence peut porter sur une contrainte de droit d'usage. Par exemple, une condition est que la licence mère doit contenir une contrainte dénombrable associée à un droit de lecture. A l'étape F3, pour chacune des règles de transformation de licence du fichier sélectionné, le module d'application de règles de transformation AR applique la règle à la licence mère Lm lorsque chacune des conditions CD associées à la règle est remplie par la licence mère afin de constituer les licences filles Lfl à Lfi à l'étape F4. Pour chaque règle de transformation de licence du fichier sélectionné, les étapes F2 et F3 sont répétées, comme indiqué en traits pointillés à la figure 3. Le nombre de licences filles à constituer dépend directement des règles de transformation, comme montré dans l'exemple des contraintes élémentaires. Dans une variante, le procédé de transformation comprend une étape initiale de sélectionner un nombre de licences filles à constituer. Le module d'application AR applique automatiquement les règles de transformation du fichier de gestion FG permettant de respecter le nombre de licence filles à constituer sélectionné. L'application d'une règle de transformation ne doit pas amener à ajouter un droit d'usage dans une licence fille Lfi qui ne serait pas présent dans la licence mère Lm. En général, l'ensemble des droits d'usage des licences filles est inférieur ou égal à l'ensemble des droits d'usage de la licence mère. A l'étape F5, le module de personnalisation MP personnalise au moins l'une des licences filles Lfl notamment pour un dispositif informatique destinataire, tel que l'un des terminaux T1 à T4, en vue d'y transférer ladite une licence fille. La personnalisation consiste notamment à chiffrer la clé de déchiffrement K du contenu numérique sur lequel porte une licence fille au moyen d'une clé spécifique au dispositif informatique destinataire. Dans une autre variante, le fichier de gestion de licence est incorporé à la licence mère Lm. Selon un mode de réalisation particulier, l'une des licences filles demeure dans le dispositif informatique DI et ne spécifie aucun droit. Dans ce mode de réalisation, la licence fille transférée contient les mêmes droits d'usage que la licence mère ou des droits d'usage moins étendus; une fois enregistrée dans le terminal destinataire, la licence fille est considérée comme une licence mère selon l'invention. En pratique, ce mode de réalisation revient à transférer une licence d'un premier terminal à un second, et si on le souhaite de ce second terminal à un troisième, et ainsi de suite. L'invention décrite ici concerne un procédé et un système de transformation d'une licence en des licences. Selon une implémentation préférée, les étapes du procédé de l'invention sont déterminées par les instructions d'un programme d'ordinateur incorporé dans un dispositif informatique, tel que le dispositif informatique DI. Le programme comporte des instructions de programme qui, lorsque ledit programme est chargé et exécuté dans le dispositif informatique dont le fonctionnement est alors commandé par l'exécution du programme, réalisent les étapes du procédé selon l'invention. En conséquence, l'invention s'applique également à un programme d'ordinateur, notamment un programme d'ordinateur sur ou dans un support d'informations, adapté à mettre en oeuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter le procédé selon l'invention. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage ou support d'enregistrement sur lequel est stocké le programme d'ordinateur selon l'invention, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore une clé USB, ou un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé selon l'invention. REVENDICATIONS 1 - Procédé pour transformer dans un dispositif informatique (DI) une licence mère (Lm) d'un contenu 5 numérique en des licences filles (Lfi_1r Lfi) dudit contenu numérique, une licence mère (Lm) comprenant au moins un droit d'usage (D) associé à au moins une contrainte (CO), caractérisé en ce qu'il comprend les étapes suivantes de: sélectionner (F1) un fichier de gestion de licence (FG) comprenant au moins une règle de transformation de licence (REG) et au moins une condition (CD) associée à chacune des règles, pour au moins une des règles du fichier sélectionné, vérifier (F2) que la licence mère (Lm) remplit chacune des conditions associées à la règle (REG) et appliquer (F3) la règle à la licence mère lorsque chacune des conditions (CD) associées à la règle est remplie par la licence mère, et constituer (F4) les licences filles (Lfi_1r Lfi) selon les règles appliquées à la licence mère. 2 - Procédé conforme à la revendication 1, comprenant une étape initiale de vérifier (El) la signature de la licence mère (Lm). 3 - Procédé conforme à la revendication 1 ou 2, comprenant une étape de signer (E3) chacune des licences filles (Lfi_1r Lfi) constituées. 4 - Procédé conforme à l'une quelconque des revendications 1 à 3, comprenant une étape d'invalider (E5) la licence mère (Lm). - Procédé conforme à l'une quelconque des revendications 1 à 4, comprenant une étape de personnaliser (F5) l'une des licences filles constituées pour un autre dispositif informatique, en vue d'un transfert de ladite une licence fille vers l'autre dispositif informatique. 6 - Procédé conforme à l'une quelconque des revendications 1 à 5, comprenant une étape de transférer (E4) l'une des licences filles constituées à un autre dispositif informatique. 7 - Procédé conforme à l'une quelconque des revendications 1 à 6, selon lequel une condition (CD) associée à une règle de transformation de licence porte sur un droit d'usage de licence. 8 - Procédé conforme à l'une quelconque des revendications 1 à 7, selon lequel une condition (CD) associée à une règle de transformation de licence porte sur une contrainte de droit d'usage. 9 - Procédé conforme à l'une quelconque des revendications 1 à 8, selon lequel le fichier (FG) sélectionné comprend un identificateur de fournisseur et est utilisé pour des transformations sur des licences du fournisseur identifié. - Procédé conforme à l'une quelconque des revendications 1 à 9, selon lequel le fichier sélectionné (FG) comprend un identificateur de licence. 11 - Procédé conforme à l'une quelconque des revendications 1 à 10, selon lequel le fichier (FG) est sélectionné par le dispositif informatique (DI) auprès d'un serveur de fichier (SF) en fonction d'un identificateur de fournisseur de licences préalablement transmis au dispositif informatique. 12 - Procédé conforme à l'une quelconque des revendications 1 à 11, comprenant une étape initiale de sélectionner un nombre de licences filles à constituer afin de constituer le nombre de licences filles sélectionnées. 13 - Dispositif informatique (DI) pour transformer une licence mère (Lm) d'un contenu numérique en des licences filles (Lfi_1r Lfi) dudit contenu numérique, une licence mère (Lm) comprenant au moins un droit d'usage (D) associé à au moins une contrainte (CO), caractérisé en ce qu'il comprend: un moyen (UC) pour sélectionner un fichier de gestion de licence (FG) comprenant au moins une règle de transformation de licence (REG) et au moins une condition (CD) associée à chacune des règles, pour au moins une des règles du fichier sélectionné, un moyen (VL) pour vérifier que la licence mère (Lm) remplit chacune des conditions associées à la règle (REG) et un moyen (AR) pour appliquer la règle à la licence mère lorsque chacune des conditions (CD) associées à la règle est remplie par la licence mère, et un moyen (UC) pour constituer les licences 30 filles (Lfi_1r Lfi) selon les règles appliquées à la licence mère. 14 - Programme d'ordinateur apte à être mis en oeuvre dans un dispositif informatique (DI) afin de 35 transformer une licence mère (Lm) d'un contenu numérique en des licences filles (Lfi_1r Lfi) dudit contenu numérique, une licence mère (Lm) comprenant au moins un droit d'usage (D) associé à au moins une contrainte (CO), caractérisé en ce qu'il comprend des instructions qui, lorsque le programme est chargé et exécuté dans ledit dispositif informatique, réalisent les étapes de: sélectionner (F1) un fichier de gestion de licence (FG) comprenant au moins une règle de transformation de licence (REG) et au moins une condition (CD) associée à chacune des règles, pour au moins une des règles du fichier sélectionné, vérifier (F2) que la licence mère (Lm) remplit chacune des conditions associées à la règle (REG) et appliquer (F3) la règle à la licence mère lorsque chacune des conditions (CD) associées à la règle est remplie par la licence mère, et constituer (F4) les licences filles (Lfi_1r Lfi) selon les règles appliquées à la licence mère.