Open Source Solution Technology

OpenAM （ OpenSSO ）のご紹介

オープンソース・ソリューション・テクノロジ株式会社
2010/12/1
野村 健太郎Copyright © 2010 Open Source Solution Technology

- 1 -

目次
 会社紹介 OpenAM（OpenSSO）のご紹介

概要、開発の歴史– シングルサインオン方式– 認証方式（認証連鎖による多様素認証）– レルムによるユーザー管理– 冗長化– 導入事例– OpenAM（OpenSSO）デモ

Copyright © 2010 Open Source Solution Technology

- 2 -

会社紹介

Copyright © 2010 Open Source Solution Technology

- 3 -

会社紹介
オープンソース・ソリューション・テクノロジ株式会社
 OS に依存しない OSS のソリューション を中心に提供–

Windows/Solaris から Linux への移行も支援！

 OSS を利用した認証基盤構築 が得意分野–

LDAP認証、Windowsドメイン認証、Webアプリケーション認証、クラウド認証

 Samba,OpenLDAP,OpenAM,IDM などによる認証統合 / シングルサインオン、 ID 管理ソリューションを提供
OSSの製品パッケージ・製品サポートを提供– OSSの改良、バグ修正などコンサルティングにも対応–

Copyright © 2010 Open Source Solution Technology- 4 -OSSTechのソリューション領域
システム管理者

ID管理

ID管理

ID管理

Active Directory

Google Apps
Salesforce
ファイルサーバ
ファイル
LDAP
サーバー

Windows
ドメインログオン

クラウド

Web アプリ

ログイン

ログイン

ユーザー
Copyright © 2010 Open Source Solution Technology- 5 -OSSTechのソリューション導入効果
Unicorn IDM

ID管理
システム管理者

ID 連携
Active Directory

Google Apps
Salesforce
ファイルサーバ
ファイル
LDAP
サーバー

Web アプリクラウド

SSO

Windows
ドメインログオン
ログイン

ユーザー
Copyright © 2010 Open Source Solution Technology- 6 -OpenAM （ OpenSSO ）概要

Copyright © 2010 Open Source Solution Technology- 7 -OpenAMとは
 Webアプリケーションにおけるシングルサインオンを実現するためのプラットフォームとなるソフトウェア–

シングルサインオン（SSO）：一度のログイン操作さえ完了すれば、複数の Web アプリケーションにログイン操作することなくログインすることが可能

 ユーザー情報を格納するためのユーザーリポジトリ（ユーザーデータストア）として様々な LDAP サーバー、RDBに対応–

RDBへの対応は OpenAM からサポート開始

 SAML、OpenID、OAuth、ID-WSFなどの認証・認可に関連した複数のプロトコルをサポート
Copyright © 2010 Open Source Solution Technology- 8 -OpenAMの歴史 - その1

AOLによる買収

AOLからの分離

開発
主体

NetscapeiPlanet

製品名dsame

Identity Server

認証連携
機能の強化

オープンソース化！

Sun Microsystems

Access Manager

Copyright © 2010 Open Source Solution Technology

OpenSSO- 9 -OpenAMの歴史 - その2
Oracleによる買収

OpenSSO は非戦略的な製品という位置づけ

Sun

OracleOpenSSO

Oracle OpenSSO

ForgeRock社
Oracleから分離

OpenAM
新プロジェクトの開始 !

OSSTechとの協業

Copyright © 2010 Open Source Solution Technology- 10 -

OpenAMのこれから（技術面）
 OpenAM は OpenSSO の正常進化形

OpenSSO を担当していたエンジニアが中心になりForgerock社を設立– ベースにするソースコードが同じ– 最新の Ver. 9.5 では多量のバグフィックスを適用– OpenSSOと完全互換–

 クラウド対応

Google Apps, Salesforce とのシングルサインオン（SAML）連携機能を強化– ＧＵＩ による操作でシングルサインオン設定が可能–

 機能拡充

ワンタイムパスワード機能の追加– ユーザーリポジトリしてRDBをサポート–

Copyright © 2010 Open Source Solution Technology- 11 -

OpenAMのこれから（ビジネス面）
 ベンダ独自のパッケージングも可能

生体認証などの独自認証方式を組み合わせる– ID管理システムと組み合わせる– OSSTech 版 OpenAM の特徴–

 OpenLDAP 用拡張スキーマを提供
 ID管理製品（Unicorn IDM）との組合わせ Google Apps シングルサインオンソリューションを提供

 需要

