Internet DRAFT - draft-matsuura-sign-mode

draft-matsuura-sign-mode



                                                   K. Matsuura, H. Imai
INTERNET-DRAFT                                      University of Tokyo
draft-matsuura-sign-mode-02.txt                           March 2, 2000
                                              Expires September 2, 2000


          A revised signature mode for the Internet Key Exchange
                   <draft-matsuura-sign-mode-02.txt>

Status of this Memo

     This document is an Internet-Draft and is in full conformance with
     all provisions of Section 10 of RFC2026.

     Internet-Drafts are working documents of the Internet Engineering
     Task Force (IETF), its areas, and its working groups.  Note that
     other groups may also distribute working documents as
     Internet-Drafts.

     Internet-Drafts are draft documents valid for a maximum of six
     months and may be updated, replaced, or obsoleted by other
     documents at any time.  It is inappropriate to use Internet-
     Drafts as reference material or to cite them other than as
     "work in progress."

     The list of current Internet-Drafts can be accessed at
     http://www.ietf.org/ietf/1id-abstracts.txt

     The list of Internet-Draft Shadow Directories can be accessed at
     http://www.ietf.org/shadow.html.


   1. Abstract

   Phase 1 of the Internet Key Exchange (IKE) [HC98] has several modes
   with different number of message passes. For those who want to save
   their bandwidth, three-pass Aggressive Mode is a good choice since
   it has minimal number of message passes in Phase 1.

   The public-key primitive method in Aggressive Mode provides
   significant security advantages over the other alternatives and
   should be the method of choice in many implementations. In this
   method, however, the responder must pay computational cost as
   expensive as modular exponentiation BEFORE identifying the
   initiator. This feature can be abused by malicious initiators for a
   Denial-of-Service (DoS) attack. The purpose of this document is to
   solve this problem in digital-signature method by using falling-
   together (FT) mechanism [MI98], [MI99] in conjunction with
   stateless-connection technique [AN97] and an appropriate use of
   Cookies [KS99].


   Remark: This document is NOT self-contained, it is intended as an
   addendum to the authentication methods defined in [HC98]. In
   particular, it uses notation and definitions of [HC98]. Thus, it is
   best read in conjunction with [HC98].

Expires September 2, 2000                                      [Page 1]
INTERNET DRAFT                                            March 2, 2000


   2. Introduction

   The IKE protocol [HC98] defines three alternative methods of
   carrying out Phase 1 of the key exchange in Aggressive Mode. Three
   of these methods are usable by parties that have not shared a secret
   key yet: the Signature Method (Section 5.1 in [HC98]), the
   Encryption Method (Section 5.2 in [HC98]), and the Revised
   Encryption Method (Section 5.3 in [HC98]). These methods are
   vulnerable to a DoS attack.

   In the Signature Method, the protocol requires the responder to
   generate a digital signature with heavy computation BEFORE
   identifying the initiator. For example, RSA public-key primitives
   are recommended to be supported in IKE implementations, and
   generation of RSA signatures costs much more than their verification
   due to the deployment of a relatively larger exponent in signature
   generation. This motivates a DoS attacker to launch tremendous
   number of arbitrary requests. Even if the signature generation is
   inexpensive, the responder must verify the signature for a fake
   acknowledgment message. It is sufficient that the attacker has the
   possibility to send fake messages, nothing else is required; the
   fake requests must follow the format specified in the protocol but
   do not have to really generate/verify any signatures.

   In the Encryption Method, the protocol requires the responder to
   decrypt two public-key encrypted payloads BEFORE identifying the
   initiator. Unfortunately, this decryption is also computationally
   expensive and therefore can be abused by an attacker. For instance,
   RSA decryption costs much more than RSA encryption due to the
   deployment of a larger exponent. Although the required number of
   decryption is reduced to be one in the Revised Encryption Method,
   honest responders can be attacked in the same scenario.

   Although an anti-clogging token Cookie is used, the current IKE
   version of Cookies fails to meet the explicit requirements for DoS-
   protection [Si99]. Regarding DoS-protection, a new mode called Base
   Mode is currently discussed [DB99]. However, it also fails since the
   responder creates states after receiving the first message.

   This document describes a simple modification of the IKE Signature
   Method. The resulting Revised Signature Method provides a deterrent
   to the DoS attack in a stateless manner. The change from the IKE
   Signature Method is basically as follows. (2) and (3) are the
   changes from the previous version of this draft.

   (1) A random fresh mateial reconstructed by the initiator's heavy
       computation is used as an additional input into the pseudo-
       random function to produce hash payload in the acknowledgement
       message. This is verified by the responder with inexpensive
       computation such as keyed hashing.

   (2) Use of Cookies conforms to [KS99] regarding the statelessness.


