離散数学

情報システムにおける認証ロジックの論理分析

情報システムにおけるユーザー認証ロジックやアクセス制御ポリシーを論理学の観点から分析し、特定の条件における真偽を評価する問題です。これにより、システム設計における論理的思考と正確な仕様記述の重要性を理解します。

論理学

情報システムにおけるユーザー認証ロジックやアクセス制御ポリシーを論理学の観点から分析し、特定の条件における真偽を評価する問題です。これにより、システム設計における論理的思考と正確な仕様記述の重要性を理解します。

情報システムにおける認証ロジックの論理分析

ある情報システムでは、ユーザーのアクセス認証に複数の条件を組み合わせています。以下の命題を用いて、認証ポリシーを論理式で表現し、特定のシナリオにおける認証の可否を判断してください。

命題:

  • $P$: ユーザーは有効なIDを持っている。
  • $Q$: ユーザーは正しいパスワードを入力した。
  • $R$: ユーザーは多要素認証(MFA)を完了した。
  • $S$: ユーザーは管理者権限を持つ。

認証ポリシーA: 「ユーザーがアクセスを許可されるのは、有効なIDを持ち、かつ正しいパスワードを入力した場合のみである。ただし、管理者はMFAを完了していなくてもアクセスできる。」 (これは、有効なIDと正しいパスワードが必須であり、その上でMFAを完了しているか、または管理者権限を持っているかのいずれかを満たす、と解釈してください。)

認証ポリシーB: 「ユーザーが特定の機密データにアクセスするためには、有効なIDと正しいパスワードの両方が必須であり、さらに管理者権限を持っているか、またはMFAを完了しているかのどちらかを満たさなければならない。」

設問:

  1. 認証ポリシーAを論理式で表現してください。
  2. 以下のシナリオにおいて、認証ポリシーAに基づくアクセス可否を判断し、その理由を論理式の真理値を用いて説明してください。
    • シナリオ1: ユーザーは有効なIDを持ち、正しいパスワードを入力したが、MFAは未完了であり、管理者権限も持たない。
    • シナリオ2: ユーザーは有効なIDを持ち、正しいパスワードを入力し、MFAは未完了であるが、管理者権限を持つ。
  3. 認証ポリシーBを論理式で表現してください。
  4. 以下のシナリオにおいて、認証ポリシーBに基づくアクセス可否を判断し、その理由を論理式の真理値を用いて説明してください。
    • シナリオ3: ユーザーは有効なIDを持ち、正しいパスワードを入力し、MFAを完了したが、管理者権限は持たない。
    • シナリオ4: ユーザーは有効なIDを持つが、パスワードが間違っており、MFAは未完了であるが、管理者権限を持つ。
解答を見る

命題の定義:

  • $P$: ユーザーは有効なIDを持っている。
  • $Q$: ユーザーは正しいパスワードを入力した。
  • $R$: ユーザーは多要素認証(MFA)を完了した。
  • $S$: ユーザーは管理者権限を持つ。

1. 認証ポリシーAを論理式で表現

認証ポリシーAは、「有効なID ($P$) を持ち、かつ正しいパスワード ($Q$) を入力した場合のみアクセスを許可される。ただし、管理者はMFAを完了していなくてもアクセスできる」とあります。これは、$P$ と $Q$ が必須条件であり、その上で $R$ または $S$ のいずれかを満たす、と解釈できます。

したがって、認証ポリシーAを表現する論理式 $A_{access}$ は以下のようになります。 $A_{access} \iff P \land Q \land (R \lor S)$

2. 認証ポリシーAに基づくアクセス可否の判断

論理式: $P \land Q \land (R \lor S)$

  • シナリオ1: ユーザーは有効なIDを持ち ($P=\text{True}$)、正しいパスワードを入力したが ($Q=\text{True}$)、MFAは未完了であり ($R=\text{False}$)、管理者権限も持たない ($S=\text{False}$)。 このシナリオを論理式に代入すると: $A_{access} = \text{True} \land \text{True} \land (\text{False} \lor \text{False})$ $A_{access} = \text{True} \land \text{True} \land \text{False}$ $A_{access} = \text{False}$ アクセス可否: アクセス不可。 理由: $P$ と $Q$ は真ですが、$R$ も $S$ も偽であるため $(R \lor S)$ が偽となり、全体の論理式が偽となるからです。

  • シナリオ2: ユーザーは有効なIDを持ち ($P=\text{True}$)、正しいパスワードを入力し ($Q=\text{True}$)、MFAは未完了であるが ($R=\text{False}$)、管理者権限を持つ ($S=\text{True}$)。 このシナリオを論理式に代入すると: $A_{access} = \text{True} \land \text{True} \land (\text{False} \lor \text{True})$ $A_{access} = \text{True} \land \text{True} \land \text{True}$ $A_{access} = \text{True}$ アクセス可否: アクセス可能。 理由: $P$ と $Q$ は真であり、MFAは未完了ですが管理者権限を持つため $(R \lor S)$ が真となり、全体の論理式が真となるからです。

3. 認証ポリシーBを論理式で表現

認証ポリシーBは、「有効なID ($P$) と正しいパスワード ($Q$) の両方が必須であり、さらに管理者権限 ($S$) を持っているか、またはMFAを完了 ($R$) しているかのどちらかを満たさなければならない」と明確に述べられています。

したがって、認証ポリシーBを表現する論理式 $B_{access}$ は以下のようになります。 $B_{access} \iff (P \land Q) \land (S \lor R)$ (これは認証ポリシーAと同じ論理式となりますが、問題文の解釈に従います。)

4. 認証ポリシーBに基づくアクセス可否の判断

論理式: $(P \land Q) \land (S \lor R)$

  • シナリオ3: ユーザーは有効なIDを持ち ($P=\text{True}$)、正しいパスワードを入力し ($Q=\text{True}$)、MFAを完了したが ($R=\text{True}$)、管理者権限は持たない ($S=\text{False}$)。 このシナリオを論理式に代入すると: $B_{access} = (\text{True} \land \text{True}) \land (\text{False} \lor \text{True})$ $B_{access} = \text{True} \land \text{True}$ $B_{access} = \text{True}$ アクセス可否: アクセス可能。 理由: 有効なIDと正しいパスワードがあり ($P \land Q$ が真)、かつMFAを完了しているため ($S \lor R$ が真)、全体の論理式が真となるからです。

  • シナリオ4: ユーザーは有効なIDを持つが ($P=\text{True}$)、パスワードが間違っており ($Q=\text{False}$)、MFAは未完了であるが ($R=\text{False}$)、管理者権限を持つ ($S=\text{True}$)。 このシナリオを論理式に代入すると: $B_{access} = (\text{True} \land \text{False}) \land (\text{False} \lor \text{True})$ $B_{access} = \text{False} \land \text{True}$ $B_{access} = \text{False}$ アクセス可否: アクセス不可。 理由: 有効なIDは持ちますが、パスワードが間違っているため ($P \land Q$ が偽)、全体の論理式が偽となるからです。