Shibboleth, 学認 を知ろう
国立情報学研究所・佐賀大学 大谷 誠
学認CAMP～ GakuNin Campus Architecture and Middleware Planning ～ 学術認証フェデレーション(学認)とは
 学認の現状
 Shibboleth の概要とその動作

2

 学認の現状
 Shibboleth の概要とその動作

3 Webアプリケーションへのシングル・サイン・オン（SSO）技術

を、組織を越えて活用する分散型学術認証基盤
従来

学認
機関単位で分散大学A

ID1/Pass1

ID2/Pass2

eLearning

システム

Web
メール

ポリシー

• Webアプリ毎にIDを管理> ID管理コスト大• Webアプリ毎にログイン作業> ユーザのセキュリティ意識低下• セキュリティレベルの不統一> 低セキュリティサイトアクセス時の漏えいリスク
4

ID/Pass

ID3/Pass3

電子
Journal大学B

大学C機関認証システム

SSO

Web
メールeLearning

システム

学内

電子
Journal

学外 学術認証フェデレーション
Webアプリケーションへのシングル・サイン・オン（SSO）技術を、組織を越えて活用する分散型学術認証基盤


定められた規程（ポリシー）を信頼しあうことで相互に認証連携を実現し，学術リソースを利用・提供する機関や組織から構成された連合体

機関（IdP）がIDと個人の情報(属性)を管理し，サービス提供者（SP）がそれを利用して認可

 プライバシ保護を考慮したシングルサインオン（SSO）技術


一度の認証で複数のSPを利用

ユーザの一意性を保証しつつ、必要な個人情報以外は出さない


5

必要な属性のみをIdPから取得

ユーザは、各SPに対する属性の公開を、制御(制限)することも可能

セキュリティや個人情報保護法に配慮して，認証・認可の情報交換を行うためのデータ形式



標準団体OASISにより策定



米国EDUCAUSE／Internet2にて2000年に発足したオープンソースプロジェクト

http://shibboleth.internet2.edu/

SAMLによる認証連携方法として学術界ではデファクトスタンダード



米国、欧州でShibbolethによる学術認証フェデレーションが拡大

ユーザ情報LDAP

シボレス
IdP

SAML標準

シボレス
SP

SAML通信のためのフィルタのようなもの
6 フェデレーション自体は学外リソース利用のためのもの
 フェデレーションへの参加により


学内の統合認証システムの構築を加速化

学内システムのSSO化を加速化

 学内の公開Webサービスのセキュリティレベルの向上
Webメール

7

グループウエア

図書館システム リモートアクセスによる利用頻度の向上
 SSOによるユーザエクスペリエンスの向上

論文を探して論文を取得して（読んで）論文を管理する

認証連携によるディープなマッシュアップ
8 Microsoft DreamSpark

学生を対象にMSのソフトウエア開発環境を無償で提供するプログラム

 属性により大学構成員であり、学生であることを確認

eduPersonTargetedID（SP毎に異なるハッシュ化された一意のID） eduPersonScopedAffiliation（例：student@nii.ac.jp）
9 学術認証フェデレーション(学認)とは
 Shibboleth の概要とその動作

10

２００８年度

２００９年度

２０１０年度

試行運用

本格運用

運用フェデレーション

運用フェデレーション

実アカウント利用
実サービス提供

テスト環境
実証実験（技術検証）

27機関参加
30 IdP
18 SP（商用１）
11

昇格

昇格

テストフェデレーション

テストフェデレーション

仮アカウント利用
仮サービス提供

２０１１年度以降

 27 Institutions
 30 IdP sites

30 Sites 18 SP sites

ＩｄＰ
20 Sites

Completed connection toElsevier !
18 Sites
10 SitesＳＰ
10 Sites

Aug.
12

Sep.

Oct.

Nov.

Dec.

Jan.

Feb.

現在

２００８年度

２００９年度

２０１０年度

試行運用

本格運用

運用フェデレーション

運用フェデレーション

