強力なSSOを実現するXML認証・認可サービス(SAML)Webサービスのセキュリティ(4)(1/2 ページ)

» 2002年10月02日 00時00分 公開
[鈴木優一エントラストジャパン]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。


 1 WebWeb2 XMLXMLXMLXML3 XMLXMLXKMSXMLSOAP

 SSOSAMLSecurity Assertion Markup LanguageSAMLWebSSOLiberty Alliance.NET PassportSAMLXACMLeXtensible Access Control Markup LanguageSAMLXACMLPKIPMIPrivilege Management Infrastructure

 SAMLSAMLSOAPHTTP

SAMLの特徴


 WebIDWeb便WebWebSSO便

 SSO使SSOSAMLSSOLibertyPassportSSO

 WebWebWebWeb

 SSO使

 SAMLSAML1SSOWebSAMLAuthentication Assertion21Authorization Assertion1Authorization Decision Assertion

 SAMLPKIID使SAMLPKISSOSAMLXACML

 SAML1SSOSAMLSSOLiberty Alliance

 SAML 1.0OASISOrganization for the Advancement of Structured Information Standards20025稿SAML使SAML

SAML 1.0(XML Security Assertion Markup Language)

http://www.oasis-open.org/committees/security/#documents

 - SAMLのAssertionsのスキーマと要求/応答プロトコルを定めた仕様

  ・ Assertion Achema[SAML-.Xsd]

  ・ Protocol Schema[SAMLP-.Xsd]

 - SAMLをSOAPとHTTPにバインドする仕組みとSSOプロファイルの規定

 - SAMLのセキュリティ要件を考察したもの

 - SAMLの相互運用性を確保するために適合性要件をまとめたもの

 - SAMLで用いる用語の定義

表1 SAML 1.0の仕様

SAML

 使SAMLSAMLGlossaryPKI 

Assertion

SAMLPKI

・オーソリティ(Authority)


 3

PKICACertification AuthoritySubjectIdentityKerberosPKI

X.509AAAttribute Authority 

Authentication AuthorityPKICACA 

Attribute Authority

Policy Decision PointPDPPEPPolicy

・ポリシー実行点(Policy Enforcement Point:PEP)

PDPの証明に従ってアクセス制御を実行しその結果を返すところ。


SAMLのモデル

 SAMLはセキュリティ情報交換のためのXMLベースのフレームワークであり、要求と応答のプロトコルと応答に含まれるアサーションの構文仕様を定めたものである。このセキュリティ情報は対象とする主体(Subject:人またはコンピュータ)のあるセキュリティドメインにおける認証情報や属性情報や認可情報をアサーションの形式で表現する。SAMLオーソリティには以下の3つがあり、要求者の問い合わせに対して、以下の提供を行う。

  • 認証オーソリティは認証情報の再利用(SSO)を可能にする「認証アサーション」を提供する
  • 属性オーソリティはポリシーに定めた資格や役職などの「属性アサーション」を提供する
  • 認可決定オーソリティはポリシーで定めた規則に従った「認可決定アサーション」を提供する

 アサーションの提供を受けた要求者は、これらのアサーションをそれぞれのポリシーを実行するアプリケーション(PEP:Policy Enforcement Point)に渡して要求を実行する。すなわち、以下のような行動を行う。

  • 本人性(Identity)を認証し、指定したWebサイトにアクセスさせる
  • 本人の資格属性によって特定のページへのアクセスを許可する
  • 本人の認可権限によって特定の資源へのアクセス(読み、書き、実行など)をさせる

 図1にSAMLのフレームワークを示す。図に示すようにSystem Entity(主体のクライアントまたはクライアントからアクセス要求を受けたサーバ)は、以下のような手順で実行する。



(一)SAML SAML
PKIAuthentication Assertion

(二)PDPPolicy Decision Point
沿PDPPDPPEP沿Web 

図1 SAMLフレームワーク 図1 SAMLフレームワーク

 13SAMLSSO

SAMLPKI

SAMLKerberosPKISAMLPKISAMLAssertionIdentitySAMLXKMS使SAMLPKI使



PKISAMLPKIPMI 

SAMLの利用例


 SAMLSSO使RoleRuleSAMLOASIS Security Service Use Case and Requirements

1SSO

 SSO2WebWebStep1WebStep2
図2 シングルサインオン・モデル 図2 シングルサインオン・モデル

 SSOにはSAMLを用いると以下の2つのモデル(PullモデルとPushモデル)が考えられる。Pullモデルはアクセス要求を受けたサイトが主体の認証情報をオーソリティに問い合わせるモデルであり、Pushモデルは要求者の依頼でオーソリティがアクセス予定のサイトに認証情報を事前に伝えるモデルである。例えていえば、Pullモデルは知らないユーザーがeコマースに購入要求してきたら、eコマースサイトはこのユーザーが本当に正しい権限を持っているかをクレジット会社に問い合わせるもので、Pushモデルは問い合わせユーザーの認証情報をクレジット会社が事前にeコマースサイトに知らせておく形式である。このほかPKIの第三者認証方式も用いられる。

・ SSO Pullモデル

 Pullモデルでは、図3に示すようなSSO認証の手順を取る。

  1. Webユーザーがクレデンシャル(パスワードまたは公開鍵または認証の参照先)を示す。
  2. ソースWebサイトで認証を受ける。
  3. 目的Webサイトにアクセスする。
  4. 目的WebサイトはWebユーザーの認証情報をソースWebサイトに問い合わせる。
  5. 認証アサーションを引き出す(Pull)。
  6. その後Webユーザーは目的Webサイトの資源を利用できるようになる。
図3 SSO Pullモデル 図3 SSO Pullモデル

・SSO Pushモデル

 SSO PushモデルではPullモデルと違って、図4に示すような手順を取る。

  1. WebユーザーがソースWebサイトへ認証と目的Webサイトへのリンク要求を出す。
  2. ソースWebサイトはWebユーザーのために目的Webサイトへアクセス権限を証明するアサーションを出す(Push)。
  3. 目的Webサイトはアクセスを許可したソースWebサイトへアクセス決定の参照先を提供する。
  4. ソースWebサイトはWebユーザーに決定の参照先を提供し、目的Webサイトへのリダイレクトを促す。
  5. Webユーザーは認証決定の参照を提示し目的Webサイトにアクセス要求を出す。
  6. 目的Webサイトは資源へのアクセスを提供する。
図4 SSO Pushモデル 図4 SSO Pushモデル

(2)認可サービス

 アクセス制御サービスのモデルを図5に示す。基本的に2つのステップを必要とする。

  1. Webユーザーはアクセス制御を実行するWebサイトのPEP(Policy Enforcement Point)へアクセスを要求する。
  2. PEPはPDPに問い合わせ、Webユーザーのアクセス権限をチェックし、資源へのアクセス制御を実行する。
図5 アクセス制御サービス 図5 アクセス制御サービス



 61WebWebWeb

 SAMLPEP
図6 アクセス制御の手順 図6 アクセス制御の手順

第3回」へ

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。