Solaris Trusted Extensions ラベルの管理

ラベルの型、構成要素、および使用方法

Trusted Extensions では、次の 2 つの型のラベルが定義されます。

機密ラベル、ラベル範囲、およびラベル制限 (認可上限) では、システム上のどのオブジェクトにだれがアクセスできるかが決定されます。認可上限ラベルはユーザーに割り当てられます。機密ラベルは、ユーザープロセスを含むプロセス、およびファイルやディレクトリに割り当てられます。

一部のオブジェクトにはラベル範囲があります。そのオブジェクトには、定義されたラベル範囲内の特定のラベルでアクセスできます。ラベル範囲が ADMIN_LOW から ADMIN_HIGH までの場合、すべてのラベルでアクセスできます。セキュリティー管理者はこのラベル範囲を狭めることができます。ラベル範囲があるオブジェクトは、次のとおりです。

これらのオブジェクトにラベルを設定する場合のさまざまな方法については、『Solaris Trusted Extensions 管理の手順』を参照してください。『Solaris Trusted Extensions 管理の手順』「デバイス割り当てマネージャー GUI」に、ラベル範囲をデバイスに設定する方法が説明されています。

ラベル範囲によるアクセス制限

ラベル範囲は、次のラベルに対して制限を設定します。

ラベルは自動的に電子メールメッセージに割り当てられ、電子メールの出力に表示されます。

アクセス制御の決定に使用されるラベル

コンピュータのアクセスの実装およびアクセスの制御のために、ラベルが使用されます。ラベルは、必須アクセス制御 (MAC) を実装します。Trusted Extensions では、オブジェクトへのアクセスが許可される前に、任意アクセス制御 (DAC) 検査と MAC 検査に合格しなければなりません。Solaris OS の場合と同様、DAC は、アクセス権ビットとアクセス制御リスト (ACL) に基づきます。詳細は、『Solaris のシステム管理 (セキュリティサービス)』の第 6 章「ファイルアクセスの制御 (作業)」を参照してください。

MAC は、アプリケーションを実行しているプロセスのラベルと、そのプロセスがアクセスしようとしているオブジェクトのラベルまたはラベル範囲を比較します。ラベルに実装されている規則セットによって、ポリシーが実施されます。規則の 1 つに「下位読み取り、同位読み取り」があります。プロセスがオブジェクトにアクセスしようとすると、この規則が適用されます。プロセスのラベルは、次のようにオブジェクトのラベル以上である必要があります。


Label[Process] >= Label[Object]

Trusted Extensions によって構成されているシステムでは、ファイルとディレクトリのアクセス規則は相互に少し異なり、プロセスオブジェクト、ネットワーク終端オブジェクト、デバイスオブジェクト、および X ウィンドウオブジェクトとも少し異なります。また、オブジェクトへのアクセスには 3 つの方法があります。オブジェクトにアクセスする 3 つの方法には、それぞれ、次のように少しずつ異なる規則セットが適用されます。

図 1–1 に、ラベルを使用してアクセス制御を決定するシステムを示します。

図 1–1 テキストエディタのラベルとファイルのラベルの比較

図については本文で説明します。

前の図で、ユーザーはラベル INTERNAL_USE_ONLY のワークスペースでテキストエディタを開いています。システムは、テキストエディタを実行しているプロセスのラベルを現在のワークスペースのラベルと同じに設定します。そのため、テキストエディタに INTERNAL_USE_ONLY のラベルが表示されます。編集のためにテキストエディタでファイルを開こうとすると、テキストエディタを実行しているプロセスのラベルとファイルのラベルが比較されます。2 つのラベルが等しい場合、書き込みアクセスが許可されます。

ファイルのラベルがテキストエディタのラベルより下位の場合、ファイルは読み取り専用で開かれます。たとえば、INTERNAL_USE_ONLY のテキストエディタは ADMIN_LOW のシステムファイルを開いて読み取ることができますが、変更はできません。また、下位読み取りの要件によって、現在の作業ラベルより上位のラベルのファイルをユーザーは参照できません。

