# Patent

## Title
Method and system for conditional access to a digital content, associated terminal and subscriber device

## Abstract

The invention relates to a method and a system for conditional access making it possible to prevent the fraudulent use of a subscriber electronic device (1a, 1b, 1m) and to thus effectively combat the fraudulent making available of protected contents. The invention further relates to the adaptation of such a device as well as to a method allowing the revocation of the latter if it is deemed to be illicitly exploited or its possible reinstatement.

## Background
The invention relates to a system and method for conditional access to digital content making it possible to prevent the use of a legally acquired and authentic electronic device by a hacker terminal. The invention thus allows to effectively fight against the fraudulent provision of protected multimedia content.
The invention further relates to the adaptation of such devices as well as a method for respectively initiating the temporary or permanent revocation of an electronic device or the possible rehabilitation of the latter. The invention further relates to the adaptation of a terminal to allow the implementation of the conditional access method.
An operator broadcasting digital content generally works with a Conditional Access System (CAS) to provide protected content to one or more subscribers. Such a system generally relies on secure electronic devices, such as smart cards, to host the identities and/or rights of the subscribers and to perform encryption, decryption or number generation operations.
According to the known conditional access systems, to broadcast protected multimedia content, encrypted control words c and encoded contents C are transmitted through a broadcast network, at regular intervals or cryptoperiods, at least, which are known and mastered by the broadcast operator. An encrypted control word is generally obtained using an encryption function E such that c=E(k), k being the value of said control word. Encoded content C is obtained using an encoding function enc and said control word k, such that C=enc(k,M), M being the plain text of the multimedia content. As an example, the encoding function may be in accordance with standard DVB-CSA (Digital Video Broadcasting-Common Scrambling Algorithm). To be able to view or listen to protected content, individuals must obtain a subscription. A subscriber receives a dedicated device, generally in the form of a smart card, which, coupled to a terminal, generally called a decoder or “set-top box”, allows that subscriber to decode protected content. The encrypted control words c are traditionally decrypted using a subscriber device that supplies the control words k to the terminal. The latter is responsible for decoding encoded content C and allows, using a suitable man-machine interface—for example, a home television set—to access the plain text M of the content.
Typically, “hackers” try to generate an illicit trade seeking to use a pirate network to transmit decrypted control words k making it possible to decode protected content C using a terminal adapted for that purpose. The first threats and attacks led hackers to try to “break” the security of subscriber electronic devices. Through knowledge of the cryptographical material, algorithms or secrets, a hacker can then “clone” or emulate such a device and make certain “reproductions” available to dishonest subscribers.
The increasing and quasi-inviolable robustness of such devices have led hackers to legally acquire subscriber devices (such as smart cards) and design pirate terminals, capable of cooperating with said devices and transmitting decrypted control words k, in real-time, over a pirate network or channel using techniques known as “control-word sharing”. This control-word sharing technique, which aims to transmit decrypted control words, is particularly valued because it allows to use a pirate network with a low bandwidth because the size of the control words is generally much smaller than the size of the decoded content.
To thwart the hackers, the operators generally manage to ascertain the existence of such a pirate network. By obtaining a subscription from a hacker, an operator can even obtain a “cloned” or emulated device and study it. However, given that the control word k, which allows accessing the plain text of the multimedia content, is identical for all subscribers (or for a large group of subscribers), it is not possible to identify the origin of the fraud from a control word that has been disclosed on the pirate network. There are therefore no known methods making it possible to identify a device which, despite having been regularly and honestly acquired, is being used fraudulently.
The invention allows responding particularly effectively to the threat of control-word sharing. Among the many advantages provided by the invention, we may mention that the invention allows to remotely trace any subscriber device that has allowed to generate a control word whereof the value can be transmitted over a hacker network. In fact, the invention allows providing a dedicated and distinct control word for each subscriber device. Observing such control word transmitted over a pirate network allows finding the subscriber device being used illegally. The invention further allows to remotely revoke such a device, called “traitor device”, while continuing to broadcast content through the broadcast network. The invention thus offers any content broadcasting operator a particularly simple and effective tool to fight piracy. Furthermore, according to one preferred embodiment, a subscriber device only performs a small number of computations, the costly computations being done in the terminal provided to the subscriber and cooperating with said subscriber device.
To that end, a method is provided for generating a control word, implemented by processing means of a subscriber electronic device cooperating with a terminal, said device comprising receiving means for receiving data from the terminal and means for delivering said generated control word to the terminal. Said method comprises:

    
    
        a step for receiving data via the receiving means that consist of a tag t;
        a step for determining the current cryptoperiod by using the received tag t;
        a step for generating a control word from said current cryptoperiod cp and from a secret SKi stored by the device;
        a step for delivering a control word k′ using the delivering means of the device.
    
    


To be able to trace any subscriber device having generated a control word whereof the value can be transmitted over a hacker network, the step for generating the control word of such a method consists of generating a traceable control word ki,cp whereof the value is distinct from that of a control word generated, for the current cryptoperiod cp, by any other subscriber device by integrating the value of an identifier i into the calculation of the word ki,cp. Said value of the identifier i is stored by the device and distinct from that stored by any other subscriber device. The step for delivering the control word consists of delivering k′ equal to ki,cp.
To be able to revoke or render a subscriber device using such a method, the latter may include a prior step for authorizing the device to deliver a control word k′ equal to the generated control word ki,cp.
Optionally, to unburden a content server of this task, such a method may include a step for calculating and delivering a header H to allow in fine decoding of the encoded content by a terminal.
To implement a method for generating a traceable control word, the invention provides for adapting a subscriber electronic device cooperating with a terminal and comprising:

    
    
        receiving means for receiving data from the terminal;
        processing means for generating a control word from said data;
        means for delivering said control word to said terminal.
    
    


Such an adaptation consists of the device having storage means to store an identifier i, a secret SKi. The processing and storage means are further suitable for generating and delivering a traceable control word k′ using a method according to the invention.
According to a second object, the invention provides a method for decoding encoded content C and generating the plain text M of the content, said method being implemented by processing means of a terminal cooperating with means for receiving data from the outside world and means for delivering said plain text M of the content. According to the invention, said data consists of said encoded content C, a header H and a traceable control word ki,cp generated and delivered by a subscriber electronic device according to the invention. To allow content to be decoded, even when the control word is traceable and therefore distinct from one subscriber device to another, the decoding method comprises:

    
    
        a step for applying a first function F1 to the header H and the control word ki,cp to generate a word K independent of the identifier i of the device having generated and delivered the control word ki,cp by eliminating the contribution of said dedicated identifier i;
        a step for applying a second function F3 to said word K and the encoded content C to generate the plain text M of the content;
        a step for delivering said plain text M of the content via the delivering means of the terminal.
    
    


In order to implement a method for decoding encoded content C and generating the plain text M of the content, the invention provides for adapting an electronic terminal comprising:

    
    
        receiving means for receiving data from the outside world;
        processing means for generating the plain text M of the content from said data;
        means for delivering said plain text of the content to a man-machine interface suitable for rendering said plain text of the content;
        means for cooperating with a subscriber electronic device according to the invention.
    
    


The data received from the outside world consists then of an encoded content C, a header H and a tag t. The means for cooperating with said subscriber electronic device transmit the latter said tag t and in return receive a traceable control word ki,cp that is generated and delivered according to the invention. The terminal further comprises processing means suitable for decoding and delivering the plain text M of the content using a method according to the invention.
According to a third object, the invention provides a method for encoding the plain text M of the content and generating an encoded content C, said method being implemented by processing means of a server comprising means for delivering said encoded content C to a terminal according to the invention and cooperating with a subscriber device, also according to the invention. Such a method comprises:

    
    
        a step for generating encoded content C from a cryptoperiod cp and a secret MK known by the server;
        a step for generating a tag t to characterize the cryptoperiod cp from which the encoded content C was generated and allowing the device to generate and deliver a traceable control word according to the invention;
        a step for calculating and delivering a header H to enable decoding of the content encoded by the terminal according to the invention;
        a step for jointly delivering said encoded content C, the header H and said tag t.
    
    


To implement such a method, the invention provides for adapting the processing means of a server so that they implement said method to generate and deliver encoded content C from the plain text of the content, a cryptoperiod cp and a secret MK, a tag t and a header H.
The invention provides a conditional access system for digital content comprising a server, terminal and electronic device respectively in accordance with the invention.
This invention further relates to a method for conditional access to digital content, comprising:

    
    
        a step for generating and delivering, by a server, an encoded content C, a tag t and a header H according to the invention;
        a step for receiving said encoded content C, tag t and header H by a terminal;
        a step for transmitting the tag t by the terminal to a device cooperating with said terminal;
        a step for generating and delivering, by said device to the terminal, a traceable control word ki,cp according to the invention;
        a step for the decoding by the terminal of the encoded content C and for generating the plain text M of the content according to the invention;
        a step for rendering said plain text M of the content using an interface adapted to said plain text of the content.
    
    


