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

サブセクション Words:

サブセクション WORDS: には、語句を 0 個以上指定します。各語句の指定は、キーワード name= で開始し、次のキーワード name= またはサブセクション REQUIRED COMBINATIONS: の前で終了します。したがって、キーワード INFORMATION LABELS: に続く最初のキーワードは、name= です。最初の name= の前にキーワード WORDS: を指定しても無視されます。情報ラベル語句を定義するためのその他のキーワードとして、sname=、iname=、prefix、suffix、minclass=、maxclass=、ominclass=、omaxclass=、compartments=、markings=、prefix=、suffix=、access related、flags= があります。これらのキーワードは、キーワード name= に続いて任意の順序で指定できます。語句には、スラッシュ (/)、コンマ (,)、空白文字 (スペース、タブ、復帰、改行、改ページ) を指定してはいけません。

接頭辞と接尾辞の定義

語句には接尾辞と接頭辞を設定できます。接頭辞を持つことができる語句の例として国名が挙げられます。REL CNTRY1 は、接頭辞 REL を必要とする CNTRY1 という語句の例です。REL CNTRY1/CNTRY2 は、同じ接頭辞を必要とする 2 つの語句 (CNTRY1 と CNTRY2) の例です。接尾辞を必要とする語句の例として、プロジェクト名が挙げられます。プロジェクト名の接尾辞として、情報の配布先がプロジェクト関係者だけに限定されることを示す語句 LIMDIS を使用します。PROJECT X LIMDIS は、接尾辞 LIMDIS を必要とする PROJECT X という語句の例です。PROJECT X/PROJECT Y LIMDIS は、同じ接尾辞 LIMDIS を必要とする 2 つの語句の例です。

接頭辞と接尾辞の両方を必要とする語句を定義することもできます。ただし、その場合は、必ず接頭辞と接尾辞の両方を一緒に使用しなければなりません。つまり、W という語句が P という接頭辞と S という接尾辞の両方を必要とする場合、語句 W に接尾辞 S を指定せずに接頭辞 P を指定することはできません。

なお、上記の PROJECT X のように語句の一部に空白文字を使用することができます。したがって語句に空白文字を使用したからといって、接尾辞付きの語句として定義したことにはなりません。接頭辞と接尾辞を使用するのは、複数の語句で同じ接頭辞と接尾辞を必要とする場合だけです。

キーワード name=

キーワード name= は、接頭辞、接尾辞、その他の語句の長形式名を定義するのに使用します。代替名は、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。名前には下線とダッシュ (-) を使用できます。エンコーディングファイルの 1 つのセクションに同じ値を持つ name= を 2 回以上指定してはいけません。

ここで指定した長形式名が使用されるのは、人が読める形式のラベルを作成するときです。ここで指定した長形式名は、ラベルの一部としてユーザーが入力することもできます。

キーワード sname=

キーワード sname= はオプションであり、接頭辞、接尾辞、その他の語句に代替名 (短形式名) を割り当てます。代替名は、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。名前には下線とダッシュ (-) を使用できます。エンコーディングファイル内の 1 つのセクションには同じ値を持つ sname= を 2 回以上指定してはいけません。同じ語句について sname= を 2 回以上指定すると、最後に指定したもの以外は無視されます。したがって、sname= は、1 回だけ指定してください。

ここで指定した短形式名は、ラベルの一部としてユーザーが入力することもできます。人が読めるラベルを作成する場合、短形式名は使用できません。

キーワード iname=

キーワード iname= はオプションであり、接頭辞、接尾辞、その他の語句に入力名を割り当てます。この名前は、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。名前には下線とダッシュ (-) を使用できます。エンコーディングファイル内の 1 つのセクションには、同じ値を持つ iname= を 2 回以上指定してはいけません。キーワード iname= は、同じ語句に何回でも指定して、複数の入力名を指定することができます。

ここで指定した iname または入力名は、ラベルの一部としてユーザーが入力することもできますが、人が読めるラベルを作成するときは使用できません。キーワード iname= を使う目的は、スペルミスが発生しやすい語句を指定することです。

なお、同じ語句の別名は、第 7 章「エンコーディングを指定する際の一般的な考慮事項」で説明するように、絶対別名 (直前の語句と同じマーキングとコンパートメントを持つ語句) で指定することもできますが、iname を使用することをお奨めします。

接頭語句と接尾語句の定義

接頭辞と接尾辞はすべて WORDS: サブセクションの最初で語句として定義されなければなりません。ほかの語句と同様に、接頭辞と接尾辞にも長形式名と短形式名の両方があります。接頭辞は、キーワード name= でその名前を、オプションのキーワード sname= で短形式名を、オプションの iname= で入力名をそれぞれ指定したうえに、キーワード prefix でこれを指定することができます。接尾辞についても同様で、キーワード name= でその名前を、オプションのキーワード sname= で短形式名を、オプションのキーワード iname= で入力名をそれぞれ指定したうえに、キーワード suffix でこれを指定することができます。

また、接頭辞には、キーワード compartments= と markings= を指定することもできます。これらのキーワードによって特殊なインバースビットを指定します。特殊なインバースビットを指定する接頭辞を指定する語句を、「特殊なインバース語句」と呼びます。第 7 章「エンコーディングを指定する際の一般的な考慮事項」「接頭辞を使用して、特殊インバースコンパートメントビットと特殊インバースマーキングビットを指定する」を参照してください。

接頭辞や接尾辞を持たない語句を定義する

接頭辞や接尾辞を持たない語句をエンコーディングファイルに定義する際の順序は非常に重要です。ラベルを内部形式から人が読める形式に変換する際、該当する語句は、エンコーディングファイルに指定した順序で人が読める文字列に置換されます。したがって、エンコーディングファイルに指定した語句の順序によって、人が読める形式のラベルの標準形が決まります。規定により、もっとも重要な語句が最初に現れます。通常、もっとも重要な語句とは、機密データを指定した語句です。コンパートメント、サブコンパートメント、またはコードワードを表現した語句がこれに相当します。

すべての語句には名前が必要です。オプションで短形式名や複数の入力名を指定することもできます。語句に接頭辞が必要な場合、その接頭辞はキーワード prefix= で指定します。指定する接頭辞は、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。WORDS: サブセクションの先頭に接頭辞が定義されていれば、接頭辞に短形式名または長形式名のいずれかを指定することができます。語句に接尾辞が必要な場合、その接尾辞はキーワード suffix= で指定します。指定する接尾辞は、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。WORDS: サブセクションの先頭に接尾辞を定義した場合は、接尾辞の短形式名または長形式名のいずれかを指定することができます。

語句に関連する残りのキーワードでは、人が読める形式の構文を定義するというより、語句の意味を定義します。これらのキーワードの意味と指定方法については、次に説明します。

キーワード minclass=

オプションのキーワード minclass= では、人が読めるラベルに語句を表示する最下位の格付けを指定します。この格付けは、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。格付けとして、CLASSIFICATIONS: セクションに定義した格付けの短形式名、長形式名、代替名のいずれかを指定できます。語句が表示される最下位の格付けが、キーワード value= で最小値を指定した格付けと同じ場合は、このキーワードを指定する必要はありません。

minclass が関連付けられている語句を、minclass より下位の格付けを持つラベルに追加すると、そのラベルの格付けは自動的に minclass にまで上昇します。ただし、語句をラベルに追加するときに、正しい形式に関するルールが満たされていなければなりません。

キーワード ominclass=

オプションのキーワード ominclass= では、語句の出力される最下位の格付けを指定します。出力される最下位の格付けとは、語句を出力できる (つまり、内部形式から変換し、人が読める形式になったラベルに語句を表示できる) 最下位の格付けのことです。この格付けは、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。格付けとして、CLASSIFICATIONS: セクションに定義した格付けの短形式名、長形式名、代替名のいずれかを指定できます。語句に関連付けられる出力される最下位の格付けが、キーワード value= で最小値を指定した格付けと同じ場合は、このキーワードを指定する必要はありません。

