J-SaaS - Kantara Initiative

J-SaaSにおけるSAML2.0の適用
平成21年11月6日
NTTソフトウェア株式会社
モバイル&セキュリティ・ソリューション事業グループ
永野 一郎
Copyright© 2009, NTT Software Corporation All rights reserved
目次
1.J-SaaSについて
2.J-SaaSにおける認証機能
3.J-SaaSへのSAML2.0の適用
4.まとめ
※本資料に表記した会社名、商品名、サービス名は、各社の商標または登録商標です。
本文中および図中では、TM、(R) マークは表記しておりません。
2
Copyright© 2009, NTT Software Corporation All rights reserved
1.J-SaaSについて
3
Copyright© 2009, NTT Software Corporation All rights reserved
1.1 J-SaaSとは
J-SaaSとは?
経済産業省が推進するプロジェクト
「中小企業向けSaaS活用基盤整備事業」により構
築されたSaaS活用型サービス
目的
中小企業のIT化支援および電子申請の活用を図る
ため、財務会計・経理・給与計算等の様々なサービ
スをワンストップで利用できる仕組みを提供すること
特徴
① SaaSの活用により、簡単に安心して利用できる
環境を素早く提供できる
② 税理士、ITコーディネータ等の専門家によるサポ
ートを提供している
③ 利用状況に応じ、民間事業者によるサービス継
続の形態へ移行する予定
詳細は http://www.j-saas.co.jp 及び http://www.j-saaskensyu.jp/ を参照
4
Copyright© 2009, NTT Software Corporation All rights reserved
1.2 経緯
主要なできごと
3/31 サービス開始
18事業者、24サービス
H21
6/25 経済産業省の定める
「SaaS向けSLAガイドライン」に準拠
11月現在、
24事業者、32サービスまで拡大
H22
(予定)
民間企業による基盤運営の継続
※その他、J-SaaSの普及や情報提供、実機操作を目
的として中小企業等に対して行われているJ-SaaS研
修には、H21/10時点で13000名を超える利用者が受
講されています。
5
Copyright© 2009, NTT Software Corporation All rights reserved
1.3 登場人物
中小企業事業者の
IT化をサポート
サービス事業者
SaaS型サービス
操作指導員等
中小企業事業者の
会計業務等をサポート
サービス事業者
サービス事業者
税理士等
基盤事業者
中小企業事業者
中小企業事業者
利用申込、サービス購
入、課金、データ連携、
ポータル機能等
中小企業事業者
サービス
利用料の
徴収
収納代行事業者
6
Copyright© 2009, NTT Software Corporation All rights reserved
1.4 システムイメージ
サービス
独自のインフラを利用
するサービス群(ポータ
ル機能と連携)
税務専門家等
サービス利用者
サービス
各社データセンター
サービス
PCにダウンロードし
て利用するサービス
(ポータル機能と連携)
中小企業事業者
サービス
基盤
インターネット
ポータル,SSO,
ユーザ管理、
課金、決済
J-SaaS
J-SaaS
のサービ
スインフ
ラを利用
するサー
ビス群
サービス
データセンター
7
Copyright© 2009, NTT Software Corporation All rights reserved
1.5 基盤機能
J-SaaSの基盤は、事業者等のサービスに対し以下の機能を提供しています。
基盤の役割
提供機能
EC
サービスの検索、ライセンス販売
ポータル
周知、情報提供、利用申し込み
利用者の管理、利用サービスの管理
課金・請求
利用料金の管理、決済手段に応じたとりまとめ
SSO
ユーザ認証、各サービスへのシングルサインオン(認証連携)
データ連携
サービス間のデータ交換、基盤からサービスへの利用者・ライ
センス情報の提供
収納代行
利用者への請求・入金管理
8
Copyright© 2009, NTT Software Corporation All rights reserved
2.J-SaaSにおける認証機能
9
Copyright© 2009, NTT Software Corporation All rights reserved
2.1 J-SaaSの認証機能の特徴
機能
概要
シングルサインオン
 サービスはシングルサインオンの連携を必須とする。
 利用者が基盤のIDを用いて基盤にログインした後は、任意のサービスを個別のロ
グインなしで利用できる。
ID情報管理
 企業/利用者IDの登録、ライセンス管理などSaaS独特の機能は基盤で提供する。
 IDの連携はシステムによる連携と手作業による連携の2種類を用意。
 既に存在するIDはそのまま利用可能とする。
アグリゲーション
中小企業事業者サポートのため、税理士等がエンドユーザに成り代わって操作を代
行することができる。
認証手段
 エンドユーザは利便性を考慮してIDとパスワードによる認証を行う。
 一方、税理士等は広範な利用権限を持つことからICカードを用いることとする。
