Patent Publication Number: US-7716482-B2

Title: Conference session key distribution method in an ID-based cryptographic system

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a data transmission method. More particularly, the present invention relates to a method of distributing a conference session key which is shared in order to encrypt data between a plurality of parties. 
   2. Description of the Related Art 
   As computers become ubiquitous, networks connecting the computers become more important and useful. However, recently, attacks on computers and networks have increased. Thus, network security techniques are needed. 
   An inter-party key sharing protocol is a protocol used for keeping data transmitted through networks secret. A standard protocol is a Diffie-Hellman type protocol, which is based on difficulty in solving an elliptic curve cryptographic discrete logarithm problem. The Diffie-Hellman type protocol is based on a public key infrastructure (PKI) encryption. However, PKI encryption has shortcomings, e.g., requiring participation of a reliable authentication center, since integrity of a public key must be guaranteed by the authentication center. 
   Because of the shortcomings of PKI encryption, much research has been conducted on an ID-based key sharing protocol which is not based on PKI encryption. Unfortunately, conventional ID-based key sharing protocols have problems, e.g., they are vulnerable to a disguised attack and cannot provide forward secrecy. 
   SUMMARY OF THE INVENTION 
   The present invention is therefore directed to a data transmission method and a computer-readable storage medium containing a program by which the data transmission method is executed, which substantially overcome one or more of the problems due to the limitations and disadvantages of the related art. 
   It is a feature of an embodiment of the present invention to provide a conference session key distribution method capable of preventing a disguised attack. 
   It is another feature of an embodiment of the present invention to provide a conference session key distribution method capable of providing forward secrecy. 
   At least one of the above and other features and advantages of the present invention may be realized by providing a method of distributing a session shared key for encryption from a session initiating party to a plurality of session participating parties in a single conference session on an ID-based cryptographic system, including (a) generating two temporary secret keys for the session initiating party, two temporary public keys for the session initiating party, and a signature value obtained by applying a predetermined signature function to the keys, (b) sending a message including ID information of the session initiating party, the temporary public keys for the session initiating party, and the signature value to the session participating parties, (c) receiving messages including the temporary public keys for the session participating parties from the session participating parties, and determining validity of the messages, (d) generating shared key generation variables for the session participating parties that have sent valid messages, (e) generating the session shared key and encrypting the ID information of the session initiating party using the session shared key; and (f) sending a message including the shared key generation variables and the encrypted ID information to the session participating parties that have sent valid messages. 
   At least one of the above and other features and advantages of the present invention may be realized by providing a method of distributing a session shared key for encryption from a session initiating party to session participating parties in a single conference session on an ID-based cryptographic system, including (a) receiving a message including ID information, a temporary public key, and a predetermined signature value of the session initiating party from the session participating party, and determining validity of the message, (b) generating two temporary secret keys for the session participating parties, two temporary public keys for the session participating parties, and a signature value obtained by applying a predetermined signature function to the keys; (c) sending a message including the temporary public keys for the session participating parties and the signature value to the session initiating party, (d) receiving a message including a shared key generation variable and encrypted ID information of the session initiating party from the session initiating party, (e) generating a session shared key using the shared key generation variable and the temporary secret keys for the session participating parties, and (f) decrypting the encrypted ID information of the session initiating party using the session shared key, and determining whether the session shared key is valid. 
   At least one of the above and other features and advantages of the advantages may be realized by providing a computer-readable medium having recorded thereon a computer-readable program for performing the methods. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The above and other features and advantages of the present invention will become more apparent to those of ordinary skill in the art by describing in detail exemplary embodiments thereof with reference to the attached drawings in which: 
       FIG. 1  is a conceptual diagram illustrating a cryptographic system using a discrete logarithm problem in a finite field; and 
       FIG. 2  is a flowchart illustrating steps of a conference session key distribution method according to the present invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   Korean Patent Application No. 2003-72982, filed on Oct. 20, 2003, in the Korean Intellectual Property Office, and entitled: “Conference Session Key Distribution Method in an ID-Based Cryptographic System,” is incorporated by reference herein in its entirety. 
   The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which exemplary embodiments of the invention are shown. The invention may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Now, a conference session shared key distribution method according to the present invention will be described in detail with reference to the accompanying drawings. 
     FIG. 1  is a conceptual diagram illustrating a cryptographic system using a discrete logarithm problem in a finite field. 
   The cryptographic system according to the present invention is based on difficulty in solving a discrete logarithm problem in an elliptic curve cryptographic group. The discrete logarithm in the elliptic curve\cryptographic group is a logarithm using an elliptic curve additive group defined in a finite field, i.e., its domain of definition. It is known that a problem involved in the discrete logarithm function in the finite field rather than the real number field is very difficult to solve, because estimation using a simple magnitude comparison is not available. In the present invention, the encryption of data is performed relying on the difficulty in solving the discrete logarithm problem. 
   In the cryptographic system using the finite field discrete logarithm problem, parties which participate in data encryption share two variables p and g. The variable p is a sufficiently large prime number determined depending on a level of secrecy of the cryptographic system. The variable g is a generation source of the finite field multiplicative group which has a divisor q of p−1 as an order. As shown in  FIG. 1 , two parties A and B select their own secret keys x a  and x b , i.e., integers between 1 and q−1. The parties calculate their own public keys y a  and y b  using their own secret keys, as represented by the following Equations (1) and (2).
 
 y   a   =g   x     a    mod  p   (1)
 
 y   b   =g   x     b    mod  p   (2)
 
   The two parties A and B exchange public keys, and share a shared key K obtained from the other party&#39;s public keys and their own secret keys using the following Equation (3).
 
 K=g   x     a     x     b    mod  p   (3)
 
   The party A calculates the shared key K using its own secret key x a  and the public key x b  of the party B, as represented by the following Equation (4).
 
 K=y   a   x     b   =( g   x     b   ) x     a     =g   x     a     x     b    mod  p   (4)
 
   The party B calculates the shared key K using its own secret key x b  and the public key x a  of the party A, as represented by the following Equation (5).
 
 K=y   a   x     b   =( g   x     a   ) x     b     =g   x     a     x     b    mod  p   (5)
 
   Although any attacker knows the public key, he must solve the discrete logarithm problem in the cryptographic system. Therefore, the user&#39;s secret key is not revealed. 
   In the Diffie-Hellmann method, which basically utilizes the system illustrated in  FIG. 1 , both users have to temporarily generate their own secret keys and public keys for each and every communication event in a practical application. Therefore, an authentication center, or trusted authority TA, must authenticate the users for every communication event. 
   Harn and Yang have proposed a cryptographic system to solve this inconvenience by sharing a temporary key at every communication session using identification (ID) information. The system is called an ID-based cryptographic system. 
   In addition, Xu and Tilborg have proposed a multi-party key sharing protocol using Harn and Yang&#39;s method. The multi-party key sharing protocol is a protocol which implements key sharing among more than three parties, and includes a key distribution protocol and a key agreement protocol. The key distribution protocol is a protocol in which a session initiating party generates a key and securely distributes the key to the other parties as a shared key. The key agreement protocol is a protocol where a common key to all the participating parties is commonly processed to be used as a session shared key. 
   The Xu and Tilburg method is a key distribution protocol including an ID-based cryptographic system implementation step and a key sharing protocol step. The ID-based cryptographic system utilizes the Ham and Yang method. 
   The parties participating in each conference session are classified into a session initiating party A and session participating parties B and C. 
   In the ID-based cryptographic system implementation step, a key authentication center (KAC) provides its own public key y. The parties i (i=A, B, C) participating in the session know public key parameters G, p, α, y and f. The parameter G is a multiplicative group GF(P)* of a finite field including modulo p integers. The parameter p is a sufficiently large prime number. The “modulo p” is an operator that returns a remainder after dividing by p. The group G has the parameter α as its generation source. The parameter f is a hash function. Each party i has a secret key s i  and a public key r i  provided by KAC. 
   The steps of Xu and Tilborg&#39;s key sharing protocol are as follows. 
   Step 1). The party A selects an integer v 1 , which is coprime to p−1, between integers 1 and p−1. 
   Step 2). The party A generates temporary public keys w 1  and η 1  represented by the following Equations (6) and (7) respectively.
 
 w   1   =y   v     1   (mod  p )  (6)
 
