ラベル、ラベル範囲、およびラベル制限は、Trusted Extensions が設定されているシステム上の情報にだれがアクセスできるかを決定します。
ラベル API を使用して、ラベル、ラベル範囲と制限、およびラベル関係に対してアクセス、変換、および比較を実行します。ラベルは別のラベルより優位になったり、別のラベルから分離したりできます。
label_encodings ファイルには、それぞれの Trusted Extensions 環境に適した機密ラベル、認可上限ラベル、ラベル範囲、およびラベル関係が定義されています。このファイルはラベルの表示も制御します。セキュリティー管理者が label_encodings ファイルの作成および管理を担当します。label_encodings(4) のマニュアルページを参照してください。
プロセスのラベルは、プロセスが実行されるゾーンによって決定されます。
すべてのオブジェクトはラベルに関連付けられ、ラベル範囲に関連付けられる場合もあります。オブジェクトは、定義されたラベル範囲内の特定ラベルでアクセスできます。ラベル範囲に関連付けられるオブジェクトは、次のとおりです。
すべてのユーザーとすべての役割
通信が許可されているすべてのホスト
ゾーンインタフェースとネットワークインタフェース
割り当て可能なデバイス (テープドライブ、フロッピーディスクドライブ、CD-ROM デバイス、オーディオデバイスなど)
割り当てできないその他のデバイス (プリンタ、ワークステーションなど)
ワークステーションアクセスは、フレームバッファーまたはビデオディスプレイデバイスに対して設定されるラベル範囲によって制御されます。セキュリティー管理者はこの範囲をデバイスマネージャー GUI を使用して設定します。デフォルトでは、デバイスの範囲は ADMIN_LOW から ADMIN_HIGH までです。
ラベルについての詳細は、「ラベルの型」を参照してください。
MAC は、ラベルを持つアプリケーションを実行するプロセスのラベル、またはプロセスがアクセスしようとするオブジェクトのラベル範囲を比較します。MAC は、プロセスが下位ラベルを読み取るのを許可し、等位ラベルに書き込むのを許可します。
Label[Process] >= Label[Object] |
マルチレベルポート (MLP) に対するプロセス制約は、複数ラベルの要求を待機し、要求の発信元に応答を送信できます。Trusted Extensions では、そのような応答は等位書き込みです。
Label[Process] = Label[Object] |
機密ラベル API は、次のために使用できます。
プロセスラベルの取得
ラベルの初期化
2 つのラベルにおける最大の下限または最小の上限の検索
優位と等位のラベルの比較
ラベルの型の検査と設定
可読形式へのラベルの変換
label_encodings ファイルからの情報の取得
機密ラベルが有効であり、システム範囲内にあることの検査
この API については、第 2 章「ラベルと認可上限」を参照してください。
ユーザー、デバイス、およびネットワークインタフェースにはラベル範囲があります。範囲の上限は、実質上の認可上限です。範囲の上限と範囲の下限が同じである場合、範囲は単一のラベルです。
認可上限ラベル API は、次のために使用できます。
2 つのラベルにおける最大の下限または最小の上限の検索
優位と等位のラベルの比較
内部形式と 16 進形式との認可上限の変換
この API については、第 2 章「ラベルと認可上限」を参照してください。
ラベル範囲は、次に対して制限を設定するために使用します。
ホストが情報を送受信するラベル
ユーザーおよび役割に代わって動作するプロセスがシステム上で機能するラベル
ユーザーがデバイスを割り当てるラベル
ラベル範囲を使用することによって、ファイルがデバイスのストレージメディアに書き込まれるラベルが制限されます。
ラベル範囲は管理のために割り当てられます。ラベル範囲は、ユーザー、役割、ホスト、ゾーン、ネットワークインタフェース、プリンタ、およびその他のオブジェクトに適用できます。
次の方法によって、ラベル範囲に関する情報を取得できます。
getuserrange() はユーザーのラベル範囲を取得します。
getdevicerange() はデバイスのラベル範囲を取得します。
tninfo -t template-name は、ネットワークインタフェースに関連付けられているテンプレートのラベル範囲を表示します。
この API については、第 2 章「ラベルと認可上限」を参照してください。