説明

ユーザ情報管理装置

【課題】外部の認証サイトにおけるユーザ認証の結果にもとづいてユーザ情報を特定する処理における効率性と正確性を両立させる。
【解決手段】ユーザ情報管理装置22は、複数のユーザのそれぞれに関する属性情報を、本装置における各ユーザのIDを示す内部IDと対応づけて保持し、また内部IDと、外部の認証サイト20におけるユーザ認証の結果を示す外部認証情報と、外部認証情報のダイジェスト値とを対応付けて保持する。ユーザ情報管理装置22は、ウェブサーバ10から特定ユーザの属性情報の提供要求を受け付けると、認証サイト20から取得された外部認証情報のダイジェスト値が設定されたレコードを特定し、特定したレコードの中から外部認証情報のオリジナル値が設定されたレコードをさらに特定することにより上記特定ユーザの内部IDを確定する。そして、その内部IDと対応づけられた属性情報をウェブサーバ10へ提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ処理技術に関し、特に、ユーザに関する情報を管理する技術に関する。
【背景技術】
【0002】
インターネットやブロードバンドサービスの普及に伴って、様々な金融サービスやEC(Electronic Commerce)サービスがオンラインでユーザに提供されている。このようなオンラインサービスを提供するサービス提供装置の中には、サービスを提供するためにユーザの情報を要求するものがある。以下の特許文献1では、サービス提供装置に対するユーザ情報の提供許否をユーザに確認し、提供が許可されたユーザ情報をサービス提供装置へ提供する属性情報開示技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−199573号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、外部の認証サイトにおいてユーザ認証に成功したことを条件としてユーザ情報を提供する場合、外部の認証サイトにおけるユーザ認証の結果にもとづいて、提供対象となるユーザ情報を特定する必要がある。本発明者は、その特定処理における効率性および正確性を両立させる発想や、そのための具体的な方法はこれまで十分に提案されてこなかったと考えた。
【0005】
本発明はこうした課題に鑑みてなされたものであり、その目的は、外部の認証サイトにおけるユーザ認証の結果にもとづいて、提供対象となるユーザ情報を特定する際の効率性および正確性を両立させるための技術を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様のユーザ情報管理装置は、複数のユーザのそれぞれに関する属性情報を、本装置における各ユーザのIDである内部IDと対応づけて保持するユーザ属性保持部と、内部IDと、外部の認証サイトにおけるユーザ認証の結果得られた情報である外部認証情報と、外部認証情報よりもデータ長が短い外部認証情報のダイジェスト値とを対応づけたレコードであって、複数のユーザに対応する複数のレコードを保持する対応関係保持部と、特定のユーザに関する属性情報の提供要求を外部装置から受け付ける要求受付部と、特定のユーザを認証サイトに認証させるための所定の仲介処理を実行し、特定のユーザの認証が成功した場合、その旨を示す外部認証情報を認証サイトから取得する認証仲介部と、対応関係保持部に保持された複数のレコードの中から、認証サイトから取得された外部認証情報のダイジェスト値が設定されたレコードを特定した上で、特定したレコードの中から、認証サイトから取得された外部認証情報が設定されたレコードをさらに特定し、そのレコードに設定された内部IDを特定のユーザの内部IDとして決定する検索処理部と、ユーザ属性保持部において特定のユーザの内部IDと対応づけられた属性情報を外部装置へ提供するユーザ属性提供部と、を備える。
【0007】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0008】
本発明によれば、ユーザの情報を管理する装置において、外部の認証サイトにおけるユーザ認証の結果にもとづいて、提供対象となるユーザ情報を特定する際の効率性および正確性を両立させることができる。
【図面の簡単な説明】
【0009】
【図1】実施の形態である通信システムの構成を示す図である。
【図2】図1のユーザ情報管理装置の機能構成を示すブロック図である。
【図3】第1IDテーブルの構成を示す図である。
【図4】第2IDテーブルの構成を示す図である。
【図5】ユーザアクセスサイトにおける画面表示内容を模式的に示す図である。
【図6】ユーザ情報管理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0010】
実施の形態の構成を説明する前に、まず概要を説明する。
現在、通信キャリア・ISP(Internet Services Provider)・ポータルサイト事業者・SNS(Social Networking Service)事業者・ブログサービス事業者等、様々なサービス事業者はユーザを認証するための認証サイトを公開している。そして、その認証サイトを介したユーザの認証結果、言い換えれば、「クレデンシャル」とも呼ばれるセキュリティ関連の属性情報を他社へ提供することがある。また、ユーザを認証するための標準プロトコルとしてOpenIDやOAuthが定められている。認証サイトにおける認証結果を示す情報(いわゆるクレデンシャルであり、以下「外部認証情報」とも呼ぶ。)は、これらの標準プロトコルに準拠したデータ形式にて提供されることがある。
【0011】
本実施の形態で提案するユーザ情報管理装置は、ユーザの属性情報を保持する。そして、ユーザがアクセスしたウェブサイトからユーザの属性情報の提供を要求された場合、外部の認証サイトにおいてユーザの認証に成功したことを条件として、ユーザの属性情報をその要求元のウェブサイトへ提供する。
【0012】
ユーザ情報管理装置は、ユーザの属性情報を、その検索の際の検索キーとするためのユーザIDと対応づけて記憶する。このユーザIDは、外部環境の変化を受けにくくするため、本装置においてユーザに付与したIDであり、以下では「内部ID」とも呼ぶ。内部IDは、ユーザ認証を実際に試行する認証サイトにかかわらず、ユーザの属性情報を一元的に管理するサービスにおいてユーザに付与されたIDであるとも言える。ユーザ情報管理装置は、外部の認証サイトにおける認証結果にしたがって提供対象となる属性情報を特定するために、外部認証情報にもとづいてユーザの内部IDを特定する必要がある。
【0013】
ところでOpenIDやOAuth等の標準的な認証プロトコルでは、外部認証情報におけるデータ長が比較的大きくなるため、単純に外部認証情報そのものを検索キーとして内部IDを検索した場合、その検索処理に長時間を要し、性能面での問題を生じてしまう。そこで本実施の形態のユーザ情報管理装置は、外部認証情報のダイジェスト値を検索キーとして内部IDを一旦絞り込んだ上で、外部認証情報のオリジナル値を検索キーとしてユーザの内部IDを確定する。このように2段階の検索処理を実行することにより、認証結果にもとづき内部IDを特定する際の効率性と正確性を両立させる。すなわち、ダイジェスト値を検索キーとした第1段階の検索により効率性を担保し、オリジナル値を検索キーとした第2段階の検索によりダイジェスト値の生成におけるシノニムの発生にも対応して正確性を担保する。
【0014】
図1は、実施の形態である通信システムの構成を示す。通信システム100は、ウェブサーバ10と、ユーザ端末14と、複数の認証サーバ18と、ユーザ情報管理装置22とを備える。これらの各装置は、LAN・WAN・インターネット等、公知の通信手段を含む通信網24を介して接続される。
【0015】
ウェブサーバ10は、ECサイトやゲームサイト等、オンラインでの各種サービスをユーザに提供するウェブサイトをインターネット上で公開するウェブサーバである。ウェブサーバ10が提供するウェブサイトを、ユーザが第一義的にアクセスするウェブサイトという意味で、以下ではユーザアクセスサイト12と呼ぶ。
【0016】
ユーザ端末14は、ユーザにより操作される情報処理端末であり、一般的なPCや携帯電話端末であってもよい。ユーザ端末14は、ウェブブラウザ16を搭載し、種々のウェブサイトが公開するウェブページの取得、閲覧、操作が可能なように構成される。
【0017】
複数の認証サーバ18のそれぞれは、ユーザがそのユーザ本人であることを認証する、言い換えれば、ユーザに対する相手認証・本人認証を行うための認証処理(以下、単に「ユーザ認証」とも呼ぶ。)を実行する。本実施の形態では、ユーザによるID・パスワードの入力を受け付けて、認証(ログイン)の成否を外部へ通知するウェブサイトである認証サイト20をインターネット上で公開する。
【0018】
ユーザ情報管理装置22は、ユーザに関する属性情報を管理する情報処理装置であり、詳細は後述するが、認証サイトへの接続仲介処理・内部ID特定処理・ユーザ属性提供処理を実行する。また後述するように、ユーザ情報管理装置22は、物理的には複数台の情報処理装置を含んで構成されてもよい。例えば、各種データ処理を実行するための1台のアプリケーションサーバと、各種データを保持するための複数台のデータベースサーバを含んで構成されてもよい。
【0019】
図2は、図1のユーザ情報管理装置22の機能構成を示すブロック図である。ユーザ情報管理装置22は、各種データを保持する記憶領域であるデータ保持部30と、各種データ処理を実行するデータ処理部40とを備える。データ保持部30は、ユーザ属性保持部32と、第1対応関係保持部34と、第2対応関係保持部36とを含む。データ処理部40は、要求受付部42と、認証仲介部44と、認証結果取得部46と、検索処理部48と、情報提供部54とを有する。
【0020】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、図2の各機能ブロックは、ソフトウェアとして記録媒体に格納され、ユーザ情報管理装置22のハードディスクにインストールされ、ユーザ情報管理装置22のメインメモリに適宜読み出されてプロセッサにて実行されてもよい。
【0021】
ユーザ属性保持部32は、複数のユーザのそれぞれに関する属性情報を、ユーザ情報管理装置22において各ユーザに対して予め発行したユニークな内部IDと対応付けて保持する。各ユーザの属性情報は、氏名・住所・生年月日・ハンドルネーム・認証サイトにおけるユーザ認証の成功を示す情報・認証サイトにおけるユーザ名等を適宜含む情報であってもよい。
【0022】
第1対応関係保持部34は、ユーザの内部IDと、外部認証情報のダイジェスト値とを対応付けたレコードであり、複数のユーザに対応する複数のレコードが格納された第1IDテーブルを保持する。
【0023】
図3は、第1IDテーブルの構成を示す。外部認証情報のダイジェスト値は固定長データであり、典型的には外部認証情報のオリジナル値よりもデータ長が短い。例えば、ハッシュ関数SHA−1に外部認証情報のオリジナル値を入力して、当該ハッシュ関数の出力データ(すなわちハッシュ値)をダイジェスト値とする場合、ダイジェスト値は20バイトの固定長データとなる。図3で示すように、1人のユーザが複数の認証サイト20のアカウントを有する場合、言い換えれば、複数の認証サイトにそれぞれのIDにてログイン可能である場合、当該ユーザの単一の内部IDは複数種類の外部認証情報のダイジェスト値と対応づけられる。後述する第2IDテーブルにおいても同様である。
【0024】
なお、第1対応関係保持部34は、物理的には、互いに異なる環境に配置された複数台のデータベースサーバにより構成される。具体的には、複数台のデータベースサーバのそれぞれに保持された第1IDテーブルには、互いに数値範囲が異なるダイジェスト値に対応するレコード、言い換えれば、互いに数値範囲が異なるダイジェスト値に対応するユーザ群のレコードが格納される。例えば、「0x01」から始まるダイジェスト値に対応するレコードは第1のデータベースサーバに格納されてもよく、「0x02」から始まるダイジェスト値に対応するレコードは第2のデータベースサーバに格納されてもよい。
【0025】
図2に戻り、第2対応関係保持部36は、ユーザの内部IDと、外部認証情報のオリジナル値とを対応付けたレコードであり、複数のユーザに対応する複数のレコードが格納された第2IDテーブルを保持する。
【0026】
図4は、第2IDテーブルの構成を示す。外部認証情報のオリジナル値は、認証サイト20ごとにユーザ認証の結果を示す可変長データであり、そのデータ形式は任意である。典型的には、認証サイト20が準拠する認証プロトコルや、認証対象となるユーザ(およびユーザに関する属性情報)ごとにデータ形式やデータ長が異なる。例えば、OpenIDに準拠する認証サイト20からの外部認証データは典型的にはURL形式である一方、他の認証プロトコルに準拠した認証サイト20からの外部認証データはその他のテキスト形式もしくはバイナリ形式であってもよい。第2対応関係保持部36に保持される外部認証情報は、認証成功時に得られるデータ列であればその内容は問わない。
【0027】
なお、第2対応関係保持部36は、物理的には、互いに異なる環境に配置された複数台のデータベースサーバにより構成される。具体的には、複数台のデータベースサーバのそれぞれに保持された第2IDテーブルには、互いに数値範囲が異なる内部IDに対応するレコード、言い換えれば、互いに数値範囲が異なる内部IDが付与されたユーザ群のレコードが格納される。例えば、「1」から始まる内部IDに対応するレコードは第1のデータベースサーバに格納されてもよく、「2」から始まる内部IDに対応するレコードは第2のデータベースサーバに格納されてもよい。
【0028】
要求受付部42は、ユーザアクセスサイト12へアクセスしたユーザについて、そのユーザの属性情報の提供を要求するデータをウェブサーバ10から受け付ける。一実装例としては、当該要求データは、ウェブサーバ10からユーザ端末14のウェブブラウザ16を経由してユーザ情報管理装置22へ送信され、要求受付部42により受信されるよう設計されてもよい。また当該要求データは、ユーザアクセスサイト12においてユーザが選択した認証サイト20(以下、「選択認証サイト」とも呼ぶ。)を示すデータを含み、選択認証サイトにおける認証を仲介するよう要求するデータであるとも言える。なお、ユーザ認証の対象とするユーザを、以下では「被認証ユーザ」とも呼ぶ。
【0029】
認証仲介部44は、被認証ユーザのウェブブラウザ16を選択認証サイトに接続させるための仲介処理、言い換えれば、選択認証サイトに被認証ユーザを認証させるための仲介処理を実行する。具体的には、選択認証サイトの認証ページのURLをウェブブラウザ16に通知して、ウェブブラウザ16を選択認証サイトへリダイレクト接続させ、ウェブブラウザ16に選択認証サイトの認証ページを表示させる。以降、被認証ユーザは、その認証ページに対して選択認証サイトにおけるユーザIDやパスワードを入力することにより、選択認証サイトへのログインを試行する。
【0030】
なお、リダイレクトのための選択認証サイトのURLには、認証結果(外部認証情報)の返却先としてユーザ情報管理装置22を示す情報(例えばユーザ情報管理装置22のURL)がパラメータとして設定される。選択認証サイトを管理する認証サーバ18は、そのパラメータを参照して、ユーザ認証の結果を示す外部認証情報をユーザ情報管理装置22へ送信する。認証結果取得部46は、このように認証サーバ18から送信された外部認証情報を受信する。
【0031】
検索処理部48は、認証結果取得部46により取得された外部認証情報にもとづいて、被認証ユーザの内部IDを特定する。本実施の形態では、選択認証サイトにおけるユーザ認証が成功したことを示す外部認証情報を処理対象とする。すなわち、外部認証情報が選択認証サイトにおけるユーザ認証の失敗を示す場合、検索処理部48は内部IDの特定処理をスキップして、後述する情報提供部54によりユーザ認証失敗の旨をウェブサーバ10やユーザ端末14へ通知させる。なお、外部認証情報には認証サイト20におけるユーザ認証の成否を示す情報が含まれてもよく、ユーザ認証が成功した場合に限り、外部認証情報が認証サーバ18からユーザ情報管理装置22へ提供されるよう両装置間のインタフェースが設計されてもよい。
【0032】
検索処理部48は、第1検索部50と第2検索部52を含む。第1検索部50は、認証結果取得部46により取得された外部認証情報を所定のハッシュ関数に入力して、外部認証情報の内容が要約された値として固定長のダイジェスト値(すなわちハッシュ値)を取得する。そして、ダイジェスト値が含まれる数値範囲にしたがって、検索対象の第1IDテーブルの位置を特定する。言い換えれば、検索対象の第1IDテーブルを保持するデータベースサーバを特定する。そして、特定した第1IDテーブルに対して、外部認証情報のダイジェスト値を検索キーとした検索処理を実行し、そのダイジェスト値に対応づけられた内部IDを、被認証ユーザの内部IDの候補として特定する。なお、ダイジェスト値の生成過程においてシノニムが発生する可能性があるため、第1IDテーブルの検索では複数種類の内部IDがヒットする可能性がある。
【0033】
第2検索部52は、第1検索部50により特定された内部IDが含まれる数値範囲にしたがって検索対象の第2テーブルの位置、言い換えれば、検索対象の第2IDテーブルを保持するデータベースサーバを特定する。そして、特定した第2IDテーブルに対して、内部IDおよび外部認証情報のオリジナル値を検索キーとした検索処理を実行し、そのオリジナル値に対応づけられた内部IDを、被認証ユーザの内部IDとして確定する。
【0034】
情報提供部54は、第2検索部52により特定された被認証ユーザの内部IDと対応づけられた被認証ユーザの属性情報データをユーザ属性保持部32から取得してウェブサーバ10へ送信する。一実装例としては、当該属性情報のデータは、ユーザ情報管理装置22からユーザ端末14のウェブブラウザ16を経由してウェブサーバ10へ送信され、ウェブサーバ10により受信されるよう設計されてもよい。
【0035】
また情報提供部54は、選択認証サイトにおける被認証ユーザの認証が失敗した場合、その旨を示す情報をユーザ端末14に通知する。例えば、ユーザ端末14のウェブブラウザ16に認証失敗の旨を表示させてもよい。また情報提供部54は、選択認証サイトにおける被認証ユーザの認証が成功したものの、検索処理部48による被認証ユーザの内部ID特定処理が失敗した場合、別の認証サイトを選択すべき旨のメッセージをユーザ端末14へ通知する。そして、その旨をユーザ端末14のウェブブラウザに表示させることにより、被認証ユーザに対して新たな認証サイトの選択を促す。
【0036】
以上の構成による動作を説明する。
図5は、ユーザアクセスサイト12における画面表示内容を模式的に示す。ここでは、ユーザアクセスサイト12はオンラインの通信販売サイトである。ブラウザウィンドウ60は、ユーザ端末14においてウェブブラウザ16が起動されたウィンドウであり、ユーザアクセスサイト12のウェブページが表示されている。ユーザアクセスサイト12のウェブページには、商品情報や購入画面等が表示されるコンテンツ表示領域62と、認証情報入力領域64と、認証サイト選択領域72とが含まれる。コンテンツ表示領域62に示されているように、商品の購入画面の表示にはユーザのログインが条件となっている。
【0037】
認証情報入力領域64は、ユーザアクセスサイト12のログインアカウントを有するユーザがログイン情報を入力するためのエリアである。ユーザアクセスサイト12のログインアカウントを有するユーザは、ユーザアクセスサイト12におけるユーザIDをユーザID入力フィールド66へ入力し、パスワードをパスワード入力フィールド68へ入力した上で、ログインボタン70を押下する。
【0038】
認証サイト選択領域72は、ユーザアクセスサイト12へログインするために、ユーザアクセスサイト12とは異なる他の認証サイト(認証サイト20)による認証を選択するためのエリアである。他の認証サイトのログインアカウントを有するユーザは、その認証サイトとの接続を要求するためのアイコンである認証サイトバナー74を選択する。これにより、選択認証サイトのログイン画面(例えば認証情報入力領域64と同様の画面)が表示され、ユーザはそのログイン画面にユーザIDおよびパスワードを入力して選択認証サイトへのログインを試行する。
【0039】
ウェブサーバ10は、認証情報入力領域64に入力されたアカウント情報によるユーザ認証に成功すると、ローカルに保持された被認証ユーザの属性情報を取得して、商品の購入画面を表示させる。また、ウェブサーバ10は、認証サイト選択領域72において他の認証サイトが選択されると、その選択認証サイトを示す情報を含む、被認証ユーザの属性取得要求をユーザ情報管理装置22へ送信する。その後、選択認証サイトにおけるユーザ認証が成功して、ユーザ情報管理装置22からユーザ属性が提供されると、同様に商品の購入画面を表示させる。
【0040】
図6は、ユーザ情報管理装置22の動作を示すフローチャートである。要求受付部42がウェブサーバ10から被認証ユーザの属性取得要求を受け付けると(S10のY)、認証仲介部44は、被認証ユーザにより選択された認証サイトへのリダイレクトをウェブブラウザ16へ指示する(S12)。これにより、被認証ユーザのユーザ端末14は選択認証サイトへ接続され、被認証ユーザは選択認証サイトのログイン画面へID・パスワードを入力する。認証結果取得部46は、選択認証サイトにおける認証結果を外部認証情報として認証サーバ18から取得する(S14)。
【0041】
外部認証情報にもとづき選択認証サイトにおけるユーザ認証の成功を検出すると(S16のY)、検索処理部48は、外部認証情報のダイジェスト値をキーとして第1IDテーブルを検索する(S18)。そのダイジェスト値に一致する1つ以上のレコードが存在する場合(S20のY)、それらのレコードに設定された内部IDおよび外部認証情報のオリジナル値をキーとして第2IDテーブルを検索する(S22)。言い換えれば、第1IDテーブルの検索により絞り込んだ内部IDが設定された第2IDテーブルのレコードのうち、外部認証情報のオリジナル値が設定されたレコードを特定する。最終的に1つのレコードが特定されると(S24のY)、そのレコードに設定された内部IDを被認証ユーザの内部IDとして確定する(S26)。情報提供部54は、検索処理部48により確定された被認証ユーザの内部IDに対応づけられた被認証ユーザの属性情報をウェブサーバ10へ提供する(S28)。
【0042】
外部認証情報のダイジェスト値が第1IDテーブルにおいてヒットしない場合(S20のN)、もしくは、外部認証情報のオリジナル値が第2IDテーブルにおいてヒットしない場合(S24のN)、情報提供部54は、先の選択認証サイトの代替として別の認証サイトを選択すべき旨のメッセージをウェブブラウザ16に表示させる(S30)。被認証ユーザにより新たに認証サイトが選択されると、その認証サイトを新たな選択認証サイトとしてS12の処理を再度実行する。選択認証サイトにおけるユーザ認証の失敗が検出されると(S16のN)、情報提供部54は、その旨のメッセージをウェブブラウザ16に通知してブラウザウィンドウ60に表示させる(S32)。この場合、図5の通信販売サイトにおける購入画面の表示が拒否されることになる。また、ウェブサーバ10から被認証ユーザの属性取得要求が受け付けられなければ(S10のN)、以降の処理はスキップされて本図のフローを終了する。
【0043】
本実施の形態のユーザ情報管理装置22によれば、外部の認証サイト20におけるユーザ認証の結果を示す外部認証情報にもとづいて、被認証ユーザの属性情報を特定する処理における効率性および正確性を両立させる。効率性については、外部認証情報のオリジナル値のデータ長が比較的大きく可変長である一方、そのダイジェスト値のデータ長は比較的短く固定長であるため、ダイジェスト値にもとづいて内部IDの候補を特定することで、検索処理全体に要する時間を短縮できる。また正確性については、ダイジェスト値の生成過程において異なる外部認証情報から同一のダイジェスト値が生成されること、すなわちシノニムが発生することがある。本実施の形態では、内部IDの候補に対してオリジナル値をキーとした検索をさらに実行することで、シノニムが発生した場合であっても被認証ユーザの内部IDを正確に特定できる。
【0044】
またユーザ情報管理装置22によれば、内部IDと外部認証情報のオリジナル値とダイジェスト値との対応関係は、第1検索部50による検索処理用の第1IDテーブルと、第2検索部52による検索処理用の第2IDテーブルとに分散して格納される。これにより、第1検索部50の検索処理における検索キーと、第2検索部52の検索処理における検索キーとが異なる場合でも、それぞれの検索キーの値範囲に応じて、複数の第1IDテーブルを適宜水平分散させて配置でき、同様に複数の第2IDテーブルを適宜水平分散させて配置できる。その結果、各データベースサーバが具備すべきハードウェアリソース、典型的には記憶容量を低減させることができ、また、各データベースサーバが管理するレコード数が低減することで検索性能も向上する。特に、外部認証情報のオリジナル値はデータ長が大きいため、その格納テーブルを異なる環境に分散配置できるメリットは大きい。
【0045】
またユーザ情報管理装置22によれば、複数種類の認証サイト20への仲介処理を一括して実行する。被認証ユーザが複数種類の認証サイト20のアカウントを有する場合、1つの認証サイト20からの外部認証情報では被認証ユーザの内部IDを特定できない場合にも、他の認証サイト20を被認証ユーザに選択させることで、その認証サイト20からの外部認証情報にもとづき内部IDの特定処理を再実行できる。例えば、被認証ユーザがある認証サイト20のアカウント情報(ユーザID等)を直接変更した結果、その認証サイト20からの外部認証情報と、ユーザ情報管理装置22が管理する外部認証情報とが不一致となり、被認証ユーザの内部IDを特定できなくなることがある。ユーザ情報管理装置22によれば、このような状況でも、他の認証サイト20への代替ログインにより、被認証ユーザの内部IDを特定して、その属性情報をウェブサーバ10へ提供する救済処理を実現できる。
【0046】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0047】
例えば変形例として、1人の被認証ユーザに対するユーザ認証が複数の認証サイト20において一時に実行されてもよい。この場合、ユーザアクセスサイト12においてユーザは外部の認証サイトを複数選択する。ユーザ情報管理装置22の第2対応関係保持部36は、内部IDと、複数の認証サイト20それぞれの外部認証情報を組み合わせたデータ(以下、「組み合わせ認証情報」とも呼ぶ。)とを対応付けて保持する。組み合わせ認証情報は、複数の認証サイト20それぞれの外部認証情報を単に連結したものであってもよい。第1対応関係保持部34は、内部IDと、組み合わせ認証情報のダイジェスト値とを対応付けて保持する。検索処理部48は、複数の認証サイト20のそれぞれから取得された外部認証情報にもとづいて組み合わせ認証情報を設定し、その組み合わせ認証情報にしたがって実施の形態と同様の検索処理にて被認証ユーザの内部IDを特定する。
【0048】
この変形例によれば、ユーザアクセスサイト12のセキュリティおよび被認証ユーザの属性情報提供におけるセキュリティを一層高めることができる。なお、組み合わせ認証情報のオリジナル値のデータ長は単一の外部認証情報の場合よりも長くなるが、内部IDの絞り込み検索においては組み合わせ認証情報のダイジェスト値が使用されるため、検索処理の長時間化を抑止できる。
【0049】
また別の変形例として、ユーザ情報管理装置22の情報提供部54は、被認証ユーザの属性情報をウェブサーバ10へ提供するに際して、まず、その属性情報の格納位置を示す情報(以下、「ポインタ情報」とも呼ぶ。)をユーザ端末14のウェブブラウザ16へ通知してユーザアクセスサイト12へリダイレクト接続させてもよい。このポインタ情報は、被認証ユーザの内部IDを示す情報であってもよい。ウェブブラウザ16はユーザアクセスサイト12ヘリダイレクト接続した際に、そのポインタ情報をウェブサーバ10へ通知し、ウェブサーバ10はそのポインタ情報を指定した属性情報の提供要求をユーザ情報管理装置22へ送信してもよい。ポインタ情報を指定した属性情報の提供要求が要求受付部42により受け付けられた場合、情報提供部54は、そのポインタ情報で特定される属性情報をウェブサーバ10へ送信する。
【0050】
この変形例によれば、被認証ユーザの属性情報が被認証ユーザのウェブブラウザ16を経由することなく、ユーザ情報管理装置22からウェブサーバ10へ直接送信される。これにより、属性情報の改ざんを防止してセキュリティを向上できるとともに、ウェブブラウザ16が取り扱い可能なデータサイズの制限を回避して多くの属性情報をウェブサーバ10へ提供できる。
【0051】
上述した実施の形態、変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態、変形例それぞれの効果をあわせもつ。
【0052】
請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【符号の説明】
【0053】
20 認証サイト、 22 ユーザ情報管理装置、 32 ユーザ属性保持部、 34 第1対応関係保持部、 36 第2対応関係保持部、 42 要求受付部、 44 認証仲介部、 46 認証結果取得部、 48 検索処理部、 54 情報提供部、 100 通信システム。

