Internet DRAFT - draft-euchner-mikey-dhhmac

draft-euchner-mikey-dhhmac





Internet Engineering Task Force                               M. Euchner 
Internet Draft                                                Siemens AG 
Expires: August 2002                                                     
                                                           February 2002 
 
              HMAC-authenticated Diffie-Hellman for MIKEY 
                  (draft-euchner-mikey-dhhmac-00.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. 
 
     The distribution of this memo is unlimited. 
      
     Comments should be sent to the MSEC WG mailing list at 
     msec@securemulticast.org and to the author. 
 
 
 
Abstract 
 
     This document describes a key management protocol variant for the 
     multimedia Internet keying (MIKEY). In particular, the classic 
     Diffie-Hellman key agreement protocol is used for key 
     establishment in conjunction with a keyed hash (HMAC-SHA1) for 
     achieving mutual authentication and message integrity of the key 
     management messages exchanged. This MIKEY variant is called the 
     HMAC-authenticated Diffie-Hellmann. It addresses the real-time 
     aspects of multimedia key management in MIKEY. 
 
 
 
 
 
 
Martin Euchner                                                [Page 1] 

             HMAC-authenticated Diffie-Hellman for MIKEY February 2002 

Table of Contents 
 
1.   Introduction....................................2 
1.1. Notational Conventions..........................3 
1.2. Definitions.....................................4 
1.3. Abbreviations...................................4 
2.   Scenario........................................4 
2.1. DH-HMAC Security Protocol.......................5 
3.   DH-HMAC payload formats.........................6 
3.1. Common header payload...........................6 
3.2. DH-HMAC data payload............................6 
3.3. HMAC payload....................................6 
4.   Security Considerations.........................8 
5.   Acknowledgements................................9 
6.   Intellectual Property Rights....................9 
7.   Normative References............................9 
8.   Informative References.........................10 
9.   Author's Address...............................10 
10.  Expiration Date................................10 
 
 
1. Introduction 
 
  As pointed out in MIKEY (see [1]), secure real-time multimedia 
  applications demand a particular adequate key management scheme that 
  cares for how to securely and efficiently establish dynamic session 
  keys in a conversational multimedia scenario. 
   
  In general, MIKEY scenarios cover peer-to-peer, simple-one-to-many 
  and small-sized groups. MIKEY in particular, describes three key 
  management schemes for the peer-to-peer case that all finish their 
  task within one round trip: 
     -    a symmetric key distribution protocol based upon pre-shared 
     master keys; 
      
     -    a public-key encryption-based key distribution protocol 
     assuming a public-key infrastructure with RSA-based private/public 
     keys and digital certificates; 
      
     -    and a Diffie-Hellman key agreement protocol deploying digital 
     signatures and certificates. 
 
 
  All these three key management protocols are designed such that they 
  complete their work within just one round trip. This requires 
  depending on loosely synchronized clocks and deploying timestamps 
  within the key management protocols. 
   
  However, it is known [4] that each of the three key management 
  schemes has its subtle constraints and limitations: 
     -    The symmetric key distribution protocol is simple to 
     implement but does not nicely scale in any larger configuration of 
     potential peer entities due to the need of mutually pre-assigned 
     shared master secrets. 
 
Euchner                   Expiration: 7/2002                  [Page 2] 

             HMAC-authenticated Diffie-Hellman for MIKEY February 2002 

     Moreover, the security provided does not achieve the property of 
     perfect forward secrecy; i.e. compromise of the shared master 
     secret would render past and even future session keys susceptible 
     to compromise. 
     Further, the generation of the session key happens just at the 
     initiator. Thus, the responder has to fully trust the initiator on 
     choosing a good and secure session secret; the responder neither 
     is able to participate in the key generation nor to influence that 
     process. This is considered as a specific limitation in less 
     trusted environments. 
   
     -    The public-key encryption scheme depends upon a public-key 
     infrastructure that certifies the private-public keys by issuing 
     and maintaining digital certificates. While such a key management 
     scheme provides full scalability in large networked 
     configurations, public-key infrastructures are still not widely 
     available and in general, implementations are significantly more 
     complex. 
     Further additional round trips might be necessary for each side in 
     order to ascertain verification of the digital certificates. 
     Finally, as in the symmetric case, the responder depends 
     completely upon the initiator choosing good and secure session 
     keys. 
   
     -    The third MIKEY key management protocol deploys the Diffie-
     Hellman key agreement scheme and authenticates the exchange of the 
     Diffie-Hellman half-keys in each direction by using a digital 
     signature upon. As in the previous method, this introduces the 
     dependency upon a public-key infrastructure with its strength on 
     scalability but also the limitations on computational costs in 
     performing the asymmetric long-integer operations and the 
     potential need for additional communication for verification of 
     the digital certificates. 
     However, the Diffie-Hellman key agreement protocol is known for 
     its subtle security strengths in that it is able to provide full 
     perfect secrecy and further have both parties actively involved in 
     session key generation. 
   
   
  This document describes a fourth key management scheme for MIKEY that 
  could somehow be seen as a synergetic optimization among the pre-
  shared key distribution scheme and the Diffie-Hellman key agreement. 
  The idea of that protocol is to apply the Diffie-Hellman key 
  agreement but instead of deploying a digital signature for 
  authenticity of the exchanged keying material rather uses a keyed-
  hash upon using symmetrically pre-assigned shared secrets. This 
  combination of security mechanisms is called the HMAC-authenticated 
  Diffie-Hellman key agreement for MIKEY (DH-HMAC). 
 
 
  1.1.   Notational Conventions 
 


 
Euchner                   Expiration: 7/2002                  [Page 3] 

             HMAC-authenticated Diffie-Hellman for MIKEY February 2002 

     The key word "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
     "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in 
     this document are to be interpreted as described in RFC-2119. 
 
  1.2.   Definitions 
 
     auth-key  pre-shared authentication key 
     IDa, IDb  Identity of sender and receiver 
     k_p       common Diffie-Hellman shared secret 
     T         timestamp 
     x, y      secret, random value 
      
  1.3.   Abbreviations 
 
     DH        Diffie-Hellman 
     DH-HMAC   HMAC-authenticated Diffie-Hellman 
     HMAC      keyed Hash Message Authentication 
     HMAC-SHA1 HMAC using SHA1 as hash function 
     MIKEY     Multimedia Internet KEYing 
     PMK       Pre-Master Key 
     RSA       Rivest, Shamir and Adleman 
     TEK       Traffic Encryption Key 
 
 
 
2. Scenario 
 
  The HMAC-authenticated Diffie-Hellman key agreement protocol (DH-
  HMAC) for MIKEY addresses the same scenarios and scope as the other 
  three key management schemes in MIKEY address. 
   
  DH-HMAC is applicable in a small-sized, peer-to-peer group where no 
  access to a public-key infrastructure can be assumed available. 
  Rather, pre-shared master secrets are available among the entities in 
  such a small-sized group. 
   
  In a small-sized group, it is assumed that each client will be 
  setting up a session key for its outgoing links with its peer using 
  the DH-MAC key agreement protocol. 
   
  As is the case for the other three MIKEY key management protocol, 
  DH-HMAC assumes loosely synchronized clocks among the entities in the 
  small group. 
   
   
 
 
 
 
 
 
 
 
 
 
Euchner                   Expiration: 7/2002                  [Page 4] 

             HMAC-authenticated Diffie-Hellman for MIKEY February 2002 

  2.1.   DH-HMAC Security Protocol 
 
               A                                  B 
 
   I = (IDa) 
   K = g**x || T [|| I] 
   A = HMAC (auth-key,K) 
                              K,A             I' = (IDb) 
                    ---------------------->   K' = g**y || T [|| I'] 
                                              B' = HMAC (auth-key,K') 
                             K',B' 
                    <---------------------- 
 
   k_p= g**(xy)                               k_p=g**(xy) 
 
 
