FR3006082A1 - Procede de mise en œuvre d'un droit sur un contenu - Google Patents

Procede de mise en œuvre d'un droit sur un contenu Download PDF

Info

Publication number
FR3006082A1
FR3006082A1 FR1354552A FR1354552A FR3006082A1 FR 3006082 A1 FR3006082 A1 FR 3006082A1 FR 1354552 A FR1354552 A FR 1354552A FR 1354552 A FR1354552 A FR 1354552A FR 3006082 A1 FR3006082 A1 FR 3006082A1
Authority
FR
France
Prior art keywords
content
key
execution environment
secure element
implementing
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
FR1354552A
Other languages
English (en)
Other versions
FR3006082B1 (fr
Inventor
Luk Bettale
Michele Sartori
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.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
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 Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1354552A priority Critical patent/FR3006082B1/fr
Priority to US14/283,364 priority patent/US9769654B2/en
Publication of FR3006082A1 publication Critical patent/FR3006082A1/fr
Application granted granted Critical
Publication of FR3006082B1 publication Critical patent/FR3006082B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • 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
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Procédé de mise en œuvre d'un droit sur un contenu, comprenant - une étape de réception (S107) dans un environnement d'exécution et en provenance d'un élément sécurisé d'une première clé (K) pour mettre en œuvre un droit sur un contenu crypté (C), - une étape de décryptage dudit contenu dans ledit environnement d'exécution à l'aide de la première clé (K), et - une étape de mise en œuvre (S111) du droit sur le contenu (C) dans ledit environnement d'exécution, caractérisé en ce que le procédé comprend de plus - une étape de réception (S114) d'une deuxième clé (K') dans ledit environnement d'exécution, en provenance de l'élément sécurisé, - et une étape de cryptage (S115) dudit contenu (C), dans ledit environnement d'exécution, à l'aide de la deuxième clé (K').

Description

Contexte technique L'invention s'inscrit dans le domaine de la sécurité numérique, et en particulier la gestion des droits relatifs à un contenu dont l'accès est sécurisé. Certaines informations ou données, éventuellement de taille importante, doivent n'être accessibles que de manière sécurisée par des applications informatiques ou des utilisateurs humains. L'accès nécessite l'émission d'une requête adressée par un requérant (une application, agissant ou non pour le compte d'un utilisateur humain) à un contrôleur disposant d'un registre de droits. Il est connu de donner des droits différenciés en fonction du requérant, notamment le droit de lire ou de modifier des données, ou d'exécuter une application.
Par ailleurs, pour exploiter ces informations ou données de taille importante, qualifiées de contenu, un environnement d'exécution est nécessaire. Cet environnement permet notamment l'utilisation des périphériques que sont l'écran et le clavier, et permet également de disposer d'un espace de mémoire important et d'un processeur puissant.
Pour protéger l'accès au contenu, celui-ci peut être crypté, avec une clé cryptographique. On peut stocker les clés cryptographiques dans des éléments sécurisés, qui sont des environnements d'exécution disposant souvent (mais pas nécessairement néanmoins) de ressources moins étendues, notamment un processeur de plus petite puissance ou une mémoire de plus petite taille, qu'un environnement d'exécution capable d'exploiter le contenu. Par contre, ces environnements permettant de stocker des clés cryptographiques sont sécurisés à la fois sur le plan du logiciel que sur le plan matériel. Ils sont protégés contre les attaques physiques, comme par exemple les attaques par analyse de consommation (attaques, DPA, pour Differential Power Analysis). Un tel environnement est qualifié d'élément sécurisé. Il peut être constitué ou être compris et mis en oeuvre dans une carte SIM, dans un composant embarqué de type embedded Secure Element (eSE), qui est un chipset (littéralement, un jeu de puces) distinct du processeur principal du dispositif électronique, ou dans un composant amovible de type Secure Element (SE), par exemple une carte micro-SD. Un élément sécurisé répond par exemple aux spécifications 1507816 ou à la norme Critères Communs. Il peut dialoguer avec un 5 environnement d'exécution du dispositif électronique à l'aide de commandes et de réponse APDU (Application Protocole Data Unit). Typiquement, l'environnement d'exécution disposant de ressources plus étendues peut être un environnement d'exécution sécurisé, et on entend par là qu'il est protégé sur le plan logiciel, mais il n'est pas protégé contre les attaques physiques, 10 notamment du fait de sa complexité. Pour exercer un droit sur un contenu, par exemple exécuter une application de confiance offrant un service de confiance, diffuser une pièce de musique dont les droits sont protégés, ou accéder par exemple en lecture ou en écriture à un contenu crypté, l'utilisateur, ou l'application qui agit pour lui, doit obtenir la clé 15 cryptographique située dans l'élément sécurisé, que celui-ci lui transmette une clé cryptographique pour décrypter le contenu dans l'environnement d'exécution. L'environnement d'exécution n'étant pas protégé contre les attaques physiques, par exemple les attaques DPA, la clé cryptographique fournie par l'élément sécurisé est alors susceptible d'être mise à jour par des fraudeurs menant une attaque contre 20 l'élément sécurisé. Définition de l'invention et avantages associés La présente invention vise à répondre à ce problème en proposant un procédé de mise en oeuvre d'un droit sur un contenu, comprenant - une étape de réception dans un environnement d'exécution et en provenance d'un 25 élément sécurisé d'une première clé pour mettre en oeuvre un droit sur un contenu crypté, - une étape de décryptage dudit contenu dans ledit environnement d'exécution à l'aide de la première clé, et - une étape de mise en oeuvre du droit sur le contenu dans ledit environnement 30 d'exécution, caractérisé en-ce que le procédé comprend de plus - une étape de réception d'une deuxième clé dans ledit environnement d'exécution, en provenance de l'élément sécurisé, - et une étape de cryptage dudit contenu, dans ledit environnement d'exécution, à l'aide de la deuxième clé.
Grâce à ce procédé, on peut éviter que les attaques physiques par exemple une attaque DPA ne dévoile une clé de cryptographie utilisée pour le cryptage, puisque la clé est modifiée à chaque fois que le contenu est utilisé. Le contenu peut être enregistré dans une mémoire sécurisée de l'environnement d'exécution, mais il peut aussi être enregistré dans une mémoire d'un serveur distant 10 accessible à travers un réseau de télécommunications. Un identificateur pour identifier le contenu peut être enregistré dans une zone non partagée de mémoire non volatile sécurisée de l'environnement d'exécution. Et le procédé peut comprendre de plus une étape de réception dans l'environnement d'exécution et en provenance de l'élément sécurisé d'une adresse de mémoire dans 15 laquelle le contenu crypté est enregistré. Cela permet de ne pas conserver l'adresse à laquelle le contenu est stocké, et donc d'accroitre la sécurité relative au contenu. L'invention porte aussi sur une application informatique de confiance comprenant des instructions, qui quand elles sont exécutées sur un processeur, provoquent la mise en oeuvre d'un procédé tel que présenté. 20 L'invention porte aussi sur un élément sécurisé pour contrôler un contenu, comprenant des moyens de stockage d'une clé de cryptographie courante associée à un contenu crypté, caractérisé en ce qu'il comprend de plus - des moyens de vérification d'un droit d'un requérant portant sur ledit contenu et de transmission de ladite clé de cryptographie courante audit 25 requérant si ledit droit est vérifié, - des moyens de choix et de transmission au requérant d'une nouvelle clé de cryptographie pour crypter ledit contenu une fois le droit mis en oeuvre par le requérant. Grâce à ce dispositif, on peut non seulement diminuer les risques qu'un contenu 30 crypté puisse être lu par un fraudeur utilisant une attaque physique, puisque les clés sont modifiées à chaque utilisation, mais en plus on permet le contrôle de l'accès au contenu par un élément sécurisé. L'élément sécurisé peut comprendre de plus des moyens pour choisir une nouvelle zone de mémoire dans une mémoire de stockage de contenu d'un environnement d'exécution, pour stocker le contenu une fois le droit mis en oeuvre par le requérant. Cela renforce la sécurité. Selon une caractéristique particulière, une taille d'une zone de mémoire dans laquelle le contenu est stocké est modifiée une fois le droit mis en oeuvre. L'invention porte aussi sur un dispositif électronique comprenant un élément sécurisé 10 tel que présenté et un environnement d'exécution dans lequel une application requérante peut être mise en oeuvre et le contenu peut être stocké. Liste des figures La figure 1 représente un dispositif électronique utilisant des principes antérieurs. La figure 2 présente un procédé de mise en oeuvre d'un droit sur un contenu selon 15 des principes antérieurs. La figure 3 présente un dispositif électronique utilisant les principes de la présente divulgation. Les figures 4 et 5 présentent des tableaux utilisés dans le dispositif de la figure 3. La figure 6 présente un procédé de mise en oeuvre d'un droit sur un contenu à l'aide 20 d'un dispositif tel que présenté. La figure 7 présente un autre dispositif électronique utilisant les principes de la présente divulgation. Description détaillée En figure 1, on a représenté un dispositif électronique 10, qui est ici un terminal de 25 télécommunications, par exemple un téléphone mobile. Il comprend un environnement d'exécution 100 et un élément sécurisé 200. L'environnement d'exécution 100 comprend une application 110 et un contenu C dans une zone mémoire 120 non volatile. Le contenu C est crypté, et l'application 110 comprend des moyens logiciels pour procéder à une opération de décryptage du 30 contenu C, mais elle ne dispose pas d'une clé permettant le décryptage du contenu C. Elle dispose également des moyens pour exploiter le contenu C, une fois celui-ci décrypté, comme par exemple lire le contenu C si celui-ci est un morceau de musique protégé par des droits, ou exécuter le contenu C, si celui-ci est une application. D'autres applications similaires à l'application 110 peuvent être présentes dans l'environnement d'exécution 100, et ont accès à la zone mémoire 120 dans laquelle le contenu C est enregistré, car cette zone mémoire 120 est une zone de mémoire partagée entre différentes applications, et par exemple utilisables pour les contenus de gros volume. D'autres contenus que le contenu C peuvent également être présents dans la mémoire partagée de l'environnement d'exécution 100. Le terminal 10 peut comprendre d'autres environnements d'exécution (non représentés) en plus de l'environnement d'exécution 100. Chaque environnement d'exécution comprend un système d'exploitation sous la dépendance duquel les applications comprises dans l'environnement d'exécution sont exécutées, un processeur, propre ou partagé avec d'autres environnements d'exécution, qui permet d'exécuter le système d'exploitation et les applications, et une mémoire ou une zone mémoire propre l'environnement d'exécution. L'élément sécurisé 200 comprend une zone mémoire sécurisée 210 dans laquelle une clé K est stockée. Celle-ci est une clé permanente, qui n'est pas modifiée en fonction des exploitations du contenu C qui sont menées par l'application 110 ou les autres applications de l'environnement d'exécution 100.
Des canaux de communication 290 sont mis en place entre l'élément sécurisé 200 et les applications, par exemple l'application 110, de l'environnement d'exécution 100. Si l'environnement d'exécution 100 est un environnement d'exécution sécurisé, les canaux de communication 290 sont également des canaux de communication sécurisés. Un environnement d'exécution sécurisé est notamment adapté à l'exécution d'applications de confiance, qui offrent une garantie de sécurité à l'utilisateur humain final, telle une application de paiement. En figure 2, on a représenté les étapes d'un processus d'exploitation d'un contenu C, qui est ici une lecture et une modification de ce contenu, par l'application 110, selon des principes antérieurs connus des inventeurs. Une première étape 51 consiste, pour l'application 110 à accéder, via un canal de communication 290 entre l'élément sécurisé 200 et l'environnement d'exécution 100 qui lui est associé, à la clé cryptographique K dont elle a besoin pour décrypter le contenu C. Cela se fait par les étapes S1 et S2. L'application 110 extrait le contenu C de la zone mémoire 120 dans laquelle il est stocké (étapes S3 et S4), puis le décrypte, au cours d'une étape S5. Elle le lit et le modifie au cours d'une étape S6 et le recrypte avec la clé K au cours d'une étape S7. Elle l'enregistre sous sa forme modifié dans la zone mémoire 120 (étapes S8 et S9), puis efface de la mémoire volatile de l'environnement d'exécution 100 la clé K au cours d'une étape S10. L'application 110 sera amenée à rechercher la clé K dans l'élément sécurisé 100 lors de la prochaine occasion au cours de laquelle elle souhaitera exploiter le contenu C. En figure 3, on a représenté un dispositif électronique 20, constituant un exemple de réalisation des principes généraux de la présente divulgation. Il est décrit en référence au dispositif électronique 10 de la figure 1, des numéros de référence identiques étant utilisés pour les éléments communs. Le dispositif électronique 20 peut aussi être un terminal de télécommunications, par exemple un téléphone mobile intelligent (smartphone), ou une tablette portable.
Le dispositif électronique 20 comprend, comme le dispositif 10, un environnement d'exécution 100 mettant en oeuvre des applications TA1, TA2, TA3, ..., notamment une application 110. La notation TA fait référence au terme anglais « trusted application », ou application de confiance, car dans un mode de réalisation intéressant, les applications concernées sont des applications de confiance et l'environnement d'exécution 100 est un environnement sécurisé. L'environnement d'exécution 100 conservant de plus des contenus dans des zones de mémoire non volatile, notamment un contenu C crypté dans une zone 120 de mémoire non volatile. Le dispositif électronique 20 comprend aussi un élément sécurisé 200. L'élément 25 sécurisé 200 comprend une zone mémoire 210 dans laquelle des clés de cryptographie sont stockées. L'élément sécurisé 200 comprend également une application de contrôle 220, qui est une application développée pour être exécutée avec les ressources limitées mais sécurisées de l'élément sécurisé 200, par exemple un Applet Java ou un SlMcard 30 applet. Elle a pour fonction de vérifier les droits d'un requérant (une application requérante) de l'environnement d'exécution 100, souhaitant exploiter le contenu C ou un autre contenu enregistré dans une mémoire non volatile de l'environnement d'exécution. Cette vérification peut être effectuée en utilisant un tableau T à double entrée indiquant, pour chaque application de l'environnement d'exécution 100 connue de l'élément sécurisé 200 et pour chaque zone mémoire de l'environnement d'exécution 100 dans laquelle un contenu C dont l'accès est géré par l'élément sécurisé, les droits de l'application sur le contenu. Le tableau T est présenté en figure 4, où les applications TA1, TA2, TA3 et TA4 sont indiquées, et où les zones mémoires sont indiquées sous la forme d'identificateurs (token) Tok1, Tok2, Tok3 et Tok4. Des droits de lecture, écriture et lecture et exécution sont indiqués R, W, et R/X respectivement. Le tableau T est mémorisé dans l'élément sécurisé 200. Comme cela est représenté en figure 5, chacun des identificateurs Tok1, Tok2, Tok3 et Tok4 est associé, dans un tableau T' à simple entrée, en une zone mémoire A1, A2, A3, A4 (par zone on désigne par exemple une adresse d'un registre et une taille de zone mémoire) et à un moyen cryptographique K1, K2, K3, K4 avec lequel le contenu enregistré à l'adresse de zone mémoire correspondante est protégé. Le moyen cryptographique peut être une clé de cryptographie symétrique ou un couple de clés de cryptographie asymétrique. Le tableau T' est mémorisé dans la zone mémoire 210. L'élément sécurisé 200 comprend également une application 230 de choix de nouvelles clés de cryptographie et, éventuellement, d'adresse de contenu. Le choix d'une nouvelle clé peut être la génération de celle-ci, de manière aléatoire par exemple, ou le choix de celle-ci dans une banque de clés, par exemple une banque pré-existante. Cette étape de gestion de la mémoire peut être réalisée en collaboration avec une application dédiée de l'environnement d'exécution. L'application 230 peut aussi être capable de générer une nouvelle adresse de zone mémoire (et une taille de zone mémoire associée) dans la mémoire partagée de l'environnement d'exécution 100 pour un contenu, tel que le contenu C, pour le stocker dans une zone mémoire différente de la zone mémoire 120. Cette fonction permet, par exemple, de définir des zones mémoires 121 et 122 dans la mémoire non volatile partagée de l'environnement d'exécution 100, différentes de la zone mémoire 120. Les adresses et les tailles de ces zones mémoire sont stockées dans les lignes correspondantes du tableau T'. L'application 230 peut aussi prendre la décision d'augmenter ou de diminuer la taille de la zone mémoire dans laquelle le contenu est stocké, ou, sans définir une nouvelle zone mémoire pour le contenu C, de n'autoriser l'écriture que sur une partie de la zone mémoire.
Les applications 220 et 230 peuvent constituer une unique application, possédant les deux fonctions de contrôle de droits et de choix (ou génération) de clé, cette deuxième fonction étant éventuellement complétée par une fonction de génération d'adresse (et de taille) de zone mémoire. L'environnement d'exécution 100 comprend donc différentes zones mémoires 120, 121 ou 122, le contenu C étant par exemple enregistré dans la zone mémoire 120. Il comprend également une application 110 (ou TA1), qui conserve, dans une zone mémoire non volatile 110a qui lui est propre, c'est-à-dire une zone mémoire non volatile non partagée avec d'autres applications TA2, TA3, un identificateur Tok1 pour le contenu C.
L'application 110 communique avec l'application de contrôle 220 et l'application de choix 230 par un canal de communication 290, qui peut être sécurisé. En figure 6, on a représenté les étapes d'un processus d'exploitation du contenu C, ici une lecture et une modification de ce contenu, par l'application 110, selon les principes de la divulgation.
Une première étape S101 consiste, pour l'application 110, à rechercher dans la mémoire non partagée 110a l'identificateur Tok1 pour le contenu 120. Elle l'obtient au cours de l'étape S102. Puis elle demande à l'application de contrôle 220 de l'élément sécurisé 200 la clé cryptographique K dont elle a besoin pour décrypter le contenu C, au cours d'une étape S103, en transmettant l'identificateur Tok1, un identifiant TA1 permettant à l'application de contrôle 220 d'identifier l'application 110 en tant que requérant, ainsi que le type de droit qu'elle souhaite exercer sur le contenu, par exemple R pour lecture. Selon un mode de réalisation, une clé peut aussi être associée à un droit d'accès particulier, par exemple un accès en lecture.
Au cours d'une étape S104, l'application de contrôle 220 examiner le tableau T sur la base des informations reçues au cours de l'étape S103, et si l'application 110 est autorisée à exercer le droit R sur le contenu, elle interroge la zone mémoire 210 pour en extraire une clé K et une adresse mémoire A (étapes S105 et S106). L'application de contrôle 220 transmet à l'application 110 cette clé K et cette adresse A au cours d'une étape S107. L'application 110 extrait le contenu C de la mémoire identifiée par l'adresse A (étapes S108, S109), puis le décrypte, au cours d'une étape S110, à l'aide de la clé K. Elle le lit ensuite, exerçant le droit pour lequel elle a demandé la clé, au cours d'une étape S111, et éventuellement le modifie, si elle est configurée pour le modifier. Quand l'application 110 a fini d'exercer son droit sur le contenu C, elle le signale à l'application de choix de clé et de choix d'adresse 230 (transmission d'un signal de fin FIN, au cours d'une étape S112, accompagné de l'identifiant de l'application 110, TA1), qui choisit, au cours d'une étape S113, une nouvelle clé K' (ou un nouveau couple de clés de cryptographie asymétrique) et éventuellement une nouvelle adresse A', ainsi que dans ce cas un nouvel identificateur Tok1'. Elle les transmet à l'application 110 (étape S114). L'application de choix 230 sauvegarde aussi, dans la zone mémoire 210, la nouvelle clé K' dans une nouvelle ligne du tableau T' correspondant au contenu C, identifié par l'identificateur Tok1' ou par l'ancien identificateur Tok1 s'il n'a pas été modifié (étape S115). L'application 110 crypte le contenu C avec la clé K' au cours d'une étape S116. Elle l'enregistre ensuite dans la zone mémoire 121 (étapes S117 et S118). Elle enregistre aussi l'identificateur Tok1' dans la zone mémoire non partagée 110a au cours d'une étape S119 et efface (étape S120) l'adresse A' et la clé K' de la mémoire volatile de l'environnement d'exécution 100. On précise que si des clés de cryptographie asymétrique sont utilisées, alors la clé transmise par l'élément sécurisé au cours de l'étape S107 est la clé privée, et la clé transmise par l'élément sécurisé au cours de l'étape S114 est la clé publique. On précise aussi que le choix d'une nouvelle adresse (et par conséquent d'un nouvel identificateur) peut être systématique ou bien imposé par l'élément sécurisé ou l'application 110. Les étapes 5112 et suivantes qui reviennent à libérer le contenu, qui peut alors être utilisé par un autre utilisateur, peuvent aussi être imposées par une fonction maître de l'environnement d'exécution 100. De manière générale, les identificateurs et les clés peuvent être régénérés après chaque opération d'écriture.
Cette régénération peut aussi être forcée, en l'absence de modification du contenu, par l'élément sécurisé 200 ou par une application de l'environnement d'exécution 100, par exemple une application de confiance de l'environnement 100, si celui-ci est un environnement sécurisé (comme évoqué ci-après).
La figure 7 montre une variante d'un dispositif suivant les principes de la présente divulgation, dont l'utilisation entraine la mise en oeuvre d'une méthode suivant les principes de la divulgation. Dans cette variante, le contenu C est enregistré dans une mémoire non volatile 510 d'un serveur distant 500, accessible via un réseau de télécommunications 400, qui peut impliquer, seul ou en conjonction, une technologie de réseau sans fil, par exemple un réseau de télécommunications de téléphonie cellulaire ou une communication en champ proche, ou une technologie de réseau filaire, utilisant par exemple un protocole tel Ethernet, ou le réseau Internet. Dans le cas d'une connexion filaire, le serveur distant peut (mais ce n'est pas nécessairement le cas) être mis en oeuvre sur un réseau local, et utiliser une connexion de type USB. L'environnement d'exécution 100 met en oeuvre l'application 110 qui dispose d'une zone mémoire non partagée 110a dans laquelle elle enregistre les identificateurs pour les contenus auxquels elle est susceptible d'accéder. L'identificateur associé au contenu C est associé dans la table T' stockée dans une zone mémoire 210 de l'élément sécurisé 200 à une adresse A dans le réseau 400, telle une adresse URL sur le réseau Internet, qui est transmise avec la clé K pour décrypter, ou avec la clé K' pour crypter. Comme pour les zones de mémoire 120, 121 et 122 dans l'environnement d'exécution (figures 3 et 6), l'adresse dans le réseau peut être choisie après chaque mise en oeuvre d'un droit sur le contenu C. Ainsi, après avoir été extrait de la mémoire 510 d'un serveur 500, le contenu C peut être enregistré, modifié ou non modifié, dans une mémoire 610 d'un serveur 600, également accessible par le réseau 400. On remarque que sur la figure 5, deux environnements d'exécutions 100 et 300 ont été représentés. L'un peut être un environnement d'exécution sécurisé, par exemple l'environnement 100, et l'autre un environnement d'exécution polyvalent, par exemple l'environnement 300. L'environnement sécurisé 100 est démarré alors qu'aucun autre environnement d'exécution n'est démarré, de manière à permettre une vérification de l'intégrité du dispositif électronique. L'environnement polyvalent 300 met en oeuvre des applications d'origine diverses. Les caractéristiques d'un environnement d'exécution sécurisé sont par exemple listées dans le document TEE Protection Profile rédigé par GlobalPlatform. Un environnement d'exécution sécurisé met en oeuvre des applications de confiance qui ont par exemple accès à l'ensemble des fonctionnalités offertes par le processeur et la mémoire principaux du terminal. Une protection matérielle ou logicielle les protège des applications mises en oeuvre dans l'environnement polyvalent. Les principes de l'invention peuvent être mis en oeuvre dans l'environnement 10 sécurisé 100 ou dans l'environnement d'exécution polyvalent 300, avec des contenus enregistrés dans la mémoire de stockage de l'environnement d'exécution correspondant. Ainsi, une zone de mémoire non volatile 320 dans l'environnement d'exécution polyvalent 300 peut stocker un contenu sur lequel l'application 310 va vouloir exercer un droit, sous le contrôle de l'application de contrôle 220 de l'élément 15 sécurisé 200. Par ailleurs, quand le contenu est stocké dans une mémoire sur un serveur accessible sur le réseau 400, et que les applications 310 et 110 sont toutes les deux intéressées par exercer un droit sur le contenu, il est ajouté un champ « session en cours » dans le tableau T' mémorisé dans l'élément sécurisé 200, tel que si une de 20 ces applications est en train d'exercer un droit sur le contenu, l'élément sécurisé 200 ne transmet pas de clé et d'adresse à l'autre application quand celle-ci le demande, mais attend que le champ « session en cours » soit ramené à la valeur indiquant que le contenu est libre d'utilisation, à la fin de l'exercice du droit en cours, pour à ce moment envoyer l'adresse et la clé à l'application requérante. D'autres 25 techniques d'exclusion mutuelle peuvent être utilisées, comme par exemple les sémaphores. Une technique d'exclusion mutuelle peut être mise en oeuvre de manière similaire dans l'architecture de la figure 3, dans l'hypothèse où plusieurs applications de l'environnement d'exécution 100, par exemple les applications TA1, TA2, TA3 ou TA4 30 souhaitent mettre en oeuvre des droits sur un même contenu. L'invention n'est pas limitée aux modes de réalisation décrits, mais s'étend à toutes les variantes dans le cadre de la portée des revendications.

Claims (14)

  1. REVENDICATIONS1. Procédé de mise en oeuvre d'un droit sur un contenu, comprenant - une étape de réception (S107) dans un environnement d'exécution (100 ; 300) et en provenance d'un élément sécurisé (200) d'une première clé (K) pour mettre en oeuvre un droit sur un contenu crypté (C), - une étape de décryptage dudit contenu dans ledit environnement d'exécution à l'aide de la première clé (K), et - une étape de mise en oeuvre (S111) du droit sur le contenu (C) dans ledit environnement d'exécution (100 ; 300), caractérisé en ce que le procédé comprend de plus - une étape de réception (S114) d'une deuxième clé (K') dans ledit environnement d'exécution (100 ; 300), en provenance de l'élément sécurisé (200), - et une étape de cryptage (S115) dudit contenu (C), dans ledit environnement d'exécution (100 ; 300), à l'aide de la deuxième clé (K').
  2. 2. Procédé de mise en oeuvre d'un droit sur un contenu selon la revendication 1, les clés (K, K') étant soit des clés de cryptographie symétrique soit des clés de cryptographie asymétrique.
  3. 3. Procédé de mise en oeuvre d'un droit sur un contenu selon la revendication 1 ou la revendication 2, le contenu (C) étant enregistré dans une mémoire sécurisée (120) de l'environnement d'exécution (100).
  4. 4. Procédé de mise en oeuvre d'un droit sur un contenu selon la revendication 1 ou la revendication 2, le contenu (C) étant enregistré dans une mémoire (410) d'un serveur distant accessible à travers un réseau de télécommunications (500).
  5. 5. Procédé de mise en oeuvre d'un droit sur un contenu selon l'une des revendications 1 à 4, un identificateur (Tok1, Tok2, Tok3, Tok4) pour identifierle contenu (C) étant enregistré dans une zone non partagée de mémoire non volatile sécurisée (110a) de l'environnement d'exécution.
  6. 6. Procédé de mise en oeuvre d'un droit sur un contenu selon l'une des revendications 1 à 5, comprenant de plus une étape de réception (S107, S114) dans l'environnement d'exécution (100 ; 300) et en provenance de l'élément sécurisé (200) d'une adresse de mémoire (A) dans laquelle le contenu crypté (C) est enregistré.
  7. 7. Procédé de mise en oeuvre d'un droit sur un contenu selon l'une des revendications 1 à 6, dans lequel l'étape de réception (S107) est précédée d'une étape de requête (S103), comprenant un identifiant d'un requérant (TA1, TA2, TA3), et/ou un identificateur (Tok1, Tok2, Tok3, Tok4) pour le contenu (C).
  8. 8. Application informatique de confiance comprenant des instructions, qui quand elles sont exécutées sur un processeur, provoquent la mise en oeuvre d'un procédé selon l'une des revendications 1 à 7.
  9. 9. Elément sécurisé (200) pour contrôler un contenu, comprenant des moyens de stockage (210) d'une clé de cryptographie courante (K) associée à un contenu (C) crypté, caractérisé en ce qu'il comprend de plus des moyens (220, T) de vérification d'un droit d'un requérant portant sur ledit contenu (C) et de transmission de ladite clé de cryptographie courante (K) audit requérant si ledit droit est vérifié, des moyens (230) de choix et de transmission au requérant d'une nouvelle clé de cryptographie (K') pour crypter ledit contenu (C) une fois le droit mis en oeuvre par le requérant.
  10. 10.Elément sécurisé selon la revendication 9, comprenant de plus des moyens (230) pour choisir une nouvelle zone de mémoire (120, 121, 122 ; 510, 610) dans une mémoire de stockage de contenu d'un environnement d'exécution (100), pour stocker le contenu (C) une fois le droit mis en oeuvre par le requérant.
  11. 11. Elément sécurisé selon la revendication 9 ou la revendication 10, dans lequel une taille d'une zone de mémoire (120, 121, 122 ; 510, 610) dans laquelle le contenu est stocké est modifiée une fois le droit mis en oeuvre.
  12. 12. Elérnent sécurisé selon l'une des revendications 9 à 11, dans lequel au moins l'une de la clé courante (K) et de la nouvelle clé (K') est une clé de cryptographie symétrique ou une clé de cryptographie asymétrique.
  13. 13.Elément sécurisé selon l'une des revendications 9 à 12, dans lequel les moyens (220, T) de vérification d'un droit d'un requérant portant sur ledit contenu (C) et de transmission de ladite clé comprennent une table à double entrée (T).
  14. 14. Dispositif électronique (20) comprenant un élément sécurisé (200) selon l'une des revendications 9 à 13 et un environnement d'exécution (100, 300) dans lequel une application requérante (110, 111, 310) peut être mise en oeuvre et le contenu (C) peut être stocké.
FR1354552A 2013-05-21 2013-05-21 Procede de mise en œuvre d'un droit sur un contenu Active FR3006082B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1354552A FR3006082B1 (fr) 2013-05-21 2013-05-21 Procede de mise en œuvre d'un droit sur un contenu
US14/283,364 US9769654B2 (en) 2013-05-21 2014-05-21 Method of implementing a right over a content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1354552A FR3006082B1 (fr) 2013-05-21 2013-05-21 Procede de mise en œuvre d'un droit sur un contenu

Publications (2)

Publication Number Publication Date
FR3006082A1 true FR3006082A1 (fr) 2014-11-28
FR3006082B1 FR3006082B1 (fr) 2017-01-27

Family

ID=49054733

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1354552A Active FR3006082B1 (fr) 2013-05-21 2013-05-21 Procede de mise en œuvre d'un droit sur un contenu

Country Status (2)

Country Link
US (1) US9769654B2 (fr)
FR (1) FR3006082B1 (fr)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230762B2 (en) * 2012-08-31 2019-03-12 Jpmorgan Chase Bank, N.A. System and method for sharing information in a private ecosystem
US10044695B1 (en) 2014-09-02 2018-08-07 Amazon Technologies, Inc. Application instances authenticated by secure measurements
US9442752B1 (en) * 2014-09-03 2016-09-13 Amazon Technologies, Inc. Virtual secure execution environments
US10079681B1 (en) 2014-09-03 2018-09-18 Amazon Technologies, Inc. Securing service layer on third party hardware
US9577829B1 (en) 2014-09-03 2017-02-21 Amazon Technologies, Inc. Multi-party computation services
US9246690B1 (en) 2014-09-03 2016-01-26 Amazon Technologies, Inc. Secure execution environment services
US9584517B1 (en) * 2014-09-03 2017-02-28 Amazon Technologies, Inc. Transforms within secure execution environments
US9754116B1 (en) 2014-09-03 2017-09-05 Amazon Technologies, Inc. Web services in secure execution environments
US9491111B1 (en) 2014-09-03 2016-11-08 Amazon Technologies, Inc. Securing service control on third party hardware
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
FR3035252B1 (fr) * 2015-04-14 2017-04-28 Stmicroelectronics Rousset Procede de gestion de la communication d'informations entre un controleur nfc et un element securise au sein d'un appareil, et appareil et controleur nfc correspondants
US10484354B2 (en) * 2017-02-15 2019-11-19 Telefonaktiebolaget Lm Ericsson (Publ) Data owner restricted secure key distribution
US11989774B1 (en) 2017-11-20 2024-05-21 Wells Fargo Bank, N.A. Systems and methods for providing digital trusted data
US11743039B2 (en) * 2021-04-20 2023-08-29 Coinbase Il Rd Ltd. System and method for data encryption using key derivation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1176827A2 (fr) * 2000-07-21 2002-01-30 Hughes Electronics Corporation Stockage superchiffré et récupération des programmes audiovisuels avec des clés générées d'une carte à puce
US20060109982A1 (en) * 2004-11-24 2006-05-25 Jean-Michel Puiatti Unit for managing audio/video data and access control method for said data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352321A (ja) * 2000-04-06 2001-12-21 Sony Corp 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
US7657033B2 (en) * 2004-12-10 2010-02-02 Fiske Software Llc Cryptography related to keys
US8634549B2 (en) * 2008-05-07 2014-01-21 Red Hat, Inc. Ciphertext key chaining
IL216162A0 (en) * 2011-11-06 2012-02-29 Nds Ltd Electronic content distribution based on secret sharing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1176827A2 (fr) * 2000-07-21 2002-01-30 Hughes Electronics Corporation Stockage superchiffré et récupération des programmes audiovisuels avec des clés générées d'une carte à puce
US20060109982A1 (en) * 2004-11-24 2006-05-25 Jean-Michel Puiatti Unit for managing audio/video data and access control method for said data

Also Published As

Publication number Publication date
FR3006082B1 (fr) 2017-01-27
US9769654B2 (en) 2017-09-19
US20140351583A1 (en) 2014-11-27

Similar Documents

Publication Publication Date Title
FR3006082A1 (fr) Procede de mise en œuvre d'un droit sur un contenu
KR100753932B1 (ko) 컨텐츠 암호화 방법, 이를 이용한 네트워크를 통한 컨텐츠제공 시스템 및 그 방법
EP1549011A1 (fr) Procédé et système de communication entre un terminal et au moins un équipment communicant
KR20160024185A (ko) SE(Secure element)를 이용한 암호화폐 관리 시스템 및 그 방법
FR2930390A1 (fr) Procede de diffusion securisee de donnees numeriques vers un tiers autorise.
CN104579689A (zh) 一种软密钥系统及实现方法
EP1086411B1 (fr) Procede de controle de l'execution d'un produit logiciel
WO2009130088A1 (fr) Terminal d'authentification forte d'un utilisateur
CN111680013A (zh) 基于区块链的数据共享方法、电子设备和装置
CA2888662A1 (fr) Systeme et procede de securisation des echanges de donnees, objet portable utilisateur et dispositif distant de telechargement de donnees
EP1949590A1 (fr) Procede de depot securise de donnees numeriques, procede associe de recuperation de donnees numeriques, dispositifs associes pour la mise en uvre des procedes, et systeme comprenant les dits dispositifs
WO2016207715A1 (fr) Gestion securisee de jetons électroniques dans un telephone mobile.
EP3832948A1 (fr) Renouvellement de clés à usage unique
KR20160040399A (ko) 개인정보 관리 시스템 및 개인정보 관리 방법
JP2007129413A (ja) 情報処理システム及びコンピュータプログラム
WO2007085726A1 (fr) Certification avec autorite de certification distribuee
EP3095223B1 (fr) Méthode de transmission de données chiffrées, méthode de réception, dispositifs et programmes d'ordinateur correspondants
KR20190007336A (ko) 보안채널 생성 방법 및 그 장치와 이를 이용한 보안정보의 송수신 방법 및 그 장치
EP2285042A1 (fr) Module logiciel de sécurisation utilisant le chiffrement du haché d'un mot de passe concaténé avec une graine
EP3667530A1 (fr) Accès sécurise à des données chiffrées d'un terminal utilisateur
EP2471237B1 (fr) Dispositif électronique nomade configuré pour établir une communication sans fil sécurisé
JP2019071552A (ja) 暗号通信方法、暗号通信システム、鍵発行装置、プログラム
Awojobi et al. Data Security and Privacy
FR2908194A1 (fr) Entite electronique portable et procede de blocage, a distance, d'une fonctionnalite d'une telle entite electronique portable
EP2254275A1 (fr) Procédé de chiffrement de parties particulières d'un document pour les utilisateurs privilèges

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

CA Change of address

Effective date: 20230220

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20230220

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12