コンパートメントモードワークステーションのラベル作成: エンコード形式

第 3 章 格付けのエンコーディング

CLASSIFICATIONS: セクションでは、システムによって使用される階層関係のある格付けを指定します。各格付けは、長形式名、短形式名、内部的な整数値、格付けに関連付けられる初期コンパートメントと初期マーキングによって定義します。これらについては次に説明します。このセクションは、格付けを人が読める形式から内部的な整数値形式に変換したり、この逆の変換を行なったりするために、システムによって使用されます。

CLASSIFICATIONS: セクションでは、いくつかの格付けを指定しなければなりません。格付けの指定は、キーワード name= で開始し、次のキーワード name= または INFORMATION LABELS: セクションの前で終了します。したがって、キーワード name= が、キーワード CLASSIFICATIONS: の直後のキーワードになります。この他、格付けの定義に使用するキーワードとして、sname=、aname=、value=、initial compartments=、initial markings= があります。これらのキーワードは、キーワード name= に続いて任意の順序で指定できます。格付けには、スラッシュ (/)、コンマ (,)、空白文字 (スペース、タブ、復帰、改行、改ページ) を指定してはいけません。

キーワード name=

キーワード name= は、格付けの長形式名を定義するのに使用します。代替名は、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。名前には空白文字を含むこともできます。エンコーディングファイルには同じ値を持つ name= を 2 回以上指定してはいけません。

長形式名が使用されるのは、情報ラベルやプリンタのバナーページに人が読める格付けを出力するときです。ユーザーは、ここで指定した長形式名を、機密ラベル、情報ラベル、認可上限などの格付けが必要なときにいつでも入力できます。

キーワード sname=

キーワード sname= は、格付けの短形式名を定義するのに使用します。代替名は、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。名前には空白文字を含むこともできます。エンコーディングファイルには同じ値を持つ sname= を 2 回以上指定してはいけません。特定の格付けについて sname= を 2 回以上指定すると、最後に指定したもの以外は無視されます。したがって、sname= は、1 回だけ指定してください。

短形式名が使用されるのは、機密ラベルや認可上限に人が読める格付けを出力するときです。ユーザーは、ここで指定した短形式名を、機密ラベル、情報ラベル、認可上限などの格付けが必要なときにいつでも入力できます。

キーワード aname=

キーワード aname= はオプションであり、格付けの代替名を定義するのに使用します。この名前は、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。名前には空白文字を含むこともできます。

ユーザーは、ここで指定した代替名を、機密ラベル、情報ラベル、および認可上限などの格付けが必要なときにいつでもに入力できます。

キーワード value=

キーワード value= は、格付けに関連付ける内部的な整数値を指定するために必ず必要です。指定できる最小整数値は 0 で、最大整数値は 255 です。このキーワードに指定する 10 進整数は、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。次の NULL 整数指定は、0 と見なされます。

value= ;

同じ格付けについて value= を 2 回以上指定した場合、最後に指定したもの以外は無視されます。したがって、value= は 1 回だけ指定してください。エンコーディングファイルには同じ値を持つ value= を 2 回以上指定してはいけません。

各格付けには、それらの階層関係が明確になるような値を指定する必要があります。より機密度の高い格付けには、機密度の低い格付けより高い値を指定します。

キーワード initial compartments=

キーワード initial compartments= はオプションであり、格付けが関連付けられている情報ラベル、機密ラベル、認可上限の初期 (デフォルト) コンパートメントビットを指定します。初期コンパートメントの指定では、これらのラベルのコンパートメントビットのうち、1 を設定するものだけを指定し、0 を設定するものについては指定しません。キーワード initial compartments= を指定しない格付けについては、その初期コンパートメントビットはすべて 0 と見なされます。