実アカウント利用
実サービス提供

テスト環境
実証実験（技術検証）

27機関参加
30 IdP
18 SP（商用１）
13

昇格

昇格

テストフェデレーション

テストフェデレーション

仮アカウント利用
仮サービス提供

２０１１年度以降

（9月14日現在）国立情報学研究所
 名古屋大学  旭川医科大学
 東京農工大学
 山形大学 岡山大学
 千葉大学 九州工業大学
 京都大学 京都産業大学
 広島大学 立教大学 金沢大学 北海道大学  九州大学
 東京大学 筑波大学 明治大学
 佐賀大学 神戸大学
 山口大学
 信州大学
 成城大学 自治医科大学
 東邦大学 名古屋工業大学
 三重大学 日本大学（参加順）


14

総ID数≒45万ID
ID ≒旭川医科大学、北見工業大学、東北大学、福島大学、高エネルギー加速器研究機構、筑波技術大学、東京工業大学、お茶の水女子大学、産業技術大学院大学、慶應義塾大学、東京電機大学、愛知県立大学、鈴鹿工業高等専門学校、奈良教育大学、大阪大学，大阪教育大学、徳島大学、愛媛大学、広島工業大学、九州工業大学、熊本大学 etc…

姫路獨協大学、静岡大学、中部大学、福井大学、東京学
芸大学、京都女子大学、岩手大学、浜松医科大学、東京
都医学研究機構、宮崎大学、南山大学、岐阜大学、鹿屋体育大学、京都工芸繊維大学、京都府立大学、高知大学、茨城大学、同志社大学、室蘭工業大学、金城学院大学、福井県立大学、北見工業大学、東京都市大学、北九州工業高等専門学校、島根大学、大阪教育大学
最新情報：https://www.gakunin.jp/docs/fed/participants（9月14日現在）


学術コンテンツ (13)15



Science Direct / SCOPUS (Elsevier)SpringerLink (Springer)
Web of Knowledge / EndNote(Thomson Reuters)
OvidSP (Ovid)
RefWorks (ProQuest)
Cambridge Journals Online (CUP)
Pathology Images (Atlases)
EBSCOhost (EBSCO)
KOD (研究社)
CiNii (NII)IEEE Xplore (IEEE)
360 Search, 360 Link, Electronic
Journal Portal(Serials Solutions)
IMCデータリポジトリ（金沢大学）

接続作業中

Sunmedia
IOP

PubMedebraryKarger

Emerald



朝日新聞



医中誌

有斐閣

三省堂
…

最新情報：https://www.gakunin.jp/docs/fed/participants（9月14日現在）


開発環境(1)DreamSpark (Microsoft)

ネットワークサービス(10)Fshare（大容量ファイル交換）サービス（NII）
FaMCUs (テレビ会議多地点接続)サービス (NII) – 収容拠点数拡大予定
Eduroam-Shib（eduroam用一時アカウント発行）サービス（京大&NII）
SecurityLearningシステム(e-Learning)（NII）
WebELS eLearningシステム(e-Learning)（NII）
edubase Cloud(クラウドサービス)（NII）
Foodle(予定調整サービス) (UNINETT)
ゲスト用ネットワークアクセス認証（佐賀大学、広島大学）
ファイル送信サービス（金沢大学）



科学技術の学術情報共有のための双方向コミュニケーションサービス（山形大学）





16

最新情報：https://www.gakunin.jp/docs/fed/participants

17https://wiki.shibboleth.net/confluence/display/SHIB2/ShibEnabled

電子ジャーナル
電子書籍

14

932

e‐Learning（他機関から提供されるサービス）3

e‐Learning（民間企業から提供されるサービス）46

e‐Learning（機関内へ提供するサービス）
e‐Learning（他機関へ提供するサービスとして）

38

20
18
18

ソフトウェア配布（民間企業から提供されるサービス）
ソフトウェア配布（機関内へ提供するサービス）

35

20

24
30
7 12

