LinuCレベル3 セキュリティスペシャリスト 認証・認可 問6
認証・認可/Keycloak による認証認可シングルサインオンの実装方式に関する説明として、正しいものをすべて選べ。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「認証・認可」に対応。実際の試験問題ではありません)
- AOAuth 2.0のアクセストークンは利用者の本人確認の結果を示すものと仕様上定義されており、それ単体でログインに使える
- BOpenID ConnectはOAuth 2.0の上に認証の層を加えた仕様で、利用者の認証結果をJWT形式のIDトークンで受け渡す
- CSAMLでは、IdPが発行するXML形式のアサーションに認証結果や属性を載せ、ブラウザを経由してSPへ届ける
- D代理認証方式では、IdPが発行したトークンを各アプリが検証するため、アプリ側にSAMLやOIDCへの対応が必要になる
正解:B、C
解説
シングルサインオンの実装方式は、標準プロトコルで認証結果を連携するフェデレーション系と、リバースプロキシ方式や代理認証方式のようにアプリの手前や利用者側で認証を肩代わりする方式に大別されます。OAuth 2.0は本来、リソースへのアクセスを委譲する認可の仕組みで、アクセストークンは本人確認の結果を表すものとして定義されていません。これに認証の層を加えたのがOpenID Connectで、IDトークン(JWT)で認証結果を伝えます。SAMLはXML形式のアサーションを使うフェデレーションの仕様です。代理認証方式は利用者側のエージェント等がIDとパスワードを代わりに入力する方式で、アプリの改修を必要としません。
選択肢ごとの解説
- A誤り。OAuth 2.0は認可のための仕様で、アクセストークンは利用者の本人確認の結果を表すものとして定義されていません。認証にはOpenID Connectを使います。
- B正しい。OpenID ConnectはOAuth 2.0を拡張して認証を扱えるようにした仕様で、認証結果をJWT形式のIDトークンで伝えます。
- C正しい。SAMLではIdPが署名付きのXMLアサーションを発行し、ブラウザのリダイレクトやPOSTを通じてSPへ渡します。
- D誤り。これはフェデレーション系の説明です。代理認証方式は利用者側のエージェント等がIDとパスワードを代わりに入力するため、アプリの改修が不要です。