Compartmented Mode Workstation Labeling: Encodings Format

Chapter 3 Classification Encodings

The CLASSIFICATIONS: section specifies the hierarchical classifications to be used by the system. Each classification is defined in terms of its full name, a short name, an internal integer value, and the initial compartments and markings to be associated with a classification, to be described below. This section is used by the system to convert a human-readable representation of a classification into the internal integer form, and to translate the internal form to a human-readable representation.

The CLASSIFICATIONS: section must contain one or more classification specifications. The specification of a classification starts with a name= keyword, and ends with the next name= keyword or the start of the INFORMATION LABELS: section. Therefore, a name= keyword must be the first keyword to follow the CLASSIFICATIONS: keyword. Other keywords used to define a classification are the sname=, aname=, value=, initial compartments=, and initial markings= keywords. These keywords can appear in any order following a name= keyword. A classification cannot contain the slash (/) or comma (,) or whitespace (space, tab, carriage return, linefeed, formfeed) characters.

The Name= Keyword

The name= keyword is used to define the full name of the classification. The name is taken to begin with the first non-blank character following the blank after the keyword, and continues up to the next semicolon or the end of the line. The name can contain blanks. A particular name value should not be specified more than once in the encodings file.

The full name specified is used when producing all human-readable classifications in information labels and on printer banner pages. The full name specified can also be entered by users any time a classification is needed (in sensitivity labels, information labels, and clearances).

The Sname= Keyword

The sname= keyword must be present to define the short or abbreviated name of the classification. The name is taken to begin with the first non-blank character following the blank after the keyword, and continues up to the next semicolon or the end of the line. The name can contain blanks. A particular sname value should not be specified more than once in the encodings file. If sname= is specified more than once for the same classification, all specifications except the last are ignored. Hence, sname= should be specified only once.

The short name specified is used when producing human-readable classifications in sensitivity labels and clearances. The short name specified can also be entered by users any time a classification is needed (in sensitivity labels, information labels, and clearances).

The Aname= Keyword

The optional aname= keyword can be used to define an alternate name of the classification. The name is taken to begin with the first non-blank character following the blank after the keyword and continues up to the next semicolon or the end of the line. The name can contain blanks.

The alternate name specified can be entered by users any time a classification is needed (in sensitivity labels, information labels, and clearances).

The Value= Keyword

The value= keyword must be present to specify the internal integer value to be associated with the classification. The smallest integer that can be specified is 0. The maximum size integer that can be specified is 255. The decimal integer specified for the value starts with the first non-blank character following the blank after the keyword, and continues up to the next semicolon or the end of the line. A null integer specification, as in the specification:

value= ;

is taken to be 0. If value= is specified more than once for the same classification name, all specifications except the last are ignored. Hence, value= should be specified only once. A particular value should be specified only once in the encodings file.

The hierarchy among different classifications must be evident from the values specified. A more sensitive classification must have a larger value than a less sensitive classification.

The Initial Compartments= Keyword

The initial compartments= keyword is optional, and is used to specify the initial, or default, values of compartment bits in an information label, sensitivity label, or clearance containing the associated classification. The initial compartments specification consists of a list of those compartment bits that should be 1 in such a label, with unspecified bits being 0. If no initial compartments= keyword is specified for a particular classification, all initial compartment bits for that classification are taken to be 0.

There are two reasons why the initial compartments associated with a classification would need to be non-zero. The first is the case where it is desired that all labels on the system containing that classification must have some normal word present, in which case the 1 compartment bits associated with the word would be specified as 1 in the initial compartment bits. Such a word is called a default word, and the compartment bits associated with the word are called default bits. (The association between words and their compartment bits is made by the compartments= keyword in the INFORMATION LABELS:, SENSITIVITY LABELS:, and CLEARANCES: sections of the encodings.)

The second is the case where the initial compartments specify which compartment bits are used inversely. (A prefix can also be used to specify compartment bits to be used inversely. Inverse bits specified by prefix words are called special inverse bits. See Defining Prefixes And Suffixes in Chapter 4, Information Label Encodings, and Using Prefixes to Specify Special Inverse Compartment and Marking Bits in Chapter 7, General Considerations for Specifying Encodings.) An inverse compartment bit is a bit whose 0 value is associated with the presence of a word and whose value is 1 unless the word is present in the label. Inverse compartment bits are associated with inverse words, whose addition to a label does not increase the sensitivity of the label, but instead either decreases or otherwise changes the sensitivity of the label (i.e., changes at least one bit in the internal form of the label from 1 to 0). Normal (non-inverse) compartment bits are associated with words whose addition to a label increases the sensitivity of the label by changing one or more bits from 0 to 1.

