0001 IETF CIPSO Working Group
0002 16 July, 1992
0003
0004
0005
0006 COMMERCIAL IP SECURITY OPTION (CIPSO 2.2)
0007
0008
0009
0010 1. Status
0011
0012 This Internet Draft provides the high level specification for a Commercial
0013 IP Security Option (CIPSO). This draft reflects the version as approved by
0014 the CIPSO IETF Working Group. Distribution of this memo is unlimited.
0015
0016 This document is an Internet Draft. Internet Drafts are working documents
0017 of the Internet Engineering Task Force (IETF), its Areas, and its Working
0018 Groups. Note that other groups may also distribute working documents as
0019 Internet Drafts.
0020
0021 Internet Drafts are draft documents valid for a maximum of six months.
0022 Internet Drafts may be updated, replaced, or obsoleted by other documents
0023 at any time. It is not appropriate to use Internet Drafts as reference
0024 material or to cite them other than as a "working draft" or "work in
0025 progress."
0026
0027 Please check the I-D abstract listing contained in each Internet Draft
0028 directory to learn the current status of this or any other Internet Draft.
0029
0030
0031
0032
0033 2. Background
0034
0035 Currently the Internet Protocol includes two security options. One of
0036 these options is the DoD Basic Security Option (BSO) (Type 130) which allows
0037 IP datagrams to be labeled with security classifications. This option
0038 provides sixteen security classifications and a variable number of handling
0039 restrictions. To handle additional security information, such as security
0040 categories or compartments, another security option (Type 133) exists and
0041 is referred to as the DoD Extended Security Option (ESO). The values for
0042 the fixed fields within these two options are administered by the Defense
0043 Information Systems Agency (DISA).
0044
0045 Computer vendors are now building commercial operating systems with
0046 mandatory access controls and multi-level security. These systems are
0047 no longer built specifically for a particular group in the defense or
0048 intelligence communities. They are generally available commercial systems
0049 for use in a variety of government and civil sector environments.
0050
0051 The small number of ESO format codes can not support all the possible
0052 applications of a commercial security option. The BSO and ESO were
0053 designed to only support the United States DoD. CIPSO has been designed
0054 to support multiple security policies. This Internet Draft provides the
0055 format and procedures required to support a Mandatory Access Control
0056 security policy. Support for additional security policies shall be
0057 defined in future RFCs.
0058
0059
0060
0061
0062 Internet Draft, Expires 15 Jan 93 [PAGE 1]
0063
0064
0065
0066 CIPSO INTERNET DRAFT 16 July, 1992
0067
0068
0069
0070
0071 3. CIPSO Format
0072
0073 Option type: 134 (Class 0, Number 6, Copy on Fragmentation)
0074 Option length: Variable
0075
0076 This option permits security related information to be passed between
0077 systems within a single Domain of Interpretation (DOI). A DOI is a
0078 collection of systems which agree on the meaning of particular values
0079 in the security option. An authority that has been assigned a DOI
0080 identifier will define a mapping between appropriate CIPSO field values
0081 and their human readable equivalent. This authority will distribute that
0082 mapping to hosts within the authority's domain. These mappings may be
0083 sensitive, therefore a DOI authority is not required to make these
0084 mappings available to anyone other than the systems that are included in
0085 the DOI.
0086
0087 This option MUST be copied on fragmentation. This option appears at most
0088 once in a datagram. All multi-octet fields in the option are defined to be
0089 transmitted in network byte order. The format of this option is as follows:
0090
0091 +----------+----------+------//------+-----------//---------+
0092 | 10000110 | LLLLLLLL | DDDDDDDDDDDD | TTTTTTTTTTTTTTTTTTTT |
0093 +----------+----------+------//------+-----------//---------+
0094
0095 TYPE=134 OPTION DOMAIN OF TAGS
0096 LENGTH INTERPRETATION
0097
0098
0099 Figure 1. CIPSO Format
0100
0101
0102 3.1 Type
0103
0104 This field is 1 octet in length. Its value is 134.
0105
0106
0107 3.2 Length
0108
0109 This field is 1 octet in length. It is the total length of the option
0110 including the type and length fields. With the current IP header length
0111 restriction of 40 octets the value of this field MUST not exceed 40.
0112
0113
0114 3.3 Domain of Interpretation Identifier
0115
0116 This field is an unsigned 32 bit integer. The value 0 is reserved and MUST
0117 not appear as the DOI identifier in any CIPSO option. Implementations
0118 should assume that the DOI identifier field is not aligned on any particular
0119 byte boundary.
0120
0121 To conserve space in the protocol, security levels and categories are
0122 represented by numbers rather than their ASCII equivalent. This requires
0123 a mapping table within CIPSO hosts to map these numbers to their
0124 corresponding ASCII representations. Non-related groups of systems may
0125
0126
0127
0128 Internet Draft, Expires 15 Jan 93 [PAGE 2]
0129
0130
0131
0132 CIPSO INTERNET DRAFT 16 July, 1992
0133
0134
0135
0136 have their own unique mappings. For example, one group of systems may
0137 use the number 5 to represent Unclassified while another group may use the
0138 number 1 to represent that same security level. The DOI identifier is used
0139 to identify which mapping was used for the values within the option.
0140
0141
0142 3.4 Tag Types
0143
0144 A common format for passing security related information is necessary
0145 for interoperability. CIPSO uses sets of "tags" to contain the security
0146 information relevant to the data in the IP packet. Each tag begins with
0147 a tag type identifier followed by the length of the tag and ends with the
0148 actual security information to be passed. All multi-octet fields in a tag
0149 are defined to be transmitted in network byte order. Like the DOI
0150 identifier field in the CIPSO header, implementations should assume that
0151 all tags, as well as fields within a tag, are not aligned on any particular
0152 octet boundary. The tag types defined in this document contain alignment
0153 bytes to assist alignment of some information, however alignment can not
0154 be guaranteed if CIPSO is not the first IP option.
0155
0156 CIPSO tag types 0 through 127 are reserved for defining standard tag
0157 formats. Their definitions will be published in RFCs. Tag types whose
0158 identifiers are greater than 127 are defined by the DOI authority and may
0159 only be meaningful in certain Domains of Interpretation. For these tag
0160 types, implementations will require the DOI identifier as well as the tag
0161 number to determine the security policy and the format associated with the
0162 tag. Use of tag types above 127 are restricted to closed networks where
0163 interoperability with other networks will not be an issue. Implementations
0164 that support a tag type greater than 127 MUST support at least one DOI that
0165 requires only tag types 1 to 127.
0166
0167 Tag type 0 is reserved. Tag types 1, 2, and 5 are defined in this
0168 Internet Draft. Types 3 and 4 are reserved for work in progress.
0169 The standard format for all current and future CIPSO tags is shown below:
0170
0171 +----------+----------+--------//--------+
0172 | TTTTTTTT | LLLLLLLL | IIIIIIIIIIIIIIII |
0173 +----------+----------+--------//--------+
0174 TAG TAG TAG
0175 TYPE LENGTH INFORMATION
0176
0177 Figure 2: Standard Tag Format
0178
0179 In the three tag types described in this document, the length and count
0180 restrictions are based on the current IP limitation of 40 octets for all
0181 IP options. If the IP header is later expanded, then the length and count
0182 restrictions specified in this document may increase to use the full area
0183 provided for IP options.
0184
0185
0186 3.4.1 Tag Type Classes
0187
0188 Tag classes consist of tag types that have common processing requirements
0189 and support the same security policy. The three tags defined in this
0190 Internet Draft belong to the Mandatory Access Control (MAC) Sensitivity
0191
0192
0193
0194 Internet Draft, Expires 15 Jan 93 [PAGE 3]
0195
0196
0197
0198 CIPSO INTERNET DRAFT 16 July, 1992
0199
0200
0201
0202 class and support the MAC Sensitivity security policy.
0203
0204
0205 3.4.2 Tag Type 1
0206
0207 This is referred to as the "bit-mapped" tag type. Tag type 1 is included
0208 in the MAC Sensitivity tag type class. The format of this tag type is as
0209 follows:
0210
0211 +----------+----------+----------+----------+--------//---------+
0212 | 00000001 | LLLLLLLL | 00000000 | LLLLLLLL | CCCCCCCCCCCCCCCCC |
0213 +----------+----------+----------+----------+--------//---------+
0214
0215 TAG TAG ALIGNMENT SENSITIVITY BIT MAP OF
0216 TYPE LENGTH OCTET LEVEL CATEGORIES
0217
0218 Figure 3. Tag Type 1 Format
0219
0220
0221 3.4.2.1 Tag Type
0222
0223 This field is 1 octet in length and has a value of 1.
0224
0225
0226 3.4.2.2 Tag Length
0227
0228 This field is 1 octet in length. It is the total length of the tag type
0229 including the type and length fields. With the current IP header length
0230 restriction of 40 bytes the value within this field is between 4 and 34.
0231
0232
0233 3.4.2.3 Alignment Octet
0234
0235 This field is 1 octet in length and always has the value of 0. Its purpose
0236 is to align the category bitmap field on an even octet boundary. This will
0237 speed many implementations including router implementations.
0238
0239
0240 3.4.2.4 Sensitivity Level
0241
0242 This field is 1 octet in length. Its value is from 0 to 255. The values
0243 are ordered with 0 being the minimum value and 255 representing the maximum
0244 value.
0245
0246
0247 3.4.2.5 Bit Map of Categories
0248
0249 The length of this field is variable and ranges from 0 to 30 octets. This
0250 provides representation of categories 0 to 239. The ordering of the bits
0251 is left to right or MSB to LSB. For example category 0 is represented by
0252 the most significant bit of the first byte and category 15 is represented
0253 by the least significant bit of the second byte. Figure 4 graphically
0254 shows this ordering. Bit N is binary 1 if category N is part of the label
0255 for the datagram, and bit N is binary 0 if category N is not part of the
0256 label. Except for the optimized tag 1 format described in the next section,
0257
0258
0259
0260 Internet Draft, Expires 15 Jan 93 [PAGE 4]
0261
0262
0263
0264 CIPSO INTERNET DRAFT 16 July, 1992
0265
0266
0267
0268 minimal encoding SHOULD be used resulting in no trailing zero octets in the
0269 category bitmap.
0270
0271 octet 0 octet 1 octet 2 octet 3 octet 4 octet 5
0272 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX . . .
0273 bit 01234567 89111111 11112222 22222233 33333333 44444444
0274 number 012345 67890123 45678901 23456789 01234567
0275
0276 Figure 4. Ordering of Bits in Tag 1 Bit Map
0277
0278
0279 3.4.2.6 Optimized Tag 1 Format
0280
0281 Routers work most efficiently when processing fixed length fields. To
0282 support these routers there is an optimized form of tag type 1. The format
0283 does not change. The only change is to the category bitmap which is set to
0284 a constant length of 10 octets. Trailing octets required to fill out the 10
0285 octets are zero filled. Ten octets, allowing for 80 categories, was chosen
0286 because it makes the total length of the CIPSO option 20 octets. If CIPSO
0287 is the only option then the option will be full word aligned and additional
0288 filler octets will not be required.
0289
0290
0291 3.4.3 Tag Type 2
0292
0293 This is referred to as the "enumerated" tag type. It is used to describe
0294 large but sparsely populated sets of categories. Tag type 2 is in the MAC
0295 Sensitivity tag type class. The format of this tag type is as follows:
0296
0297 +----------+----------+----------+----------+-------------//-------------+
0298 | 00000010 | LLLLLLLL | 00000000 | LLLLLLLL | CCCCCCCCCCCCCCCCCCCCCCCCCC |
0299 +----------+----------+----------+----------+-------------//-------------+
0300
0301 TAG TAG ALIGNMENT SENSITIVITY ENUMERATED
0302 TYPE LENGTH OCTET LEVEL CATEGORIES
0303
0304 Figure 5. Tag Type 2 Format
0305
0306
0307 3.4.3.1 Tag Type
0308
0309 This field is one octet in length and has a value of 2.
0310
0311
0312 3.4.3.2 Tag Length
0313
0314 This field is 1 octet in length. It is the total length of the tag type
0315 including the type and length fields. With the current IP header length
0316 restriction of 40 bytes the value within this field is between 4 and 34.
0317
0318
0319 3.4.3.3 Alignment Octet
0320
0321 This field is 1 octet in length and always has the value of 0. Its purpose
0322 is to align the category field on an even octet boundary. This will
0323
0324
0325
0326 Internet Draft, Expires 15 Jan 93 [PAGE 5]
0327
0328
0329
0330 CIPSO INTERNET DRAFT 16 July, 1992
0331
0332
0333
0334 speed many implementations including router implementations.
0335
0336
0337 3.4.3.4 Sensitivity Level
0338
0339 This field is 1 octet in length. Its value is from 0 to 255. The values
0340 are ordered with 0 being the minimum value and 255 representing the
0341 maximum value.
0342
0343
0344 3.4.3.5 Enumerated Categories
0345
0346 In this tag, categories are represented by their actual value rather than
0347 by their position within a bit field. The length of each category is 2
0348 octets. Up to 15 categories may be represented by this tag. Valid values
0349 for categories are 0 to 65534. Category 65535 is not a valid category
0350 value. The categories MUST be listed in ascending order within the tag.
0351
0352
0353 3.4.4 Tag Type 5
0354
0355 This is referred to as the "range" tag type. It is used to represent
0356 labels where all categories in a range, or set of ranges, are included
0357 in the sensitivity label. Tag type 5 is in the MAC Sensitivity tag type
0358 class. The format of this tag type is as follows:
0359
0360 +----------+----------+----------+----------+------------//-------------+
0361 | 00000101 | LLLLLLLL | 00000000 | LLLLLLLL | Top/Bottom | Top/Bottom |
0362 +----------+----------+----------+----------+------------//-------------+
0363
0364 TAG TAG ALIGNMENT SENSITIVITY CATEGORY RANGES
0365 TYPE LENGTH OCTET LEVEL
0366
0367 Figure 6. Tag Type 5 Format
0368
0369
0370 3.4.4.1 Tag Type
0371
0372 This field is one octet in length and has a value of 5.
0373
0374
0375 3.4.4.2 Tag Length
0376
0377 This field is 1 octet in length. It is the total length of the tag type
0378 including the type and length fields. With the current IP header length
0379 restriction of 40 bytes the value within this field is between 4 and 34.
0380
0381
0382 3.4.4.3 Alignment Octet
0383
0384 This field is 1 octet in length and always has the value of 0. Its purpose
0385 is to align the category range field on an even octet boundary. This will
0386 speed many implementations including router implementations.
0387
0388
0389
0390
0391
0392 Internet Draft, Expires 15 Jan 93 [PAGE 6]
0393
0394
0395
0396 CIPSO INTERNET DRAFT 16 July, 1992
0397
0398
0399
0400 3.4.4.4 Sensitivity Level
0401
0402 This field is 1 octet in length. Its value is from 0 to 255. The values
0403 are ordered with 0 being the minimum value and 255 representing the maximum
0404 value.
0405
0406
0407 3.4.4.5 Category Ranges
0408
0409 A category range is a 4 octet field comprised of the 2 octet index of the
0410 highest numbered category followed by the 2 octet index of the lowest
0411 numbered category. These range endpoints are inclusive within the range of
0412 categories. All categories within a range are included in the sensitivity
0413 label. This tag may contain a maximum of 7 category pairs. The bottom
0414 category endpoint for the last pair in the tag MAY be omitted and SHOULD be
0415 assumed to be 0. The ranges MUST be non-overlapping and be listed in
0416 descending order. Valid values for categories are 0 to 65534. Category
0417 65535 is not a valid category value.
0418
0419
0420 3.4.5 Minimum Requirements
0421
0422 A CIPSO implementation MUST be capable of generating at least tag type 1 in
0423 the non-optimized form. In addition, a CIPSO implementation MUST be able
0424 to receive any valid tag type 1 even those using the optimized tag type 1
0425 format.
0426
0427
0428 4. Configuration Parameters
0429
0430 The configuration parameters defined below are required for all CIPSO hosts,
0431 gateways, and routers that support multiple sensitivity labels. A CIPSO
0432 host is defined to be the origination or destination system for an IP
0433 datagram. A CIPSO gateway provides IP routing services between two or more
0434 IP networks and may be required to perform label translations between
0435 networks. A CIPSO gateway may be an enhanced CIPSO host or it may just
0436 provide gateway services with no end system CIPSO capabilities. A CIPSO
0437 router is a dedicated IP router that routes IP datagrams between two or more
0438 IP networks.
0439
0440 An implementation of CIPSO on a host MUST have the capability to reject a
0441 datagram for reasons that the information contained can not be adequately
0442 protected by the receiving host or if acceptance may result in violation of
0443 the host or network security policy. In addition, a CIPSO gateway or router
0444 MUST be able to reject datagrams going to networks that can not provide
0445 adequate protection or may violate the network's security policy. To
0446 provide this capability the following minimal set of configuration
0447 parameters are required for CIPSO implementations:
0448
0449 HOST_LABEL_MAX - This parameter contains the maximum sensitivity label that
0450 a CIPSO host is authorized to handle. All datagrams that have a label
0451 greater than this maximum MUST be rejected by the CIPSO host. This
0452 parameter does not apply to CIPSO gateways or routers. This parameter need
0453 not be defined explicitly as it can be implicitly derived from the
0454 PORT_LABEL_MAX parameters for the associated interfaces.
0455
0456
0457
0458 Internet Draft, Expires 15 Jan 93 [PAGE 7]
0459
0460
0461
0462 CIPSO INTERNET DRAFT 16 July, 1992
0463
0464
0465
0466
0467 HOST_LABEL_MIN - This parameter contains the minimum sensitivity label that
0468 a CIPSO host is authorized to handle. All datagrams that have a label less
0469 than this minimum MUST be rejected by the CIPSO host. This parameter does
0470 not apply to CIPSO gateways or routers. This parameter need not be defined
0471 explicitly as it can be implicitly derived from the PORT_LABEL_MIN
0472 parameters for the associated interfaces.
0473
0474 PORT_LABEL_MAX - This parameter contains the maximum sensitivity label for
0475 all datagrams that may exit a particular network interface port. All
0476 outgoing datagrams that have a label greater than this maximum MUST be
0477 rejected by the CIPSO system. The label within this parameter MUST be
0478 less than or equal to the label within the HOST_LABEL_MAX parameter. This
0479 parameter does not apply to CIPSO hosts that support only one network port.
0480
0481 PORT_LABEL_MIN - This parameter contains the minimum sensitivity label for
0482 all datagrams that may exit a particular network interface port. All
0483 outgoing datagrams that have a label less than this minimum MUST be
0484 rejected by the CIPSO system. The label within this parameter MUST be
0485 greater than or equal to the label within the HOST_LABEL_MIN parameter.
0486 This parameter does not apply to CIPSO hosts that support only one network
0487 port.
0488
0489 PORT_DOI - This parameter is used to assign a DOI identifier value to a
0490 particular network interface port. All CIPSO labels within datagrams
0491 going out this port MUST use the specified DOI identifier. All CIPSO
0492 hosts and gateways MUST support either this parameter, the NET_DOI
0493 parameter, or the HOST_DOI parameter.
0494
0495 NET_DOI - This parameter is used to assign a DOI identifier value to a
0496 particular IP network address. All CIPSO labels within datagrams destined
0497 for the particular IP network MUST use the specified DOI identifier. All
0498 CIPSO hosts and gateways MUST support either this parameter, the PORT_DOI
0499 parameter, or the HOST_DOI parameter.
0500
0501 HOST_DOI - This parameter is used to assign a DOI identifier value to a
0502 particular IP host address. All CIPSO labels within datagrams destined for
0503 the particular IP host will use the specified DOI identifier. All CIPSO
0504 hosts and gateways MUST support either this parameter, the PORT_DOI
0505 parameter, or the NET_DOI parameter.
0506
0507 This list represents the minimal set of configuration parameters required
0508 to be compliant. Implementors are encouraged to add to this list to
0509 provide enhanced functionality and control. For example, many security
0510 policies may require both incoming and outgoing datagrams be checked against
0511 the port and host label ranges.
0512
0513
0514 4.1 Port Range Parameters
0515
0516 The labels represented by the PORT_LABEL_MAX and PORT_LABEL_MIN parameters
0517 MAY be in CIPSO or local format. Some CIPSO systems, such as routers, may
0518 want to have the range parameters expressed in CIPSO format so that incoming
0519 labels do not have to be converted to a local format before being compared
0520 against the range. If multiple DOIs are supported by one of these CIPSO
0521
0522
0523
0524 Internet Draft, Expires 15 Jan 93 [PAGE 8]
0525
0526
0527
0528 CIPSO INTERNET DRAFT 16 July, 1992
0529
0530
0531
0532 systems then multiple port range parameters would be needed, one set for
0533 each DOI supported on a particular port.
0534
0535 The port range will usually represent the total set of labels that may
0536 exist on the logical network accessed through the corresponding network
0537 interface. It may, however, represent a subset of these labels that are
0538 allowed to enter the CIPSO system.
0539
0540
0541 4.2 Single Label CIPSO Hosts
0542
0543 CIPSO implementations that support only one label are not required to
0544 support the parameters described above. These limited implementations are
0545 only required to support a NET_LABEL parameter. This parameter contains
0546 the CIPSO label that may be inserted in datagrams that exit the host. In
0547 addition, the host MUST reject any incoming datagram that has a label which
0548 is not equivalent to the NET_LABEL parameter.
0549
0550
0551 5. Handling Procedures
0552
0553 This section describes the processing requirements for incoming and
0554 outgoing IP datagrams. Just providing the correct CIPSO label format
0555 is not enough. Assumptions will be made by one system on how a
0556 receiving system will handle the CIPSO label. Wrong assumptions may
0557 lead to non-interoperability or even a security incident. The
0558 requirements described below represent the minimal set needed for
0559 interoperability and that provide users some level of confidence.
0560 Many other requirements could be added to increase user confidence,
0561 however at the risk of restricting creativity and limiting vendor
0562 participation.
0563
0564
0565 5.1 Input Procedures
0566
0567 All datagrams received through a network port MUST have a security label
0568 associated with them, either contained in the datagram or assigned to the
0569 receiving port. Without this label the host, gateway, or router will not
0570 have the information it needs to make security decisions. This security
0571 label will be obtained from the CIPSO if the option is present in the
0572 datagram. See section 4.1.2 for handling procedures for unlabeled
0573 datagrams. This label will be compared against the PORT (if appropriate)
0574 and HOST configuration parameters defined in section 3.
0575
0576 If any field within the CIPSO option, such as the DOI identifier, is not
0577 recognized the IP datagram is discarded and an ICMP "parameter problem"
0578 (type 12) is generated and returned. The ICMP code field is set to "bad
0579 parameter" (code 0) and the pointer is set to the start of the CIPSO field
0580 that is unrecognized.
0581
0582 If the contents of the CIPSO are valid but the security label is
0583 outside of the configured host or port label range, the datagram is
0584 discarded and an ICMP "destination unreachable" (type 3) is generated
0585 and returned. The code field of the ICMP is set to "communication with
0586 destination network administratively prohibited" (code 9) or to
0587
0588
0589
0590 Internet Draft, Expires 15 Jan 93 [PAGE 9]
0591
0592
0593
0594 CIPSO INTERNET DRAFT 16 July, 1992
0595
0596
0597
0598 "communication with destination host administratively prohibited"
0599 (code 10). The value of the code field used is dependent upon whether
0600 the originator of the ICMP message is acting as a CIPSO host or a CIPSO
0601 gateway. The recipient of the ICMP message MUST be able to handle either
0602 value. The same procedure is performed if a CIPSO can not be added to an
0603 IP packet because it is too large to fit in the IP options area.
0604
0605 If the error is triggered by receipt of an ICMP message, the message
0606 is discarded and no response is permitted (consistent with general ICMP
0607 processing rules).
0608
0609
0610 5.1.1 Unrecognized tag types
0611
0612 The default condition for any CIPSO implementation is that an
0613 unrecognized tag type MUST be treated as a "parameter problem" and
0614 handled as described in section 4.1. A CIPSO implementation MAY allow
0615 the system administrator to identify tag types that may safely be
0616 ignored. This capability is an allowable enhancement, not a
0617 requirement.
0618
0619
0620 5.1.2 Unlabeled Packets
0621
0622 A network port may be configured to not require a CIPSO label for all
0623 incoming datagrams. For this configuration a CIPSO label must be
0624 assigned to that network port and associated with all unlabeled IP
0625 datagrams. This capability might be used for single level networks or
0626 networks that have CIPSO and non-CIPSO hosts and the non-CIPSO hosts
0627 all operate at the same label.
0628
0629 If a CIPSO option is required and none is found, the datagram is
0630 discarded and an ICMP "parameter problem" (type 12) is generated and
0631 returned to the originator of the datagram. The code field of the ICMP
0632 is set to "option missing" (code 1) and the ICMP pointer is set to 134
0633 (the value of the option type for the missing CIPSO option).
0634
0635
0636 5.2 Output Procedures
0637
0638 A CIPSO option MUST appear only once in a datagram. Only one tag type
0639 from the MAC Sensitivity class MAY be included in a CIPSO option. Given
0640 the current set of defined tag types, this means that CIPSO labels at
0641 first will contain only one tag.
0642
0643 All datagrams leaving a CIPSO system MUST meet the following condition:
0644
0645 PORT_LABEL_MIN <= CIPSO label <= PORT_LABEL_MAX
0646
0647 If this condition is not satisfied the datagram MUST be discarded.
0648 If the CIPSO system only supports one port, the HOST_LABEL_MIN and the
0649 HOST_LABEL_MAX parameters MAY be substituted for the PORT parameters in
0650 the above condition.
0651
0652 The DOI identifier to be used for all outgoing datagrams is configured by
0653
0654
0655
0656 Internet Draft, Expires 15 Jan 93 [PAGE 10]
0657
0658
0659
0660 CIPSO INTERNET DRAFT 16 July, 1992
0661
0662
0663
0664 the administrator. If port level DOI identifier assignment is used, then
0665 the PORT_DOI configuration parameter MUST contain the DOI identifier to
0666 use. If network level DOI assignment is used, then the NET_DOI parameter
0667 MUST contain the DOI identifier to use. And if host level DOI assignment
0668 is employed, then the HOST_DOI parameter MUST contain the DOI identifier
0669 to use. A CIPSO implementation need only support one level of DOI
0670 assignment.
0671
0672
0673 5.3 DOI Processing Requirements
0674
0675 A CIPSO implementation MUST support at least one DOI and SHOULD support
0676 multiple DOIs. System and network administrators are cautioned to
0677 ensure that at least one DOI is common within an IP network to allow for
0678 broadcasting of IP datagrams.
0679
0680 CIPSO gateways MUST be capable of translating a CIPSO option from one
0681 DOI to another when forwarding datagrams between networks. For
0682 efficiency purposes this capability is only a desired feature for CIPSO
0683 routers.
0684
0685
0686 5.4 Label of ICMP Messages
0687
0688 The CIPSO label to be used on all outgoing ICMP messages MUST be equivalent
0689 to the label of the datagram that caused the ICMP message. If the ICMP was
0690 generated due to a problem associated with the original CIPSO label then the
0691 following responses are allowed:
0692
0693 a. Use the CIPSO label of the original IP datagram
0694 b. Drop the original datagram with no return message generated
0695
0696 In most cases these options will have the same effect. If you can not
0697 interpret the label or if it is outside the label range of your host or
0698 interface then an ICMP message with the same label will probably not be
0699 able to exit the system.
0700
0701
0702 6. Assignment of DOI Identifier Numbers =
0703
0704 Requests for assignment of a DOI identifier number should be addressed to
0705 the Internet Assigned Numbers Authority (IANA).
0706
0707
0708 7. Acknowledgements
0709
0710 Much of the material in this RFC is based on (and copied from) work
0711 done by Gary Winiger of Sun Microsystems and published as Commercial
0712 IP Security Option at the INTEROP 89, Commercial IPSO Workshop.
0713
0714
0715 8. Author's Address
0716
0717 To submit mail for distribution to members of the IETF CIPSO Working
0718 Group, send mail to: cipso@wdl1.wdl.loral.com.
0719
0720
0721
0722 Internet Draft, Expires 15 Jan 93 [PAGE 11]
0723
0724
0725
0726 CIPSO INTERNET DRAFT 16 July, 1992
0727
0728
0729
0730
0731 To be added to or deleted from this distribution, send mail to:
0732 cipso-request@wdl1.wdl.loral.com.
0733
0734
0735 9. References
0736
0737 RFC 1038, "Draft Revised IP Security Option", M. St. Johns, IETF, January
0738 1988.
0739
0740 RFC 1108, "U.S. Department of Defense Security Options
0741 for the Internet Protocol", Stephen Kent, IAB, 1 March, 1991.
0742
0743
0744
0745
0746
0747
0748
0749
0750
0751
0752
0753
0754
0755
0756
0757
0758
0759
0760
0761
0762
0763
0764
0765
0766
0767
0768
0769
0770
0771
0772
0773
0774
0775
0776
0777
0778
0779
0780
0781
0782
0783
0784
0785
0786
0787
0788 Internet Draft, Expires 15 Jan 93 [PAGE 12]
0789
0790
0791