日本では多くが新規ユーザー– 企業・大学などの認証基盤として OpenAM を利用– クラウドにおける認証基盤として OpenAM を利用– 既存ユーザー（Sun Access Manager、OpenSSO）からの移行（米国、ヨーロッパ）–

Copyright © 2010 Open Source Solution Technology- 12 -

OpenAMの機能（その１）多様なシングルサインオン方式

Copyright © 2010 Open Source Solution Technology- 13 -

シングルサインオンの方式（1）SAML
OpenAM（SAML IdP）

・認証基盤

（1）ログインWebアプリ（SAML SP）
アサーション（認証情報）

ユーザー

Web
SAML Application（2）Webアプリへアクセス
WebアプリがSAMLに対応している必要がある※この図は、HTTP Redirect Binding/HTTP POST Binding の場合の例です。
Copyright © 2010 Open Source Solution Technology- 14 -

シングルサインオンの方式（2）エージェント方式
OpenAM（認証サーバ）（3）Cookieの（１）ログイン
正当性を確認
CookieAgentWebサーバー
ユーザ
情報

ユーザー （2）Webアプリへアクセス

Web
Application

リバースプロキシ方式
リバースプロキシ
HTTP
ヘッダー

ユーザー

（1）ログイン

Web
Application（3）Webアプリへアクセス（2）ユーザー認証

OpenAM（認証サーバ）
Copyright © 2010 Open Source Solution Technology- 15 -

シングルサインオンの方式（3）
代理認証方式
ID/パスワードを初回アクセス時のみ代理で送信する（1）ログイン OpenAM

Form認証

ID/パスワード

ユーザー

Webアプリ（3）代理認証

ID
PW（2）ユーザー認証（4）代理認証後は直接アクセス

Copyright © 2010 Open Source Solution Technology- 16 -

OpenAMの機能- シングルサインオン
 SAMLによるシングルサインオン

S ecure A ssertion M arkup L auguage– 認証、認可、ユーザ属性情報などをXMLで送受信するためのフレームワーク– 標準化団体OASISにより策定– GoogleApps、Salesforceなどが採用–

 エージェント方式

SSO対象のWebアプリが動作するサーバー上にアクセス制御用のモジュールを配置する方式– サーバーのバージョンに影響を受ける–

Copyright © 2010 Open Source Solution Technology- 17 -

OpenAMの機能 - シングルサインオン
 リバースプロキシ方式

リバースプロキシを使用してアクセス制御を行う– ユーザーデータの受け渡しはHTTPヘッダーを利用– SSO対象Webアプリのバージョンや設定変更の影響が少ない– リバースプロキシが性能上のボトルネックになる可能性がある–

 代理認証方式

SSO対象Webアプリの既存ログイン画面に対して、OpenAMがユーザーの代理でログインID/パスワードを送信する– SSO対象Webアプリの改修が不要– 細かなアクセス制御はできない（ログイン処理の代理実行のみ）–

Copyright © 2010 Open Source Solution Technology- 18 -

OpenAMの機能（その２）認証方式（多様素認証）

Copyright © 2010 Open Source Solution Technology- 19 -

OpenAMの機能-データストアと認証方式
認証方式□ワンタイムパスワード□Windows Desktop SSO□クライアント証明書
□外部DB
□認証連鎖

WebApplication

OpenAM

ユーザーログイン

ログイン
ID
PW

SSO

Web
Application
Web
Application

User
Data
Store

ユーザー データストア（ユーザー情報DB）□Active Directory□OpenLDAP□RDB
Copyright © 2010 Open Source Solution Technology- 20 -

OpenAMの機能 - 認証方式
 基本的には OpenAM のユーザーデータストアに保存された ID/パスワードにより認証を行なう
 ユーザー認証時に外部のデータベースを参照することも可能–

LDAP、Active Directory、RADIUS、RDB（JDBC）

 よりセキュアな認証方式も使用可能

ワンタイムパスワード（電子メールを利用）– クライアント証明書による認証– Windows Desktop SSO（統合Windows認証）–

 複数の認証方式を組み合わせて使用可能：認証連鎖
Copyright © 2010 Open Source Solution Technology- 21 -OpenAMの機能 - ユーザー情報DB
 ユーザーデータストア–

