Internet DRAFT - draft-sanchez-mvpn

draft-sanchez-mvpn



Mobile IP Working Group                                          Erika Sanchez 
INTERNET-DRAFT                                               Vesselin Tzvetkov
                                                                Srba Cvetkovic
                                                          Sheffield University     
                                                                  16 June 2000


                        Mobile Virtual Private Network
                          <draft-sanchez-mvpn-00.txt>

Status of This Memo

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

    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 obsolete 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

Abstract

    Current security mechanisms offer enough protection to fixed networks for
    the establishment of secure communications between nodes. Security
    protocols such as IPSEC offer a strong and secure solution for the
    creation of VPNs and its functionality has made it very popular in the
    networking community.

    Mobile networks present several challenges and problems that current
    security mechanisms did not take in consideration during their
    specification and, even though they continue to be good solutions for
    fixed and even mobile networks, they can also undermine the performance of
    mobile environments.

    This document specifies a protocol that uses the basis of encryption and
    authentication for the establishment of Virtual Private Networks on mobile
    environments, specifically Mobile IPv4, providing a secure and fast
    mobile communication.

    The registration of a mobile node with its home and foreign agents
    requires the authentication of the mobile node as well as the creation and
    distribution of security associations for the protection of the data flow.
    Several solutions have been proposed and they have been well accepted by
    the Internet community, we propose another solution that improves the
    performance and security of a mobile network and provides other security
    advantages by making minor changes to the Mobile IP protocol and adding
    new extensions to its functionality.
    
Sanchez, et al             Expires 16 December 2000            [Page i]
INTERNET-DRAFT          Mobile Virtual Private Network       16 June 2000

Sanchez, et al             Expires 16 December 2000            [Page ii]
INTERNET-DRAFT          Mobile Virtual Private Network       16 June 2000

                              Contents

Status of This Memo                                                    i

Abstract                                                               i

 1. Introduction                                                       1
     1.1. Comparison with IPSEC Virtual Private Networks  . . . . .    2

 2. Terminology                                                        4
     2.1. General Terms . . . . . . . . . . . . . . . . . . . . . .    4
     2.3. Specification Language  . . . . . . . . . . . . . . . . .    4

 3. Overview of Mobile Virtual Private Network                         5
     3.1. Basic Operation . . . . . . . . . . . . . . . . . . . . .    5
     3.2. Mobile Virtual Private Network  . . . . . . . . . . . . .    7
           3.2.1. First Contact . . . . . . . . . . . . . . . . . .    7
                  3.2.1.1. Registration Request . . . . . . . . . .    7
                  3.2.1.2. Registration Reply . . . . . . . . . . .   10 
           3.2.2. Re-registration of a mobile node  . . . . . . . .   11
                  3.2.2.1. Revisiting a foreign agent . . . . . . .   11
     3.3. Changing the foreign agent  . . . . . . . . . . . . . . .   12
     3.4. Session key generation  . . . . . . . . . . . . . . . . .   12
     3.5. Communication with the correspondent node . . . . . . . .   13
           3.5.1. Mobile data flow  . . . . . . . . . . . . . . . .   14

 4. Error messages                                                    16

 5. MVPN Extensions                                                   16
     5.1. Mobile Information Extension  . . . . . . . . . . . . . .   16
     5.2. Foreign Information Extension . . . . . . . . . . . . . .   18
     5.3. Home Information Extension  . . . . . . . . . . . . . . .   18
     5.4. Mobile Reply Extension  . . . . . . . . . . . . . . . . .   20
 
 6. MVPN Messages                                                     20
     6.1. Request Communication Message . . . . . . . . . . . . . .   21
     6.2. Correspondent Information Message . . . . . . . . . . . .   22
     6.3. Correspondent Response Message  . . . . . . . . . . . . .   23
     6.4. Communication Reply Message . . . . . . . . . . . . . . .   25

 7. Public Key Infrastructure                                         26
     7.1. Generation and distribution of keys . . . . . . . . . . .   26

 8. TCP in TCP tunnelling                                             26

Conclusions                                                           28

References                                                            29

Authors' Addresses                                                    30








Sanchez, et al            Expires 16 December 2000             [Page 1]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

1. Introduction

    The IETF RFC 2002 [1] defined the possibility for a node to change its
    point of attachment without losing its ability to communicate. The
    introduction of mobile entities provided new concerns especially for the
    area of security having as principal concern the registration of a mobile
    node. The mobile node and other mobile entities MUST be able to provide
    information about their identity to other parties in order to be able to
    trust and validate the information exchanged between them.

    To ensure that the registration of a mobile node with its home agent
    is made under secure conditions (authenticity, integrity and
    confidentiality) it will be necessary to:

    - Authenticate the mobile node with its home agent for the registration of
      the mobile nodes' care-of address and provision of services paid by the
      mobile node.
    - Authenticate the home agent with the mobile node to ensure that a valid
      home agent registers the care-of address and provides the services
      required by the mobile node.
    - Authenticate the foreign agent with the home agent to ensure that a
      valid foreign agent provides the required services.
    - Authenticate the home agent with the foreign agent for the same reasons
      mentioned above. This authentication can be use for billing purposes.
    - Authenticate the mobile node with the foreign agent to ensure that the
      care-of address is assigned to an authorised and valid mobile node.
    - Authenticate the foreign agent with the mobile node to ensure that the
      care-of address assigned to the mobile node is valid.

    Even when Mobile IP does not require the establishment of a security 
    association between the correspondent and mobile nodes it is necessary to
    perform a mutual authentication to provide confidentiality and integrity
    in the information exchanged between them, this will not only protect the
    nodes but also the home and foreign networks.

    The model presented in this document works under the assumption that a
    company can have several private networks spread around the world, and
    they can be visited by every node that is registered with them (locally or
    externally).

    This model requires each correspondent node to provide information that
    enables the mobile entities (home agent, foreign agent and mobile node) to
    authenticate it. This requirement is NOT mandatory for all applications
    MPVN might have but it should be consider as an optional feature at
    implementation time.

    Until now, Virtual Private Networks (VPNs) have proved to be a convenient
    solution for the establishment of secure connections between private nodes
    throughout a public network. The creation of such VPNs requires the use of
    special techniques such as IPSEC [2], which works under the basis of
    encryption, and other cryptographic mechanisms.

    The application of such techniques in a mobile environment will provide a
    secure solution but it is probable that the performance of the network
    will be affected. These techniques were created to work over fixed
    networks and since mobile networks differ in certain characteristics it is
    necessary to find better solutions.