To observe a pirate network and identify an electronic device that is being used fraudulently, the invention provides a method for tracing a control word kp,cp generated by a traitor subscriber device using a method to generate a traceable control word according to the invention. Such a tracing method comprises:

    
    
        a step for collecting the control word kp,cp;
        a step for collecting a utility or pirate decryption program capable of decoding encoded content using said control word kp,cp;
        a step for determining an identifier i=p of a device having generated kp,cp consisting of:
        
            i. interpreting the utility or decryption program to design an equivalent program expressing a set of instructions in the form of algebraic and related operations each comprising at least one input variable and at least one output variable;
            ii. setting the input variables to constants so that the equivalent program decodes the encoded content correctly;
            iii. simplifying said equivalent program so that it only comprises one sequence of instructions without jumps;
            iv. converting the simplified equivalent program into a system of multivariate equations by using algebraic transformations;
            v. inverting all or part of said system of multivariate equations to identify the traitor device.
        
        
    
    





Other features and advantages will appear more clearly upon reading the following description and examining the figures accompanying it, in which:
FIG. 1 shows a conditional access system according to the state of the art;
FIG. 2 shows a mode for hacking protected multimedia content broadcast using the conditional access system according to the state of the art;
FIGS. 3 and 3a respectively describe two embodiments of a conditional access system according to the invention;
FIG. 4 describes the use, according to the invention, of a method to observe a private network and identify an electronic device being used fraudulently or a traitor device;
FIG. 5 illustrates the functional architecture of a subscriber electronic device according to the invention;
FIGS. 5a and 5b respectively illustrate two embodiments of a method for generating a control word according to the invention;
FIG. 6 describes a first preferred embodiment of a method for decoding encoded content, according to the invention;
FIG. 7 describes a first preferred embodiment of a method for encoding the plain text of a content, according to the invention;
FIG. 8 describes a first preferred embodiment of a method for generating a secret to use a conditional access system, according to the invention; and
FIG. 9 describes one embodiment of a conditional access method according to the invention.



FIG. 1 shows a system for conditional access to digital content according to the state of the art. It consists of a broadcast network 4 implemented by an protected content broadcasting operator. Thus, control words c and contents C, respectively encrypted and encoded, are jointly transmitted from a content server 3 To that end, the server 3 encodes the plain text M of the content using an encoding function enc and a control word k, the latter being generated by said server 3. An encoded content C such that C=enc(k,M) is thus obtained. A cipher c of the control word k is also transmitted or broadcast together with the encoded content C. To that end, the server uses an encryption function E to encrypt said control word k to obtain c such that c=E(k).
The encrypted control words c and the encrypted content C are transmitted, via the broadcast network 4, to terminals 2a to 2m. The latter are respectively responsible for the real-time decoding of the encoded content C transmitted by the server 3. Thus, a terminal—for example such as the decoder 2a—implements a decoding function dec and applies it to the encoded content C to obtain the plain text M of the content. The latter can be viewed by using a home television set 5 or any other suitable interface for rendering the plain text of the content. To apply the decoding function dec, a terminal must know the value of the control word k that was used by the server 3 to encode the content M. According to the state of the art, and in accordance with FIG. 1, a terminal 2a to 2m receives an encrypted control word c such that c=E(k) and transmits it to a secure electronic device 1a to 1m, generally dedicated to a subscriber. The terminal 2a regularly receives pairs (C,c) through the network 4 and transmits the encrypted control words c to a device 1a. The device 1a can decrypt an encrypted control word c using a decryption function D to obtain the control word k that was used to encode content M. Thus, k=D(c). The same is true for any other terminal, such as 2b to 2m, each respectively cooperating with a device 1b to 1m. According to one alternative embodiment, the server 3 can use a secret, for example in the form of a key Kc, to encrypt a control word k. Thus, c=E(Kc,k). In that case, a device, such as the device 1a to 1m, uses a reciprocal decryption function D, such that k=D(Kd,k), where Kd is a decryption key known by the device. According to the encryption E and decryption D functions, the keys Kc and Kd can be identical. This is the case for a symmetrical encryption/decryption. Alternatively, according to a system called “broadcast encryption”, Kc is a public or secret key dedicated to the operator and Kd is a secret key dedicated to the device and known by the operator. According to this alternative, several individual decryption keys thus exist, and each of the legally issued devices given to said operator's subscribers has such an individual decryption key.
FIG. 2 shows a scenario where a pirate organization, which we will call “hacker”, manages to engage in a fraudulent trade of protected content.
According to this first scenario, the hacker has quite normally purchased a subscription from a content operator. He may thus have a subscriber electronic device, such as a smart card 1a. The hacker is further in possession of a terminal 2P called pirate terminal. This terminal can receive pairs (C,c) from a broadcast network like that described with respect to FIG. 1. The terminal 2P can cooperate with said device 1a to allow it to transmit the encrypted control words c. In return, the device 1a generates the control word k by decrypting the cipher c using a decryption function D. Quite normally, the device 1a delivers the control word k to the terminal 2P. According to this first scenario, the pirate terminal 2P can then emit the control words k in real-time through a hacker network 6. A dishonest user who “subscribed” a membership from the hacker may have a terminal 2w. The latter is adapted so that it receives encoded content C from the distribution network 4 (arrow in dotted lines), on the one hand, and the associated control words k, in plain text, from the pirate network 2, on the other hand. The terminal 2w can decode the encoded content C and deliver the plain text M of the content so that it can be rendered.
A hacker can also get multiple subscriptions from one or more operators. A pirate terminal 2P can cooperate with multiple subscriber devices 1a to 1z simultaneously and implement a more or less complex management algorithm for said devices. For example, the pirate terminal transmits a decrypted control word k primarily through the devices 1a to 1z. Alternatively, such a terminal 2P can randomly seek one electronic device or another, etc.
Alternatively, a hacker may optionally use a proprietary method to encrypt or encode the control words k transmitted on a pirate network. Thus, it is possible to transmit, on said pirate network, a cipher cp=Ep(k)−Ep being a proprietary encryption function of the hacker. A terminal 2w comprises, in this case, reciprocal decryption functions Dp to deliver in fine the expected plain text of a content.
The invention allows thwarting these various pirate scenarios.
FIG. 3 shows a first embodiment of a conditional access system to digital content as provided by the invention. As for a known system, the invention provides a broadcast network 4 implemented by a protected content broadcast operator. Encoded contents C are emitted from a content server 3. To that end, the server 3 encodes the plain text M of the content using an encoding function enc. Encoded content C is thus obtained such that C=enc(M). A tag t is also emitted or broadcast together with the encoded content C. That tag contains, in particular, data relative to the current cryptoperiod. It may also contain data regarding the content or instructions the server wishes to emit over the network 4 to one or more subscriber devices 1a to 1m, respectively cooperating with terminals 2a to 2m capable of receiving the elements broadcast via the network 4. According to this first embodiment, a header H is also and jointly broadcast with the encoded content C and the tag t. This header will primarily be used by any terminal to decode encoded content.
The decoders 2a to 2m are respectively responsible for real-time decoding of the encoded content C emitted by the server 3. Thus, a terminal—for example such as the decoder 2a—implements a decoding function dec and applies it to the encoded content C to obtain the plain text M of the content. The latter may be viewed using a home television set 5 or any other device suitable to render the plain text of the content. To apply the decoding function dec, a terminal must know the value of the header H as well as the value of a control word ka,cp generated and delivered by the secure subscriber electronic device 1a cooperating with the terminal 2a. The same is true for any other terminal, such as the terminals 2b to 2m, each cooperating respectively with the devices 1b to 1m. The control words ki,cp delivered by a subscriber device 1i are generated using tags t transmitted from the server 3 via the terminals, an identifier i dedicated to the subscriber device 1i and a secret SKi, i and SKi being stored in the subscriber device 1i. Each control word is thus specific to a particular subscriber device. Thus, ki,cp is specific and dedicated to the device 1i. This control word ki,cp is also different from the other control words respectively dedicated to the other subscriber devices. To decode encoded content C, a terminal 2i thus implements a decoding function dec such that M=dec(ki,cp,C,H), M being the plaint text of the content.
According to one alternative embodiment illustrated relative to FIG. 3a, a server 3 may transmit only the encoded content C and the tag t characterizing the current cryptoperiod go through the network 4 to terminals, including the terminal 2i. In this case, the generating of header H, necessary for decoding, is implemented by the subscriber device 1i cooperating with the terminal 2i—in a manner similar to that implemented by the server 3 described in connection to FIG. 3. This alternative allows reducing the bandwidth necessary to broadcast the encoded content.
Irrespective of the embodiment (described in connection with FIG. 3 or 3a), the invention allows implementing a conditional access system that prevents the risk of control-word sharing. Indeed, the control words used by the decoders to decode the encoded content are traceable. They, in fact, each and respectively, depend on a dedicated identifier of the subscriber device that generated and delivered them. Each control word thus generated is unique and dedicated to a subscriber device. For two subscriber devices 1i and 1j, two control words ki,cp and kj,cp are respectively generated by the devices 1i and 1j such that ki,cp≠kj,cp. FIG. 4 shows a technique allowing an operator to detect the fraudulent use of a subscriber device that we will call “traitor device”. FIG. 4 uses the same elements described with respect to FIG. 3. Thus, a pirate terminal 2P receives triplets (C,H,t) from a broadcast network 4. The terminal 2P cooperates with one or more legally acquired devices 1a to 1z according to the invention. They generate and deliver control words that in particular and respectively depend on the identifier of each subscriber device. Thus, a device 1a delivers a control word ka,cp that depends particularly on its dedicated identifier a. We will study below a method for generating such a control word (relative to FIGS. 5a and 5b). To illustrate the observation process, let us consider that it is possible for an operator in possession of a control word ki,cp to deduce the identifier i of the device having generated said control word ki,cp.
The terminal 2P having received the control words ka,cp, kb,cp or kz,cp respectively generated by the devices 2a, 2b, 2z can emit, in real-time through a pirate network 6, one or more control words—which we will denote kp,cp—equal to one of the words ka,cp, kb,cp or kz,cp. A terminal 2w can receive, on the one hand, encoded content C (accompanied by the header H and the tag t) from the distribution network 4, and, on the other hand, control words kp,cp in plain text from the pirate network 6. The terminal 2w can decode the encoded content C and deliver the plain text M of the content so that it can be viewed. An operator can have means 9 to observe the hacker network 6. This observation may consist in perceiving one or more control words kp,cp that pass through the pirate network 6. Based on this observation, an operator manages to identify at least one traitor device used by a decoder or hacker terminal 2P from among the devices 1a to 1z. 
As soon as a traitor device 1i is identified, it can be revoked by transmitting a revocation request as provided by the invention (FIG. 5b), and even by taking any measures he may deem useful in order to stop the use of the traitor device.
In an attempt to complicate the task of the operator seeking to trace a traitor device, the control word may alternatively result from a mixture based on one of said control words ka,cp, kb,cp or kz,cp so as to generate and emit a kp,cp distinct from said ka,cp, kb,cp or kz,cp. However, the invention provides an embodiment to prevent the use of such combinations or mixtures so as to guarantee traceability of the subscriber devices.
As indicated in FIG. 9, and with respect to the alternative described in FIG. 3, in order to implement the invention, the plain text M of the content is encoded by a content server 3 using a function enc as described, for example, in connection with FIG. 7 according to a method 410. The latter further allows generating a tag t that characterizes, in particular, the current cryptoperiod cp. A header H is further generated by said server 3 (or by the subscriber devices according to the alternative of FIG. 3a). The triplets (C,H,t)—or the pairs (C,t) according to FIG. 3a—are transmitted from the server 3 via the network 4 to at least one terminal 2i that in turn transmits said tag t to a subscriber device 1i with which it cooperates. According to a method 100 as described in connection with FIG. 5a, the device 1i—adapted as indicated in FIG. 5—generates and delivers a control word ki,cp specific to said terminal 2i. The latter decodes the encoded content C using a decoding function dec according to a method such as the method 200 described as an example by FIG. 6. The plain text M of the content thus obtained can be delivered by a man-machine interface 5. Beforehand, such a conditional access method according to the invention comprises a step for defining and distributing a dedicated secret SKi to a group of subscriber devices. According to one particular embodiment, the secrets SKi have a shared value identical to that of a secret MK shared with the server. To initialize such a shared secret, the invention provides a method, such as the example 400 described in connection with FIG. 8.
The invention further provides that a plurality of subscriber devices can share a same identifier i. Such a plurality of devices is then comparable to a set of “clones” sharing a same identifier i or even a same SKi. For simplification purposes, and within the meaning of the invention, the notion of “subscriber device” indifferently covers any subscriber device in an individual form (a single electronic device) or a plural form (multiple devices sharing the same identifier i).
According to a first preferred embodiment, the invention is based on the mathematical notion of coupling in prime order groups. Such coupling is a bilinear application generally used in cryptography, in particular in the field of elliptical curves.
Let β be a bilinear group β=(p,,e(.,.)) of first order p such that |p|=λ, λ defining the size of the elements as a security parameter.  and  are three cyclical groups of order p and e: a coupling. A cyclical group is an algebraic set such that gp+1 is equal to g, p defining the order of the cyclical group and g an element of the group that we will call “generator”. Within the meaning of the invention, a particular relationship between the groups  and  is not required. The two groups can be identical or more generally, an isomorphism Ψ between  and  can be defined. The invention provides that any isomorphism as well as any effectively calculable coupling is favored.
The value SKi is common and shared between all of the subscriber devices. The value of SKi is equal to MK, and said secret SKi=MK can then be generated as indicated as an example in FIG. 8. Thus, a method 400 for generating such a secret may consist of randomly choosing 402 a generator g from the group —as indicated by the notation




