ID管理と OpenID について
ちょっと出遅れたけど、 OpenID の話が盛り上がってる。 個別の話題についていけないけど、代わりに去年の6月に作った資料を晒してみるよ。 ちょうど OpenID に興味を持ち始めていた頃に調べながら作ったもの。
- インターネットにおけるID管理の考察 (SlideShare)
まだ OAuth が出る前だったので、 OAuth の話はなし。 ちなみに元は PowerPoint でアニメーション付きだった。 最後の方に OpenID の Reputation 話を書いてる。 このときは、認証サーバ (OP) の Reputation じゃなく、その中のユーザごとの Reputation についての論文を読んでた。 A さんは信用できるけど B さんは信用できない、みたいな。
ついでに、最近の OpenID の議論を軽く追っかけて、話題ごとにリンクを整理してみた。 ブクマしていたのを一通り読んだつもりだけど、漏れがあったら教えてください。
複数 OpenID の使い分けについて
例えば、複数のはてなアカウントを持っている場合に、アカウントAでログインしている状態で(ログアウトせずに)アカウントBでログインしようとしたらどうなる?という話題。 はてなに閉じたサービスの場合はログアウトしないとログイン画面が出てこないので、こういうケースは(たぶん)ない。 でも、 OpenID のように複数サイトで認証情報を持ちまわる(かつ認証情報は「共有」されていない)場合には、こういうケースも考慮しなきゃいけない。
- たけまる / 複数の OpenID を切り替えて使うときの振る舞い
- 「ユーザが OpenID を使って RP にログイン → RP だけからログアウト → OpenID を使って RP に再ログイン」 のときに, 同一の IdP にある複数の OpenID を使いわけるというユースケース - tkudo's weblog about identity management
- たけまる / OpenID は「ログアウトしない」のかなぁ
- OpenID をどう扱うかは, それを扱うサイトの考え次第 - tkudo's weblog about identity management
tkudo さんによると、 Sun の OpenID サーバは1人に対して1アカウントなので、ログイン中に別アカウントでログインしようとしたらエラーになる (cancel が返ってくる) らしい。なるほど。 ID と本人の結びつきの強さ(本人性)によって、望ましい挙動が変わってくると。
FireFox 拡張について
OpenID では、自分の ID を入れるテキストエリアに openid_url という name を付けることが推奨されている。 こうすれば、 Web ブラウザの補完機能を使って、自分の ID を簡単に入力できる。
んで、この FireFox 拡張はそれよりも一歩進んで、「さらにログインフォームと思しきフォームではクリック一つでログイン出来る」ようになっているみたい。 ここは推測で書くけど、 FireFox 拡張を使う利点の1つはフィッシングへの対策。 OpenID のセキュリティリスクとして、悪意のある RP (認証を要求する側のWebアプリケーションね) が偽のログイン画面を出して、 ID とパスワードを奪取するという危険性が指摘されてる。 まぁ、ちゃんとアドレスバーをみて正しい認証サーバかどうかを確認すればいいんだけど、うっかり確認を忘れることだってある。 そういうときに、正しい認証サーバを FireFox 拡張が覚えていてくれれば、偽のログイン画面を検出することができる。 (Sxipper の拡張がその機能を持っているかどうか知らないけど、たぶん持っているんだろう)
この辺の話は、OpenIDをとりまくセキュリティ上の脅威とその対策 − @ITに詳しい。
OpenID の仕様について
- DSAS開発者の部屋:Python で OpenID の認証サーバーを動かしてみました ← OpenID の仕様が簡潔にまとまってる
- OpenID や OAuth の役割と、既存のシングル・サインオンとの違い:Goodpic ← こちらはポジションの違いについて
OpenID の適用シーンについて
- 本当は怖いOpenIDによる認証 - mitani1207の日記 ← 認証サーバ (OP) によってセキュリティレベルが違うんだから、重要な情報を扱う場合は OpenID の認証だけじゃ不十分という問題提起
- Re:本当は怖いOpenIDによる認証 - Yet Another Hackadelic ← 認証サーバの格付け (Reputation) が必要 & OpenID の認証と各サイトの認証の組み合わせについて(Amazonで決済前にパスワードを入れるのに似たような発想かも)
- たけまる / OpenID に向いている認証と向いてない認証 ← 認証サーバがリスクを負うかどうかで OpenID の使用可否を判定するという話。これも本人性と追跡可能性の議論かも。
- OpenIDの使いどころ - Yet Another Hackadelic ← 信頼できる組織が OP になったら?という話と、まずは新規登録時の属性交換に使ってみたらという話。
tkudo さんが書いているかもしれないけど、認証サーバに信頼性(本人性が高いという意味での)が求められる場合は、 OpenID じゃなくて SAML のような信頼に基づく仕組みを使った方がいいと思う。 livedoor と GMail の連携みたいにね。
OpenID の動向
Google は OAuth の仕様にも関わっているので、 OpenID にも参加したら面白くなりそう。