Brevet FR2927493A1 — publié le 20090814

PROCEDE ET SYSTEME DE SECURISATION DE DIFFUSION DE DONNÉES DOMAINE TECHNIQUE DE L'INVENTION [0001]La présente invention propose un procédé de sécurisation de diffusion de 5 données et un système pour la mise en oeuvre de ce procédé. [0002] L'invention se rapporte au domaine du traitement sécurisé des flux de données numériques. ETAT DE LA TECHNIQUE ANTERIEURE [0003] Le développement des moyens de télécommunication et le taux croissant 10 de pénétration au sein de la population d'équipements susceptibles de traiter des contenus de fichier multimédia, ont concouru au développement de systèmes de diffusion de données multimédia. [0004] Ces systèmes de diffusion se rapportent à des mécanismes de distribution de programmes audiovisuels tels que des films ou encore des morceaux de 15 musique, utilisant des technologies de transport numérique de l'information correspondant à des réseaux filaires : réseau câblé, fibre optique ; ou sans fil : WIMAX, WIFI, réseau satellitaire, technologie DSL. Dans ces systèmes se pose de manière générale le problème de pouvoir éviter le détournement du fichier numérique diffusé à d'autres fins que celles qui sont 20 prévues par le diffuseur et les ayants droits du contenu de ce fichier numérique. On connaît, dans l'art antérieur, le document US7233948, décrivant un procédé de transmission sécurisé de données multimédia au travers d'un flux en � streaming � dans une architecture client/serveur. Les données envoyées par le serveur sont cryptées. Ces données sont reçues par un équipement client 25 comprenant une application informatique susceptible de décrypter ces données afin d'en déterminer le contenu multimédia. Ainsi un tel système comprend des moyens de cryptage et de décryptage à la volé de données multimédia, associés à un mécanisme de contrôle de l'utilisation du contenu multimédia de ces données (DRM). L'inconvénient d'un tel système est une mise en oeuvre complexe, qui nécessite des ressources matérielles conséquentes tant au niveau du serveur qu'au niveau de l'équipement client, car les étapes de cryptage/décryptage de flux de données sont fortement consommatrices de ressources matérielles à cause notamment des temps de calculs importants. Pour pallier cet inconvénient, on connaît dans l'art antérieur le document EP1222769 dans lequel la sécurisation de la distribution de données multimédia est assurée par l'insertion de données cachées dans le flux de données comprenant un fichier numérique. Ce flux est transmis à un équipement comprenant un programme informatique de lecture comportant des moyens d'extraction de ces données puis de décryptage de ces données cachées, afin de les exécuter pour la restitution du contenu du fichier multimédia. Cependant, le flux de données transmis à l'équipement comprend le fichier de données numériques ainsi que les données cachées comprises dans ce fichier. Un individu mal intentionné peut ainsi, après avoir récupéré ce fichier, effectuer un traitement adapté de ce fichier pour disposer de son contenu multimédia. EXPOSE DE L'INVENTION [0005] La présente invention vise à résoudre le problème lié aux difficultés techniques rencontrées pour la sécurisation de mécanisme de diffusion de données. [0006] L'invention propose d'améliorer les performances et l'interopérabilité des systèmes de sécurisation de diffusion de données par des mécanismes de découpage optimal de flux de données afin de réaliser une reconstitution supérieure des données. [0007] Plus précisément, l'invention a pour objet un procédé de sécurisation de diffusion de données entre une base de données et une unité de traitement comprenant les étapes suivantes : -découpage du fichier de données numériques en au moins deux fichiers découpés à partir d'au moins un point de découpe par les moyens de traitement d'un serveur, - stockage séparé des fichiers découpés et d'au moins un paramètre d'identification du point de découpe dans ladite base de données connectée audit serveur, - transmission des fichiers découpés et dudit au moins un paramètre d'identification à l'unité de traitement, et - reconstitution du fichier de données numériques par l'unité de traitement à partir des fichiers découpés et du paramètre ; Selon des modes de réalisation particuliers : - l'étape de découpage comprend une étape préalable de détermination du paramètre d'au moins un point de découpe à partir d'une analyse du spectre d'un signal correspondant audit fichier de données numériques, par au moins une séquence du spectre définissant un niveau de gain minimal ; - l'étape de découpe comprend une étape ultérieure de modification de la taille de ces fichiers afin de masquer les points de découpe; - l'étape de modification correspond à un ajout de données numériques à au moins une extrémité de chacun des fichiers découpés; - l'étape d'archivage est précédée par une étape de cryptage du paramètre d'identification du point de découpe ; 25 - chaque fichier numérique est découpé selon un nombre de points de découpe aléatoire ou paramétrable ; - l'étape de reconstitution comprend une sous-étape de décryptage du paramètre crypté d'identification du point de découpe ; 10 15 20 - la transmission à l'unité de traitement des fichiers découpés et dudit au moins un paramètre d'identification du point de découpe compris dans la base de données est réalisée à partir des moyens de lecture/écriture de l'unité de traitement ; - la transmission à l'unité de traitement des fichiers découpés et dudit au moins un paramètre d'identification du point de découpe compris dans la base de données est réalisée à partir de liaisons filaire, - la transmission à l'unité de traitement des fichiers découpés et dudit au moins un paramètre d'identification du point de découpe compris dans la base de données est réalisée à partir de liaisons sans fil, - l'étape de transmission succède à une étape de réception par la base de donnée d'une requête provenant de l'unité de traitement pour la transmission des fichiers découpés et dudit au moins un paramètre d'identification du point de découpe, - les fichiers découpés comprennent d'autres points correspondant à des points de liaison permettant à l'unité de traitement de relier des ensembles de fichiers découpés entre eux, chaque ensemble correspondant à un fichier de données numériques, et - l'étape de transmission comprend l'envoi à l'unité de traitement d'une liste d'adresses d'URL (signifiant � Uniform Resource Locator �, littéralement localisateur uniforme de ressource) dans laquelle chaque URL identifie ces fichiers découpés par une séquence et définit un ordre d'assemblage de ce fichier. [0008] L'invention se rapporte également à un système de diffusion de données 25 entre une base de données et une unité de traitement, le système comprenant : - un serveur comportant des moyens de traitement pour réaliser un découpage d'un fichier de données numériques en au moins deux fichiers découpés selon au moins un point de découpe défini, - la base de données archivant lesdits fichiers découpés et un paramètre d'identification du point de découpe, lesdits fichiers découpés et ledit paramètre ayant été transmis dudit serveur à la base de données à partir des moyens de communication respectifs dudit serveur et d'un dispositif, et - l'unité de traitement comportant des moyens de communication permettant de recevoir les fichiers découpés et le paramètre d'identification du point de découpe, et des moyens de traitement pour la reconstruction du fichier de données numériques à partir des fichiers découpés et du paramètre se rapportant au point de découpe. Selon des modes de réalisation particuliers : - l'unité de traitement comporte des moyens de lecture et des moyens de communication, - les moyens de communication sont filaires, - l'unité de traitement est un terminal mobile et/ou un lecteur de fichier de données numériques audio/vidéo, - la base de données est reliée à ladite unité de traitement par des liaisons filaire, - la base de données est reliée à ladite unité de traitement par des liaisons sans fil, - la base de données est comprise dans un support de mémoire, - le support de mémoire est une carte de mémoire masse tel qu'une carte de mémoire flash et/ou une clef USB et/ou une clef Firewire et/ou un disque dur, - le support de mémoire est un disque optique, - les données comprises dans la base de données sont support de mémoire est inséré dans les moyens de lecture/écriture de l'unité de traitement. BREVE DESCRIPTION DES FIGURES [0009] D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent : - la Figure 1, une vue schématique d'un exemple de système selon 10 l'invention, et; - la figure 2, un vue schématique de la découpe du fichier de données numériques selon l'invention. [0010] Pour plus de clarté, les éléments identiques ou similaires sont repérés par 15 des signes de référence identiques sur l'ensemble des figures. DESCRIPTION DETAILLEE D'UN MODE DE REALISATION Dans un exemple de réalisation du système selon l'invention, la figure 1 montre un système comprenant : - un serveur 3, 20 - un dispositif 1 comportant notamment une base de données 4 et des moyens de communication 5 et/ou des moyens de connexion 5, et - une unité de traitement 2. L'unité de traitement 2 correspond à un terminal 2 fixe ou mobile tels qu'un ordinateur, un démodulateur, un téléphone portable, un PDA, un Smartphone, un 25 lecteur de fichiers audio et/ou vidéo, à tous équipements comprenant des moyens de traitement pour la lecture et/ou l'écriture de contenu de fichier de données numériques audio et/ou vidéo. Une telle unité de traitement 2 comprend : - au moins un microprocesseur 10, - de la mémoire 11 volatile et/ou non volatile et/ou de masse, - des moyens de saisie 8, tel qu'un clavier et/ou une souris, - des moyens d'affichage 7, et - des moyens de communication 6. [0011] Les moyens de communication 6 de cette unité de traitement 2 se rapportent à : - des moyens de lecture/écriture tels qu'un lecteur de disque optique, un lecteur de carte mémoire, tous types de lecteur de support de mémoire, - un module RFID et/ou Bluetooth et/ou IrDA (Infrared Data Association), et/ou WI-FI (abbreviation de wireless fidelity) et/ou Wimax, - un module de télécommunication fonctionnant selon les normes GPRS (General Packet Radio Service), GSM, UMTS,HSDPA ou IMS, - un module VoIP, - un module se rapportant à un port USB ou encore Firewire. 20 [0012] Le dispositif 1 correspond à : - un support de mémoire 1 tels qu'un disque optique (CD, DVD, DVD BlueRay, HD-DVD), ou une carte à mémoire de masse (carte flash) ou une clef USB/Firewire, ou encore un disque dur, - un serveur 1. 25 Le dispositif 1 comprend des moyens de communication 5 qui sont compatibles avec l'unité de traitement 2. 15 [0013] Le serveur 3 comprend une base de données 14 archivant des fichiers de données numériques 18, des moyens de communication 12 et/ou de connexion 12, et des moyens de traitement 13. [0014] Dans ce mode de réalisation de l'invention, les fichiers de données numériques 18 correspondent à des fichiers multimédia audio et/ou vidéo. Les moyens de traitement 13 de ce serveur 3, comprennent un microprocesseur agencé avec des moyens de mémoire, volatiles ou non volatiles, stockant des codes de programmation, de sorte à déterminer à partir d'un fichier numérique 18, chargé aussi dans lesdits moyens de mémoire, au moins un point de découpe 20 (autrement nommé �cue inside �), et des points de liaison 19,21 (autrement nommé � cue in � et � cue out �). [0015] Le point de découpe 20 et les points de liaison 19,21 sont représentés à la figure 2. [0016] Les moyens de traitement 13 déterminent le point de découpe 20 à partir de l'analyse du fichier de données numériques en détectant le ou les points optimum ou une découpe n'engendre pas lors du réassemblage par l'unité de traitement 2 une perturbation perceptible par au moins un organe de perception d'un individu. Plus précisément la détermination du point de découpe du fichier de données numériques comprend une étape d'analyse de ce fichier permettant de détecter au moins un paramètre où la fréquence et le niveau de gain audio sont optimums. Lorsque le fichier de données numériques se rapporte à un fichier audio, un algorithme de traitement du signal repère dans le fichier le moment ou les fréquences et le niveau de gain sont les plus bas, dans un intervalle de temps suffisant pour opérer la découpe. Un tel niveau de perception est mesuré en � sonie�. Ainsi la détermination du paramètre d'au moins un point de découpe est réalisée à partir d'une analyse du spectre d'un signal correspondant au fichier de données numériques, par au moins une séquence du spectre définissant un niveau de gain minimal sur un intervalle de temps suffisant. De la même façon, lorsque le fichier de données numériques se rapporte à un fichier vidéo un algorithme permet de choisir le moment optimum où deux images ou � frame � successives serviront de point de découpe entre elles, de sorte à ne pas perturber le visionnage. Dans ce contexte, les moyens de traitement 13 du serveur 3 comprennent un code informatique de traitement mathématique des images du fichier vidéo. À partir, de ce point de découpe, les moyens de traitement 13 vont découper le fichier en deux parties. S'il y avait deux points de découpes 20, le fichier de 10 données numériques 18 serait découpé en trois parties. Sur la base du nombre de point de découpe déterminé, les moyens de traitement 13 utilisent pour la découpe soit un nombre correspondant au nombre de point de découpe maximum, soit un nombre inférieur à ce nombre de point de découpe maximum. 15 La découpe du fichier de données numériques effectué on obtient plusieurs fichiers découpés de données 26. [0017] Les moyens de traitement 13 du serveur 3 vont déterminer au moins un paramètre d'identification du point de découpe afin qu'une reconstruction ou un réassemblage des fichiers découpés puissent être possible sur la base de ce 20 paramètre. Les moyens de traitement 13 réalisent une modification de chaque fichier distinct 26 par un ajout de données numériques, et effectuent un cryptage du paramètre d'identification du point de découpe. Au moins une extrémité 22,23 de chaque fichier distinct 26 comprend un point de découpe factice 22,23. La quantité de 25 données ajoutées est aléatoire. [0018] Dans un mode de réalisation de l'invention où le dispositif 1 se rapporte à un serveur 1 comprenant une base de données, les fichiers découpés 26 et le paramètre crypté se rapportant 20 sont envoyés 15 du serveur 3 vers le serveur 1 à partir des moyens de communication 12,5 communs aux deux serveurs 1,3, 30 afin que lesdits fichiers découpés 26 et ledit paramètre crypté d'identification du point de découpe 20 soient archivés dans la base de données 4. Les moyens de communication 12,5 sont filaires, et correspondent à des réseaux câblés (câble cuivré et/ou fibre optique). Ces moyens peuvent aussi être sans fil et se rapportent à des réseaux fonctionnant sous technologie WiFI, WIMAX, GPRS (General Packet Radio Service), GSM, UMTS, HSDPA ou encore IMS. Le serveur 1 contenant la base de données 4 est connecté à l'unité de traitement 2 à partir des mêmes moyens de communication 5,12 le reliant au serveur 3. [0019] Dans un autre mode de réalisation où le dispositif 1 se rapporte à un support de mémoire 1 comprenant une base de données 4, les fichiers découpés 26 et paramètre crypté d'identification du point de découpe 20 sont archivés 15 dans cette base de données 4 à partir des moyens de communication 12 permettant la transmission des fichiers découpés et du paramètre crypté d'identification du point de découpe 20 vers ce support de mémoire. Ces moyens de communication 12 correspondent à des moyens de lecture/écriture tels qu'un lecteur de disque optique, un lecteur de carte mémoire, tous types de lecteurs de support de mémoire, ou encore à des modules RFID et/ou Bluetooth et/ou IrDA (Infrared Data Association), et/ou WI-FI. L'archivage étant effectué, le support de mémoire 1 est mis en relation avec l'unité de traitement 2 à partir de moyens de communication 5. [0020] L'unité de traitement 2 comprend des moyens de saisie 8 et d'affichage 7 permettant à un individu de déclencher l'envoi d'une requête 16 à destination de la base de données 4 pour la consultation d'un fichier de données numériques 18 audio et/ou vidéo. À réception de cette requête 16, la base de données envoi 17 à l'unité de traitement 2 le paramètre crypté d'identification du point de découpe 20 ainsi que les fichiers découpés 26. Chaque fichier distinct comprend un identifiant qui lui est attribué lors de la découpe du fichier numérique. Cet identifiant correspond au nom qui est donné à chaque fichier distinct. Le nom se rapportant à chaque fichier est transformé de manière aléatoire par les moyens de traitement 13 du serveur 3 et est associé à une URL (Uniform Resource Locator, littéralement � localisateur uniforme de ressource �). Cette URL est stockée dans la base de données 4 du dispositif 1. À partir de la liste des URL d'identification dux fichiers découpés obtenus d'un fichier de données numérique les moyens de traitement de l'unité pourront ordonner ces fichiers découpés afin de les assembler dans un ordre correct. [0021]À partir des moyens de cryptographie compris dans l'unité de traitement 2 le paramètre crypté d'identification du point de découpe 20 est alors décrypté. Sur la base paramètre décrypté d'identification du point de découpe 20 les fichiers découpés 26 vont être assemblés par les moyens de traitement 10,11 de l'unité afin que le contenu du fichier numérique puisse être restitué. Le décryptage du point de découpe ne consomme que très peu de ressource au niveau de l'unité de traitement 2. [0022] D'autre part, la transmission du point de découpe 20 et des fichiers découpés 26 ne se fait pas dans le même flux de données. En effet, plusieurs requêtes sont envoyées de l'unité 2 vers le dispositif 1 selon des flux distincts respectifs à chaque requête, mais pas exclusivement. Un premier flux en réponse est généré par le dispositif 1, à réception d'au moins une requête. Ce premier flux comprend notamment le ou les points de découpe et les URL pointant sur les fichiers découpés, et d'autres flux sont générés en fonction du nombre de fichiers découpés, obtenus d'un même fichier de données numérique, transmis à l'unité. [0023] Lorsque plusieurs ensembles de fichiers découpés sont transmis avec leur (ou leurs) point de découpe 18 respectif, un ensemble correspondant à un fichier de données numériques 18, l'unité 1 assemble chacun des fichiers découpés 26 d'un ensemble à un autre à partir des points de liaison 19,21. En effet, chaque premier fichier distinct d'un ensemble 26 comprend un point de liaison � cue in � 19 et chaque dernier fichier d'un ensemble 26 comprend un autre point de liaison � cue out � 21. L'enchaînement entre chacun des ensembles étant réalisé par liaison du � cue out � 21 d'un dernier fichier distinct d'un ensemble 26 avec le � cue in � d'un premier fichier distinct d'un autre ensemble. Un tel enchaînement des ensembles permet à l'unité de traitement de réaliser un mixage automatique des différents morceaux de music et/ou séquences vidéo, d'identification du fichier numérique, écoutés ou visualisés par un utilisateur. [0024] En outre, l'invention est interopérable car elle est compatible et adaptable à tous les moyens de traitement d'unité 2 mettant en oeuvre des codes informatiques susceptibles d'utiliser notamment des codecs audio/vidéo (codec est une contraction des termes � codeur décodeur �). Ces codes se rapportent à des lecteurs de fichier audio et/ou vidéo (autrement appelés � player �). [0025] Ainsi, il est entendu que l'invention peut s'inscrire dans tous types de plateforme de diffusion de fichier de données numériques. REVENDICATIONS 1. Procédé de sécurisation de diffusion de données entre une base de données (4) et une unité de traitement (2) caractérisé` en ce que ledit procédé comprend les étapes suivantes : découpage du fichier de données numériques en au moins deux fichiers découpés à partir d'au moins un point de découpe par les moyens de traitement d'un serveur, stockage séparé des fichiers découpés et d'au moins un paramètre d'identification du point de découpe dans ladite base de données connectée audit serveur, transmission des fichiers découpés et dudit au moins un paramètre d'identification à l'unité de traitement, et reconstitution du fichier de données numériques par l'unité de traitement à partir des fichiers découpés et dudit au moins un paramètre. 2. Procédé selon la revendication 1, dans lequel ladite étape de découpage comprend une étape préalable de détermination du paramètre d'au moins un point de découpe à partir d'une analyse du spectre d'un signal correspondant audit fichier de données numériques, par au moins une séquence du spectre définissant un niveau de gain minimal. 3. Procédé selon l'une quelconque des revendications précédentes, dans lequel ladite étape de découpe comprend une étape ultérieure de modification de la taille de ces fichiers afin de masquer les points de découpe. 4. Procédé selon la revendication précédente, dans lequel ladite sous étape de modification correspond à un ajout de données numériques à au moins une extrémité de chacun des fichiers découpés. . Procédé selon l'une quelconque des revendications précédentes, dans lequel ladite étape d'archivage est précédée par une étape de cryptage du paramètre d'identification du point de découpe (20). 6. Procédé selon l'une quelconque des revendications précédentes, dans lequel chaque fichier numérique est découpé selon un nombre de points de découpe aléatoire ou paramétrable . 7. Procédé selon l'une quelconque des revendications précédentes dans lequel ladite étape de reconstitution comprend une sous-étape de décryptage du paramètre crypté d'identification du point de découpe. 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel ladite transmission à l'unité de traitement (2) des fichiers découpés et dudit au moins un paramètre d'identification du point de découpe compris dans la base de données (4) est réalisée à partir des moyens de lecture/écriture de l'unité de traitement . 9. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel ladite transmission à l'unité de traitement (2) des fichiers découpés et dudit au moins un paramètre d'identification du point de découpe (20) compris dans la base de données est réalisée à partir de liaisons filaire. 10. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel ladite transmission à l'unité de traitement (2) des fichiers découpés et dudit au moins un paramètre d'identification du point de découpe (20) compris dans la base de données est réalisée à partir de liaisons sans fil. 11. Procédé selon l'une quelconque des revendications précédentes, dans lequel ladite étape de transmission succède à une étape de réception par la base de donnée d'une requête provenant de l'unité de traitement (2) pour la transmission des fichiers découpés et dudit au moins un paramètre d'identification du point de découpe (20).12. Procédé selon l'une quelconque des revendications précédentes, dans lequel lesdits fichiers découpés comprennent des points de liaison (19,20) permettant à l'unité de traitement (2) de relier des ensembles de fichiers découpés entre eux, chaque ensemble (26) correspondant à un fichier de données numériques (18). 13. Procédé selon l'une quelconque des revendications précédentes, dans lequel ladite étape de transmission comprend l'envoi à l'unité de traitement d'une liste d'adresses d'URL (signifiant � Uniform Resource Locator �, littéralement localisateur uniforme de ressource) dans laquelle chaque URL identifie ces fichiers découpés par une séquence et définit un ordre d'assemblage de ce fichier. 14. Système de sécurisation de diffusion de données pour la mise en oeuvre du procédé selon l'une quelconque des revendications précédentes, comprenant, une base de données (4) et une unité de traitement (2), ledit système comportant: un serveur (3) comprenant des moyens de traitement (13) pour réaliser un découpage d'un fichier de données numériques (18) en au moins deux fichiers découpés (26) selon au moins un point de découpe (20), la base de données (4) archivant lesdits fichiers découpés (18) et un paramètre d'identification du point de découpe (20), lesdits fichiers découpés et ledit paramètre ayant été transmis dudit serveur (3) à la base de données 4 à partir des moyens de communication respectifs dudit serveur (3) et d'un dispositif (1), l'unité de traitement (2) comportant des moyens de communication (6) permettant de recevoir les fichiers découpés (26) et le paramètre d'identification du point de découpe (20), et des moyens de traitement pour la reconstruction du fichier de données numériques à partir des fichiers découpés et du paramètre se rapportant au point de découpe. 15. Système selon la revendication 14, dans lequel l'unité de traitement (2) comporte des moyens de lecture et des moyens de communication.16. Système selon les revendications 14 ou 15, dans lequel lesdits moyens de communication sont filaires. 17. Système selon les revendications 14 à 16, dans lequel l'unité de traitement (2) est un terminal mobile et/ou un lecteur de fichier de données numériques audio/vidéo. 18. Système selon l'une quelconque des revendications 14 à 17, dans lequel ladite base de données est reliée à ladite unité de traitement (2) par des liaisons filaires 19. Système selon l'une quelconque des revendications 14 à 18, dans lequel ladite base de données est reliée à ladite unité de traitement (2) par des liaisons sans fils. 20. Système selon l'une quelconque des revendications 14 à 17, dans lequel ladite base de données est comprise dans un support de mémoire. 21. Système selon l'une quelconque des revendications 14 à 17 et 20, dans lequel ledit support de mémoire est une carte de mémoire masse tel qu'une carte de mémoire flash et/ou une clef USB et/ou une clef Firewire et/ou un disque dur. 22. Système selon l'une quelconque des revendications 14 à 17 et 20, dans lequel ledit support de mémoire est un disque optique. 23. Système selon les revendications 14, 17 à 19, dans lequel le support de mémoire (1) comprend des moyens de communication qui sont compatibles avec les moyens de lecture/écriture de l'unité de traitement (2).