Trusted Solaris は、実行されたセキュリティ関連のトランザクションすべてを仲介します。サブジェクトの機密ラベルはオブジェクトの機密ラベルと比較され、どちらのラベルが「優位である」か (次の表を参照) によって、トランザクションは許可または拒否されます。ある機密ラベルは、次の 2 つの条件が満たされていれば、もう 1 つの機密ラベルよりも「優位」だとみなされます。
機密ラベルの格付け部分が、もう 1 つの機密ラベルの格付けと同等であるか、それよりも重要度が高いとき
ラベルのコンパートメント部分がすべてもう 1 つのラベルに含まれているとき
2 つのラベルは、同じ格付けと同じコンパートメントのセットを持っていれば、「同等」だとみなされます。ラベルが同等であれば、どちらも優位であると言えるため、アクセスが許可されます。1 つめのラベルが 2 つめのラベルよりも高い格付けを持っていたり、2 つめのラベルと同じコンパートメントを持っている場合、またはその両方に該当する場合は、1 つめのラベルの方が 2 つめのラベルよりも「完全に優位」であると言えます。どちらのラベルにも優位度が付けられない場合は、これらのラベルは「無関係」または「比較不可能」とみなされます。
読み取りトランザクションでは、サブジェクトの機密ラベルの方がオブジェクトの機密ラベルよりも優位でなければなりません。この法則によって、サブジェクトの信頼性は、オブジェクトにアクセスするための条件を確実に満たすことになります。また、サブジェクトの機密ラベルには、オブジェクトへのアクセスが許可されたすべてのコンパートメントグループが含まれることになります。
書き込みトランザクション、すなわち、サブジェクトによってオブジェクトが作成または変更された場合は、結果としてオブジェクトの機密ラベルの方がサブジェクトのラベルよりも優位になる必要があります。この法則によって、サブジェクトがオブジェクトの機密ラベルを降格させるようなことはなくなります。
必須アクセス制御の権限の方向を示すのに、WURD (Write Up Read Down: 「上位書き込み下位読み取り」) という頭文字を使用することがあります。しかし実際には、読み取りの場合も書き込みの場合も、トランザクションのサブジェクトとオブジェクトは通常同じ機密ラベルを持っているので、完全に優位であるかどうかを気にする必要はありません。
表 1-1 ラベル関係の例
ラベル 1 |
関係 |
ラベル 2 |
---|---|---|
TOP SECRET A B |
ラベル 1 はラベル 2 より (完全に) 優位 |
SECRET A |
TOP SECRET A B |
ラベル 1 はラベル 2 より (完全に) 優位 |
SECRET A B |
TOP SECRET A B |
ラベル 1 はラベル 2 より (完全に) 優位 |
TOP SECRET A |
TOP SECRET A B |
ラベル 1 はラベル 2 より優位 (または同等) |
TOP SECRET A B |
TOP SECRET A B |
無関係 |
TOP SECRET C |
TOP SECRET A B |
無関係 |
SECRET C |
TOP SECRET A B |
無関係 |
SECRET A B C |
機密ラベルの異なるファイル間でドラッグ&ドロップまたはコピー&ペーストを行うと、機密ラベルの変更権限がある場合は、確認のダイアログボックスが表示されます。変更権限がない場合は、トランザクションが中断されます。ダイアログボックスでは、宛先のラベルの昇格を受け入れたり (特別な承認がある場合)、宛先の機密ラベルをそのまま保持できるように情報を降格したり、トランザクションをすべてキャンセルすることができます。