Shibboleth と OpenAM の連携による認証レベルを考慮した統合認証システムの構築
河野 圭太 1), 稗田 隆 1), 中村 素典 2)1) 岡山大学 情報統括センター
2) 国立情報学研究所
keita@cc.okayama-u.ac.jp

Construction of Integrated Authentication System Considering
Authentication Levels with Cooperation between Shibboleth and OpenAM
Keita Kawano1), Takashi Hieda1), Motonori Nakamura2)
1) Center for Information Technology and Management, Okayama University
2) National Institute of Informatics
概要：岡山大学では，2016 年 3 月に統合認証システムを更改した．新システムでも，旧システムと同様に，Shibboleth を中心とした認証連携を推進することにしたが，新システムでは，安全性強化のため，ID・パスワードによる認証に加えて，ワンタイムパスワードによる認証を要求できることが求められた．ただし，これを常に強制することは，利用者の利便性低下につながる恐れがあるため，サービスの管理者または利用者が必要とする場合にのみ，追加の認証として実行されることが望ましいと考えた．
岡山大学では，Shibboleth の認証を OpenAM と連携させることにより，これを実現するシステムを構築したので報告する．

はじめに1性を低下させることにつながりやすい．そこで，近年，シングルサインオンの実現による利用者

岡山大学では，サービスの管理者または利用者がの利便性向上と，認証機能の一元化によるシステ必要とする場合にのみ，追加の認証が実行される

ムの安全性向上を目的として，各組織において，ことが望ましいと考えた．これを実現するため，統合認証システムの整備が進んでいる．とりわけ，「常に ID・パスワード認証のみ」，「学外からは追大学等の高等教育機関においては，学術認証フェ加の認証を必須」，「学内からも追加の認証を必須」

デレーション（日本では「学認」）との親和性を考の 3 レベル（以降，認証レベルと呼ぶ）を定義し，慮し，Shibboleth を用いた統合認証システムの構

サービスごと，利用者ごとに必要な認証レベルを築事例が多数報告されている[1],[2]．

選択できるようにした．

岡山大学でも，以前より，Shibboleth を中心と岡山大学では，Shibboleth の認証を OpenAM とした認証連携を推進してきたが，2016 年 3 月に教連携させることにより，これを実現するシステム

育・研究支援情報システムの一部として更改したを構築したので報告する．

新システムにおいても，これを継続することにした[3]．ただし，旧システムでは，Shibboleth 自体

2関連技術の認証として，ID・パスワードによる認証しか提Shibboleth は複数の組織間で安全な認証連携・供しておらず，高い安全性が求められるサービス属性交換を実現するためのオープンソースソフトでの利用に問題があった．そこで，新システムでウェアであり，学認を含む多くの学術認証フェデは，より強固な認証を提供できることが求められレーションで利用されている．Shibboleth IdP V2た．

は 2016 年 7 月 31 日に EoL を迎え，全てのサポ

しかしながら，利用するサービスに関わらず，ートを終了したため，多くの組織において，常に強固な認証を要求することは，利用者の利便

Shibboleth IdP V2 から Shibboleth IdP V3 への移行が行われた．岡山大学でも，システムの更改証の方式を変更する方法が確立されつつある[7]．に合わせて，Shibboleth IdP V2 から Shibboleth

利用するサービスが保有する情報資産の機密性にIdP V3 への移行を行った．

応じて，適切に複数の認証方式を使い分けること

Shibboleth IdP V3 では，Shibboleth IdP V2 と比較して，認証コンテキストに関する処理が高度により，著しい利便性の低下を招くことなく，必要な安全性を確保できる．

化されたため，Shibboleth IdP V3 の機能を利用

岡山大学でも，表 1 に示すような 3 段階の認証して 3 段階の認証レベルによる運用を実現するこレベルを定義し，サービスごとに選択できるようとも検討した[4]．しかしながら，標準の機能だけにした．レベル 1 は従来と同様に，学内・学外かでは学内からの利用と学外からの利用で認証の方らの利用に関わらず，常に ID・パスワード認証を式を変更できないことが問題となった．また，要求するもの，レベル 2 は学外からの利用に関しShibboleth IdP V2 では，同様の機能を提供するては追加の認証を要求するもの，レベル 3 は学内プラグインが存在していたが，Shibboleth IdP V3からの利用に関しても追加の認証を要求するものへの対応が不透明であり，採用できなかった[5]．とした．また，これらのレベル選択は，サービスのOpenAM も Shibboleth と同様に，Web シング管理者だけでなく，サービスの利用者が選択できルサインオンを実現するためのソフトウェアであることも重要と考え，利用者によるレベルの選択る．岡山大学では，以前より，幾つかのサービスにも実現することにした．これにより，セキュリテ対して，リバースプロキシ方式によるシングルサィ意識の高い利用者が，自発的に認証レベルを高インオンを提供していたため，新システムでも，めることを期待した．

リバースプロキシサーバに OpenAM エージェン
表1

トを導入し，この運用を継続することにした．

認証レベルの定義

OpenAM は Shibboleth と同様に SAML による認

レベル

内容

証 連 携 を 実 現 で き る こ と に 加 え て ， OpenID

1

常にID・パスワード認証のみ

Connect にも対応するなど，新技術への即座な対

2

学外からは追加の認証を必須

3

学内からも追加の認証を必須

応も期待した．
Shibboleth と OpenAM の連携は，これまでにも幾つかの組織で実施されている[6]．しかしながら，これらは Shibboleth IdP V2 に関するものであり，また，本報告のように，サービスごと，利用者ごとに異なる認証レベルを考慮したものではな
い．

3

3.2 ワンタイムパスワード認証の利用
前節で示したように，レベル 2，レベル 3 の認証では，従来の ID・パスワードによる認証に加えて，追加の認証を要求することにした．この追加の認証には，モバイルアプリまたは電子メールを利用したワンタイムパスワード認証を採用した．

認証レベルを考慮した統合認証シス
テムの構築

3.1 認証レベルの考慮追加の認証による運用を軌道に乗せるためには，簡単な手続きで利用できることに加えて，この仕組みを利用できない利用者を作らないことが重要と考え，2 種類の方法を選択できるようにした．

統合認証システムの利用により，様々なサービスの認証を統合できる．これらのサービスの中に3.3 Shibboleth と OpenAM の連携

は，保有する情報資産の機密性が高く，高い安全前述したように，岡山大学では，以前より，幾つ性が求められるものも存在し得るため，統合認証かのサービスに対して，リバースプロキシ方式にシステムにおいて，強固な認証を実行できることよるシングルサインオンを提供していた．しかしが要求される．しかしながら，一般的に，強固な認ながら，Shibboleth によるシングルサインオンと証を実現する仕組みの多くは煩雑な運用を必要とは独立したシステムとして構成されており，運用するため，常にこれを利用者に強制することは，上の課題となっていた．新システムでも OpenAM利便性の低下につながる恐れがある．と連携したリバースプロキシサーバの導入により，そのため，身元保証レベル（Level of Assurance：このサービスを継続することにしたが，2 つのシLoA）という概念の下，利用するサービスごとに認ステム間の認証を連携し，利用者に対しては，統一したシングルサインオンサービスとして提供す

3.4 OpenAM 認証レベルとの紐づけ
OpenAM では，複数の認証モジュールを定義でることが求められた．
こ れ を 実 現 す る 方 法 と し て ， OpenAM にき，モジュールごとに認証レベル（以降，OpenAMShibboleth SP を導入し，Shibboleth IdP の認証認証レベルと呼ぶ）を設定できる．また，接続元でシステムを統一する方法と，Shibboleth IdP にIP アドレスと対象 URL ごとに認可条件を設定でOpenAM のエージェントを導入し，OpenAM のき，基本の認証で必要な認可条件を満たせなけれ認証でシステムを統一する方法が考えられたが，ば，追加の認証を求めることができる．

OpenAM では，標準の機能により，岡山大学が必そこで，ID・パスワード認証を OpenAM 認証要とする 3 種類の認証レベルを用いた運用を実現

レベル 0，モバイルアプリによるワンタイムパスできたため，後者の方法を採用した．

ワード認証と電子メールによるワンタイムパスワ

Shibboleth IdP では，RemoteUser ログインフード認証を共に OpenAM 認証レベル 3 に設定し，

ロ ー や ， External ロ グイ ン フ ロ ー を用 い て，サービスごとの認証レベル（以降，岡山大学認証

Shibboleth 自体の認証に外部システムの認証を利レベルと呼ぶ）との間で，表 3 に示すような紐づ用できる．今回は RemoteUser ログインフローをけを行った．岡山大学認証レベル 1 および学内か利用し，Shibboleth 自体の認証を OpenAM で実らの岡山大学認証レベル 2 のサービス利用に関し行できるようにした．具体的には，RemoteUser ロては OpenAM 認証レベル 0 を，学外からの岡山グインフローに該当する URL を OpenAM エージ

大学認証レベル 2 および岡山大学認証レベル 3 のェントの保護対象に設定し，OpenAM で未認証でサービス利用に関しては OpenAM 認証レベル 3あれば，OpenAM の認証画面へリダイレクトされを認可条件とした．これにより，サービスの管理るように設定した．

者の要求による認証レベルの選択を実現できるよ

ただし，単純に 1 つの RemoteUser ログインフ

うになった．

ローを定義し，OpenAM エージェントの保護対象
表3とするだけでは，OpenAM からは Shibboleth IdPと連携するサービス群が 1 つの巨大なサービスとして見えてしまい，サービスごとに認証レベルを認可条件の設定

岡山大学認証レベル アクセス元

認可条件（OpenAM認証レベル）

1

学内

0

（ID・パスのみ）

学外

0

2

学内

0

インフロー（に該当する URL）を認証レベルごと（学外から追加）

学外

3に用意し，OpenAM 側では接続元 IP アドレスと3

学内