Sanchez, et al            Expires 16 December 2000             [Page 2]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    As mentioned earlier the basis of a Virtual Private Network relies on the
    use of cryptographic mechanisms such as encryption, message digests, etc.
    The protocol presented in this document seeks the best performance for
    mobile environments without affecting the expected levels of security,
    MVPN provides strong authentication and fast re-registration, and can be
    applicable to current network systems, mobile or fixed.

1.1. Comparison with IPSEC Virtual Private Networks

    IPSEC [2] is a standard defined by the IETF that describes a mechanism to
    authenticate and/or encrypt IP packets. It defines two services:
    Authentication Header (AH) [3] and Encryption Security Payload (ESP) [4]
    that can be use in two different modes: transport mode and tunnelling
    mode.

    IPSEC was created to work for IPv4 and IPv6 so it is one of the most
    popular mechanisms to implement VPNs along the Internet. It requires the
    establishment of one security association that will offer a one-way
    service, this means that it will be necessary to create four security
    associations between entities A and B in order to authenticate and encrypt
    packets in a two-direction communication path.

    Even though IPSEC appears to be a secure and optimal solution for the
    creation of VPNs and can be used for Mobile IP, it is necessary to
    identify the best mode and structure on which it can provide a better
    performance to the network without affecting the security requirements.

    IPSEC can add extra and unnecessary overhead to packets that are short and
    it is very strict in the use of its services and modes, which makes it
    difficult to be optimised for Mobile IP. It also interferes with other
    mechanisms such as the ones implemented by Quality of Service (QoS) by
    using end to end encapsulation, which includes the TCP header [5].

    Building Mobile Virtual Private Networks requires the consideration of new
    parameters and the use of conventional methods such as IPSEC can arise
    new problems, for example:

    - If an 'end to end' protection with IPSEC is used, the foreign and home
      agents will not be able to authenticate the data flow between the mobile
      and correspondent nodes. In this case the foreign agent network will be
      vulnerable since the firewall protecting the foreign agent cannot
      perform packet authentication and packet filtering due to the fact that
      all the information preceding the IPSEC header is encrypted.

    - If a system of security tunnels is used, for example tunnels from:
      'CN to HA', 'HA to FA' and 'FA to MN', the connection will not be
      optimised for performance. IPSEC will allow the creation of such
      tunnelling system but the management of security channels, keys and
      packets will affect the performance of the MVPN.

    Schneier and Ferguson performed an analysis of IPSEC [6] and described
    several concerns about the security provided by IPSEC. Even though its
    application to Mobile IP is possible [7] and in some level effective it
    does not allow Mobile IP to offer its best performance.




Sanchez, et al            Expires 16 December 2000             [Page 3]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    In comparison, MVPN only requires the use of encryption and other
    cryptographic mechanisms as well as the inclusion of additional headers in
    the registration request and registration reply messages of the Mobile IP
    protocol. During the same registration process all entities involved in it
    will receive session keys for authentication and encryption that will
    enable them to perform a faster communication and negotiation for future
    registrations. MVPN uses the same number of messages required for the
    registration process hence it only adds processing time for the
    encryption and decryption operations.

    MVPN is based on a Public Key Infrastructure, which offers a secure
    environment for authentication and session key distribution, it also
    improves the security and performance of the system with the inclusion of
    of a third party called Trusted Centre.

    Even though MVPNs do not pretend to establish a universal solution, they
    can be use in any environment that requires authentication, integrity and
    confidentiality, by specifying the principles on which the MVPN should
    work. No matter the requirements a network might have an appropriate MVPN
    can be created or adapted, and the compatibility between them SHOULD be
    seamless.

    MVPN offers flexibility in the selection of the encryption/decryption
    algorithm and key size, it is possible to make it compatible with existing
    mechanisms and have the same features as IPSEC VPNs.

    IPSEC can be used in any environment and will offer authentication,
    confidentiality and integrity mechanisms but it will involve a more
    complex administration for a mobile environment which makes it less
    suitable as an appropriate solution.

    To implement MVPN over Mobile IP, the latter will require small changes in
    its functionality as well as the inclusion of the extensions defined in
    this document, also it will be necessary for the foreign and home networks
    to provide a Public Key Infrastructure mechanism that uses a trusted
    third party for the authentication.






















Sanchez, et al            Expires 16 December 2000             [Page 4]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

2. Terminology

2.1. General Terms

      IP
            Internet Protocol.

      MVPN
            Mobile Virtual Private Network.

      Node
            A device that implements IP.

      Nonce
            

      Packet
            It is an IP header plus payload.

      Public Key
            Key used in Public Key Infrastructures available for the public.

      Private Key
            Key used in Public Key Infrastructures as private.

      Ku
        A
            Public key of node A.

      Kr
        A
            Private key of node A.

      E
       Ku
         A
            Encryption using the public key of node A.

      DSS
            Digital Signature Standard.

      Security association
            Simplex connection that affords security services to the traffic
            carried by it.

      Virtual Private Network
            Is a private data network that uses the public telecommunication
            infrastructure, maintaining privacy through the use of a
            tunnelling protocol and security procedures.

    Terms specific to Mobile IP can be found in RFC 2002.

2.2 Specification Language

    The keywords "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 [3].

Sanchez, et al            Expires 16 December 2000             [Page 5]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

3. Overview of Mobile Virtual Private Network

3.1. Basic Operation

    Before a mobile node can start communicating with any correspondent node,
    it is necessary for it to obtain a care-of address from an available
    foreign agent, and then register it with its home agent.

    To avoid any possible intrusions within the networks it is required to
    authenticate all the messages exchanged during the registration process
    (registration request and registration reply messages), and then establish
    session keys. In the model described here the session keys include an
    authentication and an encryption key, that will be used during subsequent
    communications that any of the mobile agents may have with the other
    parties.

    The authentication of a node requires that a shared secret, referenced by
    a security association, is already shared between the authenticating
    parties. In many occasions this shared secret is exchanged between them
    by a process called handshake or negotiation.

    MVPN suggests the use of a Public Key Infrastructure (PKI), which requires
    every mobile entity to have a Private (Kr) and Public (Ku) key registered
    with a trusted third entity. The generation and distribution of these keys
    will be explained in following sections.

    With the use of a PKI every entity will be able to authenticate and
    exchange session keys (shared secrets) between them in a very secure
    manner. A third entity known as Trusted Centre will be in charge of
    the registration of the public keys created by the home agent and their
    distribution to other nodes.
	
    If a node wishes to contact another one, it needs to query the Trusted
    Centre for the public key of the node. This implies that every node will
    know the public of the Trusted Centre and will be able to contact it in a
    secure way.

    MVPN will work under the following assumptions:

    - Every mobile node MUST have a SMART CARD that contains its Private Key.
    - Every mobile node MUST know the Public Key of its home agent.
    - Every node that belongs to a domain MUST know the Public Key of the
      Trusted Centre available for that domain.
    - Every node MUST have a unique Identification that SHOULD be created and
      distributed by the home agent.
    - Every Public Key MUST be registered with the Trusted Centre and MUST
      only be retrieved by providing a mean for its authentication.
    - A node MUST only obtain the Public Key of another node by using the 
      Trusted Centre services. The Trusted Centre MAY act as a broker for the
      retrieval of Public Keys of nodes that belong to different domains.
    - The home and foreign agents MAY keep a list of Public Keys that belong
      to specific mobile nodes. This to be used in case the Trusted Centre is
      not available or to accelerate the authentication process.
    - The keys MUST be refreshed every certain period of time to reinforce the
      security of the system.
    - Every node MUST have the capability of performing cryptographic
      calculations such as encryption.

