OpenID Providerのreputation問題、AOLの方針など
久しぶりに真面目にエントリを書いて見ます。OpenIDのreputation問題に関して、AOLがちょっと前に打ち出した一つの方針について思うところを書いてみます。
reputationとは
OpenIDに関するreputation問題とは、Claimed Identifierが指し示すIdP/OP*1が信頼するに値するかどうかと言う評価・評判の事です。
と言うのもIdP/OPと言うのは誰でもでっち上げる事が出来るので、どこの馬の骨とも分からないIdP/OPでも何も対策しなければ許可してしまうのがOpenIDの仕様です。
そのIdPを提供するwebサイトに脆弱性があり、アカウントがクラックされでもしたら、そのようなアカウントをもって認証されたユーザーを信頼できるでしょうか。
よって何らかの指針を持ってして、OpenIDのIdP/OPを評価しなければならないのでは無いか…と言うお話です。
AOLが打ち出した方針はホワイトリスト形式
ちなみに許可しているIdP/OPは以下のリストです。
via: Yahoo!
- myopenid.com
- claimid.com
- livejournal.com
- verisignlabs.com
- myvauthid.com
- openid.sun.com
- myvidoop.com
- signon.com
- idtail.com
- xlogon.net
- idproxy.net
- typekey.com
- sxipper.com
- alwaysknownas.com
ホワイトリストの抽出に関する評価指標
- How long have you been in existence? (どんくらい長く存在するか)
- What form of authentication do you support? (認証フォームにヘルプはあるか)
- Do you support https? (httpsに対応してるか)
- What’s your account recovery process? (アカウントのリカバリの仕組みはどうなってるか)
- What’s your privacy policy? (プライバシーポリシーがどうなってるか)
- How do you handle spamming? (どのようにスパム対策してるか)
- Do you support Attribute exchange? (Attribute Exchangeに対応してるか)
- Do you support PAPE? (PAPEに対応してるか)
- What’s your registration process? (登録手続きがどのようになってるか)
- Are you OpenID compliant (wait…that’s another big topic)? (OpenIDの仕様に準拠してるか。待てよ、もっと大事な事があるかも)
- Do you charge your users? (ユーザーを管理出来てるかどうか)
- Do you have a cool logo? (超クールなロゴを採用してるかどうかw)
と言った指標を打ち出してる。
まぁ最後のロゴはともかくして、概ね全うな事は言ってると思われる。
注意しなければならないのは、OpenID Attribute Exchange, PAPEの辺り。PAPEはOpenID Provider Authentication Policy Extensionの事でまだドラフトの仕様。Attribute Exchangeもドラフトのもの。
まだドラフトなのにreputation問題のトピックに挙がってるってのも、どうなんだろうなぁ。
reputation問題についてのまとめ
IdP/OP向け
このような指針に出来る限りマッチするようにIdP/OPの実装をするべきなんでしょう。
reputationが良くなるようなIdP/OPになるようにしないとですね。
Module-StarterをModule-Installに対応させる
Module-Starter-1.75 - a simple starter kit for any module - metacpan.orgって今のバージョンは1.42で、2005年にリリースされた物です。DEVELOPER RELEASEとして1.43_01が出ている物の、一向に更新が無いままです。
1.43_01では確かModule::Install対応してたはずなんですが、他のpluginが上手く動作しなかったはず。
まぁ、Makefile.PLだけなんで、Template-Toolkitの機能を使えば簡単に出来るよって事で。
use strict; use warnings; use inc::Module::Install; name('[% main_module.replace('::', '-') %]'); author('[% self.author %] <[% self.email %]>'); all_from('[%main_pm_file%]'); # abstract_from('[%main_pm_file%]'); # version_from('[%main_pm_file%]'); license('perl'); # requires('Add::Require::Modules'); use_test_base; auto_include; auto_install; WriteAll;
適宜変えて下さい。