OpenIDは認証のための仕様では無い

2010/4/29 現在の日本語版Wikipediaには、OpenIDについて、以下のような説明がある。

「OpenID(オープンアイディー)とはウェブサイトによらず使用できる認証システムの標準、およびそこで使用される識別子である。
ひとつのOpenIDがあれば、複数のOpenIDシステム対応サイトを利用できる。」(出所:Wikipedia日本語版/OpenID)

違うんだよね〜、と個人的には思う。

OpenID の ID は、Identity の IDです。

なので、理解するには、まず Identity あるいは Digital Identity のなんたるか、を理解しなければなりません。

これが、普通の人には案外難しいらしい。たぶん我々の言葉の使い方の問題なんでしょうね。

われわれ専門家は、Digital Identity について、こんなふうな説明をします。

Entity/Subject(主体) とは、人、企業、ソフトウェア、マシン、アクセスしようとしているリソース、取引などをさします。
Identity とは、Entity/Subject(主体)に関わる様々な属性、好み、形質の集合体です。
属性とは、後天的に取得された、主体を説明する情報で、治療履歴、購買履歴、銀行残高、名前、学籍番号、免許証番号のようなものがこれにあたります。このうち一部は、他の主体との関係によって成立しているので、「関係性」として外出しして呼ぶことも多いです。
属性は多くの場合変わります。
好みとは、好きな食べ物とか、窓側の座席が好きだとか、そういうこと。
形質とは、性別だとか、生年月日だとか、その個体に先天的に特有の性質のことをさします。多くの場合、その個体の存在を通じて変化しないか、非常にゆっくりしか変化しません。
これらをまとめて「属性」と呼ぶこともあります。*1
Digital Identity とは、この「Identity」をデジタル空間に移し変えたものです。
Internet Identity とは、Digital Identity のうち、インターネット上に生息するもののことです。
OpenIDは、そのような Digital Identity を実現するためのフレームワークの、オープンな標準規格です。

はい。頭パニック、という人も多いと思います。

本当は、「ID」を論じるには、少なくともこのくらいは理解してないと厳しいのですが、やっぱり、直感的に一言で多くの人に理解してもらえるような説明が欲しい。

で、こんなことを、この手のテクノロジーとは何の関係もなさそうな何人かの人に言ってみました。

ニンテンドーのWii って知ってますか?
あれでゲームをやるときに、mii って作りますよね?自分の分身。
顔も似せて、名前もつけて、ゲームの記録などはみな mii が持っている。
ゲームをやりに行くのも mii。あれがデジタル・アイデンティティです。
ただし、mii は Wii の中でしか生きられません。
一般のインターネットで生きられるようにするには、その成り立ちを多くの機械が理解できるように、「標準化」をして仕様をオープンにしなければなりません。そういったデジタル・アイデンティティの規格の一つが「OpenID」です。
つまり、あるサイトでサービスを受けるには、あなたの分身である OpenID(Wii でいうところの mii)をそのサービス、例えば雑誌の購読などに行かせます。

雑誌の購読だったら、定期券のようなものを雑誌サイトは提供してくれるでしょう。OpenIDはそれを保持することもできます。その場合は、そのサイトに行ったときに、OpenIDはその定期券をサイトに提示します。*2

また、定期券をサイトの窓口で預かっておいてくれることもあるでしょう。
その場合、OpenIDが自分の身分証明書をサイトの窓口で見せると、定期券を渡してくれるので、サイトの中に入って利用することができます。退出するときには、また窓口に定期券を返します。*3

OpenIDは、あなたの分身ですから、そこにいろいろなものを預けておくことができます。たとえば、サイトの利用契約などもそうです。購買履歴などもそうですね。

その人達は、「うん、わかった」と言ってもらえたけど…。
ちょっとはわかりやすくなりました?

こうしたらもっとわかりやすくなるのではないか、などの提案募集中です。

*1 Phil Windley “Digital Identity” をもとに改変、補記
*2 Bearer Token の例
*3 Session Cookie の例

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください