(57)【要約】【課題】外部の認証サイトにおけるユーザ認証の結果にもとづいてユーザ情報を特定する処理における効率性と正確性を両立させる。【解決手段】ユーザ情報管理装置２２は、複数のユーザのそれぞれに関する属性情報を、本装置における各ユーザのＩＤを示す内部ＩＤと対応づけて保持し、また内部ＩＤと、外部の認証サイト２０におけるユーザ認証の結果を示す外部認証情報と、外部認証情報のダイジェスト値とを対応付けて保持する。ユーザ情報管理装置２２は、ウェブサーバ１０から特定ユーザの属性情報の提供要求を受け付けると、認証サイト２０から取得された外部認証情報のダイジェスト値が設定されたレコードを特定し、特定したレコードの中から外部認証情報のオリジナル値が設定されたレコードをさらに特定することにより上記特定ユーザの内部ＩＤを確定する。そして、その内部ＩＤと対応づけられた属性情報をウェブサーバ１０へ提供する。【選択図】図１
2012203764.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザのそれぞれに関する属性情報を、本装置における各ユーザのＩＤである内部ＩＤと対応づけて保持するユーザ属性保持部と、
前記内部ＩＤと、外部の認証サイトにおけるユーザ認証の結果得られた情報である外部認証情報と、外部認証情報よりもデータ長が短い外部認証情報のダイジェスト値とを対応づけたレコードであって、複数のユーザに対応する複数のレコードを保持する対応関係保持部と、
特定のユーザに関する属性情報の提供要求を外部装置から受け付ける要求受付部と、
前記特定のユーザを前記認証サイトに認証させるための所定の仲介処理を実行し、前記特定のユーザの認証が成功した場合、その旨を示す外部認証情報を前記認証サイトから取得する認証仲介部と、
前記対応関係保持部に保持された複数のレコードの中から、前記認証サイトから取得された外部認証情報のダイジェスト値が設定されたレコードを特定した上で、特定したレコードの中から、前記認証サイトから取得された外部認証情報が設定されたレコードをさらに特定し、そのレコードに設定された内部ＩＤを前記特定のユーザの内部ＩＤとして決定する検索処理部と、
前記ユーザ属性保持部において前記特定のユーザの内部ＩＤと対応づけられた属性情報を前記外部装置へ提供するユーザ属性提供部と、
を備えることを特徴とするユーザ情報管理装置。
【請求項２】
前記対応関係保持部は、
内部ＩＤと外部認証情報のダイジェスト値とを対応づけたレコードであって、複数のユーザに対応する複数のレコードを格納した第１テーブルと、
内部ＩＤと外部認証情報とを対応づけたレコードであって、複数のユーザのうち一部のユーザに対応するレコードをそれぞれ格納した複数の第２テーブルと、を含み、
前記複数の第２テーブルのそれぞれは、互いに異なる数値範囲の内部ＩＤに対応するレコードを格納し、かつ、互いに異なる環境に配置されるものであり、
前記検索処理部は、
前記第１テーブルにおいて、前記認証サイトから取得された外部認証情報のダイジェスト値と対応づけられた内部ＩＤを特定する第１検索処理部と、
前記第１検索処理部により特定された内部ＩＤに応じて前記複数の第２テーブルのうち検索対象とするテーブルを決定し、検索対象の第２テーブルにおいてその内部ＩＤと対応づけられた外部認証情報と、前記認証サイトから取得された外部認証情報とが一致する場合、その内部ＩＤを前記特定のユーザの内部ＩＤとして決定する第２検索処理部と、を含むことを特徴とする請求項１に記載のユーザ情報管理装置。
【請求項３】
前記対応関係保持部は、前記特定のユーザの内部ＩＤと、複数の認証サイトのそれぞれにおける前記特定のユーザの外部認証情報と、各認証サイトの外部認証情報のダイジェスト値とを対応付けて保持し、
前記認証仲介部は、
前記複数の認証サイトのうち前記特定のユーザにより選択された認証サイトに当該ユーザを認証させるための仲介処理を実行して、前記選択された認証サイトから外部認証情報を取得し、
前記選択された認証サイトからの外部認証情報にしたがって前記検索処理部が前記特定のユーザの内部ＩＤを決定できない場合、前記選択された認証サイトとは異なる認証サイトに当該ユーザを認証させるための新たな仲介処理を実行して、前記異なる認証サイトからも外部認証情報を取得し、
前記検索処理部は、前記異なる認証サイトからの外部認証情報にしたがって前記特定のユーザの内部ＩＤを決定するための処理を再度実行することを特徴とする請求項１または２に記載のユーザ情報管理装置。
【請求項４】
ユーザ情報を管理するコンピュータに、
複数のユーザのそれぞれに関する属性情報を、当該コンピュータにおける各ユーザのＩＤである内部ＩＤと対応づけて第１の記憶領域に記憶させる機能と、
前記内部ＩＤと、外部の認証サイトにおけるユーザ認証の結果得られた情報である外部認証情報と、外部認証情報よりもデータ長が短い外部認証情報のダイジェスト値とを対応づけたレコードであって、複数のユーザに対応する複数のレコードを第２の記憶領域に記憶させる機能と、
特定のユーザに関する属性情報の提供要求を外部装置から受け付ける機能と、
前記特定のユーザを前記認証サイトに認証させるための所定の仲介処理を実行し、前記特定のユーザの認証が成功した場合、その旨を示す外部認証情報を前記認証サイトから取得する機能と、
前記第２の記憶領域に記憶された複数のレコードの中から、前記認証サイトから取得された外部認証情報のダイジェスト値が設定されたレコードを特定した上で、特定したレコードの中から、前記認証サイトから取得された外部認証情報が設定されたレコードをさらに特定し、そのレコードに設定された内部ＩＤを前記特定のユーザの内部ＩＤとして決定する機能と、
前記第１の記憶領域において前記特定のユーザの内部ＩＤと対応づけられた属性情報を前記外部装置へ提供する機能と、
を実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理技術に関し、特に、ユーザに関する情報を管理する技術に関する。
【背景技術】
【０００２】
インターネットやブロードバンドサービスの普及に伴って、様々な金融サービスやＥＣ（Electronic Commerce）サービスがオンラインでユーザに提供されている。このようなオンラインサービスを提供するサービス提供装置の中には、サービスを提供するためにユーザの情報を要求するものがある。以下の特許文献１では、サービス提供装置に対するユーザ情報の提供許否をユーザに確認し、提供が許可されたユーザ情報をサービス提供装置へ提供する属性情報開示技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１９９５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、外部の認証サイトにおいてユーザ認証に成功したことを条件としてユーザ情報を提供する場合、外部の認証サイトにおけるユーザ認証の結果にもとづいて、提供対象となるユーザ情報を特定する必要がある。本発明者は、その特定処理における効率性および正確性を両立させる発想や、そのための具体的な方法はこれまで十分に提案されてこなかったと考えた。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は、外部の認証サイトにおけるユーザ認証の結果にもとづいて、提供対象となるユーザ情報を特定する際の効率性および正確性を両立させるための技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様のユーザ情報管理装置は、複数のユーザのそれぞれに関する属性情報を、本装置における各ユーザのＩＤである内部ＩＤと対応づけて保持するユーザ属性保持部と、内部ＩＤと、外部の認証サイトにおけるユーザ認証の結果得られた情報である外部認証情報と、外部認証情報よりもデータ長が短い外部認証情報のダイジェスト値とを対応づけたレコードであって、複数のユーザに対応する複数のレコードを保持する対応関係保持部と、特定のユーザに関する属性情報の提供要求を外部装置から受け付ける要求受付部と、特定のユーザを認証サイトに認証させるための所定の仲介処理を実行し、特定のユーザの認証が成功した場合、その旨を示す外部認証情報を認証サイトから取得する認証仲介部と、対応関係保持部に保持された複数のレコードの中から、認証サイトから取得された外部認証情報のダイジェスト値が設定されたレコードを特定した上で、特定したレコードの中から、認証サイトから取得された外部認証情報が設定されたレコードをさらに特定し、そのレコードに設定された内部ＩＤを特定のユーザの内部ＩＤとして決定する検索処理部と、ユーザ属性保持部において特定のユーザの内部ＩＤと対応づけられた属性情報を外部装置へ提供するユーザ属性提供部と、を備える。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、ユーザの情報を管理する装置において、外部の認証サイトにおけるユーザ認証の結果にもとづいて、提供対象となるユーザ情報を特定する際の効率性および正確性を両立させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態である通信システムの構成を示す図である。
【図２】図１のユーザ情報管理装置の機能構成を示すブロック図である。
【図３】第１ＩＤテーブルの構成を示す図である。
【図４】第２ＩＤテーブルの構成を示す図である。
【図５】ユーザアクセスサイトにおける画面表示内容を模式的に示す図である。
【図６】ユーザ情報管理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
実施の形態の構成を説明する前に、まず概要を説明する。
現在、通信キャリア・ＩＳＰ（Internet Services Provider）・ポータルサイト事業者・ＳＮＳ（Social Networking Service）事業者・ブログサービス事業者等、様々なサービス事業者はユーザを認証するための認証サイトを公開している。そして、その認証サイトを介したユーザの認証結果、言い換えれば、「クレデンシャル」とも呼ばれるセキュリティ関連の属性情報を他社へ提供することがある。また、ユーザを認証するための標準プロトコルとしてＯｐｅｎＩＤやＯＡｕｔｈが定められている。認証サイトにおける認証結果を示す情報（いわゆるクレデンシャルであり、以下「外部認証情報」とも呼ぶ。）は、これらの標準プロトコルに準拠したデータ形式にて提供されることがある。
【００１１】
本実施の形態で提案するユーザ情報管理装置は、ユーザの属性情報を保持する。そして、ユーザがアクセスしたウェブサイトからユーザの属性情報の提供を要求された場合、外部の認証サイトにおいてユーザの認証に成功したことを条件として、ユーザの属性情報をその要求元のウェブサイトへ提供する。
【００１２】
ユーザ情報管理装置は、ユーザの属性情報を、その検索の際の検索キーとするためのユーザＩＤと対応づけて記憶する。このユーザＩＤは、外部環境の変化を受けにくくするため、本装置においてユーザに付与したＩＤであり、以下では「内部ＩＤ」とも呼ぶ。内部ＩＤは、ユーザ認証を実際に試行する認証サイトにかかわらず、ユーザの属性情報を一元的に管理するサービスにおいてユーザに付与されたＩＤであるとも言える。ユーザ情報管理装置は、外部の認証サイトにおける認証結果にしたがって提供対象となる属性情報を特定するために、外部認証情報にもとづいてユーザの内部ＩＤを特定する必要がある。
【００１３】
ところでＯｐｅｎＩＤやＯＡｕｔｈ等の標準的な認証プロトコルでは、外部認証情報におけるデータ長が比較的大きくなるため、単純に外部認証情報そのものを検索キーとして内部ＩＤを検索した場合、その検索処理に長時間を要し、性能面での問題を生じてしまう。そこで本実施の形態のユーザ情報管理装置は、外部認証情報のダイジェスト値を検索キーとして内部ＩＤを一旦絞り込んだ上で、外部認証情報のオリジナル値を検索キーとしてユーザの内部ＩＤを確定する。このように２段階の検索処理を実行することにより、認証結果にもとづき内部ＩＤを特定する際の効率性と正確性を両立させる。すなわち、ダイジェスト値を検索キーとした第１段階の検索により効率性を担保し、オリジナル値を検索キーとした第２段階の検索によりダイジェスト値の生成におけるシノニムの発生にも対応して正確性を担保する。
【００１４】
図１は、実施の形態である通信システムの構成を示す。通信システム１００は、ウェブサーバ１０と、ユーザ端末１４と、複数の認証サーバ１８と、ユーザ情報管理装置２２とを備える。これらの各装置は、ＬＡＮ・ＷＡＮ・インターネット等、公知の通信手段を含む通信網２４を介して接続される。
【００１５】
ウェブサーバ１０は、ＥＣサイトやゲームサイト等、オンラインでの各種サービスをユーザに提供するウェブサイトをインターネット上で公開するウェブサーバである。ウェブサーバ１０が提供するウェブサイトを、ユーザが第一義的にアクセスするウェブサイトという意味で、以下ではユーザアクセスサイト１２と呼ぶ。
【００１６】
ユーザ端末１４は、ユーザにより操作される情報処理端末であり、一般的なＰＣや携帯電話端末であってもよい。ユーザ端末１４は、ウェブブラウザ１６を搭載し、種々のウェブサイトが公開するウェブページの取得、閲覧、操作が可能なように構成される。
【００１７】
複数の認証サーバ１８のそれぞれは、ユーザがそのユーザ本人であることを認証する、言い換えれば、ユーザに対する相手認証・本人認証を行うための認証処理（以下、単に「ユーザ認証」とも呼ぶ。）を実行する。本実施の形態では、ユーザによるＩＤ・パスワードの入力を受け付けて、認証（ログイン）の成否を外部へ通知するウェブサイトである認証サイト２０をインターネット上で公開する。
【００１８】
ユーザ情報管理装置２２は、ユーザに関する属性情報を管理する情報処理装置であり、詳細は後述するが、認証サイトへの接続仲介処理・内部ＩＤ特定処理・ユーザ属性提供処理を実行する。また後述するように、ユーザ情報管理装置２２は、物理的には複数台の情報処理装置を含んで構成されてもよい。例えば、各種データ処理を実行するための１台のアプリケーションサーバと、各種データを保持するための複数台のデータベースサーバを含んで構成されてもよい。
【００１９】
図２は、図１のユーザ情報管理装置２２の機能構成を示すブロック図である。ユーザ情報管理装置２２は、各種データを保持する記憶領域であるデータ保持部３０と、各種データ処理を実行するデータ処理部４０とを備える。データ保持部３０は、ユーザ属性保持部３２と、第１対応関係保持部３４と、第２対応関係保持部３６とを含む。データ処理部４０は、要求受付部４２と、認証仲介部４４と、認証結果取得部４６と、検索処理部４８と、情報提供部５４とを有する。
【００２０】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、図２の各機能ブロックは、ソフトウェアとして記録媒体に格納され、ユーザ情報管理装置２２のハードディスクにインストールされ、ユーザ情報管理装置２２のメインメモリに適宜読み出されてプロセッサにて実行されてもよい。
【００２１】
ユーザ属性保持部３２は、複数のユーザのそれぞれに関する属性情報を、ユーザ情報管理装置２２において各ユーザに対して予め発行したユニークな内部ＩＤと対応付けて保持する。各ユーザの属性情報は、氏名・住所・生年月日・ハンドルネーム・認証サイトにおけるユーザ認証の成功を示す情報・認証サイトにおけるユーザ名等を適宜含む情報であってもよい。
【００２２】
第１対応関係保持部３４は、ユーザの内部ＩＤと、外部認証情報のダイジェスト値とを対応付けたレコードであり、複数のユーザに対応する複数のレコードが格納された第１ＩＤテーブルを保持する。
【００２３】
図３は、第１ＩＤテーブルの構成を示す。外部認証情報のダイジェスト値は固定長データであり、典型的には外部認証情報のオリジナル値よりもデータ長が短い。例えば、ハッシュ関数ＳＨＡ−１に外部認証情報のオリジナル値を入力して、当該ハッシュ関数の出力データ（すなわちハッシュ値）をダイジェスト値とする場合、ダイジェスト値は２０バイトの固定長データとなる。図３で示すように、１人のユーザが複数の認証サイト２０のアカウントを有する場合、言い換えれば、複数の認証サイトにそれぞれのＩＤにてログイン可能である場合、当該ユーザの単一の内部ＩＤは複数種類の外部認証情報のダイジェスト値と対応づけられる。後述する第２ＩＤテーブルにおいても同様である。
【００２４】
なお、第１対応関係保持部３４は、物理的には、互いに異なる環境に配置された複数台のデータベースサーバにより構成される。具体的には、複数台のデータベースサーバのそれぞれに保持された第１ＩＤテーブルには、互いに数値範囲が異なるダイジェスト値に対応するレコード、言い換えれば、互いに数値範囲が異なるダイジェスト値に対応するユーザ群のレコードが格納される。例えば、「０ｘ０１」から始まるダイジェスト値に対応するレコードは第１のデータベースサーバに格納されてもよく、「０ｘ０２」から始まるダイジェスト値に対応するレコードは第２のデータベースサーバに格納されてもよい。
【００２５】
図２に戻り、第２対応関係保持部３６は、ユーザの内部ＩＤと、外部認証情報のオリジナル値とを対応付けたレコードであり、複数のユーザに対応する複数のレコードが格納された第２ＩＤテーブルを保持する。
【００２６】
図４は、第２ＩＤテーブルの構成を示す。外部認証情報のオリジナル値は、認証サイト２０ごとにユーザ認証の結果を示す可変長データであり、そのデータ形式は任意である。典型的には、認証サイト２０が準拠する認証プロトコルや、認証対象となるユーザ（およびユーザに関する属性情報）ごとにデータ形式やデータ長が異なる。例えば、ＯｐｅｎＩＤに準拠する認証サイト２０からの外部認証データは典型的にはＵＲＬ形式である一方、他の認証プロトコルに準拠した認証サイト２０からの外部認証データはその他のテキスト形式もしくはバイナリ形式であってもよい。第２対応関係保持部３６に保持される外部認証情報は、認証成功時に得られるデータ列であればその内容は問わない。
【００２７】
なお、第２対応関係保持部３６は、物理的には、互いに異なる環境に配置された複数台のデータベースサーバにより構成される。具体的には、複数台のデータベースサーバのそれぞれに保持された第２ＩＤテーブルには、互いに数値範囲が異なる内部ＩＤに対応するレコード、言い換えれば、互いに数値範囲が異なる内部ＩＤが付与されたユーザ群のレコードが格納される。例えば、「１」から始まる内部ＩＤに対応するレコードは第１のデータベースサーバに格納されてもよく、「２」から始まる内部ＩＤに対応するレコードは第２のデータベースサーバに格納されてもよい。
【００２８】
要求受付部４２は、ユーザアクセスサイト１２へアクセスしたユーザについて、そのユーザの属性情報の提供を要求するデータをウェブサーバ１０から受け付ける。一実装例としては、当該要求データは、ウェブサーバ１０からユーザ端末１４のウェブブラウザ１６を経由してユーザ情報管理装置２２へ送信され、要求受付部４２により受信されるよう設計されてもよい。また当該要求データは、ユーザアクセスサイト１２においてユーザが選択した認証サイト２０（以下、「選択認証サイト」とも呼ぶ。）を示すデータを含み、選択認証サイトにおける認証を仲介するよう要求するデータであるとも言える。なお、ユーザ認証の対象とするユーザを、以下では「被認証ユーザ」とも呼ぶ。
【００２９】
認証仲介部４４は、被認証ユーザのウェブブラウザ１６を選択認証サイトに接続させるための仲介処理、言い換えれば、選択認証サイトに被認証ユーザを認証させるための仲介処理を実行する。具体的には、選択認証サイトの認証ページのＵＲＬをウェブブラウザ１６に通知して、ウェブブラウザ１６を選択認証サイトへリダイレクト接続させ、ウェブブラウザ１６に選択認証サイトの認証ページを表示させる。以降、被認証ユーザは、その認証ページに対して選択認証サイトにおけるユーザＩＤやパスワードを入力することにより、選択認証サイトへのログインを試行する。
【００３０】
なお、リダイレクトのための選択認証サイトのＵＲＬには、認証結果（外部認証情報）の返却先としてユーザ情報管理装置２２を示す情報（例えばユーザ情報管理装置２２のＵＲＬ）がパラメータとして設定される。選択認証サイトを管理する認証サーバ１８は、そのパラメータを参照して、ユーザ認証の結果を示す外部認証情報をユーザ情報管理装置２２へ送信する。認証結果取得部４６は、このように認証サーバ１８から送信された外部認証情報を受信する。
【００３１】
検索処理部４８は、認証結果取得部４６により取得された外部認証情報にもとづいて、被認証ユーザの内部ＩＤを特定する。本実施の形態では、選択認証サイトにおけるユーザ認証が成功したことを示す外部認証情報を処理対象とする。すなわち、外部認証情報が選択認証サイトにおけるユーザ認証の失敗を示す場合、検索処理部４８は内部ＩＤの特定処理をスキップして、後述する情報提供部５４によりユーザ認証失敗の旨をウェブサーバ１０やユーザ端末１４へ通知させる。なお、外部認証情報には認証サイト２０におけるユーザ認証の成否を示す情報が含まれてもよく、ユーザ認証が成功した場合に限り、外部認証情報が認証サーバ１８からユーザ情報管理装置２２へ提供されるよう両装置間のインタフェースが設計されてもよい。
【００３２】
検索処理部４８は、第１検索部５０と第２検索部５２を含む。第１検索部５０は、認証結果取得部４６により取得された外部認証情報を所定のハッシュ関数に入力して、外部認証情報の内容が要約された値として固定長のダイジェスト値（すなわちハッシュ値）を取得する。そして、ダイジェスト値が含まれる数値範囲にしたがって、検索対象の第１ＩＤテーブルの位置を特定する。言い換えれば、検索対象の第１ＩＤテーブルを保持するデータベースサーバを特定する。そして、特定した第１ＩＤテーブルに対して、外部認証情報のダイジェスト値を検索キーとした検索処理を実行し、そのダイジェスト値に対応づけられた内部ＩＤを、被認証ユーザの内部ＩＤの候補として特定する。なお、ダイジェスト値の生成過程においてシノニムが発生する可能性があるため、第１ＩＤテーブルの検索では複数種類の内部ＩＤがヒットする可能性がある。
【００３３】
第２検索部５２は、第１検索部５０により特定された内部ＩＤが含まれる数値範囲にしたがって検索対象の第２テーブルの位置、言い換えれば、検索対象の第２ＩＤテーブルを保持するデータベースサーバを特定する。そして、特定した第２ＩＤテーブルに対して、内部ＩＤおよび外部認証情報のオリジナル値を検索キーとした検索処理を実行し、そのオリジナル値に対応づけられた内部ＩＤを、被認証ユーザの内部ＩＤとして確定する。
【００３４】
情報提供部５４は、第２検索部５２により特定された被認証ユーザの内部ＩＤと対応づけられた被認証ユーザの属性情報データをユーザ属性保持部３２から取得してウェブサーバ１０へ送信する。一実装例としては、当該属性情報のデータは、ユーザ情報管理装置２２からユーザ端末１４のウェブブラウザ１６を経由してウェブサーバ１０へ送信され、ウェブサーバ１０により受信されるよう設計されてもよい。
【００３５】
また情報提供部５４は、選択認証サイトにおける被認証ユーザの認証が失敗した場合、その旨を示す情報をユーザ端末１４に通知する。例えば、ユーザ端末１４のウェブブラウザ１６に認証失敗の旨を表示させてもよい。また情報提供部５４は、選択認証サイトにおける被認証ユーザの認証が成功したものの、検索処理部４８による被認証ユーザの内部ＩＤ特定処理が失敗した場合、別の認証サイトを選択すべき旨のメッセージをユーザ端末１４へ通知する。そして、その旨をユーザ端末１４のウェブブラウザに表示させることにより、被認証ユーザに対して新たな認証サイトの選択を促す。
【００３６】
以上の構成による動作を説明する。
図５は、ユーザアクセスサイト１２における画面表示内容を模式的に示す。ここでは、ユーザアクセスサイト１２はオンラインの通信販売サイトである。ブラウザウィンドウ６０は、ユーザ端末１４においてウェブブラウザ１６が起動されたウィンドウであり、ユーザアクセスサイト１２のウェブページが表示されている。ユーザアクセスサイト１２のウェブページには、商品情報や購入画面等が表示されるコンテンツ表示領域６２と、認証情報入力領域６４と、認証サイト選択領域７２とが含まれる。コンテンツ表示領域６２に示されているように、商品の購入画面の表示にはユーザのログインが条件となっている。
【００３７】
認証情報入力領域６４は、ユーザアクセスサイト１２のログインアカウントを有するユーザがログイン情報を入力するためのエリアである。ユーザアクセスサイト１２のログインアカウントを有するユーザは、ユーザアクセスサイト１２におけるユーザＩＤをユーザＩＤ入力フィールド６６へ入力し、パスワードをパスワード入力フィールド６８へ入力した上で、ログインボタン７０を押下する。
【００３８】
認証サイト選択領域７２は、ユーザアクセスサイト１２へログインするために、ユーザアクセスサイト１２とは異なる他の認証サイト（認証サイト２０）による認証を選択するためのエリアである。他の認証サイトのログインアカウントを有するユーザは、その認証サイトとの接続を要求するためのアイコンである認証サイトバナー７４を選択する。これにより、選択認証サイトのログイン画面（例えば認証情報入力領域６４と同様の画面）が表示され、ユーザはそのログイン画面にユーザＩＤおよびパスワードを入力して選択認証サイトへのログインを試行する。
【００３９】
ウェブサーバ１０は、認証情報入力領域６４に入力されたアカウント情報によるユーザ認証に成功すると、ローカルに保持された被認証ユーザの属性情報を取得して、商品の購入画面を表示させる。また、ウェブサーバ１０は、認証サイト選択領域７２において他の認証サイトが選択されると、その選択認証サイトを示す情報を含む、被認証ユーザの属性取得要求をユーザ情報管理装置２２へ送信する。その後、選択認証サイトにおけるユーザ認証が成功して、ユーザ情報管理装置２２からユーザ属性が提供されると、同様に商品の購入画面を表示させる。
【００４０】
図６は、ユーザ情報管理装置２２の動作を示すフローチャートである。要求受付部４２がウェブサーバ１０から被認証ユーザの属性取得要求を受け付けると（Ｓ１０のＹ）、認証仲介部４４は、被認証ユーザにより選択された認証サイトへのリダイレクトをウェブブラウザ１６へ指示する（Ｓ１２）。これにより、被認証ユーザのユーザ端末１４は選択認証サイトへ接続され、被認証ユーザは選択認証サイトのログイン画面へＩＤ・パスワードを入力する。認証結果取得部４６は、選択認証サイトにおける認証結果を外部認証情報として認証サーバ１８から取得する（Ｓ１４）。
【００４１】
外部認証情報にもとづき選択認証サイトにおけるユーザ認証の成功を検出すると（Ｓ１６のＹ）、検索処理部４８は、外部認証情報のダイジェスト値をキーとして第１ＩＤテーブルを検索する（Ｓ１８）。そのダイジェスト値に一致する１つ以上のレコードが存在する場合（Ｓ２０のＹ）、それらのレコードに設定された内部ＩＤおよび外部認証情報のオリジナル値をキーとして第２ＩＤテーブルを検索する（Ｓ２２）。言い換えれば、第１ＩＤテーブルの検索により絞り込んだ内部ＩＤが設定された第２ＩＤテーブルのレコードのうち、外部認証情報のオリジナル値が設定されたレコードを特定する。最終的に１つのレコードが特定されると（Ｓ２４のＹ）、そのレコードに設定された内部ＩＤを被認証ユーザの内部ＩＤとして確定する（Ｓ２６）。情報提供部５４は、検索処理部４８により確定された被認証ユーザの内部ＩＤに対応づけられた被認証ユーザの属性情報をウェブサーバ１０へ提供する（Ｓ２８）。
【００４２】
外部認証情報のダイジェスト値が第１ＩＤテーブルにおいてヒットしない場合（Ｓ２０のＮ）、もしくは、外部認証情報のオリジナル値が第２ＩＤテーブルにおいてヒットしない場合（Ｓ２４のＮ）、情報提供部５４は、先の選択認証サイトの代替として別の認証サイトを選択すべき旨のメッセージをウェブブラウザ１６に表示させる（Ｓ３０）。被認証ユーザにより新たに認証サイトが選択されると、その認証サイトを新たな選択認証サイトとしてＳ１２の処理を再度実行する。選択認証サイトにおけるユーザ認証の失敗が検出されると（Ｓ１６のＮ）、情報提供部５４は、その旨のメッセージをウェブブラウザ１６に通知してブラウザウィンドウ６０に表示させる（Ｓ３２）。この場合、図５の通信販売サイトにおける購入画面の表示が拒否されることになる。また、ウェブサーバ１０から被認証ユーザの属性取得要求が受け付けられなければ（Ｓ１０のＮ）、以降の処理はスキップされて本図のフローを終了する。
【００４３】
本実施の形態のユーザ情報管理装置２２によれば、外部の認証サイト２０におけるユーザ認証の結果を示す外部認証情報にもとづいて、被認証ユーザの属性情報を特定する処理における効率性および正確性を両立させる。効率性については、外部認証情報のオリジナル値のデータ長が比較的大きく可変長である一方、そのダイジェスト値のデータ長は比較的短く固定長であるため、ダイジェスト値にもとづいて内部ＩＤの候補を特定することで、検索処理全体に要する時間を短縮できる。また正確性については、ダイジェスト値の生成過程において異なる外部認証情報から同一のダイジェスト値が生成されること、すなわちシノニムが発生することがある。本実施の形態では、内部ＩＤの候補に対してオリジナル値をキーとした検索をさらに実行することで、シノニムが発生した場合であっても被認証ユーザの内部ＩＤを正確に特定できる。
【００４４】
またユーザ情報管理装置２２によれば、内部ＩＤと外部認証情報のオリジナル値とダイジェスト値との対応関係は、第１検索部５０による検索処理用の第１ＩＤテーブルと、第２検索部５２による検索処理用の第２ＩＤテーブルとに分散して格納される。これにより、第１検索部５０の検索処理における検索キーと、第２検索部５２の検索処理における検索キーとが異なる場合でも、それぞれの検索キーの値範囲に応じて、複数の第１ＩＤテーブルを適宜水平分散させて配置でき、同様に複数の第２ＩＤテーブルを適宜水平分散させて配置できる。その結果、各データベースサーバが具備すべきハードウェアリソース、典型的には記憶容量を低減させることができ、また、各データベースサーバが管理するレコード数が低減することで検索性能も向上する。特に、外部認証情報のオリジナル値はデータ長が大きいため、その格納テーブルを異なる環境に分散配置できるメリットは大きい。
【００４５】
またユーザ情報管理装置２２によれば、複数種類の認証サイト２０への仲介処理を一括して実行する。被認証ユーザが複数種類の認証サイト２０のアカウントを有する場合、１つの認証サイト２０からの外部認証情報では被認証ユーザの内部ＩＤを特定できない場合にも、他の認証サイト２０を被認証ユーザに選択させることで、その認証サイト２０からの外部認証情報にもとづき内部ＩＤの特定処理を再実行できる。例えば、被認証ユーザがある認証サイト２０のアカウント情報（ユーザＩＤ等）を直接変更した結果、その認証サイト２０からの外部認証情報と、ユーザ情報管理装置２２が管理する外部認証情報とが不一致となり、被認証ユーザの内部ＩＤを特定できなくなることがある。ユーザ情報管理装置２２によれば、このような状況でも、他の認証サイト２０への代替ログインにより、被認証ユーザの内部ＩＤを特定して、その属性情報をウェブサーバ１０へ提供する救済処理を実現できる。
【００４６】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４７】
例えば変形例として、１人の被認証ユーザに対するユーザ認証が複数の認証サイト２０において一時に実行されてもよい。この場合、ユーザアクセスサイト１２においてユーザは外部の認証サイトを複数選択する。ユーザ情報管理装置２２の第２対応関係保持部３６は、内部ＩＤと、複数の認証サイト２０それぞれの外部認証情報を組み合わせたデータ（以下、「組み合わせ認証情報」とも呼ぶ。）とを対応付けて保持する。組み合わせ認証情報は、複数の認証サイト２０それぞれの外部認証情報を単に連結したものであってもよい。第１対応関係保持部３４は、内部ＩＤと、組み合わせ認証情報のダイジェスト値とを対応付けて保持する。検索処理部４８は、複数の認証サイト２０のそれぞれから取得された外部認証情報にもとづいて組み合わせ認証情報を設定し、その組み合わせ認証情報にしたがって実施の形態と同様の検索処理にて被認証ユーザの内部ＩＤを特定する。
【００４８】
この変形例によれば、ユーザアクセスサイト１２のセキュリティおよび被認証ユーザの属性情報提供におけるセキュリティを一層高めることができる。なお、組み合わせ認証情報のオリジナル値のデータ長は単一の外部認証情報の場合よりも長くなるが、内部ＩＤの絞り込み検索においては組み合わせ認証情報のダイジェスト値が使用されるため、検索処理の長時間化を抑止できる。
【００４９】
また別の変形例として、ユーザ情報管理装置２２の情報提供部５４は、被認証ユーザの属性情報をウェブサーバ１０へ提供するに際して、まず、その属性情報の格納位置を示す情報（以下、「ポインタ情報」とも呼ぶ。）をユーザ端末１４のウェブブラウザ１６へ通知してユーザアクセスサイト１２へリダイレクト接続させてもよい。このポインタ情報は、被認証ユーザの内部ＩＤを示す情報であってもよい。ウェブブラウザ１６はユーザアクセスサイト１２ヘリダイレクト接続した際に、そのポインタ情報をウェブサーバ１０へ通知し、ウェブサーバ１０はそのポインタ情報を指定した属性情報の提供要求をユーザ情報管理装置２２へ送信してもよい。ポインタ情報を指定した属性情報の提供要求が要求受付部４２により受け付けられた場合、情報提供部５４は、そのポインタ情報で特定される属性情報をウェブサーバ１０へ送信する。
【００５０】
この変形例によれば、被認証ユーザの属性情報が被認証ユーザのウェブブラウザ１６を経由することなく、ユーザ情報管理装置２２からウェブサーバ１０へ直接送信される。これにより、属性情報の改ざんを防止してセキュリティを向上できるとともに、ウェブブラウザ１６が取り扱い可能なデータサイズの制限を回避して多くの属性情報をウェブサーバ１０へ提供できる。
【００５１】
上述した実施の形態、変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態、変形例それぞれの効果をあわせもつ。
【００５２】
請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【符号の説明】
【００５３】
２０  認証サイト、  ２２  ユーザ情報管理装置、  ３２  ユーザ属性保持部、  ３４  第１対応関係保持部、  ３６  第２対応関係保持部、  ４２  要求受付部、  ４４  認証仲介部、  ４６  認証結果取得部、  ４８  検索処理部、  ５４  情報提供部、  １００  通信システム。
【図１】
2012203764.tif 000003
【図２】
2012203764.tif 000004
【図３】
2012203764.tif 000005
【図４】
2012203764.tif 000006
【図５】
2012203764.tif 000007
【図６】
2012203764.tif 000008