Sanchez, et al            Expires 16 December 2000             [Page 6]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    - In order to communicate with the mobile node, the correspondent node
      MUST provide information to prove its identity to the home agent.
    - Every mobile entity, including the corresponding node, MUST support at
      least the SHA-1 or MD5 algorithms.

     The authentication information will be carried as extensions of the
     Mobile IP protocol. The scheme presented here only establishes the basic
     principles by which a PKI authentication process should be created in a
     mobile environment hence, it will be possible to create compatible
     security mechanisms that work under the same basis.

     To provide a small level of protection the Agent Advertisement message
     sent by the foreign agent will be linked to the Registration Request.
     After that, the exchange of registration messages will be the same as the
     one indicated in the Mobile IP protocol specification.

     The protocol will be composed by two sets of messages. The first will be
     known as 'First Contact', and is carry out when the mobile node visits a
     foreign domain for the first time. The second set of messages belongs to
     the 're-registration' phase, and is perform when the lifetime of the
     previous Registration Request is about to expire, during this phase the
     mobile agents already know their Public Keys, the Public Key of the
     mobile node and already share session keys (authentication/encryption)
     with the mobile node, these infers that less information will be
     exchanged for the re-registration of the mobile node and will be not
     necessary to contact the Trusted Centre unless it is required (keys
     expired).

     The messages transmitted on a public network, in the Mobile IP case the
     registration request transmitted from the foreign agent to the home
     agent, will require a stronger level of security. It is our belief that
     security should be applicable according to the risks presented in
     different scenarios; since the information is travelling on a public
     network it is necessary to provide a stronger security mechanism. After
     completing the registration process the mobile node is now able to
     receive information from any authorised correspondent node.

     Even though the mobile node is ready for receiving/sending information
     the correspondent node will need to complete a similar procedure for
     its authentication. Before initiating any communication, the
     correspondent node needs to authenticate itself with the mobile node.
     This will be performed with the help of the home and foreign agents and
     will also serve for the distribution and establishment of a session key
     to be shared between the correspondent and mobile nodes using the
     Diffie-Hellman algorithm.

     The mobile entities and the correspondent node MUST be able to negotiate
     or indicate the type of cryptographic mechanism to implement for
     encryption and message digest calculation, this implies that the length
     of the keys will be variable and should be specified in the extension on
     which it is included.

                         





Sanchez, et al            Expires 16 December 2000             [Page 7]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

3.2. Mobile Virtual Private Network

3.2.1. First Contact

    In this phase the mobile node is visiting the network managed by a foreign
    agent for the first time. None of them knows the Public Key of the other
    party and they do not share any information that might be use to attach
    them. The mobile node is only aware of the Public Key of its home agent.

    The First Contact is performed by the distribution of four extensions that
    are added to the Registration messages already needed to be exchanged
    between the mobile entities.

    The first message received by the mobile node is the ICMP Agent
    Advertisement as described in [1]. This message MUST not be protected
    since it represents the first encounter the foreign agent has with any
    mobile node and it is certain that a mobile node does not have any
    association with the foreign agent, i.e. does not know the Public Key of
    the foreign agent.

    The foreign agent MUST set the sequence number field of the ICMP Agent
    Advertisement message. This 16-bit value MUST be used by the mobile node
    as a nonce, notice that the nonce value is a 16-bit value, which means
    that other 16-bit need to be added to the sequence number in order to
    create the final mobile node nonce, this value MUST be returned to the
    foreign agent to help it keep track of the advertisements answered and to
    insure that the messages are not been replayed.

3.2.1.1 Registration Request

    After receiving the ICMP advertisement, the mobile node answers with a
    Registration Request, which must include an authentication extension and
    the 'mobile information' extension defined by the MVPN protocol.

    Since the mobile node is using a SMART CARD it is possible for the home
    and foreign domains to keep a record and inventory of all the mobile nodes
    using their services. That is why the extensions defined by the MVPN
    include relevant information about the identity of the mobile node,
    consisting of specific information of the SMART CARD.

    If the mobile node is not using a SMART CARD then the information that
    corresponds to it can be omitted or the fields can be use to provide other
    relevant information, this information can also be discarded to reduce the
    size of the packet.

    Other information included in the 'mobile information' extension will
    serve the home agent to perform the appropriate authentication and the
    creation and distribution of the session keys.

    The 'mobile information' extension MUST include:

    - Mobile node's identification number.
    - Home agent's identification number.
    - Nonce generated by the mobile node.
    - Sequence number of the ICMP Agent Advertisement message.
    - Mobile node's authentication key.


Sanchez, et al            Expires 16 December 2000             [Page 8]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000  

    The 'mobile information' extension MIGHT include:

    - MAC address of the computer.
    - Identification number of the SMART CARD.
    - Mobile node's public key (optional).

    The complete structure of the 'mobile information' extension can be found
    in section 4.1.

    If the home agent is not available it is possible for the mobile node to
    provide its Public Key to the foreign agent, this is not recommendable
    during the 'first contact' since it could be possible for any attacker to
    intercept the key and use it. The retrieval of the Public Key with the
    Trusted Centre enables the foreign agent to verify its authenticity. This
    will allow the foreign agent the provision of certain services while
    trying to establish contact with the home agent.

    The authentication extension will be constructed as defined in [1] and is
    used to protect the integrity of the packets. The authentication key
    applied for the generation of the authentication extension will be added
    to the 'mobile information' extension to enable the home agent to perform
    the appropriate verification of the message and authenticity of the node.
	
    There is the possibility of using an optional extension 'home agent
    addresses', which contains the addresses of other home agents trusted by
    the mobile node's home agent that can perform the authentication of the
    mobile node, they share the private key of the home agent and all the
    Public Keys belonging to the mobile nodes. They cannot provide typical
    home agent services such as binding messages, tunnelling and packet 
    forwarding, but they will enable the mobile node to have access to
    Internet services.

    The use of home agent negotiators provides the capability of allow a valid
    user to communicate, more information about this extension will be
    provided in a future draft.

    Since this is the first contact the mobile node has with the foreign
    agent, the latter will not be able to perform the integrity check and
    authentication of the packet. The foreign agent MUST save the information
    contained in the packet, create the 'foreign information' extension, add
    it to the Registration Request message and send it to the home agent. The
    integrity and authentication of the Registration Request message will be
    performed until the home agent replies to the foreign agent about that
    request, i.e. when it receives the key used by the mobile node for the
    creation of the authentication extension.

    The purpose of the 'foreign information' extension is to provide
    information to the home agent so it can perform the authentication of the
    foreign agent. The foreign agent MUST request the public key of the home
    agent to the Trusted Centre by using the security association existing
    between them, since the home agent belongs to a different domain the
    Trusted Centre will need to contact another Trusted Centre in order to
    retrieve the appropriate key.

    The 'foreign information' extension includes the foreign agent IP address,
    a nonce and the identification of the foreign agent. The complete
    structure of the extension is shown in section 4.2.

Sanchez, et al            Expires 16 December 2000             [Page 9]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    The authentication extension provided by the mobile node is no longer
    needed, the foreign agent will calculate a new one that includes a 
    digital signature for integrity protection. The 'mobile information'
    extension needs to be attached to the message.

    More protection will be provided in this message since it will travel 
    outside the foreign domain, i.e. public network. This escalation of 
    security improves the optimisation of the authentication process.

    The home agent will receive the Registration Request and perform the 
    authentication of the mobile node. Also it will verify the integrity of
    the message by using the digital signature included in the packet, the
    Public Key of the foreign agent and the group key, generated by the
    Trusted Centre.

    The following diagram shows where the extensions need to be included
    in the Registration Request message:

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |S|B|D|M|G|V|rsv|          Lifetime             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Home Address                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           Home Agent                          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        Care-of Address                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                         Identification                        +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                                                               +
    |                                                               |
    +                                                               +
    |                                                               |
    +                             MVPN                              +
    |                           Extension                           |
    +                                                               +
    |                                                               |
    +                                                               +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                   Authentication Extension                    +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+









Sanchez, et al            Expires 16 December 2000             [Page 10]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

3.2.1.2. Registration Reply

    After verifying the integrity and authentication of the packet the home
    agent will reply to the foreign agent with a Registration Reply message as
    defined in [1].

    The Registration Reply MUST include the 'home information' extension,
    which serves the same purpose as the other extensions previously described.
    It will provide information about the home agent as well as the session
    keys, encryption and authentication, that the mobile entities will use in
    future communications.

    Some of the information will be available only for the mobile node, which
    means that it will be protected with the mobile node's Public Key, it is
    important to maintain confidentiality between the mobile node and home
    agent and only provide to the foreign agent information relevant to the
    services it needs to supply to the mobile node.

    The 'home information' extension MUST contain the nonce provided by the 
    foreign agent, result of the Registration Request, Home Agent's
    identification, Public Key of the foreign agent (provisioned by the
    Trusted Centre), encryption and authentication keys (for future
    communications), authentication key used by the mobile node for the
    creation of the authentication extension send by the mobile node to the
    foreign agent, and the Public Key of the mobile node.

    The complete structure of the 'home information' extension is shown in
    section 4.3. 

    The extension MUST be added to the Registration Reply and send to the 
    foreign agent as a 'home information' extension. The foreign agent MUST
    verify the integrity of the message and the authentication provided by the
    home agent, including the verification of the nonce.

    With the information provided by the home agent, the foreign agent is now
    able to authenticate the Registration Request message provided by
    the mobile node, after that the message can be discarded.

    The foreign agent will extract the information relevant to the mobile
    node and create the 'mobile reply' extension that contains an acknowledge
    value that indicates whether the authentication process was successful or
    not, the nonce value provided in the registration request by the mobile
    node, registration and authentication keys, and foreign agent's public key.

    The complete structure of the 'mobile reply' extension is shown in section
    4.4.

    Notice that the authentication between the mobile node and foreign agent
    is performed by using the information provided in the Registration Request
    message, while the authentication between the home agent and foreign agent
    is performed with the information provided in the Registration Reply
    message.

    The nonce values help the foreign agent to identify the mobile node it
    needs to authenticate and to prevent any replay attack, the same happens
    with the authentication of the home agent.


Sanchez, et al            Expires 16 December 2000             [Page 11]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    After performing the authentication, the Registration Reply MUST be
    encrypted with the public key of the mobile node and its integrity MUST be
    protected with an authentication extension created with the application of
    a hash function and using the authentication key provided by the home
    agent in the 'home information' extension.

    The Registration Reply is send to the mobile node, with the 'mobile reply'
    added. The mobile node MUST verify the authenticity of the packet and
    record the encryption and authentication keys provided by the home agent.

    At the end the mobile node is capable of communicate with any
    correspondent node, providing that the Registration process was
    successful, and the mobile entities share an encryption and an
    authentication key, they also know the public keys of the other parties.

3.2.2. Re-registration of a mobile node

3.2.2.1. Revisiting a foreign agent

    The re-registration phase refers to the registration of a mobile node to
    its current point of attachment, which means that the lifetime of the
    previous Registration Request is about to expire and a new registration is
    needed.

    During the previous registration all the necessary information was
    distributed to the mobile entities, which means that less calculations
    will be required and more time will be saved. The purpose of MVPN is to
    optimise the authentication process for security and performance.

    The re-registration specified in this document will be applicable only if
    the lifetime of the encryption and authentication keys shared between the
    mobile entities are still valid, if not the mobile node will need to
    complete the 'first contact' phase for the registration.

    Before the lifetime of the previous registration expires, the mobile node
    MUST send a normal Registration Request message without including any
    extension, but protecting the data flow by using the encryption and
    authentication keys that the mobile entities already share. In this way
    the procedure of re-registration is quicker and more secure.

    The Registration Request received by the foreign agent will be encrypted
    and authenticated, since the foreign agent has a copy of the keys it MAY
    decrypt and verify the integrity of the packet.

    The foreign agent MAY decide to delegate the message to the home agent by
    only changing the IP header of the packet, or it can perform the
    validation of the Registration Request.

    The home agent MAY create new encryption and authentication keys to
    improve the security of the system and meet the requirements of key
    refreshment.