【特許請求の範囲】
【請求項1】
複数のユーザのそれぞれに関する属性情報を、本装置における各ユーザのIDである内部IDと対応づけて保持するユーザ属性保持部と、
前記内部IDと、外部の認証サイトにおけるユーザ認証の結果得られた情報である外部認証情報と、外部認証情報よりもデータ長が短い外部認証情報のダイジェスト値とを対応づけたレコードであって、複数のユーザに対応する複数のレコードを保持する対応関係保持部と、
特定のユーザに関する属性情報の提供要求を外部装置から受け付ける要求受付部と、
前記特定のユーザを前記認証サイトに認証させるための所定の仲介処理を実行し、前記特定のユーザの認証が成功した場合、その旨を示す外部認証情報を前記認証サイトから取得する認証仲介部と、
前記対応関係保持部に保持された複数のレコードの中から、前記認証サイトから取得された外部認証情報のダイジェスト値が設定されたレコードを特定した上で、特定したレコードの中から、前記認証サイトから取得された外部認証情報が設定されたレコードをさらに特定し、そのレコードに設定された内部IDを前記特定のユーザの内部IDとして決定する検索処理部と、
前記ユーザ属性保持部において前記特定のユーザの内部IDと対応づけられた属性情報を前記外部装置へ提供するユーザ属性提供部と、
を備えることを特徴とするユーザ情報管理装置。
【請求項2】
前記対応関係保持部は、
内部IDと外部認証情報のダイジェスト値とを対応づけたレコードであって、複数のユーザに対応する複数のレコードを格納した第1テーブルと、
内部IDと外部認証情報とを対応づけたレコードであって、複数のユーザのうち一部のユーザに対応するレコードをそれぞれ格納した複数の第2テーブルと、を含み、
前記複数の第2テーブルのそれぞれは、互いに異なる数値範囲の内部IDに対応するレコードを格納し、かつ、互いに異なる環境に配置されるものであり、
前記検索処理部は、
前記第1テーブルにおいて、前記認証サイトから取得された外部認証情報のダイジェスト値と対応づけられた内部IDを特定する第1検索処理部と、
前記第1検索処理部により特定された内部IDに応じて前記複数の第2テーブルのうち検索対象とするテーブルを決定し、検索対象の第2テーブルにおいてその内部IDと対応づけられた外部認証情報と、前記認証サイトから取得された外部認証情報とが一致する場合、その内部IDを前記特定のユーザの内部IDとして決定する第2検索処理部と、を含むことを特徴とする請求項1に記載のユーザ情報管理装置。
【請求項3】
前記対応関係保持部は、前記特定のユーザの内部IDと、複数の認証サイトのそれぞれにおける前記特定のユーザの外部認証情報と、各認証サイトの外部認証情報のダイジェスト値とを対応付けて保持し、
前記認証仲介部は、
前記複数の認証サイトのうち前記特定のユーザにより選択された認証サイトに当該ユーザを認証させるための仲介処理を実行して、前記選択された認証サイトから外部認証情報を取得し、
前記選択された認証サイトからの外部認証情報にしたがって前記検索処理部が前記特定のユーザの内部IDを決定できない場合、前記選択された認証サイトとは異なる認証サイトに当該ユーザを認証させるための新たな仲介処理を実行して、前記異なる認証サイトからも外部認証情報を取得し、
前記検索処理部は、前記異なる認証サイトからの外部認証情報にしたがって前記特定のユーザの内部IDを決定するための処理を再度実行することを特徴とする請求項1または2に記載のユーザ情報管理装置。
【請求項4】
ユーザ情報を管理するコンピュータに、
複数のユーザのそれぞれに関する属性情報を、当該コンピュータにおける各ユーザのIDである内部IDと対応づけて第1の記憶領域に記憶させる機能と、
前記内部IDと、外部の認証サイトにおけるユーザ認証の結果得られた情報である外部認証情報と、外部認証情報よりもデータ長が短い外部認証情報のダイジェスト値とを対応づけたレコードであって、複数のユーザに対応する複数のレコードを第2の記憶領域に記憶させる機能と、
特定のユーザに関する属性情報の提供要求を外部装置から受け付ける機能と、
前記特定のユーザを前記認証サイトに認証させるための所定の仲介処理を実行し、前記特定のユーザの認証が成功した場合、その旨を示す外部認証情報を前記認証サイトから取得する機能と、
前記第2の記憶領域に記憶された複数のレコードの中から、前記認証サイトから取得された外部認証情報のダイジェスト値が設定されたレコードを特定した上で、特定したレコードの中から、前記認証サイトから取得された外部認証情報が設定されたレコードをさらに特定し、そのレコードに設定された内部IDを前記特定のユーザの内部IDとして決定する機能と、
前記第1の記憶領域において前記特定のユーザの内部IDと対応づけられた属性情報を前記外部装置へ提供する機能と、
を実現させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−203764(P2012−203764A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−69316(P2011−69316)
【出願日】平成23年3月28日(2011.3.28)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】