Brevet FR2920619A1 — publié le 20090306

-1- PROCEDE DE VISUALISATION D'UN CONTENU MULTIMEDIA EXCLUSIF HEBERGE PAR UN SERVEUR DE FICHIERS AU MOYEN D'UNE APPLICATION DOMAINE DE L'INVENTION L'invention a trait au domaine de l'accès et la visualisation de contenus exclusifs. Par exclusif, on entend ici des données qui sont accessibles sur des serveurs 10 uniquement à des personnes ou des applications logicielles autorisées. L'invention trouve particulièrement application à la visualisation de contenus multimédia (chansons, clips vidéo, etc...) réservés aux personnes s'étant légalement procurées une oeuvre audiovisuelle (album, film, etc...). ETAT ANTERIEUR DE LA TECHNIQUE Pour faire face au piratage, il a été prévu de récompenser les personnes se procurant légalement des albums musicaux en leur permettant d'avoir accès à des titres 20 supplémentaires sur des sites internet. On connaît ainsi un système connu sous le nom d'� OpenDisc �. Ce système consiste en l'incorporation sur le CD-ROM d'un album musical d'une application d'accès à un contenu web exclusif. 25 Plus spécifiquement, l'application OpenDisc vérifie qu'elle est résidente sur le CD-ROM en vérifiant l'existence de codes ISRC mémorisés sur celui-ci (codes d'identification uniques des morceaux musicaux) et ouvre, si cela est bien le cas, une porte cachée sur un site internet. L'utilisateur peut alors lancer son navigateur 30 Web et avoir accès par exemple à des morceaux musicaux supplémentaires. Toutefois, une fois la porte cachée ouverte, l'application OpenDisc ne permet pas un échange sécurisé entre le site internet et l'ordinateur de l'utilisateur de cette application. En outre, cet applicatif se résume essentiellement en l'autorisation d'accès à un contenu exclusif. Afin de visualiser un tel contenu, il est nécessaire de faire appel à d'autres applications, tel qu'un navigateur Web par exemple. Or, la multiplication des applications augmentent les risques de piratage. 15 35 -2- Le but de la présente invention est de proposer un procédé qui permette à la fois une connexion hautement sécurisée avec le serveur comportant le contenu exclusif et la visualisation d'un tel contenu, et cela à l'aide d'une unique application. EXPOSE DE L'INVENTION A cet effet, l'invention a pour objet un procédé d'accès à un contenu multimédia exclusif hébergé par un serveur de fichiers au moyen d'une application exécutable 10 sur un ordinateur raccordé au serveur au travers d'un réseau de communication de données. Selon l'invention, le procédé comporte la mise en oeuvre par le serveur et l'application d'un même algorithme de cryptage et de décryptage de données sur la 15 base d'une clef privée partagée, ainsi que : la génération et l'émission par l'application d'une requête cryptée de visualisation de ce contenu, ladite requête comportant des premières données qui lui sont spécifiques ; 20 la réception et le décryptage de la requête par le serveur ; l'extraction par le serveur des premières données spécifiques contenues dans la requête, la génération par le serveur d'un identifiant unique en fonction des premières données spécifiques extraites, et la mémorisation par le serveur de l'identifiant ; 25 le cryptage par le serveur de l'identifiant et l'émission par le serveur de l'identifiant crypté ; ^ la réception et le décryptage par l'application de l'identifiant crypté, et l'émission à destination du serveur de l'identifiant décrypté ; ^ la réception par le serveur de l'identifiant décrypté, la comparaison de 30 celui-ci avec l'identifiant mémorisé dans le serveur, et la suppression de l'identifiant mémorisé dans le serveur; ^ l'autorisation par le serveur à l'application d'accéder au contenu si les identifiants comparés sont identiques ; et ^ l'accès au contenu par l'application. 35 En d'autres termes, la connexion au serveur présente un double niveau de sécurité. -3- Tout d'abord, l'algorithme et la clef privée de l'application doivent être identiques à ceux du serveur. De plus, l'application étant par exemple sous forme de format exécutable, il est difficile d'avoir accès à son algorithme et à sa clef privée. Ensuite, la visualisation du contenu est réalisée uniquement sur requête. Or, l'identifiant généré par le serveur à la suite d'une requête s'apparente à une clef d'accès à usage unique associée à celle-ci. En effet, cet identifiant, qui est unique, n'est plus utilisable une fois la visualisation du contenu terminé du fait de sa suppression par le serveur. Ainsi, quand bien même, un identifiant serait piraté, il ne serait d'aucune utilité par la suite. Enfin, la visualisation est réalisée par l'application elle-même qui dispose par exemple d'un module de lecture multimédia. On évite ainsi la multiplication des 15 applications et les risques de piratage. Selon des modes de réalisation particuliers, le procédé comporte une ou plusieurs des caractéristiques suivantes : 20 ^ les données spécifiques sont des données d'horodatage de l'instant de génération de la requête ^ les données d'horodatage sont exprimées en millisecondes ; ^ la génération de l'identifiant comprend la production par le serveur de secondes données spécifiques à la requête, l'identifiant étant générée en 25 fonction desdites secondes données ; ^ les serveurs incrémentent un compteur à chaque génération d'identifiant, les secondes données spécifiques à la requête étant formées de la valeur du compteur incrémentée ; ^ l'identifiant est formée des premières et secondes données spécifiques à la 30 requête ; ^ il comporte l'analyse statistique des données spécifiques extraites des requêtes ; ^ l'application est stockée sur un support informatique amovible, notamment du type CD-ROM, CD-Extra ou DVD-ROM, et l'application est exécutée 35 lors l'introduction du support informatique dans l'ordinateur ; -4- ^ l'application est associée à un ensemble de données permanentes et de données mises à jours par interrogation du serveur de fichier lors de son exécution ; ^ les données permanentes sont stockées sur le même support que celui stockant l'application ; ^ la visualisation d'un contenu est réalisée au moyen d'un module multimédia contenu dans l'application. L'invention a également pour objet un produit programme d'ordinateur stockant des instructions exécutables par ordinateur, qui, en association avec un serveur de fichiers, est apte à mettre en oeuvre le procédé précité. BREVE DESCRIPTION DES FIGURES L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple, et faite en relation avec les dessins annexés, dans lesquels : - la figure 1 est une vue schématique d'un système de visualisation de contenu exclusif mettant en oeuvre l'invention ; et - la figure 2 est un organigramme d'un procédé selon l'invention. DESCRIPTION DETAILLEE DE L'INVENTION Sur la figure 1, un ordinateur 10 et un serveur de fichiers 12 sont connectés à un réseau de communication de données 14, par exemple un réseau internet, de préférence à haut débit, et communiquent au travers de modules de connexion 16 et 18 respectifs. Les modules de connexion 16 et 18 sont en charge de la connexion sécurisée entre l'ordinateur 10 et le serveur de fichiers 12. A cet effet, ces modules 16, 18 mettent en oeuvre un algorithme de cryptage/décryptage identique sur la base d'une clef de cryptage privée identique, comme cela sera expliqué plus en détail par la suite. L'ordinateur comporte également un module multimédia 20 apte à lire des données informatiques sous différents formats, comme du texte, du contenu audio ou du contenu vidéo par exemple. Ces données sont mémorisées dans un module de -5- stockage 22 ou bien sont délivrées sous la forme de flux par le module de connexion 16. Selon l'invention, le module de connexion 16 et le module multimédia 20 sont mis en oeuvre par une seule application logicielle, par exemple mémorisée sur un CD-ROM, un CD-Extra ou un DVD-ROM introduit dans un lecteur de l'ordinateur 10 et exécutée lors de la lecture de celui-ci, comme cela sera également expliqué plus en détail par la suite. Le serveur de fichiers 12 comporte quant à lui un module 24 de stockage de fichiers, les fichiers de ce module 24 étant accessibles par l'ordinateur 10 uniquement après autorisation du module 18 de connexion. Le serveur 12 comporte également un module 26 d'extraction de données et un compteur 28 de requête de connexion, chacun connectés au module de connexion 18. Le serveur 12 comporte en outre un module 30 de génération d'identifiant de connexion, connecté au module 26 d'extraction de données, au compteur 28 et au module de connexion 18. Enfin le serveur 12 comporte un module 32 de type back-office mettant à jour les fichiers contenus dans le module de stockage 24 en fonction de données fournies par un opérateur. L'organigramme de la figure 2 illustre le fonctionnement du système venant d'être 25 décrit. Dans une première étape 40, l'application, mettant en oeuvre le module de connexion 16 et le module multimédia 20, est lancée. 30 Cette application est par exemple gravée sur un support informatique amovible ( CD-ROM, CD-Extra, DVD-ROM, clef USB, etc...) contenant une oeuvre audiovisuelle et s'exécute automatiquement lors de l'introduction du support amovible dans un lecteur dédié de l'ordinateur 10. 35 De préférence, l'application comporte une interface homme-machine, par exemple de type navigateur internet, permettant à l'utilisateur, non seulement de lire l'oeuvre audiovisuelle, mais également de consulter des informations relatives au concepteur de cette oeuvre. -6- Une partie des ces informations est par exemple stockée de manière permanente dans le support lui-même, comme par exemple une bibliographie, des photographies, des making-of, etc... Une autre partie de ces informations est de préférence mémorisée dans le module de stockage 24 du serveur de fichier 12, comme par exemple des dates de concerts, des bonus musicaux ou vidéo, etc... Ces informations sont par nature réservées aux acheteurs légaux de l'oeuvre, et sont à ce titre accessibles uniquement sur le serveur 12, ou bien sont de nature éphémère et nécessitent donc une mise à jour régulière. Pour accéder à ces informations, les étapes suivantes du procédé sont mises en oeuvre. Dans une étape 42, le module de connexion 16 de l'ordinateur 10 teste si ce dernier dispose d'une connexion internet active, et génère, dans un tel cas, une requête de connexion au serveur 12. Cette requête contient des données spécifiques à la requête, notamment des données d'horodatage de l'instant de sa génération. De préférence, ces données d'horodatage sont exprimées dans une unité offrant un nombre de chiffres importants, comme la milliseconde par exemple. La requête ainsi générée est cryptée en 44 par le module 16 à l'aide de l'algorithme de cryptage/décryptage et de la clef privée qu'il contient, puis la requête cryptée est émise sur le réseau de communication 14 à destination du serveur 12. Le module de connexion 18, qui scrute le réseau 14 en attente de requête en connexion, reçoit ainsi, en 46, la requête cryptée émise. Dans une étape 48 suivante, le module 18 de connexion décrypte la requête reçue à 30 l'aide de l'algorithme de cryptage/décryptage et de la clef privée qu'il contient. Cet algorithme et cette clef étant identiques à ceux du module 16 de connexion de l'ordinateur 10, le décryptage est donc possible. En cas de réception d'une requête cryptée à l'aide d'un algorithme différent et/ou à 35 l'aide d'une clef de cryptage différente, le module de connexion 18 du serveur 12 rejette la requête en connexion.25 -7- Dans une étape 50 suivante, la requête décryptée par le module 18 est délivrée au module d'extraction 26 qui extrait alors les données spécifiques d'horodatage contenues dans celle-ci, c'est-à-dire les données d'horodatage. Parallèlement, dans une étape 52 le module de connexion 18 informe le compteur 28 du décryptage réussi de la requête, et, en réponse, le compteur 28 incrémente d'une unité sa valeur. Les étapes d'extraction 50 et d'incrémentation 52 sont alors suivies d'une étape 54 10 dans laquelle les données d'horodatage extraites de la requête et la valeur du compteur 28 sont délivrées au module 30 de génération d'identifiant. Le module 30 génère alors en réponse, toujours en 54, un identifiant unique égal à la concaténation des données d'horodatage et de la valeur du compteur. Cet 15 identifiant est ensuite délivré en 56 au module de connexion 18 qui le mémorise, par exemple dans une base de données d'identifiants. Dans une étape 58 suivante, le module 18 de connexion crypte l'identifiant selon son algorithme et sa clef privée et émet l'identifiant crypté sur le réseau 14 à 20 destination de l'ordinateur 10. Le module 16 de connexion de l'ordinateur 10, qui scrute la réponse du serveur à sa requête en connexion, reçoit alors, en 60, cet identifiant et le décrypte. 25 Dans une étape 62 suivante, le module de connexion 16 de l'ordinateur 10 émet l'identifiant décrypté sur le réseau 14 à destination du serveur 12. Ensuite, en 64, le module de connexion 18 du serveur reçoit l'identifiant décrypté et le compare aux identifiants contenus dans la base de données d'identifiants. Une 30 fois la comparaison terminée, le module 18 efface alors l'identifiant de la base de données. En cas de comparaison positive avec l'un des identifiants de la base de données, le module de connexion 18 autorise alors, en 66, le module de connexion 16 à accéder 35 au contenu du module de stockage 24. -8- En 68, le module de connexion 16 reçoit alors sous forme de flux les données du module de stockage 24 et les délivrent au module multimédia 20 pour leur visualisation. Pour visualiser de nouveau les données contenues dans le module 24, le procédé venant d'être décrit doit alors être de nouveau exécuté. Dans un mode de réalisation préféré, les données d'horodatage extraites par le serveur sont conservées par le serveur 12 dans un but d'analyse statistique (nombre de connexions par jour, durée moyenne de connexion, etc...). Dans un mode de réalisation particulier, les données spécifiques contenues dans une requête en connexion comportent également des données géographiques de l'ordinateur 10. De telles données géographiques sont par exemple déduites de l'adresse IP de celui-ci, et servent également à des fins statistiques. Il a été décrit une application particulière de l'invention au domaine de l'industrie audiovisuelle. L'invention s'applique cependant à tout type de domaine dans la mesure où un 20 besoin de consultation sécurisée de données spécifiques est nécessaire. Par exemple, il est possible de prévoir une documentation commerciale sur CD-ROM, CD-Extra ou DVD-ROM comportant des documents communs à plusieurs pays et/ou plusieurs langues. L'application selon l'invention permet alors de 25 visualiser de manière spécifique des données relatives à la langue et/ou au pays de l'utilisateur. Ceci est particulièrement avantageux lorsqu'une connexion bas débit au réseau est seulement disponible. Ainsi, les documents les plus volumineux (photo, vidéo,...) 30 sont stockés sur le CD-ROM, le CD-Extra ou le CD-ROM, et les données spécifiques à la langue et au pays tel que du texte, des prix, etc, sont chargées depuis le serveur. A ce titre, il est possible d'envisager d'utiliser l'invention dans des assistants numériques personnels reliés au serveur de fichier par un réseau sans fil tel qu'un réseau GSM, 3G, Edge, etc... 35 De même, il a été décrit une application dans laquelle l'ordinateur et le serveur sont connectés au travers du réseau internet. On comprendra que la présente invention s'applique à tout type de réseaux, comme un réseau intranet par exemple. -9- De même, il a été décrit une application dans laquelle l'invention est réalisée sous une forme logicielle mémorisée sur un support amovible (CD-ROM, CD-Extra, DVD-ROM, clef USB, etc...). On comprendra que le logiciel selon l'invention puisse être mémorisé directement sur l'ordinateur. Grâce à l'invention, il est obtenu entre autre les avantages suivants : -un premier niveau de sécurité grâce à l'utilisation du cryptage/décryptage à clef privée ; - un second niveau de sécurité grâce à l'utilisation de clef d'accès (identifiant) à usage unique ; - une seule application logicielle est utilisée, minimisant les risques de piratage ; et - une rapidité du transfert de données dans la mesure où les données importantes ne sont pas téléchargées.15 REVENDICATIONS 1. Procédé d'accès à un contenu multimédia exclusif hébergé par un serveur de fichiers (12) au moyen d'une application exécutable sur un ordinateur (10) raccordé au serveur (12) au travers d'un réseau de communication de données (14), caractérisée en ce qu'il comporte la mise en oeuvre par le serveur et l'application d'un même algorithme de cryptage et de décryptage de données sur la base d'une clef privée partagée, et en ce qu'il comporte : la génération et l'émission (42, 44) par l'application d'une requête cryptée de visualisation de ce contenu, ladite requête comportant des premières données qui lui sont spécifiques ; ^ la réception et le décryptage (46, 48) de la requête par le serveur ; ^ l'extraction (50) par le serveur des premières données spécifiques contenues dans la requête, la génération (54) par le serveur d'un identifiant unique en fonction des premières données spécifiques extraites, et la mémorisation (56) par le serveur de l'identifiant ; ^ le cryptage (58) par le serveur de l'identifiant et l'émission par le serveur 20 de l'identifiant crypté ; ^ la réception et le décryptage (60) par l'application de l'identifiant crypté, et l'émission (62) à destination du serveur de l'identifiant décrypté ; ^ la réception (64) par le serveur de l'identifiant décrypté, la comparaison de celui-ci avec l'identifiant mémorisé dans le serveur, et la suppression de 25 l'identifiant mémorisé dans le serveur; l'autorisation (66) par le serveur à l'application d'accéder au contenu si les identifiants comparés sont identiques ; et l'accès (68) au contenu par l'application. 30 2. Procédé selon la revendication 1, caractérisé en ce que les données spécifiques sont des données d'horodatage de l'instant de génération de la requête. 3. Procédé selon la revendication 2, caractérisé en ce que les données d'horodatage sont exprimées en millisecondes. 35-11- 4. Procédé selon la revendication 1, 2 ou 3, caractérisé la génération (54) de l'identifiant comprend la production par le serveur de secondes données spécifiques à la requête, l'identifiant étant générée en fonction desdites secondes données. 5. Procédé selon la revendication 4, caractérisé en ce que les serveurs incrémentent (52) un compteur à chaque génération d'identifiant, les secondes données spécifiques à la requête étant formées de la valeur du compteur incrémentée. 6. Procédé selon la revendication 4 ou 5, caractérisé en ce que l'identifiant est formée des premières et secondes données spécifiques à la requête. 7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en 15 ce qu'il comporte l'analyse statistique des données spécifiques extraites des requêtes. 8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'application est stockée sur un support informatique amovible, 20 notamment du type CD-ROM, CD-Extra ou DVD-ROM, et en ce que l'application est exécutée lors l'introduction du support informatique dans l'ordinateur. 9. Procédé selon l'une quelconque des revendications précédentes, caractérisé 25 en ce que l'application est associée à un ensemble de données permanentes et de données mises à jours par interrogation du serveur de fichier lors de son exécution. 10. Procédé selon la revendication 9, caractérisé en ce que les données 30 permanentes sont stockées sur le même support que celui stockant l'application. 10-12- 11. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la visualisation d'un contenu est réalisée au moyen d'un module multimédia contenu dans l'application. 12. Produit programme d'ordinateur stockant des instructions exécutables par ordinateur, qui, en association avec un serveur de fichiers, est apte à mettre en oeuvre le procédé selon l'une quelconque des revendications précédentes.10