Internet DRAFT - draft-guerrero-manet-sdymo

draft-guerrero-manet-sdymo






Mobile Ad Hoc Networking Working Group             Manel Guerrero Zapata
INTERNET DRAFT                                      Technical University
7 February 2005                                       of Catalonia (UPC)


        Secure Dynamic MANET On-Demand (SDYMO) Routing Protocol
                   draft-guerrero-manet-sdymo-00.txt


Intellectual Property Rights Statement

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

Status of this Memo

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

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

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

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

Copyright

   Copyright (C) The Internet Society (2006). All Rights Reserved.

Abstract

   The Secure Dynamic MANET On-Demand (SDYMO) Routing Protocol is an
   extension of the DYMO routing protocol that can be used to protect
   the route discovery mechanism providing security features like
   integrity and authentication.








Guerrero                  Expires 7 August 2005                 [Page 1]

Internet DRAFT                    SDYMO                  7 February 2005


                             Table of Contents




1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
2. Overview  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   3
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . .   3
4. Routing Element (RE) Signature Extension  . . . . . . . . . . . .   4
5. RERR Signature Extension  . . . . . . . . . . . . . . . . . . . .   5
6. UERR Signature Extension  . . . . . . . . . . . . . . . . . . . .   6
7. SDYMO Operation . . . . . . . . . . . . . . . . . . . . . . . . .   6
     7.1. SDYMO Signatures . . . . . . . . . . . . . . . . . . . . .   6
     7.2. SDYMO Hash Chains  . . . . . . . . . . . . . . . . . . . .   7
8. Adaptations to DYMO that are needed . . . . . . . . . . . . . . .   8
9. Modifications of the draft  . . . . . . . . . . . . . . . . . . .   8
10. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . .   8


































Guerrero                  Expires 7 August 2005                 [Page 2]

Internet DRAFT                    SDYMO                  7 February 2005


1. Introduction

   SDYMO is an extension of the DYMO[1] routing protocol that protects
   the route discovery mechanism providing security features like
   integrity and authentication. It uses digital signatures to
   authenticate the non-mutable fields of the messages, and hash chains
   to secure the hop count information contained in the Routing Block
   Hop Count (RBHopCnt).

   The way SDYMO secures DYMO is very similar compared to the way
   SAODV[2] secures AODV[3]. The reader might find useful to read the
   existing drafts and papers about SAODV.

   SDYMO can use the Simple Ad hoc Key Management (SAKM)[4] as a key
   management system.

2. Overview

   The solution presented in this paper is an extension of the DYMO
   protocol mainly by using new extension messages. In these extension
   messages there is a signature of the DYMO packet with the private key
   of the original sender of the Routing message (not of the
   intermediate nodes that just forward it).

   When RREQ is sent, the sender signs the message. Intermediate nodes
   verify the signature before creating or updating a reverse route to
   that host. And only if the signature is fine they store the reverse
   route. The final destination node signs the RREP with its private
   key. Intermediate and final nodes, again verify the signature before
   creating or updating a route to that host, also storing the signature
   with the route entry.

   Every node, generating or forwarding a RERR message, uses digital
   signatures to sign the whole message and any neighbor that receives
   verifies the signature.

   The hop counts are authentified by using a hash chain.

   TTLs and 'I' flags are not signed.

3. Terminology

   This memo uses the conventional meanings [5] for the capitalized
   words MUST, SHOULD and MAY. It also uses terminology taken from the
   DYMO specifications.






Guerrero                  Expires 7 August 2005                 [Page 3]

Internet DRAFT                    SDYMO                  7 February 2005


4. Routing Element (RE) Signature Extension

    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     | Hash Function | Max Hop Count |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Top Hash                            |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Sign Method  |H|         Reserved            |  Padd Length  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Public Key                           |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Padding (optional)                       |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Signature                           |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Hash                              |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type         64

   Length       The length of the type-specific data, not including the
                Type and Length fields of the extension in bytes.

   Hash Function
                The hash function used to compute the Hash and Top Hash
                fields.

   Max Hop Count
                The Maximum Hop Count supported by the hop count
                authentication.

   Top Hash     The top hash for the hop count authentication. This
                field has variable length, but it must be 32-bits
                aligned.

   Signature Method
                The signature method used to compute the signatures.

   H            Half Identifier flag. If it is set to '1' indicates the
                use of HID and if it is set to '0' the use of FID.




Guerrero                  Expires 7 August 2005                 [Page 4]

Internet DRAFT                    SDYMO                  7 February 2005


   Reserved     Sent as 0; ignored on reception.

   Padding Length
                Specifies the length of the padding field in 32-bit
                units. If the padding length field is set to zero, there
                will be no padding.

   Public Key   The public key of the originator of the message. This
                field has variable length, but it must be 32-bits
                aligned.

   Padding      Random padding. The size of this field is set in the
                Padding Length field.

   Signature    The signature of the all the fields in the DYMO message
                that are before this field but the Hop Count field. This
                field has variable length, but it must be 32-bits
                aligned.

   Hash         The hash corresponding to the actual hop count. This
                field has variable length, but it must be 32-bits
                aligned.

5. RERR Signature Extension

    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     |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Sign Method  |H|         Reserved            |  Padd Length  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Public Key                           |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Padding (optional)                       |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Signature                           |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type         65

   Length       The length of the type-specific data, not including the
                Type and Length fields of the extension in bytes.

   Reserved     Sent as 0; ignored on reception.