η 1 =(ƒ(ID 1 ,time)− v   1   w   1 ) s   1   −1 (mod  p− 1)  (7)
 
   In Equation (7), ID 1  is ID information of the party A and time is time information of the time of generating Equation (7). 
   Step 3). The party A generates a message (ID 1 , r 1 , w 1 , η 1 , time) and sends the message to the session participating parties B and C. 
   Step 4). The session participating parties B and C receive the message (ID 1 , r 1 , w 1 , η 1 , time) and determine whether the message satisfies the following Equation (8).
 
 y   ƒ(ID     1     ,time)   =w   1   w     1   (α EID     1     r   1   −r     1   ) η     1   (mod  p )  (8)
 
where EID 1 =f(ID 1 ).
 
   If the message is sent by a valid session initiating party, it satisfies Equation (8). If the message is sent by an invalid session initiating party, it does not satisfy Equation (8). Therefore, the validity of the message sent by the party A can be completely determined using Equation (8). If Equation (8) is satisfied, the protocol proceeds to the next step. Otherwise, the protocol is terminated. 
   Step 5). The session participating parties B and C select integers VB and v C , which are co-prime to p−1, between integers 1 and p−1, respectively. 
   Step 6). The session participating parties B and C generate their own parameters w j , n j , and η j  using the selected integer v j  (j=B, C), as represented by the following Equations (9) through (11).
 
 w   j   =y   v     j   (mod  p )  (9)
 
 n   j   =w   1   w     j   (mod  p )  (10)
 
