FR2876859A1 - METHOD AND SYSTEM FOR CONTROLLING ENABLING INTERNAL SOFTWARE ENABLING A RECEIVER TERMINAL - Google Patents

METHOD AND SYSTEM FOR CONTROLLING ENABLING INTERNAL SOFTWARE ENABLING A RECEIVER TERMINAL Download PDF

Info

Publication number
FR2876859A1
FR2876859A1 FR0411012A FR0411012A FR2876859A1 FR 2876859 A1 FR2876859 A1 FR 2876859A1 FR 0411012 A FR0411012 A FR 0411012A FR 0411012 A FR0411012 A FR 0411012A FR 2876859 A1 FR2876859 A1 FR 2876859A1
Authority
FR
France
Prior art keywords
terminal
server
software applications
download
control server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0411012A
Other languages
French (fr)
Other versions
FR2876859B1 (en
Inventor
Fabien Lloansi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Viaccess SAS
Original Assignee
Viaccess SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Viaccess SAS filed Critical Viaccess SAS
Priority to FR0411012A priority Critical patent/FR2876859B1/en
Priority to EP05809248A priority patent/EP1803297A1/en
Priority to CN 200580035662 priority patent/CN101044758A/en
Priority to PCT/FR2005/002495 priority patent/WO2006042932A1/en
Priority to TW094135672A priority patent/TW200627956A/en
Publication of FR2876859A1 publication Critical patent/FR2876859A1/en
Application granted granted Critical
Publication of FR2876859B1 publication Critical patent/FR2876859B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17345Control of the passage of the selected programme

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne le contrôle d'habilitation d'un terminal récepteur de télévision (4), qui communique avec un serveur (2) distant par une liaison bidirectionnelle (81-82), et reçoit par ailleurs un flux multimédia encodé. Dans l'invention, on stocke des informations d'habilitation du terminal auprès du serveur et auprès du terminal. Ainsi, à la mise sous tension du terminal, le terminal établit automatiquement une connexion vers le serveur, lequel récupère au moins une partie des informations d'habilitation stockées dans le terminal et vérifie une concordance avec les informations d'habilitation stockées auprès du serveur. En fonction de cette vérification, le serveur autorise ou non un téléchargement, vers le terminal, des applications logicielles pour le décodage du flux multimédia.The invention relates to the authorization control of a television receiver terminal (4), which communicates with a remote server (2) by a bidirectional link (81-82), and also receives an encoded multimedia stream. In the invention, terminal authorization information is stored with the server and with the terminal. Thus, when the terminal is powered on, the terminal automatically establishes a connection to the server, which retrieves at least part of the authorization information stored in the terminal and verifies that it matches the authorization information stored with the server. Depending on this verification, the server authorizes or not a download, to the terminal, of software applications for decoding the multimedia stream.

Description

Procédé et installation de contrôle d'habilitation duMethod and facility for enabling control of the

logiciel interne d'un terminal récepteur L'invention concerne le contrôle d'habilitation du logiciel interne de terminaux récepteurs de flux multimédia à accès contrôlé, notamment de terminaux désembrouilleurs/décodeurs de télévision payante.  The invention relates to the enabling control of the internal software of controlled access multimedia stream receiving terminals, in particular of descrambler terminals / pay television decoders.

Dans les terminaux récepteurs de données multimédias, notamment de données de télévision payante, on prévoit habituellement un processeur de sécurité (tel qu'une carte à puce), intégré dans le récepteur ou connecté à celui-ci. Ce processeur de sécurité contrôle l'accès aux données traitées par le récepteur, typiquement en autorisant ou interdisant le désembrouillage ou le décodage de ces données selon la conformité du récepteur à des critères d'accès attachés à ces données. Le processeur de sécurité permet en outre de vérifier l'habilitation du terminal récepteur à traiter les données, souvent en mettant en oeuvre une procédure d'authentification. Si le processeur de sécurité a bien vérifié que le terminal était habilité, il autorise l'exécution d'applications logicielles spécifiques permettant de désembrouiller/décoder le flux multimédia que reçoit le terminal. En revanche, si le terminal n'est pas habilité, le processeur de sécurité inhibe l'exécution des applications logicielles précitées.  In multimedia data receiving terminals, particularly pay television data, there is usually a security processor (such as a smart card) integrated in the receiver or connected thereto. This security processor controls access to the data processed by the receiver, typically by allowing or prohibiting the descrambling or decoding of this data according to the compliance of the receiver with access criteria attached to this data. The security processor also makes it possible to verify the authorization of the receiving terminal to process the data, often by implementing an authentication procedure. If the security processor has verified that the terminal was enabled, it allows the execution of specific software applications to descramble / decode the media stream that receives the terminal. On the other hand, if the terminal is not enabled, the security processor inhibits the execution of the aforementioned software applications.

On indique que certains terminaux peuvent décoder les données multimédias (par exemple mener un décodage en compression de données audiovisuelles au format MPEG ou autre) à condition d'activer des fonctions internes de décodage. L'activation ou l'inhibition de ces fonctions de décodage sont conditionnées notamment par la vérification de la validité ou de l'invalidité, respectivement, des droits d'accès associés au terminal. Par ailleurs, des données multimédias telles que des données audiovisuelles peuvent être volontairement embrouillées, préalablement à la diffusion. Les fonctions de désembrouillage des données, auprès du terminal, peuvent être alors activées ou inhibées selon la vérification de la validité ou de l'invalidité des droits d'accès associés au terminal. Ci-après, on désignera indistinctement par les termes "désembrouillage" et/ou "décodage" les fonctions dont l'exécution ou l'inhibition sont conditionnées par la validité ou l'invalidité des droits d'accès.  Some terminals are said to be able to decode the multimedia data (for example, to decode in compression of audiovisual data in MPEG or other format) provided that internal decoding functions are activated. Activation or inhibition of these decoding functions are conditioned in particular by checking the validity or invalidity, respectively, of the access rights associated with the terminal. Moreover, multimedia data such as audiovisual data may be deliberately entangled, prior to broadcast. The data descrambling functions at the terminal can then be activated or inhibited according to the verification of the validity or invalidity of the access rights associated with the terminal. Hereinafter, the terms "descrambling" and / or "decoding" will be used to denote the functions whose execution or inhibition is conditioned by the validity or invalidity of the access rights.

Les terminaux, ainsi que les processeurs de sécurité qu'ils comportent, à disposition des usagers, ne se sont pas toujours avérés inviolables et des fraudes (notamment par falsification des codes d'authentification par des usagers malveillants) sont toujours possibles.  Terminals, as well as the security processors they contain, available to users, have not always proved inviolable and fraud (including forgery of authentication codes by malicious users) are always possible.

De plus, il est souvent difficile, pour les opérateurs fournisseurs de contenus, de contrôler le parc des terminaux à disposition des usagers, ainsi que les versions (autorisées ou, au contraire, pirates) des applications logicielles installées dans les terminaux.  In addition, it is often difficult for content provider operators to control the pool of terminals available to users, as well as the versions (authorized or, on the contrary, hackers) of the software applications installed in the terminals.

Par ailleurs, avec le développement récent des applications multimédias interactives, notamment en contexte de télévision payante, nombreux sont aujourd'hui les terminaux équipés d'une voie de retour vers un ou plusieurs serveur(s) distant(s). Plus particulièrement, une liaison totalement bidirectionnelle entre serveur et terminal, par exemple de type xDSL (pour "Digital Subscriber Line"), s'est avérée avantageuse dans certaines applications récentes. Une telle liaison bidirectionnelle est à distinguer d'une simple voie de retour classique, par exemple de type RTC/IP.  Moreover, with the recent development of interactive multimedia applications, particularly in the context of pay television, many are today terminals equipped with a return path to one or more remote server (s). More specifically, a completely bi-directional link between server and terminal, for example of xDSL type (for "Digital Subscriber Line") has proved advantageous in some recent applications. Such a bidirectional link is to be distinguished from a simple conventional return channel, for example of the RTC / IP type.

La présente invention entend tirer parti de ces moyens de communication vers des serveurs distants, dont sont déjà équipés la plupart des terminaux récepteurs, pour résoudre substantiellement les problèmes rencontrés dans l'art antérieur et indiqués ci-avant.  The present invention intends to take advantage of these means of communication to remote servers, which are already equipped most receiver terminals, to substantially solve the problems encountered in the prior art and indicated above.

A cet effet, elle propose d'abord un procédé de contrôle d'habilitation d'au moins un terminal récepteur d'un flux multimédia, dans lequel le terminal est agencé : d'une part, pour communiquer avec au moins un serveur distant par une liaison bidirectionnelle, et - d'autre part, pour recevoir un flux multimédia et désembrouiller/décoder ce flux par l'exécution d'applications logicielles spécifiques.  For this purpose, it firstly proposes a method of enabling control of at least one receiving terminal of a multimedia stream, in which the terminal is arranged: firstly, to communicate with at least one remote server by a bidirectional link, and - on the other hand, to receive a multimedia stream and descramble / decode this stream by the execution of specific software applications.

Au sens de l'invention, le serveur distant précité est un 25 serveur de contrôle de téléchargement des applications logicielles précitées vers le terminal.  Within the meaning of the invention, the aforementioned remote server is a download control server of the aforementioned software applications to the terminal.

Le procédé selon l'invention comporte alors les étapes suivantes.  The method according to the invention then comprises the following steps.

a) on stocke des informations d'habilitation du terminal auprès du serveur de contrôle de téléchargement et auprès du terminal, b) à la mise sous tension du terminal, le terminal établit automatiquement une connexion vers le serveur de contrôle de téléchargement, c) le serveur de contrôle de téléchargement récupère au moins une partie des informations d'habilitation stockées auprès du terminal et vérifie une concordance avec les informations d'habilitation stockées auprès du serveur, et d) au moins en fonction de cette vérification faite par le serveur de contrôle de téléchargement, ce dernier autorise ou non un téléchargement vers le terminal des applications logicielles spécifiques pour le désembrouillage/décodage du flux multimédia.  a) storing device authorization information is stored at the download control server and at the terminal, b) when the terminal is turned on, the terminal automatically establishes a connection to the download control server, c) the download control server retrieves at least a portion of the authorization information stored at the terminal and verifies a match with the authorization information stored with the server, and d) at least based on this check by the control server download, the latter authorizes or not a download to the terminal specific software applications for descrambling / decoding the multimedia stream.

Ainsi, on comprendra que l'autorisation de télécharger les applications logicielles de désembrouillage/décodage est donnée au niveau du serveur de contrôle de téléchargement, et non plus au niveau du terminal récepteur comme dans la technique de l'art antérieur.  Thus, it will be understood that the authorization to download the descrambling / decoding software applications is given at the level of the download control server, and no longer at the receiving terminal as in the prior art technique.

La présente invention offre alors de nombreux avantages. 25 Elle offre déjà une possibilité d'évolution du contrôle d'habilitation dans la mesure où les conditions de téléchargement, basées sur les informations d'habilitation présentes dans le terminal, sont fixées par l'opérateur responsable du serveur précité. Ces conditions peuvent donc évoluer dans le temps selon le souhait de l'opérateur. Or, dans la technique de l'art antérieur, les conditions de téléchargement sont définies dans le terminal récepteur, et ne peuvent plus évoluer.  The present invention then offers many advantages. It already offers a possibility of evolution of the authorization control insofar as the download conditions, based on the authorization information present in the terminal, are fixed by the operator responsible for the aforementioned server. These conditions can therefore evolve over time according to the wishes of the operator. However, in the art of the prior art, the download conditions are defined in the receiving terminal, and can not evolve.

