Network Working Group M. St. Johns Request for Comments: 1038 IETF January 1988 Draft Revised IP Security Option Status of this Memo This RFC is a pre-publication draft of the revised Internet Protocol Security Option. This draft reflects the version as approved by the Protocol Standards Steering Group. It is provided for informational purposes only. The final version of this document will be available from Navy Publications and should not differ from this document in any major fashion. This document will be published as a change to the MIL-STD 1777, "Internet Protocol". Distribution of this memo is unlimited. 9.3.13.1 Internet Options Defined. The following internet options are defined: CLASS NUMBER LENGTH DESCRIPTION _____ ______ ______ ___________ 0 00000 - End of Option list: This option occupies only 1 octet; it has no length octet. 0 00001 - No Operation: This option occupies only 1 octet; it has no length octet. 0 00010 var. Basic Security: Used to carry security level and accrediting authority flags. 0 00011 var. Loose Source Routing: Used to route the datagram based on information supplied by the source. 0 00101 var. Extended Security: Used to carry additional security information as required by registered authorities. 0 01001 var. Strict Source Routing: Used to route the datagram based on information supplied by the source. 0 00111 var. Record Route: Used to trace the route a datagram takes. 0 01000 4 Stream ID: Used to carry the stream identifier. 2 00100 var. Internet Timestamp: Used to accumulate timing information in transit. St. Johns [Page 1] RFC 1038 Draft Revised IP Security Option January 1988 9.3.15.3 DoD Basic Security. Option type: 130 Option length: variable; minimum length: 4 The option identifies the U.S. security level to which the datagram is to be protected, and the accrediting authorities whose protection rules apply to each datagram. The option is used by accredited trusted components of an internet to: a. Validate the datagram as appropriate for transmission from the source. b. Guarantee that the route taken by the datagram (including the destination) is protected to the level required by all indicated accrediting authorities. c. Supply common label information required by computer security models. This option must be copied on fragmentation. This option appears at most once in a datagram. The format of this option is as follows: +--------------+-----------+-------------+-------------//----------+ | 10000010 | XXXXXXXX | SSSSSSSS | AAAAAAA[1] AAAAAAA0 | | | | | [0] | +--------------+-----------+-------------+-------------//----------+ TYPE = 130 LENGTH CLASSIFICATION PROTECTION VARIABLE PROTECTION AUTHORITY LEVEL FLAGS FIGURE 10-A. SECURITY OPTION FORMAT 9.3.15.3.1 Length. The length of the option is variable. The minimum length option is 4. 9.3.15.3.2 Classification Protection Level. This field specifies the U.S. classification level to which the datagram should be protected. The information in the datagram should be assumed to be at this level until and unless it is regraded in accordance with the procedures of all indicated protecting St. Johns [Page 2] RFC 1038 Draft Revised IP Security Option January 1988 authorities. This field specifies one of the four U.S. classification levels, and is encoded as follows: 11011110 - Top Secret 10101101 - Secret 01111010 - Confidential 01010101 - Unclassified 9.3.15.3.3 Protection Authorities Flags. This field indicates the National Access Program(s) with accrediting authority whose rules apply to the protection of the datagram. a. Field Length: This field is variable in length. The low- order bit (Bit 7) of each octet is encoded as "zero" if it is the final octet in the field, or as "one" if there are additional octets. Currently, only one octet is needed for this field (because there are less than seven authorities), and the final bit of the first octet is coded as "zero". b. Source Flags: The first seven bits (Bits 0 through 6) in each octet are source flags which are each associated with an authority as indicated below. The bit corresponding to an authority is "one" if the datagram is to be protected in accordance with the rules of that authority. 9.3.15.3.4 Usage Rules. Use of the option requires that a host be aware of 1) the classification level, or levels, at which it is permitted to operate, and 2) the protection authorities responsible for its certification. The achievement of this is implementation dependent. Rules for use of the option for different types of hosts are given below. 9.3.15.3.4.1 Unclassified Hosts, including gateways. a. Output: Unclassified hosts may either use or not use the option. If it is used, classification level must be unclassified, bit 0 of the accreditation field (GENSER) must be one, and all other bits of the accreditation field must be 0. While use of the option is permitted, it is recommended that unclassified hosts interested in maximizing interoperability with existing non- compliant implementations not use the option. b. Input: Unclassified hosts should accept for further processing IP datagrams without the option. If the option is present on an incoming IP datagram, then the datagram is accepted for further processing only if the classification level is St. Johns [Page 3] RFC 1038 Draft Revised IP Security Option January 1988 unclassified, bit 0 of the accreditation field (GENSER) is one, and all other bits of the accreditation field are zero. Otherwise, the out-of-range procedure is followed. 9.3.15.3.4.2 Hosts accredited in the Dedicated, System-High, or Compartmented Modes at a classification level higher than unclassified. a. Output. The use of the option is mandatory. The classification level should be the dedicated level for dedicated hosts and the system-high level for system-high and compartmented hosts. The accrediting authority flags should be one for all authorities which have accredited the hosts, and zero for all other authorities. b. Input. If 1) the option is present, 2) the classification level matches the host classification level, and 3) the accrediting authority flags for all accrediting authorities of the receiving host are one, and all others are zero, the IP datagram should be accepted for further processing. Otherwise, the out- of-range procedure is followed. 9.3.15.3.4.3 Hosts accredited in the Multi-Level or Controlled Mode for network transmission. a. Output. The use of the option is mandatory. The classification level of an IP datagram should be within the range of levels for which the host is accredited. The protection authorities flags should be one for all authorities under whose rules the datagram should be protected. b. Input. In the specific case where a multi-level or controlled host is accredited to directly interface with an unclassified environment, the host may accept IP datagrams without a basic security option. Such datagrams should be assumed to be implicitly labelled unclassified, GENSER, and should be so labelled explicitly if they are later output. In all other cases, the IP datagrams should have the basic security option on input, and the out-of-range procedure should be followed if it is not. There are two cases to be considered where the option is present. The first case is where the system environment permits the values in the option to be trusted to be correct for some range of values; the second is where the values cannot be trusted to be correct. For each multi-level or controlled host, every input channel for IP datagrams must be considered and classed appropriately. If a channel does have a trusted range, then the values of both the classification level and the protection authorities are checked to insure that they fall within that range and the range of accredited values for the St. Johns [Page 4] RFC 1038 Draft Revised IP Security Option January 1988 receiving host. If within both ranges, the IP datagram is accepted for further processing; otherwise the out-of-range procedure is followed. If the label cannot be trusted, then the receiving host must possess some accredited means of knowing what the correct marking should be (e.g., a trusted channel to a system-high host at a known level). On receipt of an IP datagram, the host compares the actual values in the option to the correct values. If the values match, the datagram is accepted for further processing; otherwise, the out-of-range procedure is followed. 9.3.15.3.4.4 Out-Of-Range Procedure. If an IP datagram is received which does not meet the input requirements, then: a) The data field should be overwritten with ones. b) If the problem is a missing required Basic or Extended security option, an ICMP "parameter problem" message is sent to the originating host with the code field set to 1 (one) to indicate "missing required option" and the pointer field set to the option type of the missing option. Otherwise, an ICMP "parameter problem" message is sent to the originating host with code field set to 0 (zero) and with the pointer field pointing to the position of the out-of-range security option. c) If the receiving host has an interface to a local security officer or equivalent, the problem should be identified across that interface in an appropriate way. 9.3.15.3.4.5 Trusted Intermediary Procedure. Certain devices in the internet may act as intermediaries to validate that communications between two hosts are authorized, based on a combination of knowledge of the hosts and the values in the IP security option. These devices may receive IP datagrams which are in range for the intermediate device, but are either not within the acceptable range for the sender, or for the ultimate receiver. In the former case, the datagram should be treated as described above for an out-of-range option. In the latter case, a "destination unreachable" ICMP message should be sent, with the code value of 10 (ten), indicating "Communication with Destination Host Administratively Prohibited". St. Johns [Page 5] RFC 1038 Draft Revised IP Security Option January 1988 9.3.15.4 DoD Extended Security Option Option type: 133 Option length: variable This option permits additional security related information, beyond that present in the Basic Security Option, to be supplied in an IP datagram to meet the needs of registered authorities. If this option is required by an authority for a specific system, it must be specified explicitly in any Request for Proposal. It is not otherwise required. This option must be copied on fragmentation. This option may appear multiple times within a datagram. The format for this option is as follows: +------------+-------------+-------------+--------//-------+ | 10000101 | 000LLLLL | AAAAAAAA | add sec info | +------------+-------------+-------------+--------//-------+ type = 133 LENGTH = Var. ADDITIONAL ADDITIONAL SECURITY SECURITY INFO INFO AUTHORITY CODE FIGURE 10-B. 9.3.15.4.1 Additional Security Info Authority Code. length = 8 bits The values of this field are assigned by DCA Code R130, Washington, D.C. 20305-2000. Each value corresponds to a requestor who, once assigned, becomes the authority for the remainder of the option definition for that value. 9.3.15.4.2 Additional Security Information. length - variable This field contains any additional security information as specified by the authority. St. Johns [Page 6] RFC 1038 Draft Revised IP Security Option January 1988 BIT NUMBER AUTHORITY 0 GENSER 1 SIOP 2 DSCCS-SPINTCOM 3 DSCCS-CRITICOM 4-7 Unassigned AUTHORITY SOURCE OF ANNEX DESCRIBING CURRENT CODING OF ADDITIONAL SECURITY INFORMATION GENSER National Access Program, less SIOP Defense Communications Agency ATTN: Code R130 Washington, DC 20305 SIOP National Access Program Department of Defense Organization of the Joint Chiefs of Staff Attn: J6T Washington, DC DSCCS-SPINTCOM National Access Program Defense Intelligence Agency Attn: DSE4 Bolling AFB, MD DSCCS-CRITICOM National Access Program National Security Agency 9800 Savage Road Attn: T03 Ft. Meade, MD 20755-6000 St. Johns [Page 7]