ソフトウェア配布（他機関へ提供するサービス）
遠隔講義・遠隔会議システム（他機関から提供されるサービス）
遠隔講義・遠隔会議システム（民間企業から提供されるサービス）
遠隔講義・遠隔会議システム（機関内へ提供するサービス）
遠隔講義・遠隔会議システム（他機関へ提供するサービス）

18 23

16

16

オープンフォーラム向けアンケート
回答結果より18

ソフトウェア配布（他機関から提供されるサービス）

参加各機関による研究成果の公開
電子メールやオンラインストレージなどのクラウドサービスとの連携
学務情報システム
人事給与・財務会計システムその他

 スイス SWITCHaai：515
 イギリス UK-FAM：219
 アメリカ InCommon：140
 フランス Fédération Éducation-Recherche ：123
 フィンランド Haka：115
 ノルウェー FEIDE：80
 ドイツ DFN-AAI：60

 デンマーク WAYF：26

日本国内のサービスの展開がポイント
19

https://refeds.terena.org/index.php/Federations

市民アカウントとの融合
担当政府とフェデレーションの連携

小学生の利用高等教育担当局と初等教育担当との連携

北欧Fed連盟での利用
隣国のe-Learningシステムを積極的に利用

FastLane，NSF,NIHサービスのフェデレーション利用

OpenIDとのコラボ
OpenIDMS Genevaとのコラボ
Geneva20

http://www.internet2.edu/pubs/national_federations.pdf

学認CAMP

09/14

三重大学

第8回全国大学コンソーシアム研究交流フォーラム 分科会

09/11

熊本学園大学New Education Expo「学術認証フェデレーションによる 新06/15-16 大阪マーチャンダイ
たな大学ICT利活用の展開」
ズ・マート
学術情報基盤オープンフォーラム「学認を活用した地域連携に向けて」

06/03

国立情報学研究所

情報処理技術セミナー「Shibboleth環境の構築」（第3回）

11/01-02 国立情報学研究所

情報処理技術セミナー「Shibboleth環境の構築」（第2回）

08/04-05 国立情報学研究所

情報処理技術セミナー「Shibboleth環境の構築」（第1回）

06/20-21 国立情報学研究所21 2009年度までは，NII情報処理軽井沢セミナーにて実施 2010年度からは，NII講習システムを用いて実施
2日間コース

IdP構築実習（1日目）
 SP構築実習（2日目）


計8回実施

大学向け3回
 大学＋企業向け5回
 計120名以上が受講

 2011年度も引き続き実施

大学向け（3回を予定）


6/20-21，8/4-5，11/1-2

大学＋企業向け（調整中）

大学向け研修会詳細
http://www.nii.ac.jp/hrd/ja/joho-karuizawa/index.html
22に掲載

 学認申請システム


学認への参加申請，メタデータ登録・更新等がWebを通してオンラインで可能

 テストフェデレーション
1.
2.
3.

申請情報登録（およびアカウント作成）
事務局での参加承認
フェデレーションメタデータの自動更新

 運用フェデレーションの場合は？


23

オフラインによる確認が1ステップ増えるだけ

通常一日で参加完了
利用開始可能現在

２００８年度

２００９年度

２０１０年度

試行運用

本格運用

運用フェデレーション

運用フェデレーション

実アカウント利用
実サービス提供

テスト環境
実証実験（技術検証）

27機関参加
30 IdP
18 SP（商用１）
24

昇格

昇格

テストフェデレーション

テストフェデレーション

仮アカウント利用
仮サービス提供

２０１１年度以降

1.

学外サービスとの認証連携に備えて／北海道大学

2.

認証基盤も冗長構成化して可用性を向上／山形大学

3.

電子図書館サービスにShibbolethを導入／筑波大学

4.

図書館主導で実現したShibboleth認証／千葉大学

5.

情報リソースの共有で運用コストを低減／東京農工大学

6.

学認が実現する日本の学力水準の向上／成城大学

7.

キャンパス間をつなぐ遠隔授業／日本大学

8.

学認のサービスが応える医療系大学のニーズ／東邦大学

9.

学内/学外サービスの双方に認証基盤を用意／金沢大学

10.

京都大学 独立した組織間での認証連携を実現／京都大学

11.

大学間共用e-ラーニングシステムへの活用／京都産業大学

12.

ゲスト利用者のネットワーク認証に活用／広島大学

13.

大学間認証連携のキラーコンテンツLMS／徳島大学

14.

統合認証基盤とSingle Sign-On連携／佐賀大学

http://www.gakunin.jp/docs/fed/info から参照可能
25

話の流れ
 学術認証フェデレーション(学認)とは
 学認の現状

26

学術

学術認証フェデレーションShibboleth による運用
機関（IdP）がIDと属性を管理し，サービス提供者（SP）がそれを利用して認可

プライバシ保護を考慮したシングルサインオン（SSO）技術

ユーザのユニークネスを保証しつつ個人情報は出さない
SPは必要な情報のみをIdPに要求
ユーザは各SPに対する各属性の公開を制御可能
アサーション

従来：SPでID管理

SP・ID
・属性

ユーザ
アクセス、パスワード

SP・ID
・属性

SSO：IdPでID管理
アクセス

認証要求

IdP・ID
・属性

ユーザ

ID/パスワード

27

SP

リダイレクトSP

Shibboleth(シボレス)
バージョン1.3系と2.0系が広く利用されている（プロトコルが少し異なる）


最新は IdP 2.3.2, SP 2.4.3 （学認ではまだ IdP 2.1.5が主流 ?）Linux, FreeBSD, Solaris, Windows (IIS) など主要なOSに対応

cf.


欧州（特に北欧）では，simpleSAMLphpも利用されている
ノルウェ―UNINETT

日本語化プロジェクト

http://rnd.feide.no/simplesamlphp
http://sourceforge.jp/projects/ssp-japan/

Microsoft ADFS 2.0 とも連携可能


AD FS 2.0 デザイン ガイド
28

http://technet.microsoft.com/ja-jp/library/gg308546.aspx

フェデレーション構築に必要なサーバ
 IdP（Identity Provider）


フェデレーション内に構成員の情報を提供するサーバ

フェデレーションに参加する大学等が構築 SP（Service Provider）


認証を受けた人に対してサービスを行うサーバ



電子ジャーナル，データベース，E-ラーニング等
Webベースのシステムであれば何でも可 DS（Discovery Service）


SPへのアクセスの際にIdPを検索するシステム

フェデレーションが運用



ここに名前がのることにより「フェデレーションに参加」

29

IdP (Identity Provider)フェデレーション内に情報を提供するサーバであり，大学等が構築
 IdP自身は情報を持たない
 情報はLDAPやActive Directory等，既存の認証基盤を参照
 IdPは単なるフィルタであり，学内認証基盤から特定のデータのみを抽出して提供する
 公開できるデータの制御が可能である

このため，Shibbolethはしばしば個人情報保護に優れていると言われるが，サーバ自体がハッキングに強固という意味ではない。
 慎重な操作が必要なのは，LDAPやActive Directoryと同じ


学内認証基盤LDAP
Active Directory など

IdP
提供データのフィルタ必要なデータのみを外部へ
機関名，所属機関名，所属，氏名，肩書き…
30

非公開データを落とすフィルタSP (Service Provider)
サービスを提供するWebサーバのこと“シボレスログイン”等のボタンがあればShibbolethで利用可能なSPである



電子ジャーナルに限らず，いろいろなサービスをShibboleth化することが可能（例：無線LAN認証，サイボウズ）

学内のみの利用ならば，IdP, SPが立ち上がれば完成。
他大学と連携するには何が必要？
31

DS (Discovery Service) SPへのアクセスの際に認証するIdPを選択するシステム
 フェデレーションが運用
 SPへの埋め込み(embedded)方式もある

32

Shibbolethの基本動作(最初の動作)

IdP（所属機関）