In 403, such a method also and randomly chooses γ0 belonging to the set  of integers modulo p. The secret MK can then be defined 404 as a set of two components respectively equal to g and γ0—we will use the notation MK=(g,γ0) to describe this. This method 400 can be implemented by a content server such as the server 3 described in connection with FIGS. 3 and 3a or alternatively by a dedicated server, the secret MK then being transmitted to said content server, which thus knows the secret previously generated.

The processing means of a server 3 like that described in connection with FIGS. 3 and 3a can then use a method to encode the plain text M of the content and generate encoded content C. Such a method may be according to the example of the method 410 described in connection with FIG. 7.
Said method thus comprises a step 414 for generating encoded content C from a cryptoperiod cp and the secret MK stored by the server 3.
It further comprises a step (not shown) for generating a tag t so as to characterize the cryptoperiod cp from which the encoded content C was generated. Lastly, it comprises a step (not shown) for jointly delivering said encoded content C and said tag t. Such a method may further include a step prior to transmission of the tag t to associate the latter with data attesting to its integrity.
According to this first preferred embodiment of the invention, the function enc for generating the encoded content C consists first of calculating 411 γcp=F0(γ0,cp), F0 being a determined and known function of the server 3. The server 3 chooses 412 a set s={sj}j=1n of n values each belonging to .
It calculates 413 a word K={Kj}j=1n whereof the n components are each equal to




  
    
      K
      j
    
    =
    
      
        e
        ⁡
        
          (
          
            g
            ,
            f
          
          )
        
      
      
        1
        
          
            γ
            cp
          
          +
          
            s
            j
          
        
      
    
  
  ,




for any j comprised between 1 and n, the generator f being a generator randomly chosen from the group , for example in step 402 of the method according to FIG. 8—as indicated by the notation





The server 414 applies a function F3−1 to said word K and to the plain text M of the content to generate the encoded content C. According to one exemplary embodiment, the function F3−1 is the exclusive OR. The components of the word K are concatenated or mixed beforehand in a determined manner.
The method described in connection with FIG. 7 can further include a step 413a for generating the header H to enable decoding of the encoded content. This alternative is implemented by a server 3 as described in connection with FIG. 3, which delivers the header H together with the encoded content C and the tag t.
According to this embodiment, the header H can consist of a set H={hj}j=1n of n components respectively equal to a pair of magnitudes




  (
  
    
      f
      
        1
        
          
            γ
            cp
          
          +
          
            s
            j
          
        
      
    
    ,
    
      s
      j
    
  
  )




for any j comprised between 1 and n. The set s={sj}j=1n of n values is identical to the set s used to generate the word K and f is the generator chosen—possibly randomly—from among the group  during the step 402 for generating the secret MK.

To implement the invention, it is further necessary to adapt the subscriber electronic devices. Thus, figure describes a subscriber device according to the invention. Such a device 1i comprises means R for receiving a tag t from the outside world—for example from a terminal 2i. 
According to one embodiment of the invention, a tag t may include data attesting to its integrity. As an example, said data may consist of a redundancy code such as a hash or be generated using a secret Kd shared between the device and the server. According to one alternative, such a tag may be transmitted encrypted from the server after having been generated by the latter using an asymmetrical or symmetrical encryption algorithm. According to these two embodiments, the device 1i comprises processing means 10 that can verify 11 the integrity of the received tag, or even decrypts it. If a secret Kd is necessary for that usage, storage means 21 may be provided within a device 1i according to the invention to store said secret and cooperate with said processing means. To generate 13 a control word ki,cp specific to the device 1i, the processing means 10 cooperate with means 22 for storing an identifier dedicated to the device. To generate the control word, the processing means 10 are capable of deducing 12 the current cryptoperiod cp from the tag. They further cooperate with storage means 23 that store a secret SKi. From the identifier i, the cryptoperiod cp and the secret SKi, the processing means of the device generate 13 the control word ki,cp. The latter is delivered by the device 1i to the outside world (for example, to the terminal 2i) via means for delivering S.
To generate a control word, the processing means of a device 1i according to the invention can implement a method 100 as illustrated by FIG. 5a. 
Such a method for generating a control word comprises a first step for receiving 101 a tag t via the receiving means R of the device 1i. It further comprises a step for determining 103 the current cryptoperiod cp by using the received tag t, then a step for generating 105 a control word ki,cp from said current cryptoperiod cp, the identifier i dedicated to the device and the secret SKi−i and SKi being stored by the device. The method further comprises a step for delivering a control word k′ equal to ki,cp via the delivering means S of the device.
According to the first preferred embodiment based on the bilinear group β=(p,,e(.,.)) of prime order p, a subscriber device, implementing a method 100 as illustrated in connection with FIG. 5a, receives 101 a tag t—optionally validates 102 its integrity—then deduces 103 the current cryptoperiod cp. In 104, said device implements a function F0 (identical to that implemented by the content server) which, applied to the component γ0 of the secret SKi=MK and the cryptoperiod cp, allows generating γcp which belongs to .
The method 100 then comprises a step 105 for generating the control word ki,cp. This step consists of calculating a pair of magnitudes xi,cp and Ai,cp. xi,cp belongs to  and is calculated by the processing means of the device deterministically from the identifier i and the cryptoperiod cp. Ai,cp is calculated by the device as being equal to




  
    g
    
      1
      
        
          γ
          cp
        
        +
        
          x
          
            i
            ,
            cp
          
        
      
    
  
  .




The device 1i implementing a method 100 can then deliver 106 a control word k′ equal to ki,cp to the outside world (such as a terminal 2i with which it cooperates).
The invention provides that, according to the alternative described in connection with FIG. 3a, a subscriber device according to the invention can—instead and in place of the content server 3—create and generate the header H. The method 100 then comprises a step 105a for generating the components of said header and a step 106a for delivering said header to the terminal with which it cooperates. This step 105a is similar to the step 413a previously described and implemented by a server 3 according to FIGS. 3 and 7.
Thus, the step 105a implemented by a subscriber device, as described in connection with FIG. 3a, can consist of calculating a set H={hj}j=1n of n components respectively equal to a pair of magnitudes




  (
  
    
      f
      
        1
        
          
            γ
            cp
          
          +
          
            s
            j
          
        
      
    
    ,
    
      s
      j
    
  
  )




for any j comprised between 1 and n. To determine the set s={sj}j=1n of n values identical to the set s used to generate the word K by the server 3 (step 413 of FIG. 7) and to choose the generator f from among the group  (during the step 402 in conjunction with the creation of the secret MK), the invention provides that the tag t comprise data characterizing said choices. Alternatively, said set s={sj}j=1n and generator f are predetermined and shared between the server and the set of subscriber devices.

To decode encoded content C, the processing means of a terminal 2i as shown in connection with FIG. 3 or 3a cooperate with means for storing the parameters of the bilinear group β. They use a decoding function dec—like that described in connection with FIG. 6—to generate the plain text M of the content.
Such a method 200 is implemented by the processing means of the terminal following the reception of encoded content C, a header H and a control word ki,cp from the outside world. It comprises a step for applying 201 a first function F1 to the header H and to the control word ki,cp to generate 203 a word K. The method 200 further comprises a step for applying 204 a second function F3 to said word K and the encoded content C to generate the plain text M of the content. According to this embodiment, the function F3−1, used by the server to include the content, is an inverse function of the function F3. The terminal can thus deliver 205 said plain text M of the content. According to one embodiment, said processing means of the terminal can use an extension function F2 to adapt the format of the word K before application of the function F3.
Thus, according to the first preferred embodiment of the invention based on a bilinear group β=(p,,e(.,.)) of prime order p, we recall that the control word ki,cp comprises two components xi,cp and Ai,cp, xi,cp having been calculated directly from the identifier i of the subscriber device that generated and delivered said control word. We further recall that the header H consists of a set of components hj respectively equal to




  (
  
    
      f
      
        1
        
          
            γ
            cp
          
          +
          
            s
            j
          
        
      
    
    ,
    
      s
      j
    
  
  )




for any j comprised between 1 and n. The step 203 for generating the word K then consists of using a bilinear application e:  for which  and  are three cyclical groups of prime order p. This bilinear application pertains to the components of H and ki,cp such that





  
    K
    j
  
  =
  
    e
    (
    
      
        A
        
          i
          ,
          cp
        
      
      ,
      
        
          
            (
            
              f
              
                1
                
                  
                    γ
                    cp
                  
                  +
                  
                    s
                    j
                  
                
              
            
            )
          
          
            
              x
              
                i
                ,
                cp
              
            
            -
            
              s
              j
            
          
        
        .
        f
      
    
    )
  




for any j=1 at n, f being the generator belonging to the cyclical group  of order p.

By using the bilinearity property,




  
    K
    j
  
  =
  
    
      e
      (
      
        
          A
          
            i
            ,
            cp
          
        
        ,
        
          
            
              (
              
                f
                
                  1
                  
                    
                      γ
                      cp
                    
                    +
                    
                      s
                      j
                    
                  
                
              
              )
            
            
              
                x
                
                  i
                  ,
                  cp
                
              
              -
              
                s
                j
              
            
          
          .
          f
        
      
      )
    
    =
    
      
        
          e
          ⁡
          
            (
            
              g
              ,
              f
            
            )
          
        
        
          1
          
            
              γ
              cp
            
            +
            
              s
              j
            
          
        
      
      .
    
  




We can see that this property allows to eliminate the contribution of the magnitude xi,cp that depends directly on the identifier i dedicated to the subscriber device 1i that generated and delivered the control word ki,cp.

To generate the plain text M of the content, the step 204 for applying the function F3 to said components of the word K and to the encoded content C consists of applying the function F3 to the components previously aggregated 203—concatenated or mixed in a manner similar to the aggregation done in step 414 during encoding of the content by the server. As an example, the function F3 can consist of the exclusive OR—the functions F3 and F3−1 then being identical.
The optional implementation of the expansion function F2—step 202—may consist, according to the preferred exemplary embodiment of the invention, of adapting the size of the outputs of each application of the function F1 to a component Kj to make it compatible with the application of the function F3 between the aggregation of said components Kj* thus adapted by F2 and the encoded content C.
The invention provides a second preferred embodiment also based on the mathematical notion of coupling in groups of prime order. According to this second embodiment, the value of the secret SKi stored in each subscriber device is distinct and depends in particular on the value of the identifier i thereof.
Let β be a bilinear group β=(p,,e(.,.)) of prime order p such that |p|=λ, λ defining the size of the elements as security parameter.  and  are three cyclical groups of order p and e: a coupling. A particular relationship between the groups  and  is not required. The two groups may be identical or, more generally, an isomorphism Ψ between  and  may be defined. The invention provides that any isomorphism as well as any effectively calculable coupling are favored.
The value of the secret MK known by the server may consist of randomly choosing two generators g and f respectively from the groups  and —as indicated by the notations




and





Furthermore, γ will randomly be chosen belonging to the set  of integers modulo p. The secret MK can then be defined as a set of three components respectively equal to g, γ and f—we will use the notation MK=(g,γ,f) to describe this.

To generate a pair of secrets SKi and DKi intended to be respectively stored in the subscriber device 1i and in the terminal 2i cooperating with the latter, the server 3 can use the following method. xi is chosen belonging to  and the magnitude




  
    B
    i
  
  =
  
    f
    
      1
      
        γ
        +
        
          x
          i
        
      
    
  




is calculated. A secret SKi may be defined as a set of two components respectively equal to xi and Bi—we will use the notation SKi=(xi,Bi) to describe this. A secret DKi is defined as being equal to





  
    DK
    i
  
  =
  
    
      g
      
        
          x
          i
        
        
          γ
          +
          
            x
            i
          
        
      
    
    .
  




The processing means of the server 3, like that described in connection with FIGS. 3 and 3a, can then implement a method to encode the plain text M of the content and generate encoded content C.
Such a method may include a step for generating encoded content C from a cryptoperiod cp and the secret MK known or stored by the server 3.
For a cryptoperiod cp, such a method further comprises a step for generating a tag t=tcp so as to characterize the cryptoperiod cp from which the encoded content C was generated. As an example, and according to the second preferred embodiment, said step for generating t=tcp consists of choosing—possibly randomly—ycp among the set  and generating a magnitude




  
    f
    cp
  
  =
  
    
      f
      
        1
        
          γ
          +
          
            y
            cp
          
        
      
    
    .
  




The tag t=tcp consists of a pair of two magnitudes respectively equal to ycp and fcp−1, such that t=tcp=(ycp,fcp−1). Such a method may further include a step prior to the transmission of the tag t to associate data attesting to its integrity therewith.

