| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619 | 
							
- Network Working Group                                          P. Eronen
 
- Request for Comments: 4739                                         Nokia
 
- Category: Experimental                                       J. Korhonen
 
-                                                              TeliaSonera
 
-                                                            November 2006
 
-                    Multiple Authentication Exchanges
 
-              in the Internet Key Exchange (IKEv2) Protocol
 
- Status of This Memo
 
-    This memo defines an Experimental Protocol for the Internet
 
-    community.  It does not specify an Internet standard of any kind.
 
-    Discussion and suggestions for improvement are requested.
 
-    Distribution of this memo is unlimited.
 
- Copyright Notice
 
-    Copyright (C) The IETF Trust (2006).
 
- Abstract
 
-    The Internet Key Exchange (IKEv2) protocol supports several
 
-    mechanisms for authenticating the parties, including signatures with
 
-    public-key certificates, shared secrets, and Extensible
 
-    Authentication Protocol (EAP) methods.  Currently, each endpoint uses
 
-    only one of these mechanisms to authenticate itself.  This document
 
-    specifies an extension to IKEv2 that allows the use of multiple
 
-    authentication exchanges, using either different mechanisms or the
 
-    same mechanism.  This extension allows, for instance, performing
 
-    certificate-based authentication of the client host followed by an
 
-    EAP authentication of the user.  When backend authentication servers
 
-    are used, they can belong to different administrative domains, such
 
-    as the network access provider and the service provider.
 
- Eronen & Korhonen             Experimental                      [Page 1]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
- Table of Contents
 
-    1. Introduction ....................................................3
 
-       1.1. Usage Scenarios ............................................4
 
-       1.2. Terminology ................................................5
 
-    2. Solution ........................................................5
 
-       2.1. Solution Overview ..........................................5
 
-       2.2. Example 1: Multiple EAP Authentications ....................6
 
-       2.3. Example 2: Mixed EAP and Certificate Authentications .......7
 
-       2.4. Example 3: Multiple Initiator Certificates .................8
 
-       2.5. Example 4: Multiple Responder Certificates .................8
 
-    3. Payload Formats .................................................9
 
-       3.1. MULTIPLE_AUTH_SUPPORTED Notify Payload .....................9
 
-       3.2. ANOTHER_AUTH_FOLLOWS Notify Payload ........................9
 
-    4. IANA Considerations .............................................9
 
-    5. Security Considerations .........................................9
 
-    6. Acknowledgments ................................................10
 
-    7. References .....................................................10
 
-       7.1. Normative References ......................................10
 
-       7.2. Informative References ....................................10
 
- Eronen & Korhonen             Experimental                      [Page 2]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
- 1.  Introduction
 
-    IKEv2 [IKEv2] supports several mechanisms for parties involved in the
 
-    IKE_SA (IKE security association).  These include signatures with
 
-    public-key certificates, shared secrets, and Extensible
 
-    Authentication Protocol (EAP) methods.
 
-    Currently, each endpoint uses only one of these mechanisms to
 
-    authenticate itself.  However, there are scenarios where making the
 
-    authorization decision in IKEv2 (whether to allow access or not)
 
-    requires using several of these methods.
 
-    For instance, it may be necessary to authenticate both the host
 
-    (machine) requesting access, and the user currently using the host.
 
-    These two authentications would use two separate sets of credentials
 
-    (such as certificates and associated private keys) and might even use
 
-    different authentication mechanisms.
 
-    To take another example, when an operator is hosting a Virtual
 
-    Private Network (VPN) gateway service for a third party, it may be
 
-    necessary to authenticate the client to both the operator (for
 
-    billing purposes) and the third party's Authentication,
 
