アイデンティティ連携(OpenID Connect、SAML)

更新日:

用語解説

アイデンティティ連携(OpenID Connect、SAML)は、利用者を認証する側とサービスを提供する側の間で、認証の結果や属性を安全に受け渡し、複数のサービスで同じIDを使えるようにする仕組みです。

■ 試験で押さえるポイント

  • SAMLでは、IdPが利用者を認証し、その結果をSAMLアサーションとしてサービス(SP)に渡します。

  • OpenID Connectは、OAuth 2.0を基にした認証の仕組みで、IDトークンで認証の結果を伝えます。

  • 受け取った側は、発行者、宛先、署名、有効期限を検証します。

■ 過去問での着眼点

OAuth 2.0は認可、OpenID Connectは認証と、役割を区別します。

例: 社内のIdPで多要素認証を行えば、クラウドサービスにパスワードを入力せずにログインできます(シングルサインオン)。

■ 認証応答の宛先・時刻・再利用の検証

  • OIDCのID Tokenは署名に加え、issが予定の発行者、audが自分のクライアント、expが期限内かを検証する。nonceを認証要求に付けた場合は、その値との一致も検証する。JWTをデコードできるだけでは検証にならない。

  • SAMLでは信頼するIdPの鍵で署名を検証し、Audience、Recipient、有効期間、開始した要求との対応を確認する。SP起点の応答はInResponseToと未処理の要求を照合し、受理済みの応答の再利用を防ぐ。

  • SP起点とIdP起点では要求との対応付け条件が異なるため、使うプロファイルを明確にする。署名済みでも別サービス向けの応答や古い応答は、そのまま受け入れない。

  • IdPのアカウント停止だけでSPの既存セッションが即時終了するとは限らない。IdP・SP両側の失効、セッション寿命、署名鍵更新時の信頼設定を確認する。

音声で聞く

同じ分野の用語