Abstract:
A multicast key distribution method, an update method, and a base station based on unicast conversation key, the distribution method includes the following steps: 1) the base station composes groups of multicast key distribution; 2) the base station broadcasts the groups of multicast key distribution to all terminals; 3) the terminals acquire the multicast conversation key by calculating. The present invention solves the problem that the efficiency of the multicast key distribution based on unicast conversation key is low in the prior art, and provides a multicast key distribution method based on unicast conversation key.

Description:
[0001]    This application is a National Stage of PCT Application No. PCT/CN2009/073368, filed on Aug. 20, 2009, designating the United States and claiming priority to Chinese Patent Application No. 200810150694.1, filed with the State Intellectual Property Office of China on Aug. 21, 2008 and entitled “multicast key distribution method and update method based upon unicast session key”, contents of which are incorporated herein by reference in their entireties. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates to a group/multicast key distribution method and update method based upon a unicast session key and a base station. 
       BACKGROUND OF THE INVENTION 
       [0003]    The issue of network security has gained popular attention in both the industry and the academic community. The security issue of a wireless network is far more serious as compared to that of a wired Ethernet. The U.S. Institute for Electrical and Electronics Engineers (IEEE) defined a series of 802.11 and 802.16 standards to enhance the security of wireless local area and wireless metropolitan area networks and to provide a Mobile Terminal (MT) with a secure access to a Base Station (BS). The national standard GB15629.11 of wireless local area network, commonly referred to as the WLAN Authentication and Privacy Infrastructure (WAPI) protocol, was published in China in May, 2003. Both data communication and broadcast communication are incorporated into a Broadband Wireless Multimedia (BWM) network which is a new wireless network architecture for which the issues of secure access and secrete communication shall also be addressed. 
         [0004]    For whatever wireless network, two communication modes are typically involved: point-to-point unicast communication and point-to-multipoint group/multicast communication (or referred to as broadcast in a group). Guaranteed authenticity of entities of both communication parties and secrecy of communication contents are required for unicast communication, and also guaranteed legality of group/multicast entities and secrecy of group/multicast messages are required for secure group/multicast communication. Furthermore, a group/multicast receiving terminal is limited to a specific privilege to ensure that only an authorized terminal can read the group/multicast message properly, which requires that firstly the issue of distributing a group/multicast key securely shall be addressed effectively. How to manage the group/multicast key effectively is one of crucial issues to implement secure group/multicast communication. 
         [0005]    In the standard of IEEE802.11, security of a Wireless Local Area Network (WLAN) is achieved in a Wired Equivalent Privacy (WEP) protocol with simple management of a key, where a shared key is set manually between a mobile terminal and an access point. In this phase, the IEEE802.11 neither relates to the issue of managing a group/multicast key nor provides a solution for group/multicast security. 
         [0006]    Due to serious security defects in the WEP encryption protocol, the IEEE proposed the standard of IEEE802.11i to address the security issue of the WEP. Also the national standard GB15629.11 of the wireless local area network, i.e., WAPI, was proposed in China to overcome some drawbacks of the WEP. The IEEE802.11i and the WAPI are very similar in terms of group/multicast key management despite their different authentication mechanism: a Group/multicast Session Key (GSK) is encrypted with a predefined Unicast Session Key (USK) and distributed. That is, a base station selects a group/multicast session key and encrypts the group/multicast session key with unicast session keys shared with terminals respectively and transmits the encrypted GSKs to the corresponding terminals. Each of the terminals may decrypt the encrypted group/multicast session key with the unicast session key shared with the base station upon reception of a message of the encrypted group/multicast session key to obtain the GSK. The base station may perform secure group/multicast communication after all of the terminals receive the same group/multicast session key. The foregoing process has to be repeated if the group/multicast session key is updated. 
         [0007]    A drawback of the above method is inefficiency, and particularly when the group/multicast session key is updated, the base station has to repeat the foregoing process of distributing the group/multicast session key: the base station selects a group/multicast session key, encrypts the GSK with unicast session keys shared with the terminals respectively and transmits the encrypted GSKs to the corresponding terminals. 
         [0008]    In the standard of wireless metropolitan area network proposed by the U.S. IEEE, i.e., the standard of IEEE802.16, group/multicast key management learns the IEEE802.11i. However, a new design idea on the issue of secure group/multicast key management was proposed in the standard of IEEE802.16e proposed by the IEEE by introducing a Group/multicast Key Encryption Key (GKEK) to set up a management method with two levels of the Group/multicast Key Encryption Key (GKEK) and the Group/multicast Session Key (GSK). The idea of the method lies in that firstly a base station encrypts the GKEK with unicast session keys setup with terminals respectively and transmits the encrypted GKEKs to the corresponding terminals; the terminals decrypt the encrypted GKEKs with the unicast session keys upon reception of messages; then the base station encrypts the GSK with the GKEK and broadcasts the encrypted GSK to all of the terminals; and the terminals with the GKEK may obtain the same GSK. Thus, a group/multicast session key process has been performed. The same process is performed to update the group/multicast session key, that is, the base station encrypts a GSK with the GKEK being a key and broadcasts the encrypted GSK to all of the terminals. 
         [0009]    The group/multicast key management method of the IEEE802.16e also suffers from the following drawbacks: temporal synchronization is used and management of status is complicated; a new key is enabled and disabled dependent upon temporal judgment and it is complex to maintain a synchronous clock in a distributed system. 
         [0010]    In view of the above situation, a similar group/multicast session key management method was proposed in China in the fields of wireless metropolitan area network and broadband wireless multimedia. 
         [0011]    However this method suffers the following drawbacks. 
         [0012]    1. Despite the use of the management method with two levels of a GKEK and a GSK, the GKEK and the GSK are the same for all of the terminals, thus lacking the advantages and characteristics of hierarchical key management. 
         [0013]    2. The GKEK is the same for all of the terminals, therefore, it is more likely for any of the terminals to reveal the GKEK to another terminal, thus resulting in low security. 
         [0014]    3. No method for updating a GKEK is suggested. Since the GKEK as a basic key is the same for all of the terminals and security thereof is low, the GKEK has to be replaced frequently. 
         [0015]    4. No effective method for updating a GKEK is presented, and the GKEK is just encrypted and distributed respectively by the base station to the terminals as in the method for distributing a group/multicast key encryption key. 
         [0016]    5. In the foregoing item  4 , it may take a long period of time for updating dependent upon the number of terminals, which may cause a phenomenon of interrupted group/multicast communication when the key is updated. 
         [0017]    Although the solution proposed in the IEEE802.16e and the solution proposed in China in the fields of wireless metropolitan area network and broadband wireless multimedia may improve the efficient issue of the group/multicast key management to some extent and improve efficiency of distributing and updating a group/multicast session key, these solutions have not address the drawbacks of the IEEE802.11i, the WAPI and the IEEE802.16 thoroughly. That is, at least the Group/multicast Key Encryption Key (GKEK) to be distributed is also encrypted by the base station respectively with the unicast session keys shared with the terminals and transmitted to the corresponding terminals. Moreover, the issue of updating the Group/multicast Key Encryption Key (GKEK) has not been handled but is addressed by simply repeating the initial distribution process. 
       SUMMARY OF THE INVENTION 
       [0018]    The invention provides a group/multicast key distribution method and update method based upon a unicast session key and a base station to address the issue in the prior art of inefficient distribution of a group/multicast key based upon a unicast session key. 
         [0019]    A technical solution of the invention is a group/multicast key distribution method based upon a unicast session key, which includes: 
         [0020]    constructing, by a base station, a group/multicast key distribution packet; and 
         [0021]    broadcasting, by the base station, the group/multicast key distribution packet to all of terminals which have passed authentication for security. 
         [0022]    Preferably, before the base station constructs the group/multicast key distribution packet, the method further includes: defining, by the base station, system parameters including two p-order cyclic groups of (G 1 , +) and (G 2 , •) with p being a prime number and Diffie-Hellman calculation issue being a difficult issue in G 1 , P representing a generator of G 1 , e representing bilinear transformation on G 1  and G 2 , i.e., e:G 1 ×G 1 →G 2 , and h(•) representing a unidirectional hash function. 
         [0023]    Preferably, before the base station constructs the group/multicast key distribution packet, the method further includes: 
         [0024]    authenticating, by the base station, each of the terminals and negotiating with the terminal about a unicast key to derive a unicast session key shared between the base station and the terminal. 
         [0025]    Preferably, authenticating each of the terminals and negotiating with the terminal about a unicast key is performed: 
         [0026]    in WAPI or a standard of 802.11i or through setting a shared key manually. 
         [0027]    Preferably, the group/multicast key distribution packet includes: 
         [0028]    identity information of the Base Station, BS, a Serial Number, SN, identifying current group/multicast key distribution, group/multicast key data Data and an integrity check key MIC calculated by the base station. 
         [0029]    Preferably, in the group/multicast key distribution packet, the Data is calculated by: 
         [0030]    selecting, by the base station, randomly a number n−1 (n is larger than or equal to 2) of different elements v 0 , v 1 , . . . , v n-2  from Z q *, wherein v 0 , v 1 , . . . , v n-2 εZ q * and selecting elements Q 1  and Q 2 , wherein Q 1 , Q 2 εG 1  and also constructing randomly an (n−1)-order secret polynomial f(x)εZ p [x] and performing the following calculation: Q K =f(0)PεG 1  and V i =f(v i )P(i=0, 1, . . . n−2); 
         [0031]    for each of a number m of terminals MT i  which has passed authentication for an access, wherein i=1, 2, . . . , m, recording, by the base station, identity information ID i  of the terminal MT i , calculating secrete information Y i =h(USK i ) by using a unicast session key USK i , calculating W i =f(Y i )(Q 1 +Q 2 ), clearing up Y i , and defining Data 1 =(Q K , Q 1 , Q 2 , v 0 , . . . , v n-2 , V 0 , . . . , V n-2 , (ID 1 , W 1 ), . . . , (ID m , W m )); 
         [0032]    selecting, by the base station, a group/multicast session key GSK, wherein GSKεG 2 , and further selecting randomly an integer r, wherein rεZ p *, and calculating Data 2 =(P*, Q 1 *, U, V 0 *, . . . , V n-2 *)=(rP, rQ 1 , e(Q K , Q 2 ) r GSK, rV 0 , . . . , rV n-2 ); and 
         [0033]    defining Data=(Data  1 , Data  2 ). 
         [0034]    Preferably, the method further includes: 
         [0035]    obtaining, by each of the terminals, a group/multicast session key by calculating from the received group/multicast key distribution packet. 
         [0036]    Preferably, obtaining by the terminal the group/multicast session key by calculating from the received group/multicast key distribution packet includes: 
         [0037]    calculating, by the terminal, secret data Y x =h(USK x ) by using its own unicast session key USK x  resulted from prior negotiation; 
         [0038]    constructing, by the terminal, a set by using information of the group/multicast key distribution packet and the calculated Yx: 
         [0000]      Γ={e 0 , e 1 , . . . e n-1 }={v 0 , . . . , v n-2 , Y x };
 
         [0039]    calculating, by the terminal, secret information 
         [0000]    
       
         
           
             
               σ 
               
                 
                   e 
                   i 
                 
                 , 
                 Γ 
               
             
             = 
             
               
                 ∏ 
                 
                   
                     
                       e 
                       j 
                     
                     ∈ 
                     Γ 
                   
                   , 
                   
                     j 
                     ≠ 
                     i 
                   
                 
                 
                     
                 
               
                
               
                   
               
                
               
                 
                   e 
                   j 
                 
                 
                   
                     e 
                     j 
                   
                   - 
                   
                     e 
                     i 
                   
                 
               
             
           
         
       
     
         [0000]    for each e i , wherein e i εΓ, according to the constructed set Yx; 
         [0040]    calculating, by the terminal, the Group/multicast Session Key, GSK, according to the secret information as follows: 
         [0000]    
       
         
           
             
               GSK 
               = 
               
                 
                   
                     e 
                      
                     
                       ( 
                       
                         
                           Q 
                           1 
                           * 
                         
                         , 
                         
                           Q 
                           K 
                         
                       
                       ) 
                     
                   
                    
                   U 
                 
                 
                   
                     e 
                      
                     
                       ( 
                       
                         
                           
                             Q 
                             1 
                           
                           + 
                           
                             Q 
                             2 
                           
                         
                         , 
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               0 
                             
                             
                               n 
                               - 
                               2 
                             
                           
                            
                           
                               
                           
                            
                           
                             
                               σ 
                               
                                 
                                   e 
                                   i 
                                 
                                 , 
                                 Γ 
                               
                             
                              
                             
                               V 
                               i 
                               * 
                             
                           
                         
                       
                       ) 
                     
                   
                    
                   
                     e 
                      
                     
                       ( 
                       
                         
                           
                             σ 
                             
                               
                                 e 
                                 
                                   n 
                                   - 
                                   1 
                                 
                               
                               , 
                               Γ 
                             
                           
                            
                           
                             W 
                             x 
                           
                         
                         , 
                         
                           P 
                           * 
                         
                       
                       ) 
                     
                   
                 
               
             
             ; 
           
         
       
     
         [0000]    and 
         [0041]    deriving, by the terminal, a group/multicast session integrity check key, GSKI, and a Group/multicast Session Encryption Key, GSKE, from the Group/multicast Session Key, GSK, recalculating an MIC from the GSKI, and upon determining that the group/multicast key distribution packet is valid, determining from a field of SN whether it is a repeated message transmitted from the base station, and if not, obtaining, by the terminal, the group/multicast session key properly. 
         [0042]    Preferably, after obtaining the group/multicast session key, the method further includes: 
         [0043]    performing, by the base station, directional unicast communication with the terminal or broadcast communication to all of the terminals. 
         [0044]    The invention further provides a group/multicast key update method based upon a unicast session key, which includes: 
         [0045]    constructing, by a base station, a group/multicast key update packet; and 
         [0046]    broadcasting, by the base station, the group/multicast key update packet to all of terminals. 
         [0047]    Preferably, the group/multicast key update packet includes identity information of the Base Station, BS, a Serial Number, SN, identifying current group/multicast key distribution, group/multicast key data Data calculated by the base station and an integrity check key MIC. 
         [0048]    Preferably, in the group/multicast key update packet, the Data is calculated by: 
         [0049]    selecting, by the base station, a new group/multicast session key GSK, wherein GSKεG 2 , and further selecting randomly an integer r, wherein rεZ p *, and calculating Data 2 =(P*, Q 1 *, U, V 0 *, . . . , V n-2 *)=(rP, rQ 1 , e(Q K , Q 2 ) r GSK, rV 0 , . . . , rV n-2 ); and 
         [0050]    defining Data=(Data  1 , Data  2 ). 
         [0051]    Preferably, the method further includes: 
         [0052]    obtaining, by each of the terminals, a group/multicast session key by calculating from the received group/multicast key update packet. 
         [0053]    Preferably, obtaining by the terminal the group/multicast session key by calculating from the received group/multicast key update packet includes: 
         [0054]    calculating, by the terminal, secret data Y x =h(USK x ) by using its own unicast session key USK x  resulted from prior negotiation; 
         [0055]    constructing, by the terminal, a set by using information of the group/multicast key update packet and the calculated Yx: 
         [0000]      Γ={e 0 , e 1 , . . . e n-1 }={v 0 , . . . , v n-2 , Y x };
 
         [0056]    calculating, by the terminal, secret information 
         [0000]    
       
         
           
             
               σ 
               
                 
                   e 
                   i 
                 
                 , 
                 Γ 
               
             
             = 
             
               
                 ∏ 
                 
                   
                     
                       e 
                       j 
                     
                     ∈ 
                     Γ 
                   
                   , 
                   
                     j 
                     ≠ 
                     i 
                   
                 
                 
                     
                 
               
                
               
                   
               
                
               
                 
                   e 
                   j 
                 
                 
                   
                     e 
                     j 
                   
                   - 
                   
                     e 
                     i 
                   
                 
               
             
           
         
       
     
         [0000]    for each e i , wherein e i εΓ, according to the constructed set Yx; 
         [0057]    calculating, by the terminal, the message Group/multicast Session Key, GSK, according to the secrete information as follows: 
         [0000]    
       
         
           
             
               GSK 
               = 
               
                 
                   
                     e 
                      
                     
                       ( 
                       
                         
                           Q 
                           1 
                           * 
                         
                         , 
                         
                           Q 
                           K 
                         
                       
                       ) 
                     
                   
                    
                   U 
                 
                 
                   
                     e 
                      
                     
                       ( 
                       
                         
                           
                             Q 
                             1 
                           
                           + 
                           
                             Q 
                             2 
                           
                         
                         , 
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               0 
                             
                             
                               n 
                               - 
                               2 
                             
                           
                            
                           
                               
                           
                            
                           
                             
                               σ 
                               
                                 
                                   e 
                                   i 
                                 
                                 , 
                                 Γ 
                               
                             
                              
                             
                               V 
                               i 
                               * 
                             
                           
                         
                       
                       ) 
                     
                   
                    
                   
                     e 
                      
                     
                       ( 
                       
                         
                           
                             σ 
                             
                               
                                 e 
                                 
                                   n 
                                   - 
                                   1 
                                 
                               
                               , 
                               Γ 
                             
                           
                            
                           
                             W 
                             x 
                           
                         
                         , 
                         
                           P 
                           * 
                         
                       
                       ) 
                     
                   
                 
               
             
             ; 
           
         
       
     
         [0000]    and 
         [0058]    deriving, by the terminal, a group/multicast session integrity check key, GSKI, and a Group/multicast Session Encryption Key, GSKE, from the Group/multicast Session Key, GSK, recalculating an MIC from the GSKI, and upon determining that the group/multicast key update packet is valid, determining from a field of SN whether it is a repeated message transmitted from the base station, and if not, obtaining, by the terminal, the group/multicast session key properly. 
         [0059]    Preferably, after obtaining the group/multicast session key, the method further includes: 
         [0060]    performing, by the base station, directional unicast communication with the terminal or broadcast communication to all of the terminals. 
         [0061]    Correspondingly, an embodiment of the invention further provides a base station including: 
         [0062]    a construction unit configured to construct a group/multicast key distribution packet or a group/multicast key update packet; and 
         [0063]    a transmission unit configured to broadcast the group/multicast key distribution packet or the group/multicast key update packet constructed by the construction unit to all of terminals which have passed authentication for security. 
         [0064]    Preferably, the base station further includes: 
         [0065]    a definition unit configured to define system parameters before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet, wherein the system parameters includes: two p-order cyclic groups of (G 1 , +) and (G 2 , •) with p being a prime number and Diffie-Hellman calculation issue being a difficult issue in G 1 ; P representing a generator of G 1 ; e representing bilinear transformation on G 1  and G 2 , i.e., e:G 1 ×G 1 →G 2 ; and h(•) representing a unidirectional hash function. 
         [0066]    Preferably, the base station further includes: 
         [0067]    an authentication and negotiation unit configured to authenticate each of the terminals and negotiate with the terminal about a unicast key to derive a unicast session key shared between the base station and the terminal before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet. 
         [0068]    As may be apparent from the foregoing technical solutions, the invention has the following advantages. 
         [0069]    1. It is sufficient to broadcast once to distribute or update a group/multicast session key. 
         [0070]    2. Distribution of the group/multicast session key based upon a unicast session key may be integrated seamlessly with a unicast session key negotiation protocol. 
         [0071]    3. A broadcast channel is fully used and the communication efficiency of a system is improved. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0072]      FIG. 1  illustrates a schematic diagram of a group/multicast key distribution method based upon a unicast session key according to an embodiment of the invention; and 
           [0073]      FIG. 2  illustrates a schematic diagram of a group/multicast key update method based upon a unicast session key according to an embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       [0074]    Terms as referred to in the embodiments of the invention are defined briefly as follows in order to facilitate understanding thereof by those skilled in the art: 
         [0075]    BS: base station; 
         [0076]    MT x : terminal x; 
         [0077]    USK x : unicast session key of the terminal x; 
         [0078]    USKI x  and USKE x : unicast session integrity check key and unicast session encryption key derived from the USK x ; 
         [0079]    Nonce: one-time random number; 
         [0080]    GSK: group/multicast session key; and 
         [0081]    GSKI and GSKE: group/multicast session integrity check key and group/multicast session encryption key derived from the GSK. 
         [0082]    Referring to  FIG. 1  illustrating a flow chart of a group/multicast key distribution method based upon a unicast session key according to an embodiment of the invention, the method includes the following processes. 
         [0083]    1) System parameters are defined, and the system parameters includes: two p-order cyclic groups of (G 1 , +) and (G 2 , •), where p is a prime number, Diffie-Hellman calculation issue is a difficult issue in G 1 ; P representing a generator of G 1 ; e representing bilinear transformation on G 1  and G 2 , i.e., e:G 1 ×G 1 →G 2 ; and h(•) representing a unidirectional hash function. 
         [0084]    The above process 1) is generally performed once and will not be performed after the system parameters are well defined, that is, the process 1) is an optional process. 
         [0085]    2) A base station authenticates each of terminals for security and negotiates with the terminal about a Unicast Session Key (USK), and a terminal i shares a Unicast Session Key USK i , from which a unicast session integrity check key and a unicast session encryption key may be derived, with the base station. Any method including those of the WAPI and the 802.11i may be adopted or a method for manually setting a pre-shared key may be used, to perform authentication and unicast key negotiation. 
         [0086]    It shall be noted that the above process 2) is required if the base station in the system has neither authenticated each of terminal lines for security nor negotiated with each of the terminal lines about the Unicast Session Key (USK) or may be omitted if the base station in the system has authenticated each of the terminal lines for security and negotiated with each of the terminal lines about the Unicast Session Key (USK). 
         [0087]    3) The base station constructs a group/multicast key distribution packet including the following contents: identity information of the Base Station (BS), a Serial Number (SN) identifying current group/multicast key distribution, group/multicast key data (Data) calculated by the base station and an integrity check key MIC, corresponding fields of which are as follows: 
         [0000]    
       
                 
         
             
             
         
       
     
         [0088]    Where: 
         [0089]    the field of BS: identity information of the base station; 
         [0090]    the field of SN: serial number identifying uniquely a current group/multicast key distribution process; 
         [0091]    the field of Data: group/multicast key data calculated by the base station; and 
         [0092]    the field of MIC: an MIC value calculated on all of the fields preceding this field, here the integrity check key is a group/multicast session integrity check key GSKI derived from a Group/multicast Session Key (GSK) selected by the base station. 
         [0093]    The field of Data is calculated as follows. 
         [0094]    3.1) The base station selects randomly a number n−1 (n is larger than or equal to 2) of different elements v 0 , v 1 , . . . , v n-2  from Z q *, where v 0 , v 1 , . . . , v n-2 εZ q * and selects elements Q 1  and Q 2 , where Q 1 , Q 2 εG 1  and also constructs randomly an (n−1)-order secret polynomial f(x)εZ p [x], and subsequently performs the following calculations: Q K =f(0)PεG 1  and V i =f(v i )P(i=0, 1, . . . n−2). 
         [0095]    3.2) For a terminal MT i  which has passed authentication for an access (assuming the number of terminals is m), the base station records device identity information ID i  and calculates secrete information Y i =h(USK i ) (i=1, 2, . . . , m) by using a unicast session key USK i , then calculates W i =f(Y i )(Q 1 +Q 2 ), and subsequently clears up Y i  and defines Data 1 =(Q K , Q 1 , Q 2 , v 0 , . . . , v n-2 , V 0 , . . . , V n-2 , (ID 1 , W 1 ), . . . , (ID m , W m )). 
         [0096]    3.3) It is Assumed that the base station selects the group/multicast session key GSK, where GSKεG 2 , and the base station further selects randomly an integer r, where rεZ p *, and calculates Data 2 =(P*, Q 1 *, U, V 0 *, . . . , V n-2 *)=(rP, rQ 1 , e(Q K , Q 2 ) r GSK, rV 0 , . . . , rV n-2 ). 
         [0097]    3.4) Finally Data=(Data  1 , Data  2 ) is defined. 
         [0098]    4) The base station broadcasts the group/multicast key distribution packet to all of the terminals. 
         [0099]    5) The terminals obtain the group/multicast session key by calculating. 
         [0100]    Any terminal MT x  decrypts the received group/multicast key distribution packet to obtain the GSK as follows. 
         [0101]    5.1) The terminal calculates secret data Y x =h(USK x ) by using its own unicast session key USK x . 
         [0102]    5.2) The terminal constructs a set by using the information of the group/multicast key distribution packet and the calculated Yx: 
         [0000]      Γ={e 0 , e 1 , . . . e n-1 }={v 0 , . . . , v n-2 , Y x }
 
         [0103]    5.3) The terminal calculates secret information 
         [0000]    
       
         
           
             
               σ 
               
                 
                   e 
                   i 
                 
                 , 
                 Γ 
               
             
             = 
             
               
                 ∏ 
                 
                   
                     
                       e 
                       j 
                     
                     ∈ 
                     Γ 
                   
                   , 
                   
                     j 
                     ≠ 
                     i 
                   
                 
                 
                     
                 
               
                
               
                   
               
                
               
                 
                   e 
                   j 
                 
                 
                   
                     e 
                     j 
                   
                   - 
                   
                     e 
                     i 
                   
                 
               
             
           
         
       
     
         [0000]    for each e i , where e i εΓ. 
         [0104]    5.4) The Group/multicast Session Key (GSK) is calculated as follows: 
         [0000]    
       
         
           
             GSK 
             = 
             
               
                 
                   e 
                    
                   
                     ( 
                     
                       
                         Q 
                         1 
                         * 
                       
                       , 
                       
                         Q 
                         K 
                       
                     
                     ) 
                   
                 
                  
                 U 
               
               
                 
                   e 
                    
                   
                     ( 
                     
                       
                         
                           Q 
                           1 
                         
                         + 
                         
                           Q 
                           2 
                         
                       
                       , 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             0 
                           
                           
                             n 
                             - 
                             2 
                           
                         
                          
                         
                             
                         
                          
                         
                           
                             σ 
                             
                               
                                 e 
                                 i 
                               
                               , 
                               Γ 
                             
                           
                            
                           
                             V 
                             i 
                             * 
                           
                         
                       
                     
                     ) 
                   
                 
                  
                 
                   e 
                    
                   
                     ( 
                     
                       
                         
                           σ 
                           
                             
                               e 
                               
                                 n 
                                 - 
                                 1 
                               
                             
                             , 
                             Γ 
                           
                         
                          
                         
                           W 
                           x 
                         
                       
                       , 
                       
                         P 
                         * 
                       
                     
                     ) 
                   
                 
               
             
           
         
       
     
         [0105]    5.5) The group/multicast session integrity check key GSKI and a group/multicast session encryption key GSKE are derived from the Group/multicast Session Key (GSK), the MIC is recalculated from the GSKI, it is determined whether the packet is valid, and if the packet is invalid, the packet is discarded directly, otherwise, it is determined from the field of SN whether it is a repeated message transmitted from the base station, and if so, the repeated message is discarded directly, otherwise, the terminal obtains the group/multicast session key properly. 
         [0106]    6) Unicast or group/multicast communication: the base station may perform bidirectional unicast communication with the terminal or broadcast communication to all of the terminals after the foregoing processes are performed. Security of unicast communication is guaranteed by the unicast session integrity check key and the unicast session encryption key derived from the USK x , and security of group/multicast communication is guaranteed by the group/multicast session integrity check key and the group/multicast session encryption key derived from the GSK. 
         [0107]    It shall be noted that the above solution also supports updating of a group/multicast session key in the same method as for distribution of a group/multicast session key. In order to improve the efficiency of calculation, however, when the field of Data is calculated, calculations in only the processes 3 and 4 are performed in a key update process while omitting the processes 1 and 2. Moreover, when a new terminal has passed authentication with the base station and no group/multicast session key is updated, the base station performs the process 2 of calculating the field of Data only for the newly accessed terminal when the group/multicast session key is distributed to the newly accessed terminal, thereby improving the efficiency of calculation. 
         [0108]    Referring to  FIG. 2  illustrating a flow chart of a group/multicast key update method based upon a unicast session key according to an embodiment of the invention, the method includes the following processes. 
         [0109]    1) A base station constructs a group/multicast key update packet. 
         [0110]    The packet includes the following contents. 
         [0000]    
       
                 
         
             
             
         
       
     
         [0111]    Where: 
         [0112]    the field of BS: identity information of the base station; 
         [0113]    the field of SN: serial number identifying uniquely a current group/multicast key update process; 
         [0114]    the field of Data: group/multicast key data calculated by the base station; and 
         [0115]    the field of MIC: an MIC value calculated on all of the fields preceding this field, here the integrity check key is a group/multicast session integrity check key GSKI derived from a Group/multicast Session Key (GSK) selected by the base station. 
         [0116]    The field of Data is calculated as follows. 
         [0117]    1.1) It is assumed that the base station selects a new group/multicast session key GSK, where GSKεG 2 , and the base station further selects randomly an integer r, where rεZ p *, and calculates Data  2 =(P*, Q 1 *, U, V 0 *, . . . , V n-2 *)=(rP, rQ 1 , e(Q K , Q 2 ) r GSK, rV 0 , . . . , rV n-2 ); 
         [0118]    1.2) Finally Data=(Data  1 , Data  2 ) is defined. 
         [0119]    2) The base station broadcasts the group/multicast key update packet to all of the terminals. 
         [0120]    3) The terminals obtain the group/multicast session key by calculating. 
         [0121]    Any terminal MT x  decrypts the received group/multicast key update packet to obtain the GSK as follows. 
         [0122]    3.1) The terminal calculates secret data Y x =h(USK x ) by using its own unicast session key USK x . 
         [0123]    3.2) The terminal constructs a set by using the information of the group/multicast key update packet and the calculated Yx: 
         [0000]      Γ={e 0 , e 1 , . . . e n-1 }={v 0 , . . . , v n-2 , Y x };
 
         [0124]    3.3) The terminal calculates secret information 
         [0000]    
       
         
           
             
               σ 
               
                 
                   e 
                   i 
                 
                 , 
                 Γ 
               
             
             = 
             
               
                 ∏ 
                 
                   
                     
                       e 
                       j 
                     
                     ∈ 
                     Γ 
                   
                   , 
                   
                     j 
                     ≠ 
                     i 
                   
                 
                 
                     
                 
               
                
               
                   
               
                
               
                 
                   e 
                   j 
                 
                 
                   
                     e 
                     j 
                   
                   - 
                   
                     e 
                     i 
                   
                 
               
             
           
         
       
     
         [0000]    for each e i , where e i εΓ. 
         [0125]    3.4) The Group/multicast Session Key (GSK) is calculated as follows: 
         [0000]    
       
         
           
             
               GSK 
               = 
               
                 
                   
                     e 
                      
                     
                       ( 
                       
                         
                           Q 
                           1 
                           * 
                         
                         , 
                         
                           Q 
                           K 
                         
                       
                       ) 
                     
                   
                    
                   U 
                 
                 
                   
                     e 
                      
                     
                       ( 
                       
                         
                           
                             Q 
                             1 
                           
                           + 
                           
                             Q 
                             2 
                           
                         
                         , 
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               0 
                             
                             
                               n 
                               - 
                               2 
                             
                           
                            
                           
                               
                           
                            
                           
                             
                               σ 
                               
                                 
                                   e 
                                   i 
                                 
                                 , 
                                 Γ 
                               
                             
                              
                             
                               V 
                               i 
                               * 
                             
                           
                         
                       
                       ) 
                     
                   
                    
                   
                     e 
                      
                     
                       ( 
                       
                         
                           
                             σ 
                             
                               
                                 e 
                                 
                                   n 
                                   - 
                                   1 
                                 
                               
                               , 
                               Γ 
                             
                           
                            
                           
                             W 
                             x 
                           
                         
                         , 
                         
                           P 
                           * 
                         
                       
                       ) 
                     
                   
                 
               
             
             ; 
           
         
       
     
         [0126]    3.5) The group/multicast session integrity check key GSKI and a group/multicast session encryption key GSKE are derived from the Group/multicast Session Key (GSK), the MIC is recalculated from the GSKI, it is determined whether the packet is valid, and if the packet is invalid, the packet is discarded directly, otherwise, it is determined from the field of SN whether it is a repeated message transmitted from the base station, and if so, the repeated message is discarded directly, otherwise, the terminal obtains the group/multicast session key properly. 
         [0127]    4) Unicast or group/multicast communication: the base station may perform bidirectional unicast communication with the terminal or broadcast communication to all of the terminals after the foregoing processes are performed. Security of unicast communication is guaranteed by the unicast session integrity check key and the unicast session encryption key derived from the USK x , and security of group/multicast communication is guaranteed by the group/multicast session integrity check key and the group/multicast session encryption key derived from the GSK. 
         [0128]    A method for distributing a group/multicast key to a newly accessed terminal based upon a unicast session key according to an embodiment of the invention includes the following processes. 
         [0129]    1) A base station authenticates the terminal MT i  for security and negotiates with the terminal about a Unicast Session Key USK i  from which a unicast session integrity check key and a unicast session encryption key may be derived. Any method including those of the WAPI and the 802.11i may be adopted or a method for manually setting a pre-shared key may be used to perform authentication and unicast key negotiation. 
         [0130]    It shall be noted that the above process 1) is required if the base station has neither authenticated the terminal MT i  for security nor negotiated with the terminal about the Unicast Session Key (USK) or may be omitted if the base station in the system has authenticated each of the terminal lines for security and negotiated with each of the terminal lines about the Unicast Session Key (USK). 
         [0131]    2) The base station constructs a group/multicast key distribution packet. 
         [0132]    The packet includes the following contents. 
         [0000]    
       
                 
         
             
             
         
       
     
         [0133]    Where: 
         [0134]    the field of BS: identity information of the base station; 
         [0135]    the field of SN: serial number identifying uniquely a current group/multicast key distribution process and being the same as the field of SN selected by the base station for current group/multicast key distribution; 
         [0136]    the field of Data: group/multicast key data calculated by the base station; and 
         [0137]    the field of MIC: an MIC value calculated on all of the fields preceding this field, here the integrity check key is a group/multicast session integrity check key GSKI derived from a Group/multicast Session Key (GSK) selected by the base station. 
         [0138]    The field of Data is calculated as follows. 
         [0139]    2.1) For the terminal MT i , the base station records device identity information ID i  and calculates secrete information Y i =h(USK i )(i=1, 2, . . . , m) by using the unicast session key USK i , then calculates W i =f(Y i )(Q 1 +Q 2 ), and subsequently clears up Y i  and defines Data 1 =(Q K , Q 1 , Q 2 , v 0 , . . . , v n-2 , V 0 , . . . , V n-2 , (ID i , W i )); 
         [0140]    2.2) Data=(Data  1 , Data  2 ) is calculated by using the data Data 2  currently calculated by the base station. 
         [0141]    3) The base station broadcasts the group/multicast key distribution packet to the terminal MT i ; 
         [0142]    4) The terminal MT i  obtains the group/multicast session key by calculating. 
         [0143]    4.1) The terminal calculates secret data Y i =h(USK i ) by using its own unicast session key USK i . 
         [0144]    4.2) The terminal constructs a set by using the information of the group/multicast key distribution packet and the calculated Yi: 
         [0000]      Γ={e 0 , e 1 , . . . e n-1 }={v 0 , . . . , v n-2 , Y i }
 
         [0145]    4.3) The terminal calculates secret information 
         [0000]    
       
         
           
             
               σ 
               
                 
                   e 
                   i 
                 
                 , 
                 Γ 
               
             
             = 
             
               
                 ∏ 
                 
                   
                     
                       e 
                       j 
                     
                     ∈ 
                     Γ 
                   
                   , 
                   
                     j 
                     ≠ 
                     i 
                   
                 
                 
                     
                 
               
                
               
                   
               
                
               
                 
                   e 
                   j 
                 
                 
                   
                     e 
                     j 
                   
                   - 
                   
                     e 
                     i 
                   
                 
               
             
           
         
       
     
         [0000]    for each e i , where e i εΓ. 
         [0146]    4.4) The Group/multicast Session Key (GSK) is calculated as follows: 
         [0000]    
       
         
           
             GSK 
             = 
             
               
                 
                   e 
                    
                   
                     ( 
                     
                       
                         Q 
                         1 
                         * 
                       
                       , 
                       
                         Q 
                         K 
                       
                     
                     ) 
                   
                 
                  
                 U 
               
               
                 
                   e 
                   ( 
                   
                     
                       
                         Q 
                         1 
                       
                       + 
                       
                         Q 
                         2 
                       
                     
                     , 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           0 
                         
                         
                           n 
                           - 
                           2 
                         
                       
                        
                       
                           
                       
                        
                       
                         
                           σ 
                           
                             
                               e 
                               i 
                             
                             , 
                             Γ 
                           
                         
                          
                         
                           V 
                           i 
                           * 
                         
                       
                     
                   
                   ) 
                 
                  
                 
                   e 
                    
                   
                     ( 
                     
                       
                         
                           σ 
                           
                             
                               e 
                               
                                 n 
                                 - 
                                 1 
                               
                             
                             , 
                             Γ 
                           
                         
                          
                         
                           W 
                           x 
                         
                       
                       , 
                       
                         P 
                         * 
                       
                     
                     ) 
                   
                 
               
             
           
         
       
     
         [0147]    4.5) The group/multicast session integrity check key GSKI and a group/multicast session encryption key GSKE are derived from the Group/multicast Session Key (GSK), the MIC is recalculated from the GSKI, it is determined whether the packet is valid, and if the packet is invalid, the packet is discarded directly, otherwise, it is determined from the field of SN whether it is a repeated message transmitted from the base station, and if so, the repeated message is discarded directly, otherwise, the terminal obtains the group/multicast session key properly. 
         [0148]    5) Unicast or group/multicast communication: the base station may perform bidirectional unicast communication with the terminal or broadcast communication to all of the terminals after the foregoing processes are performed. Security of unicast communication is guaranteed by the unicast session integrity check key and the unicast session encryption key derived from the USK i , and security of group/multicast communication is guaranteed by the group/multicast session integrity check key and the group/multicast session encryption key derived from the GSK. 
         [0149]    Based upon the foregoing methods, an embodiment of the invention provides a base station including a construction unit and a transmission unit, where the construction unit is configured to construct a group/multicast key distribution packet or a group/multicast key update packet, and the transmission unit is configured to broadcast the group/multicast key distribution packet or the group/multicast key update packet constructed by the construction unit to all of terminals which have passed authentication for security. 
         [0150]    Preferably, the base station further includes a definition unit configured to define system parameters before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet, where the system parameters includes: two p-order cyclic groups of (G 1 , +) and (G 2 , •) with p being a prime number and Diffie-Hellman calculation issue being a difficult issue in G 1 ; P representing a generator of G 1 ; e representing bilinear transformation on G 1  and G 2 , i.e., e:G 1 ×G 1 →G 2 ; and h(•) representing a unidirectional hash function. 
         [0151]    Preferably, the base station further includes an authentication and negotiation unit. 
         [0152]    The authentication and negotiation unit is configured to authenticate each of the terminals and negotiate with the terminal about a unicast key to derive a unicast session key shared between the base station and the terminal before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet. 
         [0153]    For details of implementing functions and roles of the units in the base station, reference may be made to the corresponding implementations in the foregoing methods, and a detailed description thereof is omitted here. 
         [0154]    As may be apparent from the foregoing embodiments, a group/multicast key distribution packet is constructed and broadcasted to all of terminals which have passed authentication for security so that the terminals obtain a group/multicast session key by calculating on the group/multicast key distribution packet upon reception of the group/multicast key distribution packet. Apparently in the invention, it is sufficient to broadcast once to distribute or update a group/multicast session key between a base station and terminals; distribution of the group/multicast session key based upon a unicast session key may be integrated seamlessly with a unicast session key negotiation protocol; and the invention makes full use of a broadcast channel and improves the communication efficiency of a system. 
         [0155]    Those skilled in the art may clearly appreciated from the foregoing description of the embodiments that the invention may be embodied in the form of software plus a requisite general hardware platform or in hardware, but the former is a preferred embodiment in many cases. Based upon such understanding, the technical solution of the invention essentially or a part thereof contributing to the prior art may be embodied in the form of a software product which may be stored in a storage medium, e.g., an ROM/RAM, a magnetic disk, an optical disk. and which may include several instructions to cause a computer device (e.g., a personal computer, a server, or a network device) to perform the methods described in the embodiments of the invention or some parts thereof. 
         [0156]    The foregoing description is merely illustrative of the preferred embodiments of the invention, and it shall be pointed out that those ordinarily skilled in the art may further make several modifications and variations without departing from the principle of the invention and that these modifications and variations shall also be considered as coming into the scope of the invention.