Key Agreement Protocol Without Using A One-Way Function
<Abstract>
MQV key agreement protocol is currently under consideration by the IEEE P1363 Committee to become a standard. MQV protocol used a digital signature to sign the Diffie-Hellman public keys without using any one-way function. In this paper, we generalize MQV protocol in three aspects. First, signature variants for Diffie-Hellman public keys that were developed most recently are employed in the new protocol. Second, we allow two communication entities to establish multiple secret keys in two-pass interaction. Third, we simplify the key computations.
Diffie and Hellman [1] proposed the well-known public-key distribution scheme based on the discrete logarithm problem in 1976 to enable two parties to establish a common secret session key based on their exchanged public keys. But their original scheme still needs an authentication channel to exchange the public keys. Since then, several key exchange protocols [2, 3], which utilize digital signatures of these exchanged public keys to provide authentication, to allow two parties to share a common key have been proposed. In these protocols, the Diffie-Hellman public keys have been treated as messages and one-way hash values of these public keys also need to be computed. Digital signatures need to be generated based on these one-way hash values; otherwise forgery can be easily achieved.
Since Diffie-Hellman public key is obtained by computing an exponential function and the exponential function itself is a well-known one-way function, signature schemes for Diffie-Hellman public keys without using any one-way function have been proposed recently [4]. Let us summarize the advantages of using this approach:
Property (1) is due to the fact that this approach integrates Diffie-Hellman public-key distribution scheme into a digital signature scheme. Thus, the Diffie-Hellman public keys can be used as the random number r in the ElGamal signature scheme [5].
In most approaches, a conventional one-way function is needed in any digital signature scheme. Without using a secure one-way function, a digital signature can be easily forged. There exists a major difference of security assumptions between digital signature schemes and conventional one-way functions. The security assumption of most signature schemes are based on some well-known computational problems, such as the discrete logarithm problem, the factoring problem, etc. However, the security of most conventional one-way functions is based on the complexity of analyzing a simple iterated function. Since most computational problems are well-known and easy to understand, the security of most signature schemes can withstand quite a long time. However, a one-way function may seem very difficult to analyze at the beginning; but it may turn out to be vulnerable to some special attacks later. Thus, in general, the lifetime of one-way functions is shorter than that of signature schemes. For example, recent advancement of cryptanalytic research has found that MD5 is at the edge of risking successful cryptanalytic attack [6]. Instead of relying overall security on the weaker assumption between the signature scheme and the one-way function, the security of our proposed schemes is based on the discrete logarithm problem only. Thus, the security is easy to analyze.
The MQV key agreement protocol proposed by Menezes, Qu and Vanstone [7] in 1995 is probably the first key agreement protocol that utilized a signature for the Diffie-Hellman public key without using a one-way function. MQV key agreement protocol is currently under consideration to become a standard in the IEEE P1363 committee [8]. In this paper, we generalize MQV protocol in three aspects. First, signature variants for Diffie-Hellman public keys that were developed most recently are employed in the new protocol. Second, we allow two communication entities to establish multiple secret keys in two-pass interaction. Third, we simplify the key computations.
2. Digital Signature Schemes for Diffie-Hellman Public Keys
The Diffie-Hellman public key is r = ak mod p, where k is a secret random integer within [1, p-2] privately selected by the signer, p is a large prime and a is a primitive number in GF(p). We can call these random parameters, k and r, as short-term private key and short-term public key, respectively. In order to sign this Diffie-Hellman public key r, the signer needs to use the long-term private key x and the long-term public key y= ax mod p.
We list four signature variants for signing Diffie-Hellman public keys from [4]. These variants are the most efficient variants since each of them permutes four parameters {r, s, k, x} directly. The signer needs to use its short-term and long-term secret keys, k and x, to generate the signature s for the Diffie-Hellman public key r. On the other hand, the verifier can use the signer’s long-term public key y to verify the signature s for r. Interest reader can read [4] for detail discussions. We would like to point out that the MQV key agreement protocol in [8] actually used one of the variants in the listed table.
|
signature equation |
signature verification |
|
|
rx=k+s mod p-1 |
yr=ras mod p |
|
|
sx=k+r mod p-1 |
ys=rar mod p |
|
|
x=rk+s mod p-1 |
y=rras mod p |
|
|
x=sk+r mod p-1 |
y=rsar mod p |
|
In the following discussion we will assume that A and B want to establish secret key(s) by using the key agreement protocol. The short-term secret key and short-term public key for A are kA and rA, and the long-term secret key and long-term public key for A are xA and yA. Similarly, B has kB, rB, xB and yB. The following key agreement protocol enables A and B to establish an authenticated secret key K.
The possible threat
One drawback of the above protocol is that it does not offer perfect forward secrecy [9]. That is, if an adversary learns one share secret key, the adversary can deduce all share secret keys between A and B. We illustrate this threat in the following discussion.
Assume that the protocol uses x=rk+s mod p-1 to sign each Diffie-Hellman’s public key. Then, we have following two equations:
xA=rA kA +sA mod p-1, and
xB=rB kB +sB mod p-1.
By multiplying these two equations, we obtain
xA xB =rA kA rB kB+ rA kA sB+sA rB kB+sA sB mod p-1.
In other words, we obtain
KAB =(KrArB)( rA rA sB)( rB rB sA)( a sA sB) mod p,
where KAB= a xA xB mod p is the long-term share secret key. Assume that the adversary knows one short-term share secret key K. Then, the adversary can solve the long-term share secret key KAB from above equation since the rest parameters are all known. Thus, the adversary can solve all other share secret keys based on the same equation.
The new protocol
In the two-pass MQV key agreement protocol, instead of using K=a kA kB=rBkA= rAkB mod p as the share secret key, it uses K=a xA kB+ xB kA =yAkB rAxB=yBkA rBxA mod p as the share secret key. The MQV protocol can provide perfect forward secrecy.
Here, we want to propose an efficient protocol that enables A and B to share multiple secret keys in two passes. For the sake of simplicity, we assume that A and B want to share four secrets in two passes.
xA=arA1rA2(kA1+kA2)+sA mod p-1.
A sends {rA1, rA2, sA, cert(yA)} to B, where cert(yA) is the public-key certificate of yA signed by a trusted party,
yB=(rB1 rB2)rB asB mod p.
Then A computes the share secret keys as
K1= rB1 kA1 mod p
K2= rB1kA2 mod p
K3= rB2kA1 mod p
K4= rB2kA2 mod p
4. Similarly, B computes arA1rA2 mod p first and verifies {rA1, rA2}. Then, B computes the share secret keys as
K1= rA1kB1 mod p
K2= rA2 kB1 mod p
K3= rA1kB2 mod p
K4= rA2kB2 mod p
Some discussions
The signatures, xA and xB, satisfy the following equations as
xA=arA1rA2(kA1+kA2)+sA mod p-1, and
xB=arB1rB2(kB1+kB2)+sB mod p-1.
By multiplying these two equations together, we obtain
xA xB= rA rB[ kA1 kB1+ kA2 kB1+ kA1 kB2+ kA2 kB2]+ sA rB(kB1+kB2)+sB rA(kA1+kA2)
+ sA sB mod p-1,
where rA=arA1rA2 mod p and rB=arB1rB2 mod p. In other words, we have
KAB=(K1 K2 K3 K4)rArB (rB1 rB2) sA rB (rA1 rA2) sB rA (a) sA sB mod p.
If the adversary knows four consecutive share secret keys, he can solve the long-term share secret KAB. In case the adversary knows the other three consecutive share secret keys, the adversary is able to derive the fourth share secret key. Thus, in order to achieve the perfect forward secrecy, we should limit ourselves to use only three out of the four share secret keys. Since one of the share secret keys has never been used, the adversary is impossible to recover the long-term share key KAB.
The protocol can be generalized to enable A and B to share n2-1 secrets if each user computes and sends n Diffie-Hellman’s public keys in each pass. Since each user only needs to generate (verify) one signature for n different Diffie-Hellman public keys and enable to share n2-1 secret keys, this new protocol is very efficient.
We have proposed a key agreement protocol that utilizes a digital signature for authenticating Diffie-Hellman public keys. We summarize some features in this new protocol:
References
[1] W. Diffie and M. E. Hellman. New direction s in cryptography. In IEEE Transactions on Information Theory, V.IT-22, No. 6, Nov. 1976, pp. 644-654.
[2] A. Arazi. Integrating a key cryptosystem into the digital signature standard. In Electronics Letters, Vol. 29, No. 11, 1993, pp. 966-967.
[3] K. Nyberg and R. A. Rueppel. Message recovery for signature scheme based on the discrete logarithm problem. In Proceeding of Eurocrypt ’94, May 1994, pp. 175-190.
[4] L. HARN. Digital signatures for Diffie-Hellman public keys without using a one-way function. In Electronics Letters, Vol. 33, No. 2, pp. 125-126, Jan. 1997.
[5] T. ElGamal. A public-key cryptosystem and a signature scheme based on discrete logarithms. In IEEE Trans. Inform. Theory, Vol. IT-31, pp. 469-472, July, 1985.
[6] H. Dobbertin. The status of MD5 after a recent attack. In CryptoBytes, Vol. 2, No. 2, 1996, pp. 1-6.
[7] A. J. Menezes, M. Qu, and S. A. Vanstone. Some key agreement protocols providing implicit authentication. Presented in the 2nd Workshop on Selected Areas in Cryptography (1995).
[8] IEEE P1363/Editirial Contribution (Draft). In http://stdsbbs.ieee.org/groups/1363/edcont.html
[9] C. H. Lim and P. J. Lee. Security of interactive DSA batch verification. In Electronics Letters, Sep. 1994, Vol. 30, No. 19, pp. 1592-1593.