Trusted Solaris のラベル管理

格付けとして定義されるキーワード

格付けとして定義されるキーワードを次の表に示します。アスタリスク(*)で始まるキーワードはオプションです。格付けに関連付けられるオプションの初期コンパートメントとマーキングの設定方法については、「デフォルト語句およびインバース語句の設定」を参照してください。

表 2-2 格付けの値

値 

条件 

name= 

(/)、 (,)、(;) などの使用は不可。それ以外の英数字や空白文字の使用は可。ラベルの指定時は、namesnameaname のいずれも入力可能。

sname=

格付けだけに必要。常に短形式名で機密ラベルに表示 ([ ] で囲む)。

*aname= 

ユーザーによる入力時にのみ使用する名前。いつでも代替名を入力できる。

value= 

格付け間の実際の階層を表すように値を設定すること。後の拡張に備えて、余裕をもたせておくこと。0 は ADMIN_LOW 用に予約。値は 1〜255 まで。

*initial compartments= 

あらゆるデフォルトのコンパートメント語句 (関連する格付けを持つラベルであれば、そのラベルに最初に表示される語句) のビット番号を指定。

応用: インバース語句にもビット番号を指定。推奨: 自分のサイトで最下位の格付け以外のすべての格付けにインバース語句を使用しているときは、インバース語句を後で追加できるように初期コンパートメントを確保しておくこと。最下位の格付けに初期コンパートメントや初期マーキングを使用することは推奨できない。 

*initial markings= 

情報ラベルに使用する。情報ラベルは Trusted Solaris 7 およびそれ以降のリリースでは使用されないので、この値は定義しない。

他の組織のラベルエンコーディングとの互換性が必要なエンコーディングを作成するのでなければ、使用するコンパートメントのビット番号については、気にする必要はありません。ただし、自分の使用している番号とそれぞれのビットの関係を把握してください。

以下に Trusted Solaris のデモ版のlabel_encodings ファイルの CLASSIFICATIONS セクションの冒頭部分を示します。


例 2-3 Trusted Solaris のデモ版の label_encodings ファイル (冒頭部分)


CLASSIFICATIONS:

*
name= UNCLASSIFIED;  sname= U;  value= 1;
name= CONFIDENTIAL;  sname= C;  value= 4; initial compartments= 4-5 190-239;
name= SECRET;        sname= S;  value= 5; initial compartments= 4-5 190-239;
name= TOP SECRET;    sname= TS; value= 6; initial compartments= 4-5 190-239;

例 2-3 で定義された格付けにはそれぞれ、必須の namesnamevalue が指定されています。CONFIDENTIAL、SECRET、TOP SECRET の格付けにはそれぞれ initial compartments (初期コンパートメント) が設定されていますが、UNCLASSIFIED には何も設定されていません。

以下の表は、初期コンパートメントのビットの割り当てとその意味を示しています。

表 2-3 初期コンパートメントのビット割り当て例とその意味

initial compartments= 4 5 100-227; 

この格付けのラベルでは、コンパートメントビットの 1、5、および 100〜227 は、初期設定でオンになっている (1 に設定)。 

例 2-3 に示した初期コンパートメントの一部は、デフォルト語句やインバース語句を定義するために後で使用します。またインバース語句を後で定義するために予約されているものもあります。

初期コンパートメントが設定されていない簡単な格付けの例を以下に示します。


例 2-4 初期コンパートメントや初期マーキングのない簡単な格付け定義例


CLASSIFICATIONS:

name= PUBLIC; sname= PUBLIC; value= 1;
name= INTERNAL_USE_ONLY; sname= INTERNAL; aname= INTERNAL; value= 4;
name= NEED_TO_KNOW; sname= NEED_TO_KNOW; aname= NEED_TO_KNOW; value= 5;
name= REGISTERED; sname= REGISTERED; aname= REGISTERED; value= 6;
initial compartments= 10;