Abstract:
A method and system for providing conditional access (CA) between a headend and a receiver include scrambling media data of broadcast programs and encrypting control words according to a CA system used on the headend. The receiver includes a CA virtual machine. The receiver receives the broadcast program and encrypted control words, and determines whether the media data is scrambled. If the media data is scrambled, the CA virtual machine runs a CA instance matched with the CA system, gets entitled manage message (EMM), and determines whether CA algorithm identifier in the EMM matches with CA algorithm identifier of the CA instance. If the CA algorithm identifiers match, the encrypted control words are decrypted and the scrambled media data is descrambled. If the CA algorithm identifiers do not match, updated CA algorithm is downloaded and the CA instance which has updated its CA algorithm is run.

Description:
BACKGROUND 
       [0001]    1. Technical Field 
         [0002]    The present disclosure relates to method and system for providing conditional access in a broadcasting network. 
         [0003]    2. Description of Related Art 
         [0004]    Television programs and other kinds of broadcast programs are commonly available to the public through subscription from the respective program providers, such as cable and satellite television providers. Conditional access (CA) technology enables only authorized users to access the broadcast programs. Conditional access is typically implemented by scrambling the media data of the broadcast programs in a headend and descrambling the scrambled media data only in authorized receivers. There are multiple CA systems provided by different CA vendors, and each CA system has a CA algorithm. 
         [0005]    A typically headend scrambles the media data of a broadcast program according to control words (CWs), encrypts the CWs according to CA algorithm of a CA system, and generates entitled manage message (EMM) and entitlement control message (ECM). The EMM includes encryption key, which encrypts the CWs, and the ECM includes encrypted CWs. The headend sends the EMM, the ECM and scrambled media data to a broadcast transmission network. 
         [0006]    A typically receiver includes a central processing unit and a connectable smart card provided by CA vendor. The central processing unit includes a descrambler. The smart card provides secure storage of CA algorithm and also performs cryptographic operations according to the CA algorithm. The receiver gets the EMM, the ECM and the scrambled media data from the broadcast transmission network. After performing the cryptographic operations, the smart card decrypts the encrypted CWs and sends the CWs to the descrambler. The descrambler descrambles the scrambled media data, and then the user can access the broadcast program in unscrambled form. 
         [0007]    However, the smart card, and the receiver are detachable, the CWs may easily be intercepted by hackers. In addition, when the CA vendors update their CA algorithms, the smart card must be replaced with a new smart card. 
         [0008]    Therefore, there is room for improvement within the art. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    Many aspects of the present method and system for providing conditional access can be better understood with reference to the following drawings. The components in the various drawings are not necessarily drawn to scale, the emphasis instead being placed upon clearly illustrating the principles of the present method and system for providing conditional access. 
           [0010]      FIG. 1  is a block diagram of a headend of a system for providing conditional access, according to an exemplary embodiment. 
           [0011]      FIG. 2  is a block diagram of a receiver of the system for providing conditional access, according to the exemplary embodiment. 
           [0012]      FIG. 3  is a flowchart illustrating a process for dealing with composite signal from the headend, according to the exemplary embodiment. 
           [0013]      FIGS. 4A-4B  are flowcharts illustrating a process for responding to remote procedure call from the central processing unit shown in  FIG. 2 . 
           [0014]      FIG. 5  is a flowchart illustrating a process for descrambling scrambled media data, according to the exemplary embodiment. 
       
    
    
     DETAILED DESCRIPTION 
       [0015]    Referring to  FIG. 1  and  FIG. 2 , a system for providing conditional access according to an exemplary embodiment includes a headend  11  and a receiver  15 . The headend  11  communicates with the receiver  15  by a broadcast transmission network  13 . The headend  11  is a simulcrypt headend. The headend  11  enables the use of multiple CA systems of different CA vendors. In the headend  11 , the multiple CA systems use their respective CA algorithm to generate their respective EMM/ECM, and a common scrambling algorithm (CSA) scrambles the media data of broadcast programs such as movies, talk shows, and etc. 
         [0016]    The headend  11  includes a subscriber management system (SMS)  111 , a control word generator  112 , a subscriber authorization system (SAS)  113 , a first CA server  115 , a scrambler  117 , and a multiplexer  119 . The subscriber management system  111  manages relevant information of the receiver  15 , such as receiver subscription information, and receiver authorization information. The subscriber authorization system  113  processes EMM, ECM under control of the subscriber management system  111 . The first CA server  115  stores CA algorithms of the multiple CA systems, the CA algorithms can be updated, and the receiver  15  downloads the updated CA algorithms from the first CA server  115 . The multiple CA systems have their respective EMM, ECM. The first CA server  115  assigns a CA algorithm identifier (ID) of a CA system to EMM, which is corresponding to the CA system. The scrambler  117  scrambles the media data according to CWs generated by the control word generator  112 . 
         [0017]    The receiver  15  includes a central processing unit  151 , a expansion unit  153 , a decoder  155 , and a demultiplexer  157 . The central processing unit  151  and the expansion unit  153  communicate with each other. The expansion unit  153  is a chip supporting all features of java virtual machine (JVM). The expansion unit  153  includes a second CA server  152 , a CA virtual machine  154 , and a descrambler  156 . The expansion unit  153  stores multiple CA instances, and each CA instance is corresponding to one CA system used on the headend  11 . The CA virtual machine  154  runs the CA instances to deal with CA system related work on the receiver  15 . Each CA instance includes a CA algorithm ID. The decoder  155  decodes the media data descrambled by the descrambler  156 . 
         [0018]    The working process of the headend  11  is as follows: 
         [0019]    A broadcast program provider such as cable television provider, satellite television provider sends a broadcast program to the headend  11 . The control word generator  112  generates CWs. According to the CWs, the scrambler  117  scrambles the media data of the broadcast program. The subscriber authorization system  113  provides encryption keys, which encrypts the CWs. Encrypted CWs, and broadcast program parameters such as broadcast program time, broadcast program price, received parameters, from the ECM. The encryption keys, and the receiver authorization information, from the EMM. In the multiplexer  119 , the EMM, the ECM, the scrambled media data, and other data of the broadcast program without encryption such as broadcast program specific information (PSI) are multiplexed into a composite signal. The PSI includes a program map table (PMT), and a conditional access table (CAT). The PMT includes ECM packet identifier (PID), video PID, and audio PID; the CAT includes CA system ID, and ECM PID. The headend  11  sends the composite signal to the broadcast transmission network  13 . The EMM transmission path from the headend  11  to the receiver  15  is defined as EMM transmission channel. 
         [0020]    The receiver  15  gets the composite signal from the broadcast transmission network  13 . The EMM, the ECM, the scrambled media data, and other data of the broadcast program without encryption are separated from the composite signal by the demultiplexer  157 . When the receiver  15  is powered on, the central processing unit  151  and the expansion unit  153  start to work synchronously. Referring to  FIG. 3 , a process for dealing with the composite signal from the headend  11  is as follows: 
         [0021]    In step S 1 , the receiver  15  is powered on. 
         [0022]    In step S 2 , the central processing unit  151  determines whether the media data in the composite signal is scrambled. If the media data is scrambled, the process goes to step S 3 , where the central processing unit  151  reads CA system ID, EMM PID, ECM PID, video PID and audio PID from the other data of the broadcast program without encryption. If the media data is not scrambled, the process goes to step S 6 , where the central processing unit  151  generates normal playback instruction to control play terminal such as TV to play the broadcast program. 
         [0023]    If the step S 3  is completed, the process goes to step S 4  and step S 6  simultaneously. 
         [0024]    In step S 4 , the central processing unit  151  sends remote procedure call (RPC) for starting the CA virtual machine  154  to the expansion unit  153 . 
         [0025]    In step S 5 , the expansion unit  153  responds to the RPC from the central processing unit  151 . 
         [0026]    In step S 7 , the central processing unit  151  receives channel change instruction. The play terminal generates the channel change instruction to user actions (eg. User changes the channel manually or by remote control) and sends the channel change instruction to the central processing unit  151 . 
         [0027]    In step S 8 , the central processing unit  151  sends RPC for stopping the CA virtual machine  154  to the expansion unit  153 . 
         [0028]    If the step S 8  is completed, the process goes to the step S 5  and step S 9  simultaneously. 
         [0029]    In step S 9 , the central processing unit  151  prepares for next broadcast program processing, and the process goes to step S 2 . 
         [0030]    Referring to  FIG. 4A  and  FIG. 4B , a process for responding to RPC from the central processing unit  151  is as follows: 
         [0031]    In step S 1 , the receiver  15  is powered on, and the expansion unit  153  starts to work. 
         [0032]    In step S 10 , the second CA server  152  is started under the control of the expansion unit  153 . 
         [0033]    In step S 11 , the second CA server  152  waits for the RPC from the central processing unit  151 . If the second CA server  152  receives the RPC for starting the CA virtual machine  154 , the process goes to step S 12 . If the second CA server  152  receives the RPC for stopping the CA virtual machine  154 , the process goes to step S 18 . 
         [0034]    In step S 12 , the second CA server  152  determines whether there is a matched and run CA instance (the matched and run CA instance is that a CA instance has been matched with the corresponding CA system used on the headend  11  and has been run on the CA virtual machine  154 ). If there is a matched and run CA instance, the process goes to step S 13 . If there is no matched and run CA instance, the process goes to step S 16 . 
         [0035]    In step S 13 , the second CA server  152  determines whether the matched and run CA instance is at a standstill. As used herein, the phrase “at a standstill” refers to the fact that the matched and run CA instance has stopped running. If the matched and run CA instance is at a standstill, the process goes to step S 14 . If the matched and run CA instance is not at a standstill, the process goes to step S 16 . 
         [0036]    In step S 14 , the CA virtual machine  154  runs the matched and run CA instance. 
         [0037]    In step S 15 , the RPC returns normal return value to the central processing unit  151 . 
         [0038]    In step S 16 , the second CA server  152  determines whether there is a stored CA instance corresponding to the CA system used to scramble the media data on the headend  11 . If there is a stored CA instance corresponding to the CA system used to scramble the media data, the process goes to step S 17 . If there is no stored CA instance corresponding to the CA system used to scramble the media data, the process goes to step S 20 . 
         [0039]    In step S 17 , the CA virtual machine  154  runs the stored CA instance corresponding to the CA system used to scramble the media data on the headend  11 . 
         [0040]    In step S 18 , the second CA server  152  determines whether there is a matched and running CA instance. If there is a matched and running CA instance, the process goes to step S 19 . If there is no matched and running CA instance, the process goes to step S 20 . 
         [0041]    In step S 19 , the CA virtual machine  154  stops running the matched and running CA instance. 
         [0042]    In step S 20 , the RPC returns exceptional return value to the central processing unit  151 . 
         [0043]    Referring to  FIG. 5 , a process for descrambling scrambled media data is as follows: 
         [0044]    In step S 21 , the CA virtual machine  154  runs a CA instance corresponding to the CA system used to scramble the media data on the headend  11 . 
         [0045]    In step S 22 , the CA virtual machine  154  gets EMM. 
         [0046]    In step S 23 , the CA virtual machine  154  determines whether the CA algorithm identifier in the EMM matches with the CA algorithm identifier of the running CA instance in step S 21 . If the CA algorithm identifiers match, the process goes to step S 24 . If the CA algorithm identifiers do not match, the process goes to step S 28 . 
         [0047]    In step S 24 , the CA virtual machine  154  determines whether the descrambler  156  is available. If the descrambler  156  is not available, the process goes to step S 25 . If the descrambler  156  is available, the process goes to step S 26 . 
         [0048]    In step S 25 , the CA virtual machine  154  sends an error signal to the central processing unit  151 . 
         [0049]    In step S 26 , the descrambler  156  associates with the scrambled media data. 
         [0050]    Step S 27  includes four sub-steps, in sub-step  1 , the CA virtual machine  154  reads EMM and ECM. 
         [0051]    In sub-step  2 , the CA virtual machine  154  decrypts the encrypted CWs. 
         [0052]    In sub-step  3 , the descrambler  156  descrambles the scrambled media data according to the CWs. 
         [0053]    In sub-step  4 , repeats sub-steps  1 - 3 . 
         [0054]    In step S 28 , the CA virtual machine  154  downloads updated CA algorithm of the corresponding CA system used for scrambling the media data on the headend  11  through the EMM channel. 
         [0055]    In step S 29 , the expansion unit  153  saves the CA instance which has updated its CA algorithm, the CA virtual machine  154  runs the CA instance which has updated its CA algorithm. 
         [0056]    The headend  11  enables the use of multiple CA systems of different CA vendors. The receiver  15  can decrypt CWs encrypted by multiple CA algorithms, and the receiver  15  can download updated CA algorithm from the headend  11 . If the CA vendors updates CA algorithm, the user does not need to replace anything. 
         [0057]    In other embodiments, the decoder  155  can be integrated in the central processing unit  151 . 
         [0058]    It is to be further understood that even though numerous characteristics and advantages of the present embodiments have been set forth in the foregoing description, together with details of structures and functions of various embodiments, the disclosure is illustrative only, and changes may be made in detail, especially in matters of shape, size, and arrangement of parts within the principles of the present disclosure to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed.