認証コンテキスト処理(SAML 2.0)

目次
casso11jp
目次
2
認証コンテキスト
は、アイデンティティ プロバイダでのユーザの認証方法を示します。アイデンティティ プロバイダは、サービス プロバイダのリクエストで、またはアイデンティティ プロバイダの設定に基づいて、認証コンテキストをアサーションに含めます。サービス プロバイダは、リソースへのアクセス権を付与する前にアサーションの信頼性を確立するために認証プロセスに関する情報を必要とする場合があります。
認証コンテキストの要求
Single Sign-On
サービス プロバイダは、アイデンティティ プロバイダへの認証リクエストに <RequestedAuthnContext> 要素を含めることによって、認証コンテキストをリクエストします。この要素を含めることは、SP から IdP へのパートナーシップの環境設定に基づいています。
認証コンテキストの取得
Single Sign-On
アイデンティティ プロバイダは、以下の 2 つの方法のいずれかで、ユーザの認証コンテキストを取得します。
  • IdP から SP へのパートナーシップ設定で静的 AuthnContext URI を指定します。
    AuthnContext リクエストをサポートしない
    Single Sign-On
    サービス プロバイダと通信している場合は、URI を手動で入力します。
  • AuthnContext URI は設定された認証コンテキスト テンプレートを使用して動的に決定します。
    ポリシー サーバは、認証コンテキスト URI を
    Single Sign-On
    認証レベルにマッピングします。認証レベルは、確立されたユーザ セッションの認証コンテキストの強度を示します。レベルにより、認証コンテキストをアイデンティティ プロバイダのユーザ セッションから導出できるようになります。
    アイデンティティ プロバイダはリクエストを受信すると、<RequestedAuthnContext> 要素の値を認証コンテキストと比較します。この比較は、サービス プロバイダからのリクエストで送信された比較値に基づいています。比較が成功した場合、アイデンティティ プロバイダはサービス プロバイダに返すアサーションに認証コンテキストを含めます。検証が設定されている場合、サービス プロバイダはリクエストした値を持つ受信認証コンテキストを検証します。
IdP によって開始される SSO の認証コンテキスト処理
シングル サインオンが IdP で開始される場合、認証コンテキスト処理では以下の手順に従います。
  1. ユーザ リクエストは IdP でシングル サインオンをトリガします。
  2. ユーザは認証されて、ユーザ セッションが生成されます。認証方式で設定された保護レベルがセッションと関連付けられます。
  3. IdP の認証コンテキスト設定に応じて、以下の
    いずれか
    の状態が発生します。
    • 自動検出が行われます。
      設定された認証コンテキスト テンプレートに基づいて、AuthnContext クラスはセッションの保護レベルにマッピングされます。
    • 事前定義済み認証クラスが使用されます。
      指定するハードコードされた URI がアサーションに追加されます。
  4. IdP はアサーションを生成して認証コンテキストを追加します。その後、アサーションは SP に送信されます。
  5. SP では、そのアサーションの認証コンテキスト クラスと SP で設定された認証コンテキスト クラスの間で別の比較が行われます。この比較が成功すると、認証トランザクションは完了です。
SP によって開始される SSO の認証コンテキスト処理
シングル サインオンが SP で開始される場合、認証コンテキスト処理では以下の手順に従います。
  1. SP は、<RequestedAuthnContext> 要素および比較演算子を含む認証リクエストを送信します。要素は SP から IdP へのパートナーシップの設定に基づいて含まれています。
  2. IdP がリクエストを受信すると、IdP はユーザを認証し、ユーザ セッションが生成されます。認証方式用の保護レベルがセッションと関連付けられます。
  3. IdP の認証コンテキスト設定に応じて、以下の
    いずれか
    の状態が発生します。
    • 自動検出が発生する
      設定された認証コンテキスト テンプレートに基づいて、AuthnContext クラスはセッションの保護レベルにマッピングされます。
    • 事前定義済み認証クラスが使用される
      指定するハードコードされた URI がアサーションに追加されます。
  4. IdP は、AuthnContext をユーザ セッションの認証クラスと比較します。この比較は、リクエストで送信される比較演算子に基づいています。各比較演算子が処理に及ぼす影響の例については、この手順に続く表を参照してください。
    SP が複数の認証コンテキスト URI をリクエストに含める場合、クラスは一つずつ順番にセッションのコンテキストと比較されます。最初に比較が成功した時点で、IdP はセッション認証コンテキストをアサーションに追加します。
  5. 比較が成功すると、認証コンテキストが SP に送信されるアサーションに追加されます。
    比較が成功しない場合、トランザクションは「noauthncontext」ステータス レスポンスで終了します。
  6. SP では、アサーションの認証コンテキストと SP で設定された認証コンテキストの間で次の比較が行われます。この比較が成功すると、認証トランザクションは完了です。
以下の表では、認証コンテキスト リクエストで送信される比較属性に応じて、認証コンテキストが処理される例を示します。
SP によって要求される認証コンテキスト
比較属性値
IdP によって設定される認証コンテキスト
Status Response
Password
exact
InternetProtocol
NoAuthnContext
Password
minimum
InternetProtocol
NoAuthnContext
Password
better
InternetProtocol
NoAuthnContext
InternetProtocol
exact
InternetProtocol
[Success]
InternetProtocol
minimum
InternetProtocol
[Success]
InternetProtocol
maximum
InternetProtocol
[Success]
InternetProtocol
maximum
Password
NoAuthnContext
InternetProtocol
better
Password
[Success]