minclass= と ominclass= の違いは、微妙ですが非常に重要です。ある語句に ominclass を指定すると、ラベルの内部形式にその語句が指定されたとしても、その語句は ominclass より下位の格付けを持つ人が読める形式のラベルには表示されません。ominclass が設定されている語句については、その ominclass と同等かそれより上位の minclass を設定しない限り、その ominclass より下位の格付けを持つラベルに追加することはできません。(この場合、語句を追加できる唯一の理由は、minclass が ominclass と同等かそれより上位であるため、語句を追加したときにラベルの格付けが上昇し、ominclass と同等かそれより上位になるからです。これによって追加された語句がラベルに表示されるようになります。)次の例を使用して、ominclass と minclass との相違点を明らかにします。

規定により、ある特定の格付けより下位のラベルに語句は表示されないことになっています。この場合は、通常、インバースビットにのみ関連付けられるインバース語句についてだけ ominclass= を指定します。(インバースビットにだけ関連付けられるインバース語句が、そのもっとも典型的なものです。付録 B 「説明付きのエンコーディングサンプル」に示す「RELXX」という形式の語句がすべてこれに相当します。ただし、もっと複雑なインバース語句も指定できます。付録 B 「説明付きのエンコーディングサンプル」に示すコードワード bravo4 がその例です。このコードワードは、1 つのインバースビットだけでなく、複数の非インバースビットにも関連付けられています。これらの非インバースビットは bravo4 の内部形式に存在するため、bravo4 に ominclass を指定する必要はありません)このような語句のもっとも典型的な例が、リリースマーキング (たとえば、REL CNTRY1) です。REL CNTRY1 という語句は、情報を CNTRY1 にリリース可能であることを示しています。したがって、CNTRY1 にリリース可能な CONFIDENTIAL 情報は、CONFIDENTIAL REL CNTRY1 のラベルを持ちます。ここで、UNCLASSIFIED 情報も、格付けされていないために CNTRY1 にリリース可能です。したがって、REL CNTRY1 は、UNCLASSIFIED ラベルにその内部表現が存在することを示しますが、規定により、UNCLASSIFIED ラベルは人が読める形式では表示されません。ここで、REL CNTRY1 という語句に ominclass=CONFIDENTIAL を指定すると、UNCLASSIFIED という格付けを持つラベルの人が読める形式には REL CNTRY1 が表示されなくなります。REL CNTRY1 という語句に CONFIDENTIAL という出力される最下位の格付けを指定することに加え、ラベルに REL CNTRY1 が存在することを示すビットパターンを、CONFIDENTIAL より下位のすべての格付けの初期コンパートメントや初期マーキングに指定する必要があります。

ominclass と minclass は、さまざまな理由から併用することができます。前述したように、語句に ominclass と同等の minclass を指定すると、ominclass より下位の格付けを持つラベルにその語句が追加できるようになります。上述の REL CNTRY1 の例で示したように、minclass より上位の ominclass を指定するのが一般的です。minclass を指定せずに、最下位の格付けより上位の ominclass を指定した場合も、自動的に ominclass が minclass を上回ります。その場合は、minclass が最下位の格付けになります。

minclass より下位の ominclass を指定することに意味がある場合もあります。付録 B 「説明付きのエンコーディングサンプル」に示す語句 charlie がその例です。charlie という語句は、SECRET という minclass と CONFIDENTIAL という ominclass が指定されたインバース語句です。charlie の内部表現には UNCLASSIFIED ラベルが指定されています。minclass の指定を除けば、charlie は前述の REL CNTRY1 に非常によく似ています。ただし、minclass に SECRET を指定したことによって、charlie は、SECRET 以上の格付けを持つラベルにしか表示されません。したがって、UNCLASSIFIED ラベルの内部表現では charlie が指定されていますが、UNCLASSIFIED ラベルに charlie は表示されません。CONFIDENTIAL ラベルの内部表現には charlie が指定されていないため、CONFIDENTIAL ラベルにも charlie を表示することはできません。このようなラベルに charlie を追加すると、ラベルの格付けが SECRET に変化します。SECRET ラベルの内部表現で charlie は指定されていませんが、SECRET ラベルの格付けを変更することなく、charlie を追加できます。ただし、charlie をラベルに追加するときに、ラベルの正しい形式に関するルールが満たされていなければなりません。charlie の omincalss が minclass より下位ではなく同等の場合、charlie を CONFIDENTIAL ラベルに追加することはできません。前述したように、追加することによってラベルの格付けが SECRET にまで上昇します。charlie という語句に関して、ominclass に CONFIDENTIAL または SECRET のどちらを指定すべきかは、charlie を CONFIDENTIAL ラベルに追加する際に、システムをどのように動作させたいかによります。

