home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1997 December
/
Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso
/
drafts
/
draft_s_z
/
draft-tbnadn-sec-label-00.txt
< prev
next >
Wrap
Text File
|
1997-06-24
|
47KB
|
1,335 lines
Network Working Group Thomas C. Bartee (IDA)
INTERNET-DRAFT Nelson W. Alvarez (DISA)
C. Dale. Nunley (DoD)
June 1997
Internet Security Label (ISL)
<draft-tbnadn-sec-label-00.txt>
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are
working documents of the Internet Engineering Task Force
(IETF)., its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-
Drafts as reference material or to cite them other than as
"work in progress."
To learn the current status of any Internet-Draft, please
check the `'1id-abstract.txt'' listing contained in the
Internet-Drafts Shadow Directories on ftp.is.co.za (Africa),
nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
ds.internic.net (US East Coast), or ftp.isi.edu (US Coast).
Abstract
This document describes the Internet Security Label (ISL).
ISL provides a mechanism for encoding security (sensitivity)
parameters. The ISL is intended to be a layer-independent
security mechanism. It can be used with all current versions
of the Internet Protocol (IP), including IPv4 and IPv6 as well
as the IP Security Protocols (IPSEC), the encapsulating
Security Payload (ESP) and the Authentication Header (AH).
Other protocols which use a security label can also use the
ISL encoding standard including IPX.
Internet-Draft Internet Security Label June 1997
Table of Contents
1. Introduction ..................................... 3
1.1 Overview ...................................... 5
1.2 Requirements Terminology ................... 5
1.3 Technical Definitions ...................... 6
2. General Description .............................. 10
2.1 Basic ...................................... 10
2.2 General Tag Format ......................... 11
2.3 Tags ....................................... 12
3. Access and Routing Control ....................... 19
3.1 Clearance Considerations ................... 19
3.2 Error Processing ........................... 20
3.3 Example Tag Procedures ...................... 21
4. Security Considerations .......................... 22
5. References ....................................... 23
Bartee, Alvarez, Nunley Page 2
Internet-Draft Internet Security Label June 1997
1. Introduction
A security label is an indication of the protection
requirements for information (including programs and data)
imposed by a security policy. Although security labels have
often been restrictively limited to "sensitivity" of
information related to access control, other aspects of
security policy (e.g., confidentiality requirements, integrity
requirements, non-repudiation requirements) may also need to
be represented. Familiar examples of labels indicating
sensitivity are: the "Company Confidential" marking used by
many corporations to indicate the material so marked is not to
be released to other than corporation (company) employees
(unless corporation management makes such a release.);
"Corporate Financial" is often used to restrict release to
only those working in the financial area; "Medical Records"
is used to enforce privacy laws concerning employee (or
patient) private medical information, etc. Agencies of the
Government have similar markings which restrict data release
to other than selected groups and military establishments
generally have complex marking systems to control access to
sensitive information (this includes NATO.) Inter-Government
organizations such as IMF, World Bank, etc. also have marking
systems.
There may be several markings associated with particular data
and we find "AMEX Company Confidential", "Release to Film
Development Only" on a single document or protocol entity. In
this RFC, the collection of all the security markings
associated with a protocol entity is called a security label.
Internet RFCs also often use the term sensitivity label [2].
Security labels convey information used by protocol entities,
operating systems, and applications to determine how to
protect information in open systems. Information in a security
label can be used to control access, specify protective
measures, and determine additional handling restrictions
required by a security policy.
The syntactic constructs for conveying security information in
this standard are used along with the semantics provided by
the security authority which establishes security policy for
the information exchanged. It is anticipated that each
security domain will have a registration authority whose
responsibility will be to register security-related technical
objects for that domain. These objects could include security
policies, certificate policies, security labels, and others.
The registration authority will ensure that the domain
Bartee, Alvarez, Nunley Page 3
Internet-Draft Internet Security Label June 1997
number/object identifier is unique for each technical object.
The security domain registration authority must ensure that
registration applications contain the appropriate information
such as name, address (physical and Email), telephone number,
person to contact, releasability of the registration
information, a proposed alpha-numeric name for the domain,
domain description, and any other information required by the
security domain registration authority. Dissemination of the
registration information will be at the discretion of the
domain security policy administrators, however it must be
available to all authorized components that communicate within
that domain.
There are two types of markings commonly used in security
labels which are called "restrictive markings" and "release
markings." There are also "hierarchical" or "level markings"
which form a special subset of restrictive markings.
When access to information is to be limited to only those who
qualify by being included in "every" marking in a section of a
label the markings are "restrictive markings." An example is
where a Corporation wants to release information to only those
who work for the corporation, and are in an engineering
development program, and who are in the financial department.
The markings might then be "Genzyme"; "engineering";
"financial" where "Genzyme" is a restrictive marking,
"engineering" is a restrictive marking and "financial" is a
restrictive marking.
"Release markings" are also used to control information
dispersal and these include such markings as "Release to Amgen
Biotech", "Release to First Genome UK Division." etc. In order
to qualify for receival of information when several of these
markings are used in a label only one (or more) of the
markings is required. For the immediately preceding two
markings a person would qualify if he/she worked in Amgen
Biotech "or" was with First Genome in the UK.
"Hierarchical Markings" are a subset of restrictive markings
which are ordered in that information (or someone) in a high
level category is always in all of the lower level categories.
The most familiar instances are the "unclassified-confidential-
secret-top secret" markings used by several Governments where
information which is secret, for instance, is considered more
sensitive than information which is confidential, or
unclassified. Those who have been categorized by a Government
as able to accept secret information would then also be
Bartee, Alvarez, Nunley Page 4
Internet-Draft Internet Security Label June 1997
qualified to receive lower level information (generally with
the qualification that they have some reason to know the
information.)
In order to transmit the sensitivity markings in a
communications system and to control access to the associated
information an encoding mechanism can be used. The encoding
mechanism is the subject of this document. This encoding
standard permits separation of communities (domains) such as
Corporations, Government Agencies, etc. and encoded marking
interpretations are unique within communities (domains.) The
encoded markings can be used for access control before
transmission, on the network (in routers, for example), and at
receivers or during processing. This document assumes some
familiarity with the TCP/IP headers and with the Internet "IP
Security Architecture" document [2] which provides background
information.
1.1 Overview
The Internet Security Label provides the ability to control
and communicate security information for data such as printed
documents, display windows and database records. The ISL uses
standard computer encoding formats. The ISL enables users to
make efficient (compact) encodings. Processing is also fast
in order to facilitate usage in routers, gateways, etc.
Tables can be used to provide mappings between ISL encodings
and operating systems and/or network specific encodings. As
is the case for Tunnel-mode ESP and Transportation-mode ESP,
the encoded markings can be placed in the encapsulating
security payload or the IP datagram prior to the transport-
layer protocol header (TCP, UDP, ICMP) respectively. It can
be used in AH in an unencrypted IP packet, after the IP header
and before the ESP header (for transport-mode ESP) or in the
encrypted tunnel-mode ESP.
1.2 Requirements Terminology
In this document, the words that are used to define the
significance of each particular requirement are usually
capitalized. These words are:
- MUST
This word or the adjective "REQUIRED" means that the item is
an absolute requirement of the specification.
- SHOULD
Bartee, Alvarez, Nunley Page 5
Internet-Draft Internet Security Label June 1997
This word or the adjective "RECOMMENDED" means that there
might exist valid reasons in particular circumstances to
ignore this item, but the full implications should be
understood and the case carefully weighed before taking a
different course.
- MAY
This word or the adjective "OPTIONAL" means that this item
is truly optional. One vendor might choose to include the
item because a particular marketplace requires it or because
it enhances the product, for example; another vendor may
omit the same item.
1.3 Technical Definitions
This section provides a few basic definitions that are
applicable to this document. Other documents provide more
definitions and background information. ([3] - [6].)
Authentication (of Data Origin):
A security property that ensures that the origin of received
data is, in fact, the claimed sender. Usually bundled with
integrity services, especially connectionless integrity.
Bit Order:
The ISL assumes a standard ordering of bits as they are
transmitted over a network. Bits within bytes are transmitted
from most significant bit (MSB) to least significant bit
(LSB).
Confidentiality:
A security property that ensures that communicated data is
disclosed to intended recipients, but is not disclosed to
other, unauthorized parties. Traffic flow confidentiality
extends this service to externally visible characteristics of
communication, e.g., source and destination identifiers,
message length, or frequency of communication. (See also
traffic analysis, below.)
Destination system:
This is the information system that is identified by the
destination address in the protocol data unit header. This
system will be the one to receive the protocol data unit and
pass it to an upper layer protocol.
DOI:
A collection of systems that share a same set of security
Bartee, Alvarez, Nunley Page 6
Internet-Draft Internet Security Label June 1997
policies and a common interpretation of security attributes
form a Domain of Interpretation (DOI).
DOI authority:
The DOI authority is the organization that has obtained a DOI
identifier. The authority is responsible for defining and
requesting registration for and distributing the DOI mapping.
DOI Identifier:
The DOI Identifier is the number used in the ISL header to
uniquely represent a DOI.
Encryption:
A mechanism commonly used to provide confidentiality.
End system:
This refers to either the source or destination system.
Intermediate System:
A system performing functions of the lower three layers of the
OSI Reference Model, commonly thought of as routing data for
end systems.
Integrity (Connectionless):
A security property that ensures data is transmitted from
source to destination without undetected alteration. If the
order of transmitted data also is ensured, the service is
termed connection-oriented integrity. The term anti-replay
refers to a form of connection-oriented integrity designed to
detect and reject duplicated or very old data units.
Label range:
This is a pair of security labels which bound the security
labels a subject may access. It is assumed that all objects
whose labels fall within this range, inclusive, are accessible
by the subject.
MLS:
Multi-Level Security (MLS) is the practice of giving end
systems or network resources a sensitivity label and
restricting access to those resources based on a users
clearance label range.
Network byte order:
The ISL assumes the most significant byte/octet is transmitted
first.
Non-repudiation:
Bartee, Alvarez, Nunley Page 7
Internet-Draft Internet Security Label June 1997
A security property that ensures that a participant in a
communication cannot later deny having participated in the
communication. This property may apply to either the sender
or the recipient of communicated data, or both.
Object:
An object is a network resource to which access by a subject
must be controlled in accordance with the local security
policy. Examples of objects for networks are: protocol data
units, applications, configuration parameters, connections,
and networks.
Protocol Data Unit:
A unit of data specified in a protocol and consisting of
protocol information and, possibly, user data.
Release marking:
A release marking provides a list of authorized subjects who
may access the associated object. The release marking is made
up of release categories.
Release category:
The release category represents a subject or group of subjects
that may access an object.
SPI:
Acronym for "Security Parameters Index." The combination of
an SPI and a destination address uniquely identifies a simplex
security association (SA, see below). The SPI is carried in
IPsec protocols to select the set of parameters bound to an
SA; thus an SPI is generally viewed as an opaque bit string.
However, the creator of an SA may choose to interpret the bits
in an SPI to facilitate local processing.
Security Association (SA):
A simplex (uni-directional) logical connection, created for
security purposes. All traffic traversing an SA is subjected
to the same security processing at the transmitter and
receiver. In Ipv4 and Ipv6 security (IPsec), an SA is a
network layer abstraction enforced through the use of AH or
ESP.
Security attribute:
A security-related quality of an object.
Security Gateway:
A system that acts as the communication interface between
Bartee, Alvarez, Nunley Page 8
Internet-Draft Internet Security Label June 1997
untrusted external, networks and internal (trusted) hosts and
subnetworks. The internal subnets and hosts served by a
security gateway are presumed to be trusted by virtue of
sharing a common, local, security administration. (See
"Trusted Subnetwork" below.) In the IPsec context, a security
gateway is a point at which AH and/or ESP is implemented in
order to serve a set of internal hosts, providing security
services for these hosts when they communicate with external
hosts also employing IPsec (either directly or via another
security gateway).
Security domain:
A collection of entities to which applies a single security
policy managed by a single authority.
Sensitivity category:
A sensitivity category is a security attribute that describes
in absolute terms a protection requirement.
Security Policy Identifier:
An identifier that may be used to identify the security policy
enforced.
Sensitivity level:
A security attribute that indicates a required level of
confidentiality protection according to a predefined
protection hierarchy. The level is hierarchical in ascending
order, meaning that level N represents greater sensitivity
than level N-1.
Source system:
This is the information system that originated the protocol
data unit with the ISL label.
Subject:
The subject is an active entity that requests access to a
particular object. Examples of subjects are hosts, network,
computer processes, and users. A subject can also be an
object.
Trusted Subnetwork:
A subnetwork containing hosts and routers that trust each
other not to engage in active or passive attacks and trust the
underlying communications channel (e.g., an Ethernet) is not
being attacked.
Vector, binary valued:
Bartee, Alvarez, Nunley Page 9
Internet-Draft Internet Security Label June 1997
An n-component binary-valued vector A = (a(0),a(1),...,a(n)) is an
ordered list of n binary values a(i) = 0 or 1.
Vector sum:
The sum of two n-component binary-valued vectors A =
(a(0),a(1),...,a(n)) and B = (b(0),b(1),...,b(n)) is A + B =
(a(0)+b(0),a(1)+b(1),...,a(n)+b(n)) where 0 + 0 = 0 and 0 + 1
= 1 + 0 = 1 + 1 = 1.
Vector Product:
The product of two n-component binary-valued vectors A =
(a(0),a(1),...,a(n)), and B = (b(0),b(1),...,b(n)) is A * B =
(a(1) b(1),a(2) b(2),...,a(n) b(n)) where 0 * 0 = 0 * 1 = 1 * 0
= 0 and 1 * 1 = 1.
2. General Description
The ISL allows the attachment of specific security
attributes to data in a protocol data unit. The security
attributes can be used to perform security decisions. ISL can
support a large set of security domains and policies with
differing interpretations of security attributes. An
extendible format allows for multiple sets of security
attributes as well as the addition of new attribute types in
the future. This document defines the basic formats and gives
example processing procedures..
2.1 Basic Format
The basic format of the ISL is shown below. A fixed
format header is followed by a variable length tag section.
+-----------------+-----------------+
| ISL Header | Tag Section |
+-----------------+-----------------+
Figure 1: General ISL Format
A single ISL may include multiple tags.
2.1.1 Header
The ISL header identifies the ISL and contains the Domain
of Interpretation (DOI) Identifier which is used to interpret
the tag section.
Bartee, Alvarez, Nunley Page 10
Internet-Draft Internet Security Label June 1997
2.1.2 Format
The format for the ISL header is shown in Fig. 2.
+---------+------------+--------------------------------+
| NNNNNNNN| LLLLLLLL | DDDDDDDD ... DDDDDDDDDDD ... |
+---------+------------+--------------------------------+
Security Length Domain Of Interpretation
Label of ISL Identifier
Identifier
Figure 2: ISL Header Format
2.1.3 Security Label Identifier
The first field is a one octet security label identifier
field.
2.1.4 Length of ISL
The one octet ISL length field represents the length in
octets of the entire ISL including all tags and the ISL
security label identifier and length fields.
2.1.5 Domain of Interpretation (DOI) Identifier
The DOI Identifier is 4 octets in length and stored in
network byte order. The security attributes contained in the
tag section will have meaning to systems within the same
security domain as specified by the DOI.
2.2 General Tag Format
Tags are independent data elements within an ISL that
convey security attributes. An ISL will include 0 or more
tags in any order. The purpose of tags is to provide an
extensible method to pass security attributes using predefined
formats and relating to a general security policy.
2.2.1 Format
The standard format for an ISL tag is shown below.
Bartee, Alvarez, Nunley Page 11
Internet-Draft Internet Security Label June 1997
+-------------+------------+--------------+
| ttttttttttt |lllllllllll |iiiiiiiii ... |
+-------------+------------+--------------+
Tag Type Tag Length Tag Information
Figure 3: General Tag Format
The tag type is one octet in length and is used to
identify the specific format and processing procedures
associated with the tag information field. The section below
provides more information on tag types. The tag length is one
octet in length and gives the total octets in the tag
including the tag type and length fields.
2.2.2 Tag Type
The tag type is a number between 0 and 255. Tag types 0
through 127 are used for standard tag definitions. For these
standard tags the tag type number alone will identify the
format for the tag information field. The DOI then determines
the semantics for a given tag. The ISL defines standard tag
types 1, 2, 5, 6 and 7. Tag types 0, 3, and 4, and 8 through
127 are currently reserved for future use. Tag types 128
through 255 can be defined by the DOI authority. This makes
it possible to use a unique tag specification for such domain
specific things as human readable time stamps, policy
identifiers and privacy marks. This provides "free form" tags
which may not be registered, although registration with IANA
is recommended.
2.3 Tags
The tags defined below represent three different ways to
format a sensitivity label. Each of them store a sensitivity
hierarchical level in a one octet field.
2.3.1 Tag Type 1
This is referred to as the "bit-mapped" tag type. The
format of this tag type is as follows:
Bartee, Alvarez, Nunley Page 12
Internet-Draft Internet Security Label June 1997
+--------+--------+----------+-----------+------------+
|00000001|LLLLLLLL| 00000000 | LLLLLLLL |CCCCCCCCC...|
+--------+--------+----------+-----------+------------+
TAG TAG ALIGNMENT SENSITIVITY BIT MAP OF
TYPE LENGTH OCTET LEVEL CATEGORIES
Figure 4. Tag Type 1 Format
2.3.1.1 Tag Type
This field is 1 octet in length and has a value of 1.
2.3.1.2 Tag Length
This field is 1 octet in length. It gives the total
length of the tag in octets including the type and length
fields.
2.3.1.3 Alignment Octet
This field is 1 octet in length and always has the value
of 0.
2.3.1.4 Sensitivity Level
This field is 1 octet in length. Its value is a binary
number with value from 0 to 255 decimal. The values are
ordered with 0 being the minimum value and 255 representing
the maximum value. These values represent sensitivity levels.
2.3.1.5 Bit Map of Categories
The length of this field is variable and ranges from 0 to
30 octets. This provides representation of sensitivity
categories 0 to 239. The ordering of the bits is left to
right or MSB to LSB. For example category 0 is represented by
the most significant bit of the first byte and category 15 is
represented by the least significant bit of the second byte.
Figure 5 graphically shows this ordering. Bit N is binary 1
if category N is part of the label for the protocol data unit,
and bit N is binary 0 if category N is not part of the label.
Minimal encoding should be used resulting in no trailing zero
octets in the category bit map. That is, the final right
octet in a bit map in a transmitted ISL should contain at
least a single 1.
Bartee, Alvarez, Nunley Page 13
Internet-Draft Internet Security Label June 1997
octet 0 octet 1 octet 2 octet 3 octet 4
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
bit 01234567 89111111 11112222 22222233 33333333
number 012345 67890123 45678901 23456789
Figure 5. Ordering of Bits in Tag 1 Bit Map
A bit map is a binary-valued vector V =
(v(0),v(1),...,v(8n-1)) where v(i) = 0 or 1 and where n is the
number of octets in the vector. Each category to be
represented in the vector for a specific DOI is assigned a
position in the vector corresponding to an i in a specific
v(i). If the value of v(i) is a 1 the category is in the ISL.
If the value of v(i) is 0 then the category is not in the ISL.
For example, if v(2) is assigned the category "Kodak" and v(3)
the category "Fuji" then if v(2)v(3) = 01 the ISL bit map
indicates the marking "Fuji" (and not "Kodak.") The final
rightmost octet in a transmitted ISL category bit map should
contain at least one v(i) = 1.
2.3.2 Tag Type 2
This is referred to as the "enumerated" tag type. It can
be used to describe large sets of sensitivity categories. The
format of this tag type is as follows:
+--------+--------+--------+------------+---------------+
|00000010|LLLLLLLL|00000000| LLLLLLLL |CCCCCCCCCCCC...|
+--------+--------+--------+------------|---------------+
TAG TAG ALIGNMENT SENSITIVITY ENUMERATED
TYPE LENGTH OCTET LEVEL CATEGORIES
Figure 6. Tag Type 2 Format
2.3.2.1 Tag Type
This field is one octet in length and has a value of 2.
2.3.2.2 Tag Length
This field is 1 octet in length. It gives the total
length of the tag type including the type and length fields.
2.3.2.3 Alignment Octet
This field is 1 octet in length and always has the value
Bartee, Alvarez, Nunley Page 14
Internet-Draft Internet Security Label June 1997
of 0.
2.3.2.4 Sensitivity Level
This field is 1 octet in length. Its value is from 0 to
255. The values are ordered with 0 being the minimum value
and 255 representing the maximum value.
2.3.2.5 Enumerated Categories
In this tag, a category is represented by a numerical
value rather than by a position within a bit map. The length
of the enumerated category field is 0 to 251 octets. The
length of each category number is 2 octets. Valid values for
categories are 0 to 65534 decimal. Category 65535 is not a
valid category value.
Since each category to be represented by a specific DOI
is assigned a 16 binary-bit value, a table can be made of the
assigned values. For example, if the category "Sylvania" is
assigned the value 0000010000010010 and the category "Samson"
the value 0000010000010011 a section of this table would be
0000010000010010 = Sylvania
0000010000010011 = Samson
Note that alphanumeric codes can be used to assign values
to the 2 octet ISL enumerated category numbers. For example,
if, for a specific DOI, SV is used for Sylvania and SA for
Samson, the ANSI-ASCII codes for A, S, V are 10000011,
10100111, and 10101101 (with odd parity) and so the assignment
would be
1010011110101101 = SV = Sylvania
1010011110000011 = SA = Samson
Each 2-octet number is a 16 binary-bit vector V =
(v(0),v(1),...,v(15)) where each v(i) = 0 or 1. Each ISL tag
type 2 then contains a list of vectors each representing a
category. Each category associated with an ISL is then
represented by a vector in the ISL list.
2.3.3 Tag Type 5
This is referred to as the "range" tag type. It is used
to represent labels where all categories in a range, or set of
ranges, are included in the sensitivity label. The format of
this tag type is as follows:
Bartee, Alvarez, Nunley Page 15
Internet-Draft Internet Security Label June 1997
+--------+--------+--------+----------+----------------------+
|00000101|LLLLLLLL|00000000| LLLLLLLL |Top/Bottom|Top/Bottom |
+--------+--------+--------+----------+----------------------+
TAG TAG ALIGNMENT SENSITIVITY CATEGORY RANGES
TYPE LENGTH OCTET LEVEL
Figure 7. Tag Type 5 Format
2.3.3.1 Tag Type
This field is one octet in length and has a value of 5.
2.3.3.2 Tag Length
This field is one octet in length. It gives the total
length of the tag type including the type and length fields.
2.3.3.3 Alignment Octet
This field is one octet in length and always has the
value of 0.
2.3.3.4 Sensitivity Level
This field is one octet in length. Its value is from 0
to 255. The values are ordered with 0 being the minimum value
and 255 representing the maximum value.
2.3.3.5 Category Ranges
A category range is a 4-octet field comprised of the 2-
octet index of the highest-numbered category followed by the 2
octet index of the lowest-numbered category. These range
endpoints are inclusive within the range of categories. All
categories within a range are included in the sensitivity
label. This tag may contain a maximum of 7 category pairs.
Figure 7 shows two categories pairs. The ranges must be non-
overlapping and be listed in descending order. Valid values
for categories are 0 to 65534. Category 65535 is not a valid
category value.
2.3.4 Tag Type 6
This is referred to as the "release markings" tag type.
The format of this tag type is as follows:
Bartee, Alvarez, Nunley Page 16
Internet-Draft Internet Security Label June 1997
+--------+--------+--------+-------------+------------+
|00000110|LLLLLLLL|00000000| LLLLLLLL |CCCCCCCC....|
+--------+--------+--------+-------------+------------+
TAG TAG ALIGNMENT SENSITIVITY BIT MAP OF
TYPE LENGTH OCTET LEVEL RELEASE
CATEGORIES
Figure 8. Tag Type 6 Format
2.3.4.1 Tag Type
This field is one octet in length and has a value of 6.
2.3.4.2 Tag Length
This field is one octet in length. It gives the total
length in octets of the tag type including the type and length
fields.
2.3.4.3 Alignment Octet
This field is one octet in length and always has the
value 0.
2.3.4.4 Sensitivity Level
This field is one octet in length. Its value is from 0
to 255. The values are ordered with 0 being the minimum value
and 255 representing the maximum value.
2.3.4.5 Bit Map of Release Categories
The length of this field is from 0 to 251 octets. The
bit map has one bit for each release category. All
combinations are possible. The ordering of the bits is left-
to-right or MSB to LSB. For example category 0 is represented
by the most significant bit of the first byte and category 15
is represented by the least significant bit of the second
byte. Figure 5 graphically shows this ordering. Minimal
encoding should be used resulting in no trailing all zeros
octets in the release category bit map.
The bit encoding used for release categories is the same
as in the restrictive category encoding where a binary 1 means
that the category is included in the label.
The release category bit map in an ISL is a vector V =
Bartee, Alvarez, Nunley Page 17
Internet-Draft Internet Security Label June 1997
(v(0),v(1),...,v(8n-1)) where each v(i) is a 0 or 1 and where
n is the number of octets in the vector. Each category is
associated with a bit position in the vector. If for a
particular DOI, AMGEN is assigned v(3) and BIOGEN v(4), then
v(3) = 1, v(4) = 0 would mean the protocol data unit's
contents are released to AMGEN and not to BIOGEN. The vector
transmitted would then be 00010000 if the protocol data was to
be released only to AMGEN. The final octet in a transmitted
ISL release category bit map should not be all 0s.
2.3.5 Security Tag Type 7
Tag Type 7, the Free Form Tag Type, is intended as a tag
type that can carry a user-defined type of data appropriate
for use with the protocol handling the labels. The tag usage
will be domain specific but registration with IANA is
recommended. Examples of data that may be conveyed with this
Tag Type are human/machine readable time stamps, human-
readable policy identifiers, and privacy marks.
2.3.6 Tag Type 8
This is referred to as the "Security Policy ID" tag type.
The format of this tag type is as follows:
+----------+---------------+---------------------------------+
|00001000 | LLLLLLLLL | DDDDDDDD ... DDDDDDDDDDD ... |
+----------+---------------+---------------------------------+
TAG TAG SECURITY POLICY IDENTIFIER
TYPE LENGTH
Figure 9. Tag Type 9 Format
2.3.6.1 Tag Type
This field is 1 octet in length and has a value of 8.
2.3.6.2 Tag Length
This field is 1 octet in length. It gives the total
length of the tag in octets including the type and length
fields.
2.3.6.3 Policy ID Field
The length of this field is variable and ranges from 4 to
Bartee, Alvarez, Nunley Page 18
Internet-Draft Internet Security Label June 1997
16 octets and is stored in network byte order. The contents
of this field is a Security Policy Identifier. The
interpretation of this field is defined within a given DOI.
3. Access and Routing Control
Internet security labels are designed to enable user
communities to protect information. The protection is based
on access control procedures which examine the labeled
information to be accessed (or forwarded) and make decisions
based on the destination and its security characteristics.
The labels have been designed to make for extremely fast
access control processing. They are also efficient with
respect to channel bit usage. These are important factors,
particularly for routers, gateways, etc. processing these
labels.
3.1 Clearance Considerations
The "clearance" for a destination is the aggregate of
the security categories which have been given to the
destination. Access control decisions are based on the
clearance of the destination and the security label attached
to the file or other security object which is to be accessed.
As an example, we assume the destination has a clearance
label associated in which the values in the fields are in the
same format as those in the security label attached to the
file to be accessed. (If not the destination label or for
example, if in a given domain the first bit in a type 1 tag
is assigned the restrictive clearance A and the second
leftmost bit is assigned to clearance B, then the restrictive
values field which gives the clearance for the destination
will also have the first bit assigned to A and the second bit
to B. A tag attached to information to be accessed with its
bit map of categories containing 01000000 then requires a
destination to have a 1 in the second position of the
restrictive bit map giving the restrictive section of the
clearance of the destination.
In order to make an access control decision concerning
restrictive values then the access control program simply
complements (inverts) the destination restrictive bit map
field and ANDs the result with the bit map of categories for
the tag attached to the file. If the result is non-zero
Bartee, Alvarez, Nunley Page 19
Internet-Draft Internet Security Label June 1997
access is refused, if the result is all 0 then access is
permitted. (In this simple example, the type 1 bit map
length is assumed to be 8.)
Release marking access control decisions are similarly
straightforward. In both cases only two to three machine
language instructions need to be executed (if the access
control program is written in C a similar number of
statements need to be written.) This high speed operation is
generally desirable and is particularly desirable at
communication levels. We note that the DOIs of the file tag
and destination DOI must be the same so the correct
destination tags will be selected.
3.2 Error Processing
The following table shows specific ICMP messages which
have been used for error responses. These are intended for
TCP/IP usage. At other layers local rules apply.
Condition Action
ISL missing An ICMP "parameter problem" type
12) is generated and must be
returned to the originator
through the same input channel
from which it was received. The
code field of the ICMP is set to
"ISL missing" (code 1) and the
ICMP pointer is set to 134.
Unrecognized label An "ICMP parameter problem" (type
12) is generated and must be
returned to the originator
through the same input channel
from which it was received. The
ICMP code field is set to "bad
parameter" (code 0) and the
pointer is set to the start of
the ISL field that is
unrecognized.
Incoming violation An ICMP "destination unreachable"
(type 3)is generated and must be
returned to the originator
through the same input channel
from which it was received. The
Bartee, Alvarez, Nunley Page 20
Internet-Draft Internet Security Label June 1997
code field of the ICMP is set to
"communications with destination
host administratively prohibited"
(code 10).
Forwarding violation An ICMP "destination unreachable"
(type 3)is generated and returned
to the originator. The code
field of the ICMP is set to
"communication with destination
network administratively
prohibited" (code 9).
3.3 Example Tag Procedures
The basic rule for processing tags is that every test for
access control associated with each sensitivity tag in an ISL
must be passed in order for the ISL to be forwarded. If an
ISL contains a type 1 tag and a type 6 tag then the test for
sensitivity hierarchical level must be passed followed by the
type 1 tag bit map test followed by the release markings bit
map test. Only if all tests are passed is the PDU forwarded.
The sensitivity hierarchical level test for a type 1, 2,
or 5 tag consists of seeing if the binary number in the
sensitivity level section is within the prescribed range. As
an example, assume an ISL processing element has a stored
eight bit lower range value of B(l) and a stored upper range
value of B(u), where B(l) and B(u) are binary numbers with
decimal values 0 to 255 and B(l) <= B(u). (Both B(l) and B(u)
can be set by the system security managers.) If the ISL
sensitivity level section has the value B the ISL passes only
if Bl <= B <= Bu.
If the ISL carries a type 1 tag the processor will store
a vector Vs (which can be set by the system security manager)
which has a 1 in each position corresponding to a category the
subject can transmit, receive, or pass. Every 1 in the ISL
bit map must correspond to a 1 in Vs in order for the test to
succeed and the PDU to be forwarded.
If the type 2 tag is used for restrictive markings the
ISL processor for a specific DOI will have a stored list of 2-
octet binary values Ls = (Vs(1),Vs(2),...,Vs(m)) where each
Vs(i) = (v(0),v(1),...,v(15)); v(j) = 0, 1, and each Vs(i)
corresponds to a category. If we call the list of two octet
Bartee, Alvarez, Nunley Page 21
Internet-Draft Internet Security Label June 1997
enumerated values in an ISL type 2 tag Lc =
(Vc(1),Vc(2),...,Vc(m)) where the Vc(k) are 2-octet vectors,
then each 2-octet vector in Lc must also be in Ls in order for
the test to be passed.
For the type 5 "range" tags the same list Ls used for
type 2 tags in the processor for a specific DOI is used. Then
if the Top/Bottom pair Tp/Bp, where Tp and B(p) are 2-octet
vectors, occurs in an ISL type 5 tag, each binary value B(j)
must occur in Ls for B(p) <= B(j)<= Tp in Ls. Here the values
in Ls and Tp, B(p) and B(j) are all considered to be binary
values from 0 to 255.
The Release Markings Security Policy is similar to the
Restrictive Security
Policy procedure.
For example, suppose we have a protocol data unit ISL
with a release category list that includes just AMGEN and
BIOGEN. This protocol data unit is sent to host A and host B.
Host A has a release category list of NOVARTIS, ROCHE, and
MERCK. The protocol data unit would be rejected since the two
lists do not share at least one category. Host B, however has
a list of AMGEN, ROCHE, and PATHOGENESIS. It could receive
the protocol data unit because both lists share the release
category AMGEN. Notice that Host B's list did not have to
contain the release category BIOGEN to receive the protocol
data unit.
In order for an ISL PDU to pass the access requirements
it must pass the following test if it contains a type 6 tag.
The access control processor will contain a binary valued
vector Vr = (v(0),v(1),...,v(n)) where the v(i) = 0 or 1,
associated with the DOI in the ISL. Call the release map in
the ISL tag Vc=(v(0),v(1),...,v(m)), then if one or more 1s in
Vc are in the same position as 1s in Vr the test is passed.
Notice the m in Vc can be less than the n in Vr since trailing
octets with all 1s are not transmitted in ISL release tags. In
performing tests the Vr can be truncated to the length of Vc
or the ISL tag can be extended by adding 1s. Given that m = n
then if the vector sum Vr + Vc contains one or more 0s the
test is passed.
4. Security Considerations
This entire document discusses an encoding standard for
encoding security markings.
Bartee, Alvarez, Nunley Page 22
Internet-Draft Internet Security Label June 1997
5. References
[1] Postel, J., Internet Official Protocol Standards, STD 1,
RFC 1540, Internet Architecture Board, October 1993.
[2] Atkinson, R.., Security Architecture for the Internet
Protocol, RFC 1825, Cisco Systems, 10 November 1996.
[3] Atkinson, R., IP Encapsulating Security Payload, RFC-1827,
4 June 1996.
[4] Atkinson, R. IP Encapsulating Header, RFC-1826, 4 June
1996.
[5] Kent, Steve, US DoD Security Options for the Internet
Protocol, RFC-1108, DDN Network Information Center, November
1991.
[6] National Institute of Standards and Technology, Standard
Security Label for Information Transfer, FIPS PUB 188,
November 1995.
[7] MIL-STD-2045-48501, Common Security Label (CSL), June,
1996.
Authors Addresses
Thomas C. Bartee
IDA
1801 N. Beauregard St.
Alexandria, VA 22311
Phone: (703) 845-2547
Fax: (703) 845-6722
Email: TBartee@Pop.Erols.Com
Nelson W. Alvarez
DISA/JIEO
ATTN: JEBBD
Bldg 283
Fort Monmouth, NJ 07703
Phone: (908) 427-6853
Fax: (908) 532-0853
Email: alvarezn@ftm.disa.mil
C. Dale Nunley
P.O. Box 11
Bartee, Alvarez, Nunley Page 23
Internet-Draft Internet Security Label June 1997
Annapolis Junction
MD 20701
Phone: (301) 912-1019
Fax: (301) 912-1019
Email:dnunley@romulus.ncsc.mil
Bartee, Alvarez, Nunley Page 24