<chapter id="planl-1"><title>Planning Labels (Tasks)</title><highlights><itemizedlist><para>This chapter covers the following topics:</para><listitem><para><olink targetptr="planl-5" remap="internal">Planning Labels (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="planl-2" remap="internal">Sources for Encodings Files</olink></para>
</listitem>
</itemizedlist><para>For a greater level of detail and for further reference, see the <olink targetdoc="wslblencode" remap="external"><citetitle remap="book">Compartmented Mode Workstation Labeling: Encodings Format</citetitle></olink>: Defense Intelligence Agency
document [DDS-2600-6216-93]. This DIA reference is included in the Trusted Extensions document
set. When using the DIA reference, keep in mind that information labels and
their components are not used in Trusted Extensions.</para>
</highlights><sect1 id="planl-5"><title>Planning Labels (Task Map)</title><para>Planning labels requires a general knowledge of site security, and specific
knowledge of the syntax of the <filename>label_encodings</filename> file.</para><informaltable frame="all" pgwide="100"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="26.40*"/><colspec colname="colspec0" colwidth="37.60*"/><colspec colwidth="35.01*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Study and outline your label encodings file</para>
</entry><entry><para>Make a label encodings file that enforces your site security policy.</para>
</entry><entry><para><olink targetptr="planl-6" remap="internal">How to Strategize for Labels</olink></para>
</entry>
</row><row><entry><para>Build an extensible <filename>label_encodings</filename> file</para>
</entry><entry><para>Create a file that can be modified without affecting existing label
definitions.</para>
</entry><entry><para><olink targetptr="planl-7" remap="internal">How to Plan the Encodings File</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><task id="planl-6"><title>How to Strategize for Labels</title><procedure><step><para>Allow time to build a correct <filename>label_encodings</filename> file.</para><para>Building the encodings for a site and making the encodings correct
can be a time-consuming process. A system cannot be configured until the correct <filename>label_encodings</filename> file is installed.</para>
</step><step><para>Know your site's security policy.</para><para>Many sites
already have a security policy that was developed according to government
methods. Commercial businesses, even businesses that do not have much experience
in planning labeled security, can start by examining their goals for information
protection. These goals can be used to make some common-sense decisions about
how to use labels. If the company has developed legal requirements for labeling
printed information and email, those guidelines are a good place to start.</para><itemizedlist><listitem><para>For an example, see <olink targetptr="planex-1" remap="internal">Chapter&nbsp;6,
Example: Planning an Organization's Labels</olink>.</para>
</listitem><listitem><para>For more about setting up your site's security policy, see <olink targetdoc="trsoladmproc" targetptr="appol-1" remap="external">Appendix A, <citetitle remap="appendix">Site Security Policy,</citetitle> in <citetitle remap="book">Solaris Trusted Extensions Administrator&rsquo;s Procedures</citetitle></olink>.</para>
</listitem>
</itemizedlist>
</step><step><para>Study the U. S. government label encodings file.</para><para>The
government's description of the file is in the <olink targetdoc="wslblencode" remap="external"><citetitle remap="book">Compartmented Mode Workstation Labeling: Encodings Format</citetitle></olink><citetitle>:</citetitle> Defense Intelligence Agency document [DDS-2600-6216-93].</para>
</step><step><para>Customize the <literal>LOCAL DEFINITIONS</literal> section for
your site.</para><para>For suggestions and examples, see <olink targetptr="localdef-1" remap="internal">Chapter&nbsp;5, Customizing LOCAL DEFINITIONS</olink>.</para>
</step><step><para>Finalize your encodings before installing Trusted Extensions.</para><para>Changing the <filename>label_encodings</filename> file on a running
system is risky. For more information, see the <olink targetdoc="trsolrefman" targetptr="label-encodings-4" remap="external"><citerefentry><refentrytitle>label_encodings</refentrytitle><manvolnum>4</manvolnum></citerefentry></olink> man page.</para>
</step>
</procedure>
</task><task id="planl-7"><title>How to Plan the Encodings File</title><tasksummary><para>The following practices help create a correct <filename>label_encodings</filename> file
that can be safely extended later.</para><note><para>For <literal>CLASSIFICATIONS</literal> and, <literal>COMPARTMENTS</literal>,
the security administrator role can later change the textual representation.
However, the integer and bit values cannot be changed without potentially
serious complications.</para>
</note>
</tasksummary><procedure><step><para>Create a <filename>label_encodings</filename> file.</para><para>For
ideas, see <olink targetptr="planl-2" remap="internal">Sources for Encodings Files</olink>.
For the procedure, see <olink targetptr="modifyenc-30" remap="internal">Managing Label Encodings
(Task Map)</olink>.</para>
</step><step><para>Leave room to add items.</para><substeps><step><para>Leave gaps when you number classifications.</para><para>For example,
you could number classifications in increments of 10. The increments allow
intermediate classifications to be added later.</para>
</step><step><para>Leave gaps in compartment bits.</para><para>Space compartment
bit numbers for possible later additions.</para>
</step><step><para>Reserve some initial compartment bits for later definition.</para><para>If your site uses inverse compartments, see <olink targetptr="modifyenc-29" remap="internal">Default and Inverse Words</olink>. To learn more about inverse compartments,
see the DIA reference, <olink targetdoc="wslblencode" remap="external"><citetitle remap="book">Compartmented Mode Workstation Labeling: Encodings Format</citetitle></olink>.</para>
</step>
</substeps>
</step><step><para>Determine classifications for the site.</para><para>As described
in <olink targetptr="overview-fig-10" remap="internal">Figure&nbsp;1&ndash;2</olink>, the total
number of classification values that you can use is 254. Do not use classification
0.</para><para>The system treats a classification value of 10 as more security-sensitive
than a classification value of 2. The textual representations are not used
to determine security levels.</para><para>The same classification value cannot be assigned to different names.
Each classification must be higher or lower, or disjoint, from any other classification.
No two labels can evaluate to the same level.</para><para>A table can be used to plan classifications. For a completed example,
see <olink targetptr="planex-tbl-2" remap="internal">Table&nbsp;6&ndash;2</olink>.</para>
</step><step><para>Decide on compartments.</para><para>Decide how data and programs
are grouped. Decide whether any data or programs can be intermixed. For example,
perhaps purchase order data should not be seen by programs that manage personnel
files. Perhaps purchase order data should be accessible to programs that deal
with shipment tracking problems.</para><para>At this point, do not consider users. Think in terms of <emphasis>what</emphasis>,
not <emphasis>who</emphasis>.</para>
</step><step><para>Design the names.</para><para><literal>CLASSIFICATIONS</literal> and <literal>WORDS</literal> in the <filename>label_encodings</filename> file have two
forms: a mandatory long name and an optional short name. Short names can be
entered interchangeably with long names when labels are being specified.</para>
</step><step><para>Arrange the relationships.</para><para>Compartments are
not intrinsically hierarchical. However, compartments can be configured to
have hierarchical relationships. Before setting up relationships, study the
example section of <olink targetdoc="wslblencode" remap="external"><citetitle remap="book">Compartmented Mode Workstation Labeling: Encodings Format</citetitle></olink>.</para><para>One way to make this step easier is to use a large board and pieces
of paper that are marked with your classifications and compartments. For an
example, see <olink targetptr="planl-fig-2" remap="internal">Figure&nbsp;2&ndash;1</olink>.
With this method, you can visualize the relationships and rearrange the pieces
until they all fit together.</para><note><para>Unless you are creating a set of encodings that must be compatible
with another organization's labels, you can assign any valid number as a compartment
bit. Keep track of the numbers that you use and their relations to each other.</para>
</note><figure id="planl-fig-2"><title>Sample Planning Board for Label Relationships</title><mediaobject><imageobject><imagedata entityref="PlanningBoard.eps"/>
</imageobject><textobject><simpara>Illustration shows a board to help administrators plan
label assignments.</simpara>
</textobject>
</mediaobject>
</figure>
</step><step><para>Decide which clearances to assign to which users.</para><para>You
can use a table to plan clearances. For a completed example, see <olink targetptr="planex-13" remap="internal">Table&nbsp;6&ndash;5</olink>.</para><para>When you assign a clearance to a user, the classification must dominate
all classifications at which the user can work. The clearance can be equal
to the user's highest work classification. The compartments in the clearance
must include all compartments that the user might need.</para>
</step><step><para>Arrange the labels in order of increasing sensitivity.</para>
</step><step><para>Associate the definitions for each word with an internal format
of integers, bit patterns, and logical relationship statements.</para><para>A
table can be used to keep track of compartment bit assignments. For a completed
example, see <olink targetptr="planex-tbl-1" remap="internal">Table&nbsp;6&ndash;4</olink>.</para>
</step><step><para>Copy the <literal>WORDS</literal> section under <literal>SENSITIVITY
LABELS</literal> to the <literal>INFORMATION LABELS</literal> section.</para><para>Although Trusted Extensions does not support information labels, the <literal>INFORMATION
LABELS: WORDS:</literal> section must be identical to the <literal>SENSITIVITY
LABELS: WORDS:</literal> section to be a valid encodings file.</para>
</step><step><para>Decide which colors should be associated with which labels.</para><para>For suggestions and examples, see <olink targetptr="localdef-21" remap="internal">Specifying
Colors for Labels</olink>.</para>
</step><step><para>Analyze the label relationships.</para><para>On a system that
is configured with Trusted Extensions, use the <command>chk_encodings -a</command> command
to write a detailed report on the label relationships in your file.</para><screen># chk_encodings -a <replaceable>encodings-file</replaceable></screen>
</step>
</procedure>
</task>
</sect1><sect1 id="planl-2"><title>Sources for Encodings Files</title><para>The <filename>label_encodings</filename> file is a flat text file. On
a system that is configured with Trusted Extensions, the label of the file is <constant>ADMIN_HIGH</constant> to prevent ordinary users from reading it. The maximum
line length in the <filename>label_encodings</filename> file is 256 bytes.
The file can be edited with any text editor. The security administrator is
responsible for the creation and distribution of the <filename>label_encodings</filename> file.</para><note><para>The <filename>label_encodings</filename> file can be created or
edited on any system. However, the file must be checked and tested on a host
that is configured with Trusted Extensions.</para>
</note><para>Some organizations
have a government-furnished <filename>label_encodings</filename> file that
is based on Defense Intelligence Agency (DIA) specifications. Other organizations
might want to base their encodings file on one of the files that are provided
with the Trusted Extensions packages.</para><sect2 id="planl-4"><title>Labels Files in Solaris Trusted Extensions Packages</title><para>Trusted Extensions installs sample files in the <filename class="directory">/etc/security/tsol</filename> directory. These samples 
can be modified to your site requirements.</para><variablelist><varlistentry><term><filename>label_encodings.simple</filename> file</term><listitem><para>Is installed by Solaris Trusted Extensions software.</para>
</listitem>
</varlistentry><varlistentry><term><filename>label_encodings.example</filename> file</term><listitem><para>Is similar to the example in <olink targetptr="appendixa-1" remap="internal">Appendix&nbsp;A,
Sample Label Encodings File</olink>.</para><para>The introduction to the appendix describes the label components in the
file. <olink targetptr="planex-1" remap="internal">Chapter&nbsp;6, Example: Planning an Organization's
Labels</olink> describes each step in creating this file.</para>
</listitem>
</varlistentry><varlistentry><term><filename>label_encodings.gfi.single</filename> file</term><listitem><para>Is the U.S. Government single-level file.</para>
</listitem>
</varlistentry><varlistentry><term><filename>label_encodings.single</filename> file</term><listitem><para>Is Sun's version of the U.S. Government single-level file.
The color assignments are different.</para>
</listitem>
</varlistentry><varlistentry><term><filename>label_encodings.gfi.multi</filename> file</term><listitem><para>Is the U.S. Government multilevel file.</para>
</listitem>
</varlistentry><varlistentry><term><filename>label_encodings.multi</filename> file</term><listitem><para>Is Sun's version of the U.S. Government multilevel file. The
combinations are less restricted, the minimum clearance is higher, the default
user label is lower, and the colors are different.</para>
</listitem>
</varlistentry>
</variablelist><para>Alternatively, you can build a <filename>label_encodings</filename> file
from scratch. The syntax and structure of the <filename>label_encodings</filename> file
is provided in <olink targetptr="modifyenc-35" remap="internal">Encodings File Syntax</olink>.</para><sect3 id="appendixb-2"><title>Default Label Encodings File</title><para>By default, the <filename>label_encodings.simple</filename> file is
installed as <filename>/etc/security/tsol/label_encodings</filename>:</para><screen>ACCREDITATION RANGE:  classification= public;
only valid compartment combinations:  public
minimum clearance= needtoknow;
minimum sensitivity label= public;
minimum protect as classification= public;</screen><itemizedlist><para>The <literal>ACCREDITATION RANGE</literal> definition restricts the
user to the following label:</para><listitem><para><literal>PUBLIC</literal> is defined as the only classification</para>
</listitem><listitem><para><literal>PUBLIC</literal> is defined as the only valid compartment
combination</para>
</listitem><listitem><para><literal>NEEDTOKNOW</literal> is defined as the minimum clearance</para>
</listitem><listitem><para><literal>PUBLIC</literal> is defined as the minimum sensitivity
label</para>
</listitem><listitem><para><literal>PUBLIC</literal> is defined as the minimum protect
as classification</para>
</listitem>
</itemizedlist><para>The Classifications section is illustrated in the following figure.</para><figure id="appendixb-fig-1"><title>Classifications in Default <filename>label_encodings</filename> File</title><mediaobject><imageobject><imagedata entityref="SampleClassIndustry.eps"/>
</imageobject><textobject><simpara>Illustration shows the CLASSIFICATIONS section of the
file in text and in a picture.</simpara>
</textobject>
</mediaobject>
</figure><para>The compartments in the file are illustrated in the following figure.</para><figure id="appendixb-fig-2"><title>Compartments in Default <filename>label_encodings</filename> File</title><mediaobject><imageobject><imagedata entityref="SampleCompIndustry.eps"/>
</imageobject><textobject><simpara>Illustration shows the SENSITIVITY LABELS: WORDS: section
of the file in text and in a picture.</simpara>
</textobject>
</mediaobject>
</figure>
</sect3><sect3 id="appendixb-3"><title>Differences Between GFI Label Encodings Files</title><para>There are two government-furnished files, <filename>label_encodings.single</filename> and <filename>label_encodings.multi</filename>. The <filename>label_encodings.single</filename> file
is single-level, and the <filename>label_encodings.multi</filename> is a multilevel
version of the single-level file. The files also differ in the settings in
the <literal>ACCREDITATION RANGE</literal> section. The <literal>ACCREDITATION
RANGE</literal> section describes which classifications and compartments are
available to ordinary users.</para><sect4 id="appendixb-4"><title>GFI Multilevel Label Encodings File</title><para>The <literal>ACCREDITATION RANGE</literal> settings in the <filename>label_encodings.multi</filename> file are shown in the following excerpt:</para><screen>ACCREDITATION RANGE: 
classification= u;   all compartment combinations valid;
classification= c;   all compartment combinations valid;
classification= s;   all compartment combinations valid;
classification= ts;   all compartment combinations valid;

minimum clearance= c;
minimum sensitivity label= u;
minimum protect as classification= u;</screen><itemizedlist><para>The <literal>ACCREDITATION RANGE</literal> definitions enable the site
to use all the classifications and compartment words that are defined in the <filename>label_encodings.multi</filename> file:</para><listitem><para><literal>UNCLASSIFIED</literal>, <literal>CLASSIFIED</literal>, <literal>SECRET</literal>, and <literal>TOP SECRET</literal> are defined with all compartment
combinations valid</para>
</listitem><listitem><para><literal>CLASSIFIED</literal> is defined as the <literal>minimum
clearance</literal></para>
</listitem><listitem><para><literal>UNCLASSIFIED</literal> is defined as the <literal>minimum
sensitivity label</literal></para>
</listitem><listitem><para><literal>UNCLASSIFIED</literal> is defined as the <literal>minimum
protect as classification</literal></para>
</listitem>
</itemizedlist>
</sect4><sect4 id="appendixb-5"><title>GFI Single Level Label Encodings File</title><para>The <literal>ACCREDITATION RANGE</literal> settings in the <filename>label_encodings.single</filename> file are shown in the following excerpt:</para><screen>ACCREDITATION RANGE:  classification= s;
only valid compartment combinations:  s a b rel cntry1
minimum clearance= s Able Baker NATIONALITY: CNTRY1;
minimum sensitivity label= s A B REL CNTRY1;
minimum protect as classification= s;</screen><itemizedlist><para>The <literal>ACCREDITATION RANGE</literal> definition restricts the
user to the following label:</para><listitem><para><literal>SECRET</literal> is defined as the only classification</para>
</listitem><listitem><para><literal>SECRET A B REL CNTRY1</literal> is defined as the
only valid compartment combination</para>
</listitem><listitem><para><literal>SECRET ABLE BAKER NATIONALITY: CNTRY1</literal> is
defined as the minimum clearance</para>
</listitem><listitem><para><literal>SECRET A B REL CNTRY1</literal> is defined as the
minimum sensitivity label</para>
</listitem><listitem><para><literal>SECRET</literal> is defined as the minimum protect
as classification</para>
</listitem>
</itemizedlist>
</sect4>
</sect3>
</sect2><sect2 id="planl-3"><title>Sun Extensions to <filename>label_encodings</filename> File</title><para>Sun's implementation of the <filename>label_encodings</filename> file
supports a <literal>LOCAL DEFINITIONS</literal> section. This section is optional.
The section can be appended to an already-existing <filename>label_encodings</filename> file.
The word <literal>LOCAL</literal> in the keyword that starts the section means <emphasis>local to Sun's implementation</emphasis>.</para><para>Options in the <literal>LOCAL
DEFINITIONS</literal> section set label translation options and associate
colors with labels. The title bars of application windows display each label
against a background of the color that is specified for that label. If an
invalid color or no color is specified in the <literal>COLOR NAMES</literal> option,
a default color is supplied. <olink targetptr="localdef-1" remap="internal">Chapter&nbsp;5,
Customizing LOCAL DEFINITIONS</olink> describes how to modify the Sun extensions
for your site.</para>
</sect2>
</sect1>
</chapter>