Ainsi, alors que le téléchargement d'une éventuelle nouvelle version des applications logicielles de désembrouillage/décodage était soumis, dans l'art antérieur, à des règles de sécurité qui dépendaient uniquement du terminal (notamment de son processeur de sécurité), ces règles de sécurité peuvent ne plus être figées pour chaque terminal et peuvent évoluer dans le temps, grâce à la mise en oeuvre du procédé selon l'invention. En effet, en déportant les fonctions d'habilitation vers un serveur de contrôle de téléchargement distant, dédié notamment au contrôle d'habilitation des terminaux, il suffit de mettre à jour ces règles de sécurité directement auprès de ce serveur, sans avoir à intervenir auprès des terminaux. On comprendra donc que l'opérateur responsable des contrôles d'habilitation effectués par le serveur de contrôle de téléchargement peut mettre à jour les applications logicielles et/ou les règles de sécurité en une seule intervention sur ce serveur.  Thus, while the downloading of a possible new version of the descrambling / decoding software applications was subject, in the prior art, to security rules that depended solely on the terminal (in particular its security processor), these rules security can no longer be fixed for each terminal and can change over time, thanks to the implementation of the method according to the invention. Indeed, by deporting the authorization functions to a remote download control server, dedicated in particular to the authorization control of the terminals, it is sufficient to update these security rules directly with this server, without having to intervene with terminals. It will thus be understood that the operator responsible for the authorization checks carried out by the download control server can update the software applications and / or the security rules in a single intervention on this server.

Par ailleurs, l'étape de téléchargement des applications peut être mise à profit pour obtenir des informations sur les terminaux, telles que des statistiques sur leur configuration et leur utilisation. En effet, on comprendra que, par la mise en oeuvre du procédé selon l'invention, l'opérateur peut contrôler les téléchargements, notamment le nombre de téléchargements pour un même terminal, faire par exemple de la mesure d'audience, évaluer la migration des processeurs de sécurité (par exemple sous forme de cartes à puces) sur un parc de terminaux, ou autres.  In addition, the step of downloading the applications can be used to obtain information on the terminals, such as statistics on their configuration and their use. Indeed, it will be understood that, by implementing the method according to the invention, the operator can control the downloads, including the number of downloads for the same terminal, for example, the audience measurement, evaluate the migration security processors (for example in the form of smart cards) on a fleet of terminals, or others.

Ainsi, dans un mode de réalisation avantageux, le serveur comporte une base de données stockant des informations d'habilitation de plusieurs terminaux et des applications logicielles spécifiques aux terminaux, en correspondance d'au moins des identifiants respectifs de terminaux, pour la gestion d'un parc de terminaux récepteurs à disposition d'usagers.  Thus, in an advantageous embodiment, the server comprises a database storing authorization information of several terminals and terminal-specific software applications, in correspondence of at least respective terminal identifiers, for the management of the terminal. a fleet of receiving terminals available to users.

Pour assurer une mise à jour régulière des applications logicielles de désembrouillage/décodage auprès des terminaux, à l'étape d) , le serveur transmet préférentiellement au terminal une nouvelle version des applications logicielles la plus adaptée à ce terminal, le cas échéant. Par exemple, la version la plus adaptée peut être la version qui est disponible auprès du serveur et qui est la plus récente, selon la modernité du terminal.  To ensure a regular update of the descrambling / decoding software applications to the terminals, in step d), the server preferably transmits to the terminal a new version of the software applications most suitable for this terminal, if necessary. For example, the most suitable version may be the version that is available from the server and is the most recent, depending on the modernity of the terminal.

Dans un mode de réalisation particulier, les applications logicielles comportent au moins un système d'exploitation (ou "Operating System" en vocable anglo-saxon) des ressources informatiques du terminal.  In a particular embodiment, the software applications include at least one operating system (or "operating system" in English) for the terminal's computing resources.

Avantageusement, les applications logicielles précitées comportent une application pour le désembrouillage/décodage du flux multimédia.  Advantageously, the aforementioned software applications include an application for descrambling / decoding the multimedia stream.

Dans un premier mode de réalisation, le terminal stocke, à l'étape d), les applications logicielles téléchargées du serveur dans une mémoire volatile, à chaque démarrage du terminal, typiquement lors d'une mise sous tension. De façon particulièrement avantageuse, aucune desdites applications n'est résidente dans le terminal. On contrôle ainsi, à partir du serveur de contrôle de téléchargement distant, toutes les applications logicielles de désembrouillage/décodage utilisées par les terminaux, avec un risque de fraude pratiquement nul.  In a first embodiment, the terminal stores, in step d), the software applications downloaded from the server to a volatile memory, each startup of the terminal, typically during a power up. In a particularly advantageous manner, none of said applications is resident in the terminal. Thus, from the remote download control server, all the descrambling / decoding software applications used by the terminals are checked, with a risk of fraud practically nil.

Dans un second mode de réalisation, le terminal stocke les applications logicielles reçues du serveur de contrôle de téléchargement dans une mémoire permanente, typiquement dans une mémoire flash ou E2Prom. On comprendra ainsi que, dans ce mode de réalisation, le téléchargement des applications logicielles n'est pas systématique mais s'effectue de préférence pour une mise à jour des applications.  In a second embodiment, the terminal stores the software applications received from the download control server in a permanent memory, typically in a flash memory or E2Prom. It will thus be understood that, in this embodiment, the downloading of the software applications is not systematic but is preferably performed for an update of the applications.

Avantageusement, dans ce second mode de réalisation, le serveur de contrôle de téléchargement peut vérifier en outre une cohérence avec le terminal de la version des applications logicielles qui est stockée dans la mémoire permanente du terminal. A cet effet, le serveur peut archiver, typiquement dans la base de données stockant les informations d'habilitation des terminaux, les versions qui devraient être installées auprès des différents terminaux. Préférentiellement, lors de sa première mise en service, un terminal se connecte au serveur de contrôle de téléchargement pour signifier audit serveur la version qu'il a en mémoire. Le serveur de contrôle de téléchargement archive alors une référence de la version enregistrée dans ce terminal, préférentiellement dans une base de données appropriée. Ensuite, pendant les connexions suivantes, le serveur de contrôle de téléchargement lit la version effectivement installée et la compare avec celle archivée dans sa base de données.  Advantageously, in this second embodiment, the download control server can also check consistency with the terminal of the software application version which is stored in the permanent memory of the terminal. For this purpose, the server can archive, typically in the database storing the authorization information of the terminals, the versions that should be installed at the different terminals. Preferably, when it is first put into service, a terminal connects to the download control server to signify to the server the version it has in memory. The download control server then archives a reference of the version stored in this terminal, preferably in an appropriate database. Then, during the following connections, the download control server reads the version actually installed and compares it with the version archived in its database.

Ainsi, on comprendra que, avantageusement, le serveur de contrôle peut vérifier en outre une cohérence de la version des applications logicielles qui est stockée dans la mémoire permanente du terminal. En particulier, si la version installée diffère de celle archivée, le serveur de contrôle de téléchargement peut transmettre au terminal un ordre de blocage du terminal ou, le cas échéant, mettre à jour la version installée. En particulier, si une version plus appropriée doit remplacer celle stockée dans le terminal, le serveur de contrôle de téléchargement transmet avantageusement au terminal cette nouvelle version des applications logicielles.  Thus, it will be understood that, advantageously, the control server can further verify a consistency of the version of the software applications that is stored in the permanent memory of the terminal. In particular, if the installed version differs from the archived version, the download control server can transmit to the terminal a blocking order of the terminal or, if necessary, update the installed version. In particular, if a more appropriate version must replace the one stored in the terminal, the download control server advantageously transmits to the terminal this new version of the software applications.

Dans une réalisation préférée, les informations d'habilitation précitées comportent des données d'authentification. Dans cette réalisation, à l'étape c), le serveur de contrôle de téléchargement authentifie le terminal par une procédure mettant en oeuvre d'une part une clé publique fournie par le terminal et d'autre part une clé privée correspondante tirée des données stockées auprès du serveur.  In a preferred embodiment, the aforementioned entitlement information includes authentication data. In this embodiment, in step c), the download control server authenticates the terminal by a procedure implementing on the one hand a public key provided by the terminal and on the other hand a corresponding private key derived from the stored data. from the server.

Préférentiellement, le procédé prévoit une authentification mutuelle du serveur de contrôle de téléchargement et du terminal, par une procédure mettant en uvre, via la liaison bidirectionnelle, les clés publiques du terminal et du serveur et les clés privées respectives, tirées des données stockées auprès du serveur et du terminal.  Preferably, the method provides for mutual authentication of the download control server and the terminal, by a procedure implementing, via the bidirectional link, the public keys of the terminal and the server and the respective private keys, derived from the data stored at the terminal. server and terminal.

A cet effet, le terminal comporte avantageusement un processeur de sécurité dans lequel on stocke initialement les données d'authentification du terminal vis-à-vis du serveur de contrôle de téléchargement. On peut prévoir typiquement une carte à puce, en tant que composant de sécurité, installée auprès du terminal, afin d'améliorer la sécurité du téléchargement. Avantageusement, on conserve ainsi, pour l'essentiel, la structure physique (hardware) classique des terminaux récepteurs existants et qui utilisent déjà ce type de processeurs de sécurité. Préférentiellement, on prévoit aussi un processeur de sécurité sensiblement homologue auprès du serveur de contrôle de téléchargement pour qu'il assure le contrôle d'habilitation.  For this purpose, the terminal advantageously comprises a security processor in which the authentication data of the terminal is initially stored vis-à-vis the download control server. Typically, a smart card can be provided as a security component installed at the terminal to improve the security of the download. Advantageously, thus retains, for the most part, the classical physical structure (hardware) of existing receiver terminals and which already use this type of security processors. Preferentially, there is also a substantially homologous security processor with the download control server to perform the authorization check.

Avantageusement, le procédé prévoit en outre une procédure de vérification d'intégrité des données d'applications logicielles transmises au terminal, avec, de préférence, une vérification d'authenticité de l'émetteur des données d'applications logicielles.  Advantageously, the method also provides a procedure for verifying the integrity of the software application data transmitted to the terminal, preferably with a verification of the authenticity of the issuer of the software application data.

Avantageusement, on stocke initialement des programmes informatiques respectifs dans le terminal, d'une part, et auprès du serveur de contrôle de téléchargement, d'autre part, en mémoire permanente. Ces programmes permettent essentiellement: - d'établir d'abord une communication entre le serveur de 5 contrôle de téléchargement et le terminal, - vérifier, côté serveur de contrôle, l'habilitation du terminal, - et, côté terminal, télécharger éventuellement les applications logicielles précitées.  Advantageously, the respective computer programs are initially stored in the terminal, on the one hand, and on the download control server, on the other hand, in permanent memory. These programs essentially make it possible: - to first establish a communication between the download control server and the terminal, - check, on the control server side, the authorization of the terminal, - and, on the terminal side, to possibly download the applications aforementioned software.

Ainsi, pour le terminal, on prévoit préférentiellement les étapes initiales suivantes: al) on équipe le terminal de ressources informatiques pour lire une routine de démarrage, a2) on prévoit une routine de démarrage incluant au moins une instruction de connexion du terminal vers le serveur, a3) et on stocke cette routine de démarrage dans une mémoire permanente du terminal.  Thus, for the terminal, the following initial steps are preferably provided: al) the computer resource terminal is equipped to read a start-up routine, a2) a startup routine is provided that includes at least one connection instruction from the terminal to the server , a3) and this startup routine is stored in a permanent memory of the terminal.

A ce titre, la présente invention vise un produit programme informatique, destiné à être stocké dans une mémoire permanente d'un terminal récepteur, et comportant ainsi une routine de démarrage du terminal, pour la mise en oeuvre de tout ou partie des étapes du procédé selon l'invention.  As such, the present invention is directed to a computer program product, intended to be stored in a permanent memory of a receiving terminal, and thus comprising a startup routine of the terminal, for the implementation of all or part of the process steps. according to the invention.