Figure 1: HMAC-authenticated Diffie-Hellman key based exchange, where x 
           and y are randomly chosen respectively by A and B. 
 
 
     The key exchange is done according to Figure 1. The initiator 
     chooses a random value x, and sends an HMACed message including 
     g**x and a timestamp to the responder (optionally also including 
     its identity). 
   
     The group parameters (e.g., the group G) are a set of parameters 
     chosen by the initiator. The responder chooses a random positive 
     integer y, and sends an HMACed message including g**y and the 
     timestamp to the initiator (optionally also providing its 
     identity). 
   
     Both parties then calculate the PMK, g**(xy). 
   
     The HMAC authentication is due to provide authentication of the DH 
     half-keys, and is necessary to avoid man-in-the-middle attacks. 
   
   
     This approach is the less expensive than digitally signed Diffie-
     Hellman. It requires first of all, that both sides compute one 
     exponentiation and one HMAC, then one HMAC verification and 
     finally another Diffie-Hellman exponentiation. 
     With off-line pre-computation, the initial Diffie-Hellman MAY be 
     computed before the key management transaction and thereby MAY 
     further reduce the overall round trip delay as well as reduce the 
     risk of denial-of-service attacks. 
   
     Processing of the TEK SHALL be accomplished as described in MIKEY 
     chapter 4. 
   
     The computed HMAC result A or B' SHALL be conveyed in the DH-HMAC 
     payload field of the MIKEY payload as specified in chapter 5 of 
     MIKEY. 
 
 
 