η j =( n   j   −v   j   w   j ) s   j   −1 (mod  p− 1)  (11)
 
   Step 7). The session participating parties B and C each generate their own message (ID j , r j , w j , n j , η j ) and send the message to the session initiating party A. 
   Step 8). The session initiating party A determines that each message satisfies the following Equation (12) using the variables received from the session participating parties B and C, respectively.
 
 y   n     j     =w   j   w     j   (α EID     j     r   j   −r     j   ) η     j   (mod  p )  (12)
 
where EID j =f(ID j ).
 
   If the message is sent by a valid session participating party, it satisfies Equation (12). If the message is sent by an invalid session participating party, it does not satisfy Equation (12). Therefore, the validity of the message sent by the session participating parties B and C can be completely determined using Equation (12). If Equation (12) is satisfied, the protocol proceeds to the next step. Otherwise, the protocol is terminated. 
   Step 9). The session initiating party A selects an integer r between 1 and p−1 and generates a shared key K C  and a variable z j  represented by the following Equations (13) and (14), respectively.
 
 K   C   =y   r (mod  p )  (13)
 
 z   j   =n   j   v     1       −1     r (mod  p )  (14)
 
   Step 10). The session initiating party A generates E Kc (ID 1 ) by encrypting its own ID information ID 1  with the shared key K C . Here, E is an encryption algorithm. 
   Step 11). The session initiating party A sends a message (z j , E Kc (ID 1 )) to parties who have sent a message satisfying Equation (12). 
   Step 12). The party j calculates an inverse element v j   −1  of the integer v j  in modulo p−1 and the shared key K C  using the inverse element v j   −1 , as represented by the following Equation (15).
 
 K   c =( z   j ) v     j       −1   (mod  p )  (15)
 
   E Kc (ID 1 ) is decrypted with the shared key K C  obtained from Equation (15). If ID 1  is valid, the encryption protocol using the shared key K C  proceeds. If not, the protocol is terminated. 
   Unfortunately, Xu and Tilborg&#39;s multi-party key sharing protocol performed through the aforementioned steps cannot prevent a disguised attack or ensure forward secrecy. Both of these features are important in a multi-party key sharing protocol. 
   A disguised attack is made by an attacker who utilizes ID information of a party participating the session to intervene in the protocol. In this case, it is necessary to detect and prevent the disguised attack. However, Xu and Tilborg&#39;s protocol cannot detect the disguised attack. This is because the following Equation (16) is satisfied using the parameters w j  and n j  with the same variable v j , as represented by Equations (9) and (10).
 
