情報システムにおけるアクセス制御ポリシーのブール代数による最適化
情報システムにおけるアクセス制御ポリシーをブール関数としてモデル化し、その論理式をブール代数の法則を用いて簡略化する問題です。これにより、複雑なアクセス条件を効率的に表現し、システムのロジックを最適化する基礎を養います。
ブール代数
情報システムにおけるアクセス制御ポリシーをブール関数としてモデル化し、その論理式をブール代数の法則を用いて簡略化する問題です。これにより、複雑なアクセス条件を効率的に表現し、システムのロジックを最適化する基礎を養います。
情報システムにおけるアクセス制御ポリシーのブール代数による最適化
ある情報システムでは、リソースへのアクセスを許可するかどうかを以下の3つの条件に基づいて決定します。
- $A$: ユーザーが「管理者」である (真理値が真の場合はアクセス許可の可能性あり)
- $B$: ユーザーが「特定のグループに所属」している (真理値が真の場合はアクセス許可の可能性あり)
- $C$: 現在時刻が「営業時間内」である (真理値が真の場合はアクセス許可の可能性あり)
現在のアクセス許可ポリシーは、以下の論理式 $F(A, B, C)$ で表されます。
$F(A, B, C) = (A \land C) \lor (\neg A \land B \land C) \lor (\neg A \land \neg B \land C)$
このポリシーは直感的ですが、より簡潔な形で表現できる可能性があります。ブール代数の法則を用いて、この論理式 $F(A, B, C)$ を最も簡単な形に簡略化してください。
質問:
- 与えられた論理式 $F(A, B, C)$ の真理値表を作成してください。
- ブール代数の法則(またはカルノー図)を用いて、論理式 $F(A, B, C)$ を最も簡単な形に簡略化し、その簡略化された論理式を示してください。
- 簡略化されたポリシーが元のポリシーと等価であることを、簡略化された論理式の真理値表を作成することで確認してください。
注:解答では、ブール代数の法則を用いた簡略化プロセスを明確に記述してください。カルノー図を用いる場合は、図と導出プロセスを記述してください。
解答を見る
1. 与えられた論理式 $F(A, B, C)$ の真理値表
$F(A, B, C) = (A \land C) \lor (\neg A \land B \land C) \lor (\neg A \land \neg B \land C)$
| $A$ | $B$ | $C$ | $\neg A$ | $A \land C$ | $\neg A \land B \land C$ | $\neg A \land \neg B \land C$ | $F(A, B, C)$ |
|---|---|---|---|---|---|---|---|
| F | F | F | T | F | F | F | F |
| F | F | T | T | F | F | T | T |
| F | T | F | T | F | F | F | F |
| F | T | T | T | F | T | F | T |
| T | F | F | F | F | F | F | F |
| T | F | T | F | T | F | F | T |
| T | T | F | F | F | F | F | F |
| T | T | T | F | T | F | F | T |
2. 論理式 $F(A, B, C)$ の簡略化
与えられた論理式は次の通りです。 $F(A, B, C) = (A \land C) \lor (\neg A \land B \land C) \lor (\neg A \land \neg B \land C)$
ブール代数の法則を用いて簡略化します。
-
まず、第2項と第3項に分配律を適用し、$ (\neg A \land C) $ でくくります。 $F(A, B, C) = (A \land C) \lor [(\neg A \land C) \land B] \lor [(\neg A \land C) \land \neg B]$ $F(A, B, C) = (A \land C) \lor [(\neg A \land C) \land (B \lor \neg B)]$
-
排中律 $ (B \lor \neg B) = \text{True} $ を適用します。 $F(A, B, C) = (A \land C) \lor [(\neg A \land C) \land \text{True}]$
-
恒等律 $ X \land \text{True} = X $ を適用します。 $F(A, B, C) = (A \land C) \lor (\neg A \land C)$
-
次に、この結果に再度分配律を適用し、$ C $ でくくります。 $F(A, B, C) = (A \lor \neg A) \land C$
-
排中律 $ (A \lor \neg A) = \text{True} $ を適用します。 $F(A, B, C) = \text{True} \land C$
-
恒等律 $ \text{True} \land X = X $ を適用します。 $F(A, B, C) = C$
したがって、簡略化された論理式は $C$ です。
(参考)カルノー図による簡略化
| $A \setminus BC$ | 00 (FF) | 01 (FT) | 11 (TT) | 10 (TF) |
|---|---|---|---|---|
| 0 ($\neg A$) | F | T | T | F |
| 1 ($A$) | F | T | T | F |
※ 各セルは $(A, B, C)$ の組合せにおける $F(A, B, C)$ の値を示します。
- $F(0,0,0) = F$
- $F(0,0,1) = T$
- $F(0,1,0) = F$
- $F(0,1,1) = T$
- $F(1,0,0) = F$
- $F(1,0,1) = T$
- $F(1,1,0) = F$
- $F(1,1,1) = T$
カルノー図を見ると、 $C=1$ (真) の列 (01と11) のすべてのセルがTになっています。これは $C$ の値のみに依存していることを示し、$C$ と簡略化できます。
3. 簡略化された論理式の真理値表と元のポリシーとの等価性の確認
簡略化された論理式は $C$ です。その真理値表は以下の通りです。
| $A$ | $B$ | $C$ | $C$ |
|---|---|---|---|
| F | F | F | F |
| F | F | T | T |
| F | T | F | F |
| F | T | T | T |
| T | F | F | F |
| T | F | T | T |
| T | T | F | F |
| T | T | T | T |
この真理値表は、質問1で作成した元の論理式 $F(A, B, C)$ の真理値表の最終列 $F(A, B, C)$ と完全に一致します。 したがって、簡略化されたポリシー $C$ は元のポリシーと等価であり、この情報システムのリソースへのアクセス許可は、単に「現在時刻が営業時間内である」という条件 $C$ のみに依存することが確認できました。