Pour le serveur, on prévoit préférentiellement les étapes initiales suivantes.  For the server, the following initial steps are preferably provided.

a'l) on équipe le serveur de ressources informatiques pour lire une routine de téléchargement d'applications logicielles vers le terminal, a'2) on prévoit une routine de téléchargement incluant au 5 moins une instruction de vérification d'habilitation du terminal, a'3) et on stocke cette routine de téléchargement dans une mémoire permanente du serveur.  a'l) the computer resource server is equipped to read a software application download routine to the terminal, a'2) a download routine including at least one terminal enabling verification instruction is provided; '3) and stores this download routine in a permanent memory of the server.

A ce titre, la présente invention vise aussi un produit programme informatique, destiné maintenant à être stocké dans une mémoire permanente d'un serveur de contrôle de téléchargement d'applications logicielles pour le désembrouillage/décodage d'un flux multimédia, et comportant ainsi une routine de contrôle de téléchargement d'applications logicielles, pour la mise en oeuvre de tout ou partie des étapes du procédé selon l'invention.  As such, the present invention also aims a computer program product, now intended to be stored in a permanent memory of a software application download control server for descrambling / decoding a multimedia stream, and thus comprising a download software application control routine, for the implementation of all or part of the steps of the method according to the invention.

La présente invention s'applique avantageusement à la distribution de contenus multimédias, notamment de contenus de télévision payante, sur un réseau bidirectionnel à large bande (de l'anglais "broadband network"), permettant une délivrance de contenus allant au-delà de la simple diffusion de signaux de télévision sur un réseau mono-directionnel (ou "broadcast network" en vocable anglo-saxon).  The present invention is advantageously applicable to the distribution of multimedia content, including pay television content, over a bidirectional broadband network (broadband network), allowing content to be delivered beyond the broadband network. simple broadcast of television signals on a mono-directional network (or "broadcast network" in English terms).

A titre d'exemple non limitatif, la distribution précitée des contenus multimédias peut s'effectuer en mode "point à 30 point" (ou "peer-topeer").  By way of non-limiting example, the aforementioned distribution of the multimedia contents can be performed in "point-to-point" (or "peer-topeer") mode.

A ce titre, la présente invention vise aussi une telle application du procédé au sens de l'invention.  As such, the present invention also aims at such an application of the method within the meaning of the invention.

La présente invention vise aussi un système de contrôle d'habilitation pour le téléchargement d'applications logicielles, notamment pour le désembrouillage/décodage d'un flux multimédia tel qu'un flux audiovisuel de télévision, comportant au moins: - un serveur de contrôle de téléchargement desdites 10 applications logicielles, et un terminal récepteur, d'une part relié au serveur de contrôle de téléchargement par une liaison bidirectionnelle pour télécharger lesdites applications logicielles, et agencé d'autre part pour recevoir le flux multimédia et désembrouiller/décoder ce flux par l'exécution des applications logicielles précitées.  The present invention also aims at an authorization control system for downloading software applications, in particular for descrambling / decoding a multimedia stream such as an audiovisual television stream, comprising at least: a control server of downloading said software applications, and a receiving terminal, on the one hand connected to the download control server by a bidirectional link for downloading said software applications, and arranged on the other hand to receive the multimedia stream and descramble / decode this stream by the execution of the aforementioned software applications.

Le terminal du système au sens de l'invention comporte des ressources informatiques pour: - stocker des premières informations d'habilitation du terminal, stocker et lire un programme informatique de démarrage comportant au moins une instruction de connexion automatique vers le serveur lors de la mise sous tension du terminal.  The terminal of the system within the meaning of the invention comprises computer resources for: storing the first terminal authorization information, storing and reading a startup computer program including at least one automatic connection instruction to the server when setting power on the terminal.

De son côté, le serveur de contrôle de téléchargement du système au sens de l'invention comporte des ressources informatiques pour: - stocker des secondes informations d'habilitation du terminal, - stocker et lire un programme informatique de téléchargement des applications logicielles comportant au moins: o une instruction de lecture des premières et 5 secondes informations d'habilitation, o un test de vérification de cohérence entre les premières et secondes informations d'habilitation, o et une instruction de téléchargement des applications logicielles, conditionnée au moins 10 par ledit test.  For its part, the download control server of the system within the meaning of the invention comprises computer resources for: storing second terminal authorization information; storing and reading a computer program for downloading software applications comprising at least : o a read instruction of the first and 5 second authorization information, o a consistency check test between the first and second authorization information, o and a download instruction software applications, conditioned at least 10 by said test .

Dans la réalisation préférée où une authentification du terminal est menée, les premières et secondes informations d'habilitation comportent respectivement des premières et secondes données d'authentification. Le programme de démarrage du terminal comporte au moins une instruction pour former et communiquer au serveur des données d'authentification du terminal par une procédure mettant en oeuvre une clé publique tirée des premières données d'authentification. Le programme de téléchargement du serveur comporte au moins une instruction pour vérifier les données d'authentification du terminal par une procédure mettant en oeuvre une clé privée tirée des secondes données d'authentification. Le test précité peut comporter alors une instruction de vérification de cohérence entre la clé publique et la clé privée, à la manière d'une procédure classique d'authentification en cryptographie. On peut citer, à titre d'exemple aucunement limitatif, une procédure d'authentification utilisant l'algorithme de cryptographie dit "RSA" (pour "Rivest Shamir Adleman").  In the preferred embodiment where authentication of the terminal is conducted, the first and second enabling information respectively comprise first and second authentication data. The terminal startup program comprises at least one instruction for forming and communicating to the server authentication data of the terminal by a procedure implementing a public key derived from the first authentication data. The server download program includes at least one instruction for verifying the authentication data of the terminal by a procedure implementing a private key derived from the second authentication data. The aforementioned test may then comprise a consistency check instruction between the public key and the private key, in the manner of a conventional cryptographic authentication procedure. There may be mentioned, by way of non-limiting example, an authentication procedure using the "RSA" ("Rivest Shamir Adleman") cryptography algorithm.

Dans le cadre d'une authentification mutuelle du terminal et du serveur, les programmes de démarrage du terminal et de téléchargement du serveur comportent avantageusement des instructions d'authentification homologues, avec échange et vérification de cohérence de données d'authentification obtenues par une procédure mettant en oeuvre des clés publiques transmises via la liaison bidirectionnelle et des clés privées respectives, tirées des premières et secondes données d'authentification.  In the context of mutual authentication of the terminal and the server, the terminal startup and server download programs advantageously comprise homologous authentication instructions, with exchange and verification of consistency of authentication data obtained by a procedure implementing public keys transmitted via the bidirectional link and respective private keys, derived from the first and second authentication data.

Outre les caractéristiques préférentielles du procédé au sens de l'invention, propres au terminal récepteur et au serveur de contrôle de téléchargement, décrites ci-avant et que l'on peut retrouver avantageusement dans le système au sens de l'invention, la liaison bidirectionnelle entre le terminal et le serveur de contrôle de téléchargement est de préférence de type xDSL (pour "Digital Subscriber Line"). On comprendra néanmoins que la présente invention peut s'adapter à toute autre technologie de réseau bidirectionnel.  In addition to the preferred characteristics of the method in the sense of the invention, specific to the receiving terminal and the download control server, described above and that can advantageously be found in the system within the meaning of the invention, the bidirectional link between the terminal and the download control server is preferably of type xDSL (for "Digital Subscriber Line"). It will be understood, however, that the present invention can be adapted to any other bidirectional network technology.

La présente invention vise aussi le terminal récepteur du système au sens de l'invention.  The present invention also relates to the receiver terminal of the system within the meaning of the invention.

Elle vise aussi le serveur de contrôle de téléchargement et de contrôle d'habilitation du système au sens de l'invention.  It also refers to the download control server and control system empowerment within the meaning of the invention.

D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée, donnée ci-après à titre d'exemple non limitatif, et des dessins annexés sur lesquels: - la figure 1 représente un exemple d'architecture du système au sens de l'invention, la figure 2a représente schématiquement les éléments d'un serveur de contrôle de téléchargement et de contrôle d'habilitation au sens de l'invention, - la figure 2b représente schématiquement la structure d'un terminal récepteur au sens de l'invention, - la figure 3 représente schématiquement la structure d'une mémoire flash du terminal, selon une réalisation particulière de l'invention, et - la figure 4 représente une réalisation préférée des différentes étapes menées par un procédé au sens de 15 l'invention.  Other features and advantages of the invention will appear on examining the detailed description given hereinafter by way of non-limiting example, and the attached drawings in which: FIG. 1 represents an example of an architecture of the In the sense of the invention, FIG. 2a schematically represents the elements of a download control and entitlement control server in the sense of the invention; FIG. 2b schematically represents the structure of a receiver terminal at 3 shows schematically the structure of a flash memory of the terminal, according to a particular embodiment of the invention, and FIG. 4 represents a preferred embodiment of the various steps carried out by a method in the sense of The invention.

On se réfère tout d'abord à la figure 1 pour décrire le système au sens de l'invention, dans l'architecture d'un réseau de télévision numérique, dans l'exemple représenté.  We first refer to Figure 1 to describe the system within the meaning of the invention, in the architecture of a digital television network, in the example shown.

Le système comporte un réseau bidirectionnel 3 pour relier un terminal récepteur 4 à un serveur 2 de contrôle de téléchargement et de contrôle d'habilitation du terminal. Le terminal 4 et ce serveur 2 sont reliés par une liaison bidirectionnelle 81-82.  The system comprises a bidirectional network 3 for connecting a receiving terminal 4 to a server 2 for downloading control and enabling control of the terminal. The terminal 4 and this server 2 are connected by a bidirectional link 81-82.

De manière générale, on indique que la présente invention offre le contrôle de la mise en marche d'un terminal récepteur de télévision numérique 4, ainsi que le téléchargement sécurisé et adapté auprès du terminal 4 d'une version d'applications logicielles notamment pour le désembrouillage/décodage. De préférence, à chaque démarrage, le terminal, relié au réseau 3 effectue une connexion vers le serveur de contrôle du téléchargement 2. Après une authentification mutuelle des deux entités 4 et 2, grâce aux processeurs de sécurité 5 et 6 dans l'exemple décrit, le serveur de contrôle 2 récupère des informations présentes sur le terminal 4 et sur le processeur de sécurité 6. Le serveur de contrôle 2 analyse ces informations et autorise ou non la poursuite du processus de démarrage. Les critères qui permettent de définir si un terminal récepteur est autorisé ou non à poursuivre la séquence de démarrage sont avantageusement modifiables auprès du serveur de contrôle 2 pour permettre une souplesse maximum.  In general, it is indicated that the present invention provides the control of the start-up of a digital television receiver terminal 4, as well as the secure and adapted downloading from the terminal 4 of a software application version, in particular for the descrambling / decoding. Preferably, at each start, the terminal connected to the network 3 makes a connection to the download control server 2. After mutual authentication of the two entities 4 and 2, thanks to the security processors 5 and 6 in the example described , the control server 2 retrieves information present on the terminal 4 and on the security processor 6. The control server 2 analyzes this information and allows or not the continuation of the startup process. The criteria that make it possible to define whether a receiving terminal is authorized or not to continue the start-up sequence are advantageously modifiable with the control server 2 to allow maximum flexibility.