キーワード maxclass=

オプションのキーワード maxclass= では、語句に関連付ける最上位の格付けを指定します。この格付けは、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。格付けとして、CLASSIFICATIONS: セクションに定義した格付けの短形式名、長形式名、代替名のいずれかを指定できます。語句に関連付けられる最上位の格付けが、キーワード value= で最大値を指定した格付けと同じ場合は、このキーワードを指定する必要はありません。

キーワード maxclass= は、非常に慎重に使用する必要があります。ある語句をそれより上位の格付けを持つラベルと組み合わせたときに、そのラベルの格付けの上昇を防ぐために maxclass= を指定する場合は、特に注意が必要です。そのような組み合わせを行うと、maxclass が指定された語句が自動的に削除されます。付録 B 「説明付きのエンコーディングサンプル」に示す maxclass= 指定を行なった bravo4 と charlie という語句に注目してください。これらはインバース語句であり、より上位の格付けを持つラベルと組み合わせると削除されます。

キーワード omaxclass=

オプションのキーワード omaxclass= では、語句の出力される最上位の格付けを指定します。出力される最上位の格付けは、語句を出力できる (つまり、内部形式を変換し、人が読める形式にしたラベルに語句を表示できる) 最上位の格付けです。この格付けは、このキーワードの直後の空白文字に続く最初の空白文字以外の文字から、次のセミコロンまたは改行コードまでと見なされます。格付けとして、CLASSIFICATIONS: セクションに定義した格付けの長形式名、短形式名、代替名のいずれかを指定できます。語句に関連付けられる出力される最上位の格付けが、キーワード value= で最大値を指定した格付けと同じ場合は、このキーワードを指定する必要はありません。

このキーワードは、EFTO (Encrypt For Transmission Only、転送専用の暗号化) などのマーキングをサポートしています。このようなマーキングは、人が読める UNCLASSIFIED のラベルにだけ表示する必要がありますが、UNCLASSIFIED より上位の格付けを持つすべてのラベルにも意味的には存在します。マーキングビット N により、 EFTO をサポートするには、マーキングビット N を、UNCLASSIFIED より上位の格付けに関連付けられるデフォルトビットとしてエンコーディングファイルに指定する必要があります。

CLASSIFICATIONS:

name= UNCLASSIFIED;	value= 1;	

name= CONFIDENTIAL;	value= 4;	initial markings= N;

name= SECRET:	value= 5;	initial markings= N;

name= TOP SECRET;	value= 6; 	initial markings= N;

次に、omaxclass の UNCLASSIFIED に、EFTO を語句に指定します。

name= EFTO;   omaxclass=UNCLASSIFIED;   MARKINGS= N;

これらの指定を行うと、EFTO は、CONFIDENTIAL、SECRET、TOP SECRET という格付けを持つラベルの人が読める形式には表示されなくなりますが、これらのラベルの内部 (ビット) 表現には存在します。これらの指定を行なったうえで、UNCLASSIFIED EFTO という情報ラベルを SECRET ラベルの 1 つと組み合わせると、結果は SECRET になります。

キーワード compartments=

オプションのキーワード compartments= を使用して、語句がラベルに存在する場合にそれぞれのコンパートメントビットを 1 と 0 のどちらに設定するか指定します。たとえば、語句が特定のコンパートメントのコードワードである場合、そのコンパートメントに関連付けられたコンパートメントビットは、コードワードにも関連付けられています。

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

次の表にコンパートメント指定の例を示します。

表 4–1 コンパートメントの指定

指定 

意味 

compartments= 1; 

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

compartments= 2-3; 

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

compartments= ~4; 

コンパートメントビット 4 がオフ (0)。これは、インバースコンパートメントビット 