ラベルの構成要素

ラベルと認可上限は、1 つの「格付け」と 0 または 1 つ以上の「コンパートメント」語句で構成されます。ラベルの格付け部分は、保護の相対レベルを示します。ラベルがオブジェクトに割り当てられると、ラベルの格付けが、オブジェクトに含まれている情報の機密度を示します。認可上限がユーザーに割り当てられると、認可上限ラベルの格付け部分が、ユーザーの信頼度を示します。

Trusted Extensions は CIPSO (Common IP Security Option) ラベルをサポートします。ラベルと認可上限ラベルのそれぞれには、256 個までの値を指定できる格付けフィールド、および 256 ビットのコンパートメントフィールドがあります。格付けに 0 (ゼロ) は使用できないので、合計 255 個の格付けを定義できます。CIPSO ラベルには、240 個のコンパートメントビットを使用できるので、合計 2240 のコンパートメントの組み合わせが可能です。これらの構成要素を次の図に示します。

図 1–2 CIPSO ラベル定義

図は、ラベルの格付けとコンパートメントのセクションを示しています。

ADMIN_HIGH ラベルと ADMIN_LOW ラベルは管理ラベルです。これらのラベルはシステム上のすべてのラベルの上限と下限を定義します。

各コンパートメント語句には、1 ビット以上のコンパートメントビットが割り当てられています。同じコンパートメントビットを 1 つ以上の語句に割り当てることができます。

テキスト形式の格付けは、次のようになります。


CLASSIFICATIONS:

name= TOP SECRET; sname= TS; value= 6;initial compartments= 4-5;

ラベルのコンパートメント部分は省略可能です。ラベルのコンパートメント語句を使用して、ワークグループ、部、課、地理上区域などの異なる種類のグループを表すことができます。コンパートメント語句によって、情報の処理方法を指定することもできます。

初期コンパートメントが格付け定義の一部である場合、コンパートメントがそのラベルの一部になります。


WORDS:

name= A;         compartments= 0;
name= B;         compartments= 1;
name= CNTRY1;     sname= c1;     compartments= ~4;
name= CNTRY2;   sname= c2;     compartments= ~5;

前の格付けおよびコンパートメントから使用可能なラベルには、TSTS ATS B、および TS AB があります。TS A のファイルは、TS 格付けと認可上限に A コンパートメントを持つユーザーのみが使用できます。説明図は、図 1–3 を参照してください。

ラベルの優位性

任意の型のラベルと別のラベルを比較したときに、前者のセキュリティーレベルが後者のそれと同等かそれよりも高い場合、前者が後者よりも「優位である」と言います。このセキュリティーレベルの比較は、ラベルの格付けとコンパートメントに基づきます。優位なラベルの格付けは、2 つ目のラベルの格付けと同等かそれよりも高くなければなりません。優位なラベルには、もう一方のラベルのコンパートメントのすべてが含まれていなければなりません。2 つのラベルが同等な場合は、「互いに優位である」と言います。

この基準により、TS ATS より優位であり、TSTS より優位です。TS ラベルの格付けとコンパートメントビットを次の図に示します。

図 1–3 TSTS ATS BTS AB ラベルの表現

図は、TS ラベルの格付けとコンパートメントのセクションを示しています。

別の種類の優位性である「完全な優位性」が、アクセスの際に必要とされる場合もあります。あるラベルのセキュリティーレベルが別のラベルのセキュリティーレベルより高い場合、そのラベルは他方のラベルより「完全に優位である」と言います。完全な優位性には、同等の部分がありません。最初のラベルの格付けは、2 つ目のラベルの格付けより高いです。最初のラベルには、2 つ目のラベルのすべてのコンパートメントが含まれます。あるいは、両方のラベルの格付けが同じである場合、最初のラベルには 2 つ目のラベルのすべてのコンパートメントが含まれ、さらにその他のコンパートメントが 1 つ以上含まれます。

