コンパートメントモードワークステーションのラベル作成: エンコード形式

初期コンパートメントと初期マーキングを使用して、インバースコンパートメントビットとインバースマーキングビットを指定する

次に、インバースコンパートメントビットとインバースマーキングビットを指定するために、初期コンパートメントと初期マーキングを使用する方法について説明します。キーワード initial compartments と initial markings は、次に説明するよりも柔軟に使用することができますが、そのような使い方は、非常に慎重に検討し、目的のセキュリティーやラベルのプロパティーが表現されているかどうかを判断する必要があります。

ここでは、RELXX というインバース語句を使用して、インバースコンパートメントビットとインバースマーキングビットを指定する方法を説明します。RELXX は、語句に関連付けられたデータが XX にリリース可能であることを示しています。XX とは、国、加入組織または人を表します。

  1. 多くの場合、最下位の格付け (複数も可) を持つデータは常に制約なくリリースできます。したがって、最下位の格付けを持つラベルの内部形式では、あらゆる XX に対して、REL XX という語句が論理的に存在することになります。このような語句が存在するということは、関連するビットが 0 であることを意味しています。したがって、最下位の格付けでは、これらのインバースビットを初期コンパートメントや初期マーキングとして指定する必要はありません。

  2. 最下位より上位の格付けについては、通常、REL XX 語句に関連付けられるビットは 1 でなければなりません。なぜなら、これらの格付けを持つラベルのデータはリリースできないからです。したがって、インバースビットを持つ初期コンパートメントを指定するのであれば、最下位以外のあらゆる格付けについて、同じ初期コンパートメントを指定します。マーキングについても同様で、インバースビットを持つ初期マーキングを指定するのであれば、最下位以外のあらゆる格付けについて、同じマーキングを指定します。

  3. コンパートメントビットとマーキングビットを割り当てる際には、システムの一生を通して何個のインバースビットが必要になるかを慎重に決定しなければなりません。システムで使用する可能性のあるインバースビットは、たとえ、当初エンコーディングファイルに指定したマーキング語句に使用されないとしても、初期コンパートメントと初期マーキングで指定しておく必要があります。インバースビットの事前割り当てを行わない場合に生じる問題を次の例で説明します。マーキングビット 11 は、RELCNTRY3 を意味するインバースビットとしてエンコーディングされているとします (付録 B 「説明付きのエンコーディングサンプル」にも同様に指定されています)。さらに、これ以外のインバースマーキングビットは存在せず、マーキングビット 12 には意味が割り当てられていないとします。この場合、マーキングビット 11 が唯一のインバースマーキングビットであるため、初期マーキングビット指定は、次のようになります。

    initial markings= 11;

    このような条件のエンコーディングファイルを使用すると、値が 0 であるマーキングビット 12 や、ほかの未使用のビットの情報ラベルがシステム上に (バックアップテープにも) 多数格納されます。あとで、インバースマーキングビットの 12 やほかの未使用のビットを使用して RELCNTRY4 をエンコーディングすることが決定されると、以前からシステムに格納されているすべてのデータは、自動的に RELCNTRY4 と扱われます。これはマーキングビット 12 の値が 0 だからです。もちろん、システム上およびバックアップテープ上のそのようなデータのすべてが CNTRY4 にリリース可能ではないため、ラベルを作成し直す必要があります。したがって、システムのエンコーディングファイルを最初に読み込む際に、ある一定範囲のビットをインバースビットとして事前に割り当てておくのが最善です。これにより、ラベルを作成し直さなくても、事前に割り当てておいた未使用のインバースビットに意味を割り当てることができます。

なお、上記の説明は、インバースビットのもっとも簡単で一般的な使用方法を示しています。インバースビットにはもっと複雑な使用方法もあり、場合によってはそのような使用方法が必要なこともあります。例として、付録 B 「説明付きのエンコーディングサンプル」に示す仮のコードワード bravo4 を参照してください。