Sanchez, et al            Expires 16 December 2000             [Page 12]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

3.3. Changing the foreign agent

    When changing foreign agents, the mobile node MUST provide the
    authentication key shared with the previous foreign agent and the
    correspondent node to the new foreign agent. This will allow the mobile 
    node to keep communicating without interruptions.

     After the first contact of the mobile node, the latter MUST send the 
     encrypted information to the foreign agent. The message MUST be send as 
     an UDP message and MUST contain the ID of the session held between the
     mobile node and the correspondent node, the correspondent nodes' IP
     address, the length of the authentication key and the authentication key.

     Every time a mobile node changes foreign agents or the lifetime of the
     previous Registration Request ends, the keys will be considered expired
     and the mobile node will need to register following the procedure
     indicated in the 'First Contact' phase.

3.4. Session key generation

     Once the authentication and the public key exchanged has been performed
     the mobile node is able to communicate with a correspondent node. In the
     model presented here we specified the requirement of authenticating the
     correspondent node before establishing any communication with the mobile
     node.

     The home agent MUST perform the initial authentication of the
     correspondent node and MUST create and distribute an authentication key
     that will be shared between the mobile entities, including the
     correspondent node.

     The session key can have a variable extension to allow the use of any
     encryption algorithm selected by the communicating parties. The basic
     principle is to authenticate the packets exchanged between the nodes with
     the help of the mobile agent, they will not be able to decrypt the
     packets, only the correspondent node and mobile node are capable of
     doing that. That way confidentiality between the mobile and correspondent
     nodes is still guaranteed.

     The correspondent and mobile nodes MUST generate a session key, using the
     Diffie-Hellman algorithm, to perform data flow encryption. This key will
     be shared only between them.

     There will be one data flow authentication key between the home agent, 
     foreign agent, correspondent node and mobile node, and one data
     encryption key shared between the correspondent node and mobile node.

     The correspondent node - mobile node session key is not modified when the
     mobile node changes foreign agents, the new foreign agent MUST receive
     the authentication key from the mobile node so the data flow continues as
     before.







Sanchez, et al            Expires 16 December 2000             [Page 13]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

3.5. Communication with the correspondent node

    Before communicating with the mobile node, the correspondent node needs to
    authenticate itself to the home agent by using its public key registered
    with the Trusted Centre, and receive the authentication key distributed by
    the home agent.

    After that, the correspondent node can initiate the communication. All
    messages, including the session key exchange messages, are sent as UDP
    messages.
	
    The correspondent node sends a 'Request Communication' message to the home
    agent, which includes a random generated number representing the Y value
    of the Diffie-Hellman algorithm, the identification of the correspondent
    node, the IP address of the mobile node, a nonce, and the security
    algorithms supported by the correspondent node.

    The complete structure of the 'Request Communication' message is shown in
    section 5.1.

    The security algorithms are represented as flags, if the flag has a zero
    value it means that the correspondent node does not support an specific
    security algorithm (SHA-1, MD5). This will allow the mobile node and
    foreign agent to select an algorithm that they implement.

    The information will be encrypted with the Public Key of the home agent
    and the private key of the correspondent node, depending on the type of
    information to be send. The authentication of the message will be
    performed by the home agent using the Public Key of the correspondent
    node.

    The home agent MUST authenticate the message and check its integrity, if
    everything is correct it MUST generate the session key for authentication
    and distribute it to the nodes. It sends a 'Correspondent Information'
    message to the mobile node that includes the session key, the Y value,
    correspondent nodes' identification, public key, and IP address,
    a 'Hello value' and the security algorithms supported by the
    correspondent node. 

    The complete structure of the 'Correspondent Information' message is shown
    in section 5.2.

    Since the packets are received by the foreign agent this needs to be
    involved in the process of establishing the communication parameters, it
    will verify the 'Hello value', extract the authentication key, set the 
    security algorithm that it supports and send that information along with
    the one received from the home agent to the mobile node. Protecting it
    with the Public Key of the mobile node and the foreign agents' Private
    Key.

    The mobile node MUST reply to the foreign agent with a 'Correspondent 
    Response' message by sending a random number that represents the Y value
    of the Diffie-Hellman algorithm, the nonce generated by the correspondent
    node and indicate the security algorithms it supports. This information
    will be protected with the Public Key of the correspondent node and the
    Private Key of the mobile node.


Sanchez, et al            Expires 16 December 2000             [Page 14]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    The complete structure of the 'Correspondent Response' message is shown in
    section 5.3.

    Finally, the foreign agent MUST send the 'Communication Reply' message to
    the correspondent node. It will basically contain the same information as
    the one contained in the 'Correspondent Response' message.
	
    This information is already encrypted so it is not necessary to re-encrypt
    it, its integrity will be protected by using a nonce and the
    authentication key. The complete structure of the 'Communication Reply'
    message is shown in section 5.4.

    The mobile entities, including the correspondent node, share a session key
    for authentication, and the mobile node and correspondent node have the
    material to calculate the encryption key by using the Diffie-Hellman
    algorithm. They will use as encryption algorithm one of the specified in
    the security algorithm field of the messages.

    Now the nodes are able to communicate with the added value of
    authentication and encryption of the data flow. It is important to note
    that the establishment of security associations between the correspondent
    nodes with the mobile entities is optional, but it is significant to
    consider the authentication and protection of information generated by a
    correspondent node since it will also have access in an indirect way to
    the protected networks.

3.5.1. Mobile data flow

    The data field of the packet that flows from the mobile node to the 
    correspondent node, or vice versa, contains information about the security
    association built between the mobile node and the correspondent node
    during the process described in section 3.5. This security association
    makes reference to information for encryption and authentication of the
    packets exchanged between them.

    The structure of the packet, from the mobile node's point of view, will be
    as follows:

    ----------------------------------------------------------
    | IP  | TCP |  CN   | Authentication |  security  | data |
    | hdr | hdr | nonce |                | parameters |      |
    ----------------------------------------------------------

    The authentication value is added to verify the integrity of the packet,
    and is calculated using a keyed MD5 or HMAC of the entire IP packet. The
    key is the one shared between the mobile entities and the correspondent
    node, and it is distributed as described in section 3.5.

    The CN nonce will be use as a first step for authentication, if the value
    is not correct then the packet is considered invalid and therefore it is
    discarded. It is used to protect against replay attacks and to serve
    against minor Denial of Service attacks.

    The message received by the home agent from the correspondent node will be
    verified by using first the CN nonce value and then the authentication
    value. The home agent will tunnelled the packet using TCP in TCP (see
    section 7 for more details) to the foreign agent modifying the
    authentication value to protect the new TCP header.
