Brevet FR2845854A1 — publié le 20040416

La présente invention concerne le domaine de la lutte contre le piratage des décodeurs d'accès à des données numériques multimédia. Elle concerne plus particulièrement un procédé de désactivation à distance d'un tel décodeur ainsi qu'un décodeur comportant des moyens de désactivation à distance. Les opérateurs diffusant des programmes audiovisuels payants fournissent habituellement aux utilisateurs qui souhaitent recevoir ces programmes des décodeurs leur permettant d'y accéder moyennant paiement 10 d'un abonnement. Les données numériques constituant les programmes sont en effet le plus souvent transmises sous forme cryptée pour que les utilisateurs ne disposant pas du décodeur ne puissent pas y accéder. Le décodeur contient notamment des moyens de décryptage et de décodage des données numériques. Plus précisément, le décodeur comporte généralement un lecteur 15 de carte à puce dans lequel est insérée une carte qui contient un module logiciel ainsi qu'une ou des clés cryptographiques nécessaires au décryptage des données. La carte à puce contient également en général des informations sur les droits acquis par l'utilisateur du décodeur (par exemple quels canaux sont accessibles à l'utilisateur, pour quelle durée, etc.). Lorsqu'un utilisateur ne souhaite plus payer pour recevoir les programmes d'un opérateur, il doit en principe retourner son décodeur à l'opérateur ou à un intermédiaire chargé d'installer les décodeurs. Les opérateurs sont néanmoins de plus en plus confrontés à un problème de piratage de leurs décodeurs. Certains utilisateurs suspendent en effet leur 25 abonnement mais ne restituent pas leur décodeur. Ils se procurent ensuite des cartes à puces pirates donnant des droits d'accès étendus aux programmes diffusés par l'opérateur. Certains décodeurs sont même volés dans les camionnettes des installateurs pour être également utilisés avec des cartes à puces pirates. L'invention a pour objectif de résoudre les problèmes précités. Plus précisément, un but de l'invention est de rendre inutilisable un décodeur volé ou non restitué ou tout au moins d'en altérer grandement le fonctionnement. A cet effet, l'invention concerne un procédé de désactivation à 35 distance d'au moins un décodeur d'accès à des données numériques multimédia fourni par un opérateur de services, le décodeur ayant un identifiant unique connu de l'opérateur. Le procédé consiste pour l'opérateur à envoyer, à travers un réseau de communication reliant le décodeur à l'opérateur, une commande de destruction de tout ou partie du logiciel embarqué dans le décodeur, cette commande de destruction étant adressée au décodeur d'identifiant unique spécifié par l'opérateur. Ainsi lorsqu'un décodeur n'est pas restitué ou est volé, l'opérateur 5 peut, à distance, déclencher une destruction partielle ou totale du logiciel qui est nécessaire au fonctionnement du décodeur de manière à le rendre partiellement ou totalement inutilisable. Selon un premier mode de réalisation, le réseau de communication utilisé pour envoyer la commande de destruction est un réseau bidirectionnel. 10 La commande de destruction n'est envoyée, dans ce premier mode de réalisation, qu'au décodeur auquel elle est adressée. Selon un second mode de réalisation, le réseau de communication utilisé pour envoyer la commande de destruction est un réseau mono directionnel. Préférentiellement, il s'agit du réseau de diffusion des données de 15 l'opérateur vers tous les décodeurs et la commande de destruction est envoyée à tous les décodeurs avec les données diffusées par l'opérateur. L'invention concerne également un décodeur d'accès à des données numériques multimédia caractérisé en ce qu'il comporte un module logiciel effaceur adapté à effacer tout ou partie du logiciel embarqué dans le décodeur 20 lorsque celui-ci reçoit une commande de destruction qui lui est adressée. Selon une caractéristique particulière de l'invention, le décodeur possède un identifiant unique et la commande de destruction reçue contient cet identifiant unique lorsqu'elle lui est adressée. Selon un autre aspect de l'invention, le décodeur comporte un 25 module d'initialisation du décodeur destiné à vérifier l'intégrité du logiciel embarqué et, en cas de vérification négative, à télécharger un nouveau logiciel. Ce module d'initialisation est en outre adapté à vérifier qu'une partie au moins du logiciel embarqué dans le décodeur n'a pas été au préalable effacée par le module effaceur, le module d'initialisation ne vérifiant l'intégrité du logiciel 30 embarqué que lorsque aucune partie du logiciel n'a été au préalable effacée. Selon un mode de réalisation particulier, le module effaceur efface un module logiciel embarqué dans le décodeur à chaque réception d'une nouvelle commande de destruction adressée audit décodeur. Selon une caractéristique particulière de ce mode de réalisation, les 35 modules logiciels du décodeur sont effacés dans l'ordre suivant: le module de contrôle d'accès en premier, le module d'interface utilisateur en second; et le module de décodage audio/vidéo en troisième. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés sur lesquels: - la figure 1 représente un ensemble d'émission et de réception de programmes fournis par un opérateur; - la figure 2 illustre schématiquement un premier mode de réalisation de l'invention; - la figure 3 illustre schématiquement un second mode de réalisation de l'invention qui peut être associé au premier mode de réalisation; et - la figure 4 est un organigramme schématique d'un procédé de fonctionnement d'un décodeur selon l'invention. Sur la figure 1, on a représenté un décodeur 1 qui reçoit des programmes, typiquement des programmes audiovisuels ou bien des 15 programmes interactifs, d'un centre de diffusion 2 d'un opérateur. Il reçoit ces programmes par l'intermédiaire d'un réseau de diffusion unidirectionnel 3. On utilise souvent la terminologie anglaise pour désigner cette voie de diffusion en parlant de " voie broadcast ". Le décodeur 1 est également relié à un serveur 5 de l'opérateur par un réseau de communication bidirectionnel 4. On parle en 20 général de " voie de retour " reliant le décodeur au serveur. Naturellement, même si un seul décodeur d'identifiant ID est représenté sur la figure 2, il existe en pratique une multitude de décodeurs d'identifiants différents qui reçoivent des programmes du centre de diffusion 2 et qui sont reliés au serveur 5. Habituellement, la voie broadcast est utilisée pour la diffusion 25 générale des programmes, c'est à dire pour une diffusion globale vers tous les décodeurs en même temps tandis que la voie de retour est utilisée pour des communications individuelles d'un décodeur vers l'opérateur. La voie de retour est notamment utilisée dans le cadre de programmes interactifs lorsque l'utilisateur participe à un jeu ou à un vote ou bien pour commander des 30 programmes selon un mode de " paiement à la séance " (ou " pay-per-view " en anglais). La voie broadcast est réalisée sous la forme d'une transmission par satellite, par câble ou par voie hertzienne. Pour réaliser la voie de retour, le décodeur 1 comporte un modem 35 (non représenté sur la figure 1) relié à un réseau de communication 4. Il peut s'agir d'un modem téléphonique classique relié au RTC (acronyme de " Réseau Téléphonique Commuté "), ou bien d'un modem ADSL (acronyme de l'anglais " Asymmetric Digital Subscriber Line " signifiant " Ligne d'abonnée Numérique à Débit Asymétrique ") relié à une ligne téléphonique classique ou encore d'un modem câble relié à un réseau câblé. Il peut également s'agir de manière préférentielle d'un modem sans connexion filaire relié à un réseau de communication sans fil, par exemple un modem de type GPRS (acronyme de 5 l'anglais " General Packet Radio Service " signifiant "Services Radio par Paquets"), GSM (acronyme de l'anglais " Global System for Mobile communications " signifiant " Système Global pour communications Mobiles ") ou UMTS (acronyme de l'anglais " Universal Mobile Telecommunication System " signifiant " Système de télécommunication Mobile Universel "). Chaque décodeur possède un identifiant unique ID qui est préférentiellement mémorisé dans une zone protégée d'une mémoire contenue dans le décodeur. Tous les identifiants ID des décodeurs fournis par un opérateur à ses utilisateurs sont également mémorisés dans une base de donnée de l'opérateur. Lorsqu'un utilisateur ne paie plus son abonnement mais 15 ne restitue pas son décodeur d'identifiant ID, ou bien lorsque l'opérateur apprend qu'un décodeur d'identifiant ID a été volé, l'opérateur peut alors, conformément à l'invention, envoyer une commande de destruction de tout ou partie du logiciel embarqué dans le décodeur, cette commande étant adressée spécifiquement au décodeur d'identifiant ID. L'envoi de la commande spécifique de destruction du logiciel d'un décodeur peut s'effectuer de deux manières possibles: soit par la voie de retour, soit par la voie broadcast. Nous allons tout d'abord décrire, en liaison avec la figure 2, le mode 25 de réalisation utilisant la voie de retour. Ce mode de réalisation permet avantageusement un dialogue bidirectionnel entre le décodeur et le serveur distant. La figure 2 illustre les étapes de procédés mis en oeuvre dans le décodeur 1 et le serveur 5 ainsi que les commandes échangées entre les deux 30 dispositifs. A chaque fois qu'un événement déclencheur survient, comme cela est représenté par l'étape 10 sur la figure 2, le décodeur interroge le serveur distant en émettant une commande " Demande Etat (ID) ", envoyée à l'étape 11, pour connaître son état de fonctionnement. Un événement déclencheur 35 peut être une sortie du mode de mise en veille (ou mode " stand-by ") du décodeur, la mise sous tension du décodeur, la connexion du modem du décodeur au réseau bidirectionnel 4, ou bien encore un événement déclencheur spécifique intervenant à intervalle régulier (au moins 1 fois par jour). A l'étape 12, l'identifiant ID du décodeur, transmis en paramètre de la commande envoyée à l'étape 11, est reçu dans la base de données des abonnés de l'opérateur. Un test est alors effectué à l'étape 13 pour vérifier si l'abonnement associé au décodeur d'identifiant ID a été résilié ou non. Si 5 l'abonnement est en cours, c'est à dire si l'utilisateur du décodeur 1 est à jour du paiement de son abonnement, alors la réponse au test 13 est " NON " et le serveur 5 renvoie une commande " Cmd (ID, ACTIF) " au décodeur 1 lors de l'étape 14. Le décodeur entre alors dans un mode de fonctionnement normal à l'étape 15. Si en revanche l'abonnement associé au décodeur 1 a été résilié ou bien si aucun abonnement n'a été enregistré par l'opérateur pour un décodeur d'identifiant ID, alors la réponse au test 13 est " OUI " et le serveur envoie lors d'une étape 16 une commande " Cmd (ID, INACTIF) " au décodeur 1. Lorsqu'il reçoit cette commande, le décodeur 1 entre alors dans un mode de dégradation 15 de son fonctionnement illustré par l'étape 17. Dans ce mode dégradé, le logiciel embarqué dans le décodeur est détruit, totalement ou partiellement selon un mode de réalisation qui sera décrit ultérieurement. On notera que lorsque ce mode de réalisation est utilisé, il est préférable de prévoir d'équiper les décodeurs de modems sans connexion (de 20 type, GPRS, GSM ou UMTS) de sorte que les utilisateurs " pirates " ne puissent pas contourner cette attaque en déconnectant tout simplement leur modem. Le second mode de réalisation, qui doit être utilisé de préférence en 25 parallèle avec le premier mode de réalisation pour plus de sécurité, utilise quant à lui la voie dite "broadcast ". Selon le principe de ce mode de réalisation, l'opérateur diffuse avec les flux vidéo et audio des commandes de destruction de tout ou partie du logiciel embarqué dans les décodeurs dont les abonnements ont été résiliés et 30 qui n'ont pas été restitués à l'opérateur ou bien pour lesquels aucun abonnement n'a jamais été souscrit. La figure 3 illustre schématiquement les opérations effectuées selon ce mode de réalisation. Le centre de diffusion 2 de l'opérateur reçoit régulièrement de la 35 base de donnée de l'opérateur un message 20 " Résiliés (ID1, ID5,..., IDn) " contenant les identifiants ID1, ID5,..., IDn de tous les décodeurs dont le logiciel doit être détruit totalement ou partiellement. Des commandes de destruction sont alors générées pour chacun des identifiants ID1, ID5,..., IDn et sont ensuite diffusées par le centre de diffusion 2 avec les données audio/vidéo à destination de tous les décodeurs de l'opérateur. Sur la figure 3, nous avons représenté deux décodeurs dont les identifiants sont respectivement ID2 et ID5. Ces deux décodeurs reçoivent 5 toutes les commandes de destruction 21 à 26 et ils filtrent les identifiants contenus dans les paramètres des commandes de destruction pour vérifier s'ils correspondent à leur propre identifiant ou non. Comme le décodeur d'identifiant ID2 ne reçoit aucune commande de destruction comportant son identifiant, il poursuit son mode de 10 fonctionnement normal 27. Lorsque le décodeur d'identifiant ID5 reçoit la commande de destruction 24 contenant ID5 dans ses paramètres, il reconnaît son propre identifiant et entre alors dans un mode de dégradation de son fonctionnement 28. La manière de réaliser la dégradation des fonctionnalités du décodeur lorsque celui-ci reçoit une commande de destruction selon l'un des modes de réalisation ci-dessus va maintenant être décrite plus en détails. Selon le principe de l'invention, lorsqu'un décodeur d'identifiant ID 20 reçoit une commande de destruction contenant l'identifiant ID dans ses paramètres, le décodeur efface tout ou partie de son logiciel embarqué. Cet effacement est effectué par un module logiciel que nous appellerons " effaceur ", qui est ajouté aux modules logiciels classiques d'un décodeur et qui a pour fonction d'effacer une partie ou l'intégralité du logiciel existant dans 25 le décodeur. Sur la figure 4, nous avons représenté sous forme d'un organigramme schématique le fonctionnement d'un décodeur. Le début 40 se produit lorsque le décodeur sort de son mode de mise en veille (" standby "). Un module 41 " Bootloader" (signifiant " Initialisation du décodeur ") est 30 ensuite appelé. Ce module a pour tâche habituelle de vérifier l'intégrité du logiciel du décodeur et de télécharger un nouveau logiciel dans le cas o le logiciel n'est plus intègre. On lui rajoute selon l'invention une nouvelle fonctionnalité qui consiste à vérifier au préalable que le logiciel n'a pas été effacé par le module effaceur. Ainsi, à l'étape 410, un test est effectué pour vérifier si une partie au moins du logiciel n'a pas été effacée par le module effaceur. Si la réponse à ce test est négative, un test 411 est effectué pour vérifier l'intégrité du logiciel présent. Si celui-ci n'est pas intègre, alors le module " Bootioader " télécharge un nouveau logiciel à l'étape 412 et le procédé se poursuit par un " reset " du décodeur (étape 47) qui consiste à éteindre proprement le décodeur (arrêt intelligent des modules logiciels, remise à zéro de la mémoire RAM,...). On notera également que le " reset " du décodeur provoque un passage en mode " stand-by " et une sortie automatique de ce mode " stand-by ". Lorsque le test 411 révèle que le logiciel est intègre ou lorsque le test 410 révèle qu'au moins une partie du logiciel a été effacée, le procédé se poursuit par l'appel des modules logiciels permettant le fonctionnement nominal du décodeur. Le module décodage audio/vidéo 42 est chargé du décodage des données numériques représentant l'audio et la vidéo. Le module de contrôle d'accès 43 est chargé d'une part de vérifier si le décodeur peut accéder aux données audio/vidéo constituant le programme en fonction des droits acquis par l'utilisateur (par exemple en fonction de son abonnement), et d'autre part du 15 désembrouillage des données audio/vidéo si le programme reçu est embrouillé (ou " crypté " dans la terminologie courante). Le module Interface Utilisateur 44 est quant à lui chargé de la navigation dans les menus du décodeur, notamment pour choisir les programmes ou régler des paramètres du décodeur. On notera que lorsqu'une partie du logiciel a été effacée, naturellement le module correspondant à cette partie n'est appelé. Les trois modules 42, 43 et 44 fonctionnent en parallèle sous la supervision d'un " Operating System " (OS) temps réel (non représenté) qui leur alloue des plages temporelles pour fonctionner. Pendant le fonctionnement nominal du décodeur, un test 45 est également mis en oeuvre pour vérifier si une commande de destruction (telle la commande transmise à l'étape 16 de la figure 2 ou bien les commandes 21 à 26 de la figure 3) a été reçue par le décodeur. Si la réponse à ce test est négative, alors le fonctionnement nominal du décodeur se poursuit. Par contre, si la réponse au test 45 est positive, un module logiciel " Effaceur " 46 est appelé pour détruire tout ou une partie du logiciel embarqué dans le décodeur. Le procédé se poursuit ensuite par un " reset " du décodeur (étape 47), cette étape 47 re-bouclant elle-même sur l'étape de début 40. L'effacement du logiciel embarqué par le module Effaceur 46 peut être complet ou graduel. Un logiciel de décodeur est composé principalement de quatre parties qui sont mémorisées dans une mémoire Flash du décodeur: des modules protégés (par exemple le module " Bootioader " ou le module Effaceur) qui sont stockés dans une zone protégée de la mémoire Flash, c'est à dire dans une zone effaçable uniquement en usine; - un module de décodage audio/vidéo (tel le module 42); - un module de contrôle d'accès (tel le module 43); et - un module d'interface utilisateur (tel le module 44). Les modules de décodage audio/vidéo, de contrôle d'accès et d'interface utilisateur sont stockés quant à eux dans une zone effaçable et réinscriptible de la mémoire Flash. Ils peuvent en effet être mis à jour par 10 téléchargement d'un nouveau logiciel comme cela est effectué à l'étape 412 de la figure 4. Selon le principe de l'invention, lorsque le module Effaceur est appelé, il efface soit complètement, soit graduellement, les modules logiciels stockés dans la partie effaçable de la mémoire. Préférentiellement, on commence par effacer le module de contrôle d'accès. L'utilisateur n'a ainsi plus accès aux programmes embrouillés. Il ne peut accéder qu'aux programmes transmis en clair. On prévoira dans ce cas d'afficher un message explicite à l'utilisateur l'informant de la destruction prochaine de son décodeur s'il ne souscrit pas un 20 nouvel abonnement auprès de l'opérateur. Si une nouvelle commande de destruction est reçue parce que l'utilisateur persiste à ne pas souscrire d'abonnement, alors on efface en second lieu le module d'interface utilisateur, ce qui prive l'utilisateur de toute possibilité de " zapping " et de navigation dans des menus. Enfin, en dernier lieu, le module de décodage audio et vidéo est effacé ce qui met le décodeur hors service. Naturellement les modules logiciels peuvent être effacés dans un ordre différent de celui qui vient d'être décrit. Si un logiciel embarqué dans un décodeur comporte d'autres modules que ceux qui ont été décrits, ils peuvent 30 également être effacés progressivement. REVENDICATIONS 1. Procédé de désactivation à distance d'au moins un décodeur (1) 5 d'accès à des données numériques multimédia fourni par un opérateur de services, le décodeur ayant un identifiant (ID) unique connu de l'opérateur, caractérisé en ce qu'il consiste pour l'opérateur à envoyer, à travers un réseau de communication (3, 4) reliant le décodeur à l'opérateur, une commande de destruction (Cmd (ID, INACTIF)) de tout ou partie du logiciel embarqué dans le 10 décodeur, ladite commande de destruction étant adressée au décodeur d'identifiant unique (ID) spécifié par l'opérateur. 2. Procédé selon la revendication 1, caractérisé en ce que le réseau de communication utilisé pour envoyer la commande de destruction (Cmd (ID, 15 INACTIF)) est un réseau bidirectionnel (4). 3. Procédé selon la revendication 2, caractérisé en ce que ladite commande de destruction n'est envoyée qu'au décodeur auquel elle est adressée. 4. Procédé selon la revendication 1, caractérisé en ce que le réseau de communication utilisé pour envoyer la commande de destruction (Cmd (ID1, INACTIF), Cmd (ID5, INACTIF), Cmd (IDn, INACTIF)) est un réseau mono directionnel (3). 5. Procédé selon la revendication 4, caractérisé en ce que ledit réseau de communication mono directionnel (3) est le réseau de diffusion des données de l'opérateur vers tous les décodeurs et en ce que ladite commande de destruction est envoyée à tous les décodeurs avec les données diffusées 30 par l'opérateur. 6. Décodeur (1) d'accès à des données numériques multimédia caractérisé en ce qu'il comporte un module logiciel effaceur (46) adapté à effacer tout ou partie du logiciel embarqué dans ledit décodeur lorsque le 35 décodeur reçoit une commande de destruction (Cmd (ID, INACTIF)) qui lui est adressée. 7. Décodeur selon la revendication 6 possédant un identifiant unique (ID), caractérisé en ce la commande de destruction reçue contient ledit identifiant unique lorsqu'elle lui est adressée. 8. Décodeur selon l'une des revendications 6 ou 7 comportant un module d'initialisation du décodeur (41) destiné à vérifier (411) l'intégrité du logiciel embarqué et, en cas de vérification négative à télécharger (412) un nouveau logiciel, caractérisé en ce que ledit module d'initialisation est en outre adapté à vérifier (410) qu'une partie au moins du logiciel embarqué dans le 10 décodeur n'a pas été au préalable effacée par ledit module effaceur (46), ledit module d'initialisation ne vérifiant l'intégrité du logiciel embarqué que lorsque aucune partie du logiciel n'a été au préalable effacée. 9. Décodeur selon l'une des revendications 6 à 8, caractérisé en ce 15 que ledit module effaceur efface un module logiciel embarqué dans le décodeur à chaque réception d'une nouvelle commande de destruction adressée audit décodeur. 10. Décodeur selon la revendication 9, caractérisé en ce que les 20 modules logiciels dudit décodeur sont effacés dans l'ordre suivant: le module de contrôle d'accès (43) en premier, - le module d'interface utilisateur (44) en second; et - le module de décodage audio/vidéo (45) en troisième.