n j =w j   v     t     (16)
 
   The attacker generates a shared key K C ′ and a variable z j ′ represented by the following Equations (17) and (18), respectively, in Step 9), encrypts ID information ID 1  using the shared key K C ′ and variable z j ′, and sends a message (z j ′, E Kc′ (ID 1 )) to the session participating parties.
 
 K   C   ′=y   r′ (mod  p )  (17)
 
 z   j   ′=w   j   r′ (mod  p )  (18)
 
   The session participating parties perform the protocol, mistaking the message for a valid message. This is because the shared key K C ′ is calculated using the following Equation (19), and the ID information ID 1  is obtained by decrypting E Kc′ (ID 1 ) using the shared key K C ′.
 
 K   C ′=( z′   j ) v     j       −1   (mod  p )  (19)
 
   In addition, the attacker calculates the shared key K C ′ and the variable z j ′ represented by the following Equations (20) and (21), respectively, in Step 9), encrypts ID information ID 1  using the shared key K C ′ and variable z j ′, and sends a message (z j ′, E Kc′ (ID 1 )) to the session participating parties.
 
 K   C   ′=w   1   r′ (mod  p )  (20)
 
 z   j   ′=n   j   r′ (mod  p )  (21)
 
   The session participating parties perform the protocol, mistaking the message for a valid message. This is because the shared key K C ′ is calculated using the following Equation (22), and the ID information ID 1  is obtained by decrypting E Kc′ (ID 1 ) using the shared key K C ′
 
 K   C ′=( z   j ′) v     j       −1   (mod  p )  (22)
 
   The reason that the session participating parties cannot detect the attacker&#39;s disguised attack is that each party receiving the variables z j  generates the session shared keys using only its own selected integer v j , irrespective of the session initiating party&#39;s selected integer v 1 . Accordingly, there is a need to improve the method of generating the variables z j . 
   Forward secrecy is secrecy that, when permanent secret keys (long term keys) s i (i=A, B, C) for more than one party participating the protocol are revealed, the attacker cannot determine information regarding keys of past sessions using the revealed long term keys. If a permanent secret key is revealed in a cryptographic system in which forward secrecy is not ensured, all data in past encryption sessions may be revealed, even if a new secret key is generated. 
   In Xu and Tilborg&#39;s protocol, the secret value v j  used to obtain the shared key in Equation (15) is used in Equation (11) as it is. If a secret key s j  of a session participating party j is revealed, and if the attacker obtains messages sent at a past session, he can calculate the secret value v j  using Equation (11) using the known values of the parameters w j , n j , and η j , and the past shared key using Equation (15). As a result, the secrecy for the data encrypted in the past session cannot be ensured. 
   In addition, there is a potentially weak point in Xu and Tilborg&#39;s protocol in which the signature for authentication may be forged. Comparing Equations (9) and (11) with Schnorr&#39;s signature generation method, the parameter n j  corresponds to a message and the parameters w j  and η j  correspond to signature values, respectively. In general, the signature value generation performed by applying a hash function to the message at the time of writing the signature is considered an indispensable procedure in order to prevent signature forgeries. 
   On the other hand, when the attacker knows the values of the parameters w j , n j , and η j , the parameters w j ′, n j ′, and η j ′ satisfying Equation (12) can be generated, as represented by Equations (23) through (25).
 
 w   j ′=( w   j ) t (mod  p− 1)  (23)
 
n j ′=n j tw j   (24)
 
η j ′=η j tw j   (25)
 
In this case, there is a potentially weak point in that an attacker can be disguised, although he cannot share the key.
 
     FIG. 2  is a flowchart illustrating steps of a conference session key distribution method according to the present invention. The parties involved in the key distribution method are classified into a session initiating party A and session participating parties B, C, D, . . . . In the protocol, the session initiating party is sometimes called a chairperson, because the session initiating party seems to preside over a meeting. 
   In the ID-based cryptographic system, a conference session key distribution protocol includes an ID-based cryptographic system implementation step and a key sharing protocol step. The ID-based cryptographic system is constructed with a signature providing system. In the system, if a public key can be derived from personal ID information or is previously provided, the public key may not be sent. On the other hand, if the public key information is needed, e.g., when a signature is to be authenticated, the public key is sent. 
   Now, exemplary embodiments of the key sharing protocol used in the ID-based cryptographic system proposed by Harn and Yang will be described. 
   All the parties participating the session know public key parameters G, p, q, α, y and f. The parameter G, which is a partial group of a group GF(P)*, is a finite group having the sufficiently large prime number p as an order. The parameter q is a sufficiently large prime number, and the associated integer q−1 has p as its factor. In this embodiment, an operation with respect to the group G is a multiplication. The group G has the parameter α as its generation source. The parameter y is a public key of KAC. The parameter f is a hash function. Each party i (i=A, B, C, . . . ) has a secret key s i  and a public key r i  provided by KAC. 
   In Harn and Yang&#39;s cryptographic system, the ID information, the public key and the secret key satisfy the following Equation (26).
 
 y   s     i   =α ƒ(ID     i     ) ( r   i   r     i   ) −1  mod  q   (26)
 
   The steps of the shared key distribution method according to an embodiment of the present invention are as follows. 
   The party A randomly selects two numbers u 1  and v 1  between integers 1 and p−1. The two numbers u 1  and v 1  become temporary secret keys for the session. If an operational time interval of the random function is longer than that of the hash function, a value obtained by hashing the temporary secret key u 1  may be used as the temporary secret key v 1  in order to reduce the operational time interval. 
   The temporary public keys w 1  and n 1 , represented by the following Equations (27) and (28), respectively, are generated using the temporary secret keys u 1  and v 1  in step S 100 .
 
 w   1   =y   v     1   (mod  q )  (27)
 
 n   1   =w   1   u     1   (mod  q )  (28)
 
