home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-ipsec-arch-sec-01.txt < prev    next >
Text File  |  1996-11-13  |  67KB  |  1,344 lines

  1.  
  2. Network Working Group                                    Randall Atkinson
  3. Internet Draft                                              cisco Systems
  4. draft-ietf-ipsec-arch-sec-01.txt                         10 November 1996
  5. Expire in six months
  6.  
  7.  
  8.  
  9.             Security Architecture for the Internet Protocol
  10.  
  11.  
  12.  
  13.  
  14.  
  15. STATUS OF THIS MEMO
  16.  
  17.         This document is an Internet Draft.  Internet Drafts are working
  18.    documents of the Internet Engineering Task Force (IETF), its Areas, and its
  19.    working groups.  Note that other groups may also distribute working
  20.    documents as Internet Drafts.
  21.  
  22.         Internet Drafts are draft documents valid for a maximum of 6
  23.    months.  Internet Drafts may be updated, replaced, or obsoleted by other
  24.    documents at any time.  It is not appropriate to use Internet Drafts as
  25.    reference material or to cite them other than as "work in progress".
  26.  
  27.         This particular Internet Draft is a product of the IETF's IP Security
  28.    (IPsec) working group.  It is intended that a future version of this draft
  29.    be submitted to the IESG for publication as a Draft Standard RFC.  Comments
  30.    about this draft may be sent to the author or to the IPsec WG mailing list
  31.    <ipsec@tis.com>.
  32.  
  33. 1. INTRODUCTION
  34.  
  35.         This memo describes the security protocols for IP version 4 (IPv4)
  36.    and IP version 6 (IPv6) and the services that they provide.  Each security
  37.    protocol is specified in a separate document.  This document also describes
  38.    key management requirements for systems implementing these security
  39.    protocols.  This document is not an overall Security Architecture for the
  40.    Internet; it addresses only IP-layer security.
  41.  
  42. 1.1 Technical Definitions
  43.  
  44.         This section provides a few basic definitions that are applicable
  45.    to this document.  Other documents provide more definitions and background
  46.    information. [VK83, HA94]
  47.  
  48.  
  49.    Authentication (of Data Origin)
  50.  
  51.  
  52.  
  53. Atkinson                                                        [Page 1]
  54.  
  55. Internet Draft        Security Architecture for IP      10 November 1996
  56.  
  57.  
  58.         A security property that ensures that the origin of received data
  59.    is, in fact, the claimed sender.  Usually bundled with integrity services,
  60.    especially connectionless integrity.
  61.  
  62.  
  63.    Integrity (Connectionless)
  64.         A security property that ensures data is transmitted from source to
  65.    destination without undetected alteration.  If the order of
  66.    transmitted data also is ensured, the service is termed
  67.    connection-oriented integrity.  The term anti-replay refers to a
  68.    minimal `qform of connection-oriented integrity designed to detect and
  69.    reject duplicated or very old data units.
  70.  
  71.    Confidentiality
  72.         A security property that ensures that communicated data is
  73.    disclosed to intended recipients, but is not disclosed to other,
  74.    unauthorized parties.  Traffic flow confidentiality extends this service to
  75.    externally visible characteristics of communication, e.g., source and
  76.    destination identifiers, message length, or frequency of communication.
  77.    (See also traffic analysis, below.)
  78.  
  79.    Encryption
  80.         A mechanism commonly used to provide confidentiality.
  81.  
  82.    Non-repudiation
  83.         A security property that ensures that a participant in a
  84.    communication cannot later deny having participated in the communication.
  85.    This property may apply to either the sender or the recipient of
  86.    communccated data, or both.
  87.  
  88.    SPI
  89.         Acronym for "Security Parameters Index."  The combination of an SPI
  90.    and a destination address uniquely identifies a simplex security
  91.    association (SA, see below).  The SPI is carried in IPsec protocols to
  92.    select the set of parameters bound to an SA.  An SPI has only local
  93.    significance, defined by the creator of the SA; thus an SPI is generally
  94.    viewed as an opaque bit string.  However, the creator of an SA may choose
  95.    to interpret the bits in an SPI to facilitate local processing.
  96.  
  97.    Security Association (SA)
  98.         A simplex (uni-directional) logical connection, created for
  99.    security purposes.  All traffic traversing an SA is subjected to the same
  100.    security processing at the transmitter and receiver.  In IPsec, an SA is a
  101.    network layer abstraction enforced through the use of AH or ESP.
  102.  
  103.    Security Gateway
  104.         A system that acts as the communications interface between
  105.    untrusted external, networks and internal (trusted) hosts and subnetworks.
  106.  
  107.  
  108.  
  109. Atkinson                                                        [Page 2]
  110.  
  111. Internet Draft        Security Architecture for IP      10 November 1996
  112.  
  113.  
  114.    The internal subnets and hosts served by a security gateway are presumed to
  115.    be trusted by virtue of sharing a common, local, security administration.
  116.    (See "Trusted Subnetwork" below.)  In the IPsec context, a security gateway
  117.    is a point at which AH and/or ESP is implemented in order to serve a set of
  118.    internal hosts, providing security services for these hosts when they
  119.    communicate with external hosts also employing IPsec (either directly or
  120.    via another security gateway).
  121.  
  122.    Traffic Analysis
  123.         The analysis of network traffic flow for the purpose of deducing
  124.    information that is useful to an adversary.  Examples of such information
  125.    are frequency of transmission, the identities of the conversing parties,
  126.    sizes of packets, flow Identifiers, etc. [Kent78]
  127.  
  128.    Trusted Subnetwork
  129.         A subnetwork containing hosts and routers that trust each other not
  130.    to engage in active or passive attacks and trust that the underlying
  131.    communications channel (e.g., an Ethernet) isn't being attacked.
  132.  
  133. 1.2 Requirements Terminology
  134.  
  135.         In this document, the words that are used to define the
  136.    significance of each particular requirement are usually capitalised.  These
  137.    words are:
  138.  
  139.    - MUST
  140.         This word or the adjective "REQUIRED" means that implementation of
  141.    the item is an absolute requirement of the specification.
  142.  
  143.    - SHOULD
  144.         This word or the adjective "RECOMMENDED" means that there might
  145.    exist valid reasons in particular circumstances to not implement this item,
  146.    but the full implications should be understood and the case carefully
  147.    weighed before taking a different course.
  148.  
  149.    - MAY
  150.         This word or the adjective "OPTIONAL" means that this item is truly
  151.    optional to implement.  One vendor might choose to include the item because
  152.    a particular marketplace requires it or because it enhances the product,
  153.    for example; another vendor may omit the same item.
  154.  
  155. 1.3  Basic IPsec features
  156.  
  157.         Two specific headers used to provide security services in IPv4 and
  158.    IPv6: the "IP Authentication Header (AH)" [Atk95a] and the "IP
  159.    Encapsulating Security Payload (ESP)" [Atk95b] header.  There are a number
  160.    of ways in which these IP security mechanisms may be employed, in large
  161.    part because AH and ESP may be used independently of one another, in
  162.  
  163.  
  164.  
  165. Atkinson                                                        [Page 3]
  166.  
  167. Internet Draft        Security Architecture for IP      10 November 1996
  168.  
  169.  
  170.    combination with one another, or in an interated (nested) fashion.  This
  171.    section describes the basic features of both protocols and typical uses of
  172.    these protocols.  The next section defines the minimum header processing
  173.    configurations that all compliant IPsec implementations must support.
  174.    (Additional configurations may be supported at the discretion of the
  175.    implementor.)  Thus the configuration examples in this and the next section
  176.    are not exhaustive.
  177.  
  178.         The IP Authentication Header (AH) can be used to provide
  179.    connectionless integrity and data origin authentication for IP datagrams,
  180.    and optionally to provide anti-replay integrity.  This last, optional
  181.    service may be selected when a security association is established.  This
  182.    header protects an entire IP datagram, including all immutable fields in
  183.    the IP header.  AH does not provide confidentiality; thus implementations
  184.    of AH may be widely deployed, even in countries where controls on
  185.    encryption would preclude deployment of technology that also offered
  186.    confidentiality.  This header should be used whenever the integrity and
  187.    authenticity of the IP header, as well as the associted upper layer
  188.    protocols, must be ensured.  For example, AH can be used to bind a
  189.    sensitivity label (e.g., IPSO [Kent91]) to an IP datagram.
  190.  
  191.        The Encapsulating Security Payload (ESP) can be used to provide
  192.    confidentiality, data origin authentication, connectionless integrity,
  193.    anti-replay integrity, and limited traffic flow confidentiality.  The set
  194.    of services provided depends on options selected at the time of security
  195.    association establishment and the implementation placement.
  196.    Confidentiality may be selected independent of all other services.  Data
  197.    origin authentication and connectionless integrity are joint services,
  198.    independent of confidentiality.  Anti-replay may be selected only if data
  199.    origin authentication and connectionless integrity are selected, but is
  200.    independent of confidentiality.  Traffic flow confidentiality depends on
  201.    confidentiality, and requires selection of tunnel mode (see below).
  202.  
  203.        Unlike AH, ESP provides security only for the protocols encapsulated by
  204.    it, not the protocol that carries it.  Perhaps the most obvious use of ESP
  205.    is to provide security services for upper layer protocols such as TCP,
  206.    without affording protection to the IP header that carries the these
  207.    protocols.  Because ESP is an encapsulation protocol, it may be employed
  208.    recursively, to create nested security associations.  For example, one
  209.    ESP-protected SA might extend between a host and a security gateway, and a
  210.    second, nested ESP-protected SA might extend from the same host through the
  211.    security gateway to a host behind the gateway.
  212.  
  213.        Two modes of ESP are defined: transport mode and tunnel mode.  In
  214.    transport mode, ESP encapsulates any transport layer protocol defined for
  215.    carriage in the TCP/IP suite, e.g., TCP, UDP.  This is the simplest mode
  216.    for use between a pair of hosts implementing ESP.  In tunnel model, the
  217.    protocol encapsulated by ESP is usually IP but could also be another
  218.  
  219.  
  220.  
  221. Atkinson                                                        [Page 4]
  222.  
  223. Internet Draft        Security Architecture for IP      10 November 1996
  224.  
  225.  
  226.    network-layer protocol (e.g. IPX).  Tunnel mode is always used by security
  227.    gateways for all packets not originating on the gateway, to facilitate
  228.    operation in multi-homed environments, especially in the face of possible
  229.    fragmentation of ESP-protected packets.  Tunnel mode can be used to create
  230.    virtual private networks between sites protected by security gateways
  231.    implementing ESP.
  232.  
  233.        Both AH and ESP can provide security services between a pair of
  234.    communicating hosts, or between a pair of communicating security gateways
  235.    or between a security gateway and a host.  Depending on the choice of
  236.    algorithms, AH and ESP also may support multicast communication, e.g.,
  237.    among a set of hosts or security gateways or combinations thereof.  When a
  238.    security gateway provides services for hosts on a trusted subnet, the
  239.    security gateway is responsible for establishing and managing security
  240.    associations on behalf of the trusted hosts it serves.  The security
  241.    gateway also is responsible for providing security services between the
  242.    gateway itself and correspondant external systems (hosts or security
  243.    gateways) through the implementation of AH and ESP.
  244.  
  245. 1.4  Minimal Essential Support
  246.  
  247.         All IPsec-compliant implementations MUST support AH and MUST
  248.    support ESP in both transport and tunnel modes.  The requirement to support
  249.    tunnel-mode is imposed to ensure interoperability between host and security
  250.    gateway implementations of ESP.  The requirement to support transport-mode
  251.    ensures interoperability with other hosts using transport-mode and can
  252.    permit some reduction in security overhead.
  253.  
  254.         A compliant host or security gateway implementation MUST be capable
  255.    of creating and accepting security associations that employ either AH or
  256.    ESP.  A compliant host or security gateway SHOULD also be capable of
  257.    creating pairs of AH and ESP security associations.  A compliant host
  258.    implementation also MUST also support a second (nested) ESP security
  259.    association, in transport mode, above a tunnel mode ESP security
  260.    association.
  261.  
  262.         The following sequences of combinations of AH and ESP, each
  263.    represented by a separate security association, must be supported by an
  264.    IPsec-compliant host: AH, ESP (tunnel), ESP(transport), AH-ESP(transport),
  265.    AH-ESP(tunnel), ESP(tunnel)-AH, AH-ESP(tunnel)-ESP(transport), and
  266.    ESP(tunnel)-ESP(transport).
  267.  
  268.         The following sequences of combinations of AH and ESP must be
  269.    supported by a compliant IPsec security gateway: AH, ESP (tunnel), and
  270.    AH-ESP(tunnel).  Note that transport-mode ESP security associations may be
  271.    employed across a security gateway, terminating at hosts behind the
  272.    gateway.  The gateway does not process these SAs; they are passed through
  273.    transparently, and hence there is no required "support" in the gateway for
  274.  
  275.  
  276.  
  277. Atkinson                                                        [Page 5]
  278.  
  279. Internet Draft        Security Architecture for IP      10 November 1996
  280.  
  281.  
  282.    these header combinations.
  283.  
  284.         A security gateway which receives a datagram containing a
  285.    recognised sensitivity label, for example IPSO [Ken91], from a trusted host
  286.    MUST take that label's value into consideration when creating/selecting an
  287.    Security Association for use with AH between the gateway and the external
  288.    destination.  In such an environment, a gateway which receives a IP packet
  289.    containing the IP Encapsulating Security Payload (ESP) should add
  290.    appropriate authentication, including implicit (i.e. contained in the
  291.    Security Association used) or explicit label information (e.g. IPSO), for
  292.    the decrypted packet that it forwards to the trusted host that is the
  293.    ultimate destination.  The IP Authentication Header should always be used
  294.    on packets containing explicit sensitivity labels to ensure end-to-end
  295.    label integrity.  In environments using security gateways, those gateways
  296.    MUST perform address-based IP packet filtering on unauthenticated packets
  297.    purporting to be from a system known to be using IP security.
  298.  
  299.       A gateway which receives a datagram containing a recognised sensitivity
  300.    label from a trusted host should take that label's value into consideration
  301.    when creating/selecting a Security Association for use with ESP between the
  302.    gateway and the external destination.  In such an environment, a gateway
  303.    which receives a IP packet containing the ESP should appropriately label
  304.    the decrypted packet that it forwards to the trusted host that is the
  305.    ultimate destination.  IP security should always be used on packets
  306.    containing explicit sensitivity labels in a manner to ensure end-to-end
  307.    label integrity.
  308.  
  309.         Routing headers for which integrity has not been cryptographically
  310.    protected SHOULD be ignored by the receiver.  If this rule is not strictly
  311.    adhered to, then the system will be vulnerable to various kinds of attacks,
  312.    including source routing attacks. [Bel89][CB94][CERT95]
  313.  
  314. 1.5 Security Association Management
  315.  
  316.         The concept of a "Security Association" is fundamental to both the
  317.    IP Encapsulating Security Payload and the IP Authentication Header.  The
  318.    combination of a given Security Parameter Index (SPI) and Destination
  319.    Address uniquely identifies a particular "Security Association".  An
  320.    implementation of the Authentication Header or the Encapsulating Security
  321.    Payload MUST support this concept of a Security Association.
  322.  
  323.         A single IPsec Security Association is a simplex (unidirectional)
  324.    connection with which either AH or ESP (but not both) is employed.  If both
  325.    AH and ESP protection is to be applied to a traffic stream, then two (or
  326.    more) security associations are created to control processing of the
  327.    traffic stream.
  328.  
  329.         A compliant implementation of IPsec Security Association MUST
  330.  
  331.  
  332.  
  333. Atkinson                                                        [Page 6]
  334.  
  335. Internet Draft        Security Architecture for IP      10 November 1996
  336.  
  337.  
  338.    support the following management parameters for each SA; other parameters
  339.    MAY also be included at the discretion of the implementor:
  340.  
  341.            - Authentication algorithm and mode being used for AH or ESP.
  342.              [REQUIRED for all implementations].
  343.            - Key(s) used with the above authentication algorithm
  344.              [REQUIRED for all implementations].
  345.            - Encryption algorithm and mode used with ESP.
  346.           [REQUIRED for ESP implementations]
  347.            - Key(s) used with the above encryption algorithm.
  348.              [REQUIRED for ESP implementations]
  349.            - Presence/absence and size of a cryptographic synchronisation or
  350.              initialisation vector field for the encryption algorithm.
  351.              [REQUIRED for ESP implementations]
  352.            - Authentication key crypto period (fixed future time or duration).
  353.              [REQUIRED for all implementations].
  354.            - Encryption key crypto period (fixed future tie or duration)
  355.              [REQUIRED for ESP implementations]
  356.            - Lifetime of this Security Association
  357.           [REQUIRED for all implementations]
  358.            - Destination IP Address of the Security Association; this may be
  359.              a wildcard address if more than one desitnation system shares the
  360.              same Security Association (behind a security gateway)
  361.           [REQUIRED for all implementations]
  362.            - Source IP Address(es) of the Security Association; this might be
  363.              a wildcard address if more than one sending system shares the
  364.              same Security Association with the destination
  365.           [REQUIRED for all implementations]
  366.         - Proxy IP Address of the Security Association; this contains
  367.           the IP address of the security gateway that provides security
  368.           services on behalf of the source IP address when IPsec is
  369.           not in use end-to-end from source to destination.
  370.           [REQUIRED for Security Gateways;
  371.            RECOMMENDED for all other implementations]
  372.            - Replay Protection information, including whether it is in use,
  373.              information on the window size for the sequence numbers, etc.
  374.              [REQUIRED for all implementations]
  375.            - Sensitivity level of the protected data (e.g., in IPSO terms)
  376.           [REQUIRED for all systems claiming to provide multi-level
  377.           security, RECOMMENDED for all other systems]
  378.         - Next Protocol (from IP header) as an optional SA selector
  379.           input for outbound traffic
  380.           [RECOMMENDED for all implementations]
  381.         - Source and/or Destination TCP/UDP Ports as an optional SA
  382.           selector for outbound traffic
  383.           [RECOMMENDED for all implementations]
  384.         - Identity of the source of the Security Association
  385.           [RECOMMENDED for all implementations]
  386.  
  387.  
  388.  
  389. Atkinson                                                        [Page 7]
  390.  
  391. Internet Draft        Security Architecture for IP      10 November 1996
  392.  
  393.  
  394.         - Identity of the destination of the Security Association]
  395.           [RECOMMENDED for all implementations]
  396.  
  397.         The  way  in  which security associations are matched to offered
  398.    (outbound) traffic varies based on whether IPsec is implemented in  a
  399.    host  or  a security gateway, and on the granularity of SA management
  400.    selected.  At a host, the inputs to SA selection are  the  userid  of
  401.    the  sender,  the  Destination  Address  (perhaps  including the next
  402.    protocol  field  and  source  and/or  destination  port  fields   and
  403.    source/destination  identities)  is  used  to  select the appropriate
  404.    Security Association for outbound traffic.  For a multi-level  secure
  405.    host, the senstivity of the traffic, e.g., as expressed in a security
  406.    label, also is an input to the  SA  selection.   A  security  gateway
  407.    generally  does  not have access to userid information and thus IPsec
  408.    implementations in such devices are not required to  select  SAs  for
  409.    outbound  traffic  on that basis.  Since a security gateway typically
  410.    serves a number of hosts, the Source Address (perhaps  including  the
  411.    next  protocol field and source and/or destination port fields) is an
  412.    input to the SA selection.  The Destination Address address  also  is
  413.    an  input, and when in a multi-level secure network context a traffic
  414.    sensitivity label is a REQUIRED additional input.
  415.  
  416.         Processing for received (inbound) IPsec traffic is much simpler.
  417.    The   receiving  host  uses  the  combination  of  the  SPI  and  the
  418.    Destination Address to distinguish the correct  association.   Hence,
  419.    an  IPsec  implementation  will  always  be  able  to  use the SPI in
  420.    combination with the Destination Address to  determine  the  security
  421.    association  with  which  the traffic is associated.  When a formerly
  422.    valid Security Association is terminated, the  destination  system(s)
  423.    SHOULD NOT immediately reuse that SPI and instead SHOULD let that SPI
  424.    value  become  stale  before  reusing  it  for  some  other  Security
  425.    Association.
  426.  
  427.         As noted above, an IPsec Security Association is unidirectional.
  428.    Hence, to secure typical, bi-directional communications  between  two
  429.    hosts  (or security gateways), two Security Associations (one in each
  430.    direction) will be  required.   The  Destination  Address  may  be  a
  431.    unicast  address,  an  IPv4  broadcast  address, or a multicast group
  432.    address.
  433.  
  434.         The receiver-orientation of  the  Security  Association  implies
  435.    that,  in  the  case  of unicast traffic, the destination system will
  436.    normally select the SPI value.  By having the destination select  the
  437.    SPI  value,  there  is  no potential for manually configured Security
  438.    Associations that conflict with automatically configured (e.g. via  a
  439.    key   management  protocol)  Security  Associations.   For  multicast
  440.    traffic,  there  are  multiple  destination  systems  but  a   single
  441.    destination  multicast  group,  so some system or person will need to
  442.  
  443.  
  444.  
  445. Atkinson                                                        [Page 8]
  446.  
  447. Internet Draft        Security Architecture for IP      10 November 1996
  448.  
  449.  
  450.    select SPIs on behalf of that multicast group  and  then  communicate
  451.    the  information  to  all of the legitimate members of that multicast
  452.    group via mechanisms not defined here.
  453.  
  454.         Multiple senders to  a  multicast  group  SHOULD  use  a  single
  455.    Security  Association  (and  hence  Security Parameter Index) for all
  456.    traffic to that group when a symmetric cryptographic algorithm is  in
  457.    use.   In  that  case,  the receiver only knows that the message came
  458.    from  a  system  knowing  the  security  association  data  for  that
  459.    multicast  group.   A  receiver  cannot  generally authenticate which
  460.    system sent the multicast traffic  when  symmetric  algorithms  (e.g.
  461.    DES,  IDEA)  are  in  use.   Multicast  traffic SHOULD use a separate
  462.    Security Association for each sender to the multicast group  when  an
  463.    asymmetric cryptographic algorithm is in use.  In this last case, the
  464.    receiver can know the specific system that originated the message.
  465.  
  466. 2. DESIGN OBJECTIVES
  467.  
  468.         This section describes some of the  design  objectives  of  this
  469.    security  architecture  and  its  component  mechanisms.  The primary
  470.    objective of this work is to ensure that  IPv4  and  IPv6  will  have
  471.    solid cryptographic security mechanisms available to users who desire
  472.    security.
  473.  
  474.         These mechanisms  are  designed  to  avoid  adverse  impacts  on
  475.    Internet  users who do not employ these security mechanisms for their
  476.    traffic.  These mechanisms are intended to  be  algorithm-independent
  477.    so that the cryptographic algorithms can be altered without affecting
  478.    the other parts of the  implementation.   These  security  mechanisms
  479.    should be useful in enforcing a variety of security policies.
  480.  
  481.         Standard  default  algorithms  (Keyed  HMAC MD5, Keyed HMAC SHA,
  482.    DES- CBC) are specified to  ensure  interoperability  in  the  global
  483.    Internet.   The  selected default algorithms are widely used in other
  484.    contexts.
  485.  
  486.  
  487. 3. IP-LAYER SECURITY MECHANISMS
  488.  
  489.         There are two cryptographic security  mechanisms  for  IP.   The
  490.    first  is  the  Authentication  Header  which  provides integrity and
  491.    authentication without confidentiality.  [Atk95a] The second  is  the
  492.    Encapsulating Security Payload which always provides confidentiality,
  493.    and usually provides integrity and authentication. [Atk95b]  The  two
  494.    IP  security  mechanisms  are  normally  used  separately.  When both
  495.    confidentiality  and  authentication  are  needed,  a  combined   ESP
  496.    transform should be used instead of using AH with ESP.
  497.  
  498.  
  499.  
  500.  
  501. Atkinson                                                        [Page 9]
  502.  
  503. Internet Draft        Security Architecture for IP      10 November 1996
  504.  
  505.  
  506.         These  IP-layer  mechanisms  do  not  provide  complete security
  507.    against all traffic analysis attacks, though the use of  ESP  between
  508.    security  gateways  can  provide  partial  traffic  flow  protection.
  509.    However, there are several  techniques  outside  the  scope  of  this
  510.    specification  (e.g.   bulk  link  encryption)  that might be used to
  511.    provide  more  comprehensive  protection  against  traffic  analysis.
  512.    [VK83]
  513.  
  514. 3.1 AUTHENTICATION HEADER
  515.  
  516.         The   IP   Authentication   Header   is   designed   to  provide
  517.    authentication, integrity, and replay  protection  to  IP  datagrams.
  518.    [Atk95a]  It  does  this  by computing a cryptographic authentication
  519.    function over the IP datagram and using one  or  more  authentication
  520.    keys  in the computation.  The authentication algorithm may be either
  521.    symmetric or asymmetric.  The sender computes the authentication data
  522.    prior   to  sending  the  authenticated  IP  packet  and  places  the
  523.    authentication data inside the  Authentication  Data.   Fragmentation
  524.    occurs  after  the  Authentication  Header  processing  for  outbound
  525.    packets  and  reassembly  occurs  prior  to   Authentication   Header
  526.    processing   for   inbound   packets.    The  receiver  verifies  the
  527.    correctness of the authentication data upon reception.
  528.  
  529.         Certain fields of the outer IP header that may change in transit
  530.    are  zeroed  for  the  authentication  calculation.   For IPv4, these
  531.    fields are:
  532.  
  533.         Type of Service (TOS)
  534.         Time  To  Live  (TTL)
  535.         Checksum
  536.         Offset
  537.         Flags
  538.  
  539.         Also,  IPv4  options   are   zeroed   for   the   authentication
  540.    calculation, except for the IP Security Option BSO and ESO (RFC-1038,
  541.    RFC-1108) and the undocumented non-standard CIPSO (IPv4 Option number
  542.    134) option, which are included and are not zeroed.
  543.  
  544.         For IPv6, the "IP Version", "Type of Service", "Flow Label", and
  545.    "Hop Limit" fields of the outermost IPv6 header are  zeroed  for  the
  546.    authentication   calculation.    IPv6  options  contain  a  bit  that
  547.    indicates whether the option might change  during  transit.   Options
  548.    that  might  change  during transit are zeroed for the authentication
  549.    calculation  and  all  others  are  included  in  the  authentication
  550.    calculation.  See the IPv6 specifications for more information.
  551.  
  552.         Non-repudiation is not normally provided with the Authentication
  553.    Header.  Confidentiality and  traffic  analysis  protection  are  not
  554.  
  555.  
  556.  
  557. Atkinson                                                       [Page 10]
  558.  
  559. Internet Draft        Security Architecture for IP      10 November 1996
  560.  
  561.  
  562.    provided  by the Authentication Header. Replay Protection is normally
  563.    provided by the Authentication Header, though a user might choose not
  564.    to use it.
  565.  
  566.         Use  of  the Authentication Header will increase the IP protocol
  567.    processing costs in participating systems and will also increase  the
  568.    communications  latency.   The  increased latency is primarily due to
  569.    the calculation of the authentication data  by  the  sender  and  the
  570.    calculation  and  comparison  of  the  authentication  data  by  each
  571.    receiver for each IP datagram  containing  an  Authentication  Header
  572.    (AH).
  573.  
  574.         The  Authentication  Header provides much stronger security than
  575.    exists in  most  of  the  current  Internet  and  should  not  affect
  576.    exportability  or  significantly increase implementation cost.  While
  577.    the Authentication Header might be implemented by a security  gateway
  578.    on behalf of hosts on a trusted network behind that security gateway,
  579.    this mode of operation is not encouraged.  Instead, whenever possible
  580.    the  Authentication  Header  should  be  used  from  origin  to final
  581.    destination so that end-to-end protections are provided.
  582.  
  583.         All  IPv6-capable  nodes  and  all  IPv4  systems  claiming   to
  584.    implement  the  Authentication  Header  MUST implement the standards-
  585.    track mandatory-to- implement AH  transforms.   As  of  this  writing
  586.    these  are  HMAC  MD5  [OG96]  and  HMAC SHA [CG96], but implementers
  587.    should consult the most recent  edition  of  the  "Internet  Official
  588.    Protocol  Standards" [STD-1] for current guidance.  An implementation
  589.    MAY support  other  authentication  algorithms  in  addition  to  the
  590.    mandatory transforms.
  591.  
  592. 3.2 ENCAPSULATING SECURITY PAYLOAD
  593.  
  594.         The  IP  Encapsulating  Security  Payload  (ESP)  is designed to
  595.    provide  integrity,  authentication,  and   confidentiality   to   IP
  596.    datagrams.  [Atk96b] ESP can also provide replay protection when used
  597.    with certain  transforms.   ESP  encapsulates  either  an  entire  IP
  598.    datagram  or only the upper-layer protocol (e.g. TCP, UDP, ICMP) data
  599.    inside the ESP, applies integrity and authentication protections, and
  600.    encrypts  the  data.   If  tunnel-mode  is in use, a new cleartext IP
  601.    header is prepended  to  the  now  encrypted  Encapsulating  Security
  602.    Payload.   In  tunnel-mode,  the cleartext IP header is used to carry
  603.    the protected data through the internetwork.
  604.  
  605. 3.2.1 Description of the ESP Modes
  606.  
  607.         There are two modes within ESP.  The first mode, which is  known
  608.    as  Tunnel-mode,  encapsulates  an  entire  IP  datagram  within  the
  609.    ESP header.   The  second  mode,  which  is  known   as    Transport-
  610.  
  611.  
  612.  
  613. Atkinson                                                       [Page 11]
  614.  
  615. Internet Draft        Security Architecture for IP      10 November 1996
  616.  
  617.  
  618.    mode,  encapsulates  an upper-layer protocol (for example UDP or TCP)
  619.    inside ESP and then prepends a cleartext IP header.
  620.  
  621. 3.2.2 Usage of ESP
  622.  
  623.         ESP works between hosts, between a host and a security  gateway,
  624.    or  between  security  gateways.  This  support for security gateways
  625.    permits trustworthy  networks  behind  a  security  gateway  to  omit
  626.    encryption  and  thereby  avoid the performance and monetary costs of
  627.    encryption,  while  still  providing  confidentiality   for   traffic
  628.    transiting    untrustworthy  network   segments.    When  both  hosts
  629.    directly implement ESP and there is no intervening security  gateway,
  630.    then  they may use the  Transport- mode  (where  only the upper layer
  631.    protocol data (e.g.  TCP  or  UDP)  is  encrypted  and  there  is  no
  632.    encrypted  IP  header).    This   mode   reduces both  the  bandwidth
  633.    consumed  and the protocol processing costs for users that don't need
  634.    to  keep the entire  IP  datagram  confidential.  ESP works with both
  635.    unicast and multicast traffic.
  636.  
  637. 3.2.3 Performance Impacts of ESP
  638.  
  639.         The encapsulating security approach used by ESP  can  noticeably
  640.    impact  network  performance in participating systems, but use of ESP
  641.    should not adversely impact gateways or  other  intermediate  systems
  642.    that  are  not  participating  in  the  particular  ESP  association.
  643.    Protocol processing in participating systems  will  be  more  complex
  644.    when  encapsulating  security  is  used, requiring both more time and
  645.    more processing power.  Use of  encryption  will  also  increase  the
  646.    communications  latency.   The  increased latency is primarily due to
  647.    the  encryption  and  decryption  required  for  each   IP   datagram
  648.    containing  an  Encapsulating  Security Payload.  The precise cost of
  649.    ESP will vary with the specifics of the implementation, including the
  650.    encryption   algorithm,   key  size,  and  other  factors.   Hardware
  651.    implementations of the encryption algorithm are recommended when high
  652.    throughput is desired.
  653.  
  654.         For  interoperability  throughout  the  worldwide  Internet, all
  655.    conforming implementations of the IP Encapsulating  Security  Payload
  656.    MUST also implement the standard mandatory ESP transform.  As of this
  657.    writing, that is the Combined ESP transform with DES-CBC,  HMAC  MD5,
  658.    and  Replay Protection. [Hugh96] Implementers should consult the most
  659.    recent "IAB Official Protocols" RFC for current  information  on  the
  660.    mandatory  to  implement  ESP  transform(s).   Other  confidentiality
  661.    algorithms and modes may also be  implemented  in  addition  to  this
  662.    mandatory  algorithm  and  mode.   Export  and  use of encryption are
  663.    regulated in some countries.  [OTA94]
  664.  
  665.  
  666.  
  667.  
  668.  
  669. Atkinson                                                       [Page 12]
  670.  
  671. Internet Draft        Security Architecture for IP      10 November 1996
  672.  
  673.  
  674. 3.3 COMBINING SECURITY MECHANISMS
  675.  
  676.         A node normally does not apply both ESP and AH to  the  same  IP
  677.    datagram.   If  confidentiality  is  not  required, then AH should be
  678.    used.  If confidentiality is required, then ESP should be  used.   In
  679.    some  circumstances  a  security gateway might apply ESP (or AH) to a
  680.    packet before forwarding that packet because a secure tunnel has been
  681.    configured  in  that  security gateway.  Hence, IP packets containing
  682.    both ESP and AH are not strictly prohibited.
  683.  
  684. 3.4 OTHER SECURITY MECHANISMS
  685.  
  686.         Protection from traffic analysis is not provided by any  of  the
  687.    security   mechanisms   described   above.   It  is  unclear  whether
  688.    meaningful  protection  from  traffic  analysis   can   be   provided
  689.    economically  at  the Internet Layer and it appears that few Internet
  690.    users are concerned about traffic analysis.  One  traditional  method
  691.    for  protection  against  traffic  analysis  is  the use of bulk link
  692.    encryption.  Another technique is to send false traffic in  order  to
  693.    increase  the  noise  in  the  data  provided  by  traffic  analysis.
  694.    Reference [VK83] discusses traffic analysis issues in more detail.
  695.  
  696. 4. SECURITY ASSOCIATION MANAGEMENT
  697.  
  698.         The Security Management protocol that will be used with IP layer
  699.    security  is  not  specified  in this document.  However, because the
  700.    security management protocol is coupled to AH and ESP  only  via  the
  701.    Security  Parameters  Index  (SPI), we can meaningfully define AH and
  702.    ESP without having  to  fully  specify  how  security  management  is
  703.    performed.  We envision that several security management systems will
  704.    be  usable  with   these   specifications,   including   manual   key
  705.    configuration.
  706.  
  707.         Support for key management methods where the key management data
  708.    is carried in-line within the IP layer is not a design objective  for
  709.    these  IP-layer security mechanisms.  Instead these IP-layer security
  710.    mechanisms will primarily use key management methods  where  the  key
  711.    management  data  will be carried by an upper layer protocol, such as
  712.    UDP or TCP, on some specific port number or where the key  management
  713.    data will be distributed manually.
  714.  
  715.      This  design  permits  clear  decoupling  of  the  key   management
  716.    mechanism from the other security mechanisms, and thereby permits one
  717.    to substitute new and improved key management methods without  having
  718.    to modify the implementations of the other security mechanisms.  This
  719.    separation of mechanism is clearly wise given  the  long  history  of
  720.    subtle flaws in published key management protocols. [NS78, NS81] What
  721.    follows in this section is a brief discussion of  a  few  alternative
  722.  
  723.  
  724.  
  725. Atkinson                                                       [Page 13]
  726.  
  727. Internet Draft        Security Architecture for IP      10 November 1996
  728.  
  729.  
  730.    approaches  to  key  management.   Mutually  consenting  systems  may
  731.    additionally use other key management  approaches  by  private  prior
  732.    agreement.
  733.  
  734. 4.1 Manual Key Distribution
  735.  
  736.         The simplest form of key management is  manual  key  management,
  737.    where  a  person manually configures each system with its own key and
  738.    also with the keys of other communicating  systems.   This  is  quite
  739.    practical  in  small,  static environments but does not scale.  It is
  740.    not  a  viable  medium-term  or  long-term  approach,  but  might  be
  741.    appropriate  and  useful  in many environments in the near-term.  For
  742.    example, within a small LAN it  is  entirely  practical  to  manually
  743.    configure  keys  for  each  system.   Within  a single administrative
  744.    domain it is practical to configure keys for each router so that  the
  745.    routing  data  can be protected and to reduce the risk of an intruder
  746.    breaking into a router.  Another case is where an organisation has an
  747.    encrypting  firewall between the internal network and the Internet at
  748.    each of its sites and it connects two or more sites via the Internet.
  749.    In  this case, the security gateway might selectively encrypt traffic
  750.    for other sites within the organisation using a  manually  configured
  751.    key,  while  not  encrypting traffic for other destinations.  It also
  752.    might be appropriate when only selected  communications  need  to  be
  753.    secured.
  754.  
  755. 4.2 Requirements for Key Management Protocols
  756.  
  757.         Widespread  deployment  and  use  of  IP  security  requires  an
  758.    Internet-standard scalable key management  protocol.   This  protocol
  759.    should  not  be  limited  to  supporting  IP security.  This protocol
  760.    should be compatible with the IETF's DNS  Security  work  and  should
  761.    include  the ability to obtain bootstrapping information (e.g.  keys,
  762.    addresses) from the Secure DNS as a  mandatory-to-implement  feature.
  763.    signed host keys to the Domain Name System [EK96] The DNS keys enable
  764.    the originating party to authenticate key  management  messages  with
  765.    the  other  key  management  party  using an asymmetric algorithm.  A
  766.    standards-track key management protocol for use with IP Security MUST
  767.    provide  the property of "Perfect Forward Secrecy" as a mandatory-to-
  768.    implement  feature.   Further,  any  standards-track  key  management
  769.    protocol  MUST permit the secure negotiation or secure identification
  770.    of all of the Security Association attributes [as defined  above]  to
  771.    all parties of that Security Association.
  772.  
  773. 4.4 Keying Approaches for IP
  774.  
  775.         There are several keying approaches for IP.  The first approach,
  776.    called host-oriented keying, has all users on host 1 share  the  same
  777.    key  for use on traffic destined for all users on host 2.  The second
  778.  
  779.  
  780.  
  781. Atkinson                                                       [Page 14]
  782.  
  783. Internet Draft        Security Architecture for IP      10 November 1996
  784.  
  785.  
  786.    approach, called user-oriented keying, lets user A on host 1 have one
  787.    or more unique session keys for its traffic destined for host 2; such
  788.    session keys are not shared with other users on host1.  For  example,
  789.    user  A's  ftp session might use a different key than user A's telnet
  790.    session.  In systems claiming to provide multi-level security, user A
  791.    will  typically  have  at  least one key per sensitivity level in use
  792.    (e.g.  one key for UNCLASSIFIED traffic,  a  second  key  for  SECRET
  793.    traffic,  and  a  third key for TOP SECRET traffic).  Similarly, with
  794.    user-oriented keying one might use separate keys for information sent
  795.    to  a multicast group and control messages sent to the same multicast
  796.    group.  A third approach, called session-unique keying, has a  single
  797.    key  being  assigned to a given IP address, upper-layer protocol, and
  798.    port number triple.
  799.  
  800.         In many cases, a single computer system will have at  least  two
  801.    mutually suspicious users A and B that do not trust each other.  When
  802.    host-oriented keying is used and mutually suspicious users exist,  it
  803.    is  sometimes  possible for user A to determine the host-oriented key
  804.    via well known methods, such as a Chosen Plaintext attack.  Once user
  805.    A has improperly obtained the key in use, user A can then either read
  806.    user B's encrypted traffic or forge traffic from user B.  When  user-
  807.    oriented  keying  is used, certain kinds of attack from one user onto
  808.    another user's traffic are not possible.
  809.  
  810.         IP Security is intended to be able  to  provide  Authentication,
  811.    Integrity,   and   Confidentiality   for  applications  operating  on
  812.    connected  end  systems  when  appropriate  algorithms  are  in  use.
  813.    Integrity and Confidentiality can be provided by host-oriented keying
  814.    when appropriate dynamic key management  techniques  and  appropriate
  815.    algorithms  are  in use.  However, authentication of principals using
  816.    applications  on  end-systems   requires   that   processes   running
  817.    applications   be   able  to  request  and  use  their  own  Security
  818.    Associations.  In this manner,  applications  can  make  use  of  key
  819.    distribution facilities that provide authentication.
  820.  
  821.         Hence,  support for session-unique keying MUST be present in all
  822.    IP Security implementations,  as  is  described  in  the  "IPsec  Key
  823.    Management Requirements" section below.  Support for other styles MAY
  824.    also be implemented.
  825.  
  826. 4.5 Multicast Key Distribution
  827.  
  828.         Multicast key distribution is an active  research  area  in  the
  829.    published literature as of this writing.  For multicast groups having
  830.    relatively few members, manual key distribution or  multiple  use  of
  831.    existing unicast key distribution algorithms such as modified Diffie-
  832.    Hellman appears  feasible.   For  very  large  groups,  new  scalable
  833.    techniques  will be needed.  In-line key management systems that rely
  834.  
  835.  
  836.  
  837. Atkinson                                                       [Page 15]
  838.  
  839. Internet Draft        Security Architecture for IP      10 November 1996
  840.  
  841.  
  842.    on pre-distributed master keys and then have serious  scaling  issues
  843.    that make them questionable for multicast traffic.
  844.  
  845. 4.6 IPsec Key Management Requirements
  846.  
  847.         This  section  defines  key management requirements for all IPv6
  848.    implementations and for those IPv4 implementations that implement the
  849.    IP  Authentication  Header, the IP Encapsulating Security Payload, or
  850.    both.  It applies equally to the IP Authentication Header and the  IP
  851.    Encapsulating Security Payload.
  852.  
  853.         All  such  implementations  MUST support manual configuration of
  854.    Security Associations, including all of the attributes  described  in
  855.    the  Security Association definition section of this document, having
  856.    variable SPI values within the non-reserved range.  An implementation
  857.    that  only supports a fixed SPI value is NOT conforming or compliant.
  858.  
  859.         All   IPv6   IP   Security   implementations   MUST    implement
  860.    ISAKMP/Oakley.  All IPv4 IP Security implementations SHOULD implement
  861.    ISAKMP/Oakley.   Other  key  management   protocols   MAY   also   be
  862.    implemented. [Sch96]
  863.  
  864.         Implementations  MAY  also  support other methods of configuring
  865.    Security Associations.
  866.  
  867.         Given two endpoints, it MUST be possible to have more  than  one
  868.    concurrent  Security  Association  for  communications  between them.
  869.    Implementations on multi-user hosts  having  at  least  discretionary
  870.    access  controls  MUST  support  either user granularity (i.e. "user-
  871.    oriented")   Security   Associations   or   session-unique   Security
  872.    Associations.
  873.  
  874.         All  such implementations MUST permit the configuration of host-
  875.    oriented keying.
  876.  
  877.         A device that encrypts or authenticates IP packets originated by
  878.    other  systems,  for  example a dedicated IP encryptor or an security
  879.    gateway, cannot generally provide user-oriented  keying  for  traffic
  880.    originating  on  other  systems.   Such systems MUST support session-
  881.    unique key selection based on source  address,  destination  address,
  882.    upper-layer  protocol, source port (if any), and destination port (if
  883.    any). Such systems  MAY  additionally  implement  support  for  user-
  884.    oriented keying for traffic originating on other systems.
  885.  
  886.         The  method  by which keys are configured on a particular system
  887.    is  implementation-defined.   A   flat   file   containing   security
  888.    association  identifiers  and  the security parameters, including the
  889.    key(s),  is  an  example  of  one  possible  method  for  manual  key
  890.  
  891.  
  892.  
  893. Atkinson                                                       [Page 16]
  894.  
  895. Internet Draft        Security Architecture for IP      10 November 1996
  896.  
  897.  
  898.    distribution.   An  IP  Security  implementation MUST take reasonable
  899.    steps to protect the keys and other security association  information
  900.    from  unauthorised  examination  or  modification  because all of the
  901.    security lies in the keys.
  902.  
  903. 5. USAGE
  904.  
  905.         This  section  describes  the  possible  use  of  the   security
  906.    mechanisms  provided  by  IP  in  several  different environments and
  907.    applications in order to give the implementer and user a better  idea
  908.    of how these mechanisms can be used to reduce security risks.
  909.  
  910. 5.1 USE WITH FIREWALLS
  911.  
  912.         Firewalls  are  not  uncommon  in  the current Internet.  [CB94]
  913.    While many dislike their presence because they restrict connectivity,
  914.    they  are unlikely to disappear in the near future.  Both of these IP
  915.    mechanisms  can  be  used  to  increase  the  security  provided   by
  916.    firewalls.
  917.  
  918.         Firewalls  used  with  IP  often  need  to  be able to parse the
  919.    headers and options to determine the transport protocol (e.g. UDP  or
  920.    TCP)  in use and the port number for that protocol.  Firewalls can be
  921.    used with  the  Authentication  Header  regardless  of  whether  that
  922.    firewall is party to the appropriate Security Assocation.  However, a
  923.    firewall that is not party to  the  applicable  Security  Association
  924.    will  not  normally  be  able  to  decrypt  an  encrypted upper-layer
  925.    protocol to view the protocol or port number needed to  perform  per-
  926.    packet filtering.
  927.  
  928.         Further,  firewalls  need to verify that the data (e.g.  source,
  929.    destination, transport protocol, port number) being used  for  access
  930.    control  decisions  is  correct and authentic.  Hence, authentication
  931.    might be performed not only within an organisation or campus but also
  932.    end  to end with remote systems across the Internet.  This use of the
  933.    Authentication Header with IP provides much more assurance  that  the
  934.    data being used for access control decisions is authentic.
  935.  
  936.         Organisations  with  two  or  more sites that are interconnected
  937.    using  commercial  IP  service  might  wish  to  use  a   selectively
  938.    encrypting  firewall.   If an encrypting firewall were placed between
  939.    each site of a company and the commercial IP  service  provider,  the
  940.    firewall could provide an encrypted IP tunnel among all the company's
  941.    sites.  It could also encrypt traffic between  the  company  and  its
  942.    suppliers, customers, and other affiliates.  Traffic with the Network
  943.    Information Center, with public  Internet  archives,  or  some  other
  944.    organisations might not be encrypted because of the unavailability of
  945.    a standard key management protocol  or  as  a  deliberate  choice  to
  946.  
  947.  
  948.  
  949. Atkinson                                                       [Page 17]
  950.  
  951. Internet Draft        Security Architecture for IP      10 November 1996
  952.  
  953.  
  954.    facilitate  better  communications, improved network performance, and
  955.    increased connectivity.  Such a practice  could  easily  protect  the
  956.    company's sensitive traffic from eavesdropping and modification.
  957.  
  958.         Some organisations (e.g.  governments) might wish to use a fully
  959.    encrypting firewall to provide a Virtual Private Network  (VPN)  over
  960.    commercial  IP  service.   The  difference between that and a bulk IP
  961.    encryption device is that a fully encrypting firewall  would  provide
  962.    filtering of the decrypted traffic as well as providing encryption of
  963.    IP packets.  A related scenario is to use encryption between a mobile
  964.    computer  and the security gateway or encrypting firewall of its home
  965.    campus.
  966.  
  967. 5.2 USE WITH IP MULTICAST
  968.  
  969.         In the past several years, the Multicast  Backbone  (MBONE)  has
  970.    grown rapidly.  IETF meetings and other conferences are now regularly
  971.    multicast with real-time audio, video, and whiteboards.  Many  people
  972.    are  now using teleconferencing applications based on IP Multicast in
  973.    the Internet or in private internal networks.  Others  are  using  IP
  974.    multicasting to support distributed simulation or other applications.
  975.    Hence it is important that the security mechanisms in IP be  suitable
  976.    for use in an environment where multicast is the general case.
  977.  
  978.         The  Security  Parameters Indexes (SPIs) used in the IP security
  979.    mechanisms are receiver-oriented, making them well suited for use  in
  980.    IP   multicast.    [Atk95a,  Atk95b]  Unfortunately,  most  currently
  981.    published multicast key distribution protocols  do  not  scale  well.
  982.    However,  there is active research in this area.  As an interim step,
  983.    a  multicast  group  could  repeatedly  use  a  secure  unicast   key
  984.    distribution  protocol  to  distribute  the key to all members or the
  985.    group could pre-arrange keys using manual key distribution.
  986.  
  987. 5.3 USE TO PROVIDE QOS PROTECTION
  988.  
  989.         The recent IAB Security Workshop identified Quality  of  Service
  990.    protection  as  an  area  of  significant interest. [BCCH] The two IP
  991.    security mechanisms are intended to provide good  support  for  real-
  992.    time  services  as  well as multicasting.  This section describes one
  993.    possible approach to providing such protection.
  994.  
  995.         The Authentication Header might be used,  with  appropriate  key
  996.    management,    to    provide   authentication   of   packets.    This
  997.    authentication is  potentially  important  in  packet  classification
  998.    within  routers.   The  IPv6 Flow Identifier might act as a Low-Level
  999.    Identifier  (LLID).   Used  together,  packet  classification  within
  1000.    routers  becomes  straightforward  if the router is provided with the
  1001.    appropriate keying material.  For  performance  reasons  the  routers
  1002.  
  1003.  
  1004.  
  1005. Atkinson                                                       [Page 18]
  1006.  
  1007. Internet Draft        Security Architecture for IP      10 November 1996
  1008.  
  1009.  
  1010.    might  authenticate  only  every Nth packet rather than every packet,
  1011.    but this is still a significant improvement over capabilities in  the
  1012.    current  Internet.  Quality of service provisioning is likely to also
  1013.    use the Flow ID in conjunction with a resource reservation  protocol,
  1014.    such as RSVP. [ZDESZ93] Thus, the authenticated packet classification
  1015.    can be used to help ensure  that  each  packet  receives  appropriate
  1016.    handling inside routers.
  1017.  
  1018. 5.4 USE IN COMPARTMENTED OR MULTI-LEVEL NETWORKS
  1019.  
  1020.         A multi-level secure (MLS) network is one where a single network
  1021.    is used to communicate data at  different  sensitivity  levels  (e.g.
  1022.    Unclassified  and  Secret).   [DoD85]  [DoD87]  Many governments have
  1023.    significant interest  in  MLS  networking.   [DIA]  The  IP  security
  1024.    mechanisms  have  been  designed  to  support  MLS  networking.   MLS
  1025.    networking requires the  use  of  strong  Mandatory  Access  Controls
  1026.    (MAC),   which   ordinary  users  are  incapable  of  controlling  or
  1027.    violating. [BL73] This section pertains only to the use of  these  IP
  1028.    security mechanisms in MLS environments.
  1029.  
  1030.         The   Authentication  Header  can  be  used  to  provide  strong
  1031.    authentication  among  hosts  in   a   single-level   network.    The
  1032.    Authentication  Header  can  also be used to provide strong assurance
  1033.    for both mandatory access control decisions in  multi-level  networks
  1034.    and  discretionary access control decisions in all kinds of networks.
  1035.    If explicit IP sensitivity labels (e.g. IPSO) [Ken91]  are  used  and
  1036.    confidentiality  is  not  considered  necessary within the particular
  1037.    operational environment, the Authentication Header is used to provide
  1038.    authentication for the entire packet, including cryptographic binding
  1039.    of the sensitivity level to the IP header and user data.  This  is  a
  1040.    significant improvement over labeled IPv4 networks where the label is
  1041.    trusted even though  it  is  not  trustworthy  because  there  is  no
  1042.    authentication or cryptographic binding of the label to the IP header
  1043.    and user data.  IPv6 will normally use  implicit  sensitivity  labels
  1044.    that  are  part  of the Security Association but not transmitted with
  1045.    each packet  instead  of  using  explicit  sensitivity  labels.   All
  1046.    explicit  IP  sensitivity  labels  MUST be authenticated using either
  1047.    ESP, AH, or both.
  1048.  
  1049.         The  Encapsulating  Security  Payload  can  be   combined   with
  1050.    appropriate   key   policies   to  provide  full  multi-level  secure
  1051.    networking.  In this case each key must be  used  only  at  a  single
  1052.    sensitivity  level  and  compartment.   For example, Key "A" might be
  1053.    used only for sensitive Unclassified packets, while Key "B"  is  used
  1054.    only for Secret/No-compartments traffic, and Key "C" is used only for
  1055.    Secret/Compartment-X traffic.  The sensitivity level of the protected
  1056.    traffic  MUST  NOT  dominate  the  sensitivity  level of the Security
  1057.    Association used with that traffic.  The  sensitivity  level  of  the
  1058.  
  1059.  
  1060.  
  1061. Atkinson                                                       [Page 19]
  1062.  
  1063. Internet Draft        Security Architecture for IP      10 November 1996
  1064.  
  1065.  
  1066.    Security  Association  MUST NOT dominate the sensitivity level of the
  1067.    key that belongs to that Security Association.  The sensitivity level
  1068.    of  the  key  SHOULD  be  the  same  as  the sensitivity level of the
  1069.    Security  Association.   The  Authentication  Header  can  also  have
  1070.    different keys for the same reasons, with the choice of key depending
  1071.    in part on the sensitivity level of the packet.
  1072.  
  1073.         Encryption is very useful and desirable even  when  all  of  the
  1074.    hosts  are  within  a  protected  environment.  The Internet-standard
  1075.    encryption algorithm could be used, in conjunction  with  appropriate
  1076.    key management, to provide strong Discretionary Access Controls (DAC)
  1077.    in conjunction with either implicit sensitivity  labels  or  explicit
  1078.    sensitivity  labels  (such  as  IPSO provides for IPv4 [Ken91]). Some
  1079.    environments  might   consider   the   Internet-standard   encryption
  1080.    algorithm  sufficiently  strong  to provide Mandatory Access Controls
  1081.    (MAC).  Full encryption should be used for all communications between
  1082.    multi-level  computers  or  compartmented mode workstations even when
  1083.    the computing environment is considered to be protected.
  1084.  
  1085. 6. SECURITY CONSIDERATIONS
  1086.  
  1087.         This entire draft discusses the Security  Architecture  for  the
  1088.    Internet Protocol.  It is not a general security architecture for the
  1089.    Internet, but is instead focused on the IP layer.
  1090.  
  1091.         Cryptographic transforms for  ESP  which  use  a  block-chaining
  1092.    algorithm  and  lack a strong integrity mechanism are vulnerable to a
  1093.    cut-and-paste attack described by Bellovin and  should  not  be  used
  1094.    unless the Authentication Header is always present with packets using
  1095.    that ESP transform. [Bel95]
  1096.  
  1097.         If more than one sender shares a  Security  Association  with  a
  1098.    destination, then the receiving system can only authenticate that the
  1099.    packet was sent from one of those  systems  and  cannot  authenticate
  1100.    which  of  those systems sent it.  Similarly, if the receiving system
  1101.    does not check that the Security Association used  for  a  packet  is
  1102.    valid  for  the  claimed  Source  Address  of  the  packet,  then the
  1103.    receiving system cannot authenticate  whether  the  packet's  claimed
  1104.    Source  Address  is  valid.  For example, if senders "A" and "B" each
  1105.    have their own unique Security Association with destination  "D"  and
  1106.    "B"  uses  its  valid Security Association with D but forges a Source
  1107.    Address of "A", then "D" will be fooled  into  believing  the  packet
  1108.    came  from "A" unless "D" verifies that the claimed Source Address is
  1109.    party to the Security Association that was used.
  1110.  
  1111.         Users need to  understand  that  the  quality  of  the  security
  1112.    provided  by  the  mechanisms  provided  by  these  two  IP  security
  1113.    mechanisms depends completely on  the  strength  of  the  implemented
  1114.  
  1115.  
  1116.  
  1117. Atkinson                                                       [Page 20]
  1118.  
  1119. Internet Draft        Security Architecture for IP      10 November 1996
  1120.  
  1121.  
  1122.    cryptographic  algorithms,  the  strength  of the key being used, the
  1123.    correct implementation of the cryptographic algorithms, the  security
  1124.    of  the key management protocol, and the correct implementation of IP
  1125.    and the several security  mechanisms  in  all  of  the  participating
  1126.    systems.   The  security  of the implementation is in part related to
  1127.    the security of the operating  system  which  embodies  the  security
  1128.    implementations.   For example, if the operating system does not keep
  1129.    the private cryptologic keys (that is, all  symmetric  keys  and  the
  1130.    private  asymmetric keys) confidential, then traffic using those keys
  1131.    will not be secure.  If any of these is incorrect  or  insufficiently
  1132.    secure,  little  or  no  real  security will be provided to the user.
  1133.    Because different users on the  same  system  might  not  trust  each
  1134.    other,  each user or each session should usually be keyed separately.
  1135.    This will also tend to increase the work required to cryptanalyse the
  1136.    traffic since not all traffic will use the same key.
  1137.  
  1138.         Certain  security  properties (e.g. traffic analysis protection)
  1139.    are not provided by any of these mechanisms.  One  possible  approach
  1140.    to traffic analysis protection is appropriate use of link encryption.
  1141.    [VK83] Users must carefully consider which security  properties  they
  1142.    require  and  take active steps to ensure that their needs are met by
  1143.    these or other mechanisms.
  1144.  
  1145.         Certain applications (e.g. electronic  mail)  probably  need  to
  1146.    have  application-specific security mechanisms.  Application-specific
  1147.    security mechanisms are out of the scope  of  this  document.   Users
  1148.    interested  in  electronic  mail  security  should  consult  the RFCs
  1149.    describing  the  Internet's  Privacy-Enhanced  Mail  system.    Users
  1150.    concerned  about other application-specific mechanisms should consult
  1151.    the online RFCs to  see  if  suitable  Internet  Standard  mechanisms
  1152.    exist.
  1153.  
  1154. ACKNOWLEDGEMENTS
  1155.  
  1156.         Steve  Kent  provided  detailed and helpful editorial input into
  1157.    this draft.  His contributions improved the draft significantly.
  1158.  
  1159.         Many of the concepts here are derived from or were influenced by
  1160.    the  US  Government's  SDNS  security  protocol  specifications,  the
  1161.    ISO/IEC's NLSP specification, or from  the  proposed  swIPe  security
  1162.    protocol.  [SDNS,  ISO,  IB93, IBK93] The work done for SNMP Security
  1163.    and SNMPv2 Security influenced the choice  of  default  cryptological
  1164.    algorithms  and  modes.  [GM93]  Steve  Bellovin, Steve Deering, Phil
  1165.    Karn, Frank Kastenholz, Steve Kent,  Perry  Metzger,  Dave  Mihelcic,
  1166.    Hilarie  Orman and Bill Simpson provided careful critiques of earlier
  1167.    versions of this draft.
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173. Atkinson                                                       [Page 21]
  1174.  
  1175. Internet Draft        Security Architecture for IP      10 November 1996
  1176.  
  1177.  
  1178. REFERENCES
  1179.  
  1180.    [Atk96a] Randall Atkinson, IP Authentication Header, RFC-xxxx, 4 June 1996.
  1181.  
  1182.    [Atk96b] Randall Atkinson, IP Encapsulating Security Payload, RFC-xxxx,
  1183.             4 June 1996.
  1184.  
  1185.    [BCCH94] R. Braden, D. Clark, S. Crocker, & C. Huitema, "Report of IAB
  1186.             Workshop on Security in the Internet Architecture", RFC-1636,
  1187.             DDN Network Information Center, June 1994.
  1188.  
  1189.    [Bel89]  Steven M. Bellovin, "Security Problems in the TCP/IP Protocol
  1190.             Suite", ACM Computer Communications Review, Vol. 19, No. 2,
  1191.             March 1989.
  1192.  
  1193.    [Bel95]  Steven M. Bellovin, Presentation at IP Security Working Group
  1194.             Meeting, Proceedings of the 32nd Internet Engineering Task
  1195.             Force, March 1995, Internet Engineering Task Force, Danvers, MA.
  1196.  
  1197.    [BL73]   Bell, D.E. & LaPadula, L.J., "Secure Computer Systems: Mathematical
  1198.             Foundations and Model", Technical Report M74-244, The MITRE
  1199.             Corporation, Bedford, MA, May 1973.
  1200.  
  1201.    [CERT95] CA-95:01
  1202.  
  1203.    [CB94]   William R. Cheswick & Steven M. Bellovin, Firewalls & Internet
  1204.             Security, Addison-Wesley, Reading, MA, 1994.
  1205.  
  1206.    [CG96]   Shu-jen Chang & Rob Glenn, "HMAC-SHA IP Authentication with Replay
  1207.          Prevention", Internet Draft, 1 May 1996.
  1208.  
  1209.    [DIA]    US Defense Intelligence Agency, "Compartmented Mode Workstation
  1210.             Specification", Technical Report DDS-2600-6243-87.
  1211.  
  1212.    [DoD85]  US National Computer Security Center, "Department of Defense
  1213.             Trusted Computer System Evaluation Criteria", DoD 5200.28-STD,
  1214.             US Department of Defense, Ft. Meade, MD., December 1985.
  1215.  
  1216.    [DoD87]  US National Computer Security Center, "Trusted Network
  1217.             Interpretation of the Trusted Computer System Evaluation Criteria",
  1218.             NCSC-TG-005, Version 1, US Department of Defense, Ft. Meade, MD.,
  1219.             31 July 1987.
  1220.  
  1221.    [DH76]   W. Diffie & M. Hellman, "New Directions in Cryptography", IEEE
  1222.             Transactions on Information Theory, Vol. IT-22,  No. 6, November
  1223.             1976, pp. 644-654.
  1224.  
  1225.    [DH95]     Steve Deering & Bob Hinden, Internet Protocol version 6 (IPv6)
  1226.  
  1227.  
  1228.  
  1229. Atkinson                                                       [Page 22]
  1230.  
  1231. Internet Draft        Security Architecture for IP      10 November 1996
  1232.  
  1233.  
  1234.             Specification, RFC-1883, December 1995.
  1235.  
  1236.    [EK96]   D. Eastlake III & C. Kaufman, "Domain Name System Protocol
  1237.             Security Extensions", Internet Draft, 30 January 1996.
  1238.  
  1239.    [GM93]   J. Galvin & K. McCloghrie, Security Protocols for version 2
  1240.             of the Simple Network Management Protocol (SNMPv2), RFC-1446,
  1241.             DDN Network Information Center, April 1993.
  1242.  
  1243.    [HA94]   N. Haller & R. Atkinson, "On Internet Authentication", RFC-1704,
  1244.             DDN Network Information Center, October 1994.
  1245.  
  1246.    [Hugh96] J. Hughes (Editor), "Combined DES-CBC, HMAC, and Replay Prevention
  1247.          Security Transform", Internet Draft, June 1996.
  1248.  
  1249.    [ISO]   ISO/IEC JTC1/SC6, Network Layer Security Protocol, ISO-IEC
  1250.            DIS 11577, International Standards Organisation, Geneva,
  1251.         Switzerland, 29 November 1992.
  1252.  
  1253.    [IB93]  John Ioannidis and Matt Blaze, "Architecture and Implementation of
  1254.            Network-layer Security Under Unix", Proceedings of USENIX Security
  1255.            Symposium, Santa Clara, CA, October 1993.
  1256.  
  1257.    [IBK93] John Ioannidis, Matt Blaze, & Phil Karn, "swIPe: Network-Layer
  1258.            Security for IP", presentation at the Spring 1993 IETF Meeting,
  1259.            Columbus, Ohio.
  1260.  
  1261.    [Ken78] Steve Kent, ..., Proceedings of SIGCOMM '78, ACM SIGCOMM, 1978.
  1262.  
  1263.    [Ken91] Steve Kent, US DoD Security Options for the Internet Protocol,
  1264.            RFC-1108, DDN Network Information Center, November 1991.
  1265.  
  1266.    [Ken93] Steve Kent, Privacy Enhancement for Internet Electronic Mail:
  1267.            Part II: Certificate-Based Key Management, RFC-1422, DDN Network
  1268.            Information Center, 10 February 1993.
  1269.  
  1270.    [KB93]  J. Kohl & B. Neuman, The Kerberos Network Authentication
  1271.            Service (V5), RFC-1510, DDN Network Information Center,
  1272.            10 September 1993.
  1273.  
  1274.    [NS78]  R.M. Needham & M.D. Schroeder, "Using Encryption for Authentication
  1275.            in Large Networks of Computers", Communications of the ACM,
  1276.            Vol. 21, No. 12, December 1978, pp. 993-999.
  1277.  
  1278.    [NS81]  R.M. Needham & M.D. Schroeder, "Authentication Revisited",
  1279.            ACM Operating Systems Review, Vol. 21, No. 1., 1981.
  1280.  
  1281.    [OG96]  Mike Oehler & Rob Glenn, "HMAC-MD5 IP Authentication with Replay
  1282.  
  1283.  
  1284.  
  1285. Atkinson                                                       [Page 23]
  1286.  
  1287. Internet Draft        Security Architecture for IP      10 November 1996
  1288.  
  1289.  
  1290.            Prevention", Internet Draft, 1 May 1996.
  1291.  
  1292.    [OTA94]   US Congress, Office of Technology Assessment, "Information
  1293.            Security & Privacy in Network Environments", OTA-TCT-606,
  1294.            Government Printing Office, Washington, DC, September 1994.
  1295.  
  1296.    [Sch96] Jeff Schiller, "Security AD Statement on IPSEC Key Management",
  1297.         Email to IPsec mailing list, September 19, 1996.
  1298.  
  1299.    [Sch94] Bruce Schneier, Applied Cryptography, Section 8.6,
  1300.            John Wiley & Sons, New York, NY, 1994.
  1301.  
  1302.    [SDNS]  SDNS Secure Data Network System, Security Protocol 3, SP3,
  1303.            Document SDN.301, Revision 1.5, 15 May 1989, published
  1304.            in NIST Publication NIST-IR-90-4250, February 1990.
  1305.  
  1306.    [STD-1] J. Postel, "Internet Official Protocol Standards", STD-1,
  1307.            March 1996.
  1308.  
  1309.    [VK83]  V.L. Voydock & S.T. Kent, "Security Mechanisms in High-level
  1310.            Networks", ACM Computing Surveys, Vol. 15, No. 2, June 1983.
  1311.  
  1312.    [ZDESZ93] Zhang, L., Deering, S., Estrin, D., Shenker, S., and Zappala, D.,
  1313.            "RSVP: A New Resource ReSerVation Protocol", IEEE Network magazine,
  1314.            September 1993.
  1315.  
  1316. DISCLAIMER
  1317.  
  1318.      The views expressed in this note are those of the editor and are not
  1319.    necessarily those of his employer.  The editor and his employer
  1320.    specifically disclaim responsibility for any problems arising from correct
  1321.    or incorrect implementation or use of this design.
  1322.  
  1323. EDITOR INFORMATION:
  1324.  
  1325.    Randall Atkinson <rja@cisco.com>
  1326.    cisco Systems
  1327.    170 West Tasman Drive
  1328.    San Jose, CA, 95134-1706
  1329.    USA
  1330.  
  1331.    Telephone: +1 (408) 526-4000
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341. Atkinson                                                       [Page 24]
  1342.  
  1343.  
  1344.