優位関係がないラベルは「無関係」であると言われます。無関係なラベルは、会社内の各部門を振り分けるのに適しています。たとえば、ラベル TS HR (人事) は TS Sales から分離しています。

認可範囲、ラベル範囲、および有効なラベル

label_encodings ファイルでは、ラベル構成要素の一定の組み合わせが規則によって無効とされます。組み合わせの規則によって、組織で使用可能なラベルが暗黙的に定義されます。組み合わせの規則はセキュリティー管理者が指定します。

有効」または「適格な形式」のラベルとは、組み合わせの規則に従っているラベルのことです。セキュリティー管理者は、次のいずれかの方法によって組み合わせの規則を定義します。

label_encodings ファイルには、次の 2 つの「認可範囲」が暗黙的に指定されています。

「認可範囲」という用語は、ユーザーアカウント、役割アカウント、プリンタ、ホスト、ネットワークなどのオブジェクトに割り当てられているラベル範囲も指します。規則は一連の有効なラベルを制約できるので、ラベル範囲および認可範囲には、範囲内のラベル構成要素のすべての可能な組み合わせが含まれないことがあります。

システム認可範囲

システム認可範囲には、管理ラベルの ADMIN_HIGH および ADMIN_LOW が含まれます。さらに、システム認可範囲には、label_encodings ファイルのラベル構成要素から構成されるすべての適格な形式のラベルも含まれます。

管理役割アカウントは、通常、システム認可範囲内のすべてのラベルで作業可能な唯一のアカウントです。組織では、管理ラベルを必要とするタスクを実行可能な一般ユーザーアカウントを設定することもできます。

次の図は、システム認可範囲で許可されるラベルが規則によってどのように制約されるかを示しています。

図 1–4 システム認可範囲が規則によって制約される様子

図は、格付けの可能な組み合わせの数が規則で許可される数より多いことを示します。

図 1–4 (a) は、格付け TS ( TOP SECRET)、S (SECRET)、 C (CONFIDENTIAL)、およびコンパートメント A B によるすべての可能な組み合わせを示します。

図 1–4 (b) は、SENSITIVITY LABELS セクションの REQUIRED COMBINATIONS サブセクションによる代表的な規則とその結果を示します。矢印は規則によって無効にされるラベルを示します。無効にされるラベルは上に線が引かれています。REQUIRED COMBINATIONS 構文 B A は、コンパートメントとして B を持つラベルには A が含まれていなければならないことを示します。その逆は当てはまりません。コンパートメント A に、その他のコンパートメントを組み合わせる必要はありません。コンパートメント BA がある場合にのみ許可されるので、ラベル TS BS B、および C B は適格な形式ではありません。適格な形式でないラベルはシステム認可の範囲外です。

ユーザー認可範囲

ユーザー認可範囲」は、Trusted Extensions の使用時に、一般ユーザーがアクセスできる最大のラベルセットです。ユーザー認可範囲では、ADMIN_HIGH および ADMIN_LOW が常に除外されます。ユーザー認可範囲は、「システム認可範囲」を制約するすべての規則によってさらに制約されます。また、ACCREDITATION RANGE セクションの規則によってユーザー認可範囲を制約することもできます。図 1–5図 1–4 の例から続きます。図 1–5 は、ACCREDITATION RANGE セクションの 3 つの異なるタイプの規則と、そのユーザー認可範囲の結果を示します。矢印は特定の規則が許可する適格な形式のラベルを示します。

図 1–5 label_encodings ファイルの ACCREDITATION RANGE 部分

図については本文で説明します。