These are the temporary public keys in the session.
 
   The signature value η i , represented by the following Equation (29), is generated using the temporary secret keys u 1 , v 1 , the temporary public keys w 1 , n 1 , a permanent secret key s 1 , the ID information ID 1  of the party A, and time information time in step S 110 . The function of Equation (29) is referred to as a signature function.
 
η 1 =(ƒ( n   1 ,ID 1 ,time)− v   1   w   1 ) s   1   −1 (mod  p )  (29)
 
   The party A generates a message (ID 1 , r 1 , w 1 , n 1 , η 1 , time)  5  and sends the message  5  to the session participating parties in step S 120 . 
   The session participating parties receive the message (ID 1 , r 1 , w 1 , n 1 , η 1 , time)  5  and determine whether the message  5  satisfies the following Equation (30) in step S 200 .
 
 y   ƒ(n     1     ,ID     1     ,time)   =w   1   w     1   (α EID     1     r   1   −r     1   ) η     1   (mod  q )  (30)
 
where EID 1 =f(ID 1 ).
 
   Step  210  determines whether the signature is valid. If the message is sent by a valid session initiating party, it satisfies Equation (30). If the message  5  is sent by an invalid session initiating party, it does not satisfy Equation (30). Therefore, the validity of the message sent by the party A can be completely determined using Equation (30). If Equation (30) is satisfied, the protocol proceeds to the next step. Otherwise, the protocol is terminated. 
   Each session participating party randomly selects two-integers u j  and v j  (j=B, C, D, . . . ) between integers 1 and p−1. The two integers become temporary secret keys of the corresponding session participating party. If an operational time interval of the random function is longer than that of the hash function, a value obtained by hashing the temporary secret key u j  may be used as the temporary secret key v j , in order to reduce the operational time interval. 
   The temporary public keys w j  and n j , represented by the following Equations (31) and (32), respectively, are generated using the temporary secret keys u j  and v j  of each session participating party in step S 220 .
 
 w   j   =y   v     j   (mod  q )  (31)
 
 n   j   =w   1   u     j   (mod  q )  (32)
 
These temporary public keys become parameters for generating session keys.
 
   The signature value η j , given by the following Equation (33), is generated by applying u j , v j , the temporary public keys w j , n j , a permanent secret key s j , and the ID information ID j  of the party j (=B, C, D, . . . ) to the signature function in step S 230 .
 
η j =(ƒ( n   j )− v   j   w   j ) s   j   −1 (mod  p )  (33)
 
   Each session participating party generates its own message (ID j , r j , w j , n j , η j )  10 , and sends the message  10  to the session initiating party A in step S 240 . 
   The session initiating party A receives the message  10  from each session participating party, and determines whether the message  10  satisfies the following Equation (34) using the received variables in step S 300 .
 
 y   ƒ(n     j     )   =w   j   w     j   (α EID     j     r   j   −r     j   ) η     j   (mod  q )  (34)
 
where EID j =f(ID j ).
 
   If the message  10  is sent by a valid session participating party, it satisfies Equation (34). If the message  10  is sent by an invalid session participating party, it does not satisfy Equation (34). Therefore, the validity of the message sent by each session participating party can be completely determined using Equation (34). In step S 310 , if Equation (34) is satisfied, the protocol proceeds to the next step. Otherwise, the protocol is terminated. 
   The session initiating party A generates a shared key K C  and a variable z j , which is used for generating the shared keys in the session participating parties, represented by the following Equations (35) and (36), respectively in step S 320 .
 
 K   C   =n   1   u     1   (mod  q )  (35)
 
 z   j =( n   1   ·n   j ) u     1   (mod  q )  (36)
 
