OpenID について調査

OpenID とは,認証システムの名称,および,そこで使用される識別子(Identifier)である.

OpenIDアカウントをひとつ持っていれば,1000を超える,OpenID認証システムに対応したサイトやウェブサービスなどを利用することが可能となる.サイトごとのアカウントを持つ必要が無くなるため,アカウントの管理が楽になるという利点がある.

例えば,私のOpenIDの一つが,"http://haokacci.blogspot.com/"である.言うまでもなく,このブログのURLである.Google が認証局となるOpenIDである.

目的

シングルサインオン(SSO)の実現.

実現方法

  • 分散認証システム
  • 複数の認証プロバイダ 例:Google, Yahoo,..., はてな
  • ブラウザベース認証API
  • XRI

デメリット

  • 認証サーバーを信頼していいか判断できない.
  • イントラネット内での利用が難しい(URLを識別子とするから).

認証プロトコル

  1. UserAgent to Consumer: Claimed Identifierの入力
  2. Consumer to Consumer: Identifierからserver, delegateの処理
  3. Consumer to OP: キャッシュが無い場合は共通鍵の共有処理
  4. Consumer to UserAgent: OPへのリダイレクト要求
  5. UserAgent to OP: OPへリダイレクト,OPでの認証要求
  6. OP to OP: 認証処理
  7. OP to UserAgent: 認証結果を付けたConsumerのURLに対してリダイレクト要求
  8. UserAgent to Consumer: Consumerにリダイレクト(この時点で認証結果が伝えられる).

懸念

UserAgentが嘘をついたら?(メッセージダイジェストなどを使っているはず?)

関連技術・サイト

コメント

このブログの人気の投稿

Gbps でなく GT/s

HCSLに33オームの直列抵抗が必要な理由

PowerShellによるExcel/PowerPointの操作