The present invention relates to a cryptographic system; and, more particularly to, a method and apparatus for generating and verifying an identity (ID) based proxy signature by using bilinear pairings.
In a public key cryptosystem, each user may possess two keys, i.e., a private key and a public key. A binding between the public key (PK) and the identity (ID) of a user is obtained via a digital certificate. In such a certificate-based public key system, however, before using the public key of the user, a participant must first verify the certificate of the user. As a consequence, a large amount of computing time and storage is required in this system because of its need to store and verify each user's public key and the corresponding certificate.
In 1984, Shamir published ID-based encryption and signature schemes to simplify key management procedures in a certificate-based public key setting (A. Shamir, “Identity-based cryptosystems and signature schemes”, Advances in Cryptology-Crypto 84, LNCS 196, pp.47-53, Springer-Verlag, 1984.). Since then, many ID-based encryption schemes and signature schemes have been proposed. The main idea of ID-based cryptosystems lay in using the identity information of each user works as his or her public key; that is, the user's public key may be calculated directly from his or her identity rather than being extracted from a certificate issued by a certificate authority(CA).
Therefore, the ID-based public key setting need not perform such processes as transmission of certificates and verification of certificates needed in the certificate-based public key settings. The ID-based public key settings may be an alternative to the certificate-based public key settings, especially when efficient key management and moderate security are required.
The bilinear pairings, namely the Weil pairing and the Tate pairing of algebraic curves, are important tools for researching algebraic geometry. Early applications of the bilinear pairings in cryptography focused on resolving discrete logarithm problems. For example, the MOV (Meneze-Okamoto-Vanstone) attack (using the Weil pairing) and FR (Frey-Ruck) attack (using the Tate pairing) reduce the discrete logarithm problems on certain elliptic or hyperelliptic curves to the discrete logarithm problems in a finite field. Recently, the bilinear pairings have found various applications in cryptography as well.
Specifically, the bilinear pairings are basic tools for constructing the ID-based cryptographic schemes and many ID-based cryptographic schemes have been proposed using them. Examples of using the bilinear pairings in ID-based cryptographic schemes include: Boneh-Franklin's ID-based encryption scheme (D. Boneh and M. Franklin, “Identity-based encryption from the Weil pairing”, Advances in Cryptology-Crypto 2001, LNCS 2139, pp.213-229, Springer-Verlag, 2001.), Smart's ID-based authentication key agreement protocol (N. P. Smart, “Identity-based authenticated key agreement protocol based on Weil pairing”, Electron. Lett., Vol.38, No.13, pp.630-632, 2002.), and several ID-based signature schemes.
The idea of using proxy signature was introduced by Mambo, Usuda and Okamoto (M. Mambo, K. Usuda, and E. Okamoto, Proxy signature: Delegation of the power to sign messages, IEICE Trans. Fundamentals, Vol. E79-A, No. 9, September, pp. 1338-1353, 1996.). A proxy signature scheme comprises three entities: an original signer, a proxy signer and a verifier. If the original signer wants to delegate signing capability to the proxy signer, the original signer uses an original signature key to create a proxy signature key which will then be sent to the proxy signer. The proxy signer may then use the proxy signature key to sign messages on behalf of the original signer. The verifier may be convinced that the signature is generated by an authorized proxy signer of the original signer.
There are three types of delegation: full delegation, partial delegation and delegation by warrant. After Mambo et al.'s first scheme was announced, many proxy signature schemes have been proposed. S. Kim et al., for example, gave a new type of delegation called partial delegation with warrant (S. Kim, S. Park, and D. Won, Proxy signatures, revisited, ICICS '97, LNCS 1334, Springer-Verlag, pp. 223-232, 1997.), which may be considered as a combination of the partial delegation and the delegation by warrant. In the present invention, an ID-based proxy signature scheme using the partial delegation with warrant is provided.
It is, therefore, a primary object of the present invention to provide a method and apparatus for generating an identity based proxy signature by using bilinear pairings. In accordance with one aspect of the present invention, there is provided a method for generating and verifying an identity-based proxy signature by using bilinear pairings, comprising the steps of: (a) generating system parameters, selecting a master key and then disclosing the system parameters by a trust authority; (b) generating private keys of an original signer and proxy signer based on the original signer's identity and proxy signer's identity, respectively, and then transferring the original signer's private key and proxy signer's private key to the original signer and proxy signer, respectively, through a secure channel by the trust authority; (c) receiving and storing the system parameters and the original signer's private key by the original signer, receiving and storing the system parameters and the proxy signer's private key by the proxy signer and receiving and storing the system parameters by a verifier; (d) generating a signed warrant, computing values for verifying the signature of the signed warrant by using at least one of the system parameters and then transferring the signed warrant and the values to the proxy signer by the original signer; (e) verifying the signature of the signed warrant by using the values and an original signer's public key based on the original signer's identity and then generating a proxy signature key by the proxy signer; (f) proxy-signing a delegated message by using the proxy signature key by the proxy signer; and (g) verifying the validity of the proxy signature by using at least one of the system parameters and a proxy signer's public key based on the proxy signer's identity by the verifier.
In accordance with another aspect of the present invention, there is provided an apparatus for generating and verifying an identity-based proxy signature by using bilinear pairings, comprising: means for generating system parameters, selecting a master key and then disclosing the system parameters by a trust authority; means for generating private keys of an original signer and proxy signer based on the original signer's identity and proxy signer's identity, respectively, and then transferring the original signer's private key and proxy signer's private key to the original signer and proxy signer, respectively, through a secure channel by the trust authority; means for receiving and storing the system parameters and the original signer's private key by the original signer, receiving and storing the system parameters and the proxy signer's private key by the proxy signer and receiving and storing the system parameters by a verifier; means for generating a signed warrant, computing values for verifying the signature of the signed warrant by using at least one of the system parameters and transferring the signed warrant and the values to the proxy signer by the original signer; means for verifying the signature of the signed warrant by using the values and an original signer's public key based on the original signer's identity and then generating a proxy signature key by the proxy signer; means for proxy-signing a delegated message by using the proxy signature key by the proxy signer; and means for verifying the validity of the proxy signature by using at least one of the system parameters and a proxy signer's public key based on the proxy signer's identity by the verifier.
The above and other objects and features of the present invention will become apparent from the following description of preferred embodiments given in conjunction with the accompanying drawings, in which:
Referring to
The original signer 100 may receive the system parameters and the original signer's private key provided by the trust authority 300. Then the original signer 100 may store or hold them in a storage media.
Meanwhile, the proxy signer 400 may receive the system parameters and the proxy signer's private key provided by the trust authority 300. Then the proxy signer 400 may store or hold them in a storage media.
Meanwhile, the verifier 200 may receive the system parameters provided by the trust authority 300 which is stored or held in a storage media.
Referring now to
G1 denotes a cyclic additive group generated by P, whose order is a prime q, and G2 denotes a cyclic multiplicative group of the same order q. Discrete logarithm problems in both G1 and G2 are considered to be hard. Assuming e: G1 ×G1→G2 is a pairing that may satisfy the following conditions:
During a process of generating the system parameters and master key, which is performed by the trust authority 300, the cyclic groups G1 and G2 having order of q, respectively, may be generated. Then P (the generator of G1) and e: G1×G1→G2 (a pairing of the two cyclic group G1 and G2) may be generated. In the embodiment according to the present invention, G1 is an elliptic curve group or hyperelliptic curve Jacobians and G2 uses cyclic multiplicative group Zq*. Then, the trust authority 300 selects an integer s belonging to Zq* as a master key and computes Ppub=s·P. Additionally, the trust authority 300 selects hash functions H1: {0,1}*→Zq* and H2: {0,1}*→G1. Then, the trust authority 300 may disclose or publish the system parameters. More precisely, the trust authority 300 may disclose <G1, G2, e, q, P, Ppub, H1 and H2> as the system parameters that the original signer 100, the verifier 200 and the proxy signer 400 may share (step 201).
Thereafter, the trust authority 300 may generate the private keys of the original signer and the proxy signer based on the original signer's identity and the proxy signer's identity, respectively. If A is the original signer's identity, the original signer's private key may be SA=s·QA, where QA is an original signer's public key described by QA=H2(A). When B is the proxy signer's identity, the proxy signer's private key may be SB=s·QB, where QB is a proxy signer's public key described by QB=H2(B). Then, the trust authority 300 may transfer the original signer's private key and the proxy signer's private key to the original signer and the proxy signer, respectively, through a secure channel (step 202).
The original signer 100 may receive and store the system parameters and the original signer's private key. The proxy signer 400 may receive and store the system parameters and the proxy signer's private key. The verifier 200 may receive and store the system parameters (step 203).
During a process of generating the proxy signature, the original signer 100 may generate a signed warrant, compute values for verifying the signature of the signed warrant and transfer the signed warrant and the values to the proxy signer 400 (step 204).
The original signer 100 may use Hess's ID-based signature scheme (F. Hess, Efficient identity based signature schemes based on pairings, SAC 2002 LNCS 2595, pp. 310-324, Springer-Verlag, 2002.) to make a signed warrant mw. Of course, another ID-based signature scheme may be selected as a basic signature scheme. There is an explicit description of a delegation relation in the warrant mw. The original signer 100 may compute values for verifying the signature of the signed warrant. The original signer 100 may choose an integer k belonging to Zq* and compute rA=e(P, P)k, cA=H1(mw∥rA) and UA=cASA+kP. Then, the original signer 100 may send (mw, cA, UA) to the proxy signer 400.
In step 205, the proxy signer 400 may verify the validity of the signature on the signed warrant and then generate a proxy signature key. The proxy signer 400 may compute rA=e(UA, P)e(QA, Ppub)−c
Subsequently, in step 206, the proxy signer 400 may sign a delegated message using the proxy signature key SP. The proxy signer 400 may use the Hess's ID-based signature scheme (taking SP as a signing key) and obtain a signature (cP, UP) for any delegated message m. Here, (cP, UP) may be calculated by using equations, i.e., cP=H1(m∥rP) and UP=cPSP+kPP, where rP is rP=e(P, P)k
During a process of verification in step 207, the verifier 300 may compute rP=e(UP, P) (e(QA+QB, Ppub)H
A secure channel for delivery of the signed warrant is not required in the embodiment according to the present invention. More precisely, the original signer 100 may send (mw, cA, UA) to the proxy signer 400 through a public channel; that is, any third adversary may get the original signer's signature on the warrant mw. Forging the proxy signature on the message m' may be equivalent to forging a Hess's ID-based signature with a public key.
While the invention has been shown and described with respect to the preferred embodiments, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2003-0045217 | Jul 2003 | KR | national |