compartments= ~5 -7; 

コンパートメントビット 5、6、7 がオフ (0) 

compartments= 1 3; 

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

compartments= ~4 6; 

コンパートメントビット 4 がオフ (0) で、6 がオン (1) 

compartments= ~4 ~6; 

コンパートメントビット 4 と 6 がオフ (0) 

compartments= 2 4-6; 

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

compartments= ; 

無視 

キーワード compartments= は、システムで使用される語句に必要なラベル判定を実施するうえで非常に重要です。なぜなら、このキーワードは、キーワード markings= とともに、人が読める語句と、ラベル判定時に「論理和」がとられる内部的なビット表現との関連付けを指定しているからです。第 1 章「概要」で説明したさまざまな判定に対して効果があるように compartments= と markings= (次を参照のこと) の各キーワードを使用する方法については、第 8 章「適切なラベル判定を行う」で説明します。

キーワード markings=

オプションのキーワード markings= を使用して、語句がラベルに存在する場合にそれぞれのマーキングビットを 1 または 0 に指定します。たとえば、語句がコードワードである場合、そのコードワードに関連付けられるマーキングビット (複数も可) を指定します。

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

次の表にマーキング指定の例を示します。

表 4–2 マーキングの指定

指定 

意味 

markings= 1; 

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

markings= 2-3; 

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

markings= ~4; 

マーキングビット 4 がオフ (0)。これは、インバースマーキングビット 

markings= ~5-7; 

マーキングビット 5、6、7 がオフ (0) 

markings= 1 3; 

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

markings= ~4 6; 

マーキングビット 4 がオフ (0) で、6 がオン (1) 

markings= ~4 ~6; 

マーキングビット 4 と 6 がオフ (0) 

markings= 2 4-6; 

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

markings= ; 

無視 

キーワード markings= は、システムで使用される語句に必要なラベル判定を実施するうえで非常に重要です。なぜなら、このキーワードは、キーワード compartments= とともに、人が読める語句と、ラベル判定時に「論理和」がとられる内部的なビット表現との関連付けを指定しているからです。

第 1 章「概要」で説明したさまざまな判定に対して効果があるように compartments= と markings= (上記を参照のこと) の各キーワードを使用する方法については、第 8 章「適切なラベル判定を行う」で説明します。

キーワード access related

オプションのキーワード access related を指定すると、その語句は、アクセス関連の語句であると見なされ、印刷された出力バナーページの警告文に表示されます。より正確にいえば、キーワード access related は、情報ラベル語句に指定する必要があり、しかも、その情報ラベル語句は、1) 情報ラベルに追加するとラベルの機密度が上がり、かつ 2) 機密ラベルには表示されないものでなければなりません。バナーページには、情報を手作業で見直し降格しない限り、情報がどのように保護されるかを示す警告文が表示されます。したがって、情報ラベル語句がアクセス関連の語句 (たとえば、NOFORN) の場合、それをアクセス関連のキーワードで定義すると、バナーページの警告文に表示されます。 図 4–1 には、アクセス関連の語句が指定されたプリンタバナーページのフォーマット例を示しています。

図 4–1 アクセス関連語句が表示されたプリンタバナーの例

図は、ラベル「TOP SECRET A B SA」の後ろにアクセス関連語句「NOFORN」がハイライト表示されているプリンタバナーを示します。

キーワード flags=

オプションのキーワード flags= では、15 個あるフラグのどれをこの語句と関連付けるかを指定します。このフラグは、コンパートメントビットやマーキングビットの指定と同様に 0 から 14 までの番号で指定します。これらのフラグは、システム自身で使用することはありませんが、特にこのフラグを使用する目的で書かれたアプリケーションで使用できます。

これらのフラグでは、通常のラベルではなく、プリンタバナーラベルだけに表示する特定の語句を定義します。また、正式なメッセージトラフィックに埋め込まれたラベルにだけ表示する特定の語句を定義する際にもこれらのフラグを使用することができます。これらのフラグの使用方法の詳細については、第 7 章「エンコーディングを指定する際の一般的な考慮事項」「エイリアスの指定」を参照してください。