pulpul 日本の試験

エンベデッドシステムスペシャリスト 概念書 · セキュリティ

シングルサインオンとセッション管理

シングルサインオン(SSO)は、利用者が一度の認証を行うだけで複数のサービスを利用できるようにする仕組みである。実現には、認証結果をサービス間で安全に受け渡す規格と、認証後の利用状態を保つセッション管理の両方が必要になる。認証の連携とセッションの保護は別の論点であり、試験ではこの二つを分けて考えることが求められる。

認証情報を受け渡す規格

SAMLは、異なるインターネットドメイン間で利用者の認証情報や属性情報をやり取りし、シングルサインオンに利用するためのXMLベースの標準規格である。 ドメインをまたいで認証結果を伝える必要があるため、同一組織内のサーバだけで完結する仕組みとは前提が異なる。XMLはSGMLをインターネット向けに簡素化したマークアップ言語であり、SAMLはそのXMLを用いて認証情報を交換する規格であって、マークアップ言語そのものではない。

OAuthは、利用者の認可を受けた別のサーバが利用者に代わってリソースへアクセスする仕組みであり、認証情報を伝えるSAMLとは目的が異なる。 OpenID 2.0は、URLやXRIを利用者の識別子として用いる方式であり、SAMLの特徴として扱うと誤りになる。

集中認証の仕組み

リバースプロキシサーバでクライアント証明書による利用者認証を行うと、その背後にある複数のWebサーバに対してシングルサインオンを提供できる。 この方式では、利用者のPCはクライアント証明書をリバースプロキシサーバに提示する。認証を担うのはリバースプロキシサーバであり、認証済みの利用者IDなどを各Webサーバへ転送するのも同じサーバである。 利用者IDなどを各Webサーバへ直接送るのは利用者のPCではない点を取り違えないことが重要である。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む