Go to main content
Trusted Extensions ユーザーズガイド

印刷ビューの終了

更新: 2015 年 10 月
 
 

Trusted Extensions による任意アクセス制御と必須アクセス制御

Trusted Extensions では、任意と必須の両方のアクセス制御を提供することによって、どのユーザーがどの情報にアクセスできるかを制御します。

任意アクセス制御

「任意アクセス制御 (Discretionary Access Control、DAC)」は、ファイルとディレクトリに対するユーザーのアクセスを制御するためのソフトウェアメカニズムです。DAC では、ファイルおよびディレクトリに設定する保護の種類を所有者自身が決定できます。DAC には、UNIX アクセス権ビットを使用する方法と、アクセス制御リスト (ACL) を利用する方法があります。

アクセス権ビット方式では、「所有者」、「グループ」、「その他のユーザー」の単位で、読み取り保護、書き込み保護、実行保護を設定できます。従来の UNIX のシステムでは、スーパーユーザー (root ユーザー) が DAC 保護をオーバーライドできます。Trusted Extensions では、DAC をオーバーライドできるのは、管理者と承認されたユーザーのみです。ACL では、アクセス制御をさらに細かく設定できます。所有者は ACL を使用することにより、特定のユーザーやグループに対して別個のアクセス権を指定できます。詳細は、Oracle Solaris 11.3 での ZFS ファイルシステムの管理 の第 9 章ACL および属性を使用した Oracle Solaris ZFS ファイルの保護を参照してください。

必須アクセス制御

「必須アクセス制御 (Mandatory Access Control、MAC)」は、ラベル関係に基づいた、システムによって実施されるアクセス制御メカニズムです。システムにより、プログラムを実行するために作成されたすべてのプロセスに機密ラベルが対応付けられます。このラベルが、MAC ポリシーでのアクセス制御の決定に使用されます。通常、各プロセスでは、相手側のラベルが自身のラベルと同等でないかぎり、情報を格納することも、ほかのプロセスと通信することもできません。MAC ポリシーでは、ラベルが同等または自身よりも低いオブジェクトからのデータ読み取りが、プロセスに対して許可されます。ただし、管理者は、レベルの低いオブジェクトがほとんどまたはまったく存在しないような、ラベル付き環境を作成することもできます。

デフォルトでは、MAC ポリシーはユーザーには表示されません。通常のユーザーは、オブジェクトに対する MAC アクセスを持っていないかぎり、そのオブジェクトを表示できません。あらゆる場合において、ユーザーが MAC ポリシーに反する行為を行うことはできません。

機密ラベルと認可上限

    ラベルには、次の 2 つのコンポーネントがあります。

  • 格付け (「レベル」とも呼ばれる)

    セキュリティーの階層レベルを示すコンポーネントです。人に適用した場合、格付けは信用の程度を表します。データに適用した場合、格付けは必要な保護の度合いを表します。

    米国政府で使用されている格付けは、TOP SECRET SECRETCONFIDENTIAL、および UNCLASSIFIED です。産業界の格付けには、標準化されたものはありません。個々の企業が独自の格付けを設定できます。例については、図 2を参照してください。左側の項目が格付けです。右側の項目がコンパートメントです。

  • コンパートメント (「カテゴリ」とも呼ばれる)

    コンパートメントは、作業グループ、部門、プロジェクト、トピックなどのグループ化を表します。格付けに必ずしもコンパートメントがあるとはかぎりません。図 2 では、Confidential という格付けに 3 つの排他的なコンパートメントがあります。PublicMax Label にはコンパートメントがありません。図が示すように、この組織では 5 つのラベルが定義されています。

Trusted Extensions には 2 種類のラベルがあります。「機密ラベル」と「認可上限」です。作業の認可は 1 つ以上の機密ラベルで得ることができます。「ユーザー認可上限」と呼ばれる特殊なラベルは、そのユーザーが作業することを許されている最高ラベルを決定します。さらに、各ユーザーには最下位の機密ラベルが指定されています。 このラベルは、マルチレベルのデスクトップセッションにログインするときにデフォルトで使用されます。ログイン後は、この範囲内のほかのラベルで作業することを選択できます。最下位の機密ラベルとして Public を、認可上限として Confidential: Need to Know をユーザーに割り当てたとします。最初のログインでは、デスクトップのワークスペースのラベルは Public です。セッション中、ユーザーは Confidential: Internal Use Only および Confidential: Need to Know でワークスペースを作成できます。

図 2  一般的な産業界向け機密ラベル

image:図は、産業界で定義される一般的なラベルと認可上限を示しています。

