離散数学

アクセス制御ポリシーの論理的分析と真理値表

情報システムにおけるアクセス制御ポリシーを命題論理でモデル化し、真理値表を用いて様々なシナリオでのアクセス可否を分析します。これにより、システムのセキュリティ設計における論理的な思考力を養います。

論理学

情報システムにおけるアクセス制御ポリシーを命題論理でモデル化し、真理値表を用いて様々なシナリオでのアクセス可否を分析します。これにより、システムのセキュリティ設計における論理的な思考力を養います。

アクセス制御ポリシーの論理的分析と真理値表

ある情報システムにおいて、リソースへのアクセスを制御するためのポリシーが以下のように定められています。このポリシーを論理的に分析し、具体的なシナリオでのアクセス可否を判断してください。

アクセス可否を決定する命題変数を以下のように定義します。

  • $A$: ユーザーが管理者権限を持つ
  • $B$: ユーザーが認証済みである
  • $C$: アクセスが業務時間内である (例: 9:00-17:00)

システムへのアクセスは、以下のいずれかの条件を満たす場合に許可されます。

  1. ユーザーが管理者権限を持ち、かつ認証済みである。
  2. ユーザーが管理者権限を持たず(非管理者)、かつ認証済みであり、さらにアクセスが業務時間内である。

設問

(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)$
TTTFTFT
TTFFTFT
TFTFFFF
TFFFFFF
FTTTFTT
FTFTFFF
FFTTFFF
FFFTFFF

(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) となっています。
    • 結論: アクセスは許可されます。
    • 理由: 非管理者ユーザーであっても、ポリシーで定められた条件(認証済みであり、かつ業務時間内であること)をすべて満たしているため、アクセスが許可されます。