格付けに関連付けられる初期コンパートメントビットに対し 0 以外を設定する必要があるのは、次の 2 つの理由からです。第 1 に、格付けが設定されているシステム上のすべてのラベルが何らかの語句 (たとえば NOFORM) を含まなければならない場合です。この場合、その語句に関連付けられるコンパートメントビットのうち値が 1 のビットについては、初期コンパートメントビットで 1 を指定します。このような語句を「デフォルト語句」と呼び、デフォルト語句に関連付けられたコンパートメントビットを、「デフォルトビット」と呼びます。(語句とそのコンパートメントビットとの関連付けは、エンコーディングファイルの INFORMATION LABELS: 、SENSITIVITY LABELS:、および CLEARANCES: の各セクションでキーワード compartments= を指定して行います。)

第 2 に、キーワード initial compartments= が、どのコンパートメントビットをインバースコンパートメントビットとして使用するかを指定するケースです。(インバースマーキングビットを指定するのに接頭辞を使用することもできます。接頭辞で指定したインバースビットを「特殊インバースビット」と呼びます。第 4 章「情報ラベルのエンコーディング」「接頭辞と接尾辞の定義」、および第 7 章「エンコーディングを指定する際の一般的な考慮事項」「接頭辞を使用して、特殊インバースコンパートメントビットと特殊インバースマーキングビットを指定する」を参照してください。) インバースコンパートメントビットとは、ラベルに語句が存在しているときには値 0 が、ラベルに語句が存在していないときには値 1 が設定されるビットです。インバースコンパートメントビットは、インバース語句に関連付けられます。このようなインバース語句をラベルに追加しても、ラベルの機密度が上昇することはなく、逆に低下します。低下しない場合でも、ラベルの内部形式のビットのうち、少なくとも 1 つが 1 から 0 に変化します。通常の (インバースでない) コンパートメントビットに関連付けられる語句をラベルに追加すると、いくつかのビットの値が 0 から 1 に変化し、ラベルの機密度が上昇します。

インバースビットでない初期のコンパートメントビットはすべて、デフォルトビットと見なされます。デフォルトビットはすべてデフォルト語句に関連付けられていなければなりません。デフォルトビットに関連付けられている語句は、デフォルトビット以外には関連付けることができません。

コンパートメントビットの指定は、キーワード initial compartments= の直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。この指定は、1 つ以上の空白文字で区切ったいくつかの下位指定から成ります。この下位指定には、1) ビット位置 (ビット位置は、左を起点として 0 から数える) を示す 10 進整数を指定するか、または 2) ビット位置の範囲を指定します。ビット位置の範囲は、ビット位置を示す 2 つの 10 進整数を「-」でつないで表現します。範囲の開始を示す値は、範囲の終わりを示す値より小さくなければなりません。ビットは全部で 128 個なので、最大ビット位置として 127 を指定できます。表 3–1 に初期コンパートメントの指定例を示します。

表 3–1 初期コンパートメントの指定

指定 

意味 

initial compartments= 1;

コンパートメントビット 1 がオン (1)

initial compartments= 2-3;

コンパートメントビット 2 と 3 がオン (1)

initial compartments= 1 3;

コンパートメントビット 1 と 3 がオン (1)

initial compartments= 2 4-6;

コンパートメントビット 2、4、5、6 がオン (1)

同じ格付けについてキーワード initial compartments= を 2 回以上指定すると、それぞれに指定されたコンパートメントビットは、1 つの複合初期コンパートメント指定に形成されます。すなわち、次の 2 つの指定

initial compartments= 4; initial compartments= 5;

は、次の 1 つの指定と同じです。

initial compartments= 4-5;

ただし、わかりやすい指定を行うためには、キーワード initial compartments= の指定は、1 つの格付けに対し 1 回とした方がよいでしょう。

キーワード initial markings=

キーワード initial markings= はオプションであり、格付けが関連付けられる情報ラベルの初期 (デフォルト) マーキングビットを指定します。初期マーキングでは、情報ラベルのコンパートメントビットのうち、1 を設定するものだけを指定し、0 を設定するものについては指定しません。キーワード initial markings= を指定しない格付けについては、その初期マーキングビットが 0 と見なされます。

