離散数学

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

情報システムのアクセス制御ポリシーを題材に、命題論理の論理演算、真理値表の作成、および論理式の等価性判定を学びます。これにより、複雑なアクセス条件を正確に表現し、その妥当性を検証する能力を養います。

論理学

情報システムのアクセス制御ポリシーを題材に、命題論理の論理演算、真理値表の作成、および論理式の等価性判定を学びます。これにより、複雑なアクセス条件を正確に表現し、その妥当性を検証する能力を養います。

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

あなたは、社内情報システムにおける機密文書へのアクセス制御ポリシーの設計を担当しています。このシステムでは、以下の3つの条件に基づいて、ユーザーが機密文書にアクセスできるかどうかが決定されます。

  • A: ユーザーは「管理者グループ」に属している。
  • B: 現在は「営業時間内」である(午前9時〜午後5時)。
  • C: ユーザーは「特別許可グループ」に属している。

アクセスが許可されるポリシー Policy_X は、「ユーザーが管理者グループに属しており、かつ営業時間内である」か、または「ユーザーが特別許可グループに属している」場合に真となります。

以下の問いに答えなさい。

  1. 上記のアクセス制御ポリシー Policy_X を、命題変数 A, B, C を用いた論理式で表現しなさい。
  2. Policy_X の真理値表を作成しなさい。
  3. 以下の各ケースにおいて、機密文書へのアクセスが許可されるか否か(Policy_X が真か偽か)を判断しなさい。
    • ケース1: ユーザーは管理者グループに属しているが、現在は営業時間外であり、特別許可グループには属していない。
    • ケース2: ユーザーは管理者グループに属しておらず、現在は営業時間内であるが、特別許可グループには属している。
  4. Policy_X と論理的に等価な別の論理式 Policy_Y があります。その論理式は Policy_Y = (A OR C) AND (B OR C) です。真理値表を用いることで、Policy_XPolicy_Y が論理的に等価であることを示しなさい。
解答を見る
  1. ポリシー Policy_X の論理式表現 「ユーザーが管理者グループに属しており (A)、かつ営業時間内である (B)」は A AND B と表現されます。 「ユーザーが特別許可グループに属している (C)」は C と表現されます。 これらが「または」で結ばれているため、ポリシー Policy_X は以下の論理式で表現されます。

    Policy_X = (A AND B) OR C

  2. Policy_X の真理値表

    ABCA AND B(A AND B) OR C
    TTTTT
    TTFTT
    TFTFT
    TFFFF
    FTTFT
    FTFFF
    FFTFT
    FFFFF
  3. 各ケースにおけるアクセス可否の判断

    • ケース1: ユーザーは管理者グループに属している (A=T) が、現在は営業時間外 (B=F) であり、特別許可グループには属していない (C=F)。 真理値表の4行目 (A=T, B=F, C=F) に対応します。 この場合、(A AND B)(T AND F) となり F です。 したがって、Policy_X = F OR F となり F です。 結論: アクセスは許可されません。

    • ケース2: ユーザーは管理者グループに属しておらず (A=F)、現在は営業時間内 (B=T) であるが、特別許可グループには属している (C=T)。 真理値表の5行目 (A=F, B=T, C=T) に対応します。 この場合、(A AND B)(F AND T) となり F です。 したがって、Policy_X = F OR T となり T です。 結論: アクセスは許可されます。

  4. Policy_XPolicy_Y の論理的等価性の証明

    Policy_X = (A AND B) OR C Policy_Y = (A OR C) AND (B OR C)

    以下の真理値表を作成し、Policy_XPolicy_Y の列が完全に一致することを示します。

    ABCA AND BPolicy_X = (A AND B) OR CA OR CB OR CPolicy_Y = (A OR C) AND (B OR C)
    TTTTTTTT
    TTFTTTTT
    TFTFTTTT
    TFFFFTFF
    FTTFTTTT
    FTFFFFTF
    FFTFTTTT
    FFFFFFFF

    上記の真理値表から、Policy_X の列と Policy_Y の列がすべての行で一致していることが確認できます。 したがって、Policy_XPolicy_Y は論理的に等価です。これは、論理演算における分配法則の一つ (P AND Q) OR R ≡ (P OR R) AND (Q OR R) (または (R OR P) AND (R OR Q)) の具体例です。