En particulier, le serveur 2 peut autoriser ou non le téléchargement d'une version des applications logicielles vers le terminal récepteur. Le serveur 2 mémorise avantageusement toutes les informations afin d'effectuer des statistiques sur les terminaux récepteurs présents sur le réseau 3. La mise en marche complète du terminal permet ensuite d'accéder aux programmes de télévision diffusés par exemple par un autre serveur portant la référence 1 sur la figure 1, qui, lui, assure la distribution des contenus multimédias, avec, par exemple une diffusion des programmes audiovisuels de télévision.  In particular, the server 2 can authorize or not the download of a version of the software applications to the receiving terminal. The server 2 advantageously stores all the information in order to perform statistics on the receiving terminals present on the network 3. The complete start-up of the terminal then makes it possible to access the television programs broadcast for example by another server with the reference 1 in Figure 1, which, he, ensures the distribution of multimedia content, with, for example, a broadcast of audiovisual television programs.

En se référant à la figure 1, ce serveur de distribution multimédia 1 diffuse les programmes de télévision (flèche 7), via le réseau 3 dans l'exemple représenté. Ce serveur 1 est géré par l'opérateur qui diffuse les programmes.  Referring to FIG. 1, this multimedia distribution server 1 broadcasts the television programs (arrow 7), via the network 3 in the example represented. This server 1 is managed by the operator who broadcasts the programs.

Ce serveur 1 de distribution multimédia peut être distinct ou non du serveur 2 de contrôle de téléchargement au sens de l'invention.  This multimedia distribution server 1 may or may not be distinct from the download control server 2 within the meaning of the invention.

On retiendra surtout que le serveur de contrôle 2 réalise le contrôle du terminal récepteur 4 et, plus particulièrement, le téléchargement éventuel des applications logicielles, de désembrouillage/décodage notamment. L'équipement 2 est donc appelé ci- après "serveur de contrôle de téléchargement". Ce serveur 2 est géré par l'opérateur et/ou le fournisseur du contrôle d'accès.  It will be noted that the control server 2 carries out the control of the receiver terminal 4 and, more particularly, the possible download of the software applications, in particular descrambling / decoding. The equipment 2 is hereinafter called "download control server". This server 2 is managed by the operator and / or the access control provider.

Bien qu'un seul terminal soit représenté sur la figure 1, on indique que le système au sens de l'invention peut inclure plusieurs terminaux 4, recevant le flux multimédia 7, contenant par exemple les données de télévision numérique à désembrouiller/décoder. De même, on peut prévoir aussi plusieurs serveurs de contrôle de téléchargement 2, ainsi que plusieurs serveurs 1 de diffusion des programmes, pour un même terminal à disposition d'un usager abonné à plusieurs services de télévision numérique.  Although a single terminal is shown in Figure 1, it is indicated that the system within the meaning of the invention may include several terminals 4, receiving the multimedia stream 7, for example containing the digital television data to be descrambled / decoded. Similarly, it is also possible to provide several download control servers 2, as well as several broadcast servers 1, for the same terminal available to a user subscribing to several digital television services.

On rappelle que tous les équipements de la figure 1 sont reliés par le réseau 3 préférentiellement par une liaison bidirectionnelle à haut débit, par exemple une liaison filaire telle qu'une liaison xDSL.  It is recalled that all the equipment of Figure 1 are connected by the network 3 preferably by a high speed bidirectional link, for example a wired link such as an xDSL link.

En se référant à la figure 2a, le serveur de contrôle de téléchargement 2 comporte: - un ou plusieurs processeurs de sécurité 5 pour assurer la sécurité de la connexion et du téléchargement vers le terminal, - une base de données 21 pour stocker notamment des données d'habilitation d'une pluralité de terminaux récepteurs 4, en correspondance d'identifiants respectifs, afin de gérer avantageusement tout un parc de terminaux à disposition d'usagers, - des moyens de traitement, tels qu'un processeur 22 pour mettre en oeuvre des instructions de programme informatique qui seront détaillées plus loin, et - de la mémoire 23 (permanente, par exemple de type ROM, et/ou de travail, par exemple de type RAM) pour le stockage et l'exécution des instructions de programme.  Referring to FIG. 2a, the download control server 2 comprises: one or more security processors for ensuring the security of the connection and the downloading to the terminal; a database 21 for storing in particular data; of enabling a plurality of receiving terminals 4, in correspondence of respective identifiers, in order to advantageously manage a whole fleet of terminals available to users, - processing means, such as a processor 22 for implementing computer program instructions which will be detailed later, and - memory 23 (permanent, for example ROM type, and / or working, for example RAM type) for storing and executing program instructions.

On indique simplement ici que le serveur de contrôle de téléchargement 2 comporte des ressources informatiques pour: - exécuter un programme mettant en oeuvre un algorithme de signature, qui assure l'authenticité de l'émetteur des applications logicielles (en l'espèce le serveur de contrôle 2) et aussi l'intégrité des données des applications logicielles signées et transmises, - de préférence, exécuter en outre un programme mettant en oeuvre un algorithme de calcul de CHECKSUM permettant, comme on le verra plus loin, de garantir encore l'intégrité des données des applications logicielles transmises, - exécuter en outre un programme mettant en oeuvre un 30 algorithme d'authentification, préférentiellement mutuelle, entre le serveur de contrôle 2 et le terminal récepteur 4, utilisant par exemple un algorithme de cryptographie mettant en oeuvre des clés publiques et clés privées, - stocker la version des applications logicielles qui est disponible pour un éventuel téléchargement et qui est la mieux adaptée pour différents terminaux ou types de terminaux 4, stocker, par exemple dans la base de données 21, une liste noire des identifiants uniques des processeurs de sécurité non autorisés (correspondant par exemple à des cartes à puce volées ou piratées), et stocker, par exemple dans la base de données 21, une liste noire des identifiants uniques des terminaux non autorisés (volés ou piratés par exemple).  It is simply indicated here that the download control server 2 comprises computer resources for: - executing a program implementing a signature algorithm, which ensures the authenticity of the sender of the software applications (in this case the server of control 2) and also the integrity of the data of the signed and transmitted software applications, - preferably, furthermore execute a program implementing a CHECKSUM calculation algorithm making it possible, as will be seen later, to guarantee further the integrity data of the transmitted software applications, - furthermore executing a program implementing an authentication algorithm, preferentially mutual, between the control server 2 and the receiving terminal 4, using for example a cryptography algorithm implementing keys public and private keys, - store the version of software applications that is available for a possible the download and which is best suited for different terminals or types of terminals 4, store, for example in the database 21, a black list of unique identifiers of unauthorized security processors (for example corresponding to stolen smart cards) or hacked), and store, for example in the database 21, a blacklist of unique identifiers of unauthorized terminals (stolen or hacked for example).

Avantageusement, le serveur de contrôle de téléchargement 2 peut réaliser alors les actions suivantes: - la préparation d'une version d'applications logicielles à télécharger, avec un calcul du CHECKSUM sur l'application, le calcul d'une signature, etc, - la réception des connexions avec les terminaux, - la vérification de la configuration des terminaux (interdire par exemple, selon leur configuration, le fonctionnement d'un ou plusieurs terminaux), - éventuellement le téléchargement d'une nouvelle version logicielle sur les terminaux, - la mémorisation de toutes les connexions et toutes les informations reçues de chaque terminal, dans la base de données 21.  Advantageously, the download control server 2 can then perform the following actions: - the preparation of a version of software applications to download, with a calculation of the CHECKSUM on the application, the calculation of a signature, etc., - the reception of connections with the terminals, - the verification of the configuration of the terminals (prohibit for example, according to their configuration, the operation of one or more terminals), - possibly the downloading of a new software version on the terminals, - storing all the connections and information received from each terminal in the database 21.

On rappelle que le calcul du CHECKSUM sur une application est une routine de garantie d'intégrité consistant par exemple à calculer la somme des octets qui composent cette application (somme dite aussi de "contrôle"), en particulier pour vérifier l'intégrité d'un fichier ou d'un bloc de données correspondant à ou utilisé dans cette application.  It is recalled that the calculation of CHECKSUM on an application is a integrity guarantee routine consisting for example in calculating the sum of the bytes that make up this application (so-called "control" sum), in particular to check the integrity of the application. a file or block of data corresponding to or used in this application.

En se référant maintenant à la figure 2b, l'architecture 10 générale d'un terminal récepteur 4 de télévision numérique au sens de l'invention comporte: - des moyens de traitement tels qu'un processeur 14, relié par un bus 13 à des mémoires 15 à 18 (directement adressables par le processeur 14), - une mémoire morte, non volatile et non re-programmable,qui peut être de type ROM, portant la référence 15 sur la figure 2b et destinée typiquement à stocker un programme de démarrage du terminal, une mémoire vive, volatile, par exemple de type RAM, référencée 16 sur la figure 2b et destinée notamment à l'exécution des programmes et à la manipulation des données, en tant que mémoire de travail, - une mémoire permanente, non volatile, et re- programmable, par exemple de type flash 17 et/ou de 25 type E2PROM 18, contenant des paramètres de configuration et/ou de sécurité du terminal.  Referring now to FIG. 2b, the general architecture of a digital television receiver terminal 4 within the meaning of the invention comprises: processing means such as a processor 14 connected by a bus 13 to memories 15 to 18 (directly addressable by the processor 14), a ROM, nonvolatile and non-programmable, which can be ROM type, bearing the reference 15 in FIG. 2b and typically intended to store a startup program of the terminal, a volatile random access memory, for example of RAM type, referenced 16 in FIG. 2b and intended in particular for the execution of programs and the manipulation of data, as working memory, - a permanent memory, no volatile, and re-programmable, for example flash type 17 and / or type E2PROM 18, containing terminal configuration and / or security parameters.

Comme indiqué ci-avant, les applications logicielles téléchargées du serveur de contrôle 2 peuvent être 30 stockées en mémoire vive 16, dans un premier mode de réalisation, ou en mémoire permanente 17 ou 18, dans un second mode de réalisation, comme on le verra plus loin.  As indicated above, the software applications downloaded from the control server 2 can be stored in RAM 16, in a first embodiment, or in permanent memory 17 or 18, in a second embodiment, as will be seen further.

On indique simplement ici que, dans le premier mode de réalisation, le téléchargement des applications logicielles de désembrouillage/décodage s'effectue à chaque démarrage (ou mise sous tension) du terminal. Le terminal exécute alors ces applications de désembrouillage/décodage depuis une mémoire volatile 16.  It is simply indicated here that, in the first embodiment, the download of the descrambling / decoding software applications is performed at each startup (or power on) of the terminal. The terminal then executes these descrambling / decoding applications from a volatile memory 16.

Dans le second mode de réalisation, le téléchargement s'effectue simplement à chaque disponibilité d'une nouvelle version appropriée des applications logicielles de désembrouillage/décodage. Le terminal exécute alors ces applications depuis la mémoire permanente 17 ou 18, par exemple à partir de la mémoire flash 17. On a représenté sur la figure 3 la structure d'une mémoire flash 17, selon ce second mode de réalisation dans lequel on prévoit un téléchargement en mémoire permanente. La mémoire flash 17 comporte une partie 171 non réinscriptible (mémoire "OTP") pour stocker tout ou partie des instructions du programme de démarrage du terminal. La seconde partie 172 est une zone réinscriptible destinée typiquement au stockage des applications logicielles (APPL) téléchargées du serveur 2.  In the second embodiment, the download is made simply with each availability of a new appropriate version of the descrambling / decoding software applications. The terminal then executes these applications from the permanent memory 17 or 18, for example from the flash memory 17. FIG. 3 shows the structure of a flash memory 17, according to this second embodiment in which provision is made a download in permanent memory. The flash memory 17 includes a non-rewritable portion 171 ("OTP" memory) for storing all or part of the instructions of the terminal startup program. The second part 172 is a rewritable zone intended typically for storing software applications (APPL) downloaded from the server 2.

On indique que, dans une réalisation préférée, les applications logicielles qui peuvent être téléchargées incluent un système d'exploitation (ou "OS" pour "Operating System") chargé de gérer l'utilisation des ressources du terminal par ces applications. On comprendra ainsi l'importance de mettre à jour les versions de telles applications logicielles auprès des terminaux récepteurs. Ainsi, en se référant à nouveau à l'exemple de la figure 3, la dernière version du système d'exploitation OS (UPD) est préférentiellement stockée dans la zone réinscriptible 172 de la mémoire flash 17.  It is indicated that, in a preferred embodiment, the software applications that can be downloaded include an operating system (or "OS" for "Operating System") responsible for managing the use of terminal resources by these applications. It will thus be understood the importance of updating the versions of such software applications with the receiving terminals. Thus, referring again to the example of FIG. 3, the last version of the operating system OS (UPD) is preferably stored in the rewritable zone 172 of the flash memory 17.

Par ailleurs, le programme de démarrage peut être stocké en mémoire ROM 15 et/ou en mémoire permanente 17 ou 18. Ce programme de démarrage (ou "boot" en vocable anglo-saxon) assure: - l'initialisation du terminal 4, - et, éventuellement, le téléchargement d'une nouvelle version des applications logicielles de désembrouillage/décodage.  Furthermore, the startup program can be stored in ROM 15 and / or in permanent memory 17 or 18. This boot program (or "boot" in English word) provides: - initialization of the terminal 4, - and possibly downloading a new version of the descrambling / decoding software applications.

Ce programme de démarrage comporte avantageusement: - les pilotes (ou "drivers") minimaux permettant de contrôler les seuls composants hardware (processeur, mémoires, interface avec le processeur de sécurité, ou autres) nécessaires à la connexion, au contrôle d'habilitation et au téléchargement, - une configuration de connexion (paramétrée en fonction de paramètres principaux pour se connecter sur le serveur de contrôle de téléchargement 2, ainsi que des paramètres de repli permettant une connexion vers d'autres serveurs de contrôle en cas d'échec de la communication avec le serveur 2), - un programme mettant en oeuvre un algorithme par exemple de cryptographie utilisant une clé privée du terminal, 30 et le cas échéant une clé publique du serveur, pour contribuer à l'authentification du terminal par le serveur ou procéder à l'authentification mutuelle du terminal et du serveur, - un algorithme asymétrique mettant en oeuvre une clé privée, ici pour vérifier la signature de la version des applications logicielles téléchargées, et, de là, l'intégrité des données téléchargées, ainsi que l'authenticité de l'émetteur desdites données, et - un algorithme de vérification (CHECKSUM) pour contrôler encore l'intégrité des applications téléchargées.  This startup program advantageously comprises: the minimum drivers (or "drivers") for controlling the only hardware components (processor, memory, interface with the security processor, or other) necessary for the connection, the authorization control and at download, - a connection configuration (parameterized according to main parameters to connect to the download control server 2, as well as fallback parameters allowing a connection to other control servers in the event of failure of the communication with the server 2), a program implementing an algorithm for example cryptography using a private key of the terminal, and if necessary a public key of the server, to contribute to the authentication of the terminal by the server or proceed mutual authentication of the terminal and the server, - an asymmetric algorithm implementing a private key, here to verify r the signature of the version of the downloaded software applications, and hence the integrity of the data downloaded, as well as the authenticity of the issuer of said data, and - a verification algorithm (CHECKSUM) to further control the integrity downloaded applications.

La mémoire morte du terminal stocke aussi un identifiant unique du terminal, appelé par exemple "STB-id" dans le cas où le terminal récepteur est un terminal désembrouilleur/décodeur d'un flux audiovisuel de type "STB" (pour "Set Top Box"). On indique toutefois qu'en variante, le terminal récepteur peut consister en un ordinateur de salon ou en un ordinateur portable, auxquels sont attribués des identifiants respectifs uniques.  The terminal memory also stores a unique identifier of the terminal, called for example "STB-id" in the case where the receiving terminal is a descrambler / decoder terminal of an "STB" type audiovisual stream (for "Set Top Box"). "). It is however indicated that, alternatively, the receiving terminal may consist of a lounge computer or a laptop, to which respective unique identifiers are assigned.

Le terminal 4 comporte en outre: - une interface 10 avec le réseau 3 (par exemple une interface modem xDSL) permettant notamment l'échange de données avec les serveurs 1 et 2, - un démultiplexeur/désembrouilleur 11 assurant les fonctions de séparation des données (audio, vidéo, données d'interaction, données privées, et autres), un décodeur-convertisseur numérique/analogique 12, audio et vidéo, et - un processeur de sécurité 6 tel qu'une carte à puce 30 pour assurer la sécurité de la connexion vers le serveur 2 et la sécurité du téléchargement des applications.  The terminal 4 further comprises: an interface 10 with the network 3 (for example an xDSL modem interface) making it possible in particular to exchange data with the servers 1 and 2, a demultiplexer / descrambler 11 providing the data separation functions (audio, video, interaction data, private data, and others), a digital audio / video decoder-converter 12, audio and video, and a security processor 6 such as a smart card to ensure the security of the connection to the server 2 and the security of the download of the applications.