3

対象 URL によって，制御を変更するようにした．

（学内も追加）学外

3

選択する運用ができない．そこで，表 2 に示すよ
うに，Shibboleth IdP において RemoteUser ログ

表2

認証レベルと URL の紐づけ

次に，利用者の要求による認証レベルの選択をレベル

URL実現するため，上述の設定に対して，設定の追加，1/idp/Authn/OUL1変更を行った．まず，認証モジュールとして，

2/idp/Authn/OUL2

LDAP 上の属性に応じて認証成否を制御できるア

3/idp/Authn/OUL3

ダプティブリスク認証を追加した．ここでは，LDAP 上に「利用者が常にレベル 2 以上の認証をまた，これらのログインフローごとに，異なる要求するかどうか」を示す属性を用意し，「要求しAuthnContextClassRef を定義し，サービス側のない」場合に OpenAM 認証レベル 2 が獲得でき設定で要求する認証レベルを変更できるようにしるようにした．この認証と ID・パスワード認証をた．ただし，実際には，サービス側の設定変更は歓認証連鎖という機能を用いて逐次的に実行させ，迎されないことが多いため，サービス管理者の依ID・パスワードによる基本認証の成功後に，利用頼を受けて，Shibboleth IdP 側の設定を変更し，者が獲得する OpenAM 認証レベルを制御できるこれを実施することを基本とする予定である．

ようにした．すなわち，ID・パスワード認証に成功した利用者が常にレベル 2 以上の認証を要求している場合には OpenAM 認証レベル 0，常にレベル 2 以上の認証を要求していない場合には参考文献

OpenAM 認証レベル 2 を獲得できるようにした．

[1] 只木進一，江藤博文，大谷誠，渡辺健次：認

これと共に，表 3 に示した紐づけを表 4 に示す

証基盤の効率化と「学認」への対応，情報処ように変更し，学外から岡山大学認証レベル 1 の理 学 会 研 究 報 告 ， Vol.2012-IOT-17, No.10

サービスを利用する場合の認証を制御できるようにした．これにより，常にレベル 2 以上の認証を(2012).
[2] 松平拓也，笠原禎也，高田良宏，東昭孝，二要求しない利用者はアダプティブリスク認証で獲木恵，森祥寛：大学における Shibboleth を利得した OpenAM 認証レベル 2 で認証を終えるこ用した統合認証基盤の構築，情報処理学会論とができる一方で，常にレベル 2 以上の認証を要文誌，Vol.52，No.2, pp.703–713 (2011).

求する利用者には追加の認証としてワンタイムパ[3] 河野圭太，藤原崇起，大隅淑弘，岡山聖彦，スワード認証を求める運用ができるようになった．

山井成良，稗田隆：岡山大学における生涯 IDを実現する統合認証システムの構築，学術情表4

認可条件の設定（変更後）

岡山大学認証レベル アクセス元

認可条件（OpenAM認証レベル）1

学内

0（ID・パスのみ）

学外

2

2

学内

0（学外から追加）

学外

3

3

学内

3（学内も追加）

学外

3

報処理研究，No.15, pp.171–175 (2011).
[4] Shibboleth Consotium: Configuring the IdP
for the Multi-Context Broker Model Identity Provider 3 – Confluence (online),available from <https://wiki.shibboleth.net/
confluence/display/IDP30/Configuring+the+IdP+for+the+Multi-Context+Broker+
Model> (accessed 2016-08-04).
[5] 松平拓也：Shibboleth 用多要素認証導入のた

なお，LDAP 上の「利用者が常にレベル 2 以上めの技術ガイド (online)，入手先 <https://の認証を要求するかどうか」を示す属性は，岡山www.gakunin.jp/?action=pages_view_main&active_action=repository_view_main_ite
m_detail&item_id=227&item_no=1&page_id=85&block_id=227> (参照 2016-08-04).

大学における認証情報を一元的に管理する統合認証管理システムにおいて，ワンタイムパスワード認証に関する情報と共に，利用者自身で制御できるようにした．

[6] 中國真教：Shibboleth と OpenAM を組み合わせたハイブリッド型シングルサインオン認

おわりに4

本研究では，Shibboleth の認証を OpenAM と連携させることにより，サービスごと，利用者ごとに認証レベルを選択できるシステムを構築した．
現在，システム移行に伴う運用上の都合により，本機能の実運用には至っていないが，今後は，これを早急に実施し，実運用に伴う課題を明らかにする予定である．

謝辞
本研究の一部は JSPS 科研費 26330158 の助成を受けたものである．
本システムの構築に多大なるご尽力を賜ったオープンソース・ソリューション・テクノロジ株式
会社，株式会社ハイエレコン，株式会社日立製作
所各位に厚く御礼申し上げます．

証基盤の構築，第 6 回統合認証シンポジウム，pp.77–96 (2012).
[7] Chehab, M.I. and Abdallah, A.E.:
AssuranceinIdentity
ManagementSystems, Proc. IAS 2010, pp.216–221 (2010).