仕様から学ぶOpenIDのキホンOpenIDの仕様と技術(1)(3/3 ページ)

» 2007年07月06日 00時00分 公開
[山口徹サイボウズ・ラボ株式会社]
前のページへ 1|2|3       

保存版・OpenID1.1の用語集

 ここでも公式の仕様の中の用語集から説明します。

●End User
実際にConsumerに対して自分のIdentityを認証しようとするユーザーのことです。

●Identifier
IdentifierはURLのことです。OpenID authentication protocolのすべてのフローはEnd Userが所有するURLを認証することに関するものです。

●Claimed Identifier
End Userが自分で所有していると主張するIdentifierのことで、Consumerによってまだ確認されていないIdentifierです。

●Verified Identifier
Consumerに対して、End Userが所有していると認められたIdentifierのことです。

●Consumer
End Userが所有するClaimed Identifierの認証を、IdPに対して要求するWebサービスのことです。

●Identity Provider
IdP(Identify Provider)やServerとも呼ばれます。ConsumerがEnd Userが所有するClaimed Identifierの暗号化された証明に対してコンタクトを取る相手がIdentify Provider(以下、IdP)です。どのようにしてEnd Userが自分を認証するIdPに対して自分のIdentityを証明するかはOpenID Authenticationの範囲外です【注3】

【注3】

OpenIDの仕様上、誰でもConsumerやIdPになれるという点から、特にConsumerはどのIdPを信用したらよいかという問題が残ります。

これに関しては現行仕様の中では触れていませんし、現時点で有効な解決策も見つかっていません。詳しく知りたい方はopenid-jaグループの以下のスレッドを参照してください。

How to authorize the identity providers in OpenIDhttp://groups.google.co.jp/group/openid-ja/browse_thread/thread/24237e403a7ef82a?hl=ja


●User-Agent
End Userが所有するWebブラウザのことです。特別なプラグインやJavaScriptの実行環境は必要ありません。


 この用語集に出てくる言葉はいわばOpenIDにおける登場人物のようなものです。仕様書の訳なので若干難しいですが、下記のようなシナリオを描くと理解しやすいと思います。

Consumerが提供するWebサービスはOpenID Authenticationに対応しています。

いまこのWebサービスを利用したいと考えるEnd Userがいて、そのEnd UserはOpenID Authentication protocolをサポートしたIdPによって認証されるIdentifierを所有しています。

End UserはConsumerに確認されていないClaimed IdentifierをConsumerに提示することにより、ConsumerはIdPと連携し、End UserのUser-Agent経由で認証を行い、Verified Identifierとします。

図3 OpenIDのシナリオ 図3 OpenIDのシナリオ

 さて、ここで一度まとめておきましょう。

  • OpenIDにおけるIDとはURLのことである。
  • End Userは自分のClaimed IdentifierConsumerに対して認証してくれるIdPに加入していなければならない。End UserはどのIdPに加入していても良く、ConsumerはいずれのIdPであっても協調してEnd UserClaimed Identifierの認証手続きを行わなければならない。
  • IdPがConsumerに対して認証するのはEnd UserClaimed Identifier、即ちURLが、End Userが確かに所有しているかどうかということである。

 これらから分かるように、OpenIDは個人のアイデンティティをURLとして表現し、分散型の認証方式を提供するオープンな認証システムだといえます。

 次回はこれらを押さえたうえで、実際にどのような手続きによってClaimed IdentifierがVerified Identifierとなるのかを紹介します。

Profile

サイボウズ・ラボ株式会社

山口 徹(やまぐち とおる)

サイボウズ・ラボ株式会社のプログラマー。

バーテンダーからIT業界に転身後、様々なWeb制作を行い、大規模コミュニティサイトの開発・運用を経て、現在は研究開発の日々。Perl使い。

Perlを中心とした開発のノウハウやネタをShibuya Perl Mongersのイベント等で発表するなど講演活動も行う。

個人の開発日記は「Yet Another Hackadelic」、仕事のブログは「log4ZIGOROu


●修正履歴

【2007/7/9】

初出時に「Authentication(認証)」と「Authorize(認可)」について、訳語・用法が不適切な部分がございました。本用語について全体的に見直しを行い、修正・加筆いたしました。



前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。