Euchner                   Expiration: 7/2002                  [Page 5] 

             HMAC-authenticated Diffie-Hellman for MIKEY February 2002 

3. DH-HMAC payload formats 
   
  This section specifies the payload formats and data type values for 
  DH-HMAC. 
   
  3.1.   Common header payload 
 
     For DH-HMAC the following data type SHALL be used: 
 
   Data type     | Value | Comment 
   -------------------------------------- 
   DHHMAC init   |     7 | Initiator's DH-HMAC exchange message 
   DHMHAC resp   |     8 | Responder's DH-HMAC exchange message 
 
     The Error payload data type SHALL be applied by the responder in 
     case of a decoding error or of a failed HMAC authentication 
     verification. 
      
      
      
        Hash func     | Value | Comments 
        -------------------------------------------------------- 
        SHA-1         |     0 | Mandatory, Default (see [SHA1]) 
        SHA-1-96      |     5 | Optional, SHA1 truncated to the 96 
     leftmost bits of SHA-1 result when represented in network byte 
     order. 
 
     SHA-1 is the default hash function that MUST be implemented as 
     part of the DH-HMAC. The length of the HMAC result is 160 bits. 
     SHA-1-96 produces a slightly shorter HMAC result where the SHA-1 
     result SHALL be truncated to the 96 leftmost bits when represented 
     in network byte order. This will save some bandwidth. 
 
 
  3.2.   DH-HMAC data payload 
 
     There is no separate payload defined for DH-HMAC. Rather, the DH 
     payload data as defined in MIKEY Appendix A.4 SHALL be used. 
 
 
 
  3.3.   HMAC payload 
 
     The HMAC payload carries the computed HMAC value upon the DH-MAC 
     message and corresponding payload data. The HMAC MUST always be 
     the last payload in the DH-HMAC exchange messages.  
 
                        1                   2                   3 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
      ~                        HMAC                                ~ 
   !                                                               ! 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
 
 
Euchner                   Expiration: 7/2002                  [Page 6] 

             HMAC-authenticated Diffie-Hellman for MIKEY February 2002 

 
   * HMAC: The computed HMAC upon the entire message. The hashing 
function within HMAC shall be used as indicated by the hash func value 
(0 or 5). 
 
 
Appendix B. - Payload usage summary 
 
     This section describes the relationship of DH-HMAC messages and 
     the MIKEY payload types. 
      
     Depending on the type of message, different payloads MUST and MAY 
     be included. There are six distinct types of messages: 
      
          * Pre-shared key transport message 
      
          * Public key transport message 
 
          * Verification message (for either pre-shared key or public 
          key) 
      
          * DH exchange message (bi-directional) 
      
          * DH-HMAC exchange message (bi-directional) 
      
          * Error message 
 
 
 
                 |          Message Type 
   Payload type  | PS   | PK   | DH   | DH-HMAC | Ver  | Error 
   ----------------------------------------------------------- 
   PS data       | M      -      -        -        -      - 
   PK data       | -      M*     -        -        -      - 
   DH data       | -      -      M        M        -      - 
   Ver msg       | -      -      -        -        M      - 
   Error         | -      -      -        -        -      M 
   Timestamp     | M      M      M        O        -      O 
   ID            | O      O      O        O        O      O 
   Signature     | -      O      M        -        -      - 
   HMAC          | -      -      -        M        -      - 
   Certificate   | -      O      O        -        -      - 
   Cert hash     | -      O      O        -        -      - 
   n_start       | O      O      O        O        -      - 
   n_end         | O      O      O        O        -      - 
   SPI           | O      O      O        O        -      - 
   SP            | O      O      O        O        -      O 
 
   When a payload is not included, the default values for the 
   information carried by it SHALL be used (when applicable). The 
   following table summarizes what messages may be included in a 
   specific message. 
 
 
 
Euchner                   Expiration: 7/2002                  [Page 7] 

             HMAC-authenticated Diffie-Hellman for MIKEY February 2002 

 
 
 
 
