図1 OpenIDの概要とメリット
図1 OpenIDの概要とメリット
[画像のクリックで拡大表示]
図2 OpenID 2.0を使った認証の流れ
図2 OpenID 2.0を使った認証の流れ
[画像のクリックで拡大表示]

 OpenID 2.0とは,一つのユーザーIDで複数のWebサイトを使える認証技術の最新版である。2008年2月には,OpenIDの仕様策定や普及活動を行う団体「OpenID Foundation」(OIDF)に,グーグルやマイクロソフト,ヤフーといった大手Webサービス関連企業が参加を表明した。それに続き,国内に支部を設立する動きが出てきている。

 2007年12月に公開された仕様「OpenID Authentication 2.0」(以下OpenID 2.0)を基にそのしくみを見ていく。OpenIDの特徴の一つは,インターネットで使われている「URL」(uniform resource locator)をIDとして使える点である(図1)。エンドユーザーは,まずOpenIDの発行や認証を担うWebサイト「OpenIDプロバイダ」(OP)に,必要な個人情報を入力してユーザー登録し,ユーザー名とパスワードを取得する。ここまでは従来のWebサイトのユーザー登録と変わらない。 OpenIDではこれに加えて,OPがユーザー名とパスワードにひも付けたURLをユーザーに発行する。このURLは,OpenID対応の他のWebサイト(relying party:RP)のユーザー登録にも使えるようになる。

 もう一つの特徴は,OpenIDの名称通りの“オープン性”である。従来は,Webサイトごとにその運用者が特定の認証システムを提供するのが一般的だ。ユーザーは,利用したいWebサイトに自分の個人情報を預けるしかない。一方OpenIDでは,OIDFがインターネットに公開している仕様にのっとって,誰でもOPを開設できる。ユーザーは,インターネット上のOPの中から,自分の認証を任せるOPを選べるようになる。

 OpenIDにはさまざまなメリットがある。ユーザーにとっては,複数のWebサイトで利用するIDをOpenIDのURLに一元化できる。新たにWebサイトにユーザー登録する際に一から情報を入力する手間が省ける,といったメリットもある。RPにとっても,ユーザーに気軽にWebサイトを試してもらうことができる点や,OPに認証システムの構築やユーザーの個人情報の管理を委ねられる点などがメリットだろう。

 OpenID 2.0を使ったログイン手順の一例で,もう少し詳しくOpenID 2.0のしくみを見ていこう(図2)。

 ユーザーがRPにURLを入力する(図2の(1))と,そのURLを基にRPが認証を担うOPにアクセスして認証が始まる(同(2),(3))。オプション機能を採用していると,通信内容の改ざん防止のために,RPとOPの間で認証用データの生成に使う共通鍵を交換する(同(4))。次に,RPはユーザーがアクセスしているWebページをOPの認証用ページにリダイレクトする(同(5))。ユーザーが,そのページにOPのユーザーIDとパスワードを入力(同(6))すると,OP がそのユーザーを認証(同(7))。その後,OPはユーザーがアクセスしているWebページを,改めてRPにリダイレクトする(同(8))。この時,認証結果に加えて,改ざん防止用の認証データなども一緒に送る(同(9))。RPは,認証結果などをチェックし,問題なければユーザーにログインを許可する(同(10))。

 OpenID 2.0では,旧バージョンに比べて,ログイン時(図2の(1))にユーザーが入力する文字列のバリエーションが増えた。以前はユーザーが個別に持っているURLしか利用できなかったところを,OpenID 2.0では,各OPごとに決められている代表のURLを入力してもよいことになった。例えばヤフーの場合,ユーザー固有のURLは「https: //me.yahoo.co.jp/a/(数十字の英数字)」と非常に長い。一方,ヤフーの定めた代表のURLは「yahoo.co.jp」とわかりやすく覚えやすいといったメリットがある。このほか,例えば「=tamura」といった非常に短い文字列を使う規格も加わった。

 さらに,2.0では(3)で読み込むデータとして,HTMLだけでなくXML形式のデータを使える。XMLを利用すると,複数のOPをリスト化して優先度を付け,必要に応じて使い分けられるようになる。例えばRPで,普段はIDとパスワードのみで認証するOPを使い,金銭的なやりとりが発生する際はワンタイム・パスワードも必要なOPを使うといった実装が可能になる。

 認証データの生成に使うハッシュ・アルゴリズムなど,OpenID 2.0ではセキュリティ面も強化されている。しかし,現在のところ,OpenIDには「そのOPがどのくらい信用できるか」という指標が存在しない。ユーザーやRPは,自分がやりとりしようとしているOPが信頼できるのか,判断するのが難しい。そのため,現状では,ホワイトリストを使って認証のやりとりが可能なOPを制限しているRPもあるという。ただし,ホワイトリストの使用は,OpenID本来のオープン性と相反する。そこでOIDFでは将来的に,OPやRP,ユーザーそれぞれの信頼性を判定するレピュテーション・サービスの実用化を目指している。