10
Copyright© 2009, NTT Software Corporation All rights reserved
2.2 シングルサインオン機能
3種類のSSO方式
様々なサービスがSSOを実現できるよう、基盤にお
いて3種類の方式をサポートした。
(1) エージェントモジュール方式
基盤と同じドメインに所属するWeb型サービスを対
象に、CookieによるSSOを実現する。基盤より提供
されるエージェントモジュールを利用する。
(2) SAML2.0方式
基盤と異なるドメインに所属するWeb型サービスを
対象に、SAML2.0によるSSOを実現する。サービス
へはI/F仕様を開示し、各サービスにて実装する。
(3) クライアント埋め込み認証モジュール方式
クライアント/サーバ型のサービスを対象に、クライ
アント側に埋め込む認証用モジュールを提供する。
11
Copyright© 2009, NTT Software Corporation All rights reserved
2.3 基盤の認証機能構成
ポータル(利用者/ライセンス管理)
C/S型サービス
VANADIS Identity Manager
認証
モジュール
認証情報
VANADIS SSO
ダウンロードして利用する
C/S型サービス
Web型サービス(外部)
認証I/F
(SOAP)
SAML2.0
SP
SAML2.0
IdP
*TrustBind
エージェント型
SSOログインサーバ
ポータル機能と連携し、
独自のインフラを利用する
Web型サービス
Web型サービス(基盤内部)
SSO
エージェント
J-SaaSのサービスインフ
ラを利用するWeb型サー
ビス
VANADIS Identity Manager、VANADIS SSOはNTTデータ株式会社の登録商標です。
TrustBind/Federation ManagerはNTTソフトウェア株式会社の登録商標です。
Copyright© 2009, NTT Software Corporation All rights reserved
2.4 ID体系の考え方
■サービス事業者のAP改修負担の軽減とセキュリティ担保の観点から、基盤と各
サービスのID体系は相互に独立したものとした
■両IDの紐付けは基盤が実施し、SSOのI/Fを介してサービスへ提供する
※なお、両IDともに企業をあらわす企業IDと利用者IDの組み合わせの形式
■アグリゲーション用に2種類のIDを利用
Common-ID(共通ID)
Acting-ID(操作者ID)
J-SaaSへのログイン用ID
各サービス事業者がサービス提供に利用
基盤上での管理単位
アグリゲーション時には被代理者のIDを指定
ID体系
基盤で定義
各サービスで定義
有効範囲
基盤全体でユニーク
サービス単位でユニーク
例
U1234(一般ユーザ)
123456
T2234(税理士) 等
nagano 等
用途
Copyright© 2009, NTT Software Corporation All rights reserved
3.J-SaaSへのSAML2.0の適用
14
Copyright© 2009, NTT Software Corporation All rights reserved
3.1 適用時の課題:Federation
課題
SAMLによるSSOに必要なFederationを、どのように実施するべきか
→ ユーザ自身により実施させるか? システムで解決するか?
■ユーザ自身にFederationを実施させる場合、
①連携対象の各サイトで認証させる必要があり、ユーザの心理的負荷が高い
②連携対象サイトが増えるごとにFederation操作が必要となってしまう
■システムで解決するとした場合、
既にユーザが存在する場合、連携対象の特定が困難
■解決方法
SSO導入による操作の違いをユーザに意識させたくないという意図の下、Federation
はシステム間で自動的に実施することとした。
- ユーザへのライセンス払い出しを契機に、基盤よりFederationを実施する
- 仮名には利用者IDそのものを採用
15
Copyright© 2009, NTT Software Corporation All rights reserved
3.2 適用時の課題:ユーザ強制切替
課題
一旦ログイン/SSOした後に、IDを別のIDに切り替えることが可能か
■サービス仕様上、ポータルにログインしてSSOを実行した後に、異なるIDに切り替える
機能が求められることになった。
→ ログアウトして再ログインする、あるいはブラウザを閉じれば実現可能だが、
サービスの継続性が失われてしまう。
■解決方法
SAML2.0の以下の機能を利用
★AuthnRequest の ForceAuthn パラメータ
trueの場合、IDPは、既に認証済みのユーザであっても再度認証を
実施させなければならない
→ 再認証時に切り替え対象のID/パスワードを入力させる
16
Copyright© 2009, NTT Software Corporation All rights reserved
3.3 SAML2.0 I/F仕様
SAML2.0によるSSOで利用する仕様は、セキュリティ、接続作業の難易度などを考慮し
たうえで基盤側で定義し、サービス側へ接続仕様として提供。
利用可能アサーション
○:認証アサーション(Authentication Assertion)
×:属性アサーション(Attribute Assertion)
×:認可アサーション(Authorization Decision Assertion)
認証要求を行う場合のユー Persistent(urn:oasis:names:tc:SAML:2.0:nameidformat:persistent)
ザの指定方法
(saml2md:NameIDFormat)
認証アサーションの有効期
限
60,000ミリ秒前~認証アサーション設定時~300,000ミリ
秒後
ForceAuthn
“true”必須
アサーションの署名
認証要求の署名
利用可能(強く推奨)
電文のバインディング
認証要求:HTTP-Redirect / HTTP-POST
認証アサーション:HTTP-POST
17
Copyright© 2009, NTT Software Corporation All rights reserved
3.4 SAML2.0利用時のSSO
■アカウント作成・ライセンス割り当て時の流れ
1. 企業管理者が利用者のIDを登録
2. 企業管理者がサービスのライセンスを購入し、利用者へ割り当て
3. ライセンスの割り当て情報を元に、基盤側でIdP、サービス側でSPとして
のフェデレーションを事前に実施。仮名は利用者のIDの一つを利用。
■サービス利用時
1. ユーザはVANADIS SSOのエージェント型SSOを利用して基盤ポータルへ
ログイン(Cookieとしてアクセスチケットが発行される)
2. ユーザがサービスへアクセスすると、SPはIdPに認証要求を送付する。
3. IdPは、基盤へログイン時に発行したCookie内のアクセスチケットと
ポータル内の情報を元に、認証アサーションを作成。
4. SPは受け取った認証アサーションを元に、サービス内での認証を実施。
18
Copyright© 2009, NTT Software Corporation All rights reserved
3.5 サービス事業者による接続作業
1次募集のサービス事業者については、全サービス無事に接続し、サービスを開始。
★サービス事業者とのSAML2.0による接続過程で生じた問題
①メタデータの設定誤り
AssertionConsumerService#Bindingに使用できない値が設定
②時刻同期が取れていなかったためSSOに失敗
Assertion/Conditions#NotBeforeから
Assertion/Conditions#NotOnOrAfterの期間を超えてずれていた
→ 不正なAssertionとしてエラー
③電文解析にはスキルが必要
(i) 正しいSAML2.0メッセージが交換されていたにも関わらず、
誤っていると勘違いしてのお問合せがあった
(ii) SSOは行われているが、毎回Federation実施のログが出ていた
→ AuthnRequestに毎回AllowCreate=trueが設定されていた
19
Copyright© 2009, NTT Software Corporation All rights reserved
4.まとめ
20
Copyright© 2009, NTT Software Corporation All rights reserved
4.1 総括
■J-SaaSとはSaaSを活用した中小企業向けワンストップサービス
→ 日本における先駆的なSaaS基盤
■サービス向けに各種機能を基盤として提供。その一つとしてSSO機能を用意
■SSOにはアプリケーションの種類、配置に応じて3種類の方法を用意
主に外部にあるWeb型サービスのためにSAML2.0を採用。
■弊社が果たした役割
- 基盤へのプロダクト提供(IdP)
- 一部サービス事業者へのプロダクト提供(SP)
- 一部サービス事業者へサービスと基盤の接続支援
21
Copyright© 2009, NTT Software Corporation All rights reserved
4.2 SAML2.0のJ-SaaSへの適用
■J-SaaSにおいてはSAML2.0が持つ以下の特徴が有効であった
- Federationによる共通IDとAP側IDの連携が可能
- 認証を柔軟に制御できる仕組み(ForceAuthn、AuthnContextなど)が存在
- AttributeConsumingServiceIndexによる属性交換の仕組み
- プロダクトに依存しない接続性
- SaaSに求められる高いセキュリティ要件への適合
■適用作業について
- サービスをSAMLに適用する作業はそれほど困難ではない
- ただし、接続においてトラブルが発生した場合、トラブルシュートにはSAMLに
関するノウハウが必要
22
Copyright© 2009, NTT Software Corporation All rights reserved
4.3 Kantara Initiativeへの期待
■認証関連
- SAML2.0とOpenIDの相互接続性を一層高めてほしい
- プロトコルが混在する環境について、信頼性やセキュリティレベルを
評価する基準、仕組みを確立してほしい
■ID管理一般
- 複数システム間でIDプロビジョニングの同期を図る仕組みはないか?
- SaaS/クラウドでの利用シーンをモデル化できないか?
23
Copyright© 2009, NTT Software Corporation All rights reserved
ご清聴ありがとうございました。
24
Copyright© 2009, NTT Software Corporation All rights reserved