Le processeur de sécurité 6 est connecté au terminal 4 par 5 un module d'entrée/sortie 19.  The security processor 6 is connected to the terminal 4 by an input / output module 19.

On indique en outre que l'usager du terminal peut agir sur les fonctions du terminal via une interface homme/machine 20 reliée au module 19 précité. L'interface 20 peut comporter par exemple une télécommande et un affichage de données sur l'écran de télévision.  It is furthermore indicated that the user of the terminal can act on the functions of the terminal via a man / machine interface 20 connected to the aforementioned module 19. The interface 20 may comprise for example a remote control and a data display on the television screen.

Par ailleurs, chaque processeur de sécurité 6 comporte: - des ressources informatiques pour exécuter un algorithme asymétrique mettant en oeuvre au moins une clé privée et au moins une clé publique permettant de réaliser une authentification mutuelle du terminal et du serveur 2, - des ressources informatiques pour mettre en oeuvre une routine pour lire et transmettre, notamment au serveur 2 lorsqu'il s'agit du processeur de sécurité 6 relié au terminal, un identifiant unique de processeur de sécurité noté UA (pour "Unique Address"), - une mémoire non volatile re-programmable permettant de stocker des informations telles qu'un code confidentiel, des droits d'accès aux programmes, ou autres.  Furthermore, each security processor 6 comprises: computer resources for executing an asymmetric algorithm implementing at least one private key and at least one public key making it possible to perform mutual authentication of the terminal and the server 2; computer resources to implement a routine for reading and transmitting, in particular to the server 2 when it is the security processor 6 connected to the terminal, a unique security processor identifier denoted UA (for "Unique Address"), - a memory non-volatile re-programmable to store information such as a PIN, access rights to programs, or other.

On se réfère maintenant à la figure 4 pour décrire les 30 étapes de vérification et de téléchargement éventuel dans un exemple de réalisation du procédé au sens de l'invention.  Referring now to Figure 4 to describe the steps of verification and possible download in an exemplary embodiment of the method within the meaning of the invention.

On a représenté sur la figure 4, côté gauche, les étapes 5 menées par le terminal 4 et, côté droit, les étapes menées par le serveur de contrôle de téléchargement 2.  FIG. 4 shows, on the left-hand side, the steps carried out by the terminal 4 and, on the right-hand side, the steps carried out by the download control server 2.

A chaque démarrage du terminal, le programme de démarrage prend la main, initialise les composants hardware et exécute une routine informatique au sens de l'invention qui se déroule préférentiellement comme suit.  At each start of the terminal, the startup program takes over, initializes the hardware components and executes a computer routine in the sense of the invention which preferably takes place as follows.

A l'étape 30, ce programme commande le modem xDSL du terminal pour envoyer une demande de connexion vers le serveur de contrôle 2. Il utilise à cet effet les paramètres de connexion mémorisés, précités. A l'étape 31, le serveur de contrôle 2, s'il l'accepte, établit la connexion avec le terminal 4. A cette étape 31, le serveur de contrôle 2 peut avantageusement mémoriser l'heure et l'adresse du terminal. A l'étape 32, le programme teste si la connexion a réussi (flèche "ok") ou échoué (flèche "ko"). En cas d'échec de la connexion vers le serveur principal 2 ou vers les serveurs de repli comme indiqué ci-avant, le programme passe à l'étape de gestion des erreurs 52, décrite plus loin.  In step 30, this program controls the xDSL modem of the terminal to send a connection request to the control server 2. It uses for this purpose the memorized connection parameters, mentioned above. In step 31, the control server 2, if it accepts it, establishes the connection with the terminal 4. In this step 31, the control server 2 can advantageously store the time and the address of the terminal. In step 32, the program tests whether the connection succeeded (arrow "ok") or failed (arrow "ko"). In case of failure of the connection to the main server 2 or to the fallback servers as indicated above, the program proceeds to the error handling step 52, described below.

En cas de réussite de l'établissement de la connexion, à l'étape 33, le programme vérifie la présence du processeur de sécurité 6 par exemple en procédant à la réinitialisation (ou "RESET") de celui-ci. A l'étape 34, si le processeur de sécurité n'est pas présent (flèche ko), le programme passe à l'étape de gestion des erreurs 52. Sinon (flèche ok), il passe à l'étape suivante 35, correspondant à l'étape 36 mise en oeuvre par le serveur 2 et consistant à permettre l'authentification du terminal par le serveur ou à vérifier leur authentification mutuelle avec l'aide du processeur de sécurité 6 du terminal 4 et du processeur de sécurité 5 du serveur de contrôle 2. Comme indiqué ci-avant, cette authentification peut être menée par une utilisation de clés publiques et de clés privées respectives.  If the establishment of the connection is successful, in step 33, the program verifies the presence of the security processor 6, for example by resetting (or "resetting") it. In step 34, if the security processor is not present (arrow ko), the program proceeds to the error management step 52. Otherwise (arrow ok), it goes to the next step 35, corresponding in step 36 implemented by the server 2 and consisting of allowing the authentication of the terminal by the server or to verify their mutual authentication with the help of the security processor 6 of the terminal 4 and the security processor 5 of the server 2. As indicated above, this authentication can be conducted by using public keys and respective private keys.

Si cette étape d'authentification a échoué (au test 37), le programme passe à l'étape 52. Par ailleurs, en cas d'échec du test homologue d'authentification 38 mené auprès du serveur de contrôle 2, le serveur 2 mémorise le résultat négatif de l'authentification à l'étape 49.  If this authentication step has failed (in test 37), the program proceeds to step 52. In addition, in case of failure of the peer authentication test 38 conducted with the control server 2, the server 2 stores the negative result of the authentication in step 49.

En revanche, si l'étape d'authentification est passée avec succès, le terminal récupère et transmet au serveur 2, à l'étape 39, les informations relatives à, et non exhaustivement: l'adresse physique du terminal, l'identifiant unique du processeur de sécurité, - l'identifiant unique du terminal (par exemple de type STB-id), - le cas échéant, dans le second mode de réalisation précité, la version courante des applications logicielles stockées en mémoire permanente 17 ou 18, - d'autres données significatives présentes sur le processeur de sécurité 6 (droits d'accès aux programmes, code d'accès confidentiel, ou autres), - et les informations de configuration ou de sécurité contenues en mémoire permanente 17 ou 18.  On the other hand, if the authentication step is successfully passed, the terminal retrieves and transmits to the server 2, in step 39, the information relating to, and not exhaustively: the physical address of the terminal, the unique identifier of the security processor, - the unique identifier of the terminal (for example of the STB-id type), - if necessary, in the second aforementioned embodiment, the current version of the software applications stored in permanent memory 17 or 18, - other significant data present on the security processor 6 (program access rights, confidential access code, or other), - and the configuration or security information contained in the permanent memory 17 or 18.