-    Authorization, and Accounting (AAA) server (for authorizing access to
 
-    the third party's internal network).
 
-    This document specifies an extension to IKEv2 that allows the use of
 
-    multiple authentication exchanges, using either different mechanisms
 
-    or the same mechanism.  This extension allows, for instance,
 
-    performing certificate-based authentication of the client host
 
-    followed by an EAP authentication of the user.
 
-    Each authentication exchange requiring communication with backend AAA
 
-    servers may be directed to different backend AAA servers, located
 
-    even in different administrative domains.  However, details of the
 
-    communication between the IKEv2 gateway and the backend
 
-    authentication servers are beyond the scope of this document.  In
 
-    particular, this document does not specify any changes to existing
 
-    AAA protocols, and it does not require the use of any particular AAA
 
-    protocol.
 
-    In case of several EAP authentications, it is important to notice
 
-    that they are not a "sequence" (as described in Section 2.1 of
 
-    [EAP]), but separate independent EAP conversations, which are usually
 
-    also terminated in different EAP servers.  Multiple authentication
 
-    methods within a single EAP conversation are still prohibited as
 
-    described in Section 2.1 of [EAP].  Using multiple independent EAP
 
-    conversations is similar to the separate Network Access Provider
 
-    (NAP) and Internet Service Provider (ISP) authentication exchanges
 
- Eronen & Korhonen             Experimental                      [Page 3]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
-    planned for [PANA].  The discovery of the appropriate EAP server for
 
-    each EAP authentication conversation is based on AAA routing.
 
- 1.1.  Usage Scenarios
 
-    Figure 1 shows an example architecture of an operator-hosted VPN
 
-    scenario that could benefit from a two-phase authentication within
 
-    the IKEv2 exchange.  First, the client authenticates towards the
 
-    Network Access Provider (NAP) and gets access to the NAP-hosted VPN
 
-    gateway.  The first-phase authentication involves the backend AAA
 
-    server of the NAP.  After the first authentication, the client
 
-    initiates the second authentication round that also involves the
 
-    Third Party's backend AAA server.  If both authentications succeed,
 
-    the required IPsec tunnels are set up and the client can access
 
-    protected networks behind the Third Party.
 
-        Client                         *Network Access Provider*
 
-      +---------+                    +---------+              +-----+
 
-      |         |                    |  NAP's  |              | NAP |
 
-      |Protected|     IPsec SAs      | Tunnel  | AAA Protocol | AAA |
 
-      |Endpoint |<------------------>|Endpoint |<------------>|Serv/|
 
-      |         |                    |         |              |Proxy|
 
-      +---------+                    +---------+              +-----+
 
-                                        ^                        ^
 
-                             IPsec or  /                  AAA    |
 
-                         Leased Line  /                 Protocol |
 
-                                     /                           |
 
-                                    v                            |
 
-                            +---------+    *Third Party*         v
 
-                            |3rd Party|                       +-----+
 
-             Protected      | Tunnel  |                       | 3rd |
 
-                Subnet <----|Endpoint |                       |Party|
 
-                            |         |                       | AAA |
 
-                            +---------+                       +-----+
 
-           Figure 1: Two-phase authentication used to gain access to
 
-           the Third Party network via Network Access Provider.  AAA
 
-           traffic goes through NAP's AAA server.
 
-    The NAP's AAA server can be used to proxy the AAA traffic to the
 
-    Third Party's backend AAA server.  Alternatively, the AAA traffic
 
-    from the NAP's tunnel endpoint could go directly to the Third Party's
 
-    backend AAA servers.  However, this is more or less an AAA routing
 
-    issue.
 
- Eronen & Korhonen             Experimental                      [Page 4]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
- 1.2.  Terminology
 
-    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
-    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
 
-    document are to be interpreted as described in [KEYWORDS].
 
-    The terms and abbreviations "authenticator", "backend authentication
 
-    server", "EAP server", and "peer" in this document are to be
 
-    interpreted as described in [EAP].
 
-    When messages containing IKEv2 payloads are described, optional
 
-    payloads are shown in brackets (for instance, "[FOO]"), and a plus
 
-    sign indicates that a payload can be repeated one or more times (for
 
-    instance, "FOO+").
 
- 2.  Solution
 
- 2.1.  Solution Overview
 
-    The peers announce support for this IKEv2 extension by including a
 
-    MULTIPLE_AUTH_SUPPORTED notification in the IKE_SA_INIT response
 
-    (responder) and the first IKE_AUTH request (initiator).
 
-    If both peers support this extension, either of them can announce
 
-    that it wishes to have a second authentication by including an
 
-    ANOTHER_AUTH_FOLLOWS notification in any IKE_AUTH message that
 
-    contains an AUTH payload.  This indicates that the peer sending the
 
-    ANOTHER_AUTH_FOLLOWS wishes to authenticate another set of
 
-    credentials to the other peer.  The next IKE_AUTH message sent by
 
-    this peer will contain a second identity payload (IDi or IDr) and
 
-    starts another authentication exchange.  The IKE_AUTH phase is
 
-    considered successful only if all the individual authentication
 
-    exchanges complete successfully.
 
-    It is assumed that both peers know what credentials they want to
 
-    present; there is no negotiation about, for instance, what type of
 
-    authentication is to be done.  As in IKEv2, EAP-based authentication
 
-    is always requested by the initiator (by omitting the AUTH payload).
 
-    The AUTH payloads are calculated as specified in [IKEv2] Sections
 
-    2.15 and 2.16, where IDi' refers to the latest IDi payload sent by
 
-    the initiator, and IDr' refers to the latest IDr payload sent by the
 
-    responder.  If EAP methods that do not generate shared keys are used,
 
-    it is possible that several AUTH payloads with identical contents are
 
-    sent.  When such EAP methods are used, the purpose of the AUTH
 
-    payload is simply to delimit the authentication exchanges, and ensure
 
-    that the IKE_SA_INIT request/response messages were not modified.
 
- Eronen & Korhonen             Experimental                      [Page 5]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
- 2.2.  Example 1: Multiple EAP Authentications
 
-    This example shows certificate-based authentication of the responder
 
-    followed by an EAP authentication exchange (messages 1-10).  When the
 
-    first EAP exchange is ending (the initiator is sending its AUTH
 
-    payload), the initiator announces that it wishes to have a second
 
-    authentication exchange by including an ANOTHER_AUTH_FOLLOWS
 
-    notification (message 9).
 
-    After this, a second authentication exchange begins.  The initiator
 
-    sends a new IDi payload but no AUTH payload (message 11), indicating
 
-    that EAP will be used.  After that, another EAP authentication
 
-    exchange follows (messages 12-18).
 
-       Initiator                   Responder
 
-      -----------                 -----------
 
-       1. HDR, SA, KE, Ni -->
 
-                              <--  2. HDR, SA, KE, Nr, [CERTREQ],
 
-                                           N(MULTIPLE_AUTH_SUPPORTED)
 
-       3. HDR, SK { IDi, [CERTREQ+], [IDr],
 
-                    SA, TSi, TSr, N(MULTIPLE_AUTH_SUPPORTED) }  -->
 
-                              <--  4. HDR, SK { IDr, [CERT+], AUTH,
 
-                                                EAP(Request) }
 
-       5. HDR, SK { EAP(Response) }  -->
 
-                              <--  6. HDR, SK { EAP(Request) }
 
-       7. HDR, SK { EAP(Response) }  -->
 
-                              <--  8. HDR, SK { EAP(Success) }
 
-       9. HDR, SK { AUTH,
 
-                    N(ANOTHER_AUTH_FOLLOWS) }  -->
 
-                              <--  10. HDR, SK { AUTH }
 
-       11. HDR, SK { IDi }  -->
 
-                              <--  12. HDR, SK { EAP(Request) }
 
-       13. HDR, SK { EAP(Response) }  -->
 
-                              <--  14. HDR, SK { EAP(Request) }
 
-       15. HDR, SK { EAP(Response) }  -->
 
-                              <--  16. HDR, SK { EAP(Success) }
 
-       17. HDR, SK { AUTH }  -->
 
-                              <--  18. HDR, SK { AUTH, SA, TSi, TSr }
 
-           Example 1: Certificate-based authentication of the
 
-           responder, followed by two EAP authentication exchanges.
 
- Eronen & Korhonen             Experimental                      [Page 6]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
- 2.3.  Example 2: Mixed EAP and Certificate Authentications
 
-    Another example is shown below: here both the initiator and the
 
-    responder are first authenticated using certificates (or shared
 
-    secrets); this is followed by an EAP authentication exchange.
 
-       Initiator                   Responder
 
-      -----------                 -----------
 
-       1. HDR, SA, KE, Ni -->
 
-                              <--  2. HDR, SA, KE, Nr, [CERTREQ],
 
-                                           N(MULTIPLE_AUTH_SUPPORTED)
 
-       3. HDR, SK { IDi, [CERT+], [CERTREQ+], [IDr], AUTH,
 
-                    SA, TSi, TSr, N(MULTIPLE_AUTH_SUPPORTED),
 
-                    N(ANOTHER_AUTH_FOLLOWS) }  -->
 
-                              <--  4. HDR, SK { IDr, [CERT+], AUTH }
 
-       5. HDR, SK { IDi }  -->
 
-                              <--  6. HDR, SK { EAP(Request) }
 
-       7. HDR, SK { EAP(Response) }  -->
 
-                              <--  8. HDR, SK { EAP(Request) }
 
-       9. HDR, SK { EAP(Response) }  -->
 
-                              <--  10. HDR, SK { EAP(Success) }
 
-       11. HDR, SK { AUTH }  -->
 
-                              <--  12. HDR, SK { AUTH, SA, TSi, TSr }
 
-              Example 2: Certificate-based (or shared-secret-based)
 
-              authentication of the initiator and the responder,
 
-              followed by an EAP authentication exchange.
 
- Eronen & Korhonen             Experimental                      [Page 7]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
- 2.4.  Example 3: Multiple Initiator Certificates
 
-    This example shows yet another possibility: the initiator has two
 
-    different certificates (and associated private keys), and
 
-    authenticates both of them to the responder.
 
-       Initiator                   Responder
 
-      -----------                 -----------
 
-       1. HDR, SA, KE, Ni -->
 
-                              <--  2. HDR, SA, KE, Nr, [CERTREQ],
 
-                                           N(MULTIPLE_AUTH_SUPPORTED)
 
-       3. HDR, SK { IDi, [CERT+], [CERTREQ+], [IDr], AUTH,
 
-                    SA, TSi, TSr, N(MULTIPLE_AUTH_SUPPORTED),
 
-                    N(ANOTHER_AUTH_FOLLOWS) }  -->
 
-                              <--  4. HDR, SK { IDr, [CERT+], AUTH }
 
-       5. HDR, SK { IDi, [CERT+], AUTH }  -->
 
-                              <--  6. HDR, SK { SA, TSi, TSr }
 
-           Example 3: Two certificate-based authentications of the
 
-           initiator, and one certificate-based authentication
 
-           of the responder.
 
- 2.5.  Example 4: Multiple Responder Certificates
 
-    This example shows yet another possibility: the responder has two
 
-    different certificates (and associated private keys), and
 
-    authenticates both of them to the initiator.
 
-       Initiator                   Responder
 
-      -----------                 -----------
 
-       1. HDR, SA, KE, Ni -->
 
-                              <--  2. HDR, SA, KE, Nr, [CERTREQ],
 
-                                           N(MULTIPLE_AUTH_SUPPORTED)
 
-       3. HDR, SK { IDi, [CERT+], [CERTREQ+], [IDr], AUTH,
 
-                    SA, TSi, TSr, N(MULTIPLE_AUTH_SUPPORTED) }  -->
 
-                              <--  4. HDR, SK { IDr, [CERT+], AUTH,
 
-                                                N(ANOTHER_AUTH_FOLLOWS) }
 
-       5. HDR, SK { }  -->
 
-                              <--  6. HDR, SK { IDr, [CERT+], AUTH,
 
-                                                SA, TSi, TSr }
 
-           Example 4: Two certificate-based authentications of the
 
-           responder, and one certificate-based authentication
 
-           of the initiator.
 
- Eronen & Korhonen             Experimental                      [Page 8]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
- 3.  Payload Formats
 
- 3.1.  MULTIPLE_AUTH_SUPPORTED Notify Payload
 
-    The MULTIPLE_AUTH_SUPPORTED notification is included in the
 
-    IKE_SA_INIT response or the first IKE_AUTH request to indicate that
 
-    the peer supports this specification.  The Notify Message Type is
 
-    MULTIPLE_AUTH_SUPPORTED (16404).  The Protocol ID and SPI Size fields
 
-    MUST be set to zero, and there is no data associated with this Notify
 
-    type.
 
- 3.2.  ANOTHER_AUTH_FOLLOWS Notify Payload
 
-    The ANOTHER_AUTH_FOLLOWS notification payload is included in an
 
-    IKE_AUTH message containing an AUTH payload to indicate that the peer
 
-    wants to continue with another authentication exchange.  The Notify
 
-    Message Type is ANOTHER_AUTH_FOLLOWS (16405).  The Protocol ID and
 
-    SPI Size fields MUST be set to zero, and there is no data associated
 
-    with this Notify type.
 
- 4.  IANA Considerations
 
-    This document defines two new IKEv2 notifications,
 
-    MULTIPLE_AUTH_SUPPORTED and ANOTHER_AUTH_FOLLOWS, whose values are
 
-    allocated from the "IKEv2 Notify Message Types" namespace defined in
 
-    [IKEv2].
 
-    This document does not define any new namespaces to be managed by
 
-    IANA.
 
- 5.  Security Considerations
 
-    Security considerations for IKEv2 are discussed in [IKEv2].  The
 
-    reader is encouraged to pay special attention to considerations
 
-    relating to the use of EAP methods that do not generate shared keys.
 
-    However, the use of multiple authentication exchanges results in at
 
-    least one new security consideration.
 
-    In normal IKEv2, the responder authenticates the initiator before
 
-    revealing its identity (except when EAP is used).  When multiple
 
-    authentication exchanges are used to authenticate the initiator, the
 
-    responder has to reveal its identity before all of the initiator
 
-    authentication exchanges have been completed.
 
- Eronen & Korhonen             Experimental                      [Page 9]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
- 6.  Acknowledgments
 
-    The authors would like to thank Bernard Aboba, Jari Arkko, Spencer
 
-    Dawkins, Lakshminath Dondeti, Henry Haverinen, Russ Housley, Mika
 
-    Joutsenvirta, Charlie Kaufman, Tero Kivinen, Yoav Nir, Magnus
 
-    Nystrom, Mohan Parthasarathy, and Juha Savolainen for their valuable
 
-    comments.
 
- 7.  References
 
- 7.1.  Normative References
 
-    [IKEv2]     Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
 
-                RFC 4306, December 2005.
 
-    [KEYWORDS]  Bradner, S., "Key words for use in RFCs to Indicate
 
-                Requirement Levels", RFC 2119, March 1997.
 
- 7.2.  Informative References
 
-    [EAP]       Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
 
-                Levkowetz, "Extensible Authentication Protocol (EAP)",
 
-                RFC 3748, June 2004.
 
-    [PANA]      Yegin, A., Ohba, Y., Penno, R., Tsirtsis, G., and C.
 
-                Wang, "Protocol for Carrying Authentication for Network
 
-                Access (PANA) Requirements", RFC 4058, May 2005.
 
- Authors' Addresses
 
-    Pasi Eronen
 
-    Nokia Research Center
 
-    P.O. Box 407
 
-    FIN-00045 Nokia Group
 
-    Finland
 
-    EMail: pasi.eronen@nokia.com
 
-    Jouni Korhonen
 
-    TeliaSonera
 
-    P.O. Box 970
 
-    FIN-00051 Sonera
 
-    Finland
 
-    EMail: jouni.korhonen@teliasonera.com
 
- Eronen & Korhonen             Experimental                     [Page 10]
 
- RFC 4739           Multiple Auth. Exchanges in IKEv2       November 2006
 
- Full Copyright Statement
 
-    Copyright (C) The IETF Trust (2006).
 
-    This document is subject to the rights, licenses and restrictions
 
-    contained in BCP 78, and except as set forth therein, the authors
 
-    retain all their rights.
 
-    This document and the information contained herein are provided on an
 
-    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
 
-    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST,
 
-    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
 
-    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
 
-    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
 
-    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
 
-    PURPOSE.
 
- Intellectual Property
 
-    The IETF takes no position regarding the validity or scope of any
 
-    Intellectual Property Rights or other rights that might be claimed to
 
-    pertain to the implementation or use of the technology described in
 
-    this document or the extent to which any license under such rights
 
-    might or might not be available; nor does it represent that it has
 
-    made any independent effort to identify any such rights.  Information
 
-    on the procedures with respect to rights in RFC documents can be
 
-    found in BCP 78 and BCP 79.
 
-    Copies of IPR disclosures made to the IETF Secretariat and any
 
-    assurances of licenses to be made available, or the result of an
 
-    attempt made to obtain a general license or permission for the use of
 
-    such proprietary rights by implementers or users of this
 
-    specification can be obtained from the IETF on-line IPR repository at
 
-    http://www.ietf.org/ipr.
 
-    The IETF invites any interested party to bring to its attention any
 
-    copyrights, patents or patent applications, or other proprietary
 
-    rights that may cover technology that may be required to implement
 
-    this standard.  Please address the information to the IETF at
 
-    ietf-ipr@ietf.org.
 
- Acknowledgement
 
-    Funding for the RFC Editor function is currently provided by the
 
-    Internet Society.
 
- Eronen & Korhonen             Experimental                     [Page 11]
 
 
  |