SP（リソース提供者）

9
アクセス承認HTTPS

属性
情報

6

78

92

17333

4

DS（ディスカバリサービス）

45

ユーザ

1

Cookieによる処理の記憶 認証の処理(状態)を記憶するためにCookie を使用

どのIdPを選択したか （DS:Cookie）
 一定期間保持(例: 一週間、永久…)

IdPによる認証が成功しているか（IdP:Cookie）
 SPへのアクセスが承認されているか（SP:Cookie）


基本的にブラウザを閉じるまで


34

別途、タイムアウトもあり個別にログアウトも

Cookieによる処理の記憶

IdP（所属機関）

SP（リソース提供者）

9
アクセス承認

HTTPS

属性
情報

6

7

8

92

1

7
Set Cookie

335

4

DS（ディスカバリサービス）

45

ユーザ

1

Shibbolethの基本動作(IdPの記憶)

IdP（所属機関）

SP（リソース提供者）

9
アクセス承認

HTTPS

属性
情報

6

8

92

1

75Cookie36

DS（ディスカバリサービス）

ユーザ

1

Shibbolethの基本動作(シングルサインオン)
引き続き他のSPを利用
IdP（所属機関）

SP（リソース提供者）

9
アクセス承認
Cookie6895

DS（ディスカバリサービス）

2

1

1

Cookie

37

HTTPS

属性情報

ユーザ

メタデータを用いた信頼の構築
登録
配布（ダウンロード）

メタデータ

登録
配布
（ダウンロード）

IdP（所属機関）

38

DS（ディスカバリサービス）

SP（リソース提供者）

ユーザメタデータを用いた信頼の構築

SP B

SP C

SP A

フェデレーション

フェデレーション
メタデータ

リポジトリ

エンティティ
メタデータ

DS（ディスカバリサービス）

IdP A
IdP B

IdP C

自動ダウンロードするフェデレーションメタデータの信頼性は、フェデレーションの証明書で担保（事前に入手・検証し、事前にIdP/SPにインストール）
39（検証は、別チャンネルで入手したfingerprintとの比較等による）

メタデータ(XML形式)の構成
フェデレーションメタデータ
署名の情報

エンティティメタデータ (IdP)
IdPの情報・IdP１の情報
・IdP２の情報
・・・・・
・・・・・

・IdP１のID＝entityID・利用する証明書・利用可能なプロトコル
・組織情報
・・・・・

エンティティメタデータ(SP)SPの情報
・SP１の情報
・SP２の情報
・・・・・
・・・・・
40

・SP１のID＝entityID・利用する証明書・利用可能なプロトコル
・組織情報
・・・・・

Shibbolethの実装 front channel
IdP
Attribute
Authority
AttributeDB

Browser

SSO
Profile

https

https
AuthN
EngineSP
SessionInitiator DS
Assertion
Consumer
SAML POST

AuthN
DB

Username
Password
AuthN

Shibboleth Module(mod_shib)

LDAP/ADForm

Shibboleth
Daemon(shibd)

Tomcat41

back channel

WebResource# .htaccess
AuthType shibboleth
ShibRequireSession
Onrequire valid-user

Apache/ IIS

ポート番号は443または4443、8443

属性情報のフィルタリングと認可制御
IdP Shibboleth

SP Shibboleth
SAML

LDAP

handler.xml
login.config

HTTPヘッダ

attributefilter.xml

attributemap.xml

WebAppattributeresolver.xml

attributepolicy.xml

httpdrelyingparty.xml

信頼Metadata

shibboleth2.
xml
Metadata

リポジトリ
42

環境変数

http.conf.htaccessAccessControl

属性情報の受け渡し
 IdPは必要な属性のみ提供し

IdPのattribute-filter.xmlに定義された属性が送出され(SP毎に設定可)

 SPがその中から必要なもの のみを選択

43

SPのattribute-map.xmlに定義された属性を受け取る（SPが必要な属性を要求するわけではない）フェデレーションで扱う「属性」
フェデレーションで認証に使用する属性は16種類。これらを用いて認可を行う。
属性内容