Sanchez, et al            Expires 16 December 2000             [Page 15]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    The foreign agent will authenticate the packet, de-tunnelled it and
    delivered it to the mobile node, building a new authentication value. The
    mobile node can prove the authentication and can decrypt the message by
    using the shared key with the correspondent node. Notice that the
    encryption key is different from the authentication key.

    The encryption method can be selected by the parties, according to the
    encryption algorithms they support. The structure of the message is as
    follows:

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    | Auth Sec Par  | Encr Sec Par  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                              SPI                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Data ...                              
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
         55

    Length
         96

    Auth Sec Par
         8-bit value indicating the authentication method used, the values are
         defined as follows:

         01 - MD4
         02 - MD5
         03 - SHA-1
         04 - DSS

    Encr Sec Par
         8-bit value indicating the encryption method used, the values are
         defined as follows:

         01 - DES
         02 - SkipJack
         03 - IDEA
         04 - Blowfish
         05 - triple DES
         06 - AES

    SPI
         32-bit security parameter index to identify the key to be used for
         the authentication and decryption of the packet

    Data
         n-bit information send by the parties






Sanchez, et al            Expires 16 December 2000             [Page 16]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

4. Error messages

    In case of encountering an error during the communication of nodes MVPN 
    specifies the use of error messages. Upon the arrival of the error
    message, the receiver will not need to perform any specific mechanism,
    these messages have informational purposes only.

    The errors occurred during the 'first contact' phase will be send as UDP
    packets from a different port as the data flow errors.

    Following is the structure of the error message:

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    |          Error code           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	
    Error code
         01 - Authentication key not valid
         02 - Session key not valid
         03 - No support offered for MVPN
         04 - Public key not valid
         05 - Home agent not found
         06 - Trusted Centre not found
         07 - other

    The mobile entities can also use the error messages specified by the MIP.

5. MVPN Extensions

    MVPN establishes the use of three new extensions to perform the process of
    authentication, each extension MUST be added to the Registration Request
    and Registration Reply messages as indicated in section 3.2.

    It is important to point out that the boundaries shown in the following
    diagrams will disappear after the encryption of the packet, the diagrams
    only show them to be more comprehensible.

5.1. Mobile information extension

    The logical structure of the 'mobile information' extension from the
    cryptographic point of view:

    M = [MN Nonce | MAC ID | USER ID | SC ID | MN Auth key]

    Mobile information extension = E    [E     [M] | OTHER INFO] | HA ID
                                    Kr    Ku
                                      MN    HA









Sanchez, et al            Expires 16 December 2000             [Page 17]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    |           MN Nonce            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            MN Nonce           |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
    |                         DVC MAC ID                            |
    +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                               |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
    |                            USER ID                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    len    |               MN Auth key ...
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
         36

    Length
         Size of the complete message, excluding the type and length fields

    MN Nonce
         32-bit number, the first 16-bit represent the sequence number of the
         ICMP Agent Advertisement the mobile node is responding. The rest
         16-bit are generated by the mobile node as nonce

    DVC MAC ID
         64-bit identification of the computer used as mobile node

    USER ID
         48-bit identification of the mobile node

    SC ID
         64-bit identification of the SMART CARD the mobile node is using.
         This information is optional.

    OTHER INFO
         64-bit information for the foreign agent. It is used in case the
         foreign agent cannot contact the home agent and the foreign agent has
         the mobile node's Public Key in its cache memory or obtained it
         through a Trusted Centre. This information is optional.

    len
         6-bit length of the authentication key

    MN Auth key
         n-bit key used in the calculation of the authentication extension.
         The maximum value for this authentication key will be [8]









Sanchez, et al            Expires 16 December 2000             [Page 18]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

5.2. Foreign information extension

    The logical structure of the foreign information extension from the
    cryptographic point of view:

    F = E    [FA ADR | FA Nonce]
         Ku
           HA

    Foreign information extension =  E    [F] | FA ID
                                      Kr
                                        FA

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    |           FA Nonce            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            FA Nonce           |            FA ADDR            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             FA ADDR           |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
    |                             FA ID                             |
    +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
         37

    Length
         16 bytes

    FA Nonce
         32-bit nonce number generated by the foreign agent

    FA ADDR
         32-bit IP address of the foreign agent

    FA ID
         64-bit Identification of the foreign agent

5.3. Home information extension 

    The logical structure of the home information extension from the
    cryptographic point of view:

    Q = FA Nonce | Result | KuMN | MN Nonce | Ses Key | Auth Key | MN Auth key

    W = E    [KuFA | MN Nonce]
         Ku
           MN

    Home information extension = E    [E    [Q]] | W
                                  Ku    Kr
                                    FA    HA


Sanchez, et al            Expires 16 December 2000             [Page 18]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    |           FA Nonce            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            FA Nonce           |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
    |                             FA ID                             |
    +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                               | len1  | len2  | len3  | len4  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                            Ses Key                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           Auth Key                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          MN Auth Key                          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                             KuMN                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
         38

    Length
          Size of the extension

    MN Nonce
          32-bit nonce generated by the mobile node

    len(i)
          4-bit size of the following keys

    KuFA
          n-bit foreign agent's public key

    Ses Key
          n-bit session key used by the mobile entities for encryption

    Auth Key
          n-bit authentication used by the mobile entities

    MN Auth Key
          n-bit authentication key used by the mobile node in the
          authentication extension

    KuMN
          n-bit mobile node's public key

5.4. Mobile Reply Extension

    The logical structure of the mobile reply extension from the cryptographic
    point of view:

    T = E    [E    [ACK | MN Nonce | Ses Key | Auth Key]]
         Ku    Kr
           MN    FA

    Mobile reply extension = T | W
Sanchez, et al            Expires 16 December 2000             [Page 20]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    |           MN Nonce            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            MN Nonce           |              ACK              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |               ACK             |    len    |                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                   +
    |                          Ses Key                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    len    |                  Auth Key                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                            W                                  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
        39

    Length
        Size of the mobile reply extension

    ACK
        32-bit response of the home agent and mobile node

    W and other fields
        See section 5.3

6. MVPN Messages

    MVPN introduces the use of three messages for the authentication of a 
    correspondent node wishing to communicate with the mobile node and the 
    creation of a security association between them. Their use is explained in
    section 3.4.1.

    It is important to point out that the boundaries shown in the following
    diagrams will disappear after the encryption of the packet, the diagrams
    only show them to be more comprehensible.

