2009年3月6日金曜日

OpenID自習

OpenIDの勉強をちょっとしてみようかなと思った。
http://openid.net/specs/openid-authentication-1_1.html を見ながら、例え話みたいなもので理解してみようと考えた。例えが的確かはわからない。

---

アマヤ君が、目の前にあるなんちゃらランドに入場したいと思っている。このなんちゃらランドの入場管理役は、入場したい人が本当にその人本人であることが証明できたら入場を許可してもよいと思っている。

ここでいう「本人であることの証明」とは、本人の所属する組織がその人を確かに本人だと認めることである。

なので入場管理役は、まずアマヤ君という名前の人物がどこに所属しているかを調べる。これをアマヤ君本人に聞いては信用ならないので、事務室に帰って専用の検索サービスで調べる。ここで、アマヤ君はタチバナ市に所属する人物であることがわかった。

入場管理役「アマヤ君とやら、あなたがあなたであることを証明できるのはタチバナ市の認証担当者ということだ。たいへんお手数だが、今からタチバナ市に赴いて、その担当者からこの書類にハンコをもらってきてくれたまえ。押してもらうハンコは、必ず40227番のハンコと指定しなさい。タチバナ市にはたくさんのハンコがあるはずだが、これ以外のハンコが押されている場合は無効であるから心せよ。」

今、入場管理役がハンコの番号をはっきり指定したのは、現在、その管理役自身も手元にその40227番のハンコと全く同じものを持っているからである。実はさっき、アマヤ君が訪れてから、大急ぎでタチバナ市に渡りをつけてこのハンコを共有したのだ。(次回からは、他のタチバナ市の人間が来ても、しばらくこのハンコを使いまわす予定。タチバナ市でなくハイジマ町だったりしたらまた別のハンコを準備する)

数時間後、アマヤ君が息を喘がせて再びなんちゃらランドの門前に帰ってきた。タチバナ市の担当者にハンコをもらってきたという。

よろしい、精査するので待ちたまえ、と、入場管理役はその書類を持って事務室に戻る。そこで、同じ文面の書類を作って、自分が持っている40227番のハンコを使って全く同じようにその書類の上に捺印してみた。完全に同じハンコを使うから、文字のインクとにじんで朱肉が交じりあう様子も全く同じだ。これはもう疑いなく、アマヤ君がタチバナ市の担当者に認められて戻ってきたということに違いない。

大変おまたせした、アマヤ君、我々は君を確かにアマヤ君であると認め、このなんちゃらランドへの入園を心から歓迎するものである。

※なんちゃらランドとタチバナ市が行った印章の共有は、OpenID1.1では平文方式とDH鍵交換方式があってどちらかを選べる。平文が実装は楽だろうが、セキュリティに劣る。

※このケースでは、なんちゃらランドが印章をあらかじめ共有しているという「スマートモード」の場合を想定した。印章をあらかじめ共有しない「ダムモード」というやりかたもある。

※アマヤ君がタチバナ市に行かされたのは、checkid_immediateモードでか、checkid_setupモードでかは明確にしていない。仕様では、どっちも似たようなものと読めた。

※アマヤ君がどうやってタチバナ市に自分のことを証明したかは、なんちゃらランドでは関知していない。合言葉でも使ったんじゃないの?または顔パスなのかな。どっちでもいいよ。ハンコさえ押してもらったんなら。

0 コメント: