アクセス制御ポリシーの論理的分析と真理値表
情報システムにおけるアクセス制御ポリシーを命題論理でモデル化し、真理値表を用いて様々なシナリオでのアクセス可否を分析します。これにより、システムのセキュリティ設計における論理的な思考力を養います。
論理学
情報システムにおけるアクセス制御ポリシーを命題論理でモデル化し、真理値表を用いて様々なシナリオでのアクセス可否を分析します。これにより、システムのセキュリティ設計における論理的な思考力を養います。
アクセス制御ポリシーの論理的分析と真理値表
ある情報システムにおいて、リソースへのアクセスを制御するためのポリシーが以下のように定められています。このポリシーを論理的に分析し、具体的なシナリオでのアクセス可否を判断してください。
アクセス可否を決定する命題変数を以下のように定義します。
- $A$: ユーザーが管理者権限を持つ
- $B$: ユーザーが認証済みである
- $C$: アクセスが業務時間内である (例: 9:00-17:00)
システムへのアクセスは、以下のいずれかの条件を満たす場合に許可されます。
- ユーザーが管理者権限を持ち、かつ認証済みである。
- ユーザーが管理者権限を持たず(非管理者)、かつ認証済みであり、さらにアクセスが業務時間内である。
設問
(1) 上記のアクセス許可ポリシーを、命題変数 $A, B, C$ および論理演算子($\land, \lor, \neg$ など)を用いて一つの論理式 $P$ で表現しなさい。
(2) 論理式 $P$ の真理値表を作成しなさい。真理値表には、$A, B, C$ の全ての可能な組み合わせと、各部分式、および最終的な $P$ の真理値を含めてください。
(3) 以下のシナリオで、システムへのアクセスが許可されるかどうかを判断し、その理由を真理値表の該当行とともに説明しなさい。 * シナリオX: 管理者権限を持つユーザーが、認証されていない状態で業務時間外にアクセスしようとした。 * シナリオY: 非管理者ユーザーが、認証済み状態で業務時間内にアクセスしようとした。
解答を見る
(1) アクセス許可ポリシーの論理式表現
ポリシーの条件を個別に論理式に変換し、結合します。
-
条件1: 「ユーザーが管理者権限を持ち、かつ認証済みである」 これは $A \land B$ と表現できます。
-
条件2: 「ユーザーが管理者権限を持たず(非管理者)、かつ認証済みであり、さらにアクセスが業務時間内である」 これは $\neg A \land B \land C$ と表現できます。
システムへのアクセスは、上記いずれかの条件を満たす場合に許可されるため、これらを論理和($\lor$)で結合します。
したがって、ポリシー $P$ は以下の論理式で表現できます。 $P = (A \land B) \lor (\neg A \land B \land C)$
(2) 真理値表の作成
論理式 $P = (A \land B) \lor (\neg A \land B \land C)$ の真理値表を以下に示します。
| $A$ | $B$ | $C$ | $\neg A$ | $A \land B$ | $\neg A \land B \land C$ | $P = (A \land B) \lor (\neg A \land B \land C)$ |
|---|---|---|---|---|---|---|
| T | T | T | F | T | F | T |
| T | T | F | F | T | F | T |
| T | F | T | F | F | F | F |
| T | F | F | F | F | F | F |
| F | T | T | T | F | T | T |
| F | T | F | T | F | F | F |
| F | F | T | T | F | F | F |
| F | F | F | T | F | F | F |
(3) シナリオにおけるアクセス可否の判断
-
シナリオX: 管理者権限を持つユーザーが、認証されていない状態で業務時間外にアクセスしようとした。
- 命題変数の真偽値:
- $A$ (管理者権限を持つ): T (True)
- $B$ (認証済みである): F (False)
- $C$ (アクセスが業務時間内である): F (False)
- 真理値表の該当行は、$(A, B, C) = (T, F, F)$ の行です。
- この行を見ると、$P$ の真理値は F (False) となっています。
- 結論: アクセスは許可されません。
- 理由: 管理者権限を持つユーザーであっても、ポリシーにより認証が必須とされているため、認証されていない状態ではアクセスが拒否されます。
- 命題変数の真偽値:
-
シナリオY: 非管理者ユーザーが、認証済み状態で業務時間内にアクセスしようとした。
- 命題変数の真偽値:
- $A$ (管理者権限を持つ): F (False)
- $B$ (認証済みである): T (True)
- $C$ (アクセスが業務時間内である): T (True)
- 真理値表の該当行は、$(A, B, C) = (F, T, T)$ の行です。
- この行を見ると、$P$ の真理値は T (True) となっています。
- 結論: アクセスは許可されます。
- 理由: 非管理者ユーザーであっても、ポリシーで定められた条件(認証済みであり、かつ業務時間内であること)をすべて満たしているため、アクセスが許可されます。
- 命題変数の真偽値: