1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
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
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
|
Network Working Group S. Kent
Request for Comments: 1108 BBN Communications
Obsoletes: RFC 1038 November 1991
U.S. Department of Defense
Security Options for the Internet Protocol
Status of this Memo
This RFC specifies an IAB standards track protocol for the Internet
community, and requests discussion and suggestions for improvements.
Please refer to the current edition of the "IAB Official Protocol
Standards" for the standardization state and status of this protocol.
Distribution of this memo is unlimited.
Abstract
This RFC specifies the U.S. Department of Defense Basic Security
Option and the top-level description of the Extended Security Option
for use with the Internet Protocol. This RFC obsoletes RFC 1038
"Revised IP Security Option", dated January 1988.
1. DoD Security Options Defined
The following two internet protocol options are defined for use on
Department of Defense (DoD) common user data networks:
CF CLASS # TYPE LENGTH DESCRIPTION
1 0 2 130 var. DoD Basic Security: Used to carry the
classification level and protection
authority flags.
1 0 5 133 var. DoD Extended Security: Used to carry
additional security information as
required by registered authorities.
CF = Copy on Fragmentation
2. DoD Basic Security Option
This option identifies the U.S. classification level at which the
datagram is to be protected and the authorities whose protection
rules apply to each datagram.
Kent [Page 1]
^L
RFC 1108 U.S. DOD Security Option November 1991
This option is used by end systems and intermediate systems of an
internet to:
a. Transmit from source to destination in a network standard
representation the common security labels required by computer
security models,
b. Validate the datagram as appropriate for transmission from
the source and delivery to the destination,
c. Ensure that the route taken by the datagram is protected to
the level required by all protection authorities indicated on
the datagram. In order to provide this facility in a general
Internet environment, interior and exterior gateway protocols
must be augmented to include security label information in
support of routing control.
The DoD Basic Security option must be copied on fragmentation. This
option appears at most once in a datagram. Some security systems
require this to be the first option if more than one option is
carried in the IP header, but this is not a generic requirement
levied by this specification.
The format of the DoD Basic Security option is as follows:
+------------+------------+------------+-------------//----------+
| 10000010 | XXXXXXXX | SSSSSSSS | AAAAAAA[1] AAAAAAA0 |
| | | | [0] |
+------------+------------+------------+-------------//----------+
TYPE = 130 LENGTH CLASSIFICATION PROTECTION
LEVEL AUTHORITY
FLAGS
FIGURE 1. DoD BASIC SECURITY OPTION FORMAT
2.1. Type
The value 130 identifies this as the DoD Basic Security Option.
2.2. Length
The length of the option is variable. The minimum length of the
option is 3 octets, including the Type and Length fields (the
Protection Authority field may be absent). A length indication of
less than 3 octets should result in error processing as described in
Section 2.8.1.
Kent [Page 2]
^L
RFC 1108 U.S. DOD Security Option November 1991
2.3. Classification Level
Field Length: One Octet
This field specifies the (U.S.) classification level at which the
datagram must be protected. The information in the datagram must be
protected at this level. The field is encoded as shown in Table 1
and the order of values in this table defines the ordering for
comparison purposes. The bit string values in this table were chosen
to achieve a minimum Hamming distance of four (4) between any two
valid values. This specific assignment of classification level names
to values has been defined for compatibility with security devices
which have already been developed and deployed.
"Reserved" values in the table must be treated as invalid until such
time they are assigned to named classification levels in a successor
to this document. A datagram containing a value for this field which
is either not in this table or which is listed as "reserved" is in
error and must be processed according to the "out-of-range"
procedures defined in section 2.8.1.
A classification level value from the Basic Security Option in a
datagram may be checked for equality against any of the (assigned)
values in Table 1 by performing a simple bit string comparison.
However, because of the sparseness of the classification level
encodings, range checks involving a value from this field must not be
performed based solely using arithmetic comparisons (as such
comparisons would encompass invalid and or unassigned values within
the range). The details of how ordered comparisons are performed for
this field within a system is a local matter, subject to the
requirements set forth in this paragraph.
Table 1. Classification Level Encodings
Value Name
00000001 - (Reserved 4)
00111101 - Top Secret
01011010 - Secret
10010110 - Confidential
01100110 - (Reserved 3)
11001100 - (Reserved 2)
10101011 - Unclassified
11110001 - (Reserved 1)
Kent [Page 3]
^L
RFC 1108 U.S. DOD Security Option November 1991
2.4. Protection Authority Flags
Field Length: Variable
This field identifies the National Access Programs or Special Access
Programs which specify protection rules for transmission and
processing of the information contained in the datagram. Note that
protection authority flags do NOT represent accreditation
authorities, though the semantics are superficially similar. In
order to maintain architectural consistency and interoperability
throughout DoD common user data networks, users of these networks
should submit requirements for additional Protection Authority Flags
to DISA DISDB, Washington, D.C. 20305-2000, for review and approval.
Such review and approval should be sought prior to design,
development or deployment of any system which would make use of
additional facilities based on assignment of new protection authority
flags. As additional flags are approved and assigned, they will be
published, along with the values defined above, in the Assigned
Numbers RFC edited by the Internet Assigned Numbers Authority (IANA).
a. Field Length: This field is variable in length. The low-
order bit (Bit 7) of each octet is encoded as "0" if it is the
final octet in the field or as "1" if there are additional
octets. Initially, only one octet is required for this field
(because there are fewer than seven authorities defined), thus
the final bit of the first octet is encoded as "0". However,
minimally compliant implementations must be capable of
processing a protection authority field consisting of at least 2
octets (representing up to 14 protection authorities).
Implementations existing prior to the issuance of this RFC, and
which process fewer protection authority than specified here,
will be considered minimally compliant so long as such
implementations process the flags in accordance with the RFC.
This field must be a minimally encoded representation, i.e., no
trailing all-zero octets should be emitted. If the length of
this field as indicated by this extensible encoding is not
consistent with the length field for the option, the datagram is
in error and the procedure described in Section 2.8.1 must be
followed. (Figure 2 illustrates the relative significance of
the bits within an octet).
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
High-order | | | | | | | | | Low-order
+---+---+---+---+---+---+---+---+
Figure 2. Significance of Bits
Kent [Page 4]
^L
RFC 1108 U.S. DOD Security Option November 1991
b. Source Flags: The first seven bits (Bits 0 through 6) in
each octet are flags. Each flag is associated with an
authority. Protection Authority flags currently assigned are
indicated in Table 2. The bit corresponding to an authority is
"1" if the datagram is to be protected in accordance with the
rules of that authority. More than one flag may be present in a
single instance of this option if the data contained in the
datagram should be protected according to rules established by
multiple authorities. Table 3 identifies a point of contact for
each of the authorities listed in Table 2. No "unassigned" bits
in this or other octets in the Protection Authority Field shall
be considered valid Protection Authority flags until such time
as such bits are assigned and the assignments are published in
the Assigned Numbers RFC. Thus a datagram containing flags for
unassigned bits in this field for this option is in error and
must be processed according to the "out-of-range" procedures
defined in section 2.8.1.
Two protection authority flag fields can be compared for
equality (=) via simple bit string matching. No relative
ordering between two protection authority flag fields is
defined. Because these flags represent protection authorities,
security models such as Bell-LaPadula do not apply to
interpretation of this field. However, the symbol "=<" refers
to set inclusion when comparing a protection authority flag
field to a set of such fields. Means for effecting these tests
within a system are a local matter, subject to the requirements
set forth in this paragraph.
Table 2 - Protection Authority Bit Assignments
BIT
NUMBER AUTHORITY
0 GENSER
1 SIOP-ESI
2 SCI
3 NSA
4 DOE
5, 6 Unassigned
7 Field Termination Indicator
Kent [Page 5]
^L
RFC 1108 U.S. DOD Security Option November 1991
Table 3 - Protection Authority Points of Contact
AUTHORITY POINT OF CONTACT
GENSER Designated Approving Authority
per DOD 5200.28
SIOP-ESI Department of Defense
Organization of the
Joint Chiefs of Staff
Attn: J6
Washington, DC 20318-6000
SCI Director of Central Intelligence
Attn: Chairman, Information
Handling Committee, Intelligence
Community Staff
Washington, D.C. 20505
NSA National Security Agency
9800 Savage Road
Attn: T03
Ft. Meade, MD 20755-6000
DOE Department of Energy
Attn: DP343.2
Washington, DC 20545
2.5. System Security Configuration Parameters
Use of the Basic Security Option (BSO) by an end or intermediate
system requires that the system configuration include the parameters
described below. These parameters are critical to secure processing
of the BSO, and thus must be protected from unauthorized
modification. Note that compliant implementations must allow a
minimum of 14 distinct Protection Authority flags (consistent with
the Protection Authority field size defined in Section 2.4) to be set
independently in any parameter involving Protection Authority flag
fields.
a. SYSTEM-LEVEL-MAX: This parameter specifies the highest
Classification Level (see Table 1) which may be present in the
classification level field of the Basic Security Option in any
datagram transmitted or received by the system.
b. SYSTEM-LEVEL-MIN: This parameter specifies the lowest
Classification Level (see Table 1) which may be present in the
classification level field of the Basic Security Option in any
Kent [Page 6]
^L
RFC 1108 U.S. DOD Security Option November 1991
datagram transmitted by the system.
c. SYSTEM-AUTHORITY-IN: This parameter is a set, each member of
which is a Protection Authority flag field. The set enumerates
all of the Protection Authority flag fields which may be present
in the Protection Authority field of the Basic Security Option
in any datagram received by this system. A compliant
implementation must be capable of representing at least 256
distinct Protection Authority flag fields (each field must be
capable of representing 14 distinct Protection Authority flags)
in this set. Each element of the enumerated set may be a
combination of multiple protection authority flags.
Set elements representing multiple Protection Authorities are
formed by ORing together the flags that represent each
authority. Thus, for example, a set element representing
datagrams to be protected according to NSA and SCI rules might
be represented as "00110000" while an element representing
protection mandated by NSA, DOE and SIOP-ESI might be
represented as "01011000". (These examples illustrate 8-bit set
elements apropos the minimal encodings for currently defined
Protection Authority flags. If additional flags are defined
beyond the first byte of the Protection Authority Field, longer
encodings for set elements may be required.)
It is essential that implementations of the Internet Protocol
Basic Security Option provide a convenient and compact way for
system security managers to express which combinations of flags
are allowed. The details of such an interface are outside the
scope of this RFC, however, enumeration of bit patterns is NOT a
recommended interface. As an alternative, one might consider a
notation of the form COMB(GENSER,NSA,SCI)+COMB(SIOP-ESI,NSA,SCI)
in which "COMB" means ANY combination of the flags referenced as
parameters of the COMB function are allowed and "+" means "or".
d. SYSTEM-AUTHORITY-OUT: This parameter is a set, each member
of which is a Protection Authority flag field. The set
enumerates all of the Protection Authority flag fields which may
be present in the Protection Authority field of the Basic
Security Option in any datagram transmitted by this system. A
compliant implementation must be capable of representing at
least 256 distinct Protection Authority flag fields in this set.
Explicit enumeration of all authorized Protection Authority
field flags permits great flexibility, and in particular does
not impose set inclusion restrictions on this parameter.
The following configuration parameters are defined for each network
port present on the system. The term "port" is used here to refer
Kent [Page 7]
^L
RFC 1108 U.S. DOD Security Option November 1991
either to a physical device interface (which may represent multiple
IP addresses) or to a single IP address (which may be served via
multiple physical interfaces). In general the former interpretation
will apply and is consistent with the Trusted Network Interpretation
of the Trusted Computer Systems Evaluation Criteria (TNI) concept of
a "communications channel" or "I/O device." However, the latter
interpretation also may be valid depending on local system security
capabilities. Note that some combinations of port parameter values
are appropriate only if the port is "single level," i.e., all data
transmitted or received via the port is accurately characterized by
exactly one Classification Level and Protection Authority Flag field.
e. PORT-LEVEL-MAX: This parameter specifies the highest
Classification Level (see Table 1) which may be present in the
classification level field of the Basic Security Option in any
datagram transmitted or received by the system via this network
port.
f. PORT-LEVEL-MIN: This parameter specifies the lowest
Classification Level (see Table 1) which may be present in the
classification level field of the Basic Security Option in any
datagram transmitted by the system via this network port.
g. PORT-AUTHORITY-IN: This parameter is a set each member of
which is a Protection Authority flag field. The set enumerates
all of the Protection Authority flag fields which may be present
in the Protection Authority field of the Basic Security Option
in any datagram received via this port. A compliant
implementation must be capable of representing at least 256
distinct Protection Authority flag fields in this set.
h. PORT-AUTHORITY-OUT: This parameter is a set each member of
which is a Protection Authority flag field. The set enumerates
all of the Protection Authority flag fields which may be present
in the Protection Authority field of the Basic Security Option
in any datagram transmitted via this port. A compliant
implementation must be capable of representing at least 256
distinct Protection Authority flag fields in this set.
i. PORT-AUTHORITY-ERROR: This parameter is a single Protection
Authority flag field assigned to transmitted ICMP error messages
(see Section 2.8). The PORT-AUTHORITY-ERROR value is selected
from the set of values which constitute PORT-AUTHORITY-OUT.
Means for selecting the PORT-AUTHORITY-ERROR value within a
system are a local matter subject to local security policies.
j. PORT-IMPLICIT-LABEL: This parameter specifies a single
Classification Level and a Protection Authority flag field
Kent [Page 8]
^L
RFC 1108 U.S. DOD Security Option November 1991
(which may be null) to be associated with all unlabelled
datagrams received via the port. This parameter is meaningful
only if PORT-BSO-REQUIRED-RECEIVE = FALSE, otherwise receipt of
an unlabelled datagram results in an error response.
k. PORT-BSO-REQUIRED-RECEIVE: This parameter is a boolean which
indicates whether all datagrams received via this network port
must contain a Basic Security Option.
l. PORT-BSO-REQUIRED-TRANSMIT: This parameter is a boolean
which indicates whether all datagrams transmitted via this
network port must contain a Basic Security Option. If this
parameter is set to FALSE, then PORT-BSO-REQUIRED-RECEIVE should
also be set to FALSE (to avoid communication failures resulting
from asymmetric labelling constraints).
In every intermediate or end system, the following relationship must
hold for these parameters for all network interfaces. The symbol
">=" is interpreted relative to the linear ordering defined for
security levels specified in Section 2.3 for the "LEVEL" parameters,
and as set inclusion for the "AUTHORITY" parameters.
SYSTEM-LEVEL-MAX >= PORT-LEVEL-MAX >=
PORT-LEVEL-MIN >= SYSTEM-LEVEL-MIN
SYSTEM-AUTHORITY-IN >= PORT-AUTHORITY-IN
and
SYSTEM-AUTHORITY-OUT >= PORT-AUTHORITY-OUT
2.6. Configuration Considerations
Systems which do not maintain separation for different security
classification levels of data should have only trivial ranges for the
LEVEL parameters, i.e., SYSTEM-LEVEL-MAX = PORT-LEVEL-MAX = PORT-
LEVEL-MIN = SYSTEM-LEVEL-MIN.
Systems which do maintain separation for different security
classification levels of data may have non-trivial ranges for the
LEVEL parameters, e.g., SYSTEM-LEVEL-MAX >= PORT-LEVEL-MAX >= PORT-
LEVEL-MIN >= SYSTEM-LEVEL-MIN.
2.7. Processing the Basic Security Option
For systems implementing the Basic Security Option, the parameters
PORT-BSO-REQUIRED-TRANSMIT and PORT-BSO-REQUIRED-RECEIVE are used to
specify the local security policy with regard to requiring the
presence of this option on transmitted and received datagrams,
respectively, on a per-port basis. Each datagram transmitted or
Kent [Page 9]
^L
RFC 1108 U.S. DOD Security Option November 1991
received by the system must be processed in accordance with the per-
port and system-wide security parameters configured for the system.
Systems which process only Unclassified data may or may not be
configured to generate the BSO on transmitted datagrams. Such
systems also may or may not require a BSO to be present on received
datagrams. However, all systems must be capable of accepting
datagrams containing this option, irrespective of whether the option
is processed or not.
In general, systems which process classified data must generate this
option for transmitted datagrams. The only exception to this rule
arises in (dedicated or system high [DoD 5200.28]) networks where
traffic may be implicitly labelled rather than requiring each
attached system to generate explicit labels. If the local security
policy permits receipt of datagrams without the option, each such
datagram is presumed to be implicitly labelled based on the port via
which the datagram is received. A per-port parameter (PORT-
IMPLICIT-LABEL) specifies the label to be associated with such
datagrams upon receipt. Note that a datagram transmitted in response
to receipt of an implicitly labelled datagram, may, based on local
policy, require an explicit Basic Security Option.
2.7.1. Handling Unclassified Datagrams
If an unmarked datagram is received via a network port for which
PORT-BSO-REQUIRED = FALSE and PORT-IMPLICIT-LABEL = UNCLASSIFIED (NO
FLAGS), the datagram shall be processed as though no Protection
Authority Flags were set. Thus there are two distinct, valid
representations for Unclassified datagrams to which no Protection
Authority rules apply (an unmarked datagram as described here and a
datagram containing an explicit BSO with Classification Level set to
Unclassified and with no Protection Authority flags set). Note that
a datagram also may contain a Basic Security Option in which the
Classification Level is Unclassified and one or more Protection
Authority Field Flags are set. Such datagrams are explicitly
distinct from the equivalence class noted above (datagrams marked
Unclassified with no Protection Authority field flags set and
datagrams not containing a Basic Security Option).
2.7.2. Input Processing
Upon receipt of any datagram a system compliant with this RFC must
perform the following actions. First, if PORT-BSO-REQUIRED-RECEIVE =
TRUE for this port, then any received datagram must contain a Basic
Security Option and a missing BSO results in an ICMP error response
as specified in Section 2.8.1. A received datagram which contains a
Basic Security Option must be processed as described below. This
Kent [Page 10]
^L
RFC 1108 U.S. DOD Security Option November 1991
algorithm assumes that the IP header checksum has already been
verified and that, in the course of processing IP options, this
option has been encountered. The value of the Classification Level
field from the option will be designated "DG-LEVEL" and the value of
the Protection Authority Flags field will be designated "DG-
AUTHORITY."
Step 1. Check that DG-LEVEL is a valid security classification level,
i.e., it must be one of the (non-reserved) values from Table
1. If this test fails execute the out-of-range procedure in
Section 2.8.1.
Step 2. Check that PORT-LEVEL-MAX >= DG-LEVEL. If this test fails,
execute out-of-range procedure specified in Section 2.8.2.
Step 3. Check that DG-AUTHORITY =< PORT-AUTHORITY-IN. If this test
fails, execute out-of-range procedure specified in Section
2.8.2.
2.7.3. Output Processing
Any system which implements the Basic Security Option must adhere to
a fundamental rule with regard to transmission of datagrams, i.e., no
datagram shall be transmitted with a Basic Security Option the value
of which is outside of the range for which the system is configured.
Thus for every datagram transmitted by a system the following must
hold: PORT-LEVEL-MAX >= DG-LEVEL >= PORT-LEVEL-MIN and DG-AUTHORITY
=< PORT-AUTHORITY-OUT. It is a local matter as to what procedures
are followed by a system which detects at attempt to transmit a
datagram for which these relationships do not hold.
If a port is configured to allow both labelled and unlabelled
datagrams (PORT-BSO-REQUIRED-TRANSMIT = FALSE) to be transmitted, the
question arises as to whether a label should be affixed. In
recognition of the lack of widespread implementation or use of this
option, especially in unclassified networks, this RFC recommends that
the default be transmission of unlabelled datagrams. If the
destination requires all datagrams to be labelled on input, then it
will respond with an ICMP error message (see Section 2.8.1) and the
originator can respond by labelling successive packets transmitted to
this destination.
To support this mode of operation, a system which allows transmission
of both labelled and unlabelled datagrams must maintain state
information (a cache) so that the system can associate the use of
labels with specific destinations, e.g., in response to receipt of an
ICMP error message as specified in Section 2.8.1. This requirement
for maintaining a per-destination cache is very much analogous to
Kent [Page 11]
^L
RFC 1108 U.S. DOD Security Option November 1991
that imposed for processing the IP source route option or for
maintaining first hop routing information (RFC 1122). This RFC does
not specify which protocol module must maintain the per-destination
cache (e.g., IP vs. TCP or UDP) but security engineering constraints
may dictate an IP implementation in trusted systems. This RFC also
does not specify a cache maintenance algorithm, though use of a timer
and activity flag may be appropriate.
2.8. Error Procedures
Datagrams received with errors in the Basic Security Option or which
are out of range for the network port via which they are received,
should not be delivered to user processes. Local policy will specify
whether logging and/or notification of a system security officer is
required in response to receipt of such datagrams. The following are
the least restrictive actions permitted by this protocol. Individual
end or intermediate systems, system administrators, or protection
authorities may impose more stringent restrictions on responses and
in some instances may not permit any response at all to a datagram
which is outside the security range of a host or system.
In all cases, if the error is triggered by receipt of an ICMP, the
ICMP is discarded and no response is permitted (consistent with
general ICMP processing rules).
2.8.1.Parameter Problem Response
If a datagram is received with no Basic Security Option and the
system security configuration parameters require the option on the
network port via which the datagram was received, an ICMP Parameter
Problem Missing Option (Type = 12, Code = 1) message is transmitted
in response. The Pointer field of the ICMP should be set to the
value "130" to indicate the type of option missing. A Basic Security
Option is included in the response datagram with Clearance Level set
to PORT-LEVEL-MIN and Protection Authority Flags set to PORT-
AUTHORITY-ERROR.
If a datagram is received in which the Basic Security Option is
malformed (e.g., an invalid Classification Level Protection Authority
Flag field), an ICMP Parameter Problem (Type = 12, Code = 0) message
is transmitted in response. The pointer field is set to the
malformed Basic Security Option. The Basic Security Option is
included in the response datagram with Clearance Level set to PORT-
LEVEL-MIN and Protection Authority Flags set to PORT-AUTHORITY-ERROR.
Kent [Page 12]
^L
RFC 1108 U.S. DOD Security Option November 1991
2.8.2. Out-Of-Range Response
If a datagram is received which is out of range for the network port
on which it was received, an ICMP Destination Unreachable
Communication Administratively Prohibited (Type = 3, Code = 9 for net
or Code = 10 for host) message is transmitted in response. A Basic
Security Option is included in the response datagram with Clearance
Level set to PORT-LEVEL-MIN and Protection Authority Flags set to
PORT-AUTHORITY-ERROR.
2.9. Trusted Intermediary Procedure
Certain devices in an internet may act as intermediaries to validate
that communications between two hosts are authorized. This decision
is based on the knowledge of the accredited security levels of the
hosts and the values in the DoD Basic Security Option. These devices
may receive IP datagrams which are in range for the intermediate
device, but are not within the accredited range either for the source
or for the destination. In the former case, the datagram should be
treated as described above for an out-of-range option. In the latter
case, an ICMP Destination Unreachable Communication Administratively
Prohibited (Type = 3, Code = 9 for net or Code = 10 for host)
response should be transmitted. The security range of the network
interface on which the reply will be sent determines whether a reply
is allowed and at what level it will be sent.
3. DoD Extended Security Option
This option permits additional security labelling information, beyond
that present in the Basic Security Option, to be supplied in an IP
datagram to meet the needs of registered authorities. Note that
information which is not labelling data or which is meaningful only
to the end systems (not intermediate systems) is not appropriate for
transmission in the IP layer and thus should not be transported using
this option. This option must be copied on fragmentation. Unlike
the Basic Option, this option may appear multiple times within a
datagram, subject to overall IP header size constraints.
This option may be present only in conjunction with the Basic
Security Option, thus all systems which support Extended Security
Options must also support the Basic Security Option. However, not
all systems which support the Basic Security Option need to support
Extended Security Options and support for these options may be
selective, i.e., a system need not support all Extended Security
Options.
The top-level format for this option is as follows:
Kent [Page 13]
^L
RFC 1108 U.S. DOD Security Option November 1991
+------------+------------+------------+-------//-------+
| 10000101 | 000LLLLL | AAAAAAAA | add sec info |
+------------+------------+------------+-------//-------+
TYPE = 133 LENGTH ADDITIONAL ADDITIONAL
SECURITY INFO SECURITY
FORMAT CODE INFO
FIGURE 3. DoD EXTENDED SECURITY OPTION FORMAT
3.1. Type
The value 133 identifies this as the DoD Extended Security Option.
3.2. Length.
The length of the option, which includes the "Type" and "Length"
fields, is variable. The minimum length of the option is 3 octets.
3.3. Additional Security Info Format Code
Length: 1 Octet
The value of the Additional Security Info Format Code identifies the
syntax and semantics for a specific "Additional Security Information"
field. For each Additional Security Info Format Code, an RFC will be
published to specify the syntax and to provide an algorithmic
description of the processing required to determine whether a
datagram carrying a label specified by this Format Code should be
accepted or rejected. This specification must be sufficiently
detailed to permit vendors to produce interoperable implementations,
e.g., it should be comparable to the specification of the Basic
Security Option provided in this RFC. However, the specification
need not include a mapping from the syntax of the option to human
labels if such mapping would cause distribution of the specification
to be restricted.
In order to maintain the architectural consistency of DoD common user
data networks, and to maximize interoperability, each activity should
submit its plans for the definition and use of an Additional Security
Info Format Code to DISA DISDB, Washington, D.C. 20305-2000 for
review and approval. DISA DISDB will forward plans to the Internet
Activities Board for architectural review and, if required, a cleared
committee formed by the IAB will be constituted for the review
process. Once approved, the Internet Assigned Number authority will
assign an Additional Security Info Format Code to the requesting
activity, concurrent with publication of the corresponding RFC.
Note: The bit assignments for the Protection Authority flags of the
Kent [Page 14]
^L
RFC 1108 U.S. DOD Security Option November 1991
Basic Security Option have no relationship to the "Additional
Security Info Format Code" of this option.
3.4. Additional Security Information.
Length: Variable
The Additional Security Info field contains the additional security
labelling information specified by the "Additional Security Info
Format Code" of the Extended Security Option. The syntax and
processing requirements for this field are specified by the
associated RFC as noted above. The minimum length of this field is
zero.
3.5. System Security Configuration Parameters
Use of the Extended Security Option requires that the intermediate or
end system configuration accurately reflect the security parameters
associated with communication via each network port (see Section 2.5
as a guide). Internal representation of the security parameters
implementation dependent. The set of parameters required to support
processing of the Extended Security Option is a function of the set
of Additional Security Info Format Codes supported by the system.
The RFC which specifies syntax and processing rules for a registered
Additional Security Info Format Code will specify the additional
system security parameters required for processing an Extended
Security Option relative to that Code.
3.6. Processing Rules
Any datagram containing an Extended Security Option must also contain
a Basic Security Option and receipt of a datagram containing the
former absent the latter constitutes an error. If the length
specified by the Length field is inconsistent with the length
specified by the variable length encoding for the Additional Security
Info field, the datagram is in error. If the datagram is received in
which the Additional Security Info Format Code contains a non-
registered value, the datagram is in error. Finally, if the
Additional Security Info field contains data inconsistent with the
defining RFC for the Additional Security Info Format Code, the
datagram is in error. In any of these cases, an ICMP Parameter
Problem response should be sent as per Section 2.8.1. Any additional
error processing rules will be specified in the defining RFC for this
Additional Security Info Format Code.
If the additional security information contained in the Extended
Security Option indicates that the datagram is within range according
to the security policy of the system, then the datagram should be
Kent [Page 15]
^L
RFC 1108 U.S. DOD Security Option November 1991
accepted for further processing. Otherwise, the datagram should be
rejected and the procedure specified in Section 2.8.2 should be
followed (with the Extended Security Option values set apropos the
Additional Security Info Format Code port security parameters).
As with the Basic Security Option, it will not be possible in a
general internet environment for intermediate systems to provide
routing control for datagrams based on the labels contained in the
Extended Security Option until such time as interior and exterior
gateway routing protocols are enhanced to process such labels.
References
[DoD 5200.28] Department of Defense Directive 5200.28, "Security
Requirements for Automated Information Systems," 21
March 1988.
Security Considerations
The focus of this RFC is the definition of formats and processing
conventions to support security labels for data contained in IP
datagrams, thus a variety of security issues must be considered
carefully when making use of these options. It is not possible to
address all of the security considerations which affect correct
implementation and use of these options, however the following
paragraph highglights some of these issues.
Correct implementation and operation of the software and hardware
which processes these options is essential to their effective use.
Means for achieving confidence in such correct implementation and
operation are outside of the scope of this RFC. The options
themselves incorporate no facilities to ensure the integrity of the
security labels in transit (other than the IP checksum mechanism),
thus appropriate technology must be employed whenever datagrams
containing these options transit "hostile" communication
environments. Careful, secure management of the configuration
variables associated with each system making use of these options is
essential if the options are to provide the intended security
functionality.
Kent [Page 16]
^L
RFC 1108 U.S. DOD Security Option November 1991
Author's Address
Stephen Kent
BBN Communications
150 CambridgePark Drive
Cambridge, MA 02140
Phone: (617) 873-3988
Email: kent@bbn.com
Kent [Page 17]
^L
|