home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2521.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  14.8 KB  |  509 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                            P. Karn
  8. Request for Comments: 2521                                      Qualcomm
  9. Category: Experimental                                        W. Simpson
  10.                                                               DayDreamer
  11.                                                               March 1999
  12.  
  13.  
  14.                     ICMP Security Failures Messages
  15.  
  16.  
  17. Status of this Memo
  18.  
  19.    This document defines an Experimental Protocol for the Internet
  20.    community.  It does not specify an Internet standard of any kind.
  21.    Discussion and suggestions for improvement are requested.
  22.    Distribution of this memo is unlimited.
  23.  
  24. Copyright Notice
  25.  
  26.    Copyright (C) The Internet Society (1999).  Copyright (C) Philip Karn
  27.    and William Allen Simpson (1994-1999).  All Rights Reserved.
  28.  
  29. Abstract
  30.  
  31.    This document specifies ICMP messages for indicating failures when
  32.    using IP Security Protocols (AH and ESP).
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Karn & Simpson                Experimental                      [Page i]
  59.  
  60. RFC 2521                 ICMP Security Failures               March 1999
  61.  
  62.  
  63. Table of Contents
  64.  
  65.  
  66.      1.     Introduction ..........................................    1
  67.  
  68.      2.     Message Formats .......................................    1
  69.         2.1       Bad SPI .........................................    2
  70.         2.2       Authentication Failed ...........................    2
  71.         2.3       Decompression Failed ............................    2
  72.         2.4       Decryption Failed ...............................    2
  73.         2.5       Need Authentication .............................    3
  74.         2.6       Need Authorization ..............................    3
  75.  
  76.      3.     Error Procedures ......................................    3
  77.  
  78.      SECURITY CONSIDERATIONS ......................................    4
  79.  
  80.      HISTORY ......................................................    5
  81.  
  82.      ACKNOWLEDGEMENTS .............................................    5
  83.  
  84.      REFERENCES ...................................................    5
  85.  
  86.      CONTACTS .....................................................    6
  87.  
  88.      COPYRIGHT ....................................................    7
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Karn & Simpson                Experimental                     [Page ii]
  115.  
  116. RFC 2521                 ICMP Security Failures               March 1999
  117.  
  118.  
  119. 1.  Introduction
  120.  
  121.    This mechanism is intended for use with the Internet Security
  122.    Protocols [RFC-1825 et sequitur] for authentication and privacy.  For
  123.    statically configured Security Associations, these messages indicate
  124.    that the operator needs to manually reconfigure, or is attempting an
  125.    unauthorized operation.  These messages may also be used to trigger
  126.    automated session-key management.
  127.  
  128.    The datagram format and basic facilities are already defined for ICMP
  129.    [RFC-792].
  130.  
  131.    Up-to-date values of the ICMP Type field are specified in the most
  132.    recent "Assigned Numbers" [RFC-1700].  This document concerns the
  133.    following values:
  134.  
  135.        40  Security Failures
  136.  
  137.  
  138.  
  139. 2.  Message Formats
  140.  
  141.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  142.    |     Type      |     Code      |          Checksum             |
  143.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  144.    |           Reserved            |          Pointer              |
  145.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  146.    |                                                               |
  147.    ~     Original Internet Headers + 64 bits of Payload            ~
  148.    |                                                               |
  149.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  150.  
  151.  
  152.    Type              40
  153.  
  154.    Code             Indicates the kind of failure:
  155.  
  156.                       0 = Bad SPI
  157.                       1 = Authentication Failed
  158.                       2 = Decompression Failed
  159.                       3 = Decryption Failed
  160.                       4 = Need Authentication
  161.                       5 = Need Authorization
  162.  
  163.  
  164.    Checksum         Two octets.  The ICMP Checksum.
  165.  
  166.    Reserved         Two octets.  For future use; MUST be set to zero
  167.  
  168.  
  169.  
  170. Karn & Simpson                Experimental                      [Page 1]
  171.  
  172. RFC 2521                 ICMP Security Failures               March 1999
  173.  
  174.  
  175.                     when transmitted, and MUST be ignored when received.
  176.  
  177.    Pointer          Two octets.  An offset into the Original Internet
  178.                     Headers that locates the most significant octet of
  179.                     the offending SPI.  Will be zero when no SPI is
  180.                     present.
  181.  
  182.    Original Internet Headers ...
  183.                     The original Internet Protocol header, any
  184.                     intervening headers up to and including the
  185.                     offending SPI (if any), plus the first 64 bits (8
  186.                     octets) of the remaining payload data.
  187.  
  188.                     This data is used by the host to match the message
  189.                     to the appropriate process.  If a payload protocol
  190.                     uses port numbers, they are assumed to be in the
  191.                     first 64-bits of the original datagram's payload.
  192.  
  193.    Usage of this message is elaborated in the following sections.
  194.  
  195.  
  196. 2.1.  Bad SPI
  197.  
  198.    Indicates that a received datagram includes a Security Parameters
  199.    Index (SPI) that is invalid or has expired.
  200.  
  201.  
  202. 2.2.  Authentication Failed
  203.  
  204.    Indicates that a received datagram failed the authenticity or
  205.    integrity check for a given SPI.
  206.  
  207.    Note that the SPI may indicate an outer Encapsulating Security
  208.    Protocol when a separate Authentication Header SPI is hidden inside.
  209.  
  210.  
  211. 2.3.  Decompression Failed
  212.  
  213.    Indicates that a received datagram failed a decompression check for a
  214.    given SPI.
  215.  
  216.  
  217. 2.4.  Decryption Failed
  218.  
  219.    Indicates that a received datagram failed a decryption check for a
  220.    given SPI.
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Karn & Simpson                Experimental                      [Page 2]
  227.  
  228. RFC 2521                 ICMP Security Failures               March 1999
  229.  
  230.  
  231. 2.5.  Need Authentication
  232.  
  233.    Indicates that a received datagram will not be accepted without
  234.    additional authentication.
  235.  
  236.    In this case, either no SPI is present, or an unsuitable SPI is
  237.    present.  For example, an encryption SPI without integrity arrives
  238.    from a secure operating system with mutually suspicious users.
  239.  
  240.  
  241. 2.6.  Need Authorization
  242.  
  243.    Indicates that a received datagram will not be accepted because it
  244.    has insufficient authorization.
  245.  
  246.    In this case, an authentication SPI is present that is inappropriate
  247.    for the target transport or application.  The principle party denoted
  248.    by the SPI does not have proper authorization for the facilities used
  249.    by the datagram.  For example, the party is authorized for Telnet
  250.    access, but not for FTP access.
  251.  
  252.  
  253. 3.  Error Procedures
  254.  
  255.    As is usual with ICMP messages, upon receipt of one of these error
  256.    messages that is uninterpretable or otherwise contains an error, no
  257.    ICMP error message is sent in response.  Instead, the message is
  258.    silently discarded.  However, for diagnosis of problems, a node
  259.    SHOULD provide the capability of logging the error, including the
  260.    contents of the silently discarded datagram, and SHOULD record the
  261.    event in a statistics counter.
  262.  
  263.    On receipt, special care MUST be taken that the ICMP message actually
  264.    includes information that matches a previously sent IP datagram.
  265.    Otherwise, this might provide an opportunity for a denial of service
  266.    attack.
  267.  
  268.    The sending implementation MUST be able to limit the rate at which
  269.    these messages are generated.  The rate limit parameters SHOULD be
  270.    configurable.  How the limits are applied (such as, by destination or
  271.    per interface) is left to the implementor's discretion.
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Karn & Simpson                Experimental                      [Page 3]
  283.  
  284. RFC 2521                 ICMP Security Failures               March 1999
  285.  
  286.  
  287. Security Considerations
  288.  
  289.    When a prior Security Association between the parties has not
  290.    expired, these messages SHOULD be sent with authentication.
  291.  
  292.    However, the node MUST NOT dynamically establish a new Security
  293.    Association for the sole purpose of authenticating these messages.
  294.    Automated key management is computationally intensive.  This could be
  295.    used for a very serious denial of service attack.  It would be very
  296.    easy to swamp a target with bogus SPIs from random IP Sources, and
  297.    have it start up numerous useless key management sessions to
  298.    authentically inform the putative sender.
  299.  
  300.    In the event of loss of state (such as a system crash), the node will
  301.    need to send failure messages to all parties that attempt subsequent
  302.    communication.  In this case, the node may have lost the key
  303.    management technique that was used to establish the Security
  304.    Association.
  305.  
  306.    Much better to simply let the peers know that there was a failure,
  307.    and let them request key management as needed (at their staggered
  308.    timeouts).  They'll remember the previous key management technique,
  309.    and restart gracefully.  This distributes the restart burden among
  310.    systems, and helps allow the recently failed node to manage its
  311.    computational resources.
  312.  
  313.    In addition, these messages inform the recipient when the ICMP sender
  314.    is under attack.  Unlike other ICMP error messages, the messages
  315.    provide sufficient data to determine that these messages are in
  316.    response to previously sent messages.
  317.  
  318.    Therefore, it is imperative that the recipient accept both
  319.    authenticated and unauthenticated failure messages.  The recipient's
  320.    log SHOULD indicate when the ICMP messages are not validated, and
  321.    when the ICMP messages are not in response to a valid previous
  322.    message.
  323.  
  324.    There is some concern that sending these messages may result in the
  325.    leak of security information.  For example, an attacker might use
  326.    these messages to test or verify potential forged keys.  However,
  327.    this information is already available through the simple expedient of
  328.    using Echo facilities, or waiting for a TCP 3-way handshake.
  329.  
  330.    The rate limiting mechanism also limits this form of leak, as many
  331.    messages will not result in an error indication.  At the very least,
  332.    this will lengthen the time factor for verifying such information.
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Karn & Simpson                Experimental                      [Page 4]
  339.  
  340. RFC 2521                 ICMP Security Failures               March 1999
  341.  
  342.  
  343. History
  344.  
  345.    The text has been extensively reviewed on the IP Security mailing
  346.    list, in January and February of 1995 and again in December 1995.
  347.    The specification is stable, and was forwarded to the IESG by the
  348.    authors for IETF Last Call as a Proposed Standard in March 1996.
  349.    There have been several implementations.
  350.  
  351.  
  352. Acknowledgements
  353.  
  354.    Some of the text of this specification was derived from "Requirements
  355.    for Internet Hosts -- Communication Layers" [RFC-1122] and
  356.    "Requirements for IP Version 4 Routers" [RFC-1812].
  357.  
  358.    Naganand Doraswamy and Hilarie Orman provided useful critiques of
  359.    earlier versions of this document.
  360.  
  361.    Stimulating comments were also received from Jeffrey Schiller.
  362.  
  363.    Special thanks to the Center for Information Technology Integration
  364.    (CITI) for providing computing resources.
  365.  
  366.  
  367. References
  368.  
  369.    [RFC-792]   Postel, J., "Internet Control Message Protocol", STD 5,
  370.                September 1981.
  371.  
  372.    [RFC-1122]  Braden, R., Editor, "Requirements for Internet Hosts --
  373.                Communication Layers", STD 3, USC/Information Sciences
  374.                Institute, October 1989.
  375.  
  376.    [RFC-1700]  Reynolds, J., and Postel, J., "Assigned Numbers", STD 2,
  377.                USC/Information Sciences Institute, October 1994.
  378.  
  379.    [RFC-1812]  Baker, F., Editor, "Requirements for IP Version 4
  380.                Routers", Cisco Systems, June 1995.
  381.  
  382.    [RFC-1825]  Atkinson, R., "Security Architecture for the Internet
  383.                Protocol", Naval Research Laboratory, July 1995.
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Karn & Simpson                Experimental                      [Page 5]
  395.  
  396. RFC 2521                 ICMP Security Failures               March 1999
  397.  
  398.  
  399. Contacts
  400.  
  401.    Comments about this document should be discussed on the
  402.    photuris@adk.gr mailing list.
  403.  
  404.    Questions about this document can also be directed to:
  405.  
  406.       Phil Karn
  407.       Qualcomm, Inc.
  408.       6455 Lusk Blvd.
  409.       San Diego, California  92121-2779
  410.  
  411.           karn@qualcomm.com
  412.           karn@unix.ka9q.ampr.org (preferred)
  413.  
  414.  
  415.       William Allen Simpson
  416.       DayDreamer
  417.       Computer Systems Consulting Services
  418.       1384 Fontaine
  419.       Madison Heights, Michigan  48071
  420.  
  421.           wsimpson@UMich.edu
  422.           wsimpson@GreenDragon.com (preferred)
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Karn & Simpson                Experimental                      [Page 6]
  451.  
  452. RFC 2521                 ICMP Security Failures               March 1999
  453.  
  454.  
  455. Full Copyright Statement
  456.  
  457.    Copyright (C) The Internet Society (1999).  Copyright (C) Philip
  458.    Karn and William Allen Simpson (1994-1999).  All Rights Reserved.
  459.  
  460.    This document and translations of it may be copied and furnished to
  461.    others, and derivative works that comment on or otherwise explain
  462.    it or assist in its implementation may be prepared, copied,
  463.    published and distributed, in whole or in part, without restriction
  464.    of any kind, provided that the above copyright notice and this
  465.    paragraph are included on all such copies and derivative works.
  466.    However, this document itself may not be modified in any way, such
  467.    as by removing the copyright notice or references to the Internet
  468.    Society or other Internet organizations, except as needed for the
  469.    purpose of developing Internet standards (in which case the
  470.    procedures for copyrights defined in the Internet Standards process
  471.    must be followed), or as required to translate it into languages
  472.    other than English.
  473.  
  474.    The limited permissions granted above are perpetual and will not be
  475.    revoked by the Internet Society or its successors or assigns.
  476.  
  477.    This document and the information contained herein is provided on an
  478.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  479.    TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  480.    (BUT NOT LIMITED TO) ANY WARRANTY THAT THE USE OF THE INFORMATION
  481.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  482.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507. Karn & Simpson                Experimental                      [Page 7]
  508.  
  509.