The session initiating party A generates E Kc (ID 1 ) by encrypting its own ID information ID 1  with the shared key K C  in step S 330 . Here, E is an encryption algorithm.
 
   In step  340 , the session initiating party A sends the message (z j , E Kc (ID 1 ))  15  to the session participating parties which have sent messages determined to be valid in step S 310 . 
   In step S 400 , the session participating parties receiving the message  15  calculate shared keys K C  in accordance with the following Equation (37).
 
 K   C   =z   j ·( n   1   u     j   ) −1 (mod  q )  (37)
 
   The ID information is obtained by decrypting E Kc (ID 1 ) with the shared key K C  obtained from Equation (37) in step S 410 . In step S 420 , it is determined whether ID 1  is identical to the ID information ID 1  received in the message  15 . If the ID information of the session initiating party A is identical, the encryption protocol using the shared key K C  proceeds. If not, the protocol is terminated. 
   Now, exemplary embodiments of the key sharing protocol according to the present invention used in the ID-based cryptographic system using a Weil Pairing function defined in an elliptic curve encryption group will be described. 
   All the parties participating the session know public key parameters G, p, q, α, y, e, f 1 , f 2 , and f 3 . The parameter G is a finite group having a sufficiently large prime number p as an order. The group G has the parameter α as its generation source. The parameter y is a public key of KAC. The parameter e is a Weil Pairing function defined in an elliptic curve. The parameters f 1  and f 2  are hash functions defined in the integer field. The parameter f 3  is a hash function defined in the group G. In this embodiment, an operation with respect to the group G is an addition. The expression [x]y is a value of x-times addition on the element y of the group G. 
   Each party i (i=A, B, C, . . . ) has a secret key s i  and a public key r i  provided by KAC. The public key r i  is a value derived from the ID information ID i  of each party i. The secret key s i  is calculated using the following Equation (38).
 
 s   i   =[s]·r   i   (38)
 
   The value s in Equation (38) is known to only the KAC and satisfies the following Equation (39).
 
y=[s]α  (39)
 
   Steps of the shared key distribution method according to an embodiment of the present invention are as follows. 
   The party A randomly selects two numbers u 1  and v 1  between 1 and p−1. The two numbers u 1  and v 1  become temporary secret keys for the session. In a case where an operational time interval of the random function is longer than that of the hash function, a value obtained by hashing the temporary secret key u 1  may be used as the temporary secret key v 1  in order to reduce the operational time interval. 
   The temporary public keys w 1  and n 1  represented by the following Equations (40) and (41), respectively, are generated using the temporary secret keys u 1  and v 1  in step S 100 .
 
w 1 [v 1 ]α  (40)
 
n 1 =[u 1 ]w 1   (41)
 
   The signature value η 1 , determined by the following Equation (42), is generated using the temporary secret keys u 1 , v 1 , the temporary public keys w 1 , n 1 , a permanent secret key s 1 , the ID information ID 1  of the party A, and time information time in step S 110 .
 
η 1   =[v   1   −1 ]([ƒ 2 (ƒ 3 ( n   1 ),ID 1 ,time)]α+[ƒ 3 ( w   1 )] s   1 )  (42)
 
   The party A generates a message (ID 1 , w 1 , n 1 , η 1 , time)  5  and sends the message  5  to the session participating parties in step S 120 . 
   The session participating parties receive the message (ID 1 , w 1 , n 1 , η 1 , time)  5  and determine whether the message  5  satisfies the following Equation (43) in step S 200 .
 
 e ( w   1 ,η 1 )= e (α,[ƒ 2 (ƒ 3 ( n   1 ),ID 1 ,time)]α)· e ( y,[ƒ   3 ( w   1 )] r   1 )  (43)
 
   If the message  5  is sent by a valid session initiating party, it satisfies Equation (43). If the message  5  is sent by an invalid session initiating party, it does not satisfy Equation (43). Therefore, the validity of the message sent by the party A can be completely determined using Equation (43). If Equation (43) is satisfied, the protocol proceeds to the next step. Otherwise, the protocol is terminated in step S 210 . 
   Each session participating party randomly selects two integers u j  and v j  (j=B, C, D, . . . ) between 1 and p−1 as its temporary secret keys, and generates its temporary public keys w j  and n j  represented by the following Equations (44) and (45), respectively, in step S 220 . The temporary public keys become parameters used for generating the session key. If an operational time interval of the random function is longer than that of the hash function, a value obtained by hashing the temporary secret key u j  may be used as the temporary secret key v j  in order to reduce the operational time interval.
 
