(57)【要約】  ユーザ情報提供装置１０１は、ユーザ情報をユーザ情報蓄積管理部２０３に記憶しており、ユーザ情報利用プログラムをサーバ装置１０２から受信すると、当該ユーザ情報利用プログラムを解析して、利用されるユーザ属性情報を抽出し、フィルタ情報蓄積管理部２０３に記憶されたフィルタ情報を参照して、当該ユーザ属性情報の利用を許可するか否かを判定する。ユーザ情報提供装置１０１は、ユーザ属性情報の利用が許可されていないと判定した場合には、ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを拒否すべく、ユーザ情報利用プログラムの全部又は一部を実行せず、ユーザ属性情報の利用が許可されていると判定した場合には、当該ユーザ属性情報へのアクセスを許可すべく、ユーザ情報利用プログラムを実行する。
2012032628.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに関する属性を示すユーザ属性情報を複数含むユーザ情報を記憶する第１記憶部と、
前記ユーザ情報へ統一された方法でアクセスするためのユーザ情報利用プログラムをサーバ装置から受信する受信部と、
受信された前記ユーザ情報利用プログラムを解析して、利用される前記ユーザ属性情報を抽出する解析部と、
前記ユーザ属性情報の利用を許可するか否かを示す利用可否情報を前記ユーザ属性情報毎に記憶する第２記憶部と、
抽出された前記ユーザ属性情報の前記利用可否情報を用いて、前記ユーザ属性情報の利用を許可するか否かを判定する判定部と、
前記判定部の判定結果に応じて、前記ユーザ情報利用プログラムを実行する実行部と、
前記ユーザ属性情報の利用が許可されていないと判定された場合には、前記ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを拒否すべく、前記ユーザ情報利用プログラムの全部又は一部を前記実行部に実行させず、前記ユーザ属性情報の利用が許可されていると判定された場合には、当該ユーザ属性情報へのアクセスを許可すべく、前記ユーザ情報利用プログラムを前記実行部に実行させる制御部とを備える
ことを特徴とする情報処理装置。
【請求項２】
前記ユーザ情報利用プログラムは、前記ユーザ属性情報の利用に関し、前記サーバ装置及び前記情報処理装置間で共通の記述形式である共通記述形式で記述されており、
前記解析部は、前記ユーザ情報利用プログラムの記述を解析して、利用される前記ユーザ属性情報を抽出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ユーザ情報利用プログラムには、前記ユーザ属性情報の利用に関し、前記ユーザ属性情報の送信を要求する記述が含まれている場合があり、
前記解析部は、前記ユーザ情報利用プログラムの記述を解析して、利用される前記ユーザ属性情報を抽出すると共に、抽出した前記ユーザ属性情報の前記サーバ装置への送信が要求されているか否かを判定する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記利用可否情報は、前記ユーザ属性情報について、送信及び照会を許可すること、送信は許可しないが照会を許可すること、並びに、送信及び照会を許可しないことのいずれかを示し、
前記判定部は、前記利用可否情報を用いて、抽出された前記ユーザ属性情報のうち、照会が要求されている前記ユーザ属性情報について、その照会を許可するか否かを判定し、送信が要求されている前記ユーザ属性情報について、その送信を許可するか否かを判定する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
送信を許可すると判定された前記ユーザ属性情報を前記サーバ装置に送信する送信部を更に備える
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記受信部は、前記サーバ装置の信頼性を確認するための通信を行った後、前記ユーザ情報利用プログラムをサーバ装置から受信し、
前記第２記憶部は、前記サーバ装置の信頼性を証明するサーバ装置情報を更に記憶し、
受信された前記ユーザ情報利用プログラムを送信した前記サーバ装置の前記サーバ装置情報が前記第２記憶部に記憶されているか否かを判定することにより、前記ユーザ情報利用プログラムの認証を行う認証部を更に備え、
前記実行部は、前記認証が成功した場合に、前記ユーザ属性情報の判定結果に応じて、前記ユーザ情報利用プログラムを実行する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項７】
複数の前記サーバ装置が、前記情報処理装置に接続可能であり、
前記第２記憶部は、前記利用可否情報を前記サーバ装置毎に記憶し、
前記判定部は、受信された前記ユーザ情報利用プログラムから抽出された前記ユーザ属性情報について、当該ユーザ情報利用プログラムを送信した前記サーバ装置に対応する前記利用可否情報を用いて、前記ユーザ属性情報の利用を許可するか否かを判定する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記ユーザ情報利用プログラムは、複数存在し、
前記第２記憶部は、前記利用可否情報を前記ユーザ情報利用プログラム毎に記憶し、
前記判定部は、受信された前記ユーザ情報利用プログラムから抽出された前記ユーザ属性情報について、当該ユーザ情報利用プログラムに対応する前記利用可否情報を用いて、前記ユーザ属性情報の利用を許可するか否かを判定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記第１記憶部に対して前記ユーザ属性情報の記憶、変更及び削除のうち少なくとも１つを行う第１操作入力を受け付ける及び前記第２記憶部に対して前記利用可否情報の記憶、変更及び削除のうち少なくとも１つを行う第２操作入力を受け付ける操作入力受付部と、
前記第１操作入力に応じて、前記第１記憶部に対して前記ユーザ属性情報の記憶、変更及び削除のうち少なくとも１つを行う第１情報制御部と、
前記第２操作入力に応じて、前記第２記憶部に対して前記利用可否情報の記憶、変更及び削除のうち少なくとも１つを行う第２情報制御部とを更に備える
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記共通記述形式は、前記情報処理装置及び前記サーバ装置間で同一スキーマが共有されたＸＭＬ形式であり、
前記抽出部は、前記ユーザ情報利用プログラムに含まれるＸＰａｔｈ記述又はＸＱｕｅｒｙ記述を解析して、利用される前記ユーザ属性情報を抽出する
ことを特徴とする請求項９に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
従来より、ＰＣ（Personal  Computer）や携帯電話や通信機能を有するＡＶ機器等の情報処理装置に蓄積されたユーザ情報を、通信インフラを利用したサービス事業者に提供する技術がある。ユーザ情報としては、例えば、ユーザの使用する情報処理装置の属性情報や、ユーザの個人情報や、ユーザによる情報処理装置における操作入力の履歴を示す操作履歴情報などがある。このような技術の中には、情報処理装置の現在位置を緯度経度により示す現在位置情報をＷｅｂブラウザを介してサービス事業者のサーバ装置に送信するインタフェース（Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩ）を規定した技術がある（非特許文献１参照）。非特許文献１の技術では、Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩが埋め込まれたＨＴＭＬ文書を情報処理装置が受信すると、当該ＡＰＩによって、現在位置情報の開示要求をユーザに通知し、ユーザに開示可否を選択させることにより、現在位置情報へのアクセスを制御する。このＧｅｏｌｏｃａｔｉｏｎ  ＡＰＩでは、現在位置情報の開示範囲が、サービス事業者であることがインタフェース仕様として暗黙的に規定されている。この開示範囲を例えば情報処理装置内に変更する場合には、Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩと同列のインタフェースを新たに規定し、そのインタフェースを利用してインタフェース単位で現在位置情報に対するアクセスを制御することが考えられる。また、現在位置情報として、緯度経度ではなく、都道府県や市区町村などのより粗い粒度の情報を利用する場合にも、Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩと同列のインタフェースを新たに規定し、そのインタフェースを利用してインタフェース単位で現在位置情報へのアクセスを制御することが考えられる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】W3C  Geolocation  API  Specification  Editor’s  Draft  24  August  2009  http://dev.w3.org/geo/api/spec-source.html
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように、非特許文献１の技術では、開示範囲や利用方法も含めて規定したインタフェース単位で情報へのアクセスを制御しており、開示範囲に応じた制御や、利用方法の柔軟な変更に対応することが困難であった。例えば、非特許文献１の技術を上述の情報処理装置に蓄積されたユーザ情報をサービス事業者に提供する技術に適用した場合、サービス事業者からのユーザ情報の利用要求に対し、開示範囲に応じた情報単位でのアクセスを制御することが困難であった。また、サービス事業者によるユーザ情報の利用方法を柔軟に変更できない恐れがあった。【０００５】
本発明は、上記に鑑みてなされたものであって、サーバ装置からのユーザ情報の利用要求に対し、開示範囲に応じたユーザ属性情報単位でのアクセスの制御と、開示範囲内での利用方法の柔軟な変更とが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、情報処理装置であって、ユーザに関する属性を示すユーザ属性情報を複数含むユーザ情報を記憶する第１記憶部と、前記ユーザ情報へ統一された方法でアクセスするためのユーザ情報利用プログラムをサーバ装置から受信する受信部と、受信された前記ユーザ情報利用プログラムを解析して、利用される前記ユーザ属性情報を抽出する解析部と、前記ユーザ属性情報の利用を許可するか否かを示す利用可否情報を前記ユーザ属性情報毎に記憶する第２記憶部と、抽出された前記ユーザ属性情報の前記利用可否情報を用いて、前記ユーザ属性情報の利用を許可するか否かを判定する判定部と、前記判定部の判定結果に応じて、前記ユーザ情報利用プログラムを実行する実行部と、前記ユーザ属性情報の利用が許可されていないと判定された場合には、前記ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを拒否すべく、前記ユーザ情報利用プログラムの全部又は一部を前記実行部に実行させず、前記ユーザ属性情報の利用が許可されていると判定された場合には、当該ユーザ属性情報へのアクセスを許可すべく、前記ユーザ情報利用プログラムを前記実行部に実行させる制御部とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、サーバ装置からのユーザ情報の利用要求に対し、開示範囲に応じたユーザ属性情報単位でのアクセスの制御と、開示範囲内での利用方法の柔軟な変更とが可能になる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施の形態情報処理システムの構成を例示する図。
【図２】ユーザ情報の構成を例示する図。
【図３】ユーザ情報利用プログラムの記述の一部を例示する図。
【図４】フィルタ情報の構成を例示する図。
【図５】ユーザ情報提供処理の手順を示すフローチャート。
【図６】第２の実施の形態の情報処理システムの構成を例示する図。
【図７】ユーザ情報利用プログラムの記述の一部を例示する図。
【図８】フィルタ情報のデータ構成を例示する図。
【図９】ユーザ情報提供処理の手順を示すフローチャート。
【図１０】第３の実施の形態にかかる情報処理システムの構成を例示する図。
【図１１】フィルタ情報のデータ構成を例示する図。
【図１２】サーバ装置情報を例示する図。
【図１３】ユーザ情報利用プログラムの受信処理の手順を示すフローチャート。
【図１４】ユーザ情報提供処理の手順を示すフローチャート。
【図１５】第４の実施の形態に係るフィルタ情報のデータ構成を例示する図。
【図１６】プログラム関連情報を例示する図。
【図１７】ユーザ情報利用プログラムの受信処理の手順を示すフローチャート。
【図１８】第５の実施の形態の情報処理システムの構成を例示する図。
【図１９】ユーザ情報提供処理の手順を示すフローチャート。
【図２０】一変形例に係るユーザ情報の構成を例示する図。
【図２１】一変形例に係るユーザ情報の構成を例示する図。
【図２２】一変形例のユーザ情報利用プログラムの記述の一部を例示する図。
【図２３】一変形例に係る受信処理の手順を示すフローチャート。
【図２４】一変形例に係る情報処理システムの構成を例示する図。
【図２５】一変形例に係るユーザ情報利用プログラムの記述の一部を例示する図。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかる情報処理装置の実施の形態を詳細に説明する。
【００１０】
[第１の実施の形態]
図１は、本実施の形態にかかる情報処理装置であるユーザ情報提供装置１０１を含む情報処理システムの構成及びユーザ情報提供装置１０１の機能的構成を例示する図である。情報処理システムは、ユーザ情報提供装置１０１と、サービス事業者の運用するサーバ装置１０２とを備える。ユーザ情報提供装置１０１とサーバ装置１０２とはネットワーク１０３を介して接続される。ネットワークとは、例えば、ＬＡＮ（Local  Area  Network）、イントラネット、イーサネット（登録商標）、インターネット、ＷＡＮ（Wide  Area  Network）、品質保証された閉域網ＮＧＮ（Next  Generation  Network）又は地上波デジタル放送網などである。
【００１１】
次に、本実施の形態にかかるユーザ情報提供装置１０１のハードウェア構成について説明する。ユーザ情報提供装置１０１は、装置全体を制御するＣＰＵ（Central  Processing  Unit）等の制御部と、各種データや各種プログラムを記憶するＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）等の主記憶部と、コンテンツなどの各種データや各種プログラムを記憶するＨＤＤ（Hard  Disk  Drive）等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、ユーザ情報提供装置１０１には、情報を表示する表示部と、ユーザの指示入力を受け付けるキーボードやマウスやリモートコントローラ（リモコン）等の操作入力部と、外部装置（例えばサーバ装置１０２）との通信を制御する通信Ｉ／Ｆ（interface）とが有線又は無線により各々接続される。サーバ装置１０２との通信は、ネットワーク１０３を介して行う。このようなユーザ情報提供装置１０１は、例えば、パーソナルコンピュータ、デジタルテレビ、ハードディスクレコーダ、ＳＴＢ（Set  Top  Box）、携帯電話のようなモバイルデバイスとして実現される。
【００１２】
サーバ装置１０２のハードウェア構成についてもユーザ情報提供装置１０１と略同様であり、通常のコンピュータを利用したハードウェア構成となっている。サーバ装置１０２は、例えば、Ｙａｈｏｏ！（登録商標）等の総合ポータルサイト、Ａｍａｚｏｎ（登録商標）等の物販サイト、ＹｏｕＴｕｂｅ等の動画共有サービスサイト、ぐるなび等の情報サイト、ｍｉｘｉ（登録商標）等のＳＮＳ（Social  Network  Service）サイト、ひかりＴＶ（登録商標）等のＩＰＴＶサービスサイトが運用するサーバ装置や、地上波デジタル放送の送出装置である。
【００１３】
次に、上述したハードウェア構成において、ユーザ情報提供装置１０１のＣＰＵが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される各種機能について図１を用いて説明する。ユーザ情報提供装置１０１は、プログラム受信部２０１と、プログラム実行部２０２と、ユーザ情報蓄積管理部２０３と、ユーザ情報抽出部２０４と、フィルタ情報蓄積管理部２０５と、アクセス制御部２０６とを有する。プログラム受信部２０１、プログラム実行部２０２、ユーザ情報抽出部２０４及びアクセス制御部２０６は、ＣＰＵのプログラム実行時にＲＡＭなどの主記憶部上に生成されるものである。ユーザ情報蓄積管理部２０３及びフィルタ情報蓄積管理部２０５は、例えば、主記憶部や補助記憶部に構築されるデータベース管理システムであり、例えば、ＸＭＬ（eXtensible  Markup  Language）データベースであるとする。以下、各部の詳細について説明する。
【００１４】
ユーザ情報蓄積管理部２０３は、ユーザ情報を記憶し、当該ユーザ情報の登録及び削除や当該ユーザ情報へのアクセスを制御する。ユーザ情報は、ユーザの属性に関するユーザ属性情報を複数含み、例えば、ユーザの個人情報（名前、年齢、住所、性別、職業、趣味などを示す情報、クレジットカードに関する情報等）のみならず、ユーザ情報提供装置１０１の当該ユーザの操作履歴情報、ユーザ情報提供装置１０１の装置属性情報（製造番号や製品名称を示す情報等）も包含し得るものとする。尚、ユーザ情報提供装置１０１に各種センサが搭載される場合、各種センサから得られ諸情報（現在位置を示す情報、加速度を示す情報、指紋などの各種生態情報等）がユーザ情報に含まれていても良い。ただし、ユーザ情報は、ここに例示した各ユーザ属性情報を必須で含む必要はなく、かつ、ここに例示していない種々の個人情報を含むものであっても良い。本実施の形態においては、このようなユーザ情報をＸＭＬ（eXtensible  Markup  Language）で表現し、ユーザ情報蓄積管理部２０３は、当該ユーザ情報をＸＭＬ文書として記憶するＸＭＬデータベースであるとする。また、ユーザ情報の記述形式は、ユーザ情報提供装置１０１とサーバ装置１０２との間で共通化されていることを前提する。ここでは、ユーザ情報の共通記述形式は、例えば、ユーザ情報提供装置１０１とサーバ装置１０２との間で同一スキーマが共有されたＸＭＬ形式とする。
【００１５】
図２は、ユーザ情報の構成を例示する図である。同図では、タグ<userProfile></userProfile>の間にある各タグ<firstName>,<lsatName>,<sex>,<age>,…の各々がユーザ属性情報に付与された名称であるユーザ属性名（「ファーストネーム」、「ラストネーム」、「性別」、「年齢」等）を示し、そのタグ間に示される値が、ユーザ属性情報の示す値であるユーザ属性値である。例えば「ファーストネーム」については、ユーザ属性値が「Tarou」であることが示されている。このように複数のユーザ属性情報を含むユーザ情報がユーザ毎にユーザ情報蓄積管理部２０３に記憶されている。
【００１６】
プログラム受信部２０１は、サーバ装置１０２からネットワーク１０３を介してユーザ情報利用プログラムを受信して、これをユーザ情報抽出部２０４に送る。ユーザ情報利用プログラムは、ユーザ情報提供装置１０１が記憶しているユーザ情報へ統一された方法でアクセスするためのものであり、例えば、ＨＴＭＬ（Hypertext  Markup  Language）文書に埋め込まれたＪａｖａ（登録商標）Ｓｃｒｉｐｔプログラムである。このようなユーザ情報利用プログラムを受信するプログラム受信部２０１は、例えば、ＩＥ（Internet  Explorer）、ＦｉｒｅＦｏｘ（登録商標）、あるいは、Ｏｐｅｒａ（登録商標）などに代表されるインターネットブラウザ・アプリケーションが利用するＨＴＴＰクライアントである。当該ユーザ情報利用プログラムにおいてユーザ情報へアクセスするための記述は、共通化されたＡＰＩ（Application  Programming  Interface）を用いて記述されているものとする。ユーザ情報にアクセスするための共通ＡＰＩは、例えば、ＸＰａｔｈを利用する。図３は、ユーザ情報利用プログラムの記述の一部を例示する図である。同図では、ユーザ情報利用プログラムにおいて、年齢情報及び性別情報が利用されることが記述されていることが示されている。
【００１７】
ユーザ情報抽出部２０４は、プログラム受信部２０１から送られたユーザ情報利用プログラムを解析し、当該ユーザ情報利用プログラムの実行時に利用されるユーザ属性情報を抽出する。具体的には、ここでは、ユーザ情報利用プログラムはＪａｖａ（登録商標）Ｓｃｒｉｐｔプログラムであるから、ユーザ情報抽出部２０４は、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔを解析して実行する後述のプログラム実行部２０２にフックされるソフトウェアモジュールである。
【００１８】
ユーザ情報抽出部２０４は、具体的には、例えば図３に例示されるユーザ情報利用プログラムを受け取ると、当該ユーザ情報利用プログラムを解析し、’@example.com/  personalInformation/xml;1’（１行目）で特定されるユーザ情報利用インタフェース（共通ＡＰＩ）が呼び出されていること、即ち、共通ＡＰＩを介して何らかのユーザ情報の利用が求められていることを認識する。更に、ユーザ情報抽出部２０４は、ＸＱｕｅｒｙによるユーザ属性のアクセスコード（５行目〜８行目）から、当該プログラムが利用するユーザ属性情報として、年齢情報（personalInformation/userProfile/age）と性別情報（personalInformation/userProfile/sex）とを抽出する。最後に、ユーザ情報抽出部２０４は、当該ユーザ情報利用プログラムの実行により利用されるユーザ属性情報（ここでは年齢情報及び性別情報）を抽出結果としてアクセス制御部２０６へ送る。
【００１９】
フィルタ情報蓄積管理部２０５は、ユーザ属性情報のそれぞれについてユーザ情報利用プログラムの実行による利用を許可するか否かを示すフィルタ情報を記憶し、当該フィルタ情報の登録及び削除や当該フィルタ情報へのアクセスを制御する。図４は、フィルタ情報の構成を例示する図である。同図に示されるように、ユーザ属性情報毎に、当該ユーザ属性情報の利用を許可する公開（public）又はその利用を許可しない非公開（private）の２値をとる利用可否情報が対応付けられてフィルタ情報が構成されている。
【００２０】
アクセス制御部２０６は、フィルタ情報蓄積管理部２０５に記憶されたフィルタ情報と、ユーザ情報抽出部２０４から送られた抽出結果とに基づいて、プログラム受信部２０１が受信したユーザ情報利用プログラムの実行の可否を決定する。即ち、当該ユーザ情報受信プログラムの実行により利用されるユーザ属性情報について、その利用が許可されていないことがフィルタ情報によって示される場合には、ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを拒否すべく、アクセス制御部２０６は、当該ユーザ情報利用プログラムをプログラム実行部２０２に送らず、その利用が許可されていることがフィルタ情報によって示される場合には、アクセス制御部２０６は、ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを許可すべく、当該ユーザ情報利用プログラムをプログラム実行部２０２に送る。このようなアクセス制御部２０６は、ユーザ情報抽出部２０４と同様、以下のプログラム実行部２０２にフックされるソフトウェアモジュールであるとする。
【００２１】
アクセス制御部２０６は、具体的には例えば、図３に例示されるユーザ情報利用プログラムに対するユーザ情報抽出部２０４の抽出結果が年齢情報（personalInformation/userProfile/age）と性別情報（personal  Information/userProfile/sex）とであることを認識すると、図４に例示されるフィルタ情報を用いて、当該年齢情報及び性別情報の各利用可否情報を参照して、ユーザ情報利用プログラムの実行の可否を決定する。年齢情報について、非公開（private）に設定されているため、アクセス制御部２０６は、当該年齢情報へのユーザ情報利用プログラムからアクセスを拒否すべく、アクセス制御部２０６は、当該ユーザ情報利用プログラムをプログラム実行部２０２に送らない。仮に、ユーザ情報利用プログラムの実行により、性別情報のみが利用される場合や、年齢情報の代わりに公開（public）に設定されている出身国情報（personalInformation/userProfile/  country）が利用されている場合には、アクセス制御部２０６は、ユーザ情報利用プログラムをプログラム実行部２０２へ送る。
【００２２】
プログラム実行部２０２は、アクセス制御部２０６から送られたユーザ情報利用プログラムを実行する。プログラム実行部２０２は、具体的には、ＨＴＭＬレンダラとＪａｖａ（登録商標）Ｓｃｒｉｐｔを解析して実行する機能、即ち、インターネットブラウザ・アプリケーションの中核機能を有する。但し、ユーザ情報利用プログラムの記述言語と同様、これらの処理系に限定されるものではない。
【００２３】
次に、本実施の形態にかかるユーザ情報提供装置１０１の行うユーザ情報提供処理の手順について図５を用いて説明する。尚、以下の説明では、図２に示されるユーザ情報、図３に示されるユーザ情報利用プログラム及び図４に例示されるフィルタ情報を用いるものとする。ユーザ情報提供装置１０１は、プログラム受信部２０１の機能により、ネットワーク１０３を介してサーバ装置１０２にアクセスして、ユーザ情報利用プログラムが埋め込まれたＨＴＭＬ文書を受信して、ユーザ情報利用プログラムを取得する（ステップＳ１）。次に、ユーザ情報提供装置１０１は、ユーザ情報抽出部２０４の機能により、ステップＳ１で取得したユーザ情報利用プログラムを解析して、ユーザ情報利用ＡＰＩが利用されているか否かを判定する（ステップＳ２）。このとき、ユーザ情報提供装置１０１は、図３の例では、プログラムコード中の、ユーザ情報へのアクセスのための共通ＡＰＩのインタフェース呼び出し（１行目、２行目）の有無に基づいて、ユーザ情報利用ＡＰＩの利用の有無を判定する。また同時に、ユーザ情報提供装置１０１は、ステップＳ１で取得したユーザ情報利用プログラムを解析した結果から、当該ユーザ情報利用プログラムの実行により利用されるユーザ属性情報を抽出する（ステップＳ３）。このとき、ユーザ情報提供装置１０１は、図３の例では、プログラムコード中の、ＸＱｕｅｒｙによるユーザ属性情報へのアクセスインタフェース呼び出し（５行目〜８行目）の有無に基づいて、利用されるユーザ属性情報を抽出する。この例では、年齢情報及び性別情報が抽出される。
【００２４】
続いて、ユーザ情報提供装置１０１は、ユーザ情報利用ＡＰＩが利用されているか否かを判定する（ステップＳ４）。これは、例えば、上述の抽出の結果に基づき、ユーザ情報利用ＡＰＩが呼び出され（初期化され）、かつ、ユーザ情報利用ＡＰＩを介したユーザ属性情報の利用（照会）を含んでいる場合にのみ利用されていると判定しても良いし、ユーザ属性情報の照会を含んでいない場合でも、ユーザ情報利用ＡＰＩが呼び出されているだけで、利用されていると判定しても良い。いずれにしても、ユーザ情報提供装置１０１は、ユーザ情報利用ＡＰＩが利用されていないと判定した場合には（ステップＳ４：ＮＯ）、ステップＳ１で取得したユーザ情報利用プログラムを、ＨＴＭＬ文書に埋め込まれた通常のＪａｖａ（登録商標）Ｓｃｒｉｐｔプログラムとして実行して、処理を終了する。即ち、ユーザ情報提供装置１０１は、ユーザ属性情報の利用の可否を判定することなく、処理を終了する。
【００２５】
一方、ユーザ情報提供装置１０１は、ユーザ情報利用ＡＰＩが利用されていると判定した場合（ステップＳ４：ＹＥＳ）、ステップＳ３で抽出したユーザ属性情報を用いて、フィルタ情報蓄積管理部２０５のフィルタ情報を参照して、アクセス制御部２０６の機能により、当該ユーザ属性情報の利用の可否を判定する（ステップＳ５）。そして、ユーザ情報提供装置１０１は、ステップＳ３で抽出したユーザ属性情報の少なくとも１つでも利用が許可されていないと判定した場合、ユーザ情報利用プログラムからのこれらのユーザ属性情報へのアクセスを拒否すべく（ステップＳ５：ＮＯ）、ユーザ情報利用プログラムを実行せずに、処理を終了する。一方、ユーザ情報提供装置１０１は、ステップＳ３で抽出したユーザ属性情報の全てについて利用が許可されていると判定した場合、ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを許可すべく（ステップＳ５：ＹＥＳ）、ユーザ情報利用プログラムを実行して、ユーザ情報蓄積管理部２０３から当該ユーザ属性情報を読み出して（ステップＳ６）、処理を終了する。
【００２６】
図４の例では、ステップＳ３で抽出された性別情報の利用可否情報が公開（public）を示し、年齢情報の利用可否情報が非公開（private）を示しているため、ユーザ情報提供装置１０１は、ユーザ情報利用プログラムからの性別情報及び年齢情報へのアクセスを拒否すべく（ステップＳ５：ＹＥＳ）、ユーザ情報利用プログラムを実行せずに、処理を終了する。尚、仮に、年齢情報の利用可否情報が公開（public）を示している場合には、ユーザ情報利用プログラムからの性別情報及び年齢情報へのアクセスを許可すべく（ステップＳ５：ＹＥＳ）、ユーザ情報利用プログラムを実行して、ユーザ情報蓄積管理部２０３から年齢情報及び性別情報を読み出して（ステップＳ６）、処理を終了する。
【００２７】
このとき、ユーザ情報利用プログラムが、読み出した年齢情報や性別情報を利用して、ＨＴＭL文書の表示内容を変更するものであったとする。シンプルなユースケースとして、年齢が１０歳未満の場合に、ＨＴＭL文書内に含まれる漢字にルビをふる、あるいは、ひらがなで表示する、といった例が考えられる。この場合、ユーザ情報提供装置１０１に蓄積されたユーザ情報を利用しているが、利用されているユーザ属性情報（年齢情報、性別情報）はサーバ装置１０２には送信されておらず、従って、当該ユーザ属性情報は公開されていないことになる。このように、ユーザ情報提供装置１０１は、サービス事業者のサーバ装置１０２にユーザ情報を送信せずとも、ユーザ属性情報に適応したサービスを享受することが可能となる。
【００２８】
尚、ステップＳ５では、ユーザ情報提供装置１０１は、ユーザ情報利用プログラムからのユーザ属性情報へのアクセスを拒否する場合（ステップＳ５：ＮＯ）、プログラム実行部２０２の機能により、ユーザ情報利用プログラムにおいてユーザ属性情報（図１１の例では年齢情報及び性別情報）が利用されることが記述されている部分を無視して、当該ユーザ情報利用プログラムが埋め込まれたＨＴＭＬ文書を表示部に表示するようにしても良いし、当該ＨＴＭＬ文書自体の表示を拒否する旨を表示部に表示するようにしても良い。また、ユーザ情報提供装置１０１は、利用の許可されているユーザ属性情報（ここでは性別情報）のみへのアクセスを許可するものとして(ステップＳ５：ＹＥＳ)、ステップＳ６では、利用の許可されているユーザ属性情報のみへのアクセスに関する処理を実行して、ユーザ情報蓄積管理部２０３から性別情報のみを読み出すようにしても良い。即ち、ユーザ情報提供装置１０１は、ユーザ情報利用プログラムのうち、利用の許可されていないユーザ属性情報のみへのアクセスに関する処理を実行せず、利用の許可されているユーザ属性情報のみへのアクセスに関する処理を実行するようにしても良い。
【００２９】
以上のように、本実施の形態によれば、サービス事業者のサーバ装置のユーザ情報の利用要求に対して、ユーザ情報提供装置が、開示範囲に応じたユーザ属性情報単位でのアクセス制御を実現することができる。更に、ユーザ属性情報の開示範囲内において、サービス事業者が、ユーザ情報の利用方法を柔軟に変えて、利用が許可されている公開のユーザ属性情報を利用したターゲット広告や、コンテンツや商品のお薦めサービスを実現することができる。具体的には、本実施の形態に係るユーザ情報提供装置は、従来技術に挙げたＧｅｏｌｏｃａｔｉｏｎ  ＡＰＩの次の２つの問題を解決することができる。
【００３０】
第１に、Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩはサービス事業者がユーザの現在位置を緯度経度により示す現在位置情報を利用することを可能にするものであるが、ユーザ情報として利用できるものが緯度経度に限定されているという問題がある。サービス事業者によるターゲット広告などに有用なユーザ情報は、個人が特定できる情報を廃した匿名情報に限っても、多岐にわたる。上述した性別や年齢に限らず、例えば、都道府県や市町村の粒度にとどめた住所、職種、趣味、テレビの視聴履歴や、ネットでの購買履歴などを示す情報がユーザ情報のうちの個々のユーザ属性情報として挙げられる。Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩは、こうした緯度経度以外を示すユーザ情報を利用するためのインタフェースを提供するものではない。また、他のユーザ情報を利用するためのＧｅｏｌｏｃａｔｏｎ  ＡＰＩと同粒度のインタフェースを新たに定義する場合、ユーザ属性情報毎に個別にインタフェースを規定する必要があり、多様なユーザ属性情報を包含することは、現実的には困難である。本実施の形態に係るユーザ情報提供装置１０１は、サーバ装置１０２との間で共有されたユーザ情報の共通表現形式と、ユーザ情報への汎用なアクセスを実現可能な共通ＡＰＩを利用することを前提とし、この共通表現形式及び共通ＡＰＩによって利用される情報を解析して、サーバ装置１０２から利用が要求されるユーザ属性情報を抽出することによって、ユーザ情報提供装置１０１内に記憶されたユーザ情報を柔軟に利用可能な枠組みを提供することができる。
【００３１】
第２に、Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩは、情報単位でのアクセスを制御することが困難であるという問題がある。非特許文献１は、Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩ単位での利用可否をユーザに問い合わせるべきとプライバシーポリシーでは言及されているが、これは、ＡＰＩ単位であって情報単位ではない。つまり、Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩでは、経度及び緯度それぞれに対してその情報に個別にアクセスを制御することができない恐れがある。つまり、Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩでは、例えば、経度の情報は公開するが緯度の情報は公開しないといったアクセスの制御を実現することは困難である。このような問題に対し、本実施の形態にかかるユーザ情報提供装置１０１は、サーバ装置１０２との間で共有されたユーザ情報の共通表現形式と、ユーザ情報への汎用アクセスＡＰＩを利用することを前提とし、ユーザ情報抽出部がこの共通表現形式及び共通ＡＰＩの利用情報を解析することで抽出したユーザ属性情報について、フィルタ情報の利用可否情報を参照することによって、情報単位での柔軟なアクセスの制御を実現することができる。
【００３２】
[第２の実施の形態]
次に、情報処理装置の第２の実施の形態について説明する。なお、上述の第１の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００３３】
図６は、本実施の形態にかかるユーザ情報提供装置１０１を含む情報処理システムの構成及びユーザ情報提供装置１０１の機能的構成を例示する図である。ユーザ情報提供装置１０１は、プログラム受信部２０１と、プログラム実行部２０２と、ユーザ情報蓄積管理部２０３と、ユーザ情報抽出部２０４と、フィルタ情報蓄積管理部２０５と、アクセス制御部２０６とに加え、ユーザ情報送信部２０７を有する。ユーザ情報送信部２０７は、ＣＰＵのプログラム実行時にＲＡＭなどの主記憶部上に生成されるものである。プログラム受信部２０１と、プログラム実行部２０２と、ユーザ情報蓄積管理部２０３との各機能については上述の第1の実施の形態と同様であるためその説明を省略する。
【００３４】
ユーザ情報抽出部２０４は、プログラム受信部２０１から送られたユーザ情報利用プログラムを解析し、当該ユーザ情報利用プログラムの実行時に利用されるユーザ属性情報を抽出すると共に、抽出したユーザ属性情報のサーバ装置１０２への送信が要求されているか否かを判定する。この判定は、ユーザ情報利用プログラムにおいて、共通記述形式で表現されたユーザ属性情報を共通ＡＰＩを用いてサーバ装置１０２に送信することが記述されているか否かを判定することにより行う。即ち、ユーザ情報抽出部２０４は、ユーザ属性情報を送信するための共通ＡＰＩの利用の有無によって、送信の有無を判定する。図７は、ユーザ属性情報の送信を共通ＡＰＩを介して行うことが記述されているユーザ情報利用プログラムを例示する図である。ユーザ情報抽出部２０４は、このようなユーザ情報利用プログラムの記述に基づいて、サーバ装置１０２において利用が要求されているユーザ属性情報及びその送信の有無を抽出し、これを抽出結果としてアクセス制御部２０６に送る。
【００３５】
フィルタ情報蓄積管理部２０５は、上述の第１の実施の形態と同様に、ユーザ属性情報のそれぞれについてフィルタ情報を記憶するが、フィルタ情報においてユーザ属性情報毎に対応付けられる利用可否情報が上述の第１の実施の形態と異なる。本実施の形態にかかる利用可否情報は、ユーザ属性情報の利用とサーバ装置１０２への送信を許可する公開（public）、ユーザ属性情報の照会は許可するがサーバ装置１０２への送信は許可せずユーザ情報提供装置１０１内での利用に制限された公開（以降、制限公開と呼ぶ）（protected）及びユーザ属性情報の利用（照会及び送信）を許可しない非公開（private）の３値をとる。図８は、本実施の形態に係るフィルタ情報のデータ構成を例示する図である。同図に示されるように、本実施の形態においては、ユーザ属性情報毎に、これらの３値のいずれかが利用可否情報として設定されている。
【００３６】
ここで、制限公開（protected）について説明する。制限公開は、例えば、図３に例示されるユーザ情報利用プログラムにおける年齢情報及び性別情報の利用方法に該当する。図７に例示されるユーザ情報利用プログラムでは、共通ＡＰＩを介して年齢情報及び性別情報を取得しているが、取得した年齢情報及び性別情報は、当該ユーザ情報利用プログラム内に埋め込まれたＨＴＭＬ文書などのコンテンツについて表示の対象となるコンテンツや表示方法を選択する目的にのみ利用されている。すなわち、取得されたユーザ属性情報である年齢情報及び性別情報は外部に公開されていない。言い換えれば、ユーザ属性情報は外部に漏れておらず、プライバシーは保護されている。このようなユーザ属性情報の制限公開によって、例えば、年齢が１０歳未満の子供であるユーザに対して、ＨＴＭＬ文書における文字を平仮名のみで表示したり、年齢が７０歳以上の高齢者であるユーザに対して、ＨＴＭＬ文書における文字のフォントサイズを大きくして表示したりすることが可能となる。
【００３７】
アクセス制御部２０６は、ユーザ情報抽出部２０４から送られた抽出結果であるユーザ属性情報及び当該ユーザ属性情報毎のサーバ装置１０２への送信の有無と、フィルタ情報蓄積管理部２０５に記憶されたフィルタ情報とを用いて、プログラム受信部２０１が受信したユーザ情報利用プログラムの実行の可否を決定する。サーバ装置１０２への送信が要求されている場合且つその利用又は送信が許可されていないことがフィルタ情報によって示される場合には、ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを拒否すべく、アクセス制御部２０６は、当該ユーザ情報利用プログラムをプログラム実行部２０２に送らず、その照会及び送信が許可されていることがフィルタ情報によって示される場合には、アクセス制御部２０６は、ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを許可すべく、当該ユーザ情報利用プログラムをプログラム実行部２０２に送る。サーバ装置１０２への送信が要求されていない場合且つその照会及び送信が許可されていないことがフィルタ情報によって示される場合には、ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを拒否すべく、アクセス制御部２０６は、当該ユーザ情報利用プログラムをプログラム実行部２０２に送らず、その照会が許可されていることがフィルタ情報によって示される場合には、アクセス制御部２０６は、ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを許可すべく、当該ユーザ情報利用プログラムをプログラム実行部２０２に送る。
【００３８】
ユーザ情報送信部２０７は、プログラム実行部２０２のユーザ情報利用プログラムの実行に応じて、ユーザ属性情報をサーバ装置１０２に送信する。即ち、ユーザ情報利用プログラムにおいて、ユーザ属性情報のサーバ装置１０２への送信が、共通ＡＰＩを介して行うことが記述されている場合、ユーザ情報送信部２０７は、当該ユーザ属性情報をサーバ装置１０２に送信する。
【００３９】
次に、本実施の形態にかかるユーザ情報提供装置１０１の行うユーザ情報提供処理の手順について図９を用いて説明する。尚、以下の説明では、図２に示されるユーザ情報、図７に示されるユーザ情報利用プログラム及び図８に例示されるフィルタ情報を用いるものとする。ステップＳ１〜Ｓ２は上述の第１の実施の形態と同様である。ステップＳ３では、ユーザ情報提供装置１０１は、ユーザ情報抽出部２０４の機能により、上述の第１の実施の形態と同様にして、ユーザ属性情報を抽出すると共に、本実施の形態においては、抽出したユーザ属性情報のサーバ装置１０２への送信が要求されているか否かを判定する。即ち、ユーザ情報提供装置１０１は、抽出したユーザ属性情報のサーバ装置１０２への送信を共通ＡＰＩを介して行うことがユーザ情報利用プログラムにおいて記述されているか否かを判定する。図７の例では、ユーザ情報提供装置１０１は、プログラムコード中の、サーバ装置１０２への送信のための共通ＡＰＩのインタフェース呼び出し（１０行目、１１行目）の有無に基づいて、サーバ装置１０２へのユーザ属性情報の送信の有無を判定する。更に、ユーザ情報提供装置１０１は、実際の送信インタフェース呼び出し（１３行目〜１５行目）に基づいて、サーバ装置１０２において利用が要求されているユーザ属性情報及びその送信の有無を抽出する。この結果、ユーザ情報提供装置１０１は、年齢情報については送信が要求されており、性別情報については送信が要求されていないことを抽出する。
【００４０】
続いて、ステップＳ４では、ユーザ情報提供装置１０１は、ユーザ情報利用ＡＰＩが利用されているか否かを判定する。例えば、ユーザ情報提供装置１０１は、上述の抽出結果に基づき、ユーザ情報利用ＡＰＩが呼び出され、かつ、ユーザ情報利用ＡＰＩを介したユーザ属性情報の照会及び送信を行う記述を含んでいる場合にのみ利用されていると判定しても良いし、ユーザ属性情報への照会、あるいは、送信を行う記述を含んでいない場合でも、ユーザ情報利用ＡＰＩが呼び出されているだけで、利用されていると判定しても良い。いずれにおいても、ユーザ情報提供装置１０１は、ユーザ情報利用ＡＰＩが利用されていないと判定した場合（ステップＳ４：ＮＯ）、ユーザ情報提供処理を終了する。
【００４１】
一方、ユーザ情報提供装置１０１は、ユーザ情報利用ＡＰＩが利用されていると判定した場合（ステップＳ４：ＹＥＳ）、ステップＳ５では、ステップＳ３で抽出したユーザ属性情報及びその送信の有無を用いて、アクセス制御部２０６の機能により、フィルタ情報蓄積管理部２０５に記憶されているフィルタ情報において当該ユーザ属性情報の対応付けられている利用可否情報を参照して、当該ユーザ属性情報の利用の可否を判定する。図７の例では、性別情報については送信が要求されておらず、年齢情報についてはその送信が要求されているが（１４行目）、図８に例示されるフィルタ情報では、性別情報及び年齢情報の各利用可否情報が、共に制限公開（protected）に設定されている、即ち、送信が許可されないことが示されている。このように、ステップＳ３で抽出したユーザ属性情報の少なくとも１つについて、ユーザ情報利用プログラムにおいてその送信の有無とフィルタ情報の利用可否情報とに齟齬がある場合、ユーザ情報提供装置１０１は、ユーザ情報利用プログラムからのこれらのユーザ属性情報へのアクセスを拒否すべく（ステップＳ５：ＮＯ）、ユーザ情報利用プログラムを実行せずに、処理を終了する。
【００４２】
一方、仮に、図８において、年齢情報についての利用可否情報が公開（public）に設定されていた場合には、ステップＳ３で抽出したユーザ属性情報の全てについてその送信の有無と利用可否情報とが整合することになる。この場合（ステップＳ５：ＹＥＳ）、ユーザ情報提供装置１０１は、ユーザ情報利用プログラムからの当該ユーザ属性情報へのアクセスを許可すべく、ユーザ情報利用プログラムを実行して、ユーザ情報蓄積管理部２０３から当該ユーザ属性情報（ここでは性別情報及び年齢情報）を読み出す（ステップＳ６）。その後、ユーザ情報提供装置１０１は、送信の要求されているユーザ属性情報（ここでは年齢情報）についてはその送信を行って（ステップＳ７）、ユーザ情報提供処理を終了する。
【００４３】
以上のように、本実施の形態によれば、サービス事業者のサーバ装置のユーザ情報の利用要求に対して、ユーザ情報提供装置が、開示範囲に応じたユーザ属性情報単位でのアクセス制御を実現することができる。更に、ユーザ属性情報の開示範囲内において、サービス事業者が、ユーザ情報の利用方法を柔軟に変えて、利用が許可された公開のユーザ属性情報を利用したターゲット広告や、コンテンツや商品のお薦めサービスを実現することができる。
【００４４】
例えば、従来技術に挙げたＧｅｏｌｏｃａｔｉｏｎ  ＡＰＩは、取得した現在位置情報について公開に関する利用方法まで規定するものではなく、暗黙的には、現在位置情報をサービス事業者のサーバ装置に送信することを想定している。このため、Ｇｅｏｌｏｃａｔｉｏｎ  ＡＰＩの利用を許可すると、現在位置情報のサーバ装置への送信を含めて利用を許可したことになってしまう恐れがあった。例えば、ユーザ属性情報をサーバ装置にまで送信しなくても、年齢情報や性別情報に基づいて表示内容を変えるなど、ユーザにとって有用なサービスは実現可能である。しかしながら、Ｇｅｏｌｏｃａｔｉｏｎａｌ  ＡＰＩは、現在位置情報が外部に公開されず、プライバシーが保護される限りにおいての利用のみを許可するといった公開に関する利用方法を規定して、当該利用方法に基づいて、利用を許可することは困難であった。一方、本実施形態に係るユーザ情報提供装置１０１は、サーバ装置１０２への送信の有無を含む利用をフィルタ情報の利用可否情報に応じて許可又は拒否することにより、プライバシーの保護を実現することが可能になる。
【００４５】
[第３の実施の形態]
次に、情報処理装置の第３の実施の形態について説明する。なお、上述の第１の実施の形態又は第２の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００４６】
図１０は、本実施の形態にかかるユーザ情報提供装置１０１を含む情報処理システムの構成及びユーザ情報提供装置１０１の機能的構成を例示する図である。本実施の形態にかかるユーザ情報提供装置１０１は、ネットワーク１０３を介して複数のサーバ装置１０２Ａ〜１０２Ｂに接続される。尚、サーバ装置１０２Ａ〜１０２Ｂを各々区別する必要がない場合には、単にサーバ装置１０２と記載する場合がある。ユーザ情報提供装置１０１は、プログラム受信部２０１と、プログラム実行部２０２と、ユーザ情報蓄積管理部２０３と、ユーザ情報抽出部２０４と、フィルタ情報蓄積管理部２０５と、アクセス制御部２０６とに加え、プログラム認証部２０８を有する。プログラム認証部２０８は、ＣＰＵのプログラム実行時にＲＡＭなどの主記憶部上に生成されるものである。プログラム受信部２０１と、プログラム実行部２０２と、ユーザ情報蓄積管理部２０３との各機能については上述の第1の実施の形態と同様であるためその説明を省略する。プログラム実行部２０２と、ユーザ情報蓄積管理部２０３との各機能については上述の第１の実施の形態と同様であるためその説明を省略する。
【００４７】
プログラム受信部２０１は、上述の第１の実施の形態と同様に、サーバ装置１０２からユーザ情報利用プログラムを受信する機能を有するが、その受信の前段階において、サーバ装置１０２と暗号化通信セッションを確立し、暗号化通信を行う機能を有する。暗号化通信とは、データを送信する場合には暗号化して送信し、暗号化されたデータを受信した場合にはこれを復号することによりデータの送受信を行う通信形態である。具体的には、例えば、プログラム受信部２０１は、ＨＴＴＰＳ（Hypertext  Transfer  Protocol  over  Secure  Socket  Layer）通信機能を有する。更に、プログラム受信部２０１は、信頼できるサーバ装置と暗号化通信を行う際に、当該サーバ装置１０２の公開鍵証明書などのサーバ証明書をネットワーク１０３を介して取得し、ユーザ情報提供装置１０１内に記憶する機能を有する。記憶先は、例えば、フィルタ情報蓄積管理部２０５である。なお、サーバ装置がセキュアに認証され、暗号化通信を実現できる限りにおいては、公開鍵証明書ベースでのＨＴＴＰＳ通信に限定されるものではない。
【００４８】
フィルタ情報蓄積管理部２０５は、第２の実施の形態で説明したフィルタ情報をサーバ装置１０２毎に記憶する。図１１は、本実施の形態に係るフィルタ情報のデータ構成を例示する図である。同図に示されるように、フィルタ情報として、ユーザ属性情報とその利用可否情報とがサーバ装置１０２を識別するためのサーバ識別情報と対応付けられて記憶される。サーバ識別情報は、例えば、ユーザ情報提供装置１０１内でサーバ装置１０２を一意に識別可能に生成したローカルユニークなＩＤ（例えば数値や文字や記号によって表される）である。図１１の例では、図１０に示したサーバ装置１０２Ａ〜１０２Ｂの符号をサーバ識別情報に相対させている。また、フィルタ情報蓄積管理部２０５は、サーバ識別情報をインデックスとして、サーバ装置１０２に関するサーバ装置情報を記憶する。サーバ装置情報とは、サーバ装置１０２の信頼性を証明する情報であり、サーバ装置１０２との暗号化通信における認証に利用するサーバ証明書に関する認証情報や、その他、暗号化通信に利用する暗号化通信情報や、サーバ装置１０２における表示に関する表示情報や、サーバ装置１０２の名称を示すサーバ装置名情報などである。図１２は、サーバ装置情報を例示する図である。同図に示されるように、サーバ装置情報は、サーバ識別情報と、サーバ証明書のパスを示す証明書情報と、サーバ装置名（サービス名称）情報とを含む。このように証明書情報などのサーバ装置情報を記憶することにより、これらの情報を用いて、ユーザ属性情報の利用を信頼するサーバ装置のみに限定したり、ユーザ属性情報を送信する際に暗号化を行ったりすることが可能になる。
【００４９】
プログラム認証部２０８は、プログラム受信部２０１が受信したユーザ情報利用プログラムを送信したサーバ装置１０２のサーバ装置情報がフィルタ情報蓄積管理部２０５に記憶されているか否かを判定し、その判定結果に応じて、当該ユーザ情報利用プログラムの認証を行う。具体的には、当該サーバ装置情報が記憶されていると判定した場合、プログラム受信部２０１が受信したユーザ情報利用プログラムがユーザ情報の利用が認められたサービス事業者のサーバ装置の送信したユーザ情報利用プログラムであるとして、当該ユーザ情報利用プログラムの認証が成功したとし、当該ユーザ情報利用プログラムをユーザ情報抽出部２０４に送る。一方、サーバ装置情報が記憶されていないと判定した場合、プログラム認証部２０８は、当該ユーザ情報利用プログラムの認証が失敗したとして、当該ユーザ情報利用プログラムをユーザ情報抽出部２０４に送らず、処理を終了する。
【００５０】
ユーザ情報抽出部２０４は、ユーザ情報利用プログラムの認証が成功した場合にプログラム認証部２０８から送られたユーザ情報利用プログラムを解析し、当該ユーザ情報利用プログラムの実行時に利用されるユーザ属性情報を抽出すると共に、抽出したユーザ属性情報のサーバ装置１０２への送信が要求されているか否かを判定する。これにより、ユーザ情報抽出部２０４は、サーバ装置１０２において利用が要求されているユーザ属性情報及びその送信の有無を抽出する。尚、プログラム認証部２０８の認証の結果、ユーザ情報利用プログラムの認証が失敗した場合には、ユーザ情報抽出部２０４は、処理を行わない。
【００５１】
アクセス制御部２０６は、プログラム認証部２０８の認証の結果、ユーザ情報利用プログラムの認証が成功した場合、ユーザ情報抽出部２０４が抽出したユーザ属性情報と、抽出したユーザ属性情報毎のサーバ装置１０２への送信の有無と、当該サーバ装置１０２に対応してフィルタ情報蓄積管理部２０５に記憶されたフィルタ情報とを用いて、プログラム受信部２０１が受信したユーザ情報利用プログラムの実行の可否を決定する。尚、プログラム認証部２０８の認証の結果、ユーザ情報利用プログラムの認証が失敗した場合には、アクセス制御部２０６は、処理を行わない。
【００５２】
次に、本実施の形態にかかるユーザ情報提供装置１０１の行うユーザ情報提供処理の手順について図１３〜１４を用いて説明する。図１３は、ユーザ情報利用プログラムを受信する受信処理の手順を示す図である。図１４は、受信されたユーザ情報利用プログラムを用いたユーザ情報提供処理の手順を示す図である。尚、以下の説明では、図２に示されるユーザ情報、図７に示されるユーザ情報利用プログラム、図１１に例示されるフィルタ情報及び図１２に例示されるサーバ装置情報を用いるものとする。まず、図１３のステップＳ３１では、ユーザ情報提供装置１０１は、プログラム受信部２０１の機能により、ユーザ情報利用プログラムの実行を伴うＨＴＭＬ文書の受信に際し、ＨＴＴＰＳ通信の確立を開始する。このとき、ユーザ情報提供装置１０１は、サーバ装置１０２からサーバ証明書を受信し（ステップＳ３２）、受信したサーバ証明書のパスを示す証明書情報と当該サーバ装置１０２の名称を示すサーバ装置名称情報とを当該サーバ装置１０２のサーバ識別情報と対応付けてフィルタ情報蓄積管理部２０５に記憶する（ステップＳ３３）。そして、ユーザ情報提供装置１０１は、確立したＨＴＴＰＳ通信のレスポンスとして、サーバ装置１０２からユーザ情報利用プログラムを受信する（ステップＳ３４）。このようにして、ユーザ情報提供装置１０１は、ユーザ情報利用プログラムの受信前に、サーバ装置１０２のサーバ証明書を取得し、サーバ装置１０２との間にＨＴＴＰＳによるセキュアな通信セッションを構築することで、サーバ装置１０２との間で安全な通信を行うことが可能になる。
【００５３】
図１３のステップＳ３４は、図１４のステップＳ１に相当する。ステップＳ３５では、ユーザ情報提供装置１０１は、プログラム認証部２０８の機能により、ステップＳ１で受信したユーザ情報利用プログラムを送信したサーバ装置１０２のサーバ装置情報が、フィルタ情報蓄積管理部２０５に記憶されているか否かを判定する。当該サーバ装置情報がフィルタ情報蓄積管理部２０５に記憶されている場合（ステップＳ３５：ＹＥＳ）、当該ユーザ情報利用プログラムの認証に成功して、ステップＳ２に進み、当該サーバ装置情報がフィルタ情報蓄積管理部２０５に記憶されていない場合（ステップＳ３５：ＮＯ）、当該ユーザ情報利用プログラムの認証に失敗し、ユーザ提供処理を終了する。ステップＳ２〜Ｓ４は上述の第２の実施の形態と同様である。
【００５４】
ステップＳ５では、ユーザ情報提供装置１０１は、ステップＳ３で抽出したユーザ属性情報及びその送信の有無と、当該サーバ装置１０２に対応してフィルタ情報蓄積管理部２０５に記憶されたフィルタ情報とを用いて、プログラム受信部２０１が受信したユーザ情報利用プログラムの実行の可否を決定する。例えば、図１１の例では、サーバ識別情報が「１０２Ａ」のサーバ装置１０２Ａについては、性別情報及び年齢情報の各利用可否情報が、共に制限公開（protected）に設定されており、サーバ識別情報が「１０２Ｂ」のサーバ装置１０２Ｂについては、性別情報の利用可否情報は制限公開（protected）に設定されており、年齢情報の利用可否情報は公開（public）に設定されている。この場合、ステップＳ１でユーザ情報利用プログラムを送信したサーバ装置がサーバ装置１０２Ａである場合、ステップＳ５では、ユーザ情報利用プログラムの実行が拒否される。一方、ステップＳ１でユーザ情報利用プログラムを送信したサーバ装置がサーバ装置１０２Ｂである場合、ステップＳ５では、ユーザ情報利用プログラムの実行が許可される。その後のステップＳ６〜Ｓ７は上述の第２の実施の形態と同様である。
【００５５】
以上のように、本実施の形態によれば、異なる複数のサーバ装置からのユーザ情報の利用要求に対して、ユーザ情報提供装置が、開示範囲に応じたユーザ属性情報単位でのアクセス制御を、サーバ装置毎に行うことができる。例えば、あるサーバ装置に対しては、ユーザ属性情報のうちある情報については送信を含む利用を認めるが、別のサーバ装置に対しては、当該情報については照会は認めるが送信は認めない、といったアクセス制御が実現できる。このように本実施の形態においては、サービス事業者の提供するサイトのエリア毎（ＨＴＭＬドキュメントツリーのブランチ毎）にユーザ属性情報単位でのアクセス制御を実現することができる。
【００５６】
[第４の実施の形態]
次に、情報処理装置の第４の実施の形態について説明する。なお、上述の第１の実施の形態乃至第３の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００５７】
本実施の形態にかかるユーザ情報提供装置１０１を含む情報処理システムの構成及びユーザ情報提供装置１０１の機能的構成は、上述の第３の実施の形態において説明に用いた図１０に示したものと同様である。本実施の形態においては、プログラム受信部２０１、フィルタ情報蓄積管理部２０５及びプログラム認証部２０８の各機能が第３の実施の形態と異なる。
【００５８】
プログラム受信部２０１は、サーバ装置１０２と暗号化通信セッションを確立し、暗号化通信を行った後、ユーザ情報利用プログラム自体を認証するための署名情報をユーザ情報利用プログラムと共に受信する。この際、ユーザ情報利用プログラムが署名情報と共に複数のファイルをアーカイブした形式で送信される場合には、プログラム受信部２０１は、アーカイブされているファイル（アーカイブファイルという）を受信すると、当該アーカイブファイルから、ユーザ情報利用プログラムのファイル及び署名情報のファイルをそれぞれ抽出する。アーカイブファイルは、例えば、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔプログラムに署名情報を付与したＪＡＲ（Ｊａｖａ（登録商標）Ａｒｃｈｉｖｅ）ファイルである。プログラム受信部２０１は、例えば、ブラウザが表示するＨＴＭＬ文書に埋め込まれたリンク先（例えばhttp://102A.com/path/to/program.jar!/service1.js）にアクセスして、アーカイブファイル（program.jar）を受信し、このファイルから、ユーザ情報利用プログラムのファイル（service1.js）と署名情報のファイルとを抽出する。署名情報は、例えば、上述の第３の実施の形態で説明したサーバ証明書に対応する電子署名を示す情報である。また、プログラム受信部２０１は、上述の第３の実施の形態と同様に、信頼できるサーバ装置と暗号化通信を行う際に、当該サーバ装置１０２の公開鍵証明書などのサーバ証明書をネットワーク１０３を介して取得し、ユーザ情報提供装置１０１内に記憶する機能を有する。
【００５９】
フィルタ情報蓄積管理部２０５は、第２の実施の形態で説明したフィルタ情報をサーバ装置１０２が提供するユーザ情報利用プログラム毎に記憶する。図１５は、本実施の形態に係るフィルタ情報のデータ構成を例示する図である。同図に示されるように、フィルタ情報として、ユーザ属性情報とその利用可否情報とがユーザ情報利用プログラムを識別するためのプログラム識別情報と対応付けられて記憶される。プログラム識別情報は、例えば、ユーザ情報提供装置１０１内でユーザ情報利用プログラムを一意に識別可能に生成したローカルユニークなＩＤである。また、フィルタ情報蓄積管理部２０５は、プログラム識別情報をインデックスとして、ユーザ情報利用プログラムに関するプログラム関連情報を記憶する。プログラム関連情報とは、上述の第３の実施の形態で説明したサーバ識別情報や、ユーザ情報利用プログラムの格納場所を示すＵＲＬ情報や、ユーザ情報利用プログラムの署名情報などである。図１６は、本実施形態におけるプログラム関連情報を例示する図である。同図に示されるように、プログラム関連情報は、プログラム識別情報と、サーバ識別情報と、ＵＲＬ情報と、署名情報とを含む。サーバ識別情報は上述の第３の実施の形態と同様である。また、フィルタ情報蓄積管理部２０５は、上述の第３の実施の形態と同様に、図１２に例示したサーバ装置情報を記憶する。
【００６０】
プログラム認証部２０８は、プログラム受信部２０１が受信したユーザ情報利用プログラムを送信したサーバ装置１０２のサーバ証明書がフィルタ情報蓄積管理部２０５に記憶されている場合、当該サーバ証明書と、当該ユーザ情報利用プログラムと共にプログラム受信部２０１が受信した署名情報とを用いて署名検証を行い、署名検証の結果に応じて、当該ユーザ情報利用プログラムの認証を行う。具体的には、プログラム認証部２０８は、署名検証の結果、信頼するサーバ装置によって送信されたユーザ情報利用プログラムであると判定した場合、当該ユーザ情報利用プログラムの認証は成功し、信頼するサーバ装置によって送信されたユーザ情報利用プログラムでないと判定した場合、当該ユーザ情報利用プログラムの認証は失敗したとする。また、ユーザ情報利用プログラムの認証が成功した場合、プログラム認証部２０８は、ユーザ情報利用プログラムのプログラム識別情報と、当該ユーザ情報利用プログラムを送信したサーバ装置１０２のサーバ識別情報と、当該ユーザ情報利用プログラムのＵＲＬ情報と、署名情報とを含むプログラム関連情報をフィルタ情報蓄積管理部２０５へ記憶させ、当該ユーザ情報利用プログラムをユーザ情報抽出部２０４に送る。ユーザ情報利用プログラムの認証が失敗した場合、プログラム認証部２０８は、処理を終了する。
【００６１】
次に、本実施の形態にかかるユーザ情報提供装置１０１の行うユーザ情報提供処理の手順について図１７，１４を用いて説明する。図１７は、ユーザ情報利用プログラムを受信する受信処理の手順を示す図である。尚、以下の説明では、図２に示されるユーザ情報、図７に示されるユーザ情報利用プログラム、図１５に例示されるフィルタ情報、図１２に例示されるサーバ装置情報及び図１６に例示されるプログラム関連情報を用いるものとする。まず、図１７のステップＳ３１〜Ｓ３３は上述の第３の実施の形態と同様である。ステップＳ４０では、ユーザ情報提供装置１０１は、プログラム受信部２０１の機能により、確立したＨＴＴＰＳ通信のレスポンスを受信すると、ユーザ情報利用プログラムを要求するＨＴＴＰＳリクエストを送信する（ステップＳ４１）。そして、ユーザ情報提供装置１０１は、ＨＴＴＰＳ通信のレスポンスとして、ユーザ情報利用プログラムに署名情報を付与したアーカイブファイルをサーバ装置１０２から受信する（ステップＳ４２）。そして、ユーザ情報提供装置１０１は、アーカイブファイルから、ユーザ情報利用プログラムのファイル及び署名情報のファイルをそれぞれ抽出する。
【００６２】
その後、ユーザ情報提供装置１０１は、プログラム認証部２０８の機能により、アーカイブファイルから抽出したユーザ情報利用プログラムの認証を行う(ステップＳ４３)。当該認証が成功した場合、ユーザ情報提供装置１０１は、当該ユーザ情報利用プログラムのプログラム識別情報と、当該ユーザ情報利用プログラムを送信したサーバ装置１０２のサーバ識別情報と、当該ユーザ情報利用プログラムのＵＲＬ情報と、署名情報とを含むプログラム関連情報をフィルタ情報蓄積管理部２０５へ記憶させる（ステップＳ４４）。そして、ユーザ情報提供装置１０１は、当該ユーザ情報利用プログラムの解析を行う（ステップＳ４５）。
【００６３】
図１７のステップＳ４２は、図１４のステップＳ１に相当する。図１７のステップＳ４３〜Ｓ４４は、図１４のステップＳ３５に含まれる。ステップＳ３５では、ユーザ情報提供装置１０１は、ユーザ情報利用プログラムを送信したサーバ装置１０２のサーバ証明書がフィルタ情報蓄積管理部２０５に記憶されている場合、当該サーバ証明書と、当該ユーザ情報利用プログラムと共にプログラム受信部２０１が受信した署名情報とを用いて署名検証を行い、署名検証の結果に応じて、当該ユーザ情報利用プログラムの認証を行う。署名検証の結果、信頼するサーバ装置によって送信されたユーザ情報利用プログラムであると判定した場合（ステップＳ３５：ＹＥＳ）、当該ユーザ情報利用プログラムの認証は成功し、当該ユーザ情報利用プログラムの認証に成功して、ユーザ情報利用プログラムのプログラム識別情報と、当該ユーザ情報利用プログラムを送信したサーバ装置１０２のサーバ識別情報と、当該ユーザ情報利用プログラムのＵＲＬ情報と、署名情報とを含むプログラム関連情報をフィルタ情報蓄積管理部２０５へ記憶させる。一方、署名検証の結果、信頼するサーバ装置によって送信されたユーザ情報利用プログラムでないと判定した場合（ステップＳ３５：ＮＯ）、当該ユーザ情報利用プログラムの認証は失敗し、ユーザ提供処理を終了する。ステップＳ２〜Ｓ４は上述の第２の実施の形態と同様である。
【００６４】
ステップＳ５では、ユーザ情報提供装置１０１は、ステップＳ３で抽出したユーザ属性情報及びその送信の有無と、当該サーバ装置１０２に対応してフィルタ情報蓄積管理部２０５に記憶されたフィルタ情報とを用いて、プログラム受信部２０１が受信したユーザ情報利用プログラムの実行の可否を決定する。例えば、図１５の例では、プログラム識別情報が「１０２Ａ０１」のユーザ情報利用プログラムについては、性別情報及び年齢情報の各利用可否情報が、共に制限公開（protected）に設定されており、プログラム識別情報が「１０２Ａ０２」のユーザ情報利用プログラムについては、性別情報の利用可否情報は制限公開（protected）に設定されており、年齢情報の利用可否情報は公開（public）に設定されている。この場合、ステップＳ１で受信されたユーザ情報利用プログラムのプログラム識別情報が「１０２Ａ０１」である場合、ステップＳ５では、ユーザ情報利用プログラムの実行が拒否される。一方、ステップＳ１で受信されたユーザ情報利用プログラムのプログラム識別情報が「１０２Ａ０２」である場合、ステップＳ５では、ユーザ情報利用プログラムの実行が許可される。その後のステップＳ６〜Ｓ７は上述の第２の実施の形態と同様である。
【００６５】
以上のように、本実施の形態によれば、サーバ装置からのユーザ情報の利用要求に対して、ユーザ情報提供装置が、開示範囲に応じたユーザ属性情報単位でのアクセス制御を、サーバ装置毎のみならずユーザ情報利用プログラム毎に行うことができる。例えば、同一のサーバ装置であっても、あるユーザ情報利用プログラムに対しては、ユーザ属性情報のうちある情報については送信を含む利用を認めるが、別のユーザ情報利用プログラムに対しては、当該情報については照会は認めるが送信は認めない、といったアクセス制御が実現できる。このように本実施の形態においては、ユーザ情報利用プログラム毎（ＨＴＭＬドキュメントツリーのリーフ毎）にユーザ属性情報単位でのアクセス制御を実現することができる。
【００６６】
[第５の実施の形態]
次に、情報処理装置の第５の実施の形態について説明する。なお、上述の第１の実施の形態乃至第４の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００６７】
図１８は、本実施の形態にかかるユーザ情報提供装置１０１を含む情報処理システムの構成及びユーザ情報提供装置１０１の機能的構成を例示する図である。本実施の形態にかかるユーザ情報提供装置１０１は、プログラム受信部２０１と、プログラム実行部２０２と、ユーザ情報蓄積管理部２０３と、ユーザ情報抽出部２０４と、フィルタ情報蓄積管理部２０５と、アクセス制御部２０６と、ユーザ情報送信部２０７と、プログラム認証部２０８とに加え、情報制御インタフェース部２０９と、フィルタ情報制御部２１０と、ユーザ情報制御部２１１とを有する。情報制御インタフェース部２０９と、フィルタ情報制御部２１０と、ユーザ情報制御部２１１とは、ＣＰＵのプログラム実行時にＲＡＭなどの主記憶部上に生成されるものである。プログラム受信部２０１と、プログラム実行部２０２と、ユーザ情報蓄積管理部２０３と、ユーザ情報抽出部２０４と、フィルタ情報蓄積管理部２０５と、アクセス制御部２０６と、ユーザ情報送信部２０７と、プログラム認証部２０８とは上述の第４の実施の形態と同様であるため、その説明を省略する。
【００６８】
情報制御インタフェース部２０９は、ユーザ情報蓄積管理部２０３に記憶されているユーザ属性情報やフィルタ情報蓄積管理部２０５に記憶されているフィルタ情報をユーザが閲覧して編集や削除を行ったり、ユーザ属性情報のユーザ情報蓄積管理部２０３への登録やフィルタ情報のフィルタ情報蓄積管理部２０５への登録を行ったりするためのインタフェースを提供する。情報制御インタフェース部２０９は、例えば、図２に例示したユーザ属性情報を表示部に表示させ、ユーザが趣味情報や住所情報などのユーザ属性情報を変更したり、ユーザ属性情報を削除したりする操作入力をユーザが行うためのインタフェースを提供する。そして、情報制御インタフェース部２０９は、ユーザが操作入力部を介して行なった操作入力に応じて、ユーザ情報蓄積管理部２０３におけるユーザ属性情報の登録や削除や変更をユーザ情報制御部２１１に指示する。また、情報制御インタフェース部２０９は、例えば、図１１に例示したフィルタ情報を表示部に表示させ、各ユーザ属性情報の利用可否情報を再設定するためのインタフェースを提供する。そして、情報制御インタフェース部２０９は、ユーザが操作入力部を介して行なった操作入力に応じて、フィルタ情報蓄積管理部２０５におけるフィルタ情報の登録や削除や変更をフィルタ情報制御部２１０に指示する。
【００６９】
このような情報制御インタフェース部２０９は、例えば、設定メニューインタフェースとして表示部に表示されるものであり、ユーザが操作入力部を介して操作入力することによって起動されて、設定メニューインタフェースの表示及び操作入力の受け付けに応じて、実現されるようにしても良い。尚、情報制御インタフェース部２０９は、プログラム受信部２０１によるユーザ情報利用プログラムを受信する処理や、利用されるユーザ属性情報を抽出する処理を契機として非同期で起動されるものであっても良い。
【００７０】
また、情報制御インタフェース部２０９は、例えば、プログラム受信部２０１が受信したユーザ情報利用プログラムの認証が失敗した時に、当該ユーザ情報利用プログラムを認証するか否かをユーザに選択させるインタフェースを提供する。これに対応してユーザが当該ユーザ情報利用プログラムを認証する操作入力を行った場合、情報制御インタフェース部２０９は、当該操作入力を受け付けて、当該プログラム関連情報のフィルタ情報蓄積管理部２０５への記憶をフィルタ情報制御部２１０に指示する。更に、ユーザ情報抽出部２０４が当該ユーザ情報利用プログラムを解析して抽出したユーザ属性情報の利用をアクセス制御部２０６が許可していない場合に、情報制御インタフェース部２０９は、抽出したユーザ属性情報のリストを、サーバ装置１０２から要求されているユーザ属性情報の利用方法と合わせて表示部に表示させ、ユーザ属性情報の利用を許可するか否かをユーザに判定させるインタフェースを提供する。これに対して、ユーザがその利用を許可する操作入力を行った場合、情報制御インタフェース部２０９は、当該操作入力を受け付け、フィルタ情報蓄積管理部２０５に記憶されている当該フィルタ情報について当該ユーザ属性情報の利用可否情報の変更のフィルタ情報制御部２１０に指示する。
【００７１】
フィルタ情報制御部２１０は、情報制御インタフェース部２０９からの指示に基づいて、フィルタ情報蓄積管理部２０５におけるフィルタ情報の登録や削除や変更を行ったり、フィルタ情報蓄積管理部２０５へサーバ装置情報を記憶させたりする。ユーザ情報制御部２１１は、情報制御インタフェース部２０９からの指示に基づいて、ユーザ情報蓄積管理部２０３に記憶されたユーザ属性情報の登録や削除や変更を行う。
【００７２】
次に、本実施の形態にかかるユーザ情報提供装置１０１の行うユーザ情報提供処理の手順について図１９を用いて説明する。尚、以下の説明では、図２に示されるユーザ情報、図７に示されるユーザ情報利用プログラム、図１２に例示されるサーバ装置情報及び図１５に例示されるフィルタ情報を用いるものとする。ステップＳ１は、上述の第３の実施の形態と同様であり、図１７のステップＳ３１〜Ｓ３３，Ｓ４０〜Ｓ４２に相当する。ステップＳ３５は上述の第４の実施の形態と同様である。ステップＳ３５で認証が失敗した場合（ステップＳ３５：ＮＯ）、ユーザ情報提供装置１０１は、情報制御インタフェース部２０９の機能により、当該ユーザ情報利用プログラムを認証するか否かをユーザに選択させるインタフェースを提供する（ステップＳ５１）。これは、例えば、ブラウザ上でのポップアップウィンドウのような形式で実現される。例えば、ユーザ情報提供装置１０１は「＊＊＊サービスのユーザ情報利用プログラム「１０２Ａ０１」がユーザ情報の利用許可を求めています。当該ユーザ情報利用プログラムを認証しますか？」などといったメッセージを表示部に表示させる。このようなメッセージに対して、ユーザが操作入力部を介して、当該ユーザ情報利用プログラムを認証しない操作入力を行った場合（ステップＳ５１：ＮＯ）、処理を終了する。ユーザが操作入力部を介して、当該ユーザ情報利用プログラムを認証する操作入力を行った場合（ステップＳ５１：ＹＥＳ）、ユーザ情報提供装置１０１は、当該操作入力を受け付け、当該ユーザ情報利用プログラムのプログラム識別情報と、当該ユーザ情報利用プログラムを送信したサーバ装置１０２のサーバ識別情報と、当該ユーザ情報利用プログラムのＵＲＬ情報と、署名情報とを含むプログラム関連情報をフィルタ情報蓄積管理部２０５へ記憶させる（ステップＳ５２）。
【００７３】
ステップＳ２〜Ｓ７は上述の第４の実施の形態と同様である。尚、ステップＳ５で、ユーザ情報提供装置１０１は、ステップＳ１で受信したユーザ情報利用プログラムに対するフィルタ情報がフィルタ情報蓄積管理部２０５に記憶されていない場合、即ち、ユーザ情報利用プログラムに対してユーザ属性情報毎の利用可否情報が設定されていない場合（ステップＳ５：ＮＯ）、情報制御インタフェース部２０９の機能により、ステップＳ３で抽出したユーザ属性情報のリストを、サーバ装置１０２から要求されているユーザ属性情報の利用方法と合わせて表示部に表示させる。即ち、ユーザ属性情報の利用方法は、上述した利用可否情報において設定される公開（public）や制限公開（protected）に対応しているため、ユーザ情報提供装置１０１は、これらを照らし合わせたメッセージを表示部に表示させる。具体的には例えば、「プログラムは、サーバ装置への公開を行わない（プライバシーが保護される）範囲での”性別情報”の利用と、サーバ装置への公開を行う（サーバ上での情報選択のために一時的に利用させていただくもので、蓄積されたり流用されたりすることはありません）範囲での”年齢情報”の利用を求めています。許可しますか？」などのメッセージである。ユーザ情報提供装置１０１は、このようなメッセージと共に、ユーザ属性情報の利用を許可するか否かを判定させるインタフェースを表示部に表示させる（ステップＳ５３）。これも、ブラウザ上でのポップアップウィンドウのような形式で実現される。インタフェースとしては、抽出されたユーザ属性情報毎に利用を許可するか否かを判定させるものであっても良いし、全てのユーザ属性情報についてまとめて利用の許可を判定させるようなものであっても良い。このようなインタフェースにおいてユーザ属性情報の利用を許可する操作入力をユーザが行った場合（ステップＳ５３：ＹＥＳ）、ユーザ情報提供装置１０１は、当該操作入力を受け付け、フィルタ情報制御部２１０の機能により、利用が許可されたユーザ属性情報のフィルタ情報をフィルタ情報蓄積管理部２０５に記憶させる（ステップＳ５４）。このとき、ユーザ情報提供装置１０１は、当該ユーザ属性情報の利用可否設定情報には、サーバ装置１０２から要求された利用方法に対応した値を設定する。例えば、上述の例では、ユーザ情報提供装置１０１は、性別情報の利用可否情報には制限公開を設定し、年齢情報の利用可否情報には公開を設定する。一方、ユーザ属性情報の利用を拒否する操作入力をユーザが行った場合（ステップＳ５３：ＮＯ）、ユーザ情報提供装置１０１は、ユーザ情報提供処理を終了する。
【００７４】
以上のように、本実施の形態によれば、サービス事業者のサーバ装置のユーザ情報の利用要求に対する開示範囲に応じたユーザ属性情報単位でのアクセス制御の方法を、ユーザインタフェースを介して、柔軟に変更することができる。また、ユーザ情報利用プログラムの受信の都度、ユーザ属性情報の利用可否をユーザが確認したり、利用可否を詳細に設定したりすることができる。これにより、ユーザは、信頼できるサーバ装置からのユーザ属性情報の利用状況を都度確認することができ、ユーザ属性情報を利用したサービスの提供を安全に享受することができるようになる。
【００７５】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００７６】
上述した各実施の形態において、ユーザ情報提供装置１０１で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【００７７】
上述した各実施の形態において、ユーザ情報利用プログラムは、プログラムコードの解析によって利用するユーザ情報が論理的に抽出可能であれば、上述の例に限らず、記述言語は何であっても良く、例えば、ＢＭＬ（Broadcast  Markup  Language）文書に埋め込まれたＥＣＭＡＳｃｒｉｐｔプログラムであっても良い。
【００７８】
上述した各実施の形態において、ネットワーク１０３がインターネットやＮＧＮである場合には、ユーザ情報提供装置１０１のプログラム受信部２０１は、ＴＣＰ（Transmission  Control  Protocol）上に実装されたＨＴＴＰ（Hypertext  Transfer  Protocol）クライアント、ＵＤＰ（User  Datagram  Protocol）上に実装されたＲＴＰ（Real-time  Transport  Protocol）クライアント、あるいは、ＦＬＵＴＥ（File  Delivery  over  Unidirectional  Transport）クライアントにより構成されることが望ましいが、サーバ装置１０２からユーザ情報利用プログラムを受信できる限りにおいて通信プロトコルは何であっても良い。ネットワーク１０３が地上波デジタル放送網である場合には、プログラム受信部２０１は、例えば、データ放送を受信する機能を有し、データ放送により搬送されるユーザ情報利用プログラムを受信する。
【００７９】
また、プログラム実行部２０２は、ＨＴＭＬレンダラとＪａｖａ（登録商標）Ｓｃｒｉｐｔを解析して実行する機能とを有するのではなく、例えば、ＢＭＬレンダラとＥＣＭＡＳｃｒｉｐｔを解析して実行する機能とを有するようにしても良い。
【００８０】
上述した各実施の形態において、ユーザ情報蓄積管理部２０３及びフィルタ情報蓄積管理部２０５は、上述の例に限らず、リレーショナルデータベースであっても良い。また、これは、単一のデータベース管理システムで構築されている必要はなく、複数のデータベース管理システム、例えば、ＳＱＬｉｔｅ３、Ｏｒａｃｌｅ、ＭｙＳＱＬなどを併用しても良い。また、１つの物理的な記憶部上に構築されるようにしても良いし、ＮＡＳ（Network  Attached  Storage）や、ＳＡＮ（Storage  Area  Network）といった複数の物理的な補助記憶部で構成されるデータベース管理システムとしても良い。図２０は、ユーザ属性名とユーザ属性値との組を示すＫｅｙ／Ｖａｌｕｅストアによって記憶されるユーザ情報の構成を例示する図である。図２１は、リレーショナルデータベース管理システムによって管理される階層的なユーザ情報の構成を例示する図である。また、ユーザ情報蓄積管理部２０３及びフィルタ情報蓄積管理部２０５は、データベース管理システムではなく、各蓄積管理部に各々記憶されるデータである単位情報（エントリ）を取得できる手段を備えていれば、単なるＣＳＶ形式などのファイル群や、Ｋｅｙ／Ｖａｌｕｅストアで構成されていても良い。尚、ユーザ情報蓄積管理部２０３は、ユーザ情報を補助記憶部の不揮発領域に記憶する必要はなく、主記憶部のメモリに記憶するように構成されても良い。フィルタ情報蓄積管理部２０５に記憶されるフィルタ情報についても同様である。
【００８１】
上述した各実施の形態において、ユーザ情報の共通記述形式及びユーザ情報にアクセスするための共通ＡＰＩは、上述の例に限らない。例えば、共通記述形式がＪａｖａ（登録商標）Ｓｃｒｉｐｔの階層的なオブジェクトとして表現されていても良い。また、ユーザ情報へアクセスするための共通ＡＰＩが、ＸＱｕｅｒｙやＳＱＬ（Structured  Query  Language）を利用するものであっても良い。
【００８２】
上述した第２の実施の形態において、ユーザ情報利用プログラムにおいて、サーバ装置１０２へのユーザ属性情報の送信に係る記述が、共通ＡＰＩを介したものである必要は必ずしもない。例えば、インターネットブラウザとサーバ装置１０２との間でデータを非同期に送受信するための標準的な技術であるＡＪＡＸ（Asynchronous  Java（登録商標）Script  +  XML）のＸＭＬＨＴＴＰＲｅｑｕｅｓｔを用いても良い。ユーザ情報抽出部２０４は、ユーザ情報利用プログラムを解析して、利用が要求されているユーザ属性情報として抽出したユーザ属性情報が、ＸＭＬＨＴＴＰＲｅｑｕｅｓｔ等の一般的なＡＰＩを介してサーバ装置１０２に送信されることが記述されている場合、共通ＡＰＩを介して取得されたユーザ属性情報が、ＸＭＬＨＴＴＰＲｅｑｕｅｓｔの送信データとして設定されているか否かを判定する。図２２は、ユーザ属性情報の送信を汎用ＡＰＩ（ＸＭＬＨＴＴＰＲｅｑｕｅｓｔ）を介して行うことが記述されているユーザ情報利用プログラムを例示する図である。
【００８３】
上述の第３の実施の形態において、サーバ識別情報は、ユーザ属性情報の利用の可否を判定する対象となるサーバ装置１０２を特定できる情報であれば、上述の例に限らない。例えば、サーバ識別情報は、サーバ装置１０２のＵＲＬ（Uniform  Resource  Locator）、ＩＰアドレス、サーバ証明書データ等であっても良い。
【００８４】
上述の第３の実施の形態及び第４の実施の形態において、ユーザ情報利用プログラムの認証を行うステップＳ３５の処理は、ステップＳ３１の直後に行うようにしたが、これに限らず、ステップＳ３４の判定結果が肯定的である場合に行うようにしても良い。即ち、ユーザ情報提供装置１０１は、ユーザ情報利用プログラムを解析して、ユーザ情報利用ＡＰＩを利用する、即ち、ユーザ情報が利用されると判定した場合に、当該ユーザ情報利用プログラムの認証を行うようにしても良い。また、ユーザ情報利用プログラムの認証を行う方法は、上述の例に限らない。
【００８５】
上述の第４の実施の形態において、プログラム識別情報は、ユーザ属性情報の利用可否を判定する対象をユーザ情報利用プログラム単位で特定できる情報であれば、上述の例に限らない。例えば、プログラム識別情報は、第３の実施の形態で説明したサーバ識別情報とサーバ装置１０２のＵＲＬからの相対パス情報とでユーザ情報利用プログラムを一意に特定するように構成して良いし、あるいは、ユーザ情報利用プログラムを一意に特定する絶対パスで特定するように構成しても良い。
【００８６】
上述の第４の実施の形態において、ユーザ属性情報の利用方法が制限公開（protected）に相対するものであれば、即ち、ユーザ属性情報がサーバ装置１０２に送信されることがなければ、サーバ装置１０２は、ＨＴＴＰＳ通信を利用せずに、ユーザ属性情報を利用することが可能であるようにしても良い。即ち、図２３は、本変形例に係る受信処理の手順を示すフローチャートである。ステップＳ４０ａでは、ユーザ情報提供装置１０１は、プログラム受信部２０１の機能により、ＨＴＴＰ通信の確立を開始し、サーバ装置１０２からサーバ証明書を受信する。そして、ユーザ情報提供装置１０１は、受信したサーバ証明書のパスを示す証明書情報と当該サーバ装置１０２の名称を示すサーバ装置名称情報とを当該サーバ装置１０２のサーバ識別情報と対応付けてフィルタ情報蓄積管理部２０５に記憶する（ステップＳ３３）。そして、ユーザ情報提供装置１０１は、確立したＨＴＴＰ通信のレスポンスとして、ユーザ情報利用プログラムに署名情報を付与したアーカイブファイルを、平文でサーバ装置１０２から受信する（ステップＳ４１ａ）。ステップＳ４３〜Ｓ４５は上述の第４の実施の形態と同様である。
【００８７】
このような構成によれば、暗号化通信を行わなくとも、ユーザのプライバシーを担保した上で、サーバ装置１０２におけるユーザ属性情報の利用が可能であるため、暗号化通信を行うための処理負担を軽減することが可能になる。
【００８８】
上述した第３の実施の形態おいては、利用可否情報は、公開（public）、制限公開及び非公開（private）の３値をとるように構成したが、これに限らず、様々な設定値をとるようにしても良い。このような構成において、上述の第５の実施の形態においては、アクセス制御部２０６の機能によって、ユーザ属性情報の利用を許可しない場合、ユーザ属性情報の利用を許可するか否かをユーザに判定させるインタフェースを提供するようにした。しかし、このような場合にユーザに判定させるインタフェースを提供せずにその利用を拒否する完全非公開という設定値を利用可否情報において設定可能にするようにしても良い。例えば、ユーザ属性情報のうち、個人が特定できる情報（氏名、詳細な住所（図２における「address4」、「address5」等））については、利用可否情報において完全非公開を設定するようにする。また、このような設定を、情報制御インタフェース部２０９を介して、ユーザの操作入力により行うことができるようにしても良い。さらに、ユーザ情報提供装置１０１は、情報制御インタフェース部２０９の機能により、特定のサーバ装置、あるいは、特定のユーザ情報利用プログラムに対してその利用を許可したユーザ属性情報のリスト（許可ユーザ属性情報リストという）を、ユーザ情報利用プログラムの実行の都度、表示部に表示させるようにしても良い。また、ユーザ情報提供装置１０１は、情報制御インタフェース部２０９の機能により、一旦設定された利用可否情報の範疇であれば許可ユーザ属性情報リストを表示部に表示しないようにするか否かを設定するためのインタフェースを提供するようにしても良い。
【００８９】
上述した第５の実施の形態においては、情報制御インタフェース部２０９が提供するインタフェースは上述の例に限らない。例えば、プログラム受信部２０１がユーザ情報利用プログラムを受信した時に、当該ユーザ情報利用プログラムを送信したサーバ装置１０２のサーバ装置情報がフィルタ情報蓄積管理部２０５にまだ記憶されていない場合に、情報制御インタフェース部２０９は、「＊＊＊サービスがユーザ情報の利用許可を求めています。証明書をダウンロードしてアクセスを許可しますか？」などといったメッセージを表示部に表示させるようにしても良い。そして、当該メッセージに対応してユーザが当該サーバ装置１０２のアクセスを許可する操作入力を行った場合、情報制御インタフェース部２０９は、当該操作入力を受け付け、図１２に例示したサーバ装置情報を、フィルタ情報制御部２１０を介してフィルタ情報蓄積管理部２０５へ記憶させる。
【００９０】
上述した各実施の形態においては、ユーザ情報提供装置１０１は、複数のネットワークを介してサーバ装置１０２と接続される構成であっても良い。図２４は、本変形例にかかるユーザ情報提供装置１０１を含む情報処理システムの構成及びユーザ情報提供装置１０１の機能的構成を例示する図である。ユーザ情報提供装置１０１の機能的構成は、上述の第４の実施の形態と略同様である。同図に示される情報処理システムでは、ユーザ情報提供装置１０１は、ネットワーク１０３Ａを介してサーバ装置１０２Ａ〜１０２Ｂと接続され、ネットワーク１０３Ｂを介してサーバ装置１０２Ｃ〜１０２Ｄと接続される。ネットワーク１０３Ａ，１０３Ｂは、上述のネットワーク１０３と同様であり、各々異なるネットワーク形態であっても良いし、同様のネットワーク形態であっても良い。例えば、ネットワーク１０３Ａがインターネットであり、ネットワーク１０３ＢがＮＧＮ地上波テレビ放送網であっても良い。ネットワーク１０３Ｂが地上波テレビ放送網である場合、ユーザ情報利用プログラムは、具体的にはデータ放送のＢＭＬコンテンツに埋め込まれたＥＣＭＡＳｃｒｉｐｔになる。サーバ装置１０２Ｃ〜１０２Ｄは、上述のサーバ装置１０２と同様である。このような構成において、ユーザ情報提供装置１０１のプログラム受信部２０１及びユーザ情報送信部２０７は、複数のネットワーク１０３Ａ〜１０３Ｂを介して通信を行う。
【００９１】
このようにユーザ情報提供装置１０１が複数のネットワーク１０３Ａ〜１０３Ｂに接続される場合、複数のネットワークを区別するためのネットワーク識別情報やサーバ装置毎サービスに関するサービス情報やプログラム関連情報を対応付けて記憶するようにしても良い。記憶先は、例えば、フィルタ情報蓄積管理部２０５である。これは、サーバ識別情報や、プログラム識別情報がネットワーク毎に体系が異なることが考えられるからである。たとえば、ネットワーク１０３Ａとしてインターネットに接続されるサーバ装置１０２Ａ〜１０２Ｂは、インターネットであることを示すネットワーク種別情報と、ＵＲＬとのペア各々識別されるようにする。また、地上波テレビ放送網としてネットワーク１０３Ｂに接続されるサーバ装置１０２Ｃ〜１０２Ｄは、地上波放送であることを示すネットワーク種別情報と、ＭＰＥＧ−２ストリームに含まれるＳＩ（Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ）情報から取得可能なネットワークＩＤ及びブロードキャスタ情報などで各放送局を識別されるようにする。
【００９２】
以上のような構成によれば、開示範囲に応じたユーザ属性情報単位でのアクセス制御を、複数のネットワークに接続される環境においても実現することができる。
【００９３】
上述した第１の実施の形態において、ステップＳ２，Ｓ３，Ｓ４，Ｓ５の順序については、図５に例示したものに限らず、例えば、図２５に例示されるように、Ｓ２，Ｓ４，Ｓ３，Ｓ５の順であっても構わない。すなわち、図５においては、ユーザ情報利用プログラムを解析する処理を一括して行うケースについて例示しているが、図２５の例のように、ＡＰＩの使用の有無の抽出及び判定、アクセスされるユーザ属性情報の抽出及び利用の可否の判定を、それぞれ纏めて行ってもよい。第２の実施の形態乃至第５の実施の形態や各変形例についても同様である。
【符号の説明】
【００９４】
１０１  ユーザ情報提供装置
１０２，１０２Ａ，１０２Ｂ，１０２Ｃ，１０２Ｄ  サーバ装置
１０３，１０３Ａ，１０３Ｂ  ネットワーク
２０１  プログラム受信部
２０２  プログラム実行部
２０３  ユーザ情報蓄積管理部
２０４  ユーザ情報抽出部
２０５  フィルタ情報蓄積管理部
２０６  アクセス制御部
２０７  ユーザ情報送信部
２０８  プログラム認証部
２０９  情報制御インタフェース部
２１０  フィルタ情報制御部
２１１  ユーザ情報制御部
【図１】
2012032628.tif 000003
【図２】
2012032628.tif 000004
【図３】
2012032628.tif 000005
【図４】
2012032628.tif 000006
【図５】
2012032628.tif 000007
【図６】
2012032628.tif 000008
【図７】
2012032628.tif 000009
【図８】
2012032628.tif 000010
【図９】
2012032628.tif 000011
【図１０】
2012032628.tif 000012
【図１１】
2012032628.tif 000013
【図１２】
2012032628.tif 000014
【図１３】
2012032628.tif 000015
【図１４】
2012032628.tif 000016
【図１５】
2012032628.tif 000017
【図１６】
2012032628.tif 000018
【図１７】
2012032628.tif 000019
【図１８】
2012032628.tif 000020
【図１９】
2012032628.tif 000021
【図２０】
2012032628.tif 000022
【図２１】
2012032628.tif 000023
【図２２】
2012032628.tif 000024
【図２３】
2012032628.tif 000025
【図２４】
2012032628.tif 000026
【図２５】
2012032628.tif 000027
【国際調査報告】
2012032628.tif 000028
2012032628.tif 000029
2012032628.tif 000030
2012032628.tif 000031