The function enc to generate the encoded content C consists of first choosing—optionally randomly—a set s={sj}j=1n of n values each belonging to  A word K={Kj}j=1n is then calculated whereof the n components are respectively equal to Kj=e(g, fcp)sj for any j comprised between 1 and n.
The server applies a function F3−1 to said word K and to the plain text M of the content to generate the encoded content C. According to one exemplary embodiment, the function F3−1 is the exclusive OR. The components of the word K are previously concatenated or mixed in a determined manner.
The method used by the server may further include a step for generating the header H to allow in fine the decoding of the encoded content by a terminal. This alternative is implemented by a server 3 as described in connection with FIG. 3, which delivers the header H together with the encoded content C and the tag t.
According to this embodiment, the header H may consist of a set H={hj}j=1n of n components respectively equal to a pair of magnitudes (hj,1, hj,2). For any j comprised between 1 and n, hj,1=gsj·γ and hj,2=fcpsj, the set s={sj}j=1n of n values being identical to the set used to generate the word K.
To implement the invention according to this second preferred embodiment, it is further necessary to adapt the subscriber electronic devices. Such a device 1i—as described in connection with FIG. 5—comprises means 23 for storing the value of the secret SKi as generated by the server. It further comprises means 13 for generating a control word ki,cp in accordance with the method which, for example, comprises a first step for receiving a tag t via the receiving means R of the device 1i. It further comprises a step for determining the current cryptoperiod cp by using said received tag t=tcp, then a step for generating a control word ki,cp from said current cryptoperiod cp, the identifier i dedicated to the device and the secret SKi−i and SKi being stored by the device. The method also comprises a step for delivering a control word k′ equal to ki,cp via the delivering means S of the device.
According to the second preferred embodiment based on the bilinear group β=(p,,e(.,.)) of prime order p, a subscriber device 1i comprises a secret SKi=(xi,Bi). The received tag t=tcp is equal to t=tcp=(ycp,fcp−1), cp being the current cryptoperiod.
One method for generating ki,cp consists of calculating




  
    
      
        
          k
          
            i
            ,
            cp
          
        
        =
        
        ⁢
        
          
            (
            
              
                B
                i
              
              ·
              
                f
                cp
                
                  -
                  1
                
              
            
            )
          
          
            1
            
              
                y
                cp
              
              -
              
                x
                i
              
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            (
            
              
                f
                
                  1
                  
                    γ
                    +
                    
                      x
                      i
                    
                  
                
              
              ·
              
                f
                
                  
                    -
                    1
                  
                  
                    γ
                    +
                    
                      y
                      cp
                    
                  
                
              
            
            )
          
          
            1
            
              
                y
                cp
              
              -
              
                x
                i
              
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          f
          cp
          
            1
            
              
                (
                
                  γ
                  +
                  
                    y
                    cp
                  
                
                )
              
              ·
              
                (
                
                  γ
                  +
                  
                    x
                    i
                  
                
                )
              
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            f
            cp
            
              1
              
                (
                
                  γ
                  +
                  
                    x
                    i
                  
                
                )
              
            
          
          .
        
      
    
  




The device 1i implementing such a method can then deliver a control word k′ equal to ki,cp to the outside world (such as a terminal 2i with which it cooperates).
The invention provides that, according to the alternative described in connection with FIG. 3a, a subscriber device according to the invention can—instead and in place of the content server 3—create and generate the header H as previously defined.
To decode encoded content C, the processing means of a terminal 2i, as shown in connection with FIG. 3 or 3a, implement a decoding function dec to generate the plain text M of the content. Such a decoder 2i further comprises means for storing the value of the secret DKi generated by the server as well as the parameters of the bilinear group β.
One method implemented by the processing means of the terminal following reception from the outside world of encoded content C, a header H and control word ki,cp comprises a first step for generating a word K={Kj}j=1n. According to the second preferred embodiment, we recall that the header H generated by the server or, alternatively, by the subscriber device, consists of a set H={hj}j=1n of n components respectively equal to a pair of magnitudes (hj,1, hj,2).
Thus, the step for generating the word K consists, for any j comprised between 1 and n, of generating



  
    
      
        
          
            K
            j
          
          =
          
          ⁢
          
            
              e
              ⁡
              
                (
                
                  
                    DK
                    i
                  
                  ,
                  
                    h
                    
                      j
                      ,
                      2
                    
                  
                
                )
              
            
            ·
            
              e
              ⁡
              
                (
                
                  
                    h
                    
                      j
                      ,
                      1
                    
                  
                  ,
                  
                    k
                    
                      i
                      ,
                      cp
                    
                  
                
                )
              
            
          
        
      
    
    
      
        
          
            =
            
            ⁢
            
              
                e
                ⁡
                
                  (
                  
                    
                      g
                      
                        
                          x
                          i
                        
                        
                          γ
                          +
                          
                            x
                            i
                          
                        
                      
                    
                    ,
                    
                      f
                      cp
                      
                        s
                        j
                      
                    
                  
                  )
                
              
              ·
              
                e
                (
                
                  
                    g
                    
                      
                        s
                        j
                      
                      ·
                      γ
                    
                  
                  ,
                  
                    f
                    cp
                    
                      1
                      
                        (
                        
                          γ
                          +
                          
                            x
                            i
                          
                        
                        )
                      
                    
                  
                
                )
              
            
          
          ,
          or
        
      
    
  




  
    
      
        
          
            K
            j
          
          =
          
          ⁢
          
            
              
                e
                ⁡
                
                  (
                  
                    g
                    ,
                    
                      f
                      cp
                    
                  
                  )
                
              
              
                
                  
                    s
                    j
                  
                  ·
                  
                    x
                    i
                  
                
                
                  γ
                  +
                  
                    x
                    i
                  
                
              
            
            ·
            
              
                e
                ⁡
                
                  (
                  
                    g
                    ,
                    
                      f
                      cp
                    
                  
                  )
                
              
              
                
                  
                    s
                    j
                  
                  ·
                  γ
                
                
                  γ
                  +
                  
                    x
                    i
                  
                
              
            
          
        
      
    
    
      
        
          =
          
          ⁢
          
            
              
                e
                ⁡
                
                  (
                  
                    g
                    ,
                    
                      f
                      cp
                    
                  
                  )
                
              
              
                s
                j
              
            
            .
          
        
      
    
  



We can see that the contribution of the magnitude xi—which directly depends on the identifier i dedicated to the subscriber device 1i that generated and delivered the control word ki,cp—is eliminated.
To generate the plain text M of the content, the method further comprises a step for applying a function F3 to the word K and the encoded content C. This amounts to applying the function F3 to the components of the word K={Kj}j=1n previously aggregated—concatenated or mixed similarly to the aggregation done during encoding of the content by the server. As an example, the function F3 may consist of the exclusive OR, the functions F3 and F3−1 then being identical.
In connection with FIG. 4, to prevent the use of a control word kp,cp—transmitted by a hacker—resulting from a mixture based on one of the control words ka,cp, kb,cp or kz,cp, the invention provides a third preferred embodiment that is also based on a mathematical notion of coupling in groups of prime order.
Let β be a bilinear group β=(p,,e(.,.)) of prime order p such that |p|=λ, λ defining the size of the elements as security parameter.  and  are three cyclical groups of order p and e: a coupling. A particular relationship between the groups  and  is not required. The two groups may be identical or, more generally, an isomorphism Ψ between  and  may be defined. The invention provides that any isomorphism as well as any effectively calculable coupling are favored. According to this third embodiment, a parameter T is also defined that determines the maximum size of an authorized coalition.
As for the first preferred embodiment, each subscriber device stores a secret whereof the value SKi=MK is common and shared between a group of subscriber devices and is known to the content server.
The value of said secret MK may consist of choosing, possibly randomly, a generator g0 of the group . Furthermore, γ is chosen—possibly randomly—belonging to the set  of integers modulo p. The secret MK can then be defined as a set of two components respectively equal to g0 and γ—we will use the notation MK=(g0,γ) to describe this.
The processing means of a server 3, as described in connection with FIGS. 3 and 3a, can then implement a method for encoding the plain text M of the content and generating encoded content C from a cryptoperiod cp and the secret MK known or stored by the server 3.
For a cryptoperiod cp, such a method comprises a first step for generating a tag t=tcp so as to characterize the cryptoperiod cp from which the encoded content C will be generated. Such a method may further include a step prior to the transmission of the tag t to associate the latter with data attesting to its integrity.
To generate content C, the method comprises a step for applying a function F0 to the generator g0 and the cryptoperiod cp to generate gcp=F0(g0,cp) belonging to the group . It further comprises a step for choosing—optionally randomly—




  r
  =
  
    
      {
      
        r
        
          j
          ,
          l
        
      
      }
    
    
      
        j
        =
        1
      
      
        l
        =
        1
      
    
    
      
        j
        =
        n
      
      
        l
        =
        T
      
    
  




and s={sj}j=1n two sets of elements of .

It comprises a step for calculating a word K={Kj}j=1n whereof the n components are respectively equal to




  
    K
    j
  
  =
  
    
      e
      ⁡
      
        (
        
          
            g
            cp
          
          ,
          f
        
        )
      
    
    
      
        s
        j
      
      
        
          (
          
            γ
            +
            
              r
              
                j
                ,
                1
              
            
          
          )
        
        ⁢
        
          
        
        ⁢
        ...
        ⁢
        
          
        
        ⁢
        
          (
          
            γ
            +
            
              r
              
                j
                ,
                T
              
            
          
          )
        
      
    
  




