離散数学

情報システムにおけるアクセス制御ポリシーの論理的評価

情報システムにおけるアクセス制御ポリシーを論理式で表現し、特定の条件セットの下でのポリシーの評価結果を真理値表を用いて分析します。これにより、複雑なアクセス条件の論理的な解釈と設計の基礎を養います。

論理学

情報システムにおけるアクセス制御ポリシーを論理式で表現し、特定の条件セットの下でのポリシーの評価結果を真理値表を用いて分析します。これにより、複雑なアクセス条件の論理的な解釈と設計の基礎を養います。

情報システムにおけるアクセス制御ポリシーの論理的評価

ある情報システムにおいて、特定のデータリソースへのアクセス制御は以下の3つの条件に基づいています。

  • A: ユーザーがシステム管理者である(真 = 1, 偽 = 0)
  • B: アクセス要求が稼働時間内(午前9時から午後5時)に行われた(真 = 1, 偽 = 0)
  • C: ユーザーのIPアドレスが社内ネットワーク範囲内である(真 = 1, 偽 = 0)

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

  1. ユーザーがシステム管理者であり、かつアクセス要求が稼働時間内に行われた場合。
  2. ユーザーがシステム管理者ではないが、アクセス要求が稼働時間内に行われ、かつIPアドレスが社内ネットワーク範囲内である場合。

このアクセス制御ポリシーを論理式 $P$ で表現し、以下の問いに答えなさい。

(1) 上記のアクセス制御ポリシー $P$ を、命題変数 $A, B, C$ および論理演算子 ($\land, \lor, \neg$) を用いて論理式で表しなさい。

(2) このポリシー $P$ の真理値表を作成しなさい。

(3) 以下の状況において、アクセスは許可されるか(真 = 1)どうかを判断しなさい。 * 状況i: ユーザーはシステム管理者ではない、アクセス要求は稼働時間外、IPアドレスは社内ネットワーク範囲内 * 状況ii: ユーザーはシステム管理者である、アクセス要求は稼働時間内、IPアドレスは社内ネットワーク範囲外

解答を見る

解答と解説

(1) 論理式の表現

アクセスが許可される条件は以下の2つのケースのいずれかを満たすことです。

  • ケース1: ユーザーがシステム管理者($A$) であり、かつ稼働時間内($B$) にアクセス要求が行われた。 これは論理積で $A \land B$ と表現できます。
  • ケース2: ユーザーがシステム管理者ではない($\neg A$) が、稼働時間内($B$) にアクセス要求が行われ、かつIPアドレスが社内ネットワーク範囲内($C$) である。 これは論理積で $\neg A \land B \land C$ と表現できます。

これらのケースのいずれかを満たせばアクセスが許可されるため、これらを論理和で結合します。

したがって、ポリシー $P$ の論理式は次のようになります。 $P = (A \land B) \lor (\neg A \land B \land C)$

(2) 真理値表の作成

論理式 $P = (A \land B) \lor (\neg A \land B \land C)$ に基づいて真理値表を作成します。3つの変数 $A, B, C$ があるため、$2^3 = 8$通りの組み合わせがあります。

ABC$A \land B$$\neg A$$\neg A \land B \land C$P ($ (A \land B) \lor (\neg A \land B \land C) $)
0000100
0010100
0100100
0110111
1000000
1010000
1101001
1111001

(3) 特定の状況での判断

真理値表を用いて、それぞれの状況での $P$ の値を判断します。

  • 状況i: ユーザーはシステム管理者ではない(A=0)、アクセス要求は稼働時間外(B=0)、IPアドレスは社内ネットワーク範囲内(C=1) これは命題変数の組み合わせ (A, B, C) = (0, 0, 1) に対応します。 真理値表の該当行を見ると、P の値は 0 です。 したがって、この状況ではアクセスは許可されません

  • 状況ii: ユーザーはシステム管理者である(A=1)、アクセス要求は稼働時間内(B=1)、IPアドレスは社内ネットワーク範囲外(C=0) これは命題変数の組み合わせ (A, B, C) = (1, 1, 0) に対応します。 真理値表の該当行を見ると、$A \land B = 1$、$ \neg A \land B \land C = 0$ であり、P の値は $1 \lor 0 = \textbf{1}$ です。 したがって、この状況ではアクセスは許可されます


【補足】論理式の簡略化

ブール代数の法則を用いると、上記で導出した論理式 $P = (A \land B) \lor (\neg A \land B \land C)$ はさらに簡略化できます。

$P = (A \land B) \lor (\neg A \land B \land C)$ 共通の因子 $B$ で括ると(分配法則): $P = B \land (A \lor (\neg A \land C))$ さらに、内側の括弧 $(A \lor (\neg A \land C))$ に分配法則を適用すると: $P = B \land ((A \lor \neg A) \land (A \lor C))$ $A \lor \neg A$ は常に真(1)なので: $P = B \land (1 \land (A \lor C))$ $1 \land X$ は $X$ と等価なので: $P = B \land (A \lor C)$

この簡略化された論理式 $P = B \land (A \lor C)$ は、「アクセス要求が稼働時間内であり、かつ(ユーザーがシステム管理者であるか、またはIPアドレスが社内ネットワーク範囲内である)」という、より直感的に理解しやすいポリシーを表現しています。この簡略化された式で真理値表を作成しても、元の式と同じ結果が得られます。