Abstract:
Unit for secure processing access controlled audio/video data capable of receiving control messages(ECM) comprising at least one first control word (CW 1 ) and first right execution parameters (C 1 ), at least one second control word (CW 2 ) and second right execution parameters (C 2 ), said processing unit being connected to a first access control device (CA 1 ), said processing unit is characterized in that it comprises: —means for verifying and applying the first right execution parameters (C 1 ) in relation to the contents of a memory (M 1 ) of said first access control device (CA 1 ) and means for obtaining the first control word CW 1, — a second access control device (CA 2 ) integrated into the processing unit UT including means for verifying and applying the second right execution parameters (C 2 ) in relation to the contents of a memory (M 2 ) associated to said second access control device (CA 2 ) and means for obtaining the second control word (CW 2 ), —a deciphering module (MD) capable of deciphering, sequentially with the first and the second control word (CW 1 ) and (CW 2 ), the access controlled audio/video data, said control words (CW 1 ) and (CW 2 ) being provided by the first and second access control devices (CA 1,  CA 2 ) and stored in said deciphering module (MD). A method for secure processing digital access controlled audio/video data carried out by said unit is also an object of the present invention.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to the field of units for secure processing of access controlled digital audio/video data. These units are included in different multimedia facilities as for example personal computers, mobile equipments or digital pay television decoders. This invention also describes a method of processing said audio/video data before output towards a peripheral device of a user. 
       TECHNICAL BACKGROUND 
       [0002]    A digital audio/video data processing unit like a digital television decoder or “set top box” includes a main module gathering essential functions for the decryption of the received data, generally called deciphering unit or calculation module. The audio/video data entering the calculation module is encrypted with control words CW transmitted in a control message ECM stream associated with the audio/video data stream. The calculation module includes a particular circuit in charge of extracting the control words CW from the control messages ECM and decrypting them using keys made available by the processing unit and/or by a security module associated to said unit. 
         [0003]    A security module is a device considered as tamper-proof containing different encryption/decryption keys, information used for identifying a user on a network and data which define rights acquired by the user for the reception of a broadcast audio/video data stream. The security module can be in different forms like a removable smart card inserted in a reader, an integrated circuit soldered onto a motherboard, a SIM type card (Subscriber Identity Module) as inserted in most mobile equipment. 
         [0004]    The document EP1485857B1 describes a method for matching a decoder with a removable security module. The system formed by the decoder and the security module receives digital audio/video data encrypted by a control word and control messages ECM containing the encrypted control word. A first key is assigned to the decoder and a second key to the security module. These two keys form a unique pair in the broadcast network of the audio/video data. Only one key of the key pair can be chosen arbitrarily while the other is determined according to the first key in a way that the combination of these two keys conforms to a pairing key of the system, thus allowing to decrypt the control word. 
         [0005]    The document EP1421789B1 describes a process of controlling access to encrypted data transmitted by an operator to a plurality of subscribers groups. Each group has a group key and each subscriber receives from the operator an operating key encrypted by the group key to decipher the transmitted data. The process consists of associating the operating key encrypted with the group key to a random value for generating a secret code. This code is transmitted via a management message EMM to the subscribers to calculate the operating key at the reception of the random value transmitted by control messages ECM. The process uses only one access control and it allows for dissuading the publication of the operating keys by making them dependent on the subscriber group. 
         [0006]    The document EP1078524B1 describes a coupling or matching method in order to make a security module dependent on the host apparatus, in this case a Pay-TV decoder, and vice versa. The aim of this matching mechanism is to protect the communications between the security module and the decoder in order to prevent the capture, from the transmission channel, of the control words allowing deciphering the transmitted program data. The matching allows also to prevent the use of the security module with a foreign host apparatus or conversely. The solution uses a unique key or a unique key pair to encrypt and decrypt the data exchanged between the security module and the decoder. This unique key is maintained secret and unchanged during the whole life of the related devices. One or other of the connected devices can verify, at any moment, the validity of the matching parameters and take appropriate counter measures when a match is not found. 
         [0007]    The document WO2006/040482 describes a method of recomposing a control word on the one hand by a security module and on the other hand by a decoder. Neither of the two devices can obtain alone the complete control word. The message including the two parts of the control word moreover contains two access conditions, one for the security module and the other for the decoder. 
       SUMMARY OF THE INVENTION 
       [0008]    The aim of the present invention is to overcome the lack of security by using a counterfeited security module in a processing unit of encrypted audio/video data. The processing unit including a secured transmission link for control words using a pairing mechanism between the security module and the processing unit. 
         [0009]    This aim is achieved by a method for secure processing of access controlled audio/video data by a processing unit receiving control messages comprising at least one first control word and first right execution parameters, at least one second control word and second right execution parameters, said processing unit being connected to a first access control device, the method is characterized by the steps of:
       verifying and applying the first right execution parameters in relation to the contents of a memory of said first access control device, and when the verification is positive, obtaining and transmitting the first control word to a deciphering module of access controlled audio/video data integrated in the processing unit, storing said first control word in said deciphering module in view of access to audio/video data,   transmitting, by the first access control device, the second control word and of the second right execution parameters to a second access control device integrated in the processing unit,   verifying and applying, by the second access control device, the second right execution parameters in relation to the contents of a memory associated to said second access control device, and when the verification is positive, obtaining and loading the second control word into the deciphering module of access controlled audio/video data,   deciphering, by the deciphering module, the access controlled audio/video data by using sequentially the first and the second control word.       
 
         [0014]    The security or control message does not only contain control words but also right execution parameters destined on the one hand to the first access control device formed in general by a security module and on the other hand to the second access control device formed in general by a calculation module integrated into the processing unit. Thus, two security devices allow obtaining, by the application of the respective right execution parameters, the control words necessary for deciphering the access controlled audio/video data. 
         [0015]    According to an embodiment, the second right execution parameters of the security message comprise instructions and parameters indicating, to the memory associated to the calculation module, a reference to a register containing a key. The latter allows determining the second control word. 
         [0016]    The main advantage of the method according to the invention is that the security of the control words is managed at the same time by the security module and by the calculation module thanks to keys retrieved from the memory. These keys can by the way be regularly renewed by a management center or network head end by means of managing messages either for individual processing units or for a predetermined group of processing units. 
         [0017]    The object of the present invention also concerns a unit for secure processing access controlled audio/video data capable of receiving control messages comprising at least one first control word and first right execution parameters, at least one second control word and second right execution parameters, said processing unit being connected to a first access control device, said processing unit is characterized in that it comprises:
       means for verifying and applying the first right execution parameters in relation to the contents of a memory of said first access control device and means for obtaining the first control word,   a second access control device integrated into the processing unit including means for verifying and applying the second right execution parameters in relation to the contents of a memory associated to the said second access control device and means for obtaining the second control word,   a deciphering module capable of decoding, sequentially with the first and the second control word, the audio/video data with controlled access, said control words being provided by the first and second access control devices and stored in said deciphering module.       
 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]    The invention will be better understood thanks to the following detailed description which refers to the enclosed drawings given as non limitative examples. 
           [0022]      FIG. 1  shows a block-diagram of a configuration of a processing unit receiving a security message comprising a first control word and first right execution parameters processed by a security module and a second control word and second right execution parameters processed by the second access control device. 
           [0023]      FIG. 2  shows an alternative of the configuration of the processing unit of  FIG. 1 . The processing unit receives a first security message comprising a first control word and first right execution parameters and a second security message comprising a second control word and second right execution parameters. 
           [0024]      FIG. 3  shows another alternative of the configuration of the processing unit with an example of a memory comprising registers associated to counters containing keys updated by management messages. The processing unit receives security messages comprising at once the first and second control words and the first and second right execution parameters. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0025]    The processing unit represented by the block diagram of  FIG. 1  shows an example of a configuration with a security module (SM) consisting of a device considered as tamper-proof containing different encryption/decryption keys, information for identifying a user on a network and data defining rights acquired by the user for the reception of broadcast audio/video data. The security module can be in different forms like a removable smart card with or without contacts, inserted into a reader, an integrated circuit welded on a motherboard, a SIM type card (Subscriber Identity Module), as inserted in most mobile equipments or further in form of a software and/or hardware module lodged in a chipset. 
         [0026]    The security module (SM) acts as a first access control (CA 1 ) for the encrypted digital data and a calculation module (MC) integrated into the processing unit acts as a second access control (CA 2 ) for the same data. The calculation module (MC) is controlled by a secured driver module (MPS) implemented either in software form or in hardware form or in a hybrid hardware and software form. This secured calculation module (MC) is associated with a memory M 2  containing for example a key (Kr) intervening in the determination of the second control word (CW 2 ). 
         [0027]    The processing unit further includes a deciphering module (MD) capable of deciphering, sequentially with the first and the second control word (CW 1 ) and (CW 2 ), the access controlled audio/video data. These control words (CW 1 , CW 2 ) provided by the first and second access control devices (CA 1 , CA 2 ) are loaded i.e. temporarily stored in order to be used for deciphering the audio/video data and obtaining these data (NV) in clear form at the output of the processing unit. 
         [0028]    According to a first embodiment, the control message ECM contains a first control word (CW 1 ), first right execution parameters (C 1 ), a second control word (CW 2 ) and second right execution parameters (C 2 ). The control message ECM (CW 1 , C 1 , CW 2 , C 2 ) is in general encrypted with a transmission key known to the security module (SM). A hardware and software central access control module CAK (Control Access Kernel) included in the processing unit (UT) and linked in particular to the security module (SM) filters the control messages ECM out from the broadcast digital audio/video data stream in order to forward them towards the security module (SM). 
         [0029]    The first right execution parameters (C 1 ) appear in general in form of rights necessary to the user for accessing one or more broadcast audio/video data streams. These rights consist of codes, which indicate a subscription, an authorization for an event or a validity period of the access, etc. 
         [0030]    The security module (SM) decrypts the control message (ECM) with the transmission key and verifies the concordance of the rights associated with the first right execution parameters C 1  with the rights stored in a memory (M 1 ) of the security module (SM). If the verification of the rights has been carried out successfully, the security module (SM) extracts from the control message ECM a block comprising the first control word (CW 1 ), the second control word CW 2  and the second right execution parameters (C 2 ). This block is preferably encrypted with a pairing key (Kp) of a pairing or matching mechanism P as described for example in the document EP1078524B1, which key is known by the security module and the processing unit (UT). The latter receives the block via a channel thus secured by the matching, then decrypts it with the pairing key (Kp). The first control word (CW 1 ) extracted from the block is determined by the first access control device (CA 1 ) i.e. validated by the security module (SM) and destined to the deciphering module (MD). 
         [0031]    It should be noted that the first control word CW 1  can also be calculated by the security module (SM) starting from a cryptogram representative of this first control word CW 1  by means of a mathematical function and/or an algorithm and/or other data contained in the memory M 1  of said security module (SM). 
         [0032]    The second right execution parameters C 2  also extracted from the block are forwarded towards the calculation module (MC). They contain for example instructions indicating to the calculation module (MC), by means of the secured driver module (MPS) and the memory M 2 , the way to obtain the second control word CW 2 . 
         [0033]    According to a preferred configuration, in the control message ECM, the set formed by the first control word CW 1  and the first right execution parameters (C 1 ) is encrypted by a key K 1  of the first access control device CA 1  or security module SM. 
         [0034]    In a similar way, the set formed by the second control word CW 2  and the second right execution parameters (C 2 ) is encrypted by a key K 2  of the second access control device CA 2  or calculation module (MC). 
         [0035]    Depending on the configurations, either one or other of these sets or each of the two sets is encrypted with a key of the respective access control devices that process these sets. 
         [0036]    According to a further embodiment, several control words associated either to one or other or to both access control devices CA can be transmitted in a control message ECM. The right execution parameters can be individually associated to each control word or to a group of specific control words and to be processed by either one or other of the access control devices. For example, in the message ECM 1 (CW 1 , CW 2 , CW 3 ; C 123 , CW 4 , CW 5 , C 45 ), the control words CW 1 , CW 2 , CW 3  will be processed by the security module (SM) by applying the rights execution parameters C 123 , while the control words CW 4 , CW 5  will be processed by the second access control device integrated into the multimedia unit by applying the parameters C 45 . 
         [0037]    According to an example of a memory illustrated by  FIG. 3 , the second right execution parameters C 2  are applied, then processed by the secured driver module (MPS) associated with the calculation module (MC). The secured driver module (MPS) will, according to the instructions included in the parameters C 2 , extract one or more keys (Kr) of one or several registers (R 1 , R 2 , . . . Rn) designated by the instructions. The second control word (CW 2 ) is then formed by applying a function or an algorithm whose characteristics also result from the parameters C 2  on the key or the keys Kr retrieved from one or several registers (R 1 , R 2 , . . . Rn). 
         [0038]    Other ways to obtain the second control word (CW 2 ) are also conceivable. They depend in particular on the structure of the memory M 2  associated with the calculation module (MC) and on the storage mode of the keys. According to another example, a key can be determined by means of a pointer table indicating memory addresses of keys or other pointers directed towards addresses in the memory where the key or the keys are stored. A tree structure including several branches thus allows memory addresses to be defined where key portions or complete keys are stored. The instructions comprised in the second right execution parameters C 2  contain the necessary data for defining the key or the keys starting from one or more addresses pointer tables of the memory M 2 . 
         [0039]      FIG. 2  shows an embodiment in which the processing unit receives, on the one hand, control messages ECM 1  containing a first control word CW 1  and the first right execution parameters C 1  and on the other hand control messages ECM 2  containing a control word CW 2  and the second right execution parameters C 2 . The hardware and software central access control module CAK directs the control messages ECM 1  and ECM 2  in order to forward the first control word CW 1  and the first right execution parameters  01  towards the security module (SM) and the second control word CW 2  and the second right execution parameters C 2  towards the calculation module (MC) of the second access control device (CA 2 ). In this way, the control messages ECM 1  and ECM 2  enter the processing unit UT by two distinct paths: one towards the calculation module (MC) going through the security module (SM) making up the first access control CA 1 , and one towards the second access control CA 2  without necessarily passing through the security module (SM). 
         [0040]    According to an option, several control messages ECM 1  . . . ECMn may each contain different control words CW 1  . . . CWn and right execution parameters C 1  . . . On which will be processed by an access control device, either by the security module (SM) or the calculation module (MC). For example, three consecutive messages ECM 1 , ECM 2  and ECM 3  with a control word CW 1 , CW 2  and CW 3  and corresponding right execution parameters C 1 , C 2 , C 3  are processed by the security module (SM) and the two following consecutive messages will be processed by the second access control device CA 2 . Of course, the number of messages to be processed by either one or other of the access control devices can be any number, but predefined by the specifications of the system broadcasting the audio/video data and by those of the multimedia units depending on said broadcasting system. 
         [0041]    According to another option, not represented in the  FIG. 2 , the second control word CW 2  and the second right execution parameters C 2  can be encrypted with a pairing key (Kp) known to the security module (SM). The processing unit possessing the pairing key (Kp) performs, at reception of the parameters C 2  and the control word CW 2 , the decryption on the way leading towards the second access control device CA 2 . 
         [0042]    The calculation module (MC) then determines the second control word (CW 2 ) using one or more keys (Kr) coming from the memory M 2  determined by the second right execution parameters (C 2 ). The first control word CW 1  is produced by the security module SM as in the embodiment of  FIG. 1 . The two control words CW 1  and CW 2  are forwarded towards the deciphering module (MD) in order to obtain the audio/video data in clear form. 
         [0043]    In an access controlled audio/video data stream, the control words change regularly after each crypto-period. According to a preferred configuration, in a sequence of control messages ECM only one of the two control words changes, while the other is kept constant. At the following crypto-period and in the following message, the control word that has not previously changed, changes, while the other is kept constant, and so on. For example, a message ECM 1  (CW 1 , C 1 , CW 2 , C 2 ) is followed by a message ECM 2 (CW 2 , C 2 , CW 3 , C 3 ), then a message ECM 3 (CW 3 , C 3 , CW 4 , C 4 ) etc. In this sequence of messages, only one control word changes. This configuration proves to be advantageous for facilitating the synchronization of the different encrypted packets formed by the data of the stream and for accelerating their processing by the access control devices. In fact, a control word is memorized during each crypto-period for being used during the following crypto-period. 
         [0044]      FIG. 3  shows an embodiment in which the processing unit receives control messages ECM containing at once the first and second control words (CW 1 , CW 2 ) and the first and second right execution parameters (C 1 , C 2 ) as in the example of  FIG. 1 . 
         [0045]    The second access control device (CA 2 ) includes a memory M 2  structured in a plurality of registers (R 1 , R 2 , R 3 , . . . Rn) containing keys and each register is associated to a counter (CT 1 , CT 2 , . . . CTn). 
         [0046]    In the application of the digital pay television, the keys Kr stored in the registers (R 1 , 
         [0047]    R 2 , ...Rn) may be attributed each to a particular set (bouquet) of channels, to a user group owning a given kind of account (R 1  standard account, R 2  premium account, R 3  video on demand VOD, . . . ) or also to a set of programs or specific events (Football World Cup, ski competitions, tennis, etc.). 
         [0048]    The granularity or level of detail of the services provided by means of the register keys (Kr) is generally coarser than that provided by the rights stored in the security module (SM). These rights may limit, for example, a viewing duration of programs accessible to a user owning a standard account to which access is authorized by the register key R 1 . 
         [0049]    The keys of the registers (Kr) can be renewed via a management message EMM transmitted to the security module (SM) via the central hardware and software access control module CAK for the update of the rights. 
         [0050]    In a first embodiment, the message EMM contains a parameter allowing the changing of all the register keys according to the rights stored in the memory M 1  of the security module (SM). According to a particular implementation, the parameter is transmitted via a connection secured with a pairing key in the same way as the control words and the rights execution parameters of the control messages ECM. 
         [0051]    In an embodiment where the security module (SM) does not intervene, the updates UPD contained in the management message EMM are forwarded directly by the central hardware and software access control module CAK towards the memory M 2 . 
         [0052]    This transfer of the updates UPD towards the memory M 2  can also be secured with a pairing key known by the security module. 
         [0053]    The calculation module (MC) obtains the second control word CW 2  by combination of a cryptogram representative of the second control word CW 2  provided by the control message ECM and of one or several register keys (Kr) determined by the second right execution parameters (C 2 ). The latter can moreover contain instructions related to a function or an algorithm (F CA2 ) to be applied on the register key or keys (Kr). The function or the algorithm (F CA2 ) may be of the type XOR (exclusive OR), TDES (Triple Data Encryption Standard), IDEA (International Data Encryption Algorithm), RSA (Rivest Shamir Adleman) with asymmetric keys, or other. 
         [0054]    In the configuration of  FIG. 3 , a counter (CT 1 , CT 2 , . . . CTn) associated with a register is either incremented or decremented each time that a key is extracted from the register to calculate the final second control word CW 2 . When the counter (CT 1 , CT 2 , . . . CTn) reaches a predetermined maximum value after incrementation or zero after decrementation from a predetermined value, the access to the register is no longer possible and stops the production of the control word CW 2 . 
         [0055]    In an example of a memory M 2  including 8 registers, there is the possibility of creating 256 groups going from 0 (00000000), using the key 0, to 255 (11111111), using the key 255. When a processing unit joins the group 3 (00000011) using, for example, the key 3 corresponding to a standard account with possibility to view the football matches, the management center transmits key  3  to this unit. With each use of a register (R 1 , R 2 , . . . , Rn), the counter (CT 1 , CT 2 , . . . CTn) is decremented or incremented. 
         [0056]    A counter (CT 1 , CT 2 , . . . CTn) is reinitialized, i.e. reset to maximum or to zero, at the time of each renewal of the key (Kr) of the corresponding register. 
         [0057]    When the register key (Kr) is not changed, a specific management message EMM, transmitted either by means of the security module (SM) or directly to the secured driver module (MPS), may also reset the counter. 
         [0058]    Generally, the register keys (Kr) are renewed with a determined frequency in order to prevent the counters (CT 1 , CT 2 , . . . CTn) from reaching their maximal value, or zero. 
         [0059]    When the unit leaves, for example, the group 3 (00000011) to join the group 1 (00000001) corresponding to the standard account only, the management centre transmits the key 1 to this unit. The key 3 remains stored in the corresponding register of the memory M 2  and its use is authorized as long as the value of the associated counter is below its maximal value or different to zero, respectively. At the moment of renewal of the key 1, only the counter of the register 1 is reset while the counter of the register 3 continues to be decremented or incremented until exhausted. A register with a counter that is not reinitialized remains inactive and an update of the corresponding key cannot be carried out. The key 3 is thus revoked and can be reactivated by a reinitialization message targeted to the concerned counter. 
         [0060]    A revoked key, i.e. coming from a register where the value of the counter is maximum or zero, cannot be used to calculate a control word CW. In this case the processing unit or rather the secured driver module (MPS) may generate an error message leading to reinitialize the counter or counters of the related registers. 
         [0061]    In a key&#39;s global renewal mode, it is possible to transmit a message encrypted by a pairing key containing all the register keys. The secured driver module (MPS) will nevertheless reload the registers which are active, i.e. with a counter which has not reached the maximum value. The other registers are thus not reloaded because they are not used. This way of global reloading allows, with only one message, for the modifying of all the active registers in the processing units. 
         [0062]    The activation of the counters i.e. the reset to zero will preferably pass by the security module (SM) and will be individually addressed to each processing unit. 
         [0063]    According to a particular implementation, all the counters are at their maximum value by default.