Ainsi, on comprendra, en termes généraux, que l'on affecte initialement au terminal 4 et/ou au processeur de sécurité 6 des identifiants respectifs qui, avantageusement peuvent être stockés auprès du terminal 4 et auprès du serveur 2, en tant qu'informations d'habilitation du terminal équipé de son processeur de sécurité 6. Ainsi, au cours de la connexion entre le serveur et le terminal, ce dernier peut s'identifier auprès du serveur en transmettant ces identifiants au serveur.  Thus, it will be understood, in general terms, that the respective identifiers are initially assigned to the terminal 4 and / or the security processor 6, which advantageously can be stored at the terminal 4 and at the server 2, as information of the terminal equipped with its security processor 6. Thus, during the connection between the server and the terminal, the latter can identify with the server by transmitting these identifiers to the server.

De son côté, le serveur de contrôle 2 récupère, à l'étape 40, les informations que lui transmet le terminal et les mémorise. Selon l'un des avantages que procure la présente invention, le serveur peut alors mener des statistiques sur chaque terminal, incluant par exemple le nombre total de téléchargements depuis sa mise en service, le nombre moyen de démarrages de terminal par jour, le nombre de processeurs de sécurité utilisés par un terminal, ou autres.  For its part, the control server 2 retrieves, in step 40, the information transmitted to it by the terminal and stores it. According to one of the advantages that the present invention provides, the server can then carry out statistics on each terminal, including for example the total number of downloads since it was put into service, the average number of terminal starts per day, the number of security processors used by a terminal, or others.

A l'étape 41, le serveur de contrôle 2 vérifie que les 25 informations reçues sont cohérentes. En particulier, et non exhaustivement: l'identifiant unique du processeur de sécurité ne doit pas être en liste noire, - l'identifiant unique du terminal ne doit pas être en 30 liste noire, - l'identifiant unique du processeur de sécurité et l'identifiant unique du terminal vont de paire, les droits d'accès tirés du processeur de sécurité sont cohérents, - les autres informations de sécurité sont cohérentes, - la version des applications logicielles stockée en mémoire permanente dans le terminal, dans le second mode de réalisation précité, doit être cohérente avec les données dans la base du serveur de contrôle 2.  In step 41, the control server 2 verifies that the received information is consistent. In particular, and not exhaustively: the unique identifier of the security processor must not be blacklisted, - the unique identifier of the terminal must not be blacklisted, - the unique identifier of the security processor and the unique identifier of the terminal go together, the access rights derived from the security processor are consistent, - the other security information is consistent, - the version of the software applications stored in permanent memory in the terminal, in the second mode of aforementioned embodiment, must be consistent with the data in the base of the control server 2.

On rappelle que les critères qui permettent de définir si un terminal récepteur est autorisé ou non à poursuivre la séquence de démarrage sont avantageusement modifiables dans le serveur de contrôle même, pour assurer une souplesse maximum.  It is recalled that the criteria that make it possible to define whether a receiving terminal is authorized or not to continue the start-up sequence are advantageously modifiable in the control server itself, to ensure maximum flexibility.

Si les informations ne sont pas cohérentes, le serveur de contrôle 2 passe à l'étape de mémorisation des erreurs 49, puis à l'état de déconnexion avec anomalie "DECONNECT KO" portant la référence 50.  If the information is not coherent, the control server 2 proceeds to the error storing step 49, then to the disconnected state with the "DECONNECT KO" anomaly bearing the reference 50.

En revanche, si les informations sont cohérentes: - dans le premier mode de réalisation (applications stockées en mémoire vive), le serveur 2 effectue le téléchargement dans le terminal de la version la mieux adaptée au terminal (étapes 44 et 45) ; on comprendra que dans ce premier mode, les étapes 42 et 43 ne sont pas exécutées car le téléchargement est à faire systématiquement, - dans le second mode de réalisation de l'invention (applications stockées en mémoire permanente), à l'étape 42, le serveur de contrôle 2 vérifie s'il doit télécharger une nouvelle version des applications logicielles, par exemple par comparaison d'un numéro de version reçu avec un numéro de version des applications logicielles disponibles sur le serveur 2.  On the other hand, if the information is coherent: in the first embodiment (applications stored in RAM), the server 2 performs the download in the terminal of the version best adapted to the terminal (steps 44 and 45); it will be understood that in this first mode, steps 42 and 43 are not executed because the download is to be done systematically, - in the second embodiment of the invention (applications stored in permanent memory), in step 42, the control server 2 checks whether to download a new version of the software applications, for example by comparing a received version number with a version number of the software applications available on the server 2.

Dans ce second mode, si aucun téléchargement n'est à effectuer, le serveur 2 informe le terminal 4 qu'aucun téléchargement n'est à effectuer (étape 43) et passe à l'étape de déconnexion sans anomalie 60. De son côté, le terminal récepteur 4 passe aussi à l'étape 56 de déconnexion sans anomalie.  In this second mode, if no download is to be made, the server 2 informs the terminal 4 that no download is to be made (step 43) and goes to the disconnection step without fault 60. For its part, the receiving terminal 4 also proceeds to the step 56 of disconnection without anomaly.

En revanche, dans ce second mode, si un téléchargement d'une version plus appropriée doit être effectué suite à l'étape 42, le serveur 2 informe le terminal (étape 43) du futur téléchargement de la nouvelle version et, à l'étape 45, le terminal reçoit cette nouvelle version.  On the other hand, in this second mode, if a download of a more appropriate version is to be performed following step 42, the server 2 informs the terminal (step 43) of the future download of the new version and, at the step 45, the terminal receives this new version.

On comprendra que les tests précités 42 et 43 sur la version préalablement installée auprès du terminal peuvent être supprimés dans le premier mode de réalisation avantageux où l'on stocke les applications logicielles en mémoire volatile.  It will be understood that the aforementioned tests 42 and 43 on the version previously installed at the terminal can be deleted in the first advantageous embodiment where the software applications are stored in volatile memory.

Dans les deux modes de réalisation, le procédé se déroule ensuite par l'étape 44, dans laquelle le serveur de contrôle 2 envoie la version disponible et la mieux adaptée des applications logicielles au terminal, ainsi que la valeur du CHECKSUM et une signature numérique du fichier correspondant.  In both embodiments, the method then proceeds to step 44, in which the control server 2 sends the available and best adapted version of the software applications to the terminal, as well as the value of the CHECKSUM and a digital signature of the corresponding file.

A l'étape 45, le terminal reçoit en mémoire vive 16 cette nouvelle version et, à l'étape 46, vérifie la signature numérique précitée à l'aide d'une clé privée prévue à cette fin et de l'algorithme asymétrique précité. A l'étape 47, si la signature n'est pas correcte, le terminal passe à l'étape d'erreurs 52. Sinon, à l'étape 48, le terminal vérifie la valeur du CHECKSUM par calcul du CHECKSUM puis par comparaison par rapport à la valeur envoyée. Au test 53, si la valeur du CHECKSUM n'est pas correcte, le terminal passe à l'étape 52. Sinon, le terminal sauvegarde les applications logicielles téléchargées en mémoire permanente 17, uniquement dans le second mode de réalisation précité, à l'étape 54 (représentée à cet effet en traits pointillés sur la figure 4).  In step 45, the terminal receives in RAM 16 this new version and, in step 46, verifies the aforementioned digital signature using a private key provided for this purpose and the aforementioned asymmetric algorithm. In step 47, if the signature is not correct, the terminal proceeds to the error step 52. Otherwise, in step 48, the terminal checks the value of the CHECKSUM by calculating the CHECKSUM then by comparison with compared to the value sent. In test 53, if the value of the CHECKSUM is not correct, the terminal proceeds to step 52. Otherwise, the terminal saves the downloaded software applications in permanent memory 17, only in the second embodiment mentioned above, at the same time. step 54 (shown for this purpose in dashed lines in Figure 4).

A l'étape 55, le terminal 4 informe le serveur de contrôle 2 que l'opération de téléchargement s'est correctement déroulée et, à l'étape 56, il reçoit l'autorisation d'exécuter les applications logicielles. Ensuite, le terminal 4 et le serveur 2 peuvent passer à des étapes respectives 56 et 60 de déconnexion sans anomalie.  In step 55, the terminal 4 informs the control server 2 that the download operation has proceeded correctly and, in step 56, it receives the authorization to execute the software applications. Then, the terminal 4 and the server 2 can proceed to respective steps 56 and 60 disconnection without abnormality.

Finalement, le terminal peut ensuite mettre en uvre les applications logicielles permettant notamment le désembrouillage/décodage du flux multimédia reçu.  Finally, the terminal can then implement the software applications allowing in particular the descrambling / decoding of the received multimedia stream.

Toutefois, on précise qu'en cas d'erreur au niveau du 30 terminal ou en cas de réception (étape 51) de demande de déconnexion de la part du serveur de contrôle quand il identifie un cas d'erreur (étape 50), le terminal exécute préférentiellement l'étape 52 consistant à prévenir le serveur 2 d'une erreur et à afficher un message d'alarme, par exemple sur l'écran du poste de télévision de l'abonné, pour le prévenir. Le terminal se déconnecte ensuite du serveur (étape 57), puis se bloque (étape 58). L'utilisateur doit préférentiellement réinitialiser le terminal, dans ce cas.  However, it is specified that in the event of an error at the terminal or in the event of reception (step 51) of the disconnect request by the control server when it identifies an error case (step 50), the terminal preferably executes the step 52 of preventing the server 2 from an error and to display an alarm message, for example on the screen of the television set of the subscriber, to prevent it. The terminal then disconnects from the server (step 57) and then hangs (step 58). The user must preferentially reset the terminal, in this case.

En cas d'erreur détectée par le serveur 2 (typiquement une mauvaise authentification ou des paramètres du terminal qui sont incohérents), le serveur 2 passe à l'étape 49 consistant en une mémorisation des erreurs, suivie d'une étape 50 de déconnexion.  In the event of an error detected by the server 2 (typically bad authentication or terminal parameters that are inconsistent), the server 2 proceeds to step 49 consisting of an error storage, followed by a step 50 of disconnection.

Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci-avant à titre d'exemple; elle s'étend à d'autres variantes.  Of course, the present invention is not limited to the embodiment described above by way of example; it extends to other variants.

Ainsi, on comprendra par exemple que la structure détaillée du terminal représentée sur la figure 2b est susceptible de variantes. De même, les étapes détaillées du procédé telles que représentées sur la figure 4 sont susceptibles de variantes. On a décrit ci-avant une mise en oeuvre avantageuse dans laquelle l'authentification était menée à partir des processeurs de sécurité précités, mais cette mise en oeuvre est encore susceptible de variantes, par exemple en prévoyant un module d'authentification directement incorporé dans le terminal.  Thus, it will be understood for example that the detailed structure of the terminal shown in Figure 2b is capable of variants. Similarly, the detailed steps of the method as shown in Figure 4 are variants. An advantageous embodiment has been described above in which the authentication is carried out on the basis of the aforementioned security processors, but this implementation is still susceptible of variants, for example by providing an authentication module directly incorporated in the terminal.

Par ailleurs, dans une réalisation moins sophistiquée que celle décrite ci-avant à titre d'exemple, on peut prévoir une simple identification, sans authentification, du terminal connecté au serveur de contrôle, bien que cette réalisation soit actuellement préférée.  Moreover, in a less sophisticated embodiment than that described above by way of example, provision can be made for a simple identification, without authentication, of the terminal connected to the control server, although this embodiment is currently preferred.