Matsuura, Imai        Revised signature mode for IKE           [Page 2]
INTERNET DRAFT                                            March 2, 2000

   (3) As proposed in [AN97], local symmetric-key encryption is used
       to implement DH key agreement and FT mechanism in a stateless
       manner.

   The rest of this document is organized as follows. In Section 3,
   the Revised Signature Method is described. The description is
   written in a way so that Section 3 can be read as a replacement to
   Section 5.2 in [HC98]. Section 4 specifies example algorithms in 4.1
   and mentions other possibilities in 4.2. Subsection 4.2 is appended
   to the previous version of this draft.



   3. The new method: Revised Signature Method of IKE Phase 1

   Our revised version is described as follows.


=====================================================================
        Initiator                            Responder
       -----------                          -----------
        HDR, SA, KE, Ni, IDii       -->
                                                (**1)

                                    <--    HDR, SA, KE, Nr, IDir,
                                              [ CERT, ] SIG_R,
                                              ENC(RF | xr)
                (**2)

        HDR, [ CERT, ] HASH_I*,     -->
         SIG_I, ENC(RF | xr),
          Ni, IDii, SA, Nr
                                                (**3)
=====================================================================


   The first message, a request from the initiator, is the same as that
   in the Signature Mode; the initiator sends ISAKMP header HDR
   followed by SA, keying material KE, the initiator's nonce Ni, and
   his ISAKMP ID IDii. HDR contains the initiator's Cookie CKY-I.

   (**1)
   In the second message (reply from the responder), the responder puts
   in the R-Cookie a hash of all the information which would otherwise
   create states. Some of the information is related with generation
   of the responder's Cookie CKY-R: a private secret, SA, IDii, Ni, Nr
   and CKY-I, for example (Note 1: the exact technique by which a
   negotiating party generates a Cookie is implementation dependent.
   Note 2: the current time and date are NOT included.). Another is
   related with FT mechanism and KE: RF and xr, as described in the
   following.

   When the responder generates SIG_R in the second message, he must
   use a signature scheme with the following properties:

Matsuura, Imai        Revised signature mode for IKE           [Page 3]
INTERNET DRAFT                                            March 2, 2000

    + Expensive computation in signature generation can be completed
      in advance independent of the initiator, i.e., as a pre-
      computation before receiving the request.
    + The verification procedure includes reconstruction of a random
      and fresh material, which is denoted by RF in the following.

   The default RSA signature is thus not a good choice. Desirable
   algorithms will be described in Section 4.

   In the computation of digitally-signed hash payloads, SKEYID is
   replaced with a one-way hashed value

      SKEYID' = hash(Ni | Nr)

   The resultant authenticated keying materials SKEYID_d, SKEYID_a,
   and SKEYID_e are derived not from this SKEYID' but from conventional
   SKEYID as in the Signature Method.

   RF is concatenated with a secret parameter xr (if DH public value is
   g^x) used for KE and then encrypted with a secret key. This key can
   be used for different requests (i.e., this symmetric encryption does
   not create a state). The encrypted result is sent to the initiator
   and then sent back to the responder in the next message.

   (**2)
   In the computation of the initiator's digitally-signed hash payload,
   the hash payload is replaced with a modified hash payload. The
   modified hash is defined as

      HASH_I* = prf(SKEYID',
                    g^xi | g^xr | CKY-I | CKY-R | RF | SAi_b | IDii_b).

   The acknowledgment message explicitly includes this HASH_I*; in the
   third message from the initiator, ISAKMP header is followed by the
   modified hash payload and the initiator's signature on it. A
   certificate payload CERT is optional.

   IDii, Ni, and Nr are copies of what was exchanged in the first two
   messages. SA is what the responder sent in the reply message.

   (**3)
   On receiving the acknowledgment message, the responder first
   decrypts ENC(RF | xr) and checks the hash in CKY-R by regenerating
   it from the local secret, the materials contained in the
   acknowledgment message, and the decrypted materials. If succsessful,
   the responder checks whether the modified hash really uses the
   correct RF or not; he computes HASH_I* from the decrypted RF, and
   then compares it with what is contained in the acknowledgment
   message. Then, if this is also successful, he goes on to the
   signature verification procedure.

   The signature scheme for SIG_I (on HASH_I*) does not necessarily
   the same as that for SIG_R.