Guerrero                  Expires 7 August 2005                 [Page 5]

Internet DRAFT                    SDYMO                  7 February 2005


   Signature Method ... Padding
                The same than in RBlock Signature Extension.

   Signature    The signature of the all the fields in the DYMO message
                that are before this field. This field has variable
                length, but it must be 32-bits aligned.

6. UERR Signature Extension

    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
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                 ... |  Reserved   |     Type      |    Length     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Sign Method  |H|         Reserved            |  Padd Length  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Public Key                           |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Padding (optional)                       |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Signature                           |
    ...                                                         ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type         66

   Length       The length of the type-specific data, not including the
                Type and Length fields of the extension in bytes.

   Signature Method ... Padding
                The same than in RBlock Signature Extension.

   Signature    The signature of the all the fields in the DYMO message
                that are before this field. This field has variable
                length, but it must be 32-bits aligned.

7. SDYMO Operation

   This section describes how SDYMO allows to authenticate the DYMO
   routing data. Two mechanisms are used to achieve this: hash chains
   and signatures.

7.1. SDYMO Signatures

   When calculating signatures, Hop Count field is always zeroed,
   because it is a mutable field.



Guerrero                  Expires 7 August 2005                 [Page 6]

Internet DRAFT                    SDYMO                  7 February 2005


   When a node receives a RE, first verify the signature. Only if the
   signature is verified, it process the message.If a node receives a RE
   without a Signature Extension it SHOULD drop it.

   Every node, generating or forwarding a RERR message, uses digital
   signatures to sign the whole message and any neighbor that receives
   verifies the signature. In this way it can verify that the sender of
   the RERR message is really the one that claims to be. And, since
   destination sequence numbers are not singed by the corresponding
   node, a node SHOULD never update any destination sequence number of
   its routing table based on a RRER message.

   Although nodes will not trust destination sequence numbers in a RERR
   message, they will use them to decide whether they should invalidate
   a route or not.

   UERR messages SHOULD be authentified by using the UERR Signature
   Extension.

   SAKM specifies the list of possible values of the Signature Method
   field and how public keys and signatures are encoded en the extension
   messages.

7.2. SDYMO Hash Chains

   Hash chains are used in SDYMO to authenticate the hop count of the
   RBlocks (not only by the end points, but by any node that receives
   one of those messages).

   Every time a node wants to send a RREQ or a RREP it generates a
   random number (seed). Selects a Maximum Hop Count. Maximum Hop Count
   SHOULD be set to the TTL value in the IP header, and it SHOULD never
   exceed its configuration parameter NET_DIAMETER. The Hash field in
   the Signature Extension is set to the seed. The Top Hash field is set
   to the seed hashed Max Hop Count times.

   Every time a node receives a RE it verifies the hop count by hashing
   Max Hop Count - Hop Count times the Hash field, and checking that the
   resultant value is the same than the Top Hash. If the check fails,
   the node SHOULD drop the packet.

   Before forwarding a RE, a node hashes one time the Hash field in the
   Signature Extension.

   The function used to compute the hash is set in the Hash Function
   field. Since this field is signed, a forwarding node will only be
   able to use the same hash function that the originator of the routing
   message has selected. If an node cannot verify or forward a routing



Guerrero                  Expires 7 August 2005                 [Page 7]

Internet DRAFT                    SDYMO                  7 February 2005


   message because it does not support the hash function that has been
   used, then it drops the packet.

   The list of possible values of the Hash Function field are the same
   as the one for the hash functions used for the signature ('Hash F
   Sign') that are specified in SAKM.

8. Adaptations to DYMO that are needed

   Routing Elements (REs) MUST have only one Routing Block (RB).

   DYMO does not let intermediate node to originate a RREP, which makes
   things easier for SDYMO.

9. Modifications of the draft

   Version 1

   Not yet.

10. Acknowledgments

   I want to thank to thank everybody who contributed to SAODV, since
   SDYMO is based on it.

References

   [1] I. Chakeres, E. Belding-Royer, C. Perkins: Dynamic MANET On-
   demand (DYMO) Routing. draft-ietf-manet-dymo-03, October 2005.

   [2] M. Guerrero Zapata: Secure Ad hoc On-Demand Distance Vector
   (SAODV) Routing. draft-guerrero-manet-saodv-05.txt, February 2006.

   [3] Charles E. Perkins, Elizabeth M. Belding Royer, Samir R. Das: Ad
   hoc On-Demand Distance Vector (AODV) Routing. RFC 3561, November
   2003.

   [4] M. Guerrero Zapata: Simple Ad hoc Key Management (SAKM). draft-
   guerrero-manet-sakm-00.txt, February 2006.

   [5] S. Bradner: Key words for use in RFCs to Indicate Requirement
   Levels. RFC 2119, March 1997.









Guerrero                  Expires 7 August 2005                 [Page 8]

Internet DRAFT                    SDYMO                  7 February 2005


Author's Address:

   Questions about this memo can be directed to the author:

       Manel Guerrero Zapata
       Computer Architecture Department (DAC)
       Technical University of Catalonia (UPC)
       UPC-AC C6-123 Campus Nord
       C. Jordi Girona 1-3
       08034 Barcelona SPAIN
       (+34) 93 4054044
       guerrero@ac.upc.edu

Appendix A. Full Copyright Statement

   Copyright (C) The Internet Society 2005. 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 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.

   (See RFC 3667 sections 5.4 and 5.5.)























Guerrero                  Expires 7 August 2005                 [Page 9]