右側のボックスに示すように、ユーザー認可範囲は ADMIN_HIGH および ADMIN_LOW を除外します。TS 格付けの規則には、TS B を除くすべての TS の組み合わせが含まれます。ただし、図 1–4 に示すように TS BS B、および C BREQUIRED COMBINATIONS 規則 B A によって以前に無効にされているため、TS の組み合わせで許可されるのは、TS A BTS A、および TS のみです。S A BS 格付けの唯一の有効な組み合わせとして定義されているため、S B はやはり除外されます。C 格付けの規則に従えば、C A を除くすべての C の組み合わせが有効です。ただし、C B は以前に無効にされているので、C 格付けの許可される組み合わせは C A B および C のみです。

アカウントラベル範囲

「アカウントラベル範囲」は、各ユーザーまたは役割アカウントが使用可能なラベルの範囲です。システムへのログイン時にユーザーが作業できるラベルを、この範囲で制御します。

アカウントラベル範囲で使用可能なラベルには、次の制約があります。


例 1–1 有効なラベルではない有効な認可上限の定義

たとえば、label_encodings ファイルで、ラベルのコンパートメント AB、および C の組み合わせを禁止できます。


アカウントラベル範囲の例

アカウントに割り当てることができる認可上限および最下位のラベルを、次の図に示します。これらのラベルは、これまでの節で説明した認可の例に基づいています。

図 1–6 アカウントラベル範囲に対する制約

図については本文で説明します。

この例で、TS A B がユーザー認可範囲の最上位ラベルです。このラベルには、どの格付けのラベルでも一緒に表示されることが許可される 2 つのコンパートメント A および B のみが含まれます。左側に示されているアカウント範囲は、TS A B によって最上位が定められています。TS A B はアカウントに割り当てられている認可上限です。C はアカウントの最下位のラベルです。これらの定義によって、ラベル TS A BTS ATSS A BC A B、または C で作業するアカウントが制約されます。許可される認可上限は TS A BTS ATS、および S A B です。minimum clearance (最下位の認可上限) の S A Blabel_encodings ファイルに設定されます。

TS A B が有効なラベルではなかったとしても、セキュリティー管理者はそのラベルを認可上限として割り当てることができます。この割り当てによって、TS のほうが優位であり、かつ語句 A および B を含む、任意の有効なラベルを、アカウントで使用できるようになります。逆に、TS をアカウント認可上限として割り当てた場合、ユーザーはラベル TS および C でのみ作業できます。コンパートメントを持たない TSS A B または C A B に対して優位になりません。

表 1–1 認可範囲とアカウントラベル範囲の例

 

認可範囲 

アカウントラベル範囲 

可能なラベル 

システム 

ユーザー 

TS A B 認可上限、S A B 最下位のラベル

TS 認可上限、C 最下位のラベル

ADMIN_LOW 認可上限および最下位のラベル、solaris.label.range 承認

ADMIN_HIGH

ADMIN_HIGH

 

 

 

 

TS A B

TS A B

 

TS A B

 

 

TS A

TS A

TS A

TS A

 

 

TS

TS

TS

TS

TS

 

S A B

S A B

S A B

S A B

 

 

S A

 

 

 

 

 

S

 

 

 

S

 

C A B

C A B

 

 

 

 

C A

C A

 

 

 

 

C

C

C

 

C

 

ADMIN_LOW

ADMIN_LOW

 

 

 

ADMIN_LOW

表 1–1 は、可能なラベルの組み合わせ、システム認可範囲、ユーザー認可範囲、およびいくつかのアカウントラベル範囲の例における違いを示しています。

セッション範囲

「セッション範囲」は、Trusted Extensions セッション時にユーザーアカウントで使用できるラベルのセットです。セッション範囲は次を対象として制約します。

単一ラベルアカウントのセッション範囲は、アカウントのラベルです。ユーザーアカウントが複数のラベルを使用できるように設定されている場合にのみ、一連のラベルからの選択が可能です。複数のラベルを使用できるように設定されているユーザーアカウントは、セッション中に異なるラベルを選択できます。ラベルの指定については『Solaris Trusted Extensions ユーザーズガイド』「ワークスペースのラベルを変更する」を参照してください。

