Library / singlesign-on


Library

Single Sign-on

シングルサインオン

 複数のコンピュータシステムやサービスを利用する場合、
それぞれにIDやパスワードといった認証情報が必要になる。
普通のユーザーでもプロバイダーのID とパスワード以外に2つや3つの認証情報をもっているはずだ。
今後さらにコンピュータやネットワークをつかったサービスが増えることは間違いないとすれば、
それにともなって認証情報が増えていくと、管理するのは非常に困難になる。
サービスの提供者から見ても、利用者側が管理できないようになっては元も子もない。
この問題を解決する1つの方法がシングルサインオンだ。

シングルサインオンとは一度の認証で複数のサービスを利用できることを指す。
例えば旅行に行く場合、航空券とホテル、レンタカーの3つのサイトを利用することを考えてみる。
従来はそれぞれのサイトで会員登録を行ない、別々のIDとパスワードでログインする。
しかしシングルサインオンに対応している場合、3つのいずれかにログインすれば、
あとの2つのサイトには認証なくアクセスできる。


 非常に便利な技術だが、実用には技術的な問題もさることながら、
政治的な側面も無視できない。現在シングルサインオンを提供するための勢力は2つある。
1つはマイクロソフトの.NET Passport、もう1つはサン・マイクロシステムズが中心となっているリバティアライアンスだ。
いつもの構図だが、それぞれの技術には一長一短がある。

 マイクロソフトの.NET PassportはユーザーそれぞれにユニークなIDをごく少数のセンターが発行し、
そのセンターへ一度ログインすることで、関連サイトにアクセスできるという考え方だ。
まさにパスポート的な考え方でシンプルである反面、
その少数のセンターに全ての情報が集まってしまうため、プライバシーや可用性に対する懸念があると言われている。

 一方サン・マイクロシステムズが中心として推進しているリバティアライアンスは、
フェデレーション(協調)モデルとよばれる、各サービス同士が連携することでシングルサインオンを実現する。
1つのサイトにログインすると、そのサイトと協調関係にある別のサイトに移動する際には、
サイト同士が認証を行うことでユーザーの認証を不要にするイメージだ。

 実はそれぞれで使われているベースの技術(XMLやSOAPなど)は共通で、
その上にどのようにシングルサインオンを実現するかの違いでしかなく、
それぞれが乗り入れることも不可能ではないと言われている。

 この2つは主にサービスに対する認証を主たる目的として提供されているが、
これ以外にもシングルサインオンを実現しようという動きがある。
その1つがShibbolethだ。

  Shibbolethはプロジェクトの名称であり、次世代インターネット研究開発コンソーシアム「Internet2」において研究が進められている。
内容は(どちらかと言えば)教育関係の組織間で、特にウェブリソースの共有を行なうために必要なアクセス制御や複数の組織間での認証情報の交換などに関するものだ。

 Shibbolethは組織同士でフェデレート(連盟)をつくり、そこに含まれるサイトにログインしたあとは、関連する組織のサイトにアクセスができる。
リバティアライアンスに似ているが、ポイントは、シングルサインオンのシステムではあるのはもちろんだが、その利用方法の1つであるアクセスできるリソースを変化させるという機能に重点を置いて開発されている点だ。
例えば自分の大学には自分の情報が保管されているのは当たり前だ。
そこを基点として別のサイトにアクセスする場合、自分が公開していい個人情報と、別サイトが要求する許可用情報(属性:アトリビュートという)を比較する。
例えばあるサイトは多くの情報には大学情報だけでアクセスできるが、
重要な情報の場合は研究分野までを要求するといったようなものだ。
そうすることで、自分が希望しない情報の公開を要求するサイトにアクセスをしなくてすむ。


 シングルサインオンは利用者、提供者それぞれにメリットをもたらすが、
いままでそれほど普及してこなかったのは政治的な部分(誰を信用する?マイクロソフト?競合他社?etc)が大きかったような気がする。
しかしShibbolethのような技術は、まずリソースの共有からと言う部分ではあるが、
限定的なアクセスを容易にするという部分で、実用的なシングルサインオンになるかもしれない。
http://www.blwisdom.com/rtech/13/