for any j comprised between 1 and n, f being a generator of .

The server applies a function F3−1 to said word K and to the plain text M of the content to generate the encoded content C. According to one exemplary embodiment, the function F3−1 is the exclusive OR. The components of the word K are concatenated or mixed in a determined manner beforehand.
The method implemented by the server may further include a step for generating a header H to allow in fine decoding of the encoded content by a terminal. This alternative is implemented by a server 3 like that described in connection with FIG. 3, which delivers the header H together with the encoded content C and the tag t.
According to this embodiment, the header H may consist of a set H={hj}j=1n of n components respectively equal to a quadruplet of magnitudes ({Pl}l=1T,{rj,l}l=1T,gcpγ.sj,PTsj). For any j comprised between 1 and n,




  
    
      P
      1
    
    =
    
      f
      
        1
        
          γ
          +
          
            r
            
              j
              ,
              1
            
          
        
      
    
  
  ,
  
    
      P
      2
    
    =
    
      f
      
        1
        
          
            (
            
              γ
              +
              
                r
                
                  j
                  ,
                  1
                
              
            
            )
          
          ⁢
          
            (
            
              γ
              +
              
                r
                
                  j
                  ,
                  2
                
              
            
            )
          
        
      
    
  
  ,
  
    
      ...
      ⁢
      
        
      
      ⁢
      
        P
        T
      
    
    =
    
      f
      
        1
        
          
            (
            
              γ
              +
              
                r
                
                  j
                  ,
                  1
                
              
            
            )
          
          ⁢
          
            (
            
              γ
              +
              
                r
                
                  j
                  ,
                  T
                
              
            
            )
          
        
      
    
  
  ,




the set





  r
  =
  
    
      {
      
        r
        
          j
          ,
          l
        
      
      }
    
    
      
        j
        =
        1
      
      
        l
        =
        1
      
    
    
      
        j
        =
        n
      
      
        l
        =
        T
      
    
  




being identical to the set r used to generate the word K. The set s, the generators gcp and f as well as T are also identical to the elements used to generate the word K.

To implement the invention according to this third preferred embodiment, it is further necessary to adapt the subscriber electronic devices. Such a device 1i—as described in connection with FIG. 5—comprises means for storing the value of the secret SKi=MK generated by the server or simply known by it. It further comprises means 13 for generating a control word ki,cp according to a method which, for example, comprises a first step for receiving a tag t via the receiving means R of the device 1i. It further comprises a step for determining the current cryptoperiod cp by using the received tag t=tcp, then a step for generating a control word ki,cp from said current cryptoperiod cp, the identifier i dedicated to the device and the secret SKi−i and SKi being stored by the subscriber device. The method also comprises a step for delivering a control word k′ equal to ki,cp via the delivering means S of the device.
According to this third preferred embodiment based on the bilinear group β=(p,,e(.,.)) of prime order p, a subscriber device 1i comprises a secret SKi=MK=(g0,γ). The received tag t=tcp allows characterizing and therefore deducing the current cryptoperiod cp.
A method for generating ki,cp first consists of generating gcp by applying a function F0—identical to the function used by the server—to g0 and cp such that gcp=F0(g0,cp).
Furthermore, said method comprises a step for generating, deterministically and in a manner known by the server, a magnitude xi,cp, element of , that depends on the identifier i of the device and the current cryptoperiod cp. Alternatively, xi,cp=xi is calculated to depend on the identifier i but not cp. The step for generating the traceable control word k′=ki,cp consists of generating a triplet ki,cp=(xi,cp,Ai,cp,Bi,cp) for which




  
    A
    
      i
      ,
      cp
    
  
  =
  
    
      
        g
        cp
        
          
            
              x
              i
            
            ,
            cp
          
          
            γ
            +
            
              x
              
                i
                ,
                cp
              
            
          
        
      
      ⁢
      
        
      
      ⁢
      and
      ⁢
      
        
      
      ⁢
      
        B
        
          i
          ,
          cp
        
      
    
    =
    
      
        f
        
          1
          
            γ
            +
            
              x
              
                i
                ,
                cp
              
            
          
        
      
      .
    
  




The device 1i implementing such a method can then deliver a control word k′ equal to ki,cp to the outside world (such as a terminal 2i with which it cooperates).
The invention provides that, according to the alternative described in connection with FIG. 3a, a subscriber device according to the invention can—instead and in place of the content server 3—generate and generate the header H as previously defined.
To decode encoded content C, the processing means of a terminal 2i, as shown in connection with FIGS. 3 or 3a, implement a function dec to generate the plain text M of the content. Such a decoder 2i further comprises means for storing the parameters of the bilinear group β.
A method implemented by the processing means of the terminal following reception from the outside world of encoded content C, a header H and a control word ki,cp comprises a first step for generating a word K={Kj}j=1n. According to this third preferred embodiment, we recall that the header H generated by the server or, alternatively, by the subscriber device, consists of a set H={hj}j=1n of n components respectively equal to a quadruplet of magnitudes ({Pl}l=1T,{rj,l}l=1T,gcpγ.sj,PTsj). For any j comprised between 1 and n,




  
    
      P
      1
    
    =
    
      f
      
        1
        
          γ
          +
          
            r
            
              j
              ,
              1
            
          
        
      
    
  
  ,
  
    
      P
      2
    
    =
    
      f
      
        1
        
          
            (
            
              γ
              +
              
                r
                
                  j
                  ,
                  1
                
              
            
            )
          
          ⁢
          
            (
            
              γ
              +
              
                r
                
                  j
                  ,
                  2
                
              
            
            )
          
        
      
    
  
  ,
  
    
      ...
      ⁢
      
        
      
      ⁢
      
        P
        T
      
    
    =
    
      f
      
        1
        
          
            (
            
              γ
              +
              
                r
                
                  j
                  ,
                  1
                
              
            
            )
          
          ⁢
          
            (
            
              γ
              +
              
                r
                
                  j
                  ,
                  T
                
              
            
            )
          
        
      
    
  
  ,




the set





  r
  =
  
    
      {
      
        r
        
          j
          ,
          l
        
      
      }
    
    
      
        j
        =
        1
      
      
        l
        =
        1
      
    
    
      
        j
        =
        n
      
      
        l
        =
        T
      
    
  




belonging to . We further recall that the control word ki,cp consists of a triplet ki,cp=(xi,cp,Ai,cp,Bi,cp) for which





  
    A
    
      i
      ,
      cp
    
  
  =
  
    g
    cp
    
      
        
          x
          i
        
        ,
        cp
      
      
        γ
        +
        
          x
          
            i
            ,
            cp
          
        
      
    
  




and





  
    B
    
      i
      ,
      cp
    
  
  =
  
    
      f
      
        1
        
          γ
          +
          
            x
            
              i
              ,
              cp
            
          
        
      
    
    .
  