OpenAMのユーザー情報を格納するLDAPサーバー/データベースサーバー
 Active Directory Open LDAP Sun Directory Server OpenDS（Sun Directory Server のオープンソース版。OpenAMに標準で組み込まれている）
 RDB（OpenAMから対応）

Copyright © 2010 Open Source Solution Technology- 22 -

OpenAMの機能 - 認証連鎖 多様素認証の必要性–

複数の認証方式を組合わせて認証を行うことにより個々の認証方式の欠点を補完

 認証連鎖複数の認証方式を組み合わせて利用可能– 認証方式にはそれぞれ適用条件を指定する–

 必須：失敗したらそこで終了
 十分：成功したらそこで終了
 必要：成功しても失敗しても次に継続 任意：認証結果には関係しない付随的な処理

認証方式１（必須）
ID/PW認証

認証方式２（必須）
ワンタイムパスワード

Copyright © 2010 Open Source Solution Technology

ログイン完了- 23 -OpenAMの機能（その3）「レルム」によるユーザー管理

Copyright © 2010 Open Source Solution Technology- 24 -

OpenAMの機能 - レルム
 「レルム」：OpenAMの設定を管理するための単位の 以下の設定をレルム単位で管理

ユーザーデータストア（LDAPベースDN、検索フィルタなども指定可能）– アクセス制御ポリシー– 認証方式–

 基本的には、ユーザー情報DB単位でレルムを分ける レルム毎に管理者を置き管理を委任することが可能

Copyright © 2010 Open Source Solution Technology- 25 -

OpenAMの機能 - レルム使用の具体例
 複数組織（複数の企業など）のシングルサインオン基盤をOpenAM で構築し、組織毎に設定を行なう
 組織内に存在する複数の DB を一つのレルムに登録し、全てのユーザーに同一のシングルサインオン環境を提供する（例B） DB内の特定のユーザーに対してのみ、シングルサイオン可能にする（例C）
OpenAM

レルムC
レルムA

レルムB
Copyright © 2010 Open Source Solution Technology- 26 -

OpenAMの機能（その4）
冗長化

Copyright © 2010 Open Source Solution Technology- 27 -

OpenAMの機能 - 冗長化
OpenAM

シングルサーバ構成

User
Data
Store

セッション
フェールオーバー
構成 Load Balancer

サイト構成
Load Balancer

OpenAM
OpenAM

OpenAMセッション
フォワーディング

セッション
フォワーディング
User
Data
Store

OpenAM

レプリケーション/マルチマスタ

User
Data
Store

セッション
情報

User
Data
Store

セッションフェールオーバー

レプリケーション/マルチマスタ

Copyright © 2010 Open Source Solution Technology

セッション
情報

User
Data
Store- 28 -OpenAM（OpenSSO）の導入事例

Copyright © 2010 Open Source Solution Technology- 29 -

事例紹介
 九州工業大学様

OpenSSO + OpenLDAP を使ったシングルサインオンシステ
ムを構築– シングルサインオン方式– SAML
 リバースプロキシ その他Copyright © 2010 Open Source Solution Technology- 30 -

OpenAMデモ

Copyright © 2010 Open Source Solution Technology- 31 -

OpenAM デモ環境
インターネットLAN（ノートPC内に仮想環境を構築）
OpenAM（SAML SP）（SAML IdP）

Google Apps
ログイン

アサーション（認証情報）

Salesforceユーザー※Google Apps の SAML は HTTP Redirect Binding/HTTP POST Bindingを採用しています。
Copyright © 2010 Open Source Solution Technology- 32 -

OpenAM デモ内容
 （１）SAMLによるシングルサインオン–

Google Apps と Salesforce にシングルサインオンでアクセスする （2）認証連鎖–

ワンタイムパスワード認証を追加して二要素認証を行なう

Copyright © 2010 Open Source Solution Technology- 33 -

まとめ
 OpenAM（OpenSSO）はシングルサインオンを実現するための基盤となるソフトウェアです ユーザーの Web アプリへのアクセス時の利便性の向上・セキュリティの強化に役立ちます OpenAMは長い期間をかけて着実に進化してきました。

今後も開発は継続し、最新の機能が取り込まれていきます（クラウド対応など）

Copyright © 2010 Open Source Solution Technology- 34 -

ご清聴ありがとうございました

Copyright © 2010 Open Source Solution Technology- 35 -