問題 24★★☆

社内の認証基盤(IdP)と複数のクラウドサービスを SAML で連携し、シングルサインオンを 導入する。利用者がクラウドサービスを使うときの認証の流れとして、最も適切なものはどれか。

正解:イ

各選択肢の解説

  1. アクラウドサービスが利用者のパスワードを受け取り、認証基盤へ転送して照合させる。

    誤り。これはクラウドサービス側でパスワードを受け取る方式です。どちらも「認証基盤で 照合する」点は同じなので混同しがちですが、SAMLでは利用者はクラウドサービスに パスワードを入力しません。パスワードがどこを通るかで見分けます。

  2. イ認証基盤が利用者を認証し、署名付きの認証結果をクラウドサービスへ渡す。

    正解。SAMLでは、認証基盤が本人を確かめ、署名付きの認証結果(アサーション)を 発行します。クラウドサービスは署名を検証してそれを信頼するので、パスワードを 受け取らずに済みます。

  3. ウ認証基盤のパスワードを各クラウドサービスへ同期し、各サービスで個別に照合する。

    誤り。これはパスワード同期で、同じパスワードを各サービスで使えるようにするだけです。 ログインは各サービスで行い、パスワードも各サービスが持つので、漏えいし得る場所が 増えます。認証を1か所に任せる連携とは別物です。

  4. エ一度入力したIDとパスワードを端末に保存し、各サービスの画面へ自動で入力する。

    誤り。これは代理認証(代行入力)方式で、シングルサインオンの実現方式の一つですが、 SAMLの連携ではありません。各サービスは従来どおりIDとパスワードで照合しており、 認証結果を受け渡す仕組みではないためです。

理解を深めるために

「本人確認は窓口に任せ、通行証だけを受け取る」

SAMLによるシングルサインオンは、大きな施設の受付にたとえられます。受付(認証基盤)で 一度だけ身分証を見せると、受付が押印した通行証をくれます。各部屋(クラウドサービス)は 通行証の印を確かめて通すだけで、身分証そのものは見ません。

この「印」が電子署名で、「通行証」がアサーション(認証結果の証明)です。

なぜパスワードを渡さずに済むのか

  • 利用者がクラウドサービスにアクセスすると、ブラウザが認証基盤(IdP)へ転送される
  • 認証基盤が本人を確かめ、署名付きのアサーションを発行する
  • アサーションはブラウザを経由してクラウドサービス(SP)へ届き、SPは署名を検証して受け入れる

パスワードを知っているのは認証基盤だけです。クラウドサービスが攻撃を受けても、 そこから社員のパスワードが漏れることはありません。退職者のIDを認証基盤で止めれば、 連携しているサービスにまとめて入れなくなるのも、組織にとっての利点です。

混同しやすいものとの違い

方式 パスワードを持つ場所 ログインの回数
SAMLによる連携 認証基盤だけ 1回
サービス側で受け取って転送 認証基盤(サービスも一時的に受け取る) サービスごと
パスワード同期 認証基盤と各サービス サービスごと
代理認証(代行入力) 各サービス(端末にも保存) 1回(入力を自動化)

「シングルサインオン」という言葉は方式を問わず使われます。SAMLのような ID連携(フェデレーション)かどうかは、サービス側がパスワードではなく認証結果を 受け取っているかで見分けます。

前の問題へ次の問題へ