Claims (33)

Revendicationsclaims 1. Procédé de contrôle d'habilitation d'au moins un terminal récepteur d'un flux multimédia, dans lequel le terminal (4) est agencé : - d'une part, pour communiquer avec au moins un serveur distant (2) par une liaison bidirectionnelle, et - d'autre part, pour recevoir un flux multimédia et décoder ce flux par l'exécution d'applications logicielles spécifiques, caractérisé en ce que ledit serveur est un serveur de contrôle (2) de téléchargement desdites applications logicielles, et en ce que le procédé comporte les étapes suivantes.  A method for enabling verification of at least one receiving terminal of a multimedia stream, in which the terminal (4) is arranged: on the one hand, for communicating with at least one remote server (2) by a bidirectional link, and - secondly, for receiving a multimedia stream and decoding this stream by the execution of specific software applications, characterized in that said server is a control server (2) for downloading said software applications, and in that the method comprises the following steps. a) on stocke des informations d'habilitation du terminal auprès du serveur de contrôle et auprès du terminal, b) à la mise sous tension du terminal, le terminal établit automatiquement une connexion vers le serveur de contrôle, c) le serveur de contrôle récupère au moins une partie des informations d'habilitation stockées auprès du terminal et vérifie une concordance avec les informations d'habilitation stockées auprès du serveur, d) et, au moins en fonction de cette vérification, le serveur de contrôle autorise ou non un téléchargement, vers le terminal, des applications logicielles spécifiques pour le désembrouillage/décodage du flux multimédia.  a) store terminal authorization information at the control server and at the terminal, b) when the terminal is turned on, the terminal automatically establishes a connection to the control server, c) the control server recovers at least a part of the authorization information stored at the terminal and checks a concordance with the authorization information stored at the server, d) and, at least according to this verification, the control server authorizes or not a download, to the terminal, specific software applications for descrambling / decoding the multimedia stream. 2. Procédé selon la revendication 1, caractérisé en ce que les informations d'habilitation comportent des données d'authentification, et en ce que, à l'étape c), le serveur de contrôle authentifie le terminal par une procédure mettant en oeuvre, d'une part, une clé publique fournie par le terminal et, d'autre part, une clé privée correspondante tirée des données stockées auprès du serveur de contrôle.  2. Method according to claim 1, characterized in that the authorization information comprises authentication data, and in that, in step c), the control server authenticates the terminal by a procedure implementing, on the one hand, a public key provided by the terminal and, on the other hand, a corresponding private key derived from the data stored at the control server. 3. Procédé selon la revendication 2, caractérisé en ce qu'il comporte une authentification mutuelle du serveur et du terminal, par une procédure mettant en oeuvre, via la liaison bidirectionnelle, les clés publiques du terminal et du serveur et les clés privées respectives, tirées des données stockées auprès du serveur et du terminal.  3. Method according to claim 2, characterized in that it comprises a mutual authentication of the server and the terminal, by a procedure implementing, via the bidirectional link, the public keys of the terminal and the server and the respective private keys, from the data stored at the server and the terminal. 4. Procédé selon l'une des revendications 2 et 3, caractérisé en ce que le terminal comporte un processeur de sécurité (6) dans lequel on stocke initialement lesdites données d'authentification du terminal vis-à-vis du serveur de contrôle.  4. Method according to one of claims 2 and 3, characterized in that the terminal comprises a security processor (6) in which initially stores said authentication data of the terminal vis-à-vis the control server. 5. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'on affecte initialement au terminal un identifiant, stocké auprès du terminal et auprès du serveur, et en ce que, au cours de la connexion de l'étape b), le terminal s'identifie auprès du serveur en transmettant ledit identifiant au serveur.  5. Method according to one of the preceding claims, characterized in that it is initially assigned to the terminal an identifier, stored at the terminal and to the server, and in that during the connection of step b) , the terminal identifies itself to the server by transmitting said identifier to the server. 6. Procédé selon la revendication 4, caractérisé en ce que l'on affecte un identifiant au processeur de sécurité, cet identifiant étant stocké auprès du terminal et auprès du serveur, et en ce que, au cours de la connexion de l'étape b), le terminal s'identifie auprès du serveur en transmettant au moins ledit identifiant du processeur de sécurité.  6. Method according to claim 4, characterized in that one assigns an identifier to the security processor, this identifier being stored near the terminal and to the server, and in that during the connection of step b ), the terminal identifies itself to the server by transmitting at least said identifier of the security processor. 7. Procédé selon l'une des revendications précédentes, caractérisé en ce que le serveur comporte une base de données (21) stockant des informations d'habilitation de plusieurs terminaux et des applications logicielles spécifiques aux terminaux, en correspondance d'au moins des identifiants respectifs de terminaux, pour la gestion d'un parc de terminaux récepteurs à disposition d'usagers.  7. Method according to one of the preceding claims, characterized in that the server comprises a database (21) storing authorization information of several terminals and terminal-specific software applications, in correspondence of at least identifiers respective terminals, for the management of a pool of receiving terminals available to users. 8. Procédé selon l'une des revendications précédentes, dans lequel les applications logicielles sont régulièrement mises à jour, caractérisé en ce que, à l'étape d), le serveur transmet au terminal une nouvelle version des applications logicielles la plus adaptée au terminal, le cas échéant.  8. Method according to one of the preceding claims, wherein the software applications are regularly updated, characterized in that, in step d), the server transmits to the terminal a new version of the software applications most suitable for the terminal where appropriate. 9. Procédé selon l'une des revendications précédentes, caractérisé en ce que les applications logicielles comportent au moins un système d'exploitation (OS) de ressources informatiques du terminal.  9. Method according to one of the preceding claims, characterized in that the software applications comprise at least one operating system (OS) terminal computer resources. 10. Procédé selon l'une des revendications précédentes, caractérisé en ce que les applications logicielles comportent une application de désembrouillage/décodage du flux multimédia.  10. Method according to one of the preceding claims, characterized in that the software applications comprise a descrambling / decoding application of the multimedia stream. 11. Procédé selon l'une des revendications précédentes, caractérisé en ce que, à l'étape d), le terminal stocke les applications logicielles téléchargées du serveur dans une mémoire permanente.  11. Method according to one of the preceding claims, characterized in that, in step d), the terminal stores the downloaded software applications from the server in a permanent memory. 12. Procédé selon la revendication 11, prise en combinaison avec la revendication 8, caractérisé en ce que le serveur vérifie en outre une cohérence de la version des applications logicielles qui est stockée dans la mémoire permanente du terminal.  12. The method of claim 11, taken in combination with claim 8, characterized in that the server further verifies a consistency of the software application version which is stored in the permanent memory of the terminal. 13. Procédé selon l'une des revendications 1 à 10, caractérisé en ce que, à l'étape d), le terminal stocke les applications logicielles téléchargées du serveur dans une mémoire volatile (16), à chaque mise sous tension du terminal.  13. Method according to one of claims 1 to 10, characterized in that, in step d), the terminal stores software applications downloaded from the server into a volatile memory (16), each power up of the terminal. 14. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte une procédure de vérification d'intégrité des données d'applications logicielles transmises au terminal, avec, de préférence, une vérification d'authenticité de l'émetteur desdites données d'applications logicielles.  14. Method according to one of the preceding claims, characterized in that it comprises a procedure for verifying the integrity of the software application data transmitted to the terminal, preferably with a verification of authenticity of the transmitter of said software application data. 15. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte les étapes initiales 30 suivantes: a1) on équipe le terminal de ressources informatiques pour lire une routine de démarrage, a2) on prévoit une routine de démarrage incluant au moins une instruction de connexion du terminal vers le 5 serveur, a3) et on stocke ladite routine de démarrage dans une mémoire permanente du terminal.  15. Method according to one of the preceding claims, characterized in that it comprises the following initial steps: a1) the computer resource terminal is equipped to read a start-up routine, a2) a start-up routine including minus a terminal connection instruction to the server, a3) and store said start routine in a permanent memory of the terminal. 16. Procédé selon l'une des revendications précédentes, 10 caractérisé en ce qu'il comporte les étapes initiales suivantes.  16. Method according to one of the preceding claims, characterized in that it comprises the following initial steps. ail) on équipe le serveur de contrôle de ressources informatiques pour lire une routine de téléchargement d'applications logicielles vers le terminal, a'2) on prévoit une routine de téléchargement incluant au moins une instruction de vérification d'habilitation du terminal, a'3) et on stocke ladite routine de téléchargement dans une mémoire permanente du serveur.  ail) the IT resource control server is equipped to read a software application download routine to the terminal, a'2) a download routine including at least one terminal enabling verification instruction is provided; 3) and stores said download routine in a permanent memory of the server. 17. Produit programme informatique, destiné à être stocké dans une mémoire permanente (15) d'un terminal récepteur, caractérisé en ce qu'il comporte une routine de démarrage du terminal, pour la mise en oeuvre de tout ou partie des étapes du procédé selon la revendication 15.  17. Computer program product, intended to be stored in a permanent memory (15) of a receiving terminal, characterized in that it comprises a startup routine of the terminal, for the implementation of all or part of the process steps according to claim 15. 18. Produit programme informatique, destiné à être stocké dans une mémoire permanente d'un serveur de contrôle de téléchargement d'applications logicielles pour le désembrouillage/décodage d'un flux multimédia, caractérisé en ce qu'il comporte une routine de contrôle de téléchargement d'applications logicielles, pour la mise en uvre de tout ou partie des étapes du procédé selon la revendication 16.  18. Computer program product intended to be stored in a permanent memory of a software application download control server for the descrambling / decoding of a multimedia stream, characterized in that it comprises a download control routine. software applications for the implementation of all or part of the process steps according to claim 16. 19. Application du procédé selon l'une des revendications 1 à 16 à la distribution de contenus multimédias, notamment de contenus de télévision payante.  19. Application of the method according to one of claims 1 to 16 to the distribution of multimedia content, including pay television content. 20. Système de contrôle d'habilitation pour le téléchargement d'applications logicielles, notamment pour le désembrouillage/décodage d'un flux multimédia, caractérisé en ce qu'il comporte au moins: un serveur (2) de contrôle de téléchargement desdites applications logicielles, et - un terminal récepteur (4), d'une part relié au serveur de contrôle par une liaison bidirectionnelle (81-82) pour télécharger lesdites applications logicielles, et agencé d'autre part pour recevoir le flux multimédia embrouillé/encodé et désembrouiller/décoder ce flux par l'exécution desdites applications logicielles, en ce que le terminal comporte des ressources informatiques pour: stocker des premières informations d'habilitation du terminal, - stocker et lire un programme informatique de démarrage comportant au moins une instruction de connexion automatique vers le serveur lors de la mise sous tension du terminal, et en ce que le serveur de contrôle comporte des ressources informatiques pour: - stocker des secondes informations d'habilitation du terminal, stocker et lire un programme informatique de téléchargement des applications logicielles comportant au moins.  20. Enabling control system for downloading software applications, in particular for descrambling / decoding a multimedia stream, characterized in that it comprises at least: a server (2) for controlling the downloading of said software applications. , and - a receiving terminal (4), on the one hand connected to the control server by a bidirectional link (81-82) for downloading said software applications, and arranged on the other hand to receive the scrambled / encoded multimedia stream and descramble / decoding this stream by executing said software applications, in that the terminal comprises computer resources for: storing first terminal authorization information, - storing and reading a startup computer program comprising at least one automatic connection instruction to the server when the terminal is turned on, and in that the control server has informational resources aids for: - storing second terminal authorization information, storing and reading a computer program for downloading software applications comprising at least. o une instruction de lecture des premières et secondes informations d'habilitation, o un test de vérification de cohérence entre les premières et secondes informations d'habilitation, o et une instruction de téléchargement des applications logicielles, conditionnée au moins par ledit test.  a read instruction of the first and second authorization information, a consistency check test between the first and second authorization information, and a download instruction of the software applications, conditioned at least by said test. 21. Système selon la revendication 20, caractérisé en ce que les premières et secondes informations d'habilitation comportent respectivement des premières et secondes données d'authentification, en ce que le programme de démarrage comporte au moins une instruction pour former et communiquer au serveur une clé publique tirée des premières données, et en ce que le programme de téléchargement comporte au moins une instruction pour former une clé privée tirée des secondes données, tandis que ledit test comporte une instruction de vérification de cohérence entre la clé publique et la clé privée.  21. System according to claim 20, characterized in that the first and second enabling information respectively comprise first and second authentication data, in that the startup program comprises at least one instruction for forming and communicating to the server a server. public key taken from the first data, and in that the download program includes at least one instruction for forming a private key derived from the second data, while said test includes a consistency check instruction between the public key and the private key. 22. Système selon la revendication 21, caractérisé en ce que les programmes de démarrage et de téléchargement comportent des instructions d'authentification homologues pour mener des authentifications mutuelles du serveur et du terminal, avec échange de clés publiques transmises via la liaison bidirectionnelle et vérifications de cohérence avec des clés privées respectives, tirées des premières et secondes données d'authentification.  22. System according to claim 21, characterized in that the startup and download programs comprise homologous authentication instructions to carry out mutual authentication of the server and the terminal, with exchange of public keys transmitted via the bidirectional link and checks of coherence with respective private keys, derived from the first and second authentication data. 23. Système selon l'une des revendications 21 et 22, caractérisé en ce que le terminal comporte un processeur de sécurité (6) stockant au moins lesdites premières données d'authentification.  23. System according to one of claims 21 and 22, characterized in that the terminal comprises a security processor (6) storing at least said first authentication data. 24. Système selon l'une des revendications 20 à 23, caractérisé en ce que lesdites premières et secondes informations d'habilitation comportent un identifiant de terminal.  24. System according to one of claims 20 to 23, characterized in that said first and second enabling information comprise a terminal identifier. 25. Système selon les revendications 23 et 24, caractérisé en ce que lesdites premières et secondes informations d'habilitation comportent en outre un identifiant de processeur de sécurité.  25. System according to claims 23 and 24, characterized in that said first and second enabling information further comprises a security processor identifier. 26. Système selon l'une des revendications 24 et 25, caractérisé en ce que le serveur comporte une base de données (21) stockant des informations d'habilitation de plusieurs terminaux et des applications logicielles spécifiques aux terminaux, en correspondance d'au moins des identifiants respectifs de terminaux, pour la gestion d'un parc de terminaux récepteurs à disposition d'usagers.  26. System according to one of claims 24 and 25, characterized in that the server comprises a database (21) storing authorization information of several terminals and terminal-specific software applications, corresponding to at least respective terminal identifiers, for the management of a pool of receivers terminals available to users. 27. Système selon l'une des revendications 20 à 26, caractérisé en ce que les applications logicielles comportent au moins un système d'exploitation de ressources informatiques du terminal.  27. System according to one of claims 20 to 26, characterized in that the software applications comprise at least one terminal computer resource operating system. 28. Système selon l'une des revendications 20 à 27, caractérisé en ce que le terminal comporte une mémoire permanente pour stocker les applications logicielles issues du serveur.  28. System according to one of claims 20 to 27, characterized in that the terminal comprises a permanent memory for storing the software applications from the server. 29. Système selon la revendication 28, caractérisé en ce que ladite mémoire permanente est une mémoire flash (17) et/ou une mémoire E2PROM (18).  29. System according to claim 28, characterized in that said permanent memory is a flash memory (17) and / or an E2PROM memory (18). 30. Système selon l'une des revendications 20 à 27, caractérisé en ce que le terminal comporte une mémoire volatile (16) pour stocker les applications logicielles issues du serveur.  30. System according to one of claims 20 to 27, characterized in that the terminal comprises a volatile memory (16) for storing the software applications from the server. 31. Système selon l'une des revendications 20 à 30, caractérisé en ce que la liaison bidirectionnelle (81-82) entre le terminal et le serveur est de type xDSL.  31. System according to one of claims 20 to 30, characterized in that the bidirectional link (81-82) between the terminal and the server is of type xDSL. 32. Terminal récepteur, d'un système selon l'une des revendications 20 à 31.  Receiving terminal of a system according to one of claims 20 to 31. 33. Serveur d'un système selon l'une des revendications 20 à 31.  33. Server of a system according to one of claims 20 to 31.
FR0411012A 2004-10-18 2004-10-18 METHOD AND SYSTEM FOR CONTROLLING ENABLING INTERNAL SOFTWARE ENABLING A RECEIVER TERMINAL Expired - Fee Related FR2876859B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR0411012A FR2876859B1 (en) 2004-10-18 2004-10-18 METHOD AND SYSTEM FOR CONTROLLING ENABLING INTERNAL SOFTWARE ENABLING A RECEIVER TERMINAL
EP05809248A EP1803297A1 (en) 2004-10-18 2005-10-10 Method and installation for access control for the internal programme of a receiver terminal
CN 200580035662 CN101044758A (en) 2004-10-18 2005-10-10 Method and installation for access control for the internal programme of a receiver terminal
PCT/FR2005/002495 WO2006042932A1 (en) 2004-10-18 2005-10-10 Method and installation for access control for the internal programme of a receiver terminal
TW094135672A TW200627956A (en) 2004-10-18 2005-10-13 Method and installation for controlling enabling of the internal software of a receiver terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0411012A FR2876859B1 (en) 2004-10-18 2004-10-18 METHOD AND SYSTEM FOR CONTROLLING ENABLING INTERNAL SOFTWARE ENABLING A RECEIVER TERMINAL