All initial compartment bits that are not inverse bits are considered default bits. All default bits must have default words associated. All words that have associated default bits can have only default bits associated.

The specification of compartment bits starts with the first non-blank character following the blank after the initial compartments= keyword, and continues up to the next semicolon or the end of the line. The specification consists of one or more blank-separated subspecifications that consist of either 1) a decimal integer specification of a bit position, numbering bits from the left starting at 0, or 2) a range of such bit positions specified as two decimal integers with a “-” in between. The start of a range must be lower than the end of a range. The maximum bit position allowed is 127, for a total of 128 bits. Table 3–1 contains examples of initial compartments specifications.

Table 3–1 Initial Compartments Specifications

Specification 

Meaning 

initial compartments= 1;

Compartment bit 1 must be on (1)

initial compartments= 2-3;

Compartment bits 2 and 3 must be on (1)

initial compartments= 1 3;

Compartment bits 1 and 3 must be on (1)

initial compartments= 2 4-6;

Compartment bits 2, 4, 5, and 6 must be on (1)

If initial compartments= is specified more than once for the same classification, the compartment bits indicated in each specification are taken together to form one composite initial compartments specification. Thus, the two specifications:

initial compartments= 4; initial compartments= 5;

are equivalent to the single specification:

initial compartments= 4-5;

However, for the sake of clarity, at most one initial compartments= keyword should be specified per classification.

The Initial Markings= Keyword

The initial markings= keyword is optional, and is used to specify the initial, or default values of marking bits in an information label containing the associated classification. The initial markings specification consists of a list of those marking bits that should be 1 in such a label, with unspecified bits being 0. If no initial markings= keyword is specified for a particular classification, all initial marking bits for that classification are taken to be 0.

There are two reasons why the initial markings associated with a classification would need to be non-zero. The first is the case where it is desired that all information labels on the system containing that classification must have some word (e.g., NOFORN) present, in which case the 1 marking bits associated with the word would be specified as 1 in the initial marking bits. (The association between words and their marking bits is made by the markings= keyword in the INFORMATION LABELS: section of the encodings.) Such a word is called a default word and the marking bits associated with the word are called default bits.

The second is the case where the initial markings specify which marking bits are used inversely. (A prefix can also be used to specify compartment bits to be used inversely. Inverse bits specified by prefix words are called special inverse bits. See Defining Prefixes And Suffixes in Chapter 4, Information Label Encodings, and Using Prefixes to Specify Special Inverse Compartment and Marking Bits in Chapter 7, General Considerations for Specifying Encodings.) An inverse marking bit is a bit whose 0 value is associated with the presence of a word and whose value is 1 unless the word is present in the label. Inverse marking bits are associated with inverse words, whose addition to a label does not increase the sensitivity of the label, but instead either decreases or otherwise changes the sensitivity of the label, (i.e., changes at least one bit in the internal form of the label from 1 to 0). Normal (non-inverse) marking bits are associated with words whose addition to a label increases the sensitivity of the label by changing one or more bits from 0 to 1.)

All initial marking bits that are not inverse bits are considered default bits. All default bits must have default words associated. All words that have associated default bits can have only default bits associated.

The specification of marking bits starts with the first non-blank character following the blank after the initial markings= keyword, and continues up to the next semicolon or the end of the line. The specification consists of one or more blank-separated subspecifications which consist of either 1) a decimal integer specification of a bit position, numbering bits from the left starting at 0, or 2) a range of such bit positions specified as two decimal integers with a “-” in between. The start of a range must be lower than the end of a range. The maximum bit position allowed is 127, for a total of 128 bits. Table 3–2 shows examples of initial markings specifications.

Table 3–2 Initial Markings Specifications

Specification 

Meaning 

initial markings= 1;

Marking bit 1 must be on (1)

initial markings= 2-3;

Marking bits 2 and 3 must be on (1)

initial markings= 1 3;

Marking bits 1 and 3 must be on (1)

initial markings= 2 4-6;

Marking bits 2, 4, 5, and 6 must be on (1)

If initial markings= is specified more than once for the same classification, the marking bits indicated in each specification are taken together to form one composite initial markings specification. Thus, the two specifications:

initial markings= 11; initial markings= 17;

are equivalent to the single specification:

initial markings= 11 17;

However, for the sake of clarity, at most one initial markings= keyword should be specified per classification.