Thus, the step for generating the word K consists, for any j comprised between 1 and n, of generating



  
    
      
        k
        j
      
      =
      
        
          e
          (
          
            
              g
              cp
              
                γ
                ·
                
                  s
                  j
                
              
            
            ,
            
              B
              
                i
                ,
                cp
              
              
                1
                
                  
                    ∏
                    
                      l
                      =
                      1
                    
                    T
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    (
                    
                      γ
                      +
                      
                        r
                        
                          j
                          ,
                          l
                        
                      
                    
                    )
                  
                
              
            
          
          )
        
        ·
        
          e
          (
          
            
              A
              
                i
                ,
                cp
              
            
            =
            
              P
              T
              
                s
                j
              
            
          
          )
        
      
    
    ,
    
      i
      .
      e
      .
      
        :
      
    
  




  
    
      
        
          
            K
            j
          
          =
          
          ⁢
          
            
              e
              ⁡
              
                (
                
                  
                    g
                    cp
                  
                  ,
                  f
                
                )
              
            
            ⁢
            
              
                
                  
                    s
                    j
                  
                  ·
                  γ
                
                
                  
                    (
                    
                      γ
                      +
                      
                        x
                        
                          i
                          ,
                          cp
                        
                      
                    
                    )
                  
                  ⁢
                  
                    
                      ∏
                      
                        l
                        =
                        1
                      
                      T
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        γ
                        +
                        
                          r
                          
                            j
                            ,
                            l
                          
                        
                      
                      )
                    
                  
                
              
              ·
            
          
        
      
    
    
      
        
          
          ⁢
          
            
              e
              ⁡
              
                (
                
                  
                    g
                    cp
                  
                  ,
                  f
                
                )
              
            
            ⁢
            
              
                
                  s
                  j
                
                ·
                
                  x
                  
                    i
                    ,
                    cp
                  
                
              
              
                
                  (
                  
                    γ
                    +
                    
                      x
                      
                        i
                        ,
                        cp
                      
                    
                  
                  )
                
                ⁢
                
                  
                    ∏
                    
                      l
                      =
                      1
                    
                    T
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    (
                    
                      γ
                      +
                      
                        r
                        
                          j
                          ,
                          l
                        
                      
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        
          =
          
          ⁢
          
            
              e
              ⁡
              
                (
                
                  
                    g
                    cp
                  
                  ,
                  f
                
                )
              
            
            ⁢
            
              
                s
                j
              
              
                
                  ∏
                  
                    l
                    =
                    1
                  
                  T
                
                ⁢
                
                  
                
                ⁢
                
                  (
                  
                    γ
                    +
                    
                      r
                      
                        j
                        ,
                        l
                      
                    
                  
                  )
                
              
            
          
        
      
    
  




  with




  
    
      B
      
        i
        ,
        cp
      
      
        1
        
          
            ∏
            
              l
              =
              1
            
            T
          
          ⁢
          
            
          
          ⁢
          
            (
            
              γ
              +
              
                r
                
                  j
                  ,
                  l
                
              
            
            )
          
        
      
    
    =
    
      
        
          (
          
            
              B
              
                i
                ,
                cp
              
            
            ·
            
              
                ∏
                
                  l
                  =
                  1
                
                T
              
              ⁢
              
                
              
              ⁢
              
                P
                l
                
                  
                    (
                    
                      -
                      1
                    
                    )
                  
                  
                    i
                    +
                    
                      T
                      ·
                      
                        
                          ∏
                          
                            m
                            =
                            1
                          
                          
                            l
                            -
                            1
                          
                        
                        ⁢
                        
                          (
                          
                            
                          
                          ⁢
                          
                            
                              x
                              
                                i
                                ,
                                cp
                              
                            
                            -
                            
                              r
                              
                                j
                                ,
                                m
                              
                            
                          
                          )
                        
                      
                    
                  
                
              
            
          
          )
        
        
          1
          
            
              ∏
              
                l
                =
                1
              
              T
            
            ⁢
            
              (
              
                
              
              ⁢
              
                
                  x
                  
                    i
                    ,
                    cp
                  
                
                -
                
                  r
                  
                    j
                    ,
                    l
                  
                
              
              )
            
          
        
      
      .
    
  



We can see that the contribution of the magnitude xi,cp—which depends directly on the identifier i 10 dedicated to the subscriber device 1i that generated and delivered the control word ki,cp—no longer appears in the word K.
To generate the plain text M of the content, the method further comprises a step for applying a function F3 to the word K and the encoded content C. This amounts to applying the function F3 to the components of the word K={Kj}j=1n previously aggregated—concatenated or mixed similarly to the aggregation done during the encoding of the content by the server. As an example, the function F3 may consist of the exclusive OR—the functions F3 and F3−1 then being identical.
According to one alternative, for a given j, the elements {rj,l}l=1T can be calculated deterministically from a seed, such that only that seed is transmitted in the component hj of the header H. Said component then has a constant size independent of T. This parameter T may be adapted to the desired security level and effectiveness of the system.
Whether one chooses one of the three preferred embodiments described above, or more generally an embodiment according to the invention, the conditional access system thus formed uses traceable control words ki,cp, which are therefore detectable by an operator. Such a system thereby avoids any risk of control-word sharing.
To illustrate a method making it possible to trace a control word ki,cp generated according to the invention—even when the control word kp,cp exchanged by the hacker is a mixed word or the result of a combination of several control words ka,cp, kb,cp or kz,cp—consider the scenario where a hacker delivers a utility or decryption program to a dishonest “subscriber” accompanied by a mixed control word emitted by a pirate network. Thanks to the invention, it is possible to find the identity of at least one of the legitimate (or traitor) devices used to create said mixed control word. This ability, called “traceability”, can be achieved using a general method called “white box tracing”.
According to this method, the pirate decoder is first interpreted as a sequence of formal instructions, each instruction being made up of an operation, one or more input variables and an output variable. Among the possible operations, a distinction is made between operations associated with the bilinear system (p,), i.e., multiplication and exponentiation operations in each of the groups (), and the bilinear coupling operation. These operations are called “algebraic”, while the others are all described as “related” operations. In this same interpretation phase, the input and output variables of each instruction are put in a form called “SA” (Static Single-Assignment), so as to be able to deduce a graph easily from this representation of the pirate decoder for calculating any variable manipulated by it during its formal execution. The output variable of the program represents the data in plain text K and is the result of an output value calculation graph in . The program is limited to the calculation of this graph.
In a second step called “specialization”, an effort is made to set all of the input variables of the program to constant values for which the program can perform an accurate decryption. The search for set values may be conducted randomly and exhaustively and, if the decoder originally provided is functional enough (i.e., decrypts in a significant portion of cases on average), this search step may succeed quickly after several tests. When the values are suitable, they are substituted for the corresponding variables in the program, such that the new obtained program is made up solely of instructions implemented on constants. A simplification step of the program is then implemented in order to obtain a single sequence of instructions without jumps.
To that end, a propagation of the constants is done to eliminate all related instructions whereof the input variables are all constants; this transformation therefore excludes algebraic operations. At the end of this phase, the non-conditional jumps are eliminated by juxtaposing the linear sequences of instructions end to end in chronological order of execution. The program then becomes a series of sequential algebraic constructions without a control flow.
In a third phase, several algebraic simplification transformations are applied to the obtained program inductively and concurrently until the program is stabilized. These transformations aim to obtain an equivalent program in which the output K is calculated as a product of whole coupling powers from the input data, said powers being constant values due to the previous transformation phases. The exponent is then identified corresponding to each algebraic element of the figure provided as input as well as each element of the mixed control word provided as input. Due to the mathematical properties of the invention, this set of exponents, the values of which are known, forms a system of multivariate equations known in advance, the variables of which are the elements x1,x2, . . . ,xz ε making up the control words used to generate the mixed control word on the one hand, and the chosen parameters s1,s2, . . . ,sz ε making up the cipher C provided as input by the tracer on the other hand. The system of multivariate equations depends on the embodiment of the invention. Knowing the numerical value of the outputs of the system and the chosen parameters {sj}j=1z, the system can be partially or totally inverted to find at least one of the elements x1,x2, . . . ,xz making up one of the original control words and thus to completely identify one of the traitor devices. This phase may require having z≦B, where B is a bound that depends on the embodiment of the invention.
The invention also provides an embodiment for allowing or forbidding a subscriber electronic device—according to the invention—to generate a control word k′=ki,cp. The invention thus provides that such a device can only be authorized to generate k′=ki,cp if a provision date or initialization date is before the current cryptoperiod. Thus and as an example, during the obtainment of a subscription, an initialization date cpb may be stored in the subscriber device delivered to a new subscriber. According to this embodiment, a subscriber device according to the invention comprises means 24 for storing such a date. This date may be expressed as being equal to the current cryptoperiod upon subscription. Thus, the processing means 10 of such a device may be adapted to cooperate with said means 24 and only deliver a control word k′=ki,cp if the current cryptoperiod cp is greater than or equal to cpb. This embodiment is illustrated by FIGS. 5 and 5b. According to the latter figure, the method 100, implemented by the processing means 10 of a subscriber device, comprises a step 109 provided to that end. In FIG. 5, a device 1 comprises means 14 and 15 for comparing cpb and cp and requesting A the respective delivery k′=ki,cp or k′=kf, kf being a value distinct from a valid value of a control word ki,cp. According to these same figures, the invention provides that one or more values kf may be stored by the device 1—storage means 26. The means S deliver 106b a control word k′=kf instead and in place of k′=ki,cp if cpb is greater than the current cryptoperiod cp. This embodiment thus prevents any use of a subscriber device to decode encoded content received before the subscription. The invention provides, additionally or alternatively, the use of an expiration date cpe that can be stored in any subscriber device according to the invention. This date is recorded in means 25 of such a device upon the desired or forced termination of a subscription. Thus, a method 100, described in connection with FIG. 5b, can include a step 109 making it possible to compare the current cryptoperiod cp deduced from the tag and only deliver 106 k′=ki,cp if that cryptoperiod is less than cpe. Otherwise, the control word delivered 106b by the device may be equal to kf as during the processing of the initialization date.
This embodiment may optionally be used to revoke a traitor device by using the network 4 to transmit a targeted revocation request and thwart the use of said traitor device.
According to this embodiment, the content server generates a tag t=u∥v∥cp that comprises, aside from data relative to the current cryptoperiod cp, components u and v with determined values.
The component u allows indicating a revocation request to a device whereof the value of the identifier i is contained in the component v. Upon receiving a tag t=u∥v∥cp, the values u, v and cp are extracted by the means 12 of the device 1i according to FIG. 5. In connection with FIG. 5b, the means 14 compare 107 the value of the component u with a predetermined value ur. If u=ur and v=i (step 110), the processing means of the device initialize 111 an expiration date cpe equal to cp. The subscriber device is no longer able to deliver valid control words. If the value of v is different from the value of the identifier i of the device, the latter continues traditional processing and generates a valid control word.
The invention provides an alternative in which a reinstatement request can be sent to a subscriber device. This request may follow an earlier revocation request sent in error, for example. The purpose of such a request is to once again authorize a subscriber device to generate valid control words. Likewise, the invention provides a predetermined value ua that is characteristic of such a request. To cancel a revocation of a device, a content server according to the invention transmits a tag t=u∥v∥cp, for which u and v are respectively equal to ua and the identifier i of the device affected by the request.
Upon receiving a tag t=u∥v∥cp, the values u, v and cp are extracted by the means 12 of the device. The means 14 compare 107 the value of the component u with the predetermined value ua. If u=ua and v=i (step 110), the processing means of the device reinitialize 111 an expiration date cpe equal to Ø—indicating that there is no expiration. The subscriber device is once again able to deliver valid control words. If the value of v is different from the value of the identifier i of the device, the latter continues its traditional processing or remains revoked. Such a request to cancel a revocation or for reinstatement can alternatively amount to an initialization request. In that case, it is possible to initialize the initialization date cpb at the current value of cp, the revocation then amounting to the definition of an initialization date that is much greater than the current or infinite cryptoperiods.
Although it has been illustrated primarily in connection with the first preferred embodiment of the invention (FIG. 5b), such a method for revoking or reinstating a subscriber device can be implemented irrespective of the embodiment of a conditional access system according to the invention.

## Claims

1. A method for generating a control word, said method being implemented by a processor of a subscriber electronic device cooperating with a terminal, said device comprising an interface for receiving data from the terminal and for delivering said generated control word to the terminal, said method comprising:
receiving, by the interface, data that comprise a tag t, wherein the tag t includes data identifying a current cryptoperiod;
determining, by a processor, the current cryptoperiod by using the identifying data included in the received tag t;
generating, by the processor, a control word from said current cryptoperiod cp and a secret SKi stored by the device, wherein the generated control word is a traceable control word ki,cp whereof the value is distinct from that of a control word generated, for the current cryptoperiod cp, by any other subscriber device by integrating the value of an identifier i into the calculation of the word ki,cp, said value of the identifier i being stored by the device and distinct from that stored by any other subscriber device; and
delivering a control word k′ using the interface of the subscriber electronic device;
wherein:
delivering the control word comprises delivering k′ equal to ki,cp; and
the control word is generated such that the terminal is configured to use the control word to decode an encoded content C and generate plain text M of the content by receiving the control word and a header H by:
i. applying a first function F1 to the header H and control word k′ to generate a word K independent of the identifier i of the subscriber electronic device by eliminating the contribution of said dedicated identifier i;
ii. applying a second function F3 to said word K and to the encoded content C to generate the plain text M of the content; and
iii. delivering said plain text M of the content via an interface of the terminal.

2. The method according to claim 1, further comprising storing the secret SKi in a memory of the device.

3. The method according to claim 1, further comprising authorizing, by the processor, the device to generate a control word.

4. The method according to claim 1, further comprising authorizing, by the processor, the device to deliver a control word k′ equal to the generated control word ki,cp.

5. The method according to claim 3, wherein authorizing the device comprises comparing the cryptoperiod cp deduced from the tag t to an activation date (cpb) stored in said device and authorizing the device if said cryptoperiod cp is greater than said activation date.

6. The method according to claim 3, wherein authorizing the device comprises comparing the cryptoperiod cp deduced from the tag t to an expiration date (cpe) stored in said device and authorizing the device if said cryptoperiod cp is smaller than said expiration date.

7. The method according to claim 1, further comprising writing, in the memory of the device, a cryptoperiod value previously deduced from the tag t, as an expiration date (cpe), if said tag t comprises a component u whereof the value (ur) is characteristic of a revocation request and if said tag further comprises a component v designating the identifier i of the device.

8. The method according to claim 6, further comprising erasing, in a memory of the device, an expiration date (cpe) if said tag t comprises a component u whereof the value (ua) is characteristic of a reinstatement request and if said tag further comprises a component designating the identifier i of the device.

9. A method for encoding plain text M of content and generating encoded content C, said method being implemented by a processor of a server comprising an interface for delivering said encoded content C to a terminal and cooperating with a subscriber device, said method comprising:
generating, by the processor, an encoded content C from a cryptoperiod cp and a secret MK known by the server;
generating, by the processor, a tag t to characterize the cryptoperiod cp from which the encoded content C was generated and allowing the device to generate and deliver a traceable control word;
calculating, by the processor and delivering a header H to enable decoding of the content encoded by the terminal according to claim 1; and
jointly delivering, by the interface, said encoded content C, said header H and said tag t.

10. A server, comprising processing means to generate and deliver to the outside world, using a method according to claim 9:
an encoded content C from the plain text of a content, a cryptoperiod cp and a secret MK;
a tag t;
a header H.

11. A method for tracing a control word kp,cp generated by a traitor subscriber device, using a method according to claim 1, comprising:
collecting the control word kp,cp;
collecting a utility or pirate decryption program capable of decoding encoded content using said control word kp,cp; and
determining an identifier i=p of a device having generated kp,cp comprising:
iii. interpreting the utility or decryption program to design an equivalent program expressing a set of instructions in the form of algebraic and related operations, each comprising at least one input variable and at least one output variable;
iv. setting the input variables to constants so that the equivalent program decodes the encoded content correctly;
v. simplifying said equivalent program so that it only comprises one sequence of instructions without jumps;
vi. converting the simplified equivalent program into a system of multivariate equations by using algebraic transformations;
vii. inverting all or part of said system of multivariate equations to identify the traitor device.

12. A method for conditional access to digital content, comprising:
generating and delivering, by a server, an encoded content C, a tag t and a header H;
receiving said encoded content C, tag t and header H by a terminal;
transmitting the tag t by the terminal to a device cooperating with said terminal;
generating and delivering by said device to the terminal, a traceable control word ki,cp according to claim 1;
decoding by the terminal of the encoded content C and generating the plain text M of the content; and
rendering said plain text M of the content using an interface adapted to said plain text of the content.

13. A method for conditional access to digital content, comprising:
generating and delivering, by a server, an encoded content C and a tag t characterizing the cryptoperiod cp from which the encoded content C was generated;
receiving said encoded content C and tag t by a terminal;
transmitting the tag t by the terminal to a device cooperating with said terminal;
generating and delivering, by said device to the terminal, a traceable control word ki,cp and a header H;
the decoding by the terminal of the encoded content C and for generating the plain text M of the content using a method according to claim 1; and
rendering said plain text M of the content using an interface adapted to said plain text of the content.

14. A subscriber electronic device cooperating with a terminal, said device comprising:
an interface for receiving data from the terminal comprising a tag t, wherein the tag t includes data identifying a current cryptoperiod;
a memory for storing an identifier i and a secret SKi; and
a processor configured to determine the current cryptoperiod by using the identifying data included in the received tag t and generating a control word from said current cryptoperiod cp and the secret SKi stored by the memory, wherein the generated control word is a traceable control word ki,cp whereof the value is distinct from that of a control word generated, for the current cryptoperiod cp, by any other subscriber device by integrating the value of an identifier i into the calculation of the word ki,cp, said value of the identifier i being stored by the device and distinct from that stored by any other subscriber device,
wherein:
the interface is further configured for delivering a control word k′ to said terminal,
delivering the control word comprises delivering k′ equal to ki,cp, and
the processor is configured to generate the control word such that the terminal is configured to use the control word to decode an encoded content C and generate plain text M of the content by receiving the control word and a header H by:
iv. applying a first function F1 to the header H and control word k′ to generate a word K independent of the identifier i of the subscriber electronic device by eliminating the contribution of said dedicated identifier i;
v. applying a second function F3 to said word K and to the encoded content C to generate the plain text M of the content; and

delivering said plain text M of the content via an interface of the terminal.

15. A system for conditional access to digital content, comprising a server, a terminal and an electronic device respectively according to claim 14.

16. A system for conditional access to digital content, comprising a server comprising a processor to generate a tag t, an encoded content C from the plain text M of the content, a cryptoperiod cp and a secret MK, a terminal and an electronic device, respectively according to claim 14.

17. An electronic terminal comprising:
an interface for receiving data from the outside world; and
a processor configured for generating plain text M of the content from said received data, wherein
the interface is further configured for delivering said plain text of the content to a man-machine interface suitable for rendering said plain text of the content and
for cooperating with a subscriber electronic device,

wherein:
the data received from the outside world comprises an encoded content C, a header H and a tag t;
the interface transmits to the subscriber electronic device said tag t and in return receive a traceable control word ki,cp that is generated and delivered by said device; and
the processor is further configured for decoding and delivering the plain text M of the content by
applying a first function F1 to the header H and the traceable control word ki,cp to generate a word K independent of the identifier i of the subscriber electronic device having generated and delivered the control word ki,cp by eliminating the contribution of said identifier i,
applying a second function F3 to said word K and to the encoded content C to generate the plain text of the content, and
delivering said plain text M of the content via the interface of the terminal,
wherein the traceable control word ki,cp is generated and delivered by said subscriber electronic device from a current cryptoperiod cp determined using data included in a tag t received by the subscriber electronic device and a secret SKi stored by the subscriber electronic device.