格付けに関連付けられる初期マーキングビットに 0 以外を設定する理由は、2 つあります。第 1 に、格付けが設定されているシステム上の「すべての」ラベルは何らかの語句 (たとえば NOFORM) を含まなければならない場合です。この場合、その通常の語句に関連付けられるマーキングビットのうち値が 1 のビットについては、初期マーキングビットで 1 を指定します。(語句とそのマーキングビットとの関連付けは、エンコーディングファイルの INFORMATION LABELS: の各セクションでキーワード markings= を指定して行います。) このような語句を「デフォルト語句」と呼び、デフォルト語句に関連付けられマーキングビットを、「デフォルトビット」と呼びます。

第 2 に、キーワード initial markings= が、どのマーキングビットをインバースマーキングビットとして使用するかを指定する場合です。(インバースマーキングビットを指定するのに接頭辞を使用することもできます。接頭辞で指定したインバースビットを「特殊インバースビット」と呼びます。第 4 章「情報ラベルのエンコーディング」「接頭辞と接尾辞の定義」、および第 7 章「エンコーディングを指定する際の一般的な考慮事項」「接頭辞を使用して、特殊インバースコンパートメントビットと特殊インバースマーキングビットを指定する」を参照してください。) インバースマーキングビットとは、ラベルに語句が存在しているときには値 0 が、ラベルに語句が存在していないときには値 1 が設定されるビットです。インバースコンパートメントビットは、インバース語句に関連付けられます。このようなインバース語句をラベルに追加しても、ラベルの機密度が上昇することはなく、逆に低下します。低下しない場合でも、ラベルの内部形式のビットのうち、少なくとも 1 つが 1 から 0 に変化します。通常の (インバースでない) マーキングビットに関連付けられる語句をラベルに追加すると、1 つ以上のビットの値が 0 から 1 に変化し、ラベルの機密度が上昇します。

インバースビットでない初期のマーキングビットはすべて、デフォルトビットと見なされます。デフォルトビットはすべてデフォルト語句に関連付けられていなければなりません。デフォルトビットに関連付けられている語句は、デフォルトビット以外には関連付けることができません。

マーキングビットの指定は、キーワード initial markings= の直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。この指定は、1 つ以上の空白文字で区切ったいくつかの下位指定から成ります。この指定は、1 つ以上の空白文字で区切ったいくつかの下位指定から成ります。この下位指定には、1) ビット位置 (ビット位置は、左を起点として 0 から数える) を示す 10 進整数を指定するか、または 2) ビット位置の範囲を指定します。ビット位置の範囲は、ビット位置を示す 2 つの 10 進整数を「-」でつないで表現します。範囲の開始を示す値は、範囲の終わりを示す値より小さくなければなりません。ビットは全部で 128 個なので、最大ビット位置として 127 を指定できます。 表 3–2 に初期マーキングの指定例を示します。

表 3–2 初期マーキングの指定

指定 

意味 

initial markings= 1;

マーキングビット 1 がオン (1)

initial markings= 2-3;

マーキングビット 2 と 3 がオン (1)

initial markings= 1 3;

マーキングビット 1 と 3 がオン (1)

initial markings= 2 4-6;

マーキングビット 2、4、5、6 がオン (1)

同じ格付けについてキーワード initial markings= を 2 回以上指定すると、それぞれ指定されたマーキングビットは 1 つの複合初期マーキング指定に形成されます。すなわち、次の 2 つの指定

initial markings= 11; initial markings= 17;

は、次の 1 つの指定と同じです。

initial markings= 11 17;

ただし、わかりやすい指定を行うためには、キーワード initial markings= の指定は、1 つの格付けに対し 1 回とした方がよいでしょう。