home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc1457 < prev    next >
Text File  |  1993-05-27  |  36KB  |  787 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         R. Housley
  8. Request for Comments: 1457             Xerox Special Information Systems
  9.                                                                 May 1993
  10.  
  11.  
  12.                Security Label Framework for the Internet
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  It does
  17.    not specify an Internet standard.  Distribution of this memo is
  18.    unlimited.
  19.  
  20. Acknowledgements
  21.  
  22.    The members of the Privacy and Security Research Group and the
  23.    attendees of the invitational Security Labels Workshop (hosted by the
  24.    National Institute of Standards and Technology) helped me organize my
  25.    thoughts on this subject.  The ideas of these professionals are
  26.    scattered throughout the memo.
  27.  
  28. 1.0  Introduction
  29.  
  30.    This memo presents a security labeling framework for the Internet.
  31.    The framework is intended to help protocol designers determine what,
  32.    if any, security labeling should be supported by their protocols.
  33.    The framework should also help network architects determine whether
  34.    or not a particular collection of protocols fulfill their security
  35.    labeling requirements.  The Open Systems Interconnection Reference
  36.    Model [1] provides the structure for the presentation, therefore OSI
  37.    protocol designers may also find this memo useful.
  38.  
  39. 2.0  Security Labels
  40.  
  41.    Data security is the set of measures taken to protect data from
  42.    accidental, unauthorized, intentional, or malicious modification,
  43.    destruction, or disclosure.  Data security is also the condition that
  44.    results from the establishment and maintenance of protective measures
  45.    [2].  Given this two-pronged definition for data security, this memo
  46.    examines security labeling as one mechanism which provides data
  47.    security.  In general, security labeling by itself does not provide
  48.    sufficient data security; it must be complemented by other security
  49.    mechanisms.
  50.  
  51.    In data communication protocols, security labels tell the protocol
  52.    processing how to handle the data transferred between two systems.
  53.    That is, the security label indicates what measures need to be taken
  54.    to preserve the condition of security.  Handling means the activities
  55.  
  56.  
  57.  
  58. Housley                                                         [Page 1]
  59.  
  60. RFC 1457       Security Label Framework for the Internet        May 1993
  61.  
  62.  
  63.    performed on data such as collecting, processing, transferring,
  64.    storing, retrieving, sorting, transmitting, disseminating, and
  65.    controlling [3].
  66.  
  67.    The definition of data security includes protection from modification
  68.    and destruction.  In computer systems, this is protection from
  69.    writing and deleting.  These protections implement the data integrity
  70.    service defined in the OSI Security Architecture [4].
  71.  
  72.    Biba [5] has defined a data integrity model which includes security
  73.    labels.  The Biba model specifies rule-based controls for writing and
  74.    deleting necessary to preserve data integrity.  The model also
  75.    specifies rule-based controls for reading to prevent a high integrity
  76.    process from relying on data that has less integrity than the
  77.    process.
  78.  
  79.    The definition of data security also includes protection from
  80.    disclosure.  In computer systems, this is protection from reading.
  81.    This protection is the data confidentiality service defined in the
  82.    OSI Security Architecture [4].
  83.  
  84.    Bell and LaPadula [6] defined a data confidentiality model which
  85.    includes security labels.  The Bell and LaPadula model specifies
  86.    rule-based controls for reading necessary to preserve data
  87.    confidentiality.  The model also specifies rule-based controls for
  88.    writing to ensure that data is not copied to a container where
  89.    confidentiality can not be guaranteed.
  90.  
  91.    In both the Biba model and the Bell and LaPadula model, the security
  92.    label is an attribute of the data.  In general, the security label
  93.    associated with the data remains constant.  Exceptions will be
  94.    discussed later in the memo, but relabeling is always the result of
  95.    some network entity handling the data.  Since the security label is
  96.    an attribute of data, it should be bound to the data.  When data
  97.    moves through the network, the integrity security service [4] is
  98.    generally used to accomplish this binding.  If the communications
  99.    environment does not include a protocol which provides the integrity
  100.    security service to bind the security label to the data, then the
  101.    communications environment should include other mechanisms to
  102.    preserve this binding.
  103.  
  104. 2.1  Integrity Labels
  105.  
  106.    Integrity labels are security labels which support data integrity
  107.    models, like the Biba model.  The integrity label tells the degree of
  108.    confidence that may be placed in the data and also indicates which
  109.    measures the data requires for protection from modification and
  110.    destruction.
  111.  
  112.  
  113.  
  114. Housley                                                         [Page 2]
  115.  
  116. RFC 1457       Security Label Framework for the Internet        May 1993
  117.  
  118.  
  119.    As data moves through the network, the confidence that may be placed
  120.    in that data may change as a result of being handled by various
  121.    network components.  Therefore, the integrity label is a function of
  122.    the integrity of the data before being transmitted on the network and
  123.    the path that the data takes through the network.  The confidence
  124.    that may be placed in data does not increase because it was
  125.    transferred across a network, but the confidence that may be placed
  126.    in data may decrease as a result of being handled by arbitrary
  127.    network components.  Entities are assigned integrity labels which
  128.    indicate how much confidence may be placed in data that is handled by
  129.    them.  Thus, when data is handled by an entity with an integrity
  130.    label lower than the integrity label of the data, the data is
  131.    relabeled with the integrity label of the entity.  Such relabeling
  132.    should be avoided by limiting the possible paths that data may take
  133.    through the network to those where the data will be handled only by
  134.    entities with the same or a higher integrity label than the data.
  135.  
  136.    When integrity labels are used, each of the systems on a network must
  137.    implement the integrity model and the protocol suite must transfer
  138.    the integrity label with the data, if the confidence of the data is
  139.    to be maintained throughout the network.  Each of the systems on a
  140.    network may have its own internal representation for a integrity
  141.    label, but the protocols must provide common syntax and semantics for
  142.    the transfer of the integrity label, as well as the data itself.  To
  143.    date, no protocols have been standardized which include integrity
  144.    labels in the protocol control information.
  145.  
  146. 2.2  Sensitivity Labels
  147.  
  148.    Sensitivity labels are security labels which support data
  149.    confidentiality models, like the Bell and LaPadula model.  The
  150.    sensitivity label tells the amount of damage that will result from
  151.    the disclosure of the data and also indicates which measures the data
  152.    requires for protection from disclosure.  The amount of damage that
  153.    results from unauthorized disclosure depends on who obtains the data;
  154.    the sensitivity label should reflect the worst case.
  155.  
  156.    As data moves through the network, it is processed by various network
  157.    components and may be mixed with data of differing sensitivity.  If
  158.    these network components are not trusted to segregate data of
  159.    differing sensitivities, then all of the data processed by those
  160.    components must be handled as the most sensitive data processed by
  161.    those network components.  For example, poor buffer management may
  162.    append highly sensitive data to the end of a protocol data unit that
  163.    was otherwise publicly releasable.  Therefore, the sensitivity label
  164.    is a function of the sensitivity of the data before being transmitted
  165.    on the network and the most sensitive data handled by the network
  166.    components, and the trustworthiness of those network components.  The
  167.  
  168.  
  169.  
  170. Housley                                                         [Page 3]
  171.  
  172. RFC 1457       Security Label Framework for the Internet        May 1993
  173.  
  174.  
  175.    amount of damage that will result from the disclosure of the data
  176.    does not decrease because it was transferred across a network, but
  177.    the amount of damage that will result from the disclosure of the data
  178.    may increase as a result of being mixed with more sensitive data by
  179.    arbitrary network components.  Thus, when data is handled by an
  180.    untrusted entity with a sensitivity label higher than the sensitivity
  181.    label of the data, the data is relabeled with the higher sensitivity
  182.    label.  Such relabeling should be avoided by limiting the possible
  183.    paths that data may take through the network to those where the data
  184.    will be handled only by entities with the same sensitivity label as
  185.    the data or by using trustworthy network components.  Entities with
  186.    lower sensitivity labels may not handle the data because this would
  187.    be disclosure.
  188.  
  189.    When sensitivity labels are used, each of the systems on a network
  190.    must implement the sensitivity model and the protocol suite must
  191.    transfer the sensitivity label with the data, if the protection from
  192.    disclosure is to be maintained throughout the network.  Each of the
  193.    systems on a network may have its own internal representation for a
  194.    sensitivity label, but the protocols must provide common syntax and
  195.    semantics for the transfer of the sensitivity label, as well as the
  196.    data itself.  Sensitivity labels, like the ones provided by the IP
  197.    Security Option (IPSO) [7], have been used in a few networks for
  198.    years.
  199.  
  200. 3.0  Security Label Usage
  201.  
  202.    The Internet includes two major types of systems: end systems and
  203.    intermediate systems [1].  These terms should be familiar to the
  204.    reader.  For this discussion, the definition of intermediate system
  205.    is understood to include routers, packet switches, and bridges.  End
  206.    systems and intermediate systems use security labels differently.
  207.  
  208. 3.1  End System Security Label Usage
  209.  
  210.    When two end systems communicate, common security label syntax and
  211.    semantics are needed.  The security label, as an attribute of the
  212.    data, indicates what measures need to be taken to preserve the
  213.    condition of security.  The security label must communicate all of
  214.    the integrity and confidentiality handling requirements.  These
  215.    requirements can become very complex.
  216.  
  217.    Some operating systems label the data they process.  These security
  218.    labels are not part of the data; they are attributes of the data.
  219.    Some database management systems (DBMSs) perform similar labeling.
  220.    The format of these security labels is a local matter, but they are
  221.    usually in a format different than the one used by the data
  222.    communication protocols.  Security labels must be translated by these
  223.  
  224.  
  225.  
  226. Housley                                                         [Page 4]
  227.  
  228. RFC 1457       Security Label Framework for the Internet        May 1993
  229.  
  230.  
  231.    operating systems and DBMSs between the local format and the format
  232.    used in the data communication protocols without any loss of meaning.
  233.  
  234.    Trusted operating systems that implement rule-based access control
  235.    policies require security labels on the data they import [8,9].
  236.    These security labels permit the Trusted Computing Base (TCB) in the
  237.    end system to perform trusted demultiplexing.  That is, the traffic
  238.    is relayed from the TCB to a process only if the process has
  239.    sufficient authorization for the data.  In most cases, the TCB must
  240.    first translate the security label into the local syntax before it
  241.    can make the access control decision.
  242.  
  243. 3.2  Intermediate System Security Label Usage
  244.  
  245.    This section discusses "user" data security labels within the
  246.    intermediate system.  The labeling requirements associated with
  247.    intermediate system-to-end system (IS-ES) traffic, intermediate
  248.    system-to-intermediate system (IS-IS) traffic, and intermediate
  249.    system-to-network management (IS-NM) traffic are not included in this
  250.    discussion.
  251.  
  252.    Intermediate systems may make routing choices or discard traffic
  253.    based on the security label.  The security label used by the
  254.    intermediate system should contain only enough information to make
  255.    the routing/discard decision and may be a subset of the security
  256.    label used by the end system.  Some portions of the label may not
  257.    effect routing decisions, but they may effect processing done within
  258.    the end system.
  259.  
  260.    In the Internet today, very few intermediate systems actually make
  261.    access control decisions.  For performance reasons, only those
  262.    intermediate systems which do make access control decisions should be
  263.    burdened with parsing the security label.  That is, information
  264.    hiding principles apply.  Further, security labels which are to be
  265.    parsed only by end systems should not be visible to physical, data
  266.    link, or network layer protocols, where intermediate systems will
  267.    have to examine them.
  268.  
  269.    Intermediate systems do not usually translate the security labels to
  270.    a local format.  They use them "as is" to make their routing/discard
  271.    decisions.  However, when two classification authorities share a
  272.    network by bilateral agreement, the intermediate systems may be
  273.    required to perform security label translation.  Security label
  274.    translations should be avoided whenever possible by using a security
  275.    label format that is supported by all systems that will process the
  276.    security label.  Since end systems do not generally know which
  277.    intermediate systems will process their traffic, security label
  278.    translation cannot always be avoided.
  279.  
  280.  
  281.  
  282. Housley                                                         [Page 5]
  283.  
  284. RFC 1457       Security Label Framework for the Internet        May 1993
  285.  
  286.  
  287.    Since security labels which are to be parsed only by end systems
  288.    should not be carried by protocols interpreted by intermediate
  289.    systems, such security labels should be carried by upper layer
  290.    protocols, and end systems which use different formats for such
  291.    security labels cannot rely on an intermediate systems to perform
  292.    security label translation.  Neither the Internet nor the OSI
  293.    architecture includes such transformation functions in the transport,
  294.    session, or presentation layer, which means that application layer
  295.    gateways should be used to translate between different end system
  296.    security label formats.  Such application gateways should be avoided
  297.    because they impinge on operation, especially when otherwise
  298.    compatible protocols are used.  This complication is another reason
  299.    why the use of a security label format that is supported by all
  300.    systems is desirable.  A standard label syntax with registered
  301.    security label semantics goes a long way toward avoiding security
  302.    label translation [10].
  303.  
  304. 4.0  Approaches to Labeling
  305.  
  306.    There are several tradeoffs to be made when determining how a
  307.    particular network will perform security labeling.  Explicit or
  308.    implicit labels can be used.  Also, security labels can either be
  309.    connectionless or connection-oriented.  A combination of these
  310.    alternatives may be appropriate.
  311.  
  312. 4.1  Explicit Versus Implicit Security Labels
  313.  
  314.    Explicit security labels are actual bits in the protocol control
  315.    information (PCI).  The IP Security Option (IPSO) is an example of an
  316.    explicit security label [7].  Explicit security labels may be either
  317.    connectionless or connection-oriented.  The syntax and semantics of
  318.    the explicit security label may be either tightly or loosely coupled.
  319.    If the syntax and semantics are tightly coupled, then the explicit
  320.    security label format supports a single security policy.  If the
  321.    syntax and semantics are loosely coupled, then the explicit security
  322.    label format can support multiple security policies through
  323.    registration.  In both cases, software enforces the security policy,
  324.    but the label parsing software can be written once if the syntax and
  325.    semantics are loosely coupled.  Fixed length explicit security label
  326.    format parsers are generally faster than parsers for variable length
  327.    formats.  Intermediate systems suffer less performance impact when
  328.    fixed length explicit security labels can be used, but end systems
  329.    often need variable length explicit security labels to express data
  330.    handling requirements.
  331.  
  332.    Implicit security labels are not actual bits in the PCI; instead,
  333.    some attribute is used to determine the security label.  For example,
  334.    the choice of cryptographic key in the SP4 protocol [11] can
  335.  
  336.  
  337.  
  338. Housley                                                         [Page 6]
  339.  
  340. RFC 1457       Security Label Framework for the Internet        May 1993
  341.  
  342.  
  343.    determine the security label.  Implicit security labels may be either
  344.    connectionless or connection-oriented.
  345.  
  346. 4.2  Connectionless Versus Connection-oriented Security Labels
  347.  
  348.    When connectionless security labels are used, the security label
  349.    appears in every protocol data unit (PDU).  The IP Security Option
  350.    (IPSO) [7] is an example of connectionless labeling.  All protocols
  351.    have limits on the size of their PCI, and the explicit security label
  352.    cannot exceed this size limit.  It cannot use the entire PCI space
  353.    either; the protocol has other fields that must be transferred as
  354.    well.  This size limitation may prohibit explicit connectionless
  355.    security labels from meeting the requirements of end systems.
  356.    However, the requirements of intermediate systems are more easily
  357.    satisfied by explicit connectionless security labels.
  358.  
  359.    Connection-oriented security labels are attributes of virtual
  360.    circuits, connections, and associations.  For simplicity, all of
  361.    these are subsequently referred to as connections.  Connection-
  362.    oriented security labels are used when the SDNS Key Management
  363.    Protocol (KMP) [12] is used to associate security labels with each of
  364.    the transport connection protected by the SP4 protocol [10,11] (using
  365.    SP4C).  The security label is defined at connection establishment,
  366.    and all data transferred over the connection inherits that security
  367.    label.  This approach is more compatible with end system requirements
  368.    than intermediate system requirements.  One noteworthy exception is
  369.    X.25 packets switches; these intermediate systems could associate
  370.    connection-oriented labels with each virtual circuit.
  371.  
  372.    Connectionless security labels may be used in conjunction with
  373.    connectionless or connection-oriented data transfer protocols.
  374.    However, connection-oriented security labels may only be used in
  375.    conjunction with connection-oriented data transfer protocols.
  376.  
  377. 5.0  Labeling Within the OSI Reference Model
  378.  
  379.    This section examines each of the seven OSI layers with respect to
  380.    security labels.
  381.  
  382. 5.1  Layer 1, The Physical Layer
  383.  
  384.    Explicit security labels are not possible in the Physical Layer.  The
  385.    Physical Layer does not include any protocol control information
  386.    (PCI), so there is no place to include the bits which represent the
  387.    label.
  388.  
  389.    Implicit security labels are possible in the Physical Layer.  For
  390.    example, all of the data that comes in through a particular physical
  391.  
  392.  
  393.  
  394. Housley                                                         [Page 7]
  395.  
  396. RFC 1457       Security Label Framework for the Internet        May 1993
  397.  
  398.  
  399.    port could inherit one security label.  Most Physical Layer
  400.    communication is connectionless, supporting only bit-at-a-time or
  401.    byte-at-a-time operations.  Thus, these implicit security labels are
  402.    connectionless.
  403.  
  404.    Implicit security labels in the Physical Layer may be used to meet
  405.    the requirements of either end systems or intermediate systems so
  406.    long as the communication is single level.  That is, only one
  407.    security label is associated with all of the data received or
  408.    transmitted through the physical connection.
  409.  
  410. 5.2  Layer 2, The Data Link Layer
  411.  
  412.    Explicit security labels are possible in the Data Link Layer.  In
  413.    fact, the IEEE 802.2 Working Group is currently working on an
  414.    optional security label standard for the Logical Link Control (LLC)
  415.    protocol (IEEE 802.2) [13].  These labels will optionally appear in
  416.    each LLC frame.  These are connectionless security labels.
  417.  
  418.    Explicit connection-oriented security labels are also possible in the
  419.    Data Link Layer.  One could imagine a security label standard which
  420.    worked with LLC Type II.
  421.  
  422.    Of course, implicit security labels are also possible in the Data
  423.    Link Layer.  Such labels could be either connectionless or
  424.    connection-oriented.  One attribute that might be used in IEEE 802.3
  425.    (CSMA/CD) [14] to determine the implicit security label is the source
  426.    address of the frame.
  427.  
  428.    Security labels in the Data Link Layer may be used to meet the
  429.    requirements of end systems and intermediate systems (especially
  430.    bridges).  Explicit security labels in this layer tend to be small
  431.    because the protocol headers for data link layer protocols are
  432.    themselves small.  Therefore, when end systems require large security
  433.    labels, a higher protocol layer should used to carry them.  However,
  434.    when end systems do not require large security labels, the data link
  435.    layer is attractive because in many cases the data link layer
  436.    protocol supports several protocol suites simultaneously.  Label-
  437.    based routing/relay decisions made by bridges are best supported in
  438.    this layer.
  439.  
  440. 5.3  Layer 3, The Network Layer
  441.  
  442.    Explicit security labels are possible in the Network Layer.  In fact,
  443.    the IP Security Option (IPSO) [7] has been used for many years.
  444.    These labels optionally appear in each IP datagram.  IPSO labels are
  445.    obviously connectionless security labels.
  446.  
  447.  
  448.  
  449.  
  450. Housley                                                         [Page 8]
  451.  
  452. RFC 1457       Security Label Framework for the Internet        May 1993
  453.  
  454.  
  455.    Explicit connection-oriented security labels are also possible in the
  456.    Network Layer.  One could easily imagine a security label standard
  457.    for X.25 [15], but none exists.
  458.  
  459.    Of course, implicit security labels are also possible in the Network
  460.    Layer.  These labels could be either connectionless or connection-
  461.    oriented.  One attribute that might be used to determine the implicit
  462.    security label is the X.25 virtual circuit.
  463.  
  464.    Security labels in the Network Layer may be used to meet the
  465.    requirements of end systems and intermediate systems.  Explicit
  466.    security labels in this layer tend to be small because the protocol
  467.    headers for network layer protocols are themselves small.  Small
  468.    fixed size network layer protocol headers allow efficient router
  469.    implementations.  Therefore, when end systems require large security
  470.    labels, a higher protocol layer should used to carry them.
  471.    Alternatively, the Network Layer (especially the Subnetwork
  472.    Independent Convergence Protocol (SNICP) sublayer) is an excellent
  473.    place to carry a security label to support trusted demultiplexing,
  474.    because many implementations demultiplex from an system-wide daemon
  475.    to a user process after network layer processing.  The SNICP is end-
  476.    to-end, yet it is low enough in the protocol stack to aid trusted
  477.    demultiplexing.
  478.  
  479.    Label-based routing/relay decisions made by routers and packet
  480.    switches are best supported in the Network Layer.  Routers can also
  481.    add labels at subnetwork boundaries.  However, placement of these
  482.    security labels must be done carefully to ensure that their addition
  483.    does not degrade overall network performance by forcing routers that
  484.    do not make label-based routing decisions to parse the security
  485.    label.  Also, performance will suffer if the addition of security
  486.    labels at subnet boundaries induces fragmentation/segmentation.
  487.  
  488. 5.4  Layer 4, The Transport Layer
  489.  
  490.    Explicit security labels are possible in the Transport Layer.  For
  491.    example, the SP4 protocol [10,11] includes them.  These labels can be
  492.    either connectionless (using SP4E) or connection-oriented (using
  493.    SP4C).  SP4 is an addendum to the TP [16] and CLTP [17] protocols.
  494.  
  495.    Implicit security labels are also possible in the Transport Layer.
  496.    Such labels could be either connectionless or connection-oriented.
  497.    One attribute that might be used to determine the implicit label in
  498.    the SP4 protocol (when explicit labels are not used as discussed
  499.    above) is the choice of cryptographic key.
  500.  
  501.    Security labels in the Transport Layer may be used to meet the
  502.    requirements of end systems. The Transport Layer cannot be used to
  503.  
  504.  
  505.  
  506. Housley                                                         [Page 9]
  507.  
  508. RFC 1457       Security Label Framework for the Internet        May 1993
  509.  
  510.  
  511.    meet the requirements of intermediate systems because intermediate
  512.    systems, by definition, do not process protocols above the Network
  513.    Layer.  Connection-oriented explicit security labels in this layer
  514.    are especially good for meeting end system requirements where large
  515.    labels are required.  The security label is transmitted only at
  516.    connection establishment, so overhead is kept to a minimum.  Of
  517.    course, connectionless transport protocols may not take advantage of
  518.    this overhead reduction technique.  Yet, in many implementations the
  519.    Transport Layer is low enough in the protocol stack to aid trusted
  520.    demultiplexing.
  521.  
  522. 5.5  Layer 5, The Session Layer
  523.  
  524.    Explicit security labels are possible in the Session Layer.  Such
  525.    labels could be either connectionless or connection-oriented.
  526.    However, it is unlikely that a standard will ever be developed for
  527.    such labels because the OSI Security Architecture [4] does not
  528.    allocate any security services to the Session Layer, and the Internet
  529.    protocol suite does not have a Session Layer.
  530.  
  531.    Implicit security labels are also possible in the Session Layer.
  532.    These implicit labels could be either connectionless or connection-
  533.    oriented.  Again, the OSI Security Architecture makes this layer an
  534.    unlikely choice for security labeling.
  535.  
  536.    Security labels in the Session Layer may be used to meet the
  537.    requirements of end systems, but the Session Layer is too high in the
  538.    protocol stack to support trusted demultiplexing.  The Session Layer
  539.    cannot be used to meet the requirements of intermediate systems
  540.    because intermediate systems, by definition, do not process protocols
  541.    above the Network Layer.  Security labels in the Session Layer do not
  542.    offer any advantages to security labels in the Transport Layer.
  543.  
  544. 5.6  Layer 6, The Presentation Layer
  545.  
  546.    Explicit security labels are possible in the Presentation Layer.  The
  547.    presentation syntax may include a security label.  This approach
  548.    naturally performs translation to the local label format and supports
  549.    both connectionless and connection-oriented security labeling.
  550.  
  551.    Implicit security labels are also possible in the Presentation Layer.
  552.    Such labels could be either connectionless or connection-oriented.
  553.  
  554.    Security labels in the Presentation Layer may be used to meet the
  555.    requirements of end systems, but the Presentation Layer is too high
  556.    in the protocol stack to support trusted demultiplexing.  The
  557.    Presentation Layer cannot be used to meet the requirements of
  558.    intermediate systems because intermediate systems, by definition, do
  559.  
  560.  
  561.  
  562. Housley                                                        [Page 10]
  563.  
  564. RFC 1457       Security Label Framework for the Internet        May 1993
  565.  
  566.  
  567.    not process protocols above the Network Layer.  To date, no
  568.    Presentation Layer protocols have been standardized which include
  569.    security labels.
  570.  
  571. 5.7  Layer 7, The Application Layer
  572.  
  573.    Explicit security labels are possible in the Application Layer.  The
  574.    CCITT X.400 message handling system includes security labels in
  575.    message envelopes [18].  Other Application Layer protocols will
  576.    probably include security labels in the future.  These labels could
  577.    be either connectionless or connection-oriented.  Should security
  578.    labels be incorporated into transaction processing protocols and
  579.    message handling protocols, these will most likely be connectionless
  580.    security labels; should security labels be incorporated into other
  581.    application protocols, these will most likely be connection-oriented
  582.    security labels.  Application layer protocols are unique in that they
  583.    can include security label information which is specific to a
  584.    particular application without burdening other applications with the
  585.    syntax or semantics of that security label.
  586.  
  587.    Store and forward application protocols, like electronic messaging
  588.    and directory protocols, deserve special attention.  In terms of the
  589.    OSI Reference Model, they are end system protocols, but multiple end
  590.    systems cooperate to provide the communications service.  End systems
  591.    may use security labels to determine which end system should be next
  592.    in a chain of store and forward interactions; this use of security
  593.    labels is very similar to the label-based routing/relay decisions
  594.    made by routers except that the security labels are carried in an
  595.    Application Layer protocol.  Also, Application Layer protocols must
  596.    be used to carry security labels in a store and forward application
  597.    when sensitivity labels must be concealed from some end systems in
  598.    the chain or when some end systems in the chain are untrustworthy.
  599.  
  600.    Implicit security labels are also possible in the Application Layer.
  601.    These labels could be either connectionless or connection-oriented.
  602.    Application title or well know port number might be used to determine
  603.    the implicit label.
  604.  
  605.    Security labels in the Application Layer may be used to meet the
  606.    requirements of end systems, but the Application Layer is too high in
  607.    the protocol stack to support trusted demultiplexing.  The
  608.    Application Layer cannot be used to meet the requirements of
  609.    intermediate systems because intermediate systems, by definition, do
  610.    not process protocols above the Network Layer.
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Housley                                                        [Page 11]
  619.  
  620. RFC 1457       Security Label Framework for the Internet        May 1993
  621.  
  622.  
  623. 6.0  Summary
  624.  
  625.    Very few hard rules exist for security labels. Internet architects
  626.    and protocol designers face many tradeoffs when making security label
  627.    placement decisions.  However, a few guidelines can be derived from
  628.    the preceding discussion:
  629.  
  630.    First, security label-based routing decisions are best supported by
  631.    explicit security labels in the Data Link Layer and the Network
  632.    Layer.  When bridges are making the routing decisions, the Data Link
  633.    Layer should carry the explicit security label; when routers are
  634.    making the routing decisions, the Network Layer should carry the
  635.    explicit security label.
  636.  
  637.    Second, when security labels are specific to a particular application
  638.    it is wise to define them in the application protocol, so that these
  639.    security labels will not burden other applications on the network.
  640.  
  641.    Third, when trusted demultiplexing is a concern, the Network Layer
  642.    (preferably the SNICP) or Transport Layer should be used to carry the
  643.    explicit security label.  The SNICP or transport protocol are
  644.    especially attractive when combined with a cryptographic protocol
  645.    that binds the security label to the data and protects the both
  646.    against undetected modification.
  647.  
  648.    Fourth, to avoid explicit security label translation, a common
  649.    explicit security label format should be defined for the Internet.
  650.    Registration of security label semantics should be used so that many
  651.    security policies can be supported by the common explicit security
  652.    label syntax.
  653.  
  654. References
  655.  
  656.    [1] ISO Open Systems Interconnection - Basic Reference Model (ISO
  657.        7498).  International Organization for Standardization, 1981.
  658.  
  659.    [2] Dictionary of Military and Associated Terms (JCS Pub 1).  Joint
  660.        Chiefs of Staff.  1 April 1984.
  661.  
  662.    [3] Security Requirements for Automatic Data Processing (ADP) Systems
  663.        (DODD 5200.28).  Department of Defense.  21 March 1988.
  664.  
  665.    [4] Information Processing Systems - Open Systems Interconnection
  666.        Reference Model - Security Architecture (ISO 7498-2).
  667.        Organization for Standardization, 1988.
  668.  
  669.    [5] Biba, K. J.  "Integrity Considerations for Secure Computer
  670.        Systems",  MTR-3153, The Mitre Corporation, April 1977.
  671.  
  672.  
  673.  
  674. Housley                                                        [Page 12]
  675.  
  676. RFC 1457       Security Label Framework for the Internet        May 1993
  677.  
  678.  
  679.    [6] Bell, D. E.;  LaPadula, L. J.  "Secure Computer System: Unified
  680.        Exposition and Multics Interpretation", MTR-2997, The MITRE
  681.        Corporation, March 1976.
  682.  
  683.    [7] Kent, S.  "U.S. Department of Defense Security Options for the
  684.        Internet Protocol", RFC 1108, BBN Communications, November 1992.
  685.  
  686.    [8] Trusted Computer System Evaluation Criteria (DoD 5200.28-STD)
  687.        National Computer Security Center, 26 December 1985.
  688.  
  689.    [9] Trusted Network Interpretation of the Trusted Computer System
  690.        Evaluation Criteria, (NCSC-TG-005, Version-1).  National Computer
  691.        Security Center, 31 July 1987.
  692.  
  693.   [10] Nazario, Noel (Chairman). "Standard Security Label for GOSIP An
  694.        Invitational Workshop", NISTIR 4614, June 1991.
  695.  
  696.   [11] Dinkel, Charles (Editor). "Secure Data Network System (SDNS)
  697.        Network, Transport, and Message Security Protocols", NISTIR 90-
  698.        4250, February 1990, pp 39-62.
  699.  
  700.   [12] Dinkel, Charles (Editor). "Secure Data Network System (SDNS) Key
  701.        Management Documents", NISTIR 90-4262, February 1990.
  702.  
  703.   [13] IEEE Standards for Local Area Networks: Logical Link Control,
  704.        IEEE 802.2.  The Institute of Electrical and Electronics
  705.        Engineers, Inc, 1984.
  706.  
  707.   [14] IEEE Standards for Local Area Networks: Carrier Sense Multiple
  708.        Access with Collision Detection (CSMA/CD) Access Method and
  709.        Physical Layer Specification, IEEE 802.3.  The Institute of
  710.        Electrical and Electronics Engineers, Inc, 1985.
  711.  
  712.   [15] Recommendation X.25, Interface Between Data Terminal Equipment
  713.        (DTE) and Data Circuit Terminating Equipment (DCE) for Terminals
  714.        Operating in the Packet Mode on Public Data Networks.
  715.        Consultative Committee, International Telephone and Telegraph
  716.        (CCITT), 1984.
  717.  
  718.   [16] Information Processing Systems - Open Systems Interconnection -
  719.        Connection oriented transport protocol specification (ISO 8073).
  720.        Organization for Standardization, 1985.  [Also ISO 8208]
  721.  
  722.   [17] Information Processing Systems - Open Systems Interconnection -
  723.        Protocol for providing the connectionless-mode transport service
  724.        (ISO 8602).  Organization for Standardization, 1986.
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Housley                                                        [Page 13]
  731.  
  732. RFC 1457       Security Label Framework for the Internet        May 1993
  733.  
  734.  
  735.   [18] Recommendation X.411, Message Handling Systems: Message Transfer
  736.        System: Abstract Service Definition and Procedures.  Consultative
  737.        Committee, International Telephone and Telegraph (CCITT), 1988.
  738.        [Also ISO 8883-1]
  739.  
  740. Security Considerations
  741.  
  742.    This entire memo is devoted to a discussion of a Framework for
  743.    labeling information for security purposes in network protocols.
  744.  
  745. Author's Address
  746.  
  747.    Russell Housley
  748.    Xerox Special Information Systems
  749.    7900 Westpark Drive
  750.    McLean, Virginia  22102
  751.  
  752.    Phone:  703-790-3767
  753.    EMail:  Housley.McLean_CSD@Xerox.COM
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Housley                                                        [Page 14]
  787.