6.1. Request Communication Message

    The logical structure of the request communication message from the
    cryptographic point of view:

    V = MN ADDR | E    [Ycn | CN ID] | CN Nonce
                   Kr
                     CN

    Request communication message = E    [V | Sec Par | P value | g value]
                                     Ku
                                       HA







Sanchez, et al            Expires 16 December 2000             [Page 21]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    |    len    |                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                   +
    |                              Ycn                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                             CN ID                             +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           CN Nonce                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           Sec Par             |    len    |                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                   +
    |                               P value                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    len    |                   g value ...
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
         1

    Length
         19

    len
         length of the Ycn value

    Ycn
         48-bit value for the Diffie-Hellman algorithm

    CN ID
         64-bit identification of the correspondent node

    CN Nonce
         32-bit nonce generated by the correspondent node

    Sec Par
         16-bit flags that represent security algorithms supported by the
         correspondent node

    len
         6-bit size of the P value

    P value
         n-bit P value corresponding to the Diffie-Hellman algorithm for the
         calculation of a shared secret key

    len
         6-bit size of the g value

    g value
         n-bit g value corresponding to the Diffie-Hellman algorithm for the
         calculation of a shared secret key



Sanchez, et al            Expires 16 December 2000             [Page 22]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

6.2. Correspondent Information Message

    The logical structure of the correspondent information message from the
    cryptographic point of view:

    U = E    [Ses Key | V | KuCN | CN ADDR]
         Ku
           MN

    Correspondent information message =

    E    [U | E    [Hello Value | Sec Par | P value | g value]]
     Kr        Ku
       HA        FA

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    |    len    |                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                   +
    |                              Ycn                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                           CN ID                               +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           CN Nonce                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           Sec Par             |    len    |                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                   +
    |                          Ses Key                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    len    |                  KuCN                             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                      Hello Value                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        CN ADDR                                |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    len    |                    P value                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    len    |                    g value                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
         2

    Length
         Size of the message

    len 
         Size of the Ycn value
	
    Ycn
         48-bit value for the Diffie-Hellman algorithm

    CN ID
         64-bit identification of the correspondent node

Sanchez, et al            Expires 16 December 2000             [Page 23]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    CN Nonce
         32-bit nonce generated by the correspondent node

    Sec Par
         16-bit flags that represent security algorithms supported by the
         correspondent node

    Ses Key
         n-bit session key shared between the mobile entities for encryption

    KuCN
         Public Key of the mobile node

    Hello Value
         Control string

    CN ADDR
         32-bit correspondent node IP address

    len
         6-bit size of the P value

    P value
         n-bit P value corresponding to the Diffie-Hellman algorithm for the
         calculation of a shared secret key

    len
         6-bit size of the g value

    g value
         n-bit g value corresponding to the Diffie-Hellman algorithm for the
         calculation of a shared secret key

6.3. Correspondent Response Message

    The logical structure of the correspondent response message from the
    cryptographic point of view:

    L = E    [E    [Ymn | Sec Par | P value | g value]]
         Kr    Ku
           MN    CN

    Correspondent response message =

    E    E    [Ses Key | CN ID | CN ADDR] | L]
     Kr   Ku
       MN   FA











Sanchez, et al            Expires 16 December 2000             [Page 24]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000


    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    |    len    |                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                   +
    |                              Ymn                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                            CN ID                              +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           CN Nonce                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           Sec Par             |    len    |                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                   +
    |                          Ses Key                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                          CN ADDR                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    len    |                    P value                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    len    |                    g value                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
         4

    Length
         Size of the message

    len
         Size of the Ymn value

    Ymn
         48-bit value for the Diffie-Hellman algorithm

    CN ID
         64-bit correspondent node identification

    CN Nonce
         32-bit nonce generated by the correspondent node

    Sec Par
         16-bit flags that represent security algorithms supported by the
         foreign agent

    Ses Key
         n-bit session key

    CN ADDR
         32-bit correspondent node's IP address

    len
         6-bit size of the P value



Sanchez, et al            Expires 16 December 2000             [Page 25]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    P value
         n-bit P value corresponding to the Diffie-Hellman algorithm for
         the calculation of a shared secret key

    len
         6-bit size of the g value

    g value
         n-bit g value corresponding to the Diffie-Hellman algorithm for the
         calculation of a shared secret key

6.4. Communication Reply Message

    The logical structure of the correspondent response message from the
    cryptographic point of view:

    Communication reply message = L | CN Nonce

    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |     Length    |    len    |                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                   +
    |                              Ymn                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           CN Nonce                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           Sec Par             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
         5

    Length
         Size of the message

    len
         Size of the Ymn value

    Ymn
         48-bit value for the Diffie-Hellman algorithm

    CN Nonce
         32-bit nonce value generated by the correspondent node

    Sec Par
         16-bit flags that represent security algorithms supported by the
         mobile node










Sanchez, et al            Expires 16 December 2000             [Page 26]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

7. Public Key Infrastructure

    It is outside of the scope of this document to describe the complete
    functions that a Trusted Centre must have when working in a mobile 
    environment, however it is important to mention the basic ideas on which
    they should work.

7.1. Generation and distribution of keys

    As mentioned earlier, every node that belongs to a network domain SHOULD
    be provided with a Public and a Private Key that are managed by a Trusted
    Centre.

    In public key cryptography, the public and private key are generated at
    the same time using the identical algorithm, normally these keys are
    generated by the Trusted Centre. The private key is given only to the node
    that requested it and the public key is made available to any node, in our
    model a node will only acquire another party's public key through the
    Trusted Centre. The private key is kept, as its own name describes it,
    private, it is not shared with any other node and it is not sent across
    the network, its distribution can be performed via a floppy disk or any
    other mechanism that guarantees confidentiality and privacy.

    The private key is used to decrypt messages that have been encrypted with 
    the public key. It is also possible to encrypt messages with the private
    key and decrypt them with the public key. With the latter it is feasible 
    to perform the authentication of a node.

    For example, A and B are trying to communicate and each have a private and
    a public key registered with the Trusted Centre. A can retrieve B's public
    key and vice versa. If A encrypts a message with B's public key, the only
    one able to decrypt the message will be B, since it can only be decrypted
    with B's private key. If A encrypts a message with its own private key
    then any other node will be able to decrypt it with A's public key. If the
    message encrypted by A is a certificate, then B can be certain that the
    message was sent by A, since it is the only one that posses A's private 
    key.

    In the model described here, it is recommended the keys to be created by
    the home agent and registered with the Trusted Centre. The retrieval of a
    key will be managed by the Trusted Centre and the security will need to be
    more controlled. In order to communicate with the Trusted Centre, every
    node SHOULD know its public key and the Trusted Centre should provide a
    certificate of the key it is providing.

