SAMLを使ったSSO
前回の勉強内容
シングルサインオンにはクッキーやリバースプロキシ、SAMLを使う方法があります。
シングルサインオンは、1度(single)の認証(sign on)で複数のシステムやサービスが使えるようになるので、「Single Sign On」、略してSSOです。
そんなSSOはいくつかの方法で実現されます。
シングルサインオンの説明のうち,適切なものはどれか。
エージェント方式 : Cookieを使うSSOの流れ
- ユーザのログイン時にWebサーバが認証サーバに接続して認証を行う。
- その認証情報をCookieに設定してユーザーに返す。
- 別のWebサーバにアクセスする時は、Webサーバが認証サーバにCookieの情報で認証を行う。
Cookieを使うSSOでは、サービスのWebサーバにエージェントというソフトウェアを設定する必要があります。
そのため「エージェント方式」といいます。
エージェント方式におけるSSO認証処理のシーケンスは,次のとおりである。
- PCからWebアプリケーションサーバに、サービス要求を行う。
- Webアプリケーションサーバ内のエージェントは、サービス要求中のCookieに認証済資格情報(以下、アクセスチケットという)が含まれているか確認する。含まれていなければ,サービス要求はSSOサーバヘ[ イ : リダイレクト ]される。
- SSOサーバからPCに、認証画面を送る。
- PCからSSOサーバに、UserIDとPasswordを送出する。
- SSOサーバは、UserIDとPasswordから利用者のアクセスの正当性を確認したら、アクセスチケットを発行して、Cookieに含めて応答を返す。サービス要求は、Webアプリケーションサーバヘ[ イ : リダイレクト ]される。
- Webアプリケーションサーバ内のエージェントは、SSOサーバにアクセスチケット確認要求を送り、SSOサーバは、確認して応答を返す。
- Webアプリケーションサーバは、6.の応答によって利用者のアクセスの正当性が確認できた場合、Webアプリケーション画面を送出する。
エージェント方式におけるSSO認証処理のシーケンスの1~7を図示すると,図2のようになる。
出典 : 平成27 年秋期 ネットワークスペシャリスト試験 午後Ⅰ
リバースプロキシを使うSSOの流れ
- リバースプロキシがアクセスしてきたユーザを認証する。
- リバースプロキシはWebサーバに代理アクセスし結果をユーザに返す。
SAMLは、認証情報を交換するためのマークアップ言語です。
安全(security)を判定(assertion)するためのマークアップ言語(markup language)ということで、「Security Assertion Markup Language」、略してSAML(サムル)です。
異なるインターネットドメイン間で認証情報を交換するためのXMLをベースにした規格です。
SAML(Security Assertion Markup Language)の説明として,最も適切なものはどれか。
- Webサービスに関する情報を公開し,それらが提供する機能などを検索可能にするための仕様
- 権限がない利用者による読取り,改ざんから電子メールを保護して送信するための仕様
- ディジタル署名に使われる鍵情報を効率よく管理するためのWebサービスの仕様
- 認証情報に加え,属性情報とアクセス制御情報を異なるドメインに伝達するためのWebのサービス仕様 << 正解
出典 : 令和2年 秋期 情報処理安全確保支援士試験 午前Ⅱ 問2
IdPは、認証情報を管理するサービスです。
認証する(identify)サービスを供給する(provider)ので、「Identify Provider」、略してIdPです。
使うサービスがたくさんあると、その分IDやらパスワードやらの認証情報を管理しなくてはならなくなります。
IdPが、ユーザとサービスの間を仲介してくれることで1つの認証情報でたくさんのサービスを使うことができます。
また、ユーザを管理する人も1か所で管理できるので、ユーザの追加や削除が楽になりますね。
SAMLを使うSSOの流れ
- ユーザがサービスに接続する
- サービスがSAML認証要求をユーザを経てIdPに送信する
- IdPの認証画面でユーザはログインすることで認証処理をする
- IdPがSAML認証応答をユーザ経てサービスに送信する(SAMLアサーション)
- ユーザがサービスにログインできる
シングルサインオンの実装方式の一つであるSAML認証の特徴はどれか。
- IdP(Identity Provider)がSP(Service Provider)の認証要求によって利用者認証を行い,認証成功後に発行されるアサーションをSPが検証し,問題がなければクライアントがSPにアクセスする。<< 正解
- Webサーバに導入されたエージェントが認証サーバと連携して利用者認証を行い,クライアントは認証成功後に利用者に発行されるcookieを使用してSPにアクセスする。
- 認証サーバはKerberosプロトコルを使って利用者認証を行い,クライアントは認証成功後に発行されるチケットを使用してSPにアクセスする。
- リバースプロキシで利用者認証が行われ,クライアントは認証成功後にリバースプロキシ経由でSPにアクセスする。
出典 : 令和3年 秋期 情報処理安全確保支援士 午前Ⅱ 問4
ぽんすけは、Chromeを使う時にChromeにログインしようとするとCloudGate UNOのログイン画面が表示されてログインするとChromeのアカウントにログインできます。
これは「CloudGate UNOというIdP」が「Google Workspaceというサービスプロバイダ」から認証要求を受けて「ぽんすけというクライアント」をSSOできるようにしているのです。
参考 : Google Workspace向けSSOサービス | CloudGate UNO(クラウドゲートウノ)