w j =[v j ]α  (44)
 
n j =[u j ]w 1   (45)
 
   The signature value η j  represented by the following Equation (46) is generated by applying the temporary secret keys, the temporary public keys, a permanent secret key, and the ID information ID j  of the party j (j=B, C, D, . . . ) to the signature function in step S 230 ).
 
η j   =[v   j   −1 ]([ƒ 3 ( n   j )]α+[ƒ 3 ( w   j )] s   j )  (46)
 
   Each session participating party generates its own message (ID j , w j , n j , η j )  10  and sends the message  10  to the session initiating party A in step S 240 . 
   The session initiating party A receives the message  10  from each session participating, and determines that the message satisfies the following Equation (47) using the received variables in step S 300 .
 
 e ( w   j ,η j )= e (α,[ƒ 3 ( n   j )]α)· e ( y,[ƒ   3 ( w   j )] r   j )  (47)
 
   If the message  10  is sent by a valid session participating party, it satisfies Equation (47). If the message  10  is sent by an invalid session participating party, it does not satisfy Equation (47). Therefore, the validity of the message sent by each session participating party can be completely determined using Equation (47). In step S 310 , if Equation (47) is satisfied, the protocol proceeds to the next step. Otherwise, the protocol is terminated. 
   In step  320 , the session initiating party A generates a shared key K C  and a variable z j , which is used for generating the shared keys in the session participating parties, represented by the following Equations (48) and (49), respectively.
 
K C =[u 1 ]n 1   (48)
 
 z   j   =[u   1 ]( n   1   +n   j )  (49)
 
   In step S 330 , the session initiating party A generates E Kc (ID 1 ) by encrypting its own ID information ID 1  with the shared key K C . Here, the symbol E is an encryption algorithm. 
   In step S 340 , the session initiating party A sends the message (z j , E Kc (ID 1 ))  15  to the session participating parties which have sent messages determined to be valid in step S 310 . 
   In step S 400 , the session participating parties receiving the message  15  calculate shared keys K C  represented by the following Equation (50).
 
 K   C   =z   j   −[u   j   ]n   1   (50)
 
   The ID information is obtained by decrypting E Kc (ID 1 ) with the shared key K C  obtained from Equation (50) in step S 410 . In step S 420 , it is determined whether ID 1  is identical to the ID information ID 1  received in the message  5 . If the ID information of the session initiating party A is identical, the encryption protocol using the shared key K C  proceeds. If not, the protocol is terminated. 
   According to the exemplary embodiments of the shared key distribution method of the present invention, it is possible to prevent the disguised attack by generating two different temporary secret keys in Steps S 100  and S 220  in order for the attacker not to know the values of the two temporary secret keys, and using the temporary secret keys of the session initiating party at the time of generating the session key generation variables Z j . In addition, it is possible to ensure the forward secrecy by preventing the attacker from calculating the past session shared keys even in a case where the attacker may know the permanent secret keys of the parties participating the session. Further, it is possible to prevent the attacker from being disguised without sharing keys by solving the potentially weak point in Xu and Tilborg&#39;s protocol. Since there is no increase in calculation amount, the protocol of the present invention is more effective than the conventional protocol. 
   According to the shared key distribution method of the present invention, it is possible to provide an effective ID-based cryptographic system capable of preventing a disguised attack and ensuring a forward secrecy by selecting two different temporary secret keys, generating a message and generating session key generation variables using temporary secret keys of a session initiating party. 
   The present invention can be implemented with codes recorded on a computer-readable storage medium. As used herein, “computer” includes all apparatuses having data processing functions. The computer-readable storage media includes all kinds of recording apparatuses which can be read by computers. Examples of computer-readable apparatuses include ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices. 
   Exemplary embodiments of the present invention have been disclosed herein, and although specific terms are employed, they are used and are to be interpreted in a generic and descriptive sense only and not for purpose of limitation. Accordingly, it will be understood by those of ordinary skill in the art that various changes in form and details may be made without departing from the spirit and scope of the present invention as set forth in the following claims.