Procédé pour protéger un contenu, dispositif et support de données pour la mise en oeuyre du procédé
La présente invention concerne un procédé pour protéger un contenu ainsi qu'un dispositif et un support de données pour la mise en œuvre du procédé.
Avec l'avènement des applications informatiques multimédia, les contenus, ou documents au sens large du terme (images, son, vidéos, textes,...), sont largement diffusés sous forme numérique. D'emblée on notera que par "diffusion de contenu", on entend désigner la diffusion d'un contenu par tous média, aussi bien par transmission à travers un réseau de communication (Internet, câble, satellite,...) que par distribution matérielle de supports de stockage du contenu (CD-ROM, DVD, CD,...). La forme numérique présente de multiples avantages : facilité de stockage, rapidité de transmission et possibilité de réaliser des copies parfaites. Ce dernier avantage s'avère néanmoins être aussi un inconvénient majeur car il favorise le piratage. Un souci majeur des diffuseurs de contenus numériques réside dans la protection des contenus numériques.
On connaît principalement deux méthodes de protection de contenu. La première méthode de protection de contenu consiste à chiffrer le contenu numérique diffusé, généralement à l'aide d'un algorithme symétrique utilisant une clé secrète. Celle-ci n'est communiquée qu'aux utilisateurs autorisés à utiliser le contenu.
Chaque utilisateur autorisé peut ensuite décoder le contenu chiffré à l'aide d'un décodeur et de la clé secrète afin d'obtenir le contenu d'origine, en clair. Par souci de sécurité, la clé secrète peut être mémorisée sur des cartes à puce, lesquelles sont distribuées aux seuls utilisateurs autorisés, ce qui limite la fraude. Pour exploiter le contenu, chaque utilisateur est équipé d'un décodeur disposant de moyens de lecture d'une carte à puce.
La seconde méthode de protection de contenu consiste à marquer le contenu numérique diffusé, à l'aide d'un algorithme de "watermarking". Le "watermarking" désigne un ensemble des techniques de tatouage numérique consistant à insérer dans un contenu numérique (image, vidéo, son, texte, ...) des informations de marquage de
façon imperceptible et persistante. La différence entre le contenu marqué et le contenu d'origine est difficilement perceptible à l'utilisateur. En outre, le marquage persiste en cas de manipulations du contenu. A titre d'exemple, dans le cas d'une image, la marque demeure intacte après rotation de l'image, coupure d'une partie de l'image ou compression puis décompression de l'image. En matière de protection de contenu, le
"watermarking" peut être utilisé pour protéger les droits d'auteur d'un contenu. Pour cela, le contenu diffusé est marqué à l'aide d'informations permettant d'identifier l'auteur légitime du contenu. Le "watermarking" peut également permettre d'améliorer la traçabilité du contenu diffusé, lorsque le contenu diffusé est marqué à l'aide d'informations sur l'identité de son destinataire. On peut ainsi, en cas de fraude, identifier l'origine de copies illégales du contenu. Les techniques de tatouage numérique consistant à insérer des informations sur l'identité d'une personne sont appelées "fingerprinting".
Avec la protection par chiffrement, chaque utilisateur dispose, après déchiffrement, du contenu d'origine en clair. Un fraudeur peut aisément en réaliser des copies illégales sans qu'il soit possible d'identifier a posteriori l'origine de ces copies.
Avec la protection par tatouage numérique, ou "watermarking", il est possible d'identifier l'auteur de copies frauduleuses du contenu lorsque celui-ci a été marqué avant sa diffusion à l'aide d'informations identifiant son destinataire. Cependant, une telle méthode de protection nécessite d'apposer des marques distinctes aux contenus diffusés aux différents destinataires. Elle est donc extrêmement fastidieuse, voire même inutilisable lorsque le contenu doit être diffusé de façon large, par une diffusion de point à multipoint à travers un réseau (radio, satellite, câble, multicast-IP,...) ou par distribution matérielle de supports de stockage (CDROM, DVD,...). Pour identifier l'origine de copies frauduleuses d'un contenu, EP 1009126 propose de décoder le contenu chiffré tout en le marquant à l'aide de données d'identification d'un utilisateur du décodeur. Un dispositif de type « boîte noire », contenant à la fois les données d'identification de l'utilisateur et un signal de décodage fournit en sortie un signal de décodage et de marquage, contenant les données
d'identification de l'utilisateur. Le décodage et le marquage sont ainsi réalisés concomitamment.
Cette solution, qui consiste à marquer d'office le contenu lors de son décodage à l'aide des informations d'identification de l'utilisateur du décodeur, permet en cas de fraude d'identifier ultérieurement le fraudeur. Toutefois, la solution proposée par EP 1009126 n'est pas totalement satisfaisante car elle implique la fabrication de dispositifs de décodage de type « boîte noire » personnalisés, c'est-à-dire contenant les données d'identification de l'utilisateur. Les dispositifs de décodage de type « boîte noire » sont difficiles à pirater et offrent une garantie de sécurité élevée mais leur fabrication n'est pas intéressante économiquement. En effet, les fabricants de dispositifs de décodage préfèrent fabriquer des dispositifs de décodage banalisés, de type « universel », c'est-à-dire non personnalisés pour l'utilisateur final. Cela correspond d'ailleurs à ce qui se pratique généralement. Le but de la présente invention est donc de proposer un procédé pour protéger un contenu diffusé vers au moins un dispositif de décodage et de marquage d'utilisateur, ledit contenu étant codé pour sa diffusion, comprenant les étapes suivantes:
- décodage du contenu,
- marquage du contenu à l'aide d'informations d'identification de l'utilisateur, l'étape de marquage et l'étape de décodage, réalisées côté utilisateur, étant couplées l'une à l'autre de telle sorte que l'exécution de l'une entraîne l'exécution de l'autre, permettant d'utiliser des dispositif de décodage banalisés, universels, tout en offrant une garantie de sécurité élevée.
Le problème de l'invention est résolu par le fait que, le contenu étant chiffré à l'aide d'un algorithme de chiffrement utilisant une clé secrète, il comporte les étapes suivantes :
- calcul d'une "clé mélangée" résultant du mélange de la clé secrète et des informations d'identification de l'utilisateur, sur un support de données,
- transmission de la "clé mélangée" du support de données vers le dispositif de décodage et de marquage,
- calcul de la clé secrète et des informations d'identification de l'utilisateur à partir de la clé mélangée, par le dispositif de décodage et de marquage, la clé secrète et les informations d'identification de l'utilisateur étant ensuite utilisées pour respectivement déchiffrer le contenu et le marquer. L'invention consiste à mélanger la clé secrète et les informations d'identification de l'utilisateur, ce qui revient à tatouer la clé secrète avec les informations d'identification de l'utilisateur. La clé secrète et les informations d'identification ne sont pas transmises de façon indépendante du support de données vers le dispositif de décodage et de marquage. Au contraire, la clé secrète et les informations d'identifications sont mélangées avant d'être transmises et ainsi véhiculées par la « clé mélangée » entre le support de données et le dispositif de décodage et de marquage. Grâce à cela, d'une part, on limite le risque d'interception frauduleuse de la clé secrète lors de cette transmission et, d'autre part, on rend plus difficile la tâche d'un fraudeur souhaitant supprimer les données d'identification afin d'empêcher le marquage du contenu à l'aide de celles-ci. Plus la clé secrète et les données d'identification seront intimement mélangées, plus il sera difficile pour le fraudeur de supprimer les données d'identification afin d'empêcher le marquage du contenu à l'aide de ces données.
La mémorisation des informations d'identification de l'utilisateur sur le support de données, par exemple une carte à puce, peut être réalisée par un distributeur, ou fournisseur, de supports de données.
La source de diffusion peut modifier à intervalles réguliers la partie variable de la clé secrète. Grâce à cela, le piratage de la clé secrète est rendu plus difficile.
Le marquage peut être exécuté après, avant ou de façon concomitante avec le décodage.
Dans un mode de réalisation particulier, le procédé comprend une étape de construction d'une portion de la clé secrète à l'aide des informations d'identification de l'utilisateur. Dans ce cas, la clé secrète de déchiffrement du contenu est partiellement modifiée à l'aide des informations d'identification de l'utilisateur. Chaque utilisateur dispose donc d'une clé de déchiffrement personnelle qui contient une imperfection
générée par les informations d'identification cet utilisateur. Au cours du déchiffrement, le contenu est marqué du fait de cette imperfection et une analyse ultérieure de ce marquage permet d'identifier l'utilisateur.
Dans une autre variante de réalisation du procédé, le contenu étant marqué avant diffusion, l'étape de marquage consiste à remplacer le marquage d'origine du contenu par un marquage identifiant l'utilisateur du contenu. Le contenu peut être marqué avant diffusion, par exemple à l'aide de l'indication "contenu volé". Après réception par l'utilisateur, le marquage d'origine est remplacé par un marquage permettant d'identifier l'utilisateui". Ainsi, dans le cas où un fraudeur court-circuiterait l'étape de marquage, l'indication "contenu volé" resterait apposée sur le contenu.
L'invention concerne également un dispositif pour la mise en oeuvre du procédé précédemment défini, comprenant des moyens de décodage, agencés pour décoder un contenu, et des moyens de marquage, agencés pour marquer le contenu à l'aide d'informations d'identification d'un utilisateur, les moyens de marquage et les moyens de décodage étant couplés les uns aux autres de telle sorte que le fonctionnement des uns entraîne le fonctionnement des autres, dispositif caractérisé en ce qu'il comprend en outre des moyens de connexion à un support de données externe, à travers lesquels le dispositif est agencé pour acquérir des informations d'identification d'un utilisateur, et qu'il est agencé pour acquérir à travers les moyens de connexion au support de données externe une "clé mélangée" comprenant une clé secrète de chiffrement mélangée aux informations d'identification de l'utilisateur et en ce qu'il comprend des moyens de calcul agencés pour séparer la clé secrète et les informations d'identification de l'utilisateur.
L'invention concerne enfin un support de données pour la mise en oeuvre du procédé précédemment défini, caractérisé en ce qu'il comprend des premiers moyens de mémorisation d'une clé secrète de chiffrement/déchiffrement, des seconds moyens de mémorisation d'informations d'identification d'un utilisateur et des moyens de calcul agencés pour mélanger les informations d'identification de l'utilisateur et la clé secrète afin d'obtenir une "clé mélangée".
Selon une autre forme de réalisation, le support de données est caractérisé en ce qu'il comprend des premiers moyens de mémorisation d'une partie fixe d'une clé secrète de chiffrement/déchiffrement, des seconds moyens de mémorisation d'informations d'identification d'un utilisateur, des moyens de connexion externe à travers lesquels le support est agencé pour recevoir une partie variable de la clé secrète, des premiers moyens de calcul agencés pour calculer la clé secrète à partir de sa partie fixe et de sa partie variable, et des seconds moyens de calcul agencés pour mélanger les informations d'identification de l'utilisateur et la clé secrète afin d'obtenir une "clé mélangée". L'invention sera mieux comprise à l'aide de la description suivante d'un mode de réalisation particulier du procédé de l'invention, ainsi que du dispositif et du support de données pour la mise en œuvre du procédé, en référence au dessin annexé sur lequel:
- la figure 1 représente une vue schématique d'un réseau de transmission auquel sont connectés une source de diffusion de contenus et des dispositifs selon l'invention, associés chacun à un support de données;
- la figure 2 représente un schéma bloc fonctionnel de l'un des dispositifs de la figure 1 et
- la figure 3 représente un organigramme des étapes du procédé. Les contenus, ou documents au sens large du terme (images, vidéos, son, textes,...), sont largement diffusés sous forme numérique à travers des réseaux de communication (Internet, réseau de satellites, câble ou autres) ou par distribution sur des supports de stockage (CDROM, DVD ou autres). On rappelle ici que par "diffusion de contenu", on entend désigner la diffusion d'un contenu par tout média. La diffusion du contenu peut être réalisée aussi bien par transmission à travers un réseau de communication que par distribution matérielle de supports de stockage du contenu. La forme numérique facilite la réalisation de copies des contenus et favorise donc le piratage. Le procédé de l'invention vise à protéger les contenus numériques diffusés, en permettant, dans le cas où des copies frauduleuses du contenu auraient été réalisées par un utilisateur, d'identifier celui-ci.
Dans l'exemple particulier de la description, en référence à la figure 1, une source de diffusion 1 diffuse des contenus vers des utilisateurs ui, u2,..., U ,... à travers un réseau de satellites 2. Chaque utilisateur Uk est équipé d'un dispositif de décodage et de marquage 3, d'un dispositif de visualisation 4, en l'espèce un poste de télévision, et d'un support de données externe, ici une carte à puce 5. Les cartes à puce 5 sont fournies aux utilisateurs par un fournisseur de cartes à puce 6.
Les contenus diffusés par la source 1 sont codés ici à l'aide d'un algorithme de chiffrement symétrique à clé secrète Kst. Cette clé secrète Kst est composée d'une partie fixe Ks et d'une partie variable, temporaire, Kt changeant à intervalles réguliers. La clé Ks, c'est-à-dire la partie fixe de la clé secrète Kst, est mémorisée dans les cartes à puce 5. La clé variable Kt est diffusée avec les contenus correspondants par la source de diffusion 1 vers les utilisateurs uls u2,..., Uk,... à travers le réseau 2.
En référence à la figure 2, la carte à puce 5 d'un utilisateur U comprend :
- une mémoire 50 de stockage de la clé fixe Ks, - une mémoire 51 de stockage d'informations personnelles W d'identification de l'utilisateur U ,
- un premier module de calcul 52, relié à la mémoire 50 de stockage de la clé fixe Ks et destiné à calculer la clé secrète Kst à partir de la clé fixe Ks et de la clé temporaire Kt, - un second module de calcul 53, relié à la mémoire 51 de stockage des informations personnelles Wk et destiné à mélanger la clé secrète Kst et des informations personnelles Wk afin de calculer une "clé mélangée" KstWk, et
- un élément 54 de connexion au dispositif de décodage et de marquage 3. Les deux modules de calcul 52 et 53 sont reliés l'un à l'autre et sont également reliés à l'élément de connexion externe 54.
La carte à puce 5 est destinée à exécuter un algorithme M qui, à partir de la clé temporaire Kt, de la clé fixe Ks et des informations personnelles Wk, calcule la "clé mélangée" KstWk. Cet algorithme M est scindé en deux sous-algorithmes B et G tels que: M = B o G . En fonctionnement, le premier et le second modules de calcul 52, 53 exécutent successivement l'algorithme G et l'algorithme M. L'algorithme G additionne
la clé fixe Ks, stockée dans la mémoire 50, et la clé temporaire Kt, fourme par le dispositif 3 à travers l'élément de connexion 54, afin de reconstituer la clé secrète Kst. L'algorithme B mélange la clé secrète Kst, fournie par le premier module de calcul 52, et les informations personnelles Wk d'identification de l'utilisateur, stockée dans la mémoire 51. Le résultat de ce mélange est la "clé mélangée" KstWk-
En référence à la figure 2, le dispositif 3 comprend
- un module de réception 30,
- un module de décodage 31, relié au module de réception 30,
- un module de marquage 32, relié au module de décodage 31, - un élément 33 de connexion à la carte à puce 5, relié au module de réception
30,
- un module de calcul 34 relié, en entrée, à l'élément de connexion 33 et, en sortie, au module de décodage 31 et au module de marquage 32 et destiné à recevoir la "clé mélangée" KstWk et à séparer la clé fixe Ks et les informations personnelles Wk de l'utilisateur Uk, et
- un port 35 de connexion au dispositif de visualisation 4.
Le module de décodage 31 et le module de marquage 32 sont couplés l'un à l'autre de telle sorte que le fonctionnement de l'un entraîne le fonctionnement de l'autre. Lorsqu'un contenu est reçu par le dispositif 3, le module de décodage 31 le décode puis commande le module de marquage 32 pour qu'il marque le contenu à l'aide des informations personnelles Wk de l'utilisateur Uk. Ainsi, une image est d'office marquée à l'aide des informations personnelles Wk de l'utilisateur U , dès lors qu'elle est décodée.
Le dispositif 3 exécute un algorithme D scindé en trois sous-algorithmes : - B"1, algorithme de calcul de la clé secrète Kst de chiffrement/déchiffrement et des informations personnelles Wk d'un utilisateur Uk,
- U"1, algorithme de déchiffrement utilisant la clé secrète Kst, et
- P, algorithme de marquage. L'algorithme D est tel que : D = B~l ° U'1 ° P .
En fonctionnement, le module de réception 30 reçoit un contenu chiffré et la clé variable Kt de chiffrement, diffusées par la source 1 à travers le réseau 2, et fournit le contenu au module de décodage 31 et la clé variable Kt à l'élément 33 de connexion à la carte à puce 5. Le module de calcul 34 exécute l'algorithme B"1 qui calcule la clé secrète Kst et les informations personnelles Wk de l'utilisateur Uk à partir de la clé mélangée KstWk fournie par la carte à puce 5. Le module de décodage 31 exécute ensuite l'algorithme U"1 qui déchiffre le contenu à l'aide de la clé secrète Kst et fournit au module de marquage 32 le contenu d'origine, en clair. Sous la commande du module de décodage 31, le module de marquage 32 exécute alors l'algorithme P qui marque le contenu à l'aide des informations personnelles de l'utilisateur W -
L'ensemble comprenant le dispositif 3 et la carte à puce 5 de l'utilisateur Uk est ainsi agencé pour exécuter un algorithme A, tel que A = D ° M , qui a pour fonction de transformer un contenu codé en un contenu décodé et marqué à l'aide d'informations personnelles Wk d'identification de l'utilisateur Uk. On va maintenant décrire la diffusion d'un contenu par la source de diffusion 1 vers des utilisateurs uls u2,..., Uk,... et son exploitation par l'un de ces utilisateurs U . Dans l'exemple particulier de la description, le contenu est une image I.
Avant diffusion, la source 1 code l'image I à l'aide d'un algorithme de chiffrement symétrique à clé secrète Kst. On rappelle ici que cette clé secrète comporte une partie variable Kt et une partie fixe Ks. La source 1 diffuse ensuite l'image chiffrée le et la partie variable Kt correspondante de la clé secrète Kst vers les utilisateurs uls u ,..., Uk,... à travers le réseau de satellites 2. L'utilisateur Uk reçoit, décode et marque l'image le, à l'aide de son dispositif 3, puis la visualise à l'aide de son dispositif de visualisation 4. La figure 3 représente un organigramme des étapes du procédé visant à protéger l'image diffusée. Ce procédé comprend une étape 100 de mémorisation des informations W d'identification de l'utilisateur Uk dans la carte à puce 5 et une étape 101 de mémorisation de la clé fixe Ks dans la carte à puce 5, toutes deux exécutées par le fournisseur 6 de cartes à puce 5. La carte à puce 5 est ensuite fournie à l'utilisateur Uk qui la connecte à son dispositif 3.
Le procédé comprend ensuite une étape 102 de réception par le dispositif 3 de l'image chiffrée le et de la clé temporaire Kt associée, diffusées par la source de diffusion 1 à travers le réseau 2. Dans une étape 103, la clé temporaire Kt et l'image le sont transmises à la carte à puce 5 et au module de décodage 3, respectivement. La carte à puce 5 exécute alors une étape 104 de calcul de la clé secrète d'origine Kst puis une étape 105 de calcul de la clé mélangée KstWk- Au cours de l'étape 104, le premier module de calcul 52 additionne la clé temporaire Kt reçue et la clé fixe Ks stockée, à l'aide de l'algorithme G, afin d'obtenir la clé secrète Kst de chiffrement/déchiffrement de l'image 171c puis, au cours de l'étape 105, le second module de calcul 53 mélange la clé secrète Kst et les informations W d'identification de l'utilisateur Uk, à l'aide de l'algorithme B, afin de calculer la clé mélangée KstWk. Après calcul, la clé mélangée KstWk est transmise de la carte à puce 5 vers le dispositif 3 (étape de transmission 106). La clé secrète Kst est ainsi véhiculée par la clé mélangée lors de la sa transmission entre la carte à puce 5 et le dispositif 3. Grâce à cela, on limite encore les risques de piratage de la clé secrète Kst. La clé mélangée KstWk est fournie au module de calcul
34 qui exécute alors à une étape 107 de calcul de la clé secrète Kst et des informations Wk d'identification de l'utilisateur U , à l'aide de l'algorithme B"1. Le module de calcul 34 fournit la clé secrète Kst au module de décodage 31 et les informations Wk d'identification de l'utilisateur Uk au module de marquage 32. Le module de décodage 31 procède alors au décodage de l'image le (étape 108). Au cours de cette étape 108, l'image reçue le est déchiffrée à l'aide de l'algorithme de déchiffrement U"1 utilisant la clé secrète Kst. L'image obtenue après déchiffrement est l'image d'origine en clair I. Sous la commande du module de décodage 31, le module de marquage 32 procède ensuite au marquage de l'image I (étape 109). Au cours de l'étape 109, l'image I est marquée à l'aide des informations Wk d'identification de l'utilisateur Uk. L'étape de décodage 108 et l'étape de marquage 109 sont couplées l'une à l'autre de telle sorte que l'exécution de l'une entraîne nécessairement l'exécution de l'autre. Tout contenu décodé par le dispositif 3 est d'office marqué avec les informations personnelles Wk de l'utilisateur Uk. L'image marquée Iwk est ensuite transmise au dispositif de visualisation 4 à travers le port de liaison 35 (étape de transmission 110) afin d'être visualisée. Une
analyse ultérieure de l'image Iwk, à l'aide d'un algorithme Z associé à l'algorithme de marquage P, permet d'identifier l'utilisateur Uk ayant utilisé l'image I.
Dans la description qui précède, le marquage est exécuté après le décodage.
En variante, le marquage pourrait être exécutée avant ou de façon concomitante avec le décodage. En toute hypothèse, l'étape de décodage et l'étape de marquage sont couplées l'une à l'autre de telle sorte que l'exécution de l'une de ces deux étapes entraîne, ou s'accompagne, nécessairement de l'exécution de l'autre étape.
En variante, au lieu d'être chiffré à l'aide d'une clé secrète Kst partiellement variable, le contenu diffusé est chiffré à l'aide d'une clé secrète totalement fixe. Dans ce cas, la carte à puce comprend une mémoire de stockage de la clé secrète fixe, une mémoire de stockage des informations d'identification de l'utilisateur, un module de calcul de la clé mélangée agencé pour mélanger la clé secrète mémorisée et les informations d'identification de l'utilisateur et un élément de connexion externe au dispositif à travers lequel la clé mélangée est destinée à être transmise vers le dispositif de décodage et de marquage.
Dans une variante de mise en œuvre du procédé, le contenu diffusé est marqué avant d'être diffusé par la source de diffusion, l'étape de marquage effectue un remplacement du marquage d'origine par un nouveau marquage identifiant l'utilisateur du contenu. La marque d'origine, apposée avant diffusion, est remplacée, après diffusion, par les informations Wk d'identification de l'utilisateur Uk ayant reçu le contenu. L'image diffusé peut par exemple être marquée à l'aide de l'indication "contenu volé". Ainsi, dans le cas où un utilisateur court-circuiterait l'étape de marquage normalement réalisée par son dispositif de marquage et de décodage, l'indication selon laquelle le contenu est volé resterait apposé sur le contenu. Au lieu d'être mémorisée sur des supports de données distribuées aux utilisateurs, la clé secrète pourrait être fournie aux utilisateurs autorisés par tout autre moyen de transmission sécurisé.
On pourrait envisager de construire, côté utilisateur, une portion de la clé secrète à l'aide des informations d'identification de l'utilisateur et de déchiffrer le contenu reçu à l'aide de cette clé secrète. Le décodage et de marquage seraient ainsi
intimement couplés. Dans ce cas, le contenu déchiffré contiendrait une imperfection propre à chaque utilisateur et constituant par conséquent une marque identifiant l'utilisateur.
Bien entendu, la présente invention s'applique à tout type de codage/décodage de contenu et à tout média de diffusion de contenu.