Publications (2)

Publication Number Publication Date
FR2876859A1 true FR2876859A1 (en) 2006-04-21
FR2876859B1 FR2876859B1 (en) 2007-01-05

Family

ID=34950904

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0411012A Expired - Fee Related FR2876859B1 (en) 2004-10-18 2004-10-18 METHOD AND SYSTEM FOR CONTROLLING ENABLING INTERNAL SOFTWARE ENABLING A RECEIVER TERMINAL

Country Status (5)

Country Link
EP (1) EP1803297A1 (en)
CN (1) CN101044758A (en)
FR (1) FR2876859B1 (en)
TW (1) TW200627956A (en)
WO (1) WO2006042932A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1857956A2 (en) * 2006-05-09 2007-11-21 Apple Inc. Determining validity of subscription to use digital content
WO2008127092A2 (en) * 2007-03-14 2008-10-23 Aht Europe Ltd Device and method for gaining conditional access to a data network

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795295A (en) * 2010-03-11 2010-08-04 北京安天电子设备有限公司 Local area network virus library upgrading system and method based on P2P technology
CN102347939B (en) 2010-08-05 2015-09-09 华为终端有限公司 The method of software administration, Apparatus and system
CN102647282B (en) * 2011-02-18 2015-06-17 鸿富锦精密工业(深圳)有限公司 Electronic device and method for managing network devices based on POE (Power Over Ethernet)
JP2012221240A (en) * 2011-04-08 2012-11-12 Sony Corp Information processor and authentication method and program
CN103024438B (en) * 2012-12-31 2016-06-08 深圳市九洲电器有限公司 A kind of Set Top Box and production test method, system
CN105635094B (en) * 2015-06-16 2019-04-12 宇龙计算机通信科技(深圳)有限公司 Safe verification method, safety verification device and security authentication systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003053055A1 (en) * 2001-12-18 2003-06-26 Thomson Licensing S.A. Internally generated close captioning/tele-texting for set-up menus of network-capable signal processing apparatus
US20040025013A1 (en) * 2002-07-30 2004-02-05 Imagictv Inc. Secure multicast flow

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003053055A1 (en) * 2001-12-18 2003-06-26 Thomson Licensing S.A. Internally generated close captioning/tele-texting for set-up menus of network-capable signal processing apparatus
US20040025013A1 (en) * 2002-07-30 2004-02-05 Imagictv Inc. Secure multicast flow

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1857956A2 (en) * 2006-05-09 2007-11-21 Apple Inc. Determining validity of subscription to use digital content
EP1857956A3 (en) * 2006-05-09 2010-04-07 Apple Inc. Determining validity of subscription to use digital content
EP3093782A1 (en) * 2006-05-09 2016-11-16 Apple Inc. Determining validity of subscription to use digital content
US10528705B2 (en) 2006-05-09 2020-01-07 Apple Inc. Determining validity of subscription to use digital content
WO2008127092A2 (en) * 2007-03-14 2008-10-23 Aht Europe Ltd Device and method for gaining conditional access to a data network
WO2008127092A3 (en) * 2007-03-14 2009-02-19 Aht Europ Ltd Device and method for gaining conditional access to a data network

Also Published As

Publication number Publication date
EP1803297A1 (en) 2007-07-04
WO2006042932A1 (en) 2006-04-27
TW200627956A (en) 2006-08-01
CN101044758A (en) 2007-09-26
FR2876859B1 (en) 2007-01-05

Similar Documents

Publication Publication Date Title
EP1683388B1 (en) Method for managing the security of applications with a security module
EP1803297A1 (en) Method and installation for access control for the internal programme of a receiver terminal
EP2177025B1 (en) Method and device for the partial encryption of a digital content
WO2005053263A2 (en) Method for the authentication of applications
WO2006056572A2 (en) Digital audio/video data processing unit and method for controlling access to said data
WO2003051055A1 (en) Protocol for controlling the mode of accessing data transmitted in point-to-point or point-to-multipoint mode
WO2007051823A2 (en) Method for securing data exchanged between a multimedia processing device and a security module
FR3025377A1 (en) MANAGEMENT OF ELECTRONIC TICKETS
EP1867159A2 (en) Method for authenticating a digital content user
EP1994745B1 (en) Method for securely delivering audiovisual sequences, decoder and system therefor
EP1353511A2 (en) Access rights management process for television services
WO2004017635A1 (en) Method for verifying validity of domestic digital network key
FR2848764A1 (en) Paying digital television signal access controlling procedure, involves emitting messages having contents for monitoring allocation of rights, and enabling additional offer of service/program to subscriber based on users profile
FR2999851A1 (en) METHOD FOR ACCESSING A SERVICE PROPOSED BY A REMOTE SERVER.
FR2883683A1 (en) METHOD FOR MATCHING BETWEEN A TERMINAL AND A SECURITY PROCESSOR, SYSTEM AND COMPUTER PROGRAM FOR IMPLEMENTING THE METHOD
EP2372945A1 (en) Secure data transmission method between a set-top box and an interactive service platform
WO1999012352A1 (en) Method and installation for uploading a user's decoder platform
WO2004073307A1 (en) Method and system for guaranteeing the integrity of at least one software program which is transmitted to an encryption/decryption module and recording media for implementing same
FR3110263A1 (en) Method and system for authenticating a computer application, or a function of the application, executed by a media receiver
EP1723788B1 (en) Process for managing the handling of conditional access data by at least two decoders
EP1590960A2 (en) Method for storing and transmitting data generated by a security module
FR2865592A1 (en) Encrypted television signals broadcasting method, involves executing validity checks of decoders and remote control center, where center transmits authorization data for decrypting encrypted signal when validity checks are positive
WO2003077555A2 (en) Remote control protocol for a local action to generate a command message
WO2008050055A2 (en) Method for managing access rights to a digital content in a peer network
WO2004032508A1 (en) Method for the secure transmission of audiovisual files

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20160630