SAML Single Log Out

https://wiki.shibboleth.net/confluence/display/SHIB2/SLOIssues

IdPから渡される認証情報は3レイヤ、場合によっては4レイヤで保持される

  • IdP
  • SP
  • SP上のアプリ
  • ブラウザ
特に厄介だと思われるのは、フェデレーションにおいてSPとIdPはN:1、かつSPと同士は互いに相手を知り得ないのがプロトコル上明らかなことだと思う。ある特定のSPがIdPと一気通貫でログアウト (そもそもこれもShibbolethでは比較的最近できるようになったらしい) したとして、他のSPはそれを知り得ない。SPが知り得ない以上、その上の(例えばShibboleth SP上で構築された)アプリが知るのは更に難しい。仮にSPが知っていたとして、アプリが気をつけていない場合、アプリ上のセッション情報が残ってしまうことがある。ブラウザキャッシュはブラウザが壊れていなければ比較的対策方法が自明かもしれないが、バグっていたりすると目も当てられず、SAMLのノウハウというのは他ほど出まわらない。

やや脱線するが、SPという表現で示されるものがしばしば異なることも問題をややこしくさせると思う。ある人は認証を要求するホストと思うかもしれないが同じURIを共有していればIdPからは一つのSPだ。1ホストで2つ以上ののURIを持つことは可能で、一つのSPが一つのアプリを意味するわけでもない (Shib-SPにSAMLプロトコルの処理をまるなげした場合、IDを分けてなければSPとしては「同じ」になるが、それに依存しているアプリは複数あり得る)。


このブログの人気の投稿

WiiUのコントローラが通信不良に陥った話

LibreOfficeで表紙、目次、本体でフッターのページ番号のスタイルを変える

技術書典2 あ-03 『もわねっとのPythonの本』