ログイン時に選択した単一のラベルまたはセッションの認可上限は、ログアウトするまでのそのセッションを通じて有効です。マルチラベルセッションでは、セッション認可上限からユーザーの最下位ラベルまでの間の任意の有効なラベルで、ユーザーが作業できます。

図 1–6 の例は図 1–7 に続きます。この例では、ユーザーは TS A BS A B の間の適格な形式のラベルを使用するセッション認可上限を指定できます。

図 1–7 の (a) は、ユーザーがセッション認可上限 S A B のマルチラベルセッションを選択した場合に使用可能なラベルを示します。S A B と C の中間にあるその他のラベルは適格な形式ではないので、ユーザーは S A BC A B、または C でのみ作業できます。

図 1–7 の (b) は、ユーザーがセッションラベル C A B の単一ラベルセッションを選択した場合に使用可能なラベルを示します。C A Bminimum clearance (最下位の認可上限) より下位にあります。ただし、ユーザーは認可上限ではなくセッションラベルを選択するので、C A B はアクセス可能です。セッションは単一ラベルなので、ユーザーは 1 つのラベルでのみ作業できます。ユーザーは S A B または C を選択することも可能でしたが、この例では C A B を指定しました。

図 1–7 セッション範囲の比較

図については本文で説明します。

次の図に、この例で使用可能なラベルを段階的に除外して示します。それぞれの範囲で除外されるラベルは上に線が引かれます。除外されたラベルは、それ以降の範囲では表示されません。

図 1–8 セッション範囲に対する制約の段階的効果

図については本文で説明します。

Trusted Extensions セッションでのラベルの使用可能性

次の表は、ユーザーのセッション選択に基づくセッションラベルの制限および使用可能性を示しています。この表は、図 1–8 の例から続くものです。

表 1–2 Trusted Extensions セッションでのラベル

 

マルチレベルセッション 

単一レベルセッション 

 

通常の場合 

例 #1 

通常の場合 

例 #2 

 

 

認可上限 SECRET A B のマルチレベル

 

セッションラベル SECRET A B の単一レベル

初期ワークスペースラベル (最初のログイン時) 

アカウントラベル範囲の最下位ラベル 

CONFIDENTIAL

セッションラベルはユーザーによって指定されます 

SECRET A B

使用可能なワークスペースラベル 

セッション認可上限までのアカウントラベル範囲のラベル 

CONFIDENTIAL

CONFIDENTIAL A B

SECRET A B

セッションラベルはユーザーによって指定されます 

SECRET A B

例 #1 では、初期ワークスペースラベルが CONFIDENTIAL に設定され、それがユーザーのアカウントラベル範囲の最下位ラベルになります。ユーザーはラベル CONFIDENTIALCONFIDENTIAL A B、または SECRET A B で作業できます。

例 #2 では、ユーザーの初期ワークスペースラベルは SECRET A B です。セッションが単一レベルなので、使用可能なワークスペースラベルは SECRET A B のみです。

ラベル付けされたワークスペース

ラベル付けされた「ワークスペース」では、ユーザーは単一セッションで複数のラベルで作業できます。

ユーザーがセッションについてラベルの範囲を選択した場合、最初に表示されるワークスペースは、ユーザーの「最下位ラベル」です。CDE では、フロントパネルのワークスペーススイッチ部分に、同じ最下位ラベルで 3 つの追加ワークスペース用のボタンが作成されます。

図 1–9 ワークスペーススイッチ領域

このウィンドウは、フロントパネルのワークスペースメニュー、トラステッドパスメニュー、ワークスペーススイッチ領域を示します。

ラベル付けされたシステムでの作業についての詳細は、『Solaris Trusted Extensions ユーザーズガイド』を参照してください。