OrganizationName (o)組織名

jaOrganizationName (jao)

組織名（日本語）

OrganizationalUnit (ou)組織内所属名称

jaOrganizationalUnit (jaou)

組織内所属名称（日本語）

eduPersonPrincipalName (eppn)

フェデレーション内の共通識別子

eduPersonTargetedID

フェデレーション内の匿名識別子

eduPersonAffiliation

職種

eduPersonScopedAffiliation

職種（スコープ付き）

eduPersonEntitlement

資格

SurName (sn)

氏名（姓）jaSurName (jasn)

氏名（姓）（日本語）GivenName

氏名（名）jaGivenName

氏名（名）（日本語）displayName

氏名（表示名）jaDisplayName

氏名（表示名）（日本語）

mailメールアドレス

44テストSPでの表示例

掲載場所： https://www.gakunin.jp/docs/fed/technical/attributeSPでの属性情報の利用方法

 Apache の httpd.conf , .htaccess等での設定例
 Basic認証等の代替（ユーザの区別なし）<Location /App>
AuthType shibboleth
ShibRequireSession On
require valid-user</Location>

 ユーザを区別して認可<Location /App>
AuthType shibboleth
ShibRequireSession On# ShibUseHeaders On （属性をHTTPのヘッダに含めて受け渡す場合）
require affiliation student@nii.ac.jp</Location>45

SPでの属性情報の利用方法
 アプリケーション側で属性情報を参照して、細かな認可環境変数を参照する
 HTTPヘッダを参照する
 ShibUseHeaders On

46

https://www.gakunin.jp/docs/fed/technical/sp/WebApp

環境変数


affiliation: member@nii.ac.jp
displayName: test001_displayname
entitlement: urn:mace:dir:entitlement:common-lib-terms
eppn: test001@nii.ac.jp
givenName: test001_givenname
jaDisplayName: テスト001_displayname
jaGivenName: テスト001_givenname
Jao: 国立情報学研究所
Jaou: テスト001_学部1
Jasn: テスト001_sn
mail: test001_email@nii.ac.jp
o:Test Organization
ou:Test Unit1
persistent-id:https://shib-sample.ac.jp/idp/shibboleth!https://shibsample.ac.jp/shibboleth-sp!EXBYRzIELL0FlV3kWiFI7jtTApo=sn: test001_sn
unscoped-affiliation: member......
47

SPでの属性情報の利用方法
 アプリケーション側で属性情報を参照して、細かな認可環境変数を参照する
 HTTPヘッダを参照する
 ShibUseHeaders On

環境変数(またはHTTPヘッダ) から、属性を簡単にもちろん、IdPから渡されるのだけ Shibboleth 対応サービスの作成はとても簡単！
 皆さま、魅力あるサービスSPの提供をお願いいたします！
48

https://www.gakunin.jp/docs/fed/technical/sp/WebApp

テストフェデレーションでお試し テストフェデレーション
1.
2.
3.

申請情報登録（およびアカウント作成）
事務局での参加承認
フェデレーションメタデータの自動更新
通常一日で参加完了
利用開始可能

技術的検証のみを行うフェデレーションなので、お気軽に参加ください(うまくいけば、運用フェデレーションへ)https://www.gakunin.jp/docs/fed/join49

まとめ Shibboleth, 学認 を知ろう
 学認
 学認とは
 学認の現状
 ケーススタディ …
 Shibboleth の概要
 IdP, SP, DS 基本動作 属性情報の利用

50

各種情報
１．学術認証フェデレーション（学認）に関するWebサイト
https://www.gakunin.jp/

２．ポリシー、申請書「学術認証フェデレーション」－「参加」
https://www.gakunin.jp/docs/fed/join

３．情報交換メーリングリスト（アーカイブ）「学術認証フェデレーション」－「情報交換ML」
https ://www.gakunin.jp/docs/fed/ml51