Brevet FR2835331A1 — publié le 20030801

PROCEDE DE CONTRÔLE DE L'EXPLOITATION DE CONTENUS NUMERIQUES PAR UN MODULE DE SECURITE OU UNE CARTE A PUCE COMPRENANT LEDIT MODULE. L'invention concerne un procédé de contrôle de l'exploitation de contenus numériques dans un contexte de commerce électronique ou de façon générale lorsqu'il s'agit de gérer des droits numériques d'exploitation de contenus numériques. En effet, l'invention trouve une application à chaque fois que des informations sont échangées et que ces informations sont considérées comme sensibles c'est à dire qu'elles correspondent à des valeurs monétaires ou qu'elles sont soumises à des droits d'auteur ou qu'elles sont confidentielles. Par contenus numériques on comprend toute information numérisée telles que du texte, des images, de l'audio (du son), de la vidéo, des logiciels (ou programmes d'ordinateur), des programmes d'application, des informations monétaires, des informations confidentielles (dans le domaine de la santé, dans les organismes gouvernementaux). Ces contenus numériques peuvent être transportés par tout réseau informatique public ou privé ou tout réseau de télécommunication qu'il s'agisse du réseau téléphonique commuté ou de télécommunications par voie hertzienne. Par exploitation d'un contenu numérique, il faut entendre l'accès aux contenus numériques à des fins d'utilisation et/ou de distribution, l'utilisation pouvant être différente d'un contenu à un autre selon la nature du contenu numérique. Lorsqu'il s'agit d'une image numérique, l'utilisation peut consister à afficher cette image. Lorsqu'il s'agit d'audio (par exemple un morceau de musique), l'utilisation peut consister à écouter ce morceau de musique. Lorsqu'il s'agit d'une vidéo, l'utilisation peut consister à visualiser la vidéo. Lorsqu'il s'agit d'un programme d'ordinateur, l'utilisation peut consister à exécuter ce programme. Lorsqu'il s'agit de données confidentielles, l'utilisation peut consister à donner la clé permettant de les déchiffrer. Il est connu par exemple, dans le cadre de logiciels stockés sur un serveur, de protéger le téléchargement de ces logiciels sur le terminal d'un utilisateur en attribuant un droit d'accès à chaque utilisateur autorisé de manière que ces utilisateurs puisse après contrôle de leur droits télécharger le logiciel pour lequel il ont un droit. Pour cela les droits d'accès sont stockés sur une carte à puce délivrée à l'utilisateur. Ainsi, lorsqu'un utilisateur cherche à accéder à un logiciel stocké sur un serveur, cet utilisateur insère sa carte à puce dans un lecteur de carte à puce en liaison avec son terminal et les droits contenus sur sa carte sont vérifiés par le serveur. La protection est vérifiée par le serveur, elle ne peut donc se faire qu'en ligne (le terminal est connecté au serveur). En outre ce contrôle ne permet pas d'avoir un suivi dans le temps des droits d'exploitation d'un contenu numérique quelque soit la nature du contenu numérique puisqu'il s'agit ici uniquement de logiciel. Le problème général que l'on cherche à résoudre avec la présente invention est celui de la protection dans le temps de contenus numériques contre toute exploitation non autorisée et d'apporter une grande flexibilité dans l'exploitation et en particulier dans la distribution. Elle permet également une vérification des droits en mode non connecté et donc de donner la possibilité d'exploiter ces contenus en mode non connecté. L'invention s'applique à la protection des contenus numériques dans le cas du commerce électronique et dans le cadre plus général du problème de la gestion des droits d'autorisation d'exploitation de contenus numériques qu'il s'agisse de contenus protégés par droits d'auteurs ou de contenus à valeur monétaire ou de contenus correspondant à des données confidentielles. L'invention s'applique à la gestion des droits d'exploitation de contenus numériques dans le temps et tout particulièrement à celui de la gestion de la distribution desdits contenus numériques. L'invention propose à cette fin de protéger toute exploitation d'un contenu numérique par la vérification préalable à tout accès audit contenu, de deux types de droits, des droits associés à l'utilisateur lui-même et des droits associés au contenu numérique. Les droits sont stockés sur un module de sécurité délivré aux utilisateurs autorisés et sont contrôlés par le module de sécurité de l'utilisateur. Dans un premier temps, les droits associés à l'utilisateur sont stockés sur le module de sécurité et dans un deuxième temps ou parallèlement, les droits associés au contenu numérique sont stockés sur le module de sécurité. Ces droits sont transmis avec les contenu numériques ou séparément. Le module de sécurité stocke également le programme d'application qui est nécessaire pour la gestion des droits associés aux contenus numériques. L'invention a plus particulièrement pour objet un procédé de contrôle de l'exploitation de contenus numériques principalement caractérisé en ce qu'il comprend : - pour un utilisateur : - l'attribution de droits associés au profil de cet utilisateur, - pour un contenu numérique : l'attribution de droits associés aux contenus numériques, - le stockage dans un module de sécurité délivré à l'utilisateur, dans un premier temps des droits associés au profil de l'utilisateur et dans un deuxième temps ou en parallèle des droits associés aux contenus numériques, - puis à chaque exploitation d'un contenu, - le contrôle par le module de sécurité des droits attribués, et selon le résultat, autoriser ou non l'exploitation. Selon une caractéristique, les droits associés à un contenu numérique comprennent des règles d'utilisation de ce contenu. De préférence pour assurer plus de sécurité, le contenu numérique et les règles d'utilisation qui lui sont attachées sont cryptés (terminologie également utilisée dans les techniques connues : chiffrés ou brouillés) pour être transmis au terminal d'un utilisateur. Les règles d'utilisation sont alors décryptées et stockées dans le module de sécurité de l'utilisateur. Elles peuvent être également stockées cryptées dans le module de l'utilisateur. Dans ce dernier cas, elles ne seront décryptées que lorsque cela est nécessaire c'est à dire à chaque utilisation du contenu. Selon un mode de réalisation, pour augmenter la sécurité, le contenu numérique est divisé en au moins deux parties. Une partie publique, est décryptée dans le cas ou cette partie publique est cryptée, et stockée dans le terminal de l'utilisateur. Au moins une partie privée est décryptée dans le cas ou cette partie privée est cryptée et stockée dans le module de sécurité. La partie privée peut selon un autre mode de réalisation être stockée sur le terminal de façon cryptée et n'être envoyée au module de sécurité que lorsque le besoin de décryptage nécessaire. L'exploitation du contenu numérique ne peut alors être autorisée que si les parties publiques et privées sont rassemblées. Selon une autre caractéristique, l'autorisation d'exploitation d'un contenu numérique comprend l'accès aux fins d'utilisation et/ou la distribution. Selon une autre caractéristique, les règles d'utilisation comprennent l'écoute, ou la visualisation ou la lecture et/ou l'enregistrement, selon la nature du contenu numérique. Lorsque les droits associés au profil de l'utilisateur comprennent une fréquence d'utilisation, un compteur contenant l'information est décrémenté dans le module de sécurité à chaque utilisation. Selon une variante, : après contrôle des droits et autorisation, la partie privée est cryptée par une clé de session générée par le module de sécurité pour être transmise au terminal qui la décrypte pour l'exploitation. Selon une autre variante, après contrôle des droits et utilisation, la partie privée est transmise en clair au terminal pour exploitation. L'invention concerne également un module de sécurité à circuit intégré comprenant une unité de traitement et au moins une mémoire non volatile sécurisée principalement caractérisé en ce que la mémoire comprend des droits associés au profil d'un utilisateur, des droits associés à des contenus numériques et un programme de contrôle de l'exploitation des contenus numériques aptes à vérifier les droits et à autoriser l'exploitation de ces contenus selon les résultats de la vérification. L'invention concerne aussi une carte à puce principalement caractérisée en ce qu'elle comporte un module de sécurité tel que décrit précédemment. D'autres particularités et avantages de l'invention apparaîtront clairement à la lecture de la description qui est donnée ci-après à titre d'exemple non limitatif et en regard des dessins sur lesquels, la figure 1 représente le schéma général d'un système de mise en oeuvre de l'invention ; la figure 2 représente le synoptique de mise en oeuvre de l'attribution des droits et de leur stockage sur la carte à puce de l'utilisateur suivant un exemple particulier de réalisation ; la figure 3 représente le synoptique de mise en oeuvre de la vérification selon l'exemple de la figure 2. La figure 4 représente le synoptique de mise en oeuvre du procédé dans le cas d'une demande de distribution d'un contenu numérique. Dans la suite on prend comme exemple le commerce électronique étant bien entendu que l'invention trouve une application à chaque fois que des informations sont échangées et que ces informations sont considérées comme sensibles c'est à dire qu'elles correspondent à des valeurs monétaires ou qu'elles sont soumises à des droits d'auteur ou qu'elles sont confidentielles. En outre, les terminaux qui pourront être utilisés seront selon l'application, soit des terminaux fixes TF comme par exemple les ordinateurs ou des lecteurs ayant une capacité mémoire qui peut stocker du contenu numérique. Il pourra s'agir aussi de terminaux mobiles TM tels que les téléphones mobiles ou les assistants numériques personnels (PDA). Un utilisateur désirant effectuer du commerce électronique est équipé d'un terminal de télécommunications TM ou TF sur la figure 1 comprenant une liaison avec un réseau de télécommunication. La liaison peut être Hertzienne ou être supportée par un réseau de téléphonie commuté. Un terminal équipé de moyens d'accès à un serveur S peut d'une manière générale accéder à tout serveur lorsque l'accès est libre. Pour de tels serveurs il n'y a pas de vérification de droit d'accès dés lors que le service fourni par le serveur est gratuit. Bien entendu lorsqu'il s'agit d'un service payant, un contrôle doit être opéré pour autoriser l'accès au serveur. Ce contrôle consiste précisément à vérifier les droits d'un utilisateur. Jusqu'à présent, le contrôle d'accès à des contenus (téléchargés à partir de serveurs multimédias ou à partir de serveurs de logiciels) est réalisé avant téléchargement par le serveur lui-même. Il est proposé selon une caractéristique de la présente invention, que ce contrôle soit réalisé par un module de sécurité et avant chaque exploitation y compris par conséquent lorsque le contenu numérique se trouve stocké dans le terminal ou sur tout support relié à ce terminal. Le module de sécurité se présente sous la forme d'un circuit intégré protégé et noyé dans un support plastique. On dénomme un tel module cartes à puce. Un module de sécurité permet d'assurer une protection contre le piratage des données qu'elles contiennent. Grâce à la présence du module de sécurité, les cartes à puces sont protégées de façon logique et mécanique contre toute intrusion malveillante. Pour simplifier la description on va considérer dans la suite, le cas où l'on utilise une carte à puce C et que cette carte à puce est remise à l'utilisateur qu'il s'agisse d'une carte SIM ou autre. Le module de sécurité ou la carte à puce C peuvent être installés dans le terminal. Ou bien le terminal peut être relié à un lecteur L de carte à puce, l'utilisateur possédant la carte à puce munie du module de sécurité. Ces deux options sont illustrées par la figure 1. Dans le cas où le terminal est un téléphone mobile TM, il possède déjà une carte à puce C dans la quelle la puce est un module de sécurité équipé classiquement d'une unité de traitement UC et de mémoires volatiles et non volatiles M. Cette carte est la carte d'identification d'abonné (carte SIM) et pourra par exemple servir à la mise en oeuvre du procédé de l'invention. Il pourrait également s'agir d'une autre carte à puce dans la mesure où certains téléphones mobiles disposent d'une deuxième fente. Afin de mettre en oeuvre le procédé selon l'invention, l'utilisateur dispose donc d'une carte à puce dans laquelle on enregistre des droits associés au profil de cet utilisateur, et des droits associés aux contenus numériques aux quels il peut accéder. Les droits sont stockés dans le module de sécurité de la carte délivrée à l'utilisateur et sont contrôlés par ce module de sécurité. Dans un premier temps, ce sont les droits associés à l'utilisateur qui sont stockés sur le module de sécurité et dans un deuxième temps ou parallèlement, ce sont les droits associés au contenu numérique qui sont stockés sur le module de sécurité. Ces droits sont transmis avec les contenus numériques ou séparément. Le module de sécurité stocke également le programme d'application qui est nécessaire pour la gestion des droits associés aux contenus numériques. L'attribution de droits liés au profil de l'utilisateur permet dans le cadre d'une entreprise privée ou publique de gérer l'exploitation des contenus numériques en fonction par exemple de la fonction (ou de la qualification) des personnes ou de leur appartenance à une profession. Ainsi par exemple Monsieur X, est salarié de l'entreprise Y et peut accéder à une partie seulement des outils logiciels de l'entreprise alors que Monsieur Z qui est cadre supérieur de l'entreprise peut accéder à toute la bibliothèque de logiciels de l'entreprise. En revanche Monsieur C qui est consultant n'aura aucun droit d'accès. Ainsi le profil peut correspondre à une profession : médecin, avocats ou à une catégorie de personnes : retraités ou abonnés à un service. Le simple fait de répondre à un profil ouvre des droits d'accès correspondants. Quant à l'attribution des droits liés au contenu numérique permet de gérer les utilisations possibles liées à la nature du contenu lui-même : il s'agit des règles d'utilisation du contenu numérique. Par exemple, si le contenu est une image, Monsieur X a le droit d'accéder à cette image et de la visualiser. Monsieur Z a le droit d'accéder à cette image, de la visualiser et de la stocker. Si le contenu numérique est un logiciel, Monsieur X a le droit de télécharger ce logiciel, de lancer l'exécution, ; Monsieur Y a le droit de télécharger le logiciel de lancer l'exécution et de le distribuer N fois (aux personnes de son équipe ou autre par exemple à Monsieur C qui est consultant). Ainsi des règles d'utilisation sont attribuées à chaque contenu numérique.. Comme on vient de le voir à travers ces exemples, l'autorisation d'exploitation d'un contenu numérique comprend l'accès aux fins d'utilisation et/ou la distribution. Les règles d'utilisation comprennent l'écoute, ou la visualisation ou la lecture et/ou l'enregistrement, selon la nature du contenu numérique. A chaque exploitation, un contrôle des droits attribués à l'utilisateur et un contrôle des règles d'utilisation sont opérés par la carte à puce (le module de sécurité) et selon le résultat la carte autorise ou non l'accès. De préférence et pour assurer une sécurité supplémentaire, le contenu numérique avec les règles d'utilisation qui lui sont attachées sont cryptés et transmis au terminal de l'utilisateur. Les règles d'utilisation sont décryptées par la carte à puce et stockées dans une mémoire sécurisée M de cette carte C qui contient également les droits associés au profil de l'utilisateur. Les règles d'utilisation peuvent être également stockées cryptées dans la carte à puce de l'utilisateur. Dans ce dernier cas, elles ne seront décryptées que lorsque cela est nécessaire c'est à dire à chaque utilisation du contenu. Dans un exemple de réalisation afin de renforcer encore la sécurité, le contenu numérique est divisé en au moins deux parties, une partie publique et une partie privée c'est à dire secrète. La partie publique est décryptée et stockée dans le terminal TM de l'utilisateur et la une partie privée est directement décryptée et stockée dans la carte à puce C. La partie publique est décryptée dans le cas où bien entendu elle est cryptée. La partie privée est décryptée dans le cas où elle est cryptée et stockée dans le module de sécurité. La partie privée peut selon un autre mode de réalisation être stockée sur le terminal de façon cryptée et n'être envoyée au module de sécurité que lorsque le besoin de décryptage nécessaire. L'exploitation du contenu numérique ne peut être autorisée que si les parties publiques et privées sont rassemblées. Après contrôle des droits et autorisation par la carte, la partie privée peut être cryptée par une clé de session générée par la carte pour être transmise au terminal qui la décrypte pour l'exploitation. La partie privée peut aussi être transmise en clair au terminal pour exploitation. On peut prévoir que les droits associés au profil de l'utilisateur comprennent une fréquence d'utilisation dans ce cas, un compteur contenant l'information est incrémenté dans le module de sécurité à chaque utilisation. On va maintenant décrire le déroulement du procédé suivant un exemple particulier permettant de mieux comprendre et à l'aide des figures 2 et 3. Sur la figure 2 sont illustrées les étapes d'attribution des droits et de stockage sur la carte à puce d'un utilisateur A dans le cas où cet utilisateur désire visualiser une image. 00) stockage des droits de l'utilisateur avant l'accès à un contenu ou en parallèle, 10)-Le contenu numérique crypté c'est à dire l'image, est transmis à son terminal TM. 20) le terminal reçoit ce contenu. 30) Le contenu est transmis au terminal en trois parties : - une partie privée cryptée (décryptée ou non dans le module), destinée au module de sécurité, une partie publique, destinée au terminal (cryptée ou non), les règles d'utilisation du contenu numérique cryptées (décryptées ou non dans le module). Ces trois parties peuvent être transmises de façon simultanée ou dissociée dans le temps. Un programme d'application est prévu pour réaliser la distribution des trois parties comme indiqué. 40) Les règles d'utilisation sont transmises à la carte qui les décrypte et les stocke. Les règles sont par exemple contenu confidentiel , ou contenu limité aux personnes-X La figure 3 illustre le déroulement de la vérification des droits selon l'exemple donné à la figure 2. 100) L'utilisateur désire visualiser l'image qu'il a reçue. 110) la carte vérifie les droits enregistrés : - droits de l'utilisateur - règles d'utilisation 120) la carte autorise la visualisation de l'image car les droits enregistrés sont : A est personne X . La lecture est toujours autorisée. 130) Les données sont cryptées avec une clé de session générée par la carte et transmises au terminal. 140) le terminal décrypte les données privées, les associe aux données publiques et affiche l'image. La figure 4 illustre le déroulement de la vérification selon le même exemple mais cette fois ci dans le cas où l'utilisateur A désire envoyer cette image à un utilisateur B. 200) Les droits de l'utilisateur et les règles d'utilisation sont vérifiées par la carte. 210) La carte autorise la distribution de l'image car les droits sont : l'utilisateur A est une personne X, il a le droit de distribuer 3 fois. 220) Les règles d'utilisation de l'image, les données publiques et les données privées sont cryptées pour sécuriser la transmission vers l'utilisateur B. 230) Les droits de l'utilisateur A sont mis à jour dans la carte pour faire passer le compteur de droit de distribution de 3 à 2. REVENDICATIONS 1. Procédé de contrôle de l'exploitation de contenus numériques, caractérisé en ce qu'il comprend : - pour un utilisateur : - l'attribution de droits associés au profil de cet utilisateur, - pour un contenu numérique : - l'attribution de droits associés aux contenus numériques, - le stockage dans un module de sécurité délivré à l'utilisateur, dans un premier temps des droits associés au profil de l'utilisateur et dans un deuxième temps ou en parallèle des droits associés aux contenus numériques, - puis à chaque exploitation d'un contenu, - le contrôle par le module de sécurité des droits attribués, et selon le résultat, autoriser ou non l'exploitation. 2. Procédé de contrôle selon la revendication 1, caractérisé en ce que les droits associés à un contenu numérique comprennent des règles d'utilisation de ce contenu. 3. Procédé de contrôle selon la revendication 2, caractérisé en ce que le contenu numérique et les règles d'utilisation qui lui sont attachées sont cryptés et transmis au terminal d'un utilisateur. 4. Procédé de contrôle selon la revendication 3, caractérisé en ce que les règles d'utilisation sont stockées cryptées ou décryptées dans le module de sécurité de l'utilisateur. 5. Procédé de contrôle selon la revendication 3, caractérisé en ce que le contenu numérique est divisé en au moins deux parties, une partie publique stockée dans le terminal de l'utilisateur et au moins une partie privée stockée cryptée ou décryptée dans le module de sécurité. 6. Procédé de contrôle selon la revendication 5, caractérisé en ce que l'exploitation du contenu numérique ne peut être autorisée que si les parties publiques et privées sont rassemblées. 7. Procédé de contrôle selon l'une quelconque des revendications précédentes, caractérisé en ce que l'autorisation d'exploitation d'un contenu numérique comprend l'accès aux fins d'utilisation et/ou la distribution. 8. Procédé de contrôle selon l'une quelconque des revendications précédentes, caractérisé en ce que les règles d'utilisation comprennent l'écoute, ou la visualisation ou la lecture et/ou l'enregistrement, ou le stockage de données ou l'exécution d'un logiciel selon la nature du contenu numérique. 9. Procédé de contrôle selon lune quelconque des revendications précédentes, caractérisé en ce que lorsque les droits associés au profil de l'utilisateur comprennent une fréquence d'utilisation, un compteur contenant l'information est décrémenté dans le module de sécurité à chaque utilisation. 10. Procédé de contrôle selon la revendication 5, caractérisé en ce que, après contrôle des droits et autorisation, la partie privée est cryptée par une clé de session générée par le module de sécurité pour être transmise au terminal qui la décrypte pour l'exploitation. 11. Procédé de contrôle selon la revendication 5, caractérisé en ce que, après contrôle des droits et utilisation, la partie privée est transmise en clair au terminal pour exploitation. 12. Module de sécurité à circuit intégré comprenant une unité de traitement (UC) et au moins une mémoire (M) non volatile sécurisée, caractérisé en ce que la mémoire comprend des droits associés au profil d'un utilisateur, des droits associés à des contenus numériques et un programme de contrôle de l'exploitation des contenus numériques aptes à vérifier les droits et à autoriser l'exploitation de ces contenus selon les résultats de la vérification. 13. Carte à puce caractérisée en ce qu'elle comporte un module de sécurité selon la revendication précédente.