8. TCP in TCP tunnelling

    As mentioned earlier, the IP in IP tunnelling used in mechanisms such as
    IPSEC is not optimal because it interferes with the use of:

    - Optimisation for GEO satellite connections. Techniques such as 'TCP
      connection splitting'. GEO's are a very affordable technology that will
      probably be part of the future.
    - Firewall filtering.
    - Network monitoring.

    If tunnelling is still needed a better option will be TCP in TCP, which
    will solve the problems IP in IP presents.
Sanchez, et al            Expires 16 December 2000             [Page 27]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000
    
    It has a simple mechanism to construct it, new TCP and IP headers are 
    added in front of the original packet as shown in the following diagram, 
    and the original packet can be encrypted and authenticated.

    ----------------------------------------------------------
    |    new IP   |    new TCP  | orig IP  | orig TCP |      |
    |    header   |    header   |  header  |  header  | Data |
    ----------------------------------------------------------

    As disadvantages, the packet will contain redundant information (extra
    TCP header) and the traffic will be incremented.

    The TCP header might contain information that an attacker can use, but
    other techniques such as port masking can be used. Our recommendation is
    to work with TCP in TCP tunnelling since MVPNs do not require the TCP
    in TCP tunnelling that IPSEC or other mechanisms provides.










































Sanchez, et al            Expires 16 December 2000             [Page 28]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

Conclusions

    Virtual Private Networks have proven to be an acceptable solution for the
    implementation of secure communications between private networks that need
    to use a public network as a communication path. There have been several
    proposals for the creation of such VPNs and they seem to be working
    accordingly to the requirements of each application.

    These proposals, including IPSEC, were created thinking on a fixed
    environment and even though they have had good results on some of their
    applications, in others they do not allow the establishment of a secure
    environment without sacrificing the performance of the network.

    One example is their use on a mobile environment. VPN mechanisms were
    thought also as global solutions when in practice it is necessary to
    create a specific solution for a specific situation based in the same
    foundations. IPSEC provides two services and two different modes that
    offer several options for the implementation of a secure channel but it
    does not allow the modification of the protocol to obtain the 'best' of
    two worlds: performance and security.

    Security protocols available nowadays can provide the same security level
    in a mobile environment, we are not discussing the effectiveness of such
    protocols only their applicability to mobile entities. Certainly IPSEC
    can be used for the implementation of VPNs in a mobile world but it does
    not guarantee that its use will be the most optimal.

    The advantages provided by a mobile protocol can be affected if other
    required processes are not the adequate, such is the case of
    authentication. Mobile environments brought with them different
    characteristics and more risks that need to be taken in consideration
    before choosing or implementing a security framework.

    The protocol presented in this document proposes the establishment of a
    Mobile Virtual Private Network by using a Public Key Infrastructure that
    will handle the authentication of the mobile agents during the
    registration of the mobile node. The model used describes the application
    of such MVPNs in private networks belonging to the same corporation, which
    makes feasible the implementation of such PKI and other features presented
    in this document, such as the use of SMART CARDS and the creation of
    public and private keys by the home agent.

    MVPN relies on the cryptographic basis of encryption and authentication,
    providing some mechanisms to protect against man-in-the-middle attacks,
    spoofing and some denial of service attacks. It also protects the home
    and foreign networks by authenticating the correspondent node. Even though
    this means more processing it also means the provision of more security
    and since computational systems are becoming faster it should be possible
    for them to perform these computations.

    MPVN is a protocol optimised for:

    - Small number of messages.
    - Compatibility with Mobile IP.
    - High security-high quality of Mobile Virtual Private Networks.
    - Fast data transmission after the authentication procedure.
    - Practical use and simplicity.

Sanchez, et al           Expires 16 December 2000              [Page 29]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

    Mobile IP still presents some security breaches that cannot be covered
    with MVPN, other mechanisms need to be created to guarantee full
    protection against denial of service attacks to the home and foreign
    agents.

    MVPN provides an authentication framework that can also be applied to
    other protocols such as IIP [9], it will necessary to modified the
    protocol but it should be compatible with other MVPN implementations.

    This protocol is still under revision and its implementation and testing
    will be performed during the following months.















































Sanchez, et al           Expires 16 December 2000              [Page 30]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000


References

    [1] Charles Perkins, editor. IP Mobility support. RFC 2002, 
        October 1996.

    [2] Stephen Kent and Randall Atkinson. Security architecture 
        for the Internet Protocol. RFC 2401, November 1998.

    [3] Stephen Kent and Randall Atkinson. IP Authentication header.
        RFC 2402, November 1998.

    [4] Stephen Kent and Randall Atkinson. IP Encapsulating Security
        Payload (ESP). RFC 2406, November 1998.

    [5] Yongguang Zhang, editor. The implication of end-to-end IPSEC.
        Internet-draft, March 2000.

    [6] Ferguson Neils and Schneier Bruce. A Cryptographic Evaluation of
        IPSEC. Counterpane Internet Security, Inc.


    [7] Secure Mobile Networking Project. Final Report. University of
        Portland, June 1999.

    [8] Rivest, R. The MD5 Message-Digest Algorithm, RFC 1321, April 1992.

    [9] Nam Yap, C. et al. Itinerant Internet Protocol, draft, June 2000.






























Sanchez, et al            Expires 16 December 2000             [Page 31]
INTERNET-DRAFT         Mobile Virtual Private Network        16 June 2000

Authors' Addresses

    Questions about this document can also be directed to the authors:

    Erika Sanchez
    Centre for Mobile Communications
    Department of Electronic and Electrical Engineering
    University of Sheffield
    Regent Court
    211 Portobello Street
    Sheffield S1 4DP, England
    Phone: +44 114 222 2108
    Fax: +44 114 222 8299
    Web: http://www.dcs.shef.ac.uk/~esanchez
    E-mail: E.Sanchez@dcs.shef.ac.uk


    Vesselin Tzvetkov
    Centre for Mobile Communications
    Department of Electronic and Electrical Engineering
    University of Sheffield
    Regent Court
    211 Portobello Street
    Sheffield S1 4DP, England
    Phone: +44 114 222 2108
    Fax: +44 114 222 8299
    E-mail: zzb99vt@sheffield.ac.uk


    Srba Cvetkovic
    Centre for Mobile Communications
    Department of Electronic and Electrical Engineering
    University of Sheffield
    Regent Court
    211 Portobello Street
    Sheffield S1 4DP, England
    Phone: +44 114 222 
    Fax: +44 114 222 8299
    E-mail: srba@dcs.shef.ac.uk