シングルサインオンとセッション管理
シングルサインオン(SSO)は、利用者が一度の認証を行うだけで複数のサービスを利用できるようにする仕組みである。実現には、認証結果をサービス間で安全に受け渡す規格と、認証後の利用状態を保つセッション管理の両方が必要になる。認証の連携とセッションの保護は別の論点であり、試験ではこの二つを分けて考えることが求められる。
認証情報を受け渡す規格
SAMLは、異なるインターネットドメイン間で利用者の認証情報や属性情報をやり取りし、シングルサインオンに利用するためのXMLベースの標準規格である。 ドメインをまたいで認証結果を伝える必要があるため、同一組織内のサーバだけで完結する仕組みとは前提が異なる。XMLはSGMLをインターネット向けに簡素化したマークアップ言語であり、SAMLはそのXMLを用いて認証情報を交換する規格であって、マークアップ言語そのものではない。
OAuthは、利用者の認可を受けた別のサーバが利用者に代わってリソースへアクセスする仕組みであり、認証情報を伝えるSAMLとは目的が異なる。 OpenID 2.0は、URLやXRIを利用者の識別子として用いる方式であり、SAMLの特徴として扱うと誤りになる。
集中認証の仕組み
リバースプロキシサーバでクライアント証明書による利用者認証を行うと、その背後にある複数のWebサーバに対してシングルサインオンを提供できる。 この方式では、利用者のPCはクライアント証明書をリバースプロキシサーバに提示する。認証を担うのはリバースプロキシサーバであり、認証済みの利用者IDなどを各Webサーバへ転送するのも同じサーバである。 利用者IDなどを各Webサーバへ直接送るのは利用者のPCではない点を取り違えないことが重要である。
この節の続き
- セッションの乗っ取りを防ぐ判断基準
- 重要情報の送信前の再認証
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む