Trusted Extensions が構成されたシステムでは、すべてのサブジェクトとオブジェクトにラベルがあります。「サブジェクト」とは能動的な実体であり、通常はプロセスを指します。プロセスによって、情報がオブジェクト間を移動したり、システムの状態が変更されたりします。「オブジェクト」とは、データを保持したり、受け取ったりする受動的な実体であり、データファイルやディレクトリ、プリンタなどのデバイスを指します。プロセスに対して kill コマンドを使用するときのように、プロセスがオブジェクトになる場合もあります。

図 3 は、一般的なマルチレベル Trusted Extensions セッションを示しています。トラステッドストライプが上部にあります。トラステッドパスメニューはトラステッドストライプから起動します。ある役割になるには、ユーザー名をクリックして役割メニューを起動します。下部パネルのワークスペーススイッチには、ワークスペースラベルの色が表示されます。下部パネルのウィンドウリストには、ウィンドウのラベルの色が表示されます。

図 3  一般的なマルチレベルセッション

image:画面は、ウィンドウ上のラベル、トラステッドストライプ、トラステッドシンボル、トラステッドパスメニュー、現在のユーザー、ワークスペースとウィンドウのラベル、および下部パネルを示しています。

コンテナとラベル

Trusted Extensions では、ラベル付けにコンテナが使用されます。コンテナは「ゾーン」とも呼ばれます。大域ゾーン」は管理ゾーンであり、ユーザーは使用できません。非大域ゾーンは「ラベル付きゾーン」と呼ばれます。ラベル付きゾーンはユーザーが使用できます。大域ゾーンの一部のシステムファイルはユーザーと共有されます。これらのファイルがラベル付きゾーンに表示される場合、ファイルのラベルは ADMIN_LOW になります。ユーザーは ADMIN_LOW ファイルの内容を読み取ることはできますが、変更することはできません。

ネットワーク通信はラベルによって制限されます。デフォルトでは、それぞれのラベルが異なるため、ゾーン間の通信はできません。したがって、あるゾーンから別のゾーンへの書き込みはできません。

ただし、管理者が特定のゾーンを構成して、特定のディレクトリをほかのゾーンから読み取れるようにすることができます。ほかのゾーンは、同じホスト上にあるものでも、リモートシステム上のものでもかまいません。たとえば、レベルが低いゾーンにあるユーザーのホームディレクトリを、自動マウントサービスを使ってマウントできるようになります。このようなレベルの低いホームマウントのパス名表記では、ゾーン名を次のように含めます。

/zone/name-of-lower-level-zone/home/username

次の端末ウィンドウは、レベルの低いホームディレクトリの表示/非表示を示しています。ログインラベルが Confidential: Internal Use Only のユーザーは、レベルが低いゾーンを読み取れるように自動マウントサービスが構成されている場合に、Public ゾーンの内容を表示できます。textfileInfo.txt ファイルは 2 種類あります。Public ゾーンに置かれた方のファイルには、全員で共有できる情報が格納されます。Confidential: Internal Use Only ゾーンに置かれた方のファイルには、社内のみで共有できる情報が格納されます。

図 4  上位ラベルのゾーンからの Public 情報の表示

image:端末ウィンドウは、Public ゾーンの内容を Internal Use Only ゾーンから表示できることを示しています。

ラベルとトランザクション

    Trusted Extensions ソフトウェアは、試みられたすべてのセキュリティー関連のトランザクションを管理します。サブジェクトのラベルがオブジェクトのラベルと比較され、どちらのラベルが「優位」であるかに応じてトランザクションが許可または拒否されます。ある実体のラベルは、次の 2 つの条件が満たされている場合に、もう一方の実体のラベルよりも「優位」だとみなされます。

  • 1 つ目の実体のラベルの格付けコンポーネントが、もう一方の実体の格付けと同等またはそれよりも上である。

  • もう一方の実体のラベルのすべてのコンパートメントが 1 つ目の実体のラベルに含まれている。

2 つのラベルは、同じ格付けと同じコンパートメントのセットを持つ場合に、「同等」だとみなされます。ラベルが同等であれば、これらは互いに優位です。よって、アクセスが許可されます。

次の条件のいずれかを満たす場合、1 つ目のラベルは 2 つ目のラベルよりも「完全に優位」であると言えます。

  • 1 つ目のラベルが 2 つ目のラベルよりも高い格付けを持っている

  • 1 つ目のラベルの格付けが 2 つ目のラベルの格付けと同等であり、1 つ目のラベルに 2 つ目のラベルのコンパートメントがすべて含まれ、1 つ目のラベルに追加のコンパートメントがある

2 つ目のラベルよりも完全に優位なラベルには、2 つ目のラベルへのアクセスが許可されます。

どちらのラベルももう一方のラベルより優位ではない場合、これらのラベルは「無関係」とみなされます。無関係なラベル間ではアクセスは許可されません。

たとえば、次のような図を考えます。

image:図は、2 つのコンパートメント A と B が考えられる Top Secret の格付けを示しています。

    これらのコンポーネントから、次の 4 つのラベルを作成できます。

  • TOP SECRET

  • TOP SECRET A

  • TOP SECRET B

  • TOP SECRET AB

TOP SECRET AB は自身に対して優位であり、ほかのラベルよりも完全に優位です。TOP SECRET A は自身に対して優位であり、TOP SECRET よりも完全に優位です。TOP SECRET B は自身に対して優位であり、TOP SECRET よりも完全に優位です。TOP SECRET ATOP SECRET B は無関係です。

読み取りトランザクションでは、サブジェクトのラベルがオブジェクトのラベルよりも優位である必要があります。この規則により、サブジェクトの信頼レベルは、オブジェクトにアクセスするための条件を完全に満たすことになります。つまり、サブジェクトのラベルには、オブジェクトへのアクセスが許可されたすべてのコンパートメントが含まれます。TOP SECRET A は、TOP SECRET ATOP SECRET のデータを読み取ることができます。同様に、TOP SECRET BTOP SECRET BTOP SECRET のデータを読み取ることができます。TOP SECRET ATOP SECRET B のデータを読み取ることはできません。同様に、TOP SECRET BTOP SECRET A のデータを読み取ることはできません。TOP SECRET AB は、すべてのラベルのデータを読み取ることができます。

書き込みトランザクション、つまり、サブジェクトによってオブジェクトが作成または変更される場合は、結果として得られるオブジェクトのラベル付きゾーンがサブジェクトのラベル付きゾーンと同等である必要があります。1 つのゾーンから別のゾーンへの書き込みトランザクションは許可されません。

実際には、読み取りや書き込みのトランザクションでのサブジェクトとオブジェクトは通常は同じラベルを持つので、完全に優位であるかどうかを気にする必要はありません。たとえば、TOP SECRET A のサブジェクトは、TOP SECRET A のオブジェクトを作成または変更できます。Trusted Extensions では、TOP SECRET A のオブジェクトは TOP SECRET A というラベルのゾーンにあります。

次の表は、米国政府のラベルおよび産業界のラベルでの優位性の関係を示しています。

表 1  Trusted Extensions のラベル関係の例
組織
ラベル 1
関係
ラベル 2
米国政府のラベル
TOP SECRET AB
ラベル 1 はラベル 2 より (完全に) 優位
SECRET A
TOP SECRET AB
ラベル 1 はラベル 2 より (完全に) 優位
SECRET A B
TOP SECRET AB
ラベル 1 はラベル 2 より (完全に) 優位
TOP SECRET A
TOP SECRET AB
ラベル 1 はラベル 2 より優位 (または同等)
TOP SECRET AB
TOP SECRET AB
無関係
TOP SECRET C
TOP SECRET AB
無関係
SECRET C
TOP SECRET AB
無関係
SECRET A B C
産業界のラベル
Confidential: Restricted
ラベル 1 はラベル 2 より優位
Confidential: Need to Know
Confidential: Restricted
ラベル 1 はラベル 2 より優位
Confidential: Internal Use Only
Confidential: Restricted
ラベル 1 はラベル 2 より優位
Public
Confidential: Need to Know
ラベル 1 はラベル 2 より優位
Confidential: Internal Use Only
Confidential: Need to Know
ラベル 1 はラベル 2 より優位
Public
Confidential: Internal
ラベル 1 はラベル 2 より優位
Public
Sandbox
無関係
その他すべてのラベル

ラベルの異なるファイル間で情報を転送するときに、ファイルのラベルを変更するように承認されている場合は Trusted Extensions に確認ダイアログボックスが表示されます。ユーザーが承認されていない場合、Trusted Extensions はトランザクションを許可しません。情報の昇格または降格をユーザーに承認できるのはセキュリティー管理者です。詳細は、トラステッドアクションの実行を参照してください。

データ保護のためのユーザーの責任

ユーザーには、アクセス権を設定して自分のファイルとディレクトリを保護する責任があります。アクセス権を設定するためにユーザーが実行できるアクションでは、任意アクセス制御 (DAC) と呼ばれるメカニズムが使用されます。ファイルとディレクトリのアクセス権の確認は、ls -l コマンドを使用するか、ファイルブラウザ (Chapter 3, Trusted Extensions での作業を参照) を使用して行います。

必須アクセス制御 (MAC) はシステムによって自動的に実施されます。ラベルの付いた情報を昇格または降格することを承認されているユーザーには、情報のレベルを変更する必要性が正当なものであることを保証する重大な責任があります。

データ保護のもう 1 つの側面は電子メールに関するものです。管理者から電子メールで受け取った指示には決して従わないでください。たとえば、電子メールで送られてきた指示に従ってパスワードを特定の値に変更すると、その電子メールの送り手があなたのアカウントにログインするのを許すことになってしまいます。特別の場合として、指示に従う前にその指示を別の手段で確認することができます。