Matsuura, Imai        Revised signature mode for IKE           [Page 4]
INTERNET DRAFT                                            March 2, 2000


   4. Algorithm

   4.1 Examples

   In the following, we show two example algorithms of the Revised
   Signature Method. Secret key of an entity x is denoted by SK_x
   where x is i (initiator) or r (responder). Likewise, public key of
   an entity x is denoted by PK_x.

   The first one is based on a shortened Digital Signature Standard
   (SDSS) [Z97]. As well as the original DSA (Digital Signature
   Algorithm) [K93] in DSS (Digital Signature Standard) [FIPS94],
   the shortened DSS is unforgeable by adaptive attackers under the
   assumptions that discrete logarithm is hard and that the one-way
   hash function behaves like a random function [Z97], [PS96].

    + Precomputation by the responder
        Pick an integer u randomly from [1, 2, ..., q-2], and modular
       exponentiate to obtain RF = g^u mod p where p is a large prime
       and q is a large prime factor of p-1.

    + Generation of the responder's signature
        Let g be a public integer with order q modulo p. Compute SIG_R
       as

         (s1, s2) = ( u / (hash(RF,HASH_R) + SK_r) mod q,
                     hash(RF,HASH_R) )

    + Verification of the responder's signature
        Reconstruct RF as

         RF = (g^s2 PK_r)^s1 mod p.

      where PK_r=g^{SK_r} mod p. The initiator accepts the signature
      if and only if s2 is equal to hash(RF,HASH_R).

    + Computation of the modified hash
        Compute

         SKEYID' = hash(Ni | Nr)

       and then generate the modified hash as

         HASH_I* = prf(SKEYID',
                    g^xi | g^xr | CKY-I | CKY-R | RF | SAi_b | IDii_b).


    + Verification of the modified hash
        The responder accepts the modified hash if and only if it is
       equal to

       prf(SKEYID', g^xi | g^xr | CKY-I | CKY-R | RF | SAi_b | IDii_b).


Matsuura, Imai        Revised signature mode for IKE           [Page 5]
INTERNET DRAFT                                            March 2, 2000

   The second example is based on Schnorr's signature scheme [S91].

    + Precomputation by the responder
        Pick an integer u randomly from [1, 2, ..., q-2], and modular
       exponentiate to obtain RF = g^u mod p where p is a large prime
       and q is a large prime factor of p-1.

    + Generation of the responder's signature
        Let g be a public integer with order q modulo p. Compute SIG_R
       as

         (s1, s2) = ( SK_r hash(HASH_R | RF) + u mod q,
                      hash(HASH_R | RF) )

    + Verification of the responder's signature
        Reconstruct RF as

         RF = g^s1 PK_r^{-s2} mod p.

      where PK_r=g^{SK_r} mod p. The initiator accepts the signature
      if and only if s2 is equal to hash(HASH_R | RF).

    + Computation of the modified hash
        Compute

         SKEYID' = hash(Ni | Nr)

       and then generate the modified hash as

         HASH_I* = prf(SKEYID',
                    g^xi | g^xr | CKY-I | CKY-R | RF | SAi_b | IDii_b).

    + Verification of the modified hash
        The responder accepts the modified hash if and only if it is
       equal to

       prf(SKEYID', g^xi | g^xr | CKY-I | CKY-R | RF | SAi_b | IDii_b).

   4.2 Other Possibilities

   In both the examples in 4.1, our design strategy against CPU-
   exhaustion is as follows.

    + Find a signature algorithm whose computationally-heavy parts in
      verification are performed with the sender's public key while
      those in generation does not require the sender's secret key
      (i.e., in the signature generation, the sender's secret key is
       used in computationally-inexpensive parts while computationally-
       heavy parts are independent of entities and therefore pre-
       computable).

    + See if the resultant material from the "computationally-heavy
      parts in verification" is a random and fresh number or not.


Matsuura, Imai        Revised signature mode for IKE           [Page 6]
INTERNET DRAFT                                            March 2, 2000

    + If so, include the material as an additional input to the ac-
      knowledgment hash.

   Other possibilities could be found in the same way. It should be
   noted that we do not have to use any plug-ins. Re-define the ac-
   knowledgment hash, that's all.



   5. Security Considerations 

   First, let us consider the difference between SKEYID and SKEYID'.
   Different from SKEYID, SKEYID' does not include the Diffie-Hellman
   key g^{xi*xr}. In order to obtain the negotiated keying materials 
   (SKEYID_d, SKEYID_a, and SKEYID_e), however, an attacker must anyway
   solve the Diffie-Hellman problem. This problem is assumed to be hard
   in the IKE since it is based on the Diffie-Hellman key agreement.

   In the following, we evaluate the Revised Signaure Method in terms
   of DoS resistance. DoS attackers can be classified into two types.
   One launches completely fake requests while the other pays
   computational cost necessary for imposing modular exponentiation on
   the responder.

   Attackers of the first type do not carry out any heavy computation
   comparable to modular exponentiation. In the conventional Signature
   Method, the responder attacked by them must pay the following
   computational cost as heavy as modular exponentiation:

     + 0.375|n| (if implemented with RSA signature)

     + 1.5|p| (if implemented with ElGamal signature)

     + 3|q| (if implemented with DSA)

     + 3|q| (if implemented with Schnorr's signature).

   These costs are represented by the equivalent number of modular
   multiplications.

   On the other hand, in the proposed Revised Signature Method, the
   responder does not have to pay those costs. This is because bogus
   requests can be detected by the output of inexpensive pseudo-random
   function.

   Attackers of the second type do not carry out any heavy computation
   comparable to modular exponentiation in the conventional Signature
   Method while the responder must pay the following computational cost
   as heavy as modular exponentiation:






Matsuura, Imai        Revised signature mode for IKE           [Page 7]
INTERNET DRAFT                                            March 2, 2000

     + 0.375|n| (if implemented with RSA signature)

     + 4.5|p| (if implemented with ElGamal signature)

     + 3|q| (if implemented with DSA)

     + 3|q| (if implemented with Schnorr's signature).

   On the other hand, in the proposed Revised Signature Method
   (implemented with SDSS or with Schnorr's signature), the
   attackers also must pay the computational cost of 1.75|q|, which is
   comparable to the cost on the responder's side, 3|q|.

  Thus the proposed method discourages DoS attackers by ``falling-
  together'' nightmare; if the attacker and the target have similar
  level of computational power, the attacker must exhaust his/her
  resource in order to exhaust that of the target.

  Another evaluation on a blocking probability of the responder is
  given in [MI99]. When we can assume an ingress filter or some
  bandwidth restrictions, the responder is usually alive; the blocking
  probability is lower than 10% if the number of bogus requests per
  attack is less than 256.



   6. References

   [HC98] D. Harkins and D. Carrel, "The Internet Key Exchange",
   RFC 2409, November 1998.

   [MI98] K. Matsuura and H. Imai, "Protection of Authenticated Key-
   Agreement Protocol against a Denial-of-Service Attack", In Proc.
   of 1998 International Symposium on Information Theory and Its
   Applications (ISITA'98), pp.466-470, October 1998.

   [MI99] K. Matsuura and H. Imai, "Resolution of ISAKMP/Oakley
   Key-Agreement Protocol Resistant against Denial-of-Service Attack",
   In Proc. of Internet Workshop'99, IEEE Press, pp.17-24, February
   1999.

   [AN97] T. Aura and P. Nikander, "Stateless Connections", Lecture
   Notes in Computer Science 1334, pp.87-97. Springer-Verlag. November
   1997.

   [KS99] P. Karn and W. Simpson, "Photuris: Session-Key Management
   Protocol", RFC 2522, March 1999.

   [Si99] W. A. Simpson, "IKE/ISAKMP Considered Dangerous",
   draft-simpson-danger-isakmp-01.txt, Work In Progress, June 1999.

   [DB99] Y. Dayan and S. Bitan, "IKE Base Mode", draft-ietf-ipsec-ike-
   base-mode-00.txt, Work In Progress, June 1999.


Matsuura, Imai        Revised signature mode for IKE           [Page 8]
INTERNET DRAFT                                            March 2, 2000

   [Z97] Y. Zheng, "Digital Signcryption or How to Achieve
   Cost(Signature & Encryption) << Cost(Signature) + Cost(Encryption)",
   Lecture Notes in Computer Science 1294, pp.165-179. Springer-Verlag.
   August 1997.

   [K93] D. W. Kravitz, "Digital signature algorithm", U. S. Patent
   #5,231,668, July 1993.

   [FIPS94] FIPS 186, "Digital Signature Standard", Federal Information
   Processing Standards Publication FIPS PUB 186, U. S. Department of
   Commerce/N.I.S.T., 1994.

   [PS96] D. Pointcheval and J. Stern, "Security Proofs for Signature
   Schemes", Lecture Notes in Computer Science 1070, pp.387-398.
   Springer-Verlag. 1996.

   [S91] C. P. Schnorr, "Efficient Signature Generation by Smart
   Cards", Journal of Cryptology, vol.4, pp.161-174, 1991.




   Authors'  Addresses:
   ====================


Kanta Matsuura
Institute of Industrial Science, University of Tokyo
Roppongi 7-22-1, Minato-ku
Tokyo 106-8558, JAPAN
Tel. +81-3-3402-6231 (ext. 2325)
kanta@iis.u-tokyo.ac.jp

Hideki Imai
Institute of Industrial Science, University of Tokyo
Roppongi 7-22-1, Minato-ku
Tokyo 106-8558, JAPAN
Tel. +81-3-3402-6231 (ext. 2313)
imai@iis.u-tokyo.ac.jp
















Expires September 2, 2000                                      [Page 9]