4. Security Considerations 
 
 
  This document addresses key management security issues throughout. 
  For a comprehensive explanation of security considerations, please 
  refer to MIKEY section 10. In addition to that, the following 
  security considerations apply in particular to this document: 
   
  Other than the MIKEY pre-shared and public-key based key distribution 
  protocols, the Diffie-Hellman key agreement protocol features a 
  security property called perfect forward secrecy.  That is, that even 
  if the long-term master would be compromised at some point in time, 
  this would not render past session keys compromised. 
   
  Further, Diffie-Hellman key management protocol is not a strict key 
  distribution protocol per se. Actually, both parties involved in the 
  protocol exchange are able to equally contribute to the common 
  Diffie-Hellman master session key. This reduces the risk of either 
  party cheating or unintentionally generating a weak session key. In 
  order for Diffie-Hellman key agreement to be secure, each party shall 
  generate its x or y values using a strong, unpredictable pseudo-
  random generator. Further these values x or y shall be kept private. 
  It is recommended that these secret values be destroyed once the 
  common Diffie-Hellman shared secret key has been established. 
   
  For the sake of improved performance and reduced round trip delay 
  either party may off-line pre-compute its public Diffie-Hellman half-
  key. 
   
  As such, DH-HMAC but also digitally signed DH provides a far superior 
  security level over the pre-shared or public-key based key 
  distribution protocol in that respect.  
   
   
  This document describes the HMAC-authenticated Diffie-Hellman key 
  agreement protocol that completely avoids digital signatures and the 
  associated public-key infrastructure as would be necessary for the 
  X.509 RSA public-key based key distribution protocol or the digitally 
  signed Diffie-Hellman key agreement protocol as described in MIKEY. 
  Public-key infrastructures may not always be available in certain 
  environments nor may they be deemed adequate for real-time multimedia 
  applications when taking additional steps for certificate validation 
  and certificate revocation methods with additional round-trips into 
  account. 
   
  The HMAC computation corroborates for authentication and message 
  integrity of the exchanged Diffie-Hellman half-keys and associated 
  messages. The authentication is absolute necessary in order to avoid 
  man-in-the-middle attacks on the exchanged messages in transit. 
   
 
Euchner                   Expiration: 7/2002                  [Page 8] 

             HMAC-authenticated Diffie-Hellman for MIKEY February 2002 

  Using HMAC in conjunction with a strong one-way hash function such as 
  SHA1 may be achieved more efficiently in software than expensive 
  public-key operations. This yields a particular performance benefit 
  of DH-HMAC over signed DH or the public-key encryption protocol. 
 
  DH-HMAC optionally features a variant where the HMAC-SHA-1 result is 
  truncated to 96-bit instead of 160 bits. It is believed that although 
  the truncated HMAC appears significantly shorter, the security 
  provided would not suffer; it appears even reasonable that the 
  shorter HMAC could provide increased security against known-plaintext 
  crypt-analysis, see RFC 2104 for more details. In any way, truncated 
  DH-HMAC is able to reduce the bandwidth during Diffie-Hellman key 
  agreement and yield better round trip delay on low-bandwidth links. 
  If very high security level is desired for long-term secrecy of the 
  negotiated Diffie-Hellman shared secret, longer hash values may be 
  deployed such as SHA256, SHA384 or SHA512 provide, possibly in 
  conjunction with stronger Diffie-Hellman groups. 
 
 
 
 
5. Acknowledgements 
 
 
6. Intellectual Property Rights 
      
     This proposal is in full conformity with [RFC-2026]. 
      
     Siemens may have patent rights on technology described in this 
     document which employees of Siemens contribute for use in IETF 
     standards discussions. In relation to any IETF standard 
     incorporating any such technology, Siemens hereby agrees to 
     license on fair, reasonable and non-discriminatory terms, based on 
     reciprocity, any patent claims it owns covering such technology, 
     to the extent such technology is essential to comply with such 
     standard. 
 
 
 
 
7. Normative References 
 
[1]  J. Arkko, E. Carrara, F. Lindholm, M. Naslund, K. Norrman; 
"MIKEY:Multimedia Internet KEYing", Internet Draft, Work in Progress 
(MSEC WG) 
 
[2]  H. Krawczyk, M. Bellare, R. Canetti; "HMAC: Keyed-Hashing for 
Message Authentication", RFC 2104, February 1997. 
 
[3] NIST, FIBS-PUB 180-1, "Secure Hash Standard", April 1995, 
http://csrc.nist.gov/fips/fip180-1.ps 
 
 
 
 
Euchner                   Expiration: 7/2002                  [Page 9] 

             HMAC-authenticated Diffie-Hellman for MIKEY February 2002 

8. Informative References 
 
[4] A.J. Menezes, P v. Oorschot, S. Vanstone: "Applied Cryptography", 
CRC Press, 1996 
 
 
 
9. Author's Address 
 
  Please address all comments to: 
 
Martin Euchner                                  Siemens AG 
Email: martin.euchner@icn.siemens.de            ICN M SR 3 
Phone: +49 89 722 55790                         Hofmannstr. 51 
Fax:   +49 89 722 47713                         81359 Munich, Germany 
 
 
 
 
10.  Expiration Date 
 
  This Internet Draft expires on 30 August 2002. 
   































 
Euchner                   Expiration: 7/2002                 [Page 10]