2008/03/11

誰でも分かるOpenID入門~第3回「OpenIDの基本認証フロー」

グアムにてPADIアドバンスライセンスを取得してきました。これで水深40mまで潜れるようになりました。しかしグアムという場所は変なところで、日本語にあふれていました。かなりの違和感。以前シェラトン@フィジーに行ったことがありますが、あっちは日本人はアウェイ感に溢れていたのとは大違い。

まぁ、それは置いといて、OpenIDを。

OpenIDの基本認証フロー

OpenID Authentication 2.0の基本的な認証フローを図にしてみました。Finalに準拠しているので、RP Discovery(後述)についても触れたいと思います。

openid_process

図、「OpenID Authentication 2.0 基本認証フロー」

  1. OpenID入力(Inputting OpenID identifier)
  2. OP発見(Discoverying OP-Endpoint url)
  3. アソシエーション確立要求(Requesting an association)
  4. アソシエーション確立応答(Responding an association request)
  5. 認証要求(Requesting an authentication assertion)
  6. RP発見(Discoverying and verifing RP's return-to-url)
  7. パスワード入力(Inputting your credential: maybe password)
  8. 認証応答(Responding an authentication assertion request)
  9. 認証結果の検証(Verifing assertion)
  10. 結果の直接検証要求(Requesting verification)
  11. 結果の直接検証応答(Responding verification request)

2008/03/01

誰でも分かるOpenID入門~第2回「認証依存サイトと認証サーバ」

OpenID Foundation Japan設立へ

第一回から相当な時間が経過してしまった。その間に先日はOpenID Foundation Japan(仮称)設立へ向けての報道記者発表があったりした。その時僕はオフィスでIT系メディアを見ながら喜んでいたわけですが。みなさんがDavidと握手してたね。Davidは20歳らしい。本当に若くてアイデアにあふれてる!

認証依存サイトと認証サーバ

第二回は、OpenIDをはじめ様々な技術パラダイムである、認証依存サイトと認証サーバの関係について簡単に説明し、OpenIDの簡単な動作の流れを見てみようと思います。

従来の認証パラダイム

アカウント(ユーザーIDとパスワード情報を含む)をサイトに登録し、サービスを利用するときにログインするのは、インターネットの世界では当たり前の概念だと思う。肝心なのは、IDとパスワードを入力するのは、あなたがログインしようとしているサイトに対して行われるという点。認証情報はそのサイト独自のものであって、別サイトで同じIDパスワードでアカウント登録したところで、その2のアカウントは紐付いていないので、一方でパスワード変更してももう一方は更新される訳ではない。

認証機能を特定サイトから分離する

認証機能は世の中の多くのサイトが持っているが、どこのサイトも同じような機能を実現していている。しかしながら乱暴に言ってしまうと、認証とは特定のユーザーIDに対するパスワードが正しく入力されたかという認証結果を得るのが目的であり、この部分を代理してあげる全く別のサイトがあっても良い訳である。これが、認証依存サイトと認証サーバの関係であり、OpenIDもこの考え方をとっている。

openid_general

図:従来の認証と、OpenIDでの認証の違い

 

上の図で、事前準備としてユーザーはOpenID認証サーバからOpenIDを取得する。ユーザーはOpenID認証依存サイトに取得したOpenIDを入力し、実際のパスワードはOpenID認証サーバに入力することで認証を行う。

イントラネットを主な利用範囲とするSAMLといった他のプロトコルと比べて大きく違う点は、OpenIDはインターネット上に散らばるありとあらゆる認証依存サイトと認証サーバが連携することができるという点である。もちろん一長一短あるのだが、その辺はそのうちまとめたいと思う。

あとがき

鋭いか方なら違和感を感じているだろうが、OpenIDを入力しただけでどうやってOpenID認証依存サイトから認証サーバの場所を知って移動できるの?とか、セキュリティーはどの様に守られるの?とか様々な疑問点があるだろう。また、OpenIDとしては、通常のURL形式の他にXRI形式と呼ばれるものもあるが、その点については順次説明していく(予定)。