(57)【特許請求の範囲】
【請求項１】
ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報を、当該ユーザ端末から取得する取得部と、
前記開発元識別情報に基づいて、前記アプリケーションプログラムの開発元の認証処理を行う認証処理部と、
前記認証処理の後に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御する制御部と、
前記機能の実行を受けてコンテンツを取得し、取得した前記コンテンツに、前記認証処理が行われた前記開発元の情報を関連付けるコンテンツ処理部と、
を備える、情報処理装置。
【請求項２】
前記コンテンツ処理部は、前記認証処理が行われた開発元の情報を、取得した前記コンテンツに付帯することにより、当該コンテンツと当該開発元の情報とを関連付ける、請求項１に記載の情報処理装置。
【請求項３】
前記コンテンツ処理部は、前記認証処理が行われた開発元の情報が暗号化された暗号化情報を、取得した前記コンテンツに付帯することにより、当該コンテンツと当該開発元の情報とを関連付ける、請求項２に記載の情報処理装置。
【請求項４】
前記コンテンツに関連付けられた暗号化情報は、当該コンテンツに付帯された開発元の情報が改変されているか否かを判定するための情報である、請求項３に記載の情報処理装置。
【請求項５】
前記開発元の情報が付帯された前記コンテンツは、前記ユーザ端末に送信される、請求項２に記載の情報処理装置。
【請求項６】
前記コンテンツは、画像データであり、
前記コンテンツ処理部は、前記画像データに基づき表示される画像上に、前記認証処理が行われた開発元の情報を重畳させることで、当該画像データに当該開発元の情報を関連付ける、請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
前記画像データに基づき表示される画像は、当該画像データに含まれる画像の実データである、請求項６に記載の情報処理装置。
【請求項８】
前記画像データに基づき表示される画像は、当該画像データに含まれる画像の実データに基づくプレビュー画像である、請求項６に記載の情報処理装置。
【請求項９】
前記コンテンツ処理部は、前記コンテンツに関連付けられた管理データに、前記認証処理が行われた開発元の情報を記録することで、当該コンテンツと当該開発元の情報とを関連付ける、請求項１〜８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記コンテンツに関連付けられた管理データは、当該コンテンツの取得に係る履歴を管理するためのデータである、請求項９に記載の情報処理装置。
【請求項１１】
前記認証処理部は、前記開発元識別情報に基づいて、前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する、請求項１〜１０のいずれか一項に記載の情報処理装置。
【請求項１２】
前記制御部は、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元である場合に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御する、請求項１１に記載の情報処理装置。
【請求項１３】
前記認証処理が行われた開発元の情報の示す前記アプリケーションプログラムの開発元を識別可能に通知するための通知制御部を備える、請求項１〜１２のいずれか一項に記載の情報処理装置。
【請求項１４】
音声情報を出力するための音声出力部を備え、
前記通知制御部は、前記認証処理が行われた開発元の情報を、音声情報として前記音声出力部から出力させる、請求項１３に記載の情報処理装置。
【請求項１５】
表示部を備え、
前記通知制御部は、前記認証処理が行われた開発元の情報を前記表示部に表示させる、請求項１３に記載の情報処理装置。
【請求項１６】
ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報を、当該ユーザ端末から取得することと、
プロセッサが、前記開発元識別情報に基づいて、前記アプリケーションプログラムの開発元の認証処理を行うことと、
前記認証処理の後に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御することと、
前記機能の実行を受けてコンテンツを取得し、取得した前記コンテンツに、前記認証処理が行われた前記開発元の情報を関連付けることと、
を含む、情報処理方法。
【請求項１７】
コンピュータに、
ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報を、当該ユーザ端末から取得することと、
前記開発元識別情報に基づいて、前記アプリケーションプログラムの開発元の認証処理を行うことと、
前記認証処理の後に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御することと、
前記機能の実行を受けてコンテンツを取得し、取得した前記コンテンツに、前記認証処理が行われた前記開発元の情報を関連付けることと、
を実行させるプログラム。
【請求項１８】
ユーザ端末が有するアプリケーションプログラムであって、情報処理装置により取得されるコンテンツの取得に係るアプリケーションプログラムに関連付けられた開発元の情報と、前記情報処理装置により認証された開発元に対応した前記開発元の情報が暗号化された暗号化情報とが関連付けられた前記コンテンツを、取得するコンテンツ取得部と、
前記アプリケーションプログラムに関連付けられた開発元の情報と、前記暗号化情報が示す開発元の情報とを比較し、当該コンテンツに関連付けられた開発元の情報が改変されているか否かを判定する判定部と、
を備えるサーバ。
【請求項１９】
前記判定の結果を前記情報処理装置に通知する通知部を備える、請求項１８に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、プログラム、及びサーバに関する。
【背景技術】
【０００２】
近年では、デジタルカメラやテレビジョン装置等のデバイスや、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のような情報処理装置を、スマートフォンのようなユーザ端末を介して操作する機能が提供されている。【０００３】
ユーザ端末を介して情報処理装置を操作する機能は、例えば、ユーザ端末に専用のアプリケーションプログラム（以降では、単に「アプリケーション」と呼ぶ）をインストールすることにより実現される。【０００４】
また、情報処理装置の動作を制御するアプリケーションを開発できるように、情報処理装置の動作を制御するためのプログラム（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を一般の開発者に対して提供する場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−８３３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように提供されるＡＰＩについて、特定の契約を結んだ開発者や、ＡＰＩの利用に対して課金を行った開発者のみへの、当該ＡＰＩの公開が望まれる場合がある。そのため、ＡＰＩの利用、即ち、当該ＡＰＩに対応した機能の利用を、開発者に応じて制限できる仕組みが求められている。【０００７】
一方で、ＡＰＩの利用権限を持たない開発者が作成したアプリケーションが、開発者を示す情報（以降では、「開発元識別情報」と呼ぶ場合がある）を詐称することで、本来は利用権限のないＡＰＩが不正に利用される場合が推測される。【０００８】
そこで、本開示では、開発者に応じて機能の利用を制限し、かつ、機能の不正利用を抑止することが可能な、新規かつ改良された情報処理装置、情報処理方法、プログラム、及びサーバを提案する。
【課題を解決するための手段】
【０００９】
本開示によれば、ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報を、当該ユーザ端末から取得する取得部と、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する判定部と、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元である場合に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御する制御部と、前記機能の実行を受けてコンテンツを取得し、取得した前記コンテンツに、前記判定が行われた開発元の情報を関連付けるコンテンツ処理部と、を備える、情報処理装置が提供される。【００１０】
また、本開示によれば、ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報を、当該ユーザ端末から取得することと、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定することと、プロセッサが、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元である場合に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御することと、前記機能の実行を受けてコンテンツを取得し、取得した前記コンテンツに、前記判定が行われた開発元の情報を関連付けることと、を含む、情報処理方法が提供される。【００１１】
コンピュータに、ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報を、当該ユーザ端末から取得することと、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定することと、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元である場合に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御することと、前記機能の実行を受けてコンテンツを取得し、取得した前記コンテンツに、前記判定が行われた開発元の情報を関連付けることと、を実行させるプログラムが提供される。【００１２】
また、本開示によれば、コンテンツの取得に係るアプリケーションプログラムに関連付けられた開発元の情報と、事前申請された開発元であると判定された開発元に対応した前記開発元の情報が暗号化された暗号化情報とが関連付けられた前記コンテンツを、端末から取得するコンテンツ取得部と、前記コンテンツに関連付けられた開発元の情報と、前記暗号化情報が示す開発元の情報とを比較し、当該コンテンツに関連付けられた開発元の情報が改変されているか否かを判定する判定部と、を備えるサーバが提供される。
【発明の効果】
【００１３】
以上説明したように本開示によれば、開発者に応じて機能の利用を制限し、かつ、機能の不正利用を抑止することが可能な情報処理装置、情報処理方法、プログラム、及びサーバが提供される。【００１４】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１５】
【図１】本開示の実施形態に係る情報処理システムの適用分野について説明するための図である。
【図２】同実施形態に係る情報処理システムの概略的なシステム構成の一例を示した図である。
【図３】同実施形態に係る情報処理装置及びユーザ端末の概略的な機能構成の一例を示したブロック図である。
【図４】同実施形態に係る情報処理システムにおけるＡＰＩへのアクセス制御に係る処理の概要について説明するための説明図である。
【図５】ＡＰＩへのアクセス制御に係る処理の概要について説明するための図である。
【図６】ＡＰＩへのアクセス制御に係る処理の概要について説明するための図である。
【図７】ＡＰＩへのアクセス制御に係る処理の概要について説明するための図である。
【図８】同実施形態に係る管理サーバの構成の一例を示したブロック図である。
【図９】同実施形態に係る情報処理装置及びユーザ端末におけるＡＰＩへのアクセス制御に係る処理に着目した機能構成の一例を示したブロック図である。
【図１０】同実施形態に係る管理サーバの一連の動作を示したシーケンス図である。
【図１１】同実施形態に係る情報処理装置におけるＡＰＩへのアクセス制御に係る一連の動作の一例を示したシーケンス図である。
【図１２】同実施形態に係る情報処理装置及びユーザ端末におけるコンテンツの取得に係る処理に着目した機能構成の一例を示したブロック図である。
【図１３】同実施形態に係る情報処理装置が生成するコンテンツのデータの一例を示した図である。
【図１４】コンテンツに関する情報表示の一例である。
【図１５】同実施形態の実施例１に係る情報処理システムの概要について説明するための図である。
【図１６】同実施形態の実施例１に係る情報処理システムの概要について説明するための図である。
【図１７】同実施形態の実施例１に係る情報処理システムの概要について説明するための図である。
【図１８】同実施形態の実施例１に係る情報処理システムの適用例について説明するための図である。
【図１９】同実施形態の実施例１に係る情報処理システムの適用例について説明するための図である。
【図２０】同実施形態の実施例１に係る情報処理システムの一連の動作の一例を示したシーケンス図である。
【図２１】同実施形態の実施例２に係る情報処理システムの概要について説明するための図である。
【図２２】同実施形態の実施例３に係る情報処理システムの概要について説明するための図である。
【図２３】同実施形態の実施例３に係る情報処理システムの一連の動作の一例を示したシーケンス図である。
【図２４】同実施形態の実施例４に係る情報処理システムの概要について説明するための図である。
【図２５】同実施形態の実施例４に係る情報処理システムの一連の動作の一例を示したシーケンス図である。
【図２６】同実施形態の実施例５に係る情報処理システムの概要について説明するための図である。
【図２７】同実施形態の実施例５に係る情報処理システムの一連の動作の一例を示したシーケンス図である。
【図２８】同実施形態の実施例６に係る情報処理システムの概要について説明するための図である。
【図２９】同実施形態の実施例６に係る情報処理システムの一連の動作の一例を示したシーケンス図である。
【図３０】同実施形態の実施例７に係る情報処理システムの一連の動作の一例を示したシーケンス図である。
【図３１】本開示の実施形態に係る情報処理装置のハードウェア構成の一例である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１７】
なお、説明は以下の順序で行うものとする。
１．課題の整理
２．概略的な構成
２．１．システム構成
２．２．情報処理装置及びユーザ端末の構成
３．ＡＰＩへのアクセス制御
３．１．概要
３．２．管理サーバの構成
３．３．情報処理装置及びユーザ端末の構成
３．４．処理
３．３．１．事前申請に係る動作
３．３．２．ＡＰＩへのアクセス制御に係る動作
３．５．情報処理装置及びユーザ端末の処理
４．コンテンツの取得
５．実施例
５．１．実施例１：コンテンツの属性情報として開発元情報を記録する例１
５．２．実施例２：コンテンツの属性情報として開発元情報を記録する例２
５．３．実施例３：プレビュー画像上へ開発元情報を重畳させる例
５．４．実施例４：実画像上へ開発元情報を重畳させる例
５．５．実施例５：履歴情報として開発元情報を記録する例
５．６．実施例６：履歴情報として記録された開発元情報の表示例
５．７．実施例７：複数のアプリケーションを動作させる場合の例
６．ハードウェア構成
７．まとめ
【００１８】
＜１．課題の整理＞
まず、図１を参照しながら、本開示の実施形態に係る情報処理システムの課題について整理する。図１は、本開示の実施形態に係る情報処理システムの適用分野について説明するための図である。
【００１９】
近年では、図１に示すように、デジタルカメラ１０ａやテレビジョン装置１０ｂ等のデバイスや、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のような情報処理装置１０ｃを、スマートフォンのようなユーザ端末２０を介して操作する機能が提供されている。なお、以降では、デジタルカメラ１０ａ、テレビジョン装置１０ｂ、及び情報処理装置１０ｃを総じて、「情報処理装置１０」と呼ぶ場合がある。
【００２０】
ユーザ端末２０を介して情報処理装置１０を操作する技術は、例えば、ユーザ端末２０に専用のアプリケーションｄ１０をインストールし、当該アプリケーションｄ１０を媒介として、情報処理装置１０の動作を制御することにより実現される。
【００２１】
また、情報処理装置１０の動作を制御するアプリケーションｄ１０を開発できるように、情報処理装置１０の動作を制御するためのＡＰＩを一般の開発者に対して提供する場合がある。
【００２２】
上記のように提供されるＡＰＩの中には、基本的な動作を制御するためのＡＰＩや、細かい制御を可能とするＡＰＩ、または、付加的な機能を実現するためのＡＰＩ等のように多様な種類のＡＰＩが含まれている場合がある。このようなＡＰＩの中には、一般の開発者に公開可能なものから、特定の契約を結んだ開発者や、ＡＰＩの利用に対して課金を行った開発者にのみ公開可能なものが含まれる場合もある。そのため、ＡＰＩの公開範囲、即ち、情報処理装置１０が提供する機能の利用に関する制限を、開発者に応じて変更できるような仕組みが求められている。
【００２３】
しかしながら、ＡＰＩの利用権限を持たない開発者が作成したアプリケーションが、開発者を示す識別情報（以降では、「開発元識別情報」と呼ぶ場合がある）を詐称することで、本来は利用権限のないＡＰＩを利用可能とする不正が行われる場合が推測される。そのため、開発元の詐称によるＡＰＩの不正利用を抑止する技術も求められている。
【００２４】
ＡＰＩの不正利用を抑止する手法としては、例えば、鍵共有方式に基づきユーザ端末２０と情報処理装置１０で送受信される情報を暗号化することで、通信路上での盗聴を防止する方法が挙げられる。しかしながら、スマートフォンのようなユーザ端末２０にダウンロードされたアプリケーションは、逆アセンブルされる恐れがある。このことは、ユーザ端末２０が情報を暗号化するために保持する鍵情報についても同様であり、鍵情報が逆アセンブルされ不正に公開された場合には、暗号化に基づく情報の保護が意味をなさなくなる場合もある。
【００２５】
また、他の方法として、例えば、開発者ごとの権限情報を、情報処理装置１０やユーザ端末２０とは異なる外部サーバ等で管理し、情報処理装置１０がサーバ上の権限情報を参照することで、ＡＰＩへのアクセス制御を実現する方法もある。しかしながら、情報処理装置１０の中には、デジタルカメラ等のようにインターネットのような外部ネットワークにアクセスするためのインタフェースを持たないものもあり、外部サーバに対して常時アクセス可能とすることが困難な場合がある。また、ユーザ端末２０側についても、外部サーバに対して常時アクセス可能とすることが困難な場合がある。例えば、ユーザ端末２０の中には、デジタルカメラ等のような情報処理装置１０との間で、Ｗｉ−Ｆｉ（Wireless  Fidelity）（登録商標）のような技術に基づき直接通信を行う場合に、外部ネットワークにアクセスできないものもある。
【００２６】
また、外部ネットワークへのアクセスを前提としない情報処理装置１０は、例えば、ファームウェアアップデート等により内部の情報を更新するため、当該内部の情報を適宜更新することが困難な場合もある。そのため、例えば、ＡＰＩに対する特定の開発者の権限を判定するための情報を、情報処理装置１０側に記憶させる手法は現実的ではない場合がある。
【００２７】
また、他の手法として、アプリケーション自体に正当性を示す証明書（例えば、デジタル証明書）を付与することで、当該証明書に基づきＡＰＩに対するアクセス権限の正当性を判断する手法もある。しかしながら、ユーザ端末２０で動作するアプリケーションに添付された証明書を情報処理装置１０側で検証する場合には、当該アプリケーション自体を情報処理装置１０に送信する必要があり、アプリケーションを起動するための負荷が増大する。
【００２８】
以上の点から、ユーザ端末２０内の情報が参照された場合においても、情報処理装置１０が外部ネットワークに接続可能か否かに関わらず、開発元の詐称に伴うＡＰＩの不正利用を抑止する仕組みが求められている。
【００２９】
そこで、本開示では、開発者に応じてＡＰＩの利用を制限し、かつ、開発元の詐称に伴うＡＰＩの不正利用を抑止することが可能な情報処理システムを提案する。
【００３０】
＜２．概略的な構成＞
次に、本実施形態に係る情報処理システムの概略的な構成について説明する。本実施形態に係る情報処理システムは、開発者ｕ５０が情報処理装置１０の動作を制御するためのアプリケーションを開発できるように、当該情報処理装置１０の動作制御に係るＡＰＩ群５０を、開発者ｕ５０に公開するための仕組みを提供する。
【００３１】
［２．１．システム構成］
まず、図２を参照しながら、本実施形態に係る情報処理システムの概略的な構成について説明する。図２は、本実施形態に係る情報処理システムの概略的なシステム構成の一例を示した図である。
【００３２】
図２に示すように、本実施形態に係る情報処理システムは、情報処理装置１０と、ユーザ端末２０と、管理サーバ３０と、コンテンツ管理サーバ７０と、開発者端末８０と、アプリケーション提供サーバ９０とを含む。
【００３３】
開発者端末８０は、開発者ｕ５０がアプリケーションを開発するための端末を示している。なお、以降では、開発者ｕ５０が開発したアプリケーションを「アプリケーションｄ１０」と記載する場合がある。
【００３４】
管理サーバ３０は、事前登録された開発者ｕ５０に対して、ＡＰＩ群５０のうち、利用が制限されたＡＰＩに対しするアクセスを制御（許可）するための制御情報を発行する。開発者ｕ５０は、管理サーバ３０から発行された制御情報を開発したアプリケーションｄ１０に関連付けることで、当該アプリケーションｄ１０の処理として、情報処理装置１０に、利用が制限されたＡＰＩを実行させることが可能となる。
【００３５】
アプリケーション提供サーバ９０は、開発者ｕ５０が開発したアプリケーションｄ１０を、一般のユーザｕ２０に有償または無償で提供するためのサーバを模擬的に示している。アプリケーション提供サーバ９０の具体的な一例としては、アプリケーションストアのような配信チャネルを提供するサーバが挙げられる。ユーザ端末２０は、例えば、アプリケーション提供サーバ９０で公開されているアプリケーションｄ１０をダウンロードすることで取得する。
【００３６】
なお、アプリケーション提供サーバ９０を介したアプリケーションｄ１０の提供方法はあくまで一例であり、開発者ｕ５０が開発したアプリケーションｄ１０をユーザ端末２０が取得できれば、本実施形態に係る情報処理システムの構成は限定されない。例えば、アプリケーションｄ１０は、可搬媒体などに記憶された状態でユーザｕ２０に提供されてもよい。この場合には、ユーザｕ２０が、可搬媒体中のアプリケーションｄ１０をユーザ端末２０にインストールすることで、ユーザ端末２０中にアプリケーションｄ１０が記憶される。
【００３７】
コンテンツ管理サーバ７０は、情報処理装置１０等により取得された画像データ等のコンテンツを管理・記憶するためサーバを模擬的に示している。コンテンツ管理サーバ７０は、例えば、情報処理装置１０で取得されたコンテンツを記憶するための記憶領域を提供したり、記憶されたコンテンツを複数のユーザ間で共有するためのサービスを提供する。具体的な一例として、コンテンツ管理サーバ７０は、ＳＮＳ（Social  Networking  Service）等のように複数のユーザ間での情報共有を可能とするサービスを提供するためのサーバとして構成され得る。
【００３８】
管理サーバ３０と、コンテンツ管理サーバ７０と、開発者端末８０と、アプリケーション提供サーバ９０と、ユーザ端末２０とは、ネットワークｎ０を介して接続されている。ネットワークｎ０は、例えば、インターネット、専用線、ＬＡＮ（Local  Area  Network）、または、ＷＡＮ（Wide  Area  Network）等により構成される。なお、異なる装置間を接続するネットワークであれば、ネットワークｎ０の態様は限定されない。
【００３９】
また、管理サーバ３０、コンテンツ管理サーバ７０、開発者端末８０、アプリケーション提供サーバ９０、及びユーザ端末２０のうちの一部の構成間のネットワークを他の構成間のネットワークとは物理的または論理的に別のネットワークとして構成してもよい。具体的な一例として、管理サーバ３０と開発者端末８０との間を、ＶＰＮ（Virtual  Private  Network）の技術を利用することで、インターネットのような外部ネットワークから論理的に隔離してもよい。
【００４０】
情報処理装置１０は、ユーザ端末２０でアプリケーションｄ１０が実行されることで動作が制御される制御対象を示している。情報処理装置１０とユーザ端末２０とは、ネットワークｎ１を介して接続されている。ネットワークｎ１としては、例えば、Ｗｉ−Ｆｉのような装置間の直接通信における無線通信の経路が挙げられる。なお、以降は、ネットワークｎ１を、情報処理装置１０とユーザ端末２０との間の直接通信における無線通信の経路として説明するが、情報処理装置１０とユーザ端末２０との間で通信が確立できれば、その態様は限定されないものとする。
【００４１】
情報処理装置１０は、自身の動作を制御するためのＡＰＩ群５０を記憶しており、アプリケーションｄ１０の実行に基づくユーザ端末２０からの指示に応じて、ＡＰＩ群５０の中から対応するプログラム（ＡＰＩ）を動作させる。
【００４２】
［２．２．情報処理装置及びユーザ端末の構成］
次に、図３を参照しながら、本実施形態に係る情報処理装置１０及びユーザ端末２０の概略的な機能構成について説明する。図３は、本実施形態に係る情報処理装置１０及びユーザ端末２０の概略的な機能構成の一例を示したブロック図である。
【００４３】
まず、ユーザ端末２０に着目する。図３に示すように、ユーザ端末２０は、通信部２０２と、コンテンツ記憶部２０４とを含み、アプリケーション２５がインストールされている。なお、アプリケーション２５は、前述した情報処理装置１０の動作を制御するためのアプリケーションｄ１０が実行されることにより実現される機能を模式的に示している。アプリケーション２５は、認証処理部２５０と、処理実行部２６０とを含む。
【００４４】
通信部２０２は、情報処理装置１０と通信を行うためのインタフェースである。通信部２０２は、例えば、ユーザ端末２０と情報処理装置１０との間で、Ｗｉ−Ｆｉ等のような無線通信を確立するためのデバイスであり得る。なお、無線通信に限らず、ユーザ端末２０と情報処理装置１０との間で通信を確立できれば、通信部２０２の態様は特に限定されない。なお、以降では、ユーザ端末２０内の各構成が情報処理装置１０側の構成とデータの送受信を行う場合には、特に記載が無い場合においても、通信部２０２を介してデータの送受信を行うものとする。
【００４５】
また、通信部２０２は、コンテンツ管理サーバ７０との間で通信可能に構成されていてもよい。この場合には、通信部２０２は、ユーザ端末２０とコンテンツ管理サーバ７０との間で、例えば、インターネットのような通信経路を介して通信を確立するデバイスであり得る。なお、図３に示す例では、説明をわかりやすくするために、通信部２０２が、情報処理装置１０及びコンテンツ管理サーバ７０の双方と通信可能に示しているが、必ずしも当該構成には限定されない。例えば、情報処理装置１０との間で通信を確立する場合と、コンテンツ管理サーバ７０との間で通信を確立する場合とのそれぞれについて、通信を確立するためのデバイスを別々に設けてもよいことは言うまでもない。
【００４６】
認証処理部２５０は、利用が制限されたＡＰＩに対してアクセスするための申請を、情報処理装置１０に行うための構成を模式的に示したものである。なお、認証処理部２５０による処理の詳細については、「３．ＡＰＩへのアクセス制御」として別途後述する。
【００４７】
処理実行部２６０は、インストールされたアプリケーション２５に定義された各処理を実行することで、情報処理装置１０の動作を制御するための構成を模式的に示したものである。認証処理部２５０により、利用が制限されたＡＰＩに対してアクセスするための申請が事前に実行されることで、処理実行部２６０は、アプリケーション２５に定義された各処理として、当該ＡＰＩにアクセスし、情報処理装置１０の動作を制御することが可能となる。
【００４８】
なお、処理実行部２６０が、アプリケーション２５に定義された各処理としてＡＰＩにアクセスすることで実現される情報処理装置１０の動作は、必ずしもコンテンツの取得に限定されるものではない。
【００４９】
例えば、カメラとして構成された情報処理装置１０を制御することで画像を撮像させる場合には、処理実行部２６０は、ＡＰＩにアクセスすることで、露光条件、ホワイトバランス、または露光感度等のような画像の撮像（即ち、コンテンツの取得）に係る制御を行ってもよい。また、他の一例として、処理実行部２６０は、情報処理装置１０がサポートするＡＰＩの一覧等のような管理情報を、ＡＰＩにアクセスすることで情報処理装置１０に通知させてもよい。なお、以降では、「ＡＰＩへのアクセスを受けてコンテンツを取得する」と記載した場合には、当該ＡＰＩは、コンテンツの取得を直接的に示す機能に限定されず、上記に示す例のように、コンテンツの取得に係る一連の処理において実行される機能も含むものとする。
【００５０】
また、処理実行部２６０は、情報処理装置１０の動作を制御することにより、情報処理装置１０にコンテンツを取得させ、取得されたコンテンツを当該情報処理装置１０からネットワークｎ１を介して取得してもよい。この場合には、処理実行部２６０は、取得したコンテンツをコンテンツ記憶部２０４に記憶させてもよい。
【００５１】
コンテンツ記憶部２０４は、取得されたコンテンツを記憶するための記憶部である。コンテンツ記憶部２０４は、ユーザ端末２０に設けられた記憶デバイス（ストレージ）として構成され得る。また、他の一例として、コンテンツ記憶部２０４は、ユーザ端末２０に対して着脱可能な可搬媒体として構成されてもよい。
【００５２】
なお、処理実行部２６０は、コンテンツ記憶部２０４に記憶されたコンテンツを、通信部２０２を介してコンテンツ管理サーバ７０に送信（転送）可能に構成されていてもよい。また、アプリケーション２５に限らず、ユーザ端末２０にインストールされた他のアプリケーションが、コンテンツ記憶部２０４に記憶されたコンテンツをコンテンツ管理サーバ７０に送信（転送）してもよい。
【００５３】
次に、情報処理装置１０に着目する。図３に示すように、情報処理装置１０は、通信部１０２と、処理部１３０と、コンテンツ取得部１９０と、鍵情報記憶部１０４と、通知部１０６と、識別情報記憶部１０８と、コンテンツ記憶部１１０とを含む。また、処理部１３０は、認証処理部１５０と、処理実行部１７０とを含む。
【００５４】
通信部１０２は、ユーザ端末２０と通信を行うためのインタフェースである。なお、通信部１０２の構成は、前述した通信部２０２と同様であるため詳細な説明は省略する。また、以降では、情報処理装置１０内の各構成がユーザ端末２０側の構成とデータの送受信を行う場合には、特に記載が無い場合においても、通信部１０２を介してデータの送受信を行うものとする。
【００５５】
また、通信部１０２は、コンテンツ管理サーバ７０との間で通信可能に構成されていてもよい。この場合についても、通信部１０２の構成は、前述した通信部２０２と同様であり得る。即ち、図３に示す例では、説明をわかりやすくするために、通信部１０２が、ユーザ端末２０及びコンテンツ管理サーバ７０の双方と通信可能に示しているが、必ずしも当該構成には限定されない。
【００５６】
コンテンツ取得部１９０は、後述する処理実行部１７０からの指示に応じて、各種コンテンツを取得するための構成である。コンテンツ取得部１９０は、取得したコンテンツを処理実行部１７０に出力する。
【００５７】
なお、コンテンツ取得部１９０により取得されるコンテンツの具体的な一例としては、静止画や動画のような画像データが挙げられる。画像データをコンテンツとして取得する場合には、コンテンツ取得部１９０は、例えば、画像を撮像可能な撮像素子、または、当該撮像素子を備えたデバイス（例えば、カメラ）により構成され得る。
【００５８】
また、他の一例として、コンテンツ取得部１９０は、音声データをコンテンツとして取得してもよい。このように、音声データをコンテンツとして取得する場合には、コンテンツ取得部１９０は、例えば、マイクのような音声を集音可能なデバイスにより構成され得る。
【００５９】
なお、上記に示すコンテンツの例はあくまで一例であり、コンテンツ取得部１９０により取得されるコンテンツの種別を限定するものではなく、当該コンテンツの取得方法についても限定されない。また、取得されるコンテンツの種別や、当該コンテンツの取得方法に応じて、コンテンツ取得部１９０の構成が異なる場合があることは言うまでない。
【００６０】
通知部１０６は、情報処理装置１０の利用者（即ち、ユーザｕ２０）に対して情報を通知するための構成である。例えば、通知部１０６は、後述する認証処理部１５０から指定された通知情報をユーザｕ２０に通知する。
【００６１】
なお、通知部１０６によりユーザｕ２０に通知される通知情報の具体的な一例として文字情報や画像情報が挙げられる。文字情報や画像情報をユーザｕ２０に通知する場合には、通知部１０６は、例えば、当該文字情報や画像情報を表示可能な表示部、または、当該表示部を備えたデバイス（例えば、ディスプレイ）により構成され得る。
【００６２】
また、他の一例として、通知部１０６は、音声情報を通知情報としてユーザｕ２０に通知してもよい。このように、音声情報をユーザｕ２０に通知する場合には、通知部１０６は、例えば、スピーカのような音声を出力可能なデバイスにより構成され得る。
【００６３】
認証処理部１５０は、ユーザ端末２０にインストールされたアプリケーション２５の開発者が事前申請された開発者か否かを、鍵情報記憶部１０４に記憶された鍵情報に基づき判定する。そして、認証処理部１５０は、判定結果に応じて、利用が制限されたＡＰＩへの当該アプリケーション２５からのアクセスを制限または解除する。
【００６４】
鍵情報記憶部１０４は、アプリケーション２５の開発者が事前申請された開発者か否かを判定するための鍵情報をあらかじめ記憶している。なお、認証処理部１５０が、鍵情報記憶部１０４に記憶された鍵情報に基づき、アプリケーション２５の開発者が事前申請された開発者か否かを判定する処理の詳細については、「３．ＡＰＩへのアクセス制御」として別途後述する。
【００６５】
識別情報記憶部１０８は、認証処理部１５０により事前申請された開発者であると判定された、当該開発者を識別するための識別情報を記憶するための記憶部である。
【００６６】
コンテンツ記憶部１１０は、例えば、コンテンツ取得部１９０により取得されたコンテンツや、当該コンテンツに関連付けられた情報（例えば、コンテンツの取得に係る履歴情報）を記憶するための記憶部である。コンテンツ記憶部１１０は、情報処理装置１０に設けられた記憶デバイス（ストレージ）として構成され得る。また、他の一例として、コンテンツ記憶部１１０は、情報処理装置１０に対して着脱可能な可搬媒体として構成されてもよい。
【００６７】
なお、情報処理装置１０の各構成、即ち、通信部１０２、処理部１３０、コンテンツ取得部１９０、鍵情報記憶部１０４、通知部１０６、識別情報記憶部１０８、及びコンテンツ記憶部１１０は、各種演算処理を実行するための回路により構成することが可能である。これらの一連の構成は、例えば、当該回路により構成されるＩＣ（Integrated  Circuit）等のデバイスにより実現してもよいし、一部の構成を別のデバイスにより実現してもよい。
【００６８】
＜３．ＡＰＩへのアクセス制御＞
［３．１．概要］
本実施形態に係る情報処理システムでは、情報処理装置１０は、自身の動作を制御するためのＡＰＩ群５０に対する開発者ｕ５０の利用申請の状況に応じて、アプリケーションｄ１０からＡＰＩ群５０中の各ＡＰＩへのアクセスを制御する。
【００６９】
そこで、まず、図４を参照しながら、本実施形態に係る情報処理システムにおける、ＡＰＩへのアクセス制御に係る処理の概要について説明する。図４は、本実施形態に係る情報処理システムにおけるＡＰＩへのアクセス制御に係る処理の概要について説明するための説明図である。なお、図４に示す例では、図２に示した各構成のうち、ＡＰＩへのアクセス制御に係る構成のみに着目して示しており、その他の構成については記載を省略している。
【００７０】
本実施形態に係る情報処理システムでは、管理サーバ３０が、開発者ｕ５０からの申請に基づき、ＡＰＩ群５０のうち申請が承認されたＡＰＩの制限を解除するためのアクセス制御情報ｄ３０を当該開発者ｕ５０に対して発行する。
【００７１】
具体的には、管理サーバ３０は、開発者ｕ５０により指定された当該開発者ｕ５０の開発者名ｄ２０と、ＡＰＩ群５０のうち使用するＡＰＩのリストとを、当該開発者ｕ５０が操作する開発者端末８０から取得する。管理サーバ３０は、「開発者名ｄ２０」が示す開発者ｕ５０に対して識別情報ｄ２２を発行する。
【００７２】
また、管理サーバ３０は、取得したＡＰＩのリストに基づき、リスト中に指定されたＡＰＩに対するアクセスを制御（許可）するためのアクセス制御情報ｄ３０を生成する。なお、アクセス制御情報ｄ３０の内容については、当該アクセス制御情報ｄ３０を生成する具体的な構成の説明とあわせて別途後述する。
【００７３】
また、管理サーバ３０は、あらかじめ生成された鍵情報ｋ１０を記憶しており、開発者名ｄ２０と、識別情報ｄ２２と、アクセス制御情報ｄ３０とを、当該鍵情報ｋ１０に基づき符号化して符号化情報ｄ３２を生成する。
【００７４】
管理サーバ３０は、発行した識別情報ｄ２２と、生成したアクセス制御情報ｄ３０及び符号化情報ｄ３２とを、開発者ｕ５０の開発者端末８０に送信する。以上により、開発者ｕ５０が、ＡＰＩ群５０のうち利用の申請を行ったＡＰＩを使用してアプリケーションｄ１０を開発するための事前申請が完了する。
【００７５】
なお、本実施形態に係る情報処理システムでは、開発者ｕ５０は、開発するアプリケーションｄ１０において利用の申請を行ったＡＰＩを使用する場合には、開発者名ｄ２０と、識別情報ｄ２２と、アクセス制御情報ｄ３０と、符号化情報ｄ３２とを当該アプリケーションｄ１０内に埋め込む。なお、以降では、開発者名ｄ２０と、識別情報ｄ２２とを総じて「開発元識別情報」と呼ぶ場合がある。
【００７６】
また、開発元識別情報と、アクセス制御情報ｄ３０と、符号化情報ｄ３２とを総じて「認証情報」と呼ぶ場合がある。このような構成により、情報処理装置１０は、アプリケーションｄ１０が実行された場合に、アプリケーションｄ１０に埋め込まれた認証情報を取得し、取得した認証情報に基づき、開発者ｕ５０がＡＰＩの利用権限を有しているかを確認することが可能となる。なお、情報処理装置１０による、認証情報に基づくＡＰＩの利用権限の有無の確認に係る動作の詳細については別途後述する。
【００７７】
また、アプリケーションｄ１０への、認証情報の埋め込みについては、ＡＰＩの動作によりルール化することが可能である。具体的な一例として、ＡＰＩ群５０のうち利用申請が必要なＡＰＩについては、アプリケーションｄ１０が実行された場合に、当該アプリケーションｄ１０に埋め込まれた認証情報が提示されない場合には、利用制限が解除されないように処理を定義しておけばよい。
【００７８】
開発者ｕ５０により開発され、認証情報が埋め込まれたアプリケーションｄ１０は、例えば、アプリケーション提供サーバ９０で公開される。これにより、ユーザｕ２０は、開発者ｕ５０が開発したアプリケーションｄ１０を、アプリケーション提供サーバ９０からダウンロードして自身のユーザ端末２０にインストールすることが可能となる。
【００７９】
次に、ユーザ端末２０にインストールされたアプリケーションｄ１０が実行されることで、ユーザ端末２０がネットワークｎ１を介して情報処理装置１０にアクセスした場合の動作に着目して説明する。
【００８０】
本実施形態に係る情報処理装置１０は、アプリケーションｄ１０の実行に伴いユーザ端末２０からのアクセスを受けた場合に、当該ユーザ端末２０からアプリケーションｄ１０に埋め込まれた認証情報を取得する。
【００８１】
このとき、ユーザ端末２０は、認証情報のうち、開発元識別情報及びアクセス制御情報ｄ３０に対して不可逆処理を施さずに情報処理装置１０に送信する。また、ユーザ端末２０は、認証情報のうち少なくとも開発元識別情報に対して暗号化処理及び符号化処理のいずれも施さずに、情報処理装置１０への送信対象としてもよい。なお、ここでの暗号化処理及び符号化処理は、データの保護を目的とした暗号化処理及び符号化処理を指し、所定の通信方式に基づき通信を行うための暗号化処理及び符号化処理を指すものではない。
【００８２】
また、ユーザ端末２０は、認証情報に含まれる符号化情報ｄ３２を更に符号化して、情報処理装置１０に送信してもよい。このとき、ユーザ端末２０は、符号化情報ｄ３２を符号化するための鍵情報（例えば、乱数）を情報処理装置１０から取得してもよい。なお、ユーザ端末２０による符号化情報ｄ３２の符号化に係る処理の詳細については、別途後述する。
【００８３】
情報処理装置１０は、ユーザ端末２０から取得した認証情報に基づき、当該認証情報中に含まれる開発元識別情報が示す開発者ｕ５０が、ＡＰＩの利用申請を行った開発元であるか否かを判別する。
【００８４】
具体的な一例として、情報処理装置１０は、ユーザ端末２０から取得した開発者名ｄ２０、識別情報ｄ２２、及びアクセス制御情報ｄ３０を符号化して符号化情報ｄ４２を生成し、当該符号化情報ｄ４２に基づき、開発者ｕ５０に対する判別を行ってもよい。
【００８５】
この場合には、情報処理装置１０は、管理サーバ３０に記憶された鍵情報ｋ１０をあらかじめ取得し記憶しておく。情報処理装置１０は、ユーザ端末２０から取得した開発元識別情報及びアクセス制御情報ｄ３０を、鍵情報ｋ１０に基づき符号化して符号化情報ｄ４２を生成する。そして、情報処理装置１０は、生成した符号化情報ｄ４２と、取得した符号化情報ｄ３２とを比較し、これらが一致するか否かに基づき、開発元識別情報が示す開発者ｕ５０が、ＡＰＩの利用申請を行った開発元であるか否かを判別すればよい。
【００８６】
なお、上記に示した判別方法はあくまで一例であり、情報処理装置１０が、取得した認証情報に基づき、開発元識別情報が示す開発者ｕ５０が、ＡＰＩの利用申請を行った開発元であるか否かを判別できれば、その態様は限定されない。
【００８７】
開発者ｕ５０がＡＰＩの利用申請を行った開発元であることが確認できたら、情報処理装置１０は、認証情報中のアクセス制御情報ｄ３０に基づき、利用申請が行われているＡＰＩを認識する。そして、情報処理装置１０は、アプリケーションｄ１０の実行に伴い呼び出されるＡＰＩが、アクセス制御情報ｄ３０に基づき認識できるＡＰＩ中に含まれるか否かに応じて、自身による当該ＡＰＩの実行を制御する。
【００８８】
また、開発者ｕ５０がＡＰＩの利用申請を行った開発元であることが確認できた場合には、情報処理装置１０は、開発元識別情報が示す開発者ｕ５０の情報を、例えば表示部に識別可能に表示させてもよい。例えば、図５は、本実施形態に係る情報処理システムの適用例について説明するための図であり、情報処理装置１０とユーザ端末２０との間の接続確立時にアプリケーションｄ１０の開発元を示す情報を表示させる場合の例を示している。図５に示すように、情報処理装置１０は、ディスプレイとして構成された通知部１０６に、開発元識別情報が示す開発者ｕ５０を識別可能に提示した開発元情報ｖ１０を表示させている。
【００８９】
なお、開発元識別情報が示す開発者ｕ５０を識別可能に提示可能であれば、開発元情報ｖ１０の態様は特に限定されない。具体的な一例として、情報処理装置１０やユーザ端末２０が音声情報を出力可能な出力部（例えば、スピーカー）を備えている場合には、情報処理装置１０は、開発元情報ｖ１０を音声情報として、当該出力部を介して出力してもよい。なお、開発元情報ｖ１０を音声情報として出力する場合には、例えば、通知部１０６は、当該出力部として構成され得ることは言うまでもない。
【００９０】
ここで、開発者ｕ５０が、事前申請を行わずに、事前申請を行った他の開発者の情報に詐称した認証情報をアプリケーションｄ１０に埋め込んだものとする。この場合には、アプリケーションｄ１０の提供時にダウンロードサイト等に示される開発元と、アプリケーションｄ１０の実行に伴い表示される開発元とが一致しなくなる。例えば、図６は、本実施形態に係る情報処理システムの適用例について説明するための図であり、ダウンロードサイトｖ９０の一例を示している。
【００９１】
図６に示すように、ダウンロードサイトｖ９０には、提供対象となるアプリケーションｄ１０に関する情報として、当該アプリケーションｄ１０の開発を示した開発元情報ｖ９２が表示される。前述の通り、開発者ｕ５０が、事前申請を行った他の開発者の情報に詐称した場合には、図５に示した通知部１０６に通知される開発元情報ｖ１０と、図６に示したダウンロードサイトｖ９０に提示される開発元情報ｖ９２とが一致しなくなる。なお、可搬媒体を利用してインストールした場合には、例えば、当該可搬媒体のパッケージ上の記載や、ホームページ等で公開されている情報に基づき、本来の開発元を確認することも可能である。
【００９２】
また、アプリケーションｄ１０の実行時に、開発元識別情報に対して暗号化や符号化が施されずに情報処理装置１０に送信されるため、ユーザ端末２０と情報処理装置１０との間のネットワークｎ１に開発元識別情報が露出することとなる。
【００９３】
以上のように、本実施形態に係る情報処理システムでは、アプリケーションｄ１０の実行時に、ユーザ端末２０に、当該アプリケーションｄ１０に埋め込まれた開発元識別情報が示す開発元情報を提示させる。これにより、開発元の詐称によりＡＰＩが不正利用されていたとしても、アプリケーションｄ１０を利用するユーザに開発元が詐称されていることを気付かせることが可能となる。また、このように開発元の詐称がアプリケーションｄ１０を利用するユーザにより検知されることで、開発元の不正がユーザに知られることとなるため、副次的に、開発元の詐称に伴うＡＰＩの不正利用を抑止することが可能となる。
【００９４】
なお、情報処理装置１０が、開発元情報ｖ１０を提示するタイミングは特に限定されない。具体的な一例として、情報処理装置１０は、ユーザ端末２０で実行されたアプリケーションｄ１０に基づき動作が制御されている間は、開発元情報ｖ１０を通知部１０６に通知させていてもよい。
【００９５】
例えば、図７は、本実施形態に係る情報処理システムの適用例について説明するための図であり、情報処理装置１０としてデジタルカメラを使用し、ユーザ端末２０からの操作に基づきデジタルカメラによる撮像を制御する場合の一例を示している。
【００９６】
図７に示す例では、デジタルカメラによる撮像に伴い、表示部として構成された通知部１０６に撮像された画像ｖ２０ａが表示されるとともに、当該画像ｖ２０ａがユーザ端末２０に転送され、画像ｖ２０ｂとしてユーザ端末２０の表示部２０６に表示されている。このとき、デジタルカメラは、通知部１０６に表示された画像ｖ２０ａとあわせて開発元情報ｖ１０を表示させてもよい。このように、アプリケーションｄ１０が動作している期間中に開発元情報ｖ１０を表示させることで、ユーザｕ２０に対して、動作しているアプリケーションｄ１０と開発元情報ｖ１０が示す開発元との関係をより意識づけることが可能となる。
【００９７】
［３．２．管理サーバの構成］
次に、図８を参照しながら、管理サーバ３０の詳細な構成について説明する。図８は、本実施形態に係る管理サーバ３０の構成の一例を示したブロック図である。
【００９８】
図８に示すように、管理サーバ３０は、開発元情報取得部３０２と、識別情報生成部３０４と、開発元情報記憶部３０６と、符号化情報生成部３０８と、鍵情報記憶部３１０とを含む。
【００９９】
開発元情報取得部３０２は、開発者ｕ５０により指定された当該開発者ｕ５０の開発者名ｄ２０と、ＡＰＩ群５０のうち使用するＡＰＩのリストとを、当該開発者ｕ５０が操作する開発者端末８０から取得する。
【０１００】
なお、開発元情報取得部３０２が、開発者名ｄ２０と、ＡＰＩのリストとを取得する方法は特に限定されない。例えば、開発元情報取得部３０２は、メールを媒介として、開発者端末８０から開発者名ｄ２０と、ＡＰＩのリストとを取得してもよい。
【０１０１】
また、他の一例として、開発元情報取得部３０２は、開発者名ｄ２０及びＡＰＩのリストを指定するための画面を生成してもよい。この場合には、開発者ｕ５０は、例えば、開発者端末８０を操作して管理サーバ３０にアクセスし、開発元情報取得部３０２が提示する画面に対して操作を行うことで、開発者名ｄ２０及びＡＰＩのリストを指定してもよい。
【０１０２】
開発元情報取得部３０２は、取得した開発者名ｄ２０と、ＡＰＩのリストとを識別情報生成部３０４に出力する。
【０１０３】
識別情報生成部３０４は、開発者名ｄ２０と、ＡＰＩのリストとを開発元情報取得部３０２から取得する。識別情報生成部３０４は、「開発者名ｄ２０」が示す開発者ｕ５０に対して識別情報ｄ２２を発行する。
【０１０４】
また、識別情報生成部３０４は、取得したＡＰＩのリストに基づき、リスト中に指定されたＡＰＩに対するアクセスを制御（許可）するためのアクセス制御情報ｄ３０を生成する。
【０１０５】
アクセス制御情報ｄ３０は、例えば、利用が許可されたＡＰＩ名の一覧でもよいし、ＡＰＩ名を示す識別情報（例えば、ＡＰＩを示す番号）の一覧でもよい。また、ＡＰＩの管理単位に応じてアクセス制御情報の内容を適宜変更してもよい。例えば、パッケージ単位で管理している場合には、アクセス制御情報ｄ３０は、利用が許可されたパッケージ名の一覧でもよい。また、開発者を所定の種別に分けて管理し、当該開発者の種別ごとに利用可能なＡＰＩを定義している場合には、アクセス制御情報ｄ３０は、開発者の種別を示す情報でもよい。このように、利用が許可されたＡＰＩを識別可能であれば、アクセス制御情報ｄ３０の態様は特に限定はされない。
【０１０６】
識別情報生成部３０４は、取得した開発者名ｄ２０と、発行した識別情報ｄ２２と、生成したアクセス制御情報ｄ３０とを関連付けて、開発元情報として開発元情報記憶部３０６に記憶させる。なお、既に開発元情報が登録された開発者ｕ５０から、新たに利用するＡＰＩに関する登録の申請を受けた場合には、識別情報生成部３０４は、開発元情報記憶部３０６に記憶された当該開発者ｕ５０の開発元情報を更新するように動作させてもよい。
【０１０７】
識別情報生成部３０４は、取得した開発者名ｄ２０と、発行した識別情報ｄ２２と、生成したアクセス制御情報ｄ３０とを、符号化情報生成部３０８に出力する。
【０１０８】
符号化情報生成部３０８は、開発者名ｄ２０と、識別情報ｄ２２と、アクセス制御情報ｄ３０とを、識別情報生成部３０４から取得する。
【０１０９】
符号化情報生成部３０８は、開発者名ｄ２０と、識別情報ｄ２２と、アクセス制御情報ｄ３０とを、あらかじめ生成された鍵情報ｋ１０に基づき符号化して符号化情報ｄ３２を生成する。なお、鍵情報ｋ１０は、鍵情報記憶部３１０に記憶されている。
【０１１０】
このとき、符号化情報生成部３０８は、符号化の方式として不可逆的な符号化方式を用いてもよい。なお、符号化情報ｄ３２を生成するための符号化方式は、鍵情報に基づき符号化可能であれば、その方法は限定されない。符号化情報ｄ３２を生成するための符号化方式の一例として、鍵付きハッシュが挙げられる。
【０１１１】
符号化情報生成部３０８は、識別情報ｄ２２と、アクセス制御情報ｄ３０と、符号化情報ｄ３２とを、開発者ｕ５０の開発者端末８０に送信する。これにより、開発者ｕ５０が、利用申請を行ったＡＰＩを使用してアプリケーションｄ１０を開発するための情報、即ち、識別情報ｄ２２、アクセス制御情報ｄ３０、及び符号化情報ｄ３２が、開発者ｕ５０に通知される。
【０１１２】
以上により、開発者ｕ５０が、ＡＰＩ群５０のうち利用の申請を行ったＡＰＩを使用してアプリケーションｄ１０を生成するための事前申請が完了する。なお、アプリケーションｄ１０が、情報処理装置１０内のＡＰＩ群５０を利用するためには、開発元識別情報、アクセス制御情報ｄ３０、及び符号化情報ｄ３２を情報処理装置１０に通知する必要がある。そのため、例えば、開発者ｕ５０により開発されたアプリケーションｄ１０には、管理サーバ３０から開発者ｕ５０に通知された開発元識別情報、アクセス制御情報ｄ３０、及び符号化情報ｄ３２が埋め込まれることとなる。なお、開発元識別情報、アクセス制御情報ｄ３０、及び符号化情報ｄ３２が情報処理装置１０に通知されれば、必ずしもこれらの情報をアプリケーションｄ１０に埋め込む必要はない。
【０１１３】
［３．３．情報処理装置及びユーザ端末の構成］
次に、図９を参照しながら、ＡＰＩへのアクセス制御に係る情報処理装置１０及びユーザ端末２０の詳細な構成について説明する。図９は、本実施形態に係る情報処理装置１０及びユーザ端末２０におけるＡＰＩへのアクセス制御に係る処理に着目した機能構成の一例を示したブロック図であり、その他の構成については記載を省略している。なお、ユーザ端末２０には、開発者ｕ５０のより開発されたアプリケーションｄ１０が、「アプリケーション２５」としてインストールされているものとして説明する。
【０１１４】
まず、ユーザ端末２０に着目する。図９に示すように、ユーザ端末２０には、アプリケーション２５がインストールされており、当該アプリケーション２５がインストールされることで、認証処理部２５０が機能としてユーザ端末２０に組み込まれる。認証処理部２５０は、通信処理部２５２と、符号化処理部２５４と、アクセス制御情報記憶部２５６と、符号化情報記憶部２５８とを含む。
【０１１５】
アクセス制御情報記憶部２５６は、開発元識別情報（即ち、開発者名ｄ２０及び識別情報ｄ２２）と、アクセス制御情報ｄ３０とを記憶する記憶部である。また、符号化情報記憶部２５８は、符号化情報ｄ３２を記憶する記憶部である。
【０１１６】
通信処理部２５２は、情報処理装置１０からのデータの取得や、情報処理装置１０へのデータの送信を行う。以下に、通信処理部２５２の具体的な動作について説明する。
【０１１７】
アプリケーションｄ１０のうち、認証処理部２５０に相当する機能が実行されると、通信処理部２５２は、情報処理装置１０に対して符号化のための鍵情報の生成を依頼し、その応答として鍵情報ｋ２０を情報処理装置１０から取得する。なお、鍵情報ｋ２０の詳細については、情報処理装置１０の構成の説明とあわせて別途後述する。
【０１１８】
情報処理装置１０から鍵情報ｋ２０を取得すると、通信処理部２５２は、取得した鍵情報ｋ２０を符号化処理部２５４に出力する。また、通信処理部２５２は、鍵情報ｋ２０の出力に対する応答として、符号化処理部２５４から符号化情報ｄ５２を取得する。符号化情報ｄ５２は、前述した符号化情報ｄ３２が、鍵情報ｋ２０に基づき符号化された情報である。なお、符号化情報ｄ５２の生成に係る処理については、符号化処理部２５４の動作とあわせて別途後述する。
【０１１９】
また、通信処理部２５２は、アクセス制御情報記憶部２５６から、開発元識別情報及びアクセス制御情報ｄ３０を読み出す。通信処理部２５２は、取得した符号化情報ｄ５２と、アクセス制御情報記憶部２５６から読み出した開発元識別情報及びアクセス制御情報ｄ３０とを、認証情報として情報処理装置１０に送信する。
【０１２０】
このとき、通信処理部２５２は、認証情報のうち、開発元識別情報及びアクセス制御情報ｄ３０に対して不可逆処理を施さずに情報処理装置１０に送信する。また、通信処理部２５２は、認証情報のうち少なくとも開発元識別情報に対して暗号化処理及び符号化処理のいずれも施さずに、情報処理装置１０への送信対象としてもよい。なお、ここでの暗号化処理及び符号化処理は、データの保護を目的とした暗号化処理及び符号化処理を指し、所定の通信方式に基づき通信を行うための暗号化処理及び符号化処理のみを指すものではない。
【０１２１】
符号化処理部２５４は、通信処理部２５２から鍵情報ｋ２０を取得する。鍵情報ｋ２０を取得すると、符号化処理部２５４は、符号化情報記憶部２５８から符号化情報ｄ３２を読み出す。符号化処理部２５４は、読み出した符号化情報ｄ３２を取得した鍵情報ｋ２０に基づき符号化して、符号化情報ｄ５２を生成する。
【０１２２】
このとき、符号化処理部２５４は、符号化の方式として不可逆的な符号化方式を用いる。なお、符号化情報ｄ５２を生成するための符号化方式は、鍵情報に基づき符号化可能であり、かつ、不可逆的であれば、その方法は限定されない。符号化情報ｄ５２を生成するための符号化方式の一例として、鍵付きハッシュが挙げられる。
【０１２３】
符号化処理部２５４は、生成した符号化情報ｄ５２を通信処理部２５２に出力する。
【０１２４】
次に、情報処理装置１０の構成について、特に認証処理部１５０の構成に着目して説明する。図９に示すように、認証処理部１５０は、乱数生成部１５２と、認証情報取得部１５４と、判定部１５６と、通知制御部１５８と、アクセス制御部１６０とを含む。
【０１２５】
鍵情報記憶部１０４は、鍵情報ｋ１０を記憶する記憶部である。鍵情報記憶部１０４には、前述した管理サーバ３０の鍵情報記憶部３１０に記憶された鍵情報と同様の鍵情報ｋ１０が記憶されている。
【０１２６】
乱数生成部１５２は、ユーザ端末２０から鍵情報の生成に係る依頼を受けると、符号化のための鍵情報ｋ２０を生成する。鍵情報ｋ２０の具体的な一例として、乱数のようにランダムに生成された情報が挙げられる。なお、鍵情報ｋ２０は、乱数に限らず、符号化処理を行うための鍵の役割を果たせば、その態様は特に限定されない。
【０１２７】
乱数生成部１５２は、生成した鍵情報ｋ２０をユーザ端末２０に送信する。これにより、ユーザ端末２０は、鍵情報ｋ２０に基づき符号化情報ｄ３２を符号化して、符号化情報ｄ５２を生成することが可能となる。
【０１２８】
また、乱数生成部１５２は、生成した鍵情報ｋ２０を判定部１５６に出力する。
【０１２９】
認証情報取得部１５４は、情報処理装置１０から認証情報として、開発元識別情報、アクセス制御情報ｄ３０、及び符号化情報ｄ５２を取得する。認証情報取得部１５４は、取得した認証情報を判定部１５６に出力する。
【０１３０】
判定部１５６は、ユーザ端末２０から送信された認証情報を取得し、取得した認証情報に基づき、当該認証情報中の開発元識別情報が示す開発元が、事前申請された開発元であるか否かを判定する。なお、開発元識別情報が示す開発元は、ユーザ端末２０で実行されたアプリケーションｄ１０の開発元を示している。以下に、判定部１５６による判定処理の一例について説明する。
【０１３１】
判定部１５６は、鍵情報ｋ２０を乱数生成部１５２から取得する。また、判定部１５６は、認証情報を認証情報取得部１５４から取得する。また、判定部１５６は、鍵情報記憶部３１０から鍵情報ｋ１０を読み出す。
【０１３２】
判定部１５６は、取得した認証情報中の開発元識別情報及びアクセス制御情報ｄ３０を鍵情報ｋ１０に基づき符号化して、符号化情報ｄ４２を生成する。なお、このとき判定部１５６は、管理サーバ３０の符号化情報生成部３０８と同様の符号化処理に基づき、符号化情報ｄ４２を生成する。即ち、符号化情報ｄ５２の生成元である符号化情報ｄ３２が、認証情報中の開発元識別情報及びアクセス制御情報ｄ３０に基づき符号化情報生成部３０８で生成されている場合には、符号化情報ｄ３２及びｄ４２は一致することとなる。
【０１３３】
符号化情報ｄ４２を生成したら、判定部１５６は、生成した符号化情報ｄ４２を鍵情報ｋ２０に基づき符号化して、符号化情報ｄ６２を生成する。なお、このとき判定部１５６は、ユーザ端末２０の符号化処理部２５４と同様の符号化処理に基づき、符号化情報ｄ６２を生成する。
【０１３４】
判定部１５６は、生成した符号化情報ｄ６２と、取得した符号化情報ｄ５２とを比較し、一致する場合には、開発元識別情報が示す開発元が、事前申請された開発元であると認識する。なお、このとき、符号化情報ｄ３２及びｄ４２が一致する場合には、同様の鍵情報ｋ２０に基づき同様の符号化処理により符号化された符号化情報ｄ５２及びｄ６２は一致することとなる。
【０１３５】
なお、上述した判定部１５６の処理は、あくまで一例であり、取得した認証情報に基づき、当該認証情報中の開発元識別情報が示す開発元が、事前申請された開発元であるか否かを判定できれば、その動作は限定されない。例えば、判定部１５６がインターネットのような外部ネットワークを介して管理サーバ３０と通信可能であれば、取得した認証情報中の開発元識別情報が正しいか否かを、当該外部ネットワークを介して管理サーバ３０に問い合わせてもよい。
【０１３６】
また、上記では、符号化情報ｄ３２を鍵情報ｋ２０により符号化してユーザ端末２０から情報処理装置１０に送信する例について説明したが、鍵情報ｋ２０による符号化を行わずに、符号化情報ｄ３２をユーザ端末２０から情報処理装置１０に送信してもよい。その場合には、鍵情報ｋ２０の生成及び送信に係る処理や、鍵情報ｋ２０に基づく符号化情報ｄ３２の符号化処理を実行する必要が無いことは言うまでもない。また、情報処理装置１０は、ユーザ端末２０から符号化情報ｄ３２を取得し、取得した符号化情報ｄ３２が、鍵情報ｋ１０に基づき生成した符号化情報ｄ４２と一致するか否かに基づき判定を行えばよい。
【０１３７】
開発元識別情報が示す開発元が事前申請された開発元であると認識したら、判定部１５６は、アクセス制御情報ｄ３０をアクセス制御部１６０に出力する。また、判定部１５６は、開発元識別情報が示す開発元が事前申請された開発元であると認識された認証情報のうち、少なくとも開発元識別情報（もしくは、当該開発元識別情報が示す開発元の情報）を、識別情報記憶部１０８に記憶させる。なお、このとき判定部１５６は、認証情報に含まれる一連の情報を識別情報記憶部１０８に記憶させてもよい。
【０１３８】
また、判定部１５６は、開発元識別情報が示す開発元が事前申請された開発元であることが判別されたことを、ユーザ端末２０に通知してもよい。この通知を受けて、ユーザ端末２０は、利用に関する事前申請を行ったＡＰＩの呼び出しを行えばよい。
【０１３９】
また、判定部１５６は、開発元識別情報が示す開発元を示す情報、例えば、開発者名ｄ２０及び識別情報ｄ２２のうち少なくともいずれかを通知制御部１５８に出力してもよい。なお、以降では、判定部１５６は、開発者名ｄ２０及び識別情報ｄ２２の双方を通知制御部１５８に出力したものとして説明する。
【０１４０】
アクセス制御部１６０は、判定部１５６からアクセス制御情報ｄ３０を取得する。アクセス制御部１６０は、ユーザ端末２０の処理実行部２６０（図３参照、詳細は後述する）によりアプリケーションｄ１０が実行されＡＰＩが呼び出された場合には、アクセス制御情報ｄ３０の内容に基づき、当該ＡＰＩの実行を許可または制限する。
【０１４１】
具体的な一例として、呼び出されたＡＰＩが特に利用を制限されておらず、事前申請を必要としない場合には、アクセス制御部１６０は、当該ＡＰＩの実行を許可する。ＡＰＩの実行が許可されると、情報処理装置１０の処理実行部１７０（図３参照、詳細は後述する）により、当該ＡＰＩが実行される。
【０１４２】
また、呼び出されたＡＰＩの利用が制限されており、アクセス制御情報ｄ３０により当該ＡＰＩの利用が許可されている場合には、アクセス制御部１６０は、当該ＡＰＩの実行を許可する。
【０１４３】
一方で、呼び出されたＡＰＩの利用が制限されており、アクセス制御情報ｄ３０により当該ＡＰＩの利用が許可されていない場合には、アクセス制御部１６０は、当該ＡＰＩの実行を制限または禁止する。このとき、アクセス制御部１６０は、呼び出されたＡＰＩの実行が許可されていない旨を、ユーザ端末２０に通知してもよい。
【０１４４】
以上のようにして、アクセス制御部１６０は、アクセス制御情報ｄ３０に基づきＡＰＩ群５０中の各ＡＰＩの実行を制御する。
【０１４５】
通知制御部１５８は、開発者名ｄ２０及び識別情報ｄ２２を判定部１５６から取得する。通知制御部１５８は、取得した開発者名ｄ２０及び識別情報ｄ２２、即ち、実行されたアプリケーションｄ１０の開発元を示す情報を識別可能に通知部１０６に通知させる。
【０１４６】
通知部１０６は、例えば、ディスプレイ等の表示媒体として構成され得る。具体的な一例として、情報処理装置１０がデジタルカメラの場合には、通知部１０６は、情報の確認や撮像された画像の参照を行うために設けられたディスプレイ等が挙げられる。
【０１４７】
また、他の一例として、通知部１０６は、スピーカ等の音声情報を出力するための出力媒体として構成され得る。この場合には、実行されたアプリケーションｄ１０の開発元を示す情報は、音声情報として通知部１０６から出力されることは言うまでもない。
【０１４８】
このように、実行されたアプリケーションｄ１０の開発元を示す情報を識別可能に表示させることで、例えば、開発元を示す情報を詐称することでＡＰＩが不正に利用されている場合に、この不正利用を検知することが可能となる。
【０１４９】
具体的には、開発元を示す情報を詐称している場合には、通知部１０６に通知される情報が、該当するアプリケーションの取得時にダウンロードサイト等に示される開発元と一致しなくなる。そのため、アプリケーションの実行に伴い取得された開発元を示す情報を識別可能に表示させることで、開発元を示す情報が詐称されている場合に、この開発元を示す情報の詐称を、情報処理装置１０を使用しているユーザｕ２０示唆することが可能となる。
【０１５０】
なお、開発元を示す情報を識別可能に提示させる場合には、この開発元を示す情報の提示自体により、開発元の詐称に伴うＡＰＩの不正利用を抑止することも可能となる。そのため、開発元を示す情報を識別可能に提示させる場合には、ユーザ端末２０から情報処理装置１０に開発者名ｄ２０または識別情報ｄ２２を送信するときに、これらの情報に対して可逆的な暗号化処理や符号化処理を施してもよい。この場合には、判定部１５６は、開発者名ｄ２０または識別情報ｄ２２に施された暗号化処理や符号化処理を復号し、復号された開発者名ｄ２０または識別情報ｄ２２に基づき上述した判定処理を実行すればよい。
【０１５１】
また、上記では、開発者ごとに利用可能なＡＰＩを制限する例について説明したが、ＡＰＩの利用を制限する管理単位は運用に応じて適宜変更することも可能である。例えば、アプリケーションごとに利用可能なＡＰＩを制限する場合には、アプリケーションごとに異なるアクセス制御情報ｄ３０を発行してもよい。このとき、アプリケーションごとに発行されるアクセス制御情報ｄ３０は、１つの識別情報ｄ２２に関連付けて管理してもよいし、それぞれについて異なる識別情報ｄ２２を発行してもよい。なお、アクセス制御情報ｄ３０が異なる場合には、各アクセス制御情報ｄ３０に基づき生成される符号化情報ｄ３２も異なるため、ＡＰＩに対するアクセス制御をアプリケーション単位で切り替えることが可能となる。
【０１５２】
なお、上記に示す例では、情報処理装置１０は、一連のＡＰＩのうち、利用が制限された一部のＡＰＩを識別するためにアクセス制御情報ｄ３０を使用し、当該一部のＡＰＩに対するアクセス制御を実行していた。一方で、各ＡＰＩを区別せずに単に一連のＡＰＩについて、利用が可能か否かを判断するのみの場合には、情報処理装置１０は、必ずしもアクセス制御情報ｄ３０を使用しなくてもよい。また、この場合には、アクセス制御情報ｄ３０の生成、管理サーバ３０及び開発者端末８０間におけるアクセス制御情報ｄ３０の送受信、及びアプリケーションｄ１０へのアクセス制御情報ｄ３０の埋め込みに係る処理は、必ずしも必要ないことは言うまでもない。
【０１５３】
［３．４．処理］
次に、本実施形態に係る情報処理システムにおける、ＡＰＩへのアクセス制御に係る処理の流れについて説明する。なお、以降では、特に、開発者ｕ５０がＡＰＩ群５０の利用のための事前申請に係る動作と、ユーザ端末２０からの情報に基づき情報処理装置１０がＡＰＩ群５０の利用を制御する動作とに着目して説明する。
【０１５４】
｛３．３．１．事前申請に係る動作｝
まず、図１０を参照しながら、開発者ｕ５０が管理サーバ３０に対してＡＰＩ群５０の利用に関する事前申請を行う場合の、管理サーバ３０の処理の流れについて説明する。図１０は、本実施形態に係る管理サーバ３０の一連の動作を示したシーケンス図である。
【０１５５】
（ステップＳ１０２）
開発元情報取得部３０２は、開発者ｕ５０により指定された当該開発者ｕ５０の開発者名ｄ２０と、ＡＰＩ群５０のうち使用するＡＰＩのリストとを、当該開発者ｕ５０が操作する開発者端末８０から取得する。開発元情報取得部３０２は、取得した開発者名ｄ２０と、ＡＰＩのリストとを識別情報生成部３０４に出力する。
【０１５６】
（ステップＳ１０４）
識別情報生成部３０４は、開発者名ｄ２０と、ＡＰＩのリストとを開発元情報取得部３０２から取得する。識別情報生成部３０４は、「開発者名ｄ２０」が示す開発者ｕ５０に対して識別情報ｄ２２を発行する。
【０１５７】
また、識別情報生成部３０４は、取得したＡＰＩのリストに基づき、リスト中に指定されたＡＰＩに対するアクセスを制御（許可）するためのアクセス制御情報ｄ３０を生成する。
【０１５８】
識別情報生成部３０４は、取得した開発者名ｄ２０と、発行した識別情報ｄ２２と、生成したアクセス制御情報ｄ３０とを、符号化情報生成部３０８に出力する。
【０１５９】
（ステップＳ１０６）
符号化情報生成部３０８は、開発者名ｄ２０と、識別情報ｄ２２と、アクセス制御情報ｄ３０とを、識別情報生成部３０４から取得する。
【０１６０】
符号化情報生成部３０８は、開発者名ｄ２０と、識別情報ｄ２２と、アクセス制御情報ｄ３０とを、あらかじめ生成された鍵情報ｋ１０に基づき符号化して符号化情報ｄ３２を生成する。なお、鍵情報ｋ１０は、鍵情報記憶部３１０に記憶されている。
【０１６１】
このとき、符号化情報生成部３０８は、符号化の方式として不可逆的な符号化方式を用いる。なお、符号化情報ｄ３２を生成するための符号化方式は、鍵情報に基づき符号化可能であり、かつ、不可逆的であれば、その方法は限定されない。符号化情報ｄ３２を生成するための符号化方式の一例として、鍵付きハッシュが挙げられる。
【０１６２】
（ステップＳ１０８）
符号化情報生成部３０８は、識別情報ｄ２２と、アクセス制御情報ｄ３０と、符号化情報ｄ３２とを、開発者ｕ５０の開発者端末８０に送信する。これにより、開発者ｕ５０が、利用申請を行ったＡＰＩを使用してアプリケーションｄ１０を開発するための情報、即ち、識別情報ｄ２２、アクセス制御情報ｄ３０、及び符号化情報ｄ３２が、開発者ｕ５０に通知される。
【０１６３】
｛３．３．２．ＡＰＩへのアクセス制御に係る動作｝
次に、図１１を参照しながら、ユーザ端末２０からの指示を受けて、情報処理装置１０が、ＡＰＩ群５０の利用に関する権限を確認し、ＡＰＩ群５０に対するアクセス制御を行う場合の、情報処理装置１０及びユーザ端末２０の処理の流れについて説明する。図１１は、本実施形態に係る情報処理装置１０におけるＡＰＩへのアクセス制御に係る一連の動作の一例を示したシーケンス図である。
【０１６４】
（ステップＳ２０２）
アプリケーションｄ１０のうち、認証処理部２５０に相当する機能が実行されると、通信処理部２５２は、情報処理装置１０に対して符号化のための鍵情報の生成を依頼する。
【０１６５】
乱数生成部１５２は、ユーザ端末２０から鍵情報の生成に係る依頼を受けると、符号化のための鍵情報ｋ２０を生成する。鍵情報ｋ２０の具体的な一例として、乱数のようにランダムに生成された情報が挙げられる。なお、鍵情報ｋ２０は、乱数に限らず、符号化処理を行うための鍵の役割を果たせば、その態様は特に限定されない。
【０１６６】
（ステップＳ２０４）
乱数生成部１５２は、生成した鍵情報ｋ２０をユーザ端末２０に送信する。また、乱数生成部１５２は、生成した鍵情報ｋ２０を判定部１５６に出力する。情報処理装置１０から鍵情報ｋ２０を取得すると、通信処理部２５２は、取得した鍵情報ｋ２０を符号化処理部２５４に出力する。
【０１６７】
（ステップＳ２０６）
符号化処理部２５４は、通信処理部２５２から鍵情報ｋ２０を取得する。鍵情報ｋ２０を取得すると、符号化処理部２５４は、符号化情報記憶部２５８から符号化情報ｄ３２を読み出す。符号化処理部２５４は、読み出した符号化情報ｄ３２を取得した鍵情報ｋ２０に基づき符号化して、符号化情報ｄ５２を生成する。
【０１６８】
このとき、符号化処理部２５４は、符号化の方式として不可逆的な符号化方式を用いる。なお、符号化情報ｄ５２を生成するための符号化方式は、鍵情報に基づき符号化可能であり、かつ、不可逆的であれば、その方法は限定されない。符号化情報ｄ５２を生成するための符号化方式の一例として、鍵付きハッシュが挙げられる。
【０１６９】
符号化処理部２５４は、生成した符号化情報ｄ５２を通信処理部２５２に出力する。通信処理部２５２は、鍵情報ｋ２０の出力に対する応答として、符号化処理部２５４から符号化情報ｄ５２を取得する。
【０１７０】
（ステップＳ２０８）
また、通信処理部２５２は、アクセス制御情報記憶部２５６から、開発元識別情報（即ち、開発者名ｄ２０及び識別情報ｄ２２）と、アクセス制御情報ｄ３０とを読み出す。通信処理部２５２は、取得した符号化情報ｄ５２と、アクセス制御情報記憶部２５６から読み出した開発元識別情報及びアクセス制御情報ｄ３０とを、認証情報として情報処理装置１０に送信する。
【０１７１】
このとき、通信処理部２５２は、認証情報のうち、開発元識別情報及びアクセス制御情報ｄ３０に対して不可逆処理を施さずに情報処理装置１０に送信する。また、通信処理部２５２は、認証情報のうち少なくとも開発元識別情報に対して暗号化処理及び符号化処理のいずれも施さずに、情報処理装置１０への送信対象としてもよい。
【０１７２】
（ステップＳ２１０）
認証情報取得部１５４は、情報処理装置１０から認証情報として、開発元識別情報、アクセス制御情報ｄ３０、及び符号化情報ｄ５２を取得する。認証情報取得部１５４は、取得した認証情報を判定部１５６に出力する。
【０１７３】
判定部１５６は、鍵情報ｋ２０を乱数生成部１５２から取得する。また、判定部１５６は、認証情報を認証情報取得部１５４から取得する。また、判定部１５６は、鍵情報記憶部３１０から鍵情報ｋ１０を読み出す。
【０１７４】
判定部１５６は、取得した認証情報中の開発元識別情報及びアクセス制御情報ｄ３０を鍵情報ｋ１０に基づき符号化して、符号化情報ｄ４２を生成する。なお、このとき判定部１５６は、管理サーバ３０の符号化情報生成部３０８と同様の符号化処理に基づき、符号化情報ｄ４２を生成する。
【０１７５】
符号化情報ｄ４２を生成したら、判定部１５６は、生成した符号化情報ｄ４２を鍵情報ｋ２０に基づき符号化して、符号化情報ｄ６２を生成する。なお、このとき判定部１５６は、ユーザ端末２０の符号化処理部２５４と同様の符号化処理に基づき、符号化情報ｄ６２を生成する。
【０１７６】
判定部１５６は、生成した符号化情報ｄ６２と、取得した符号化情報ｄ５２とを比較し、一致する場合には、開発元識別情報が示す開発元が、事前申請された開発元であると認識する。
【０１７７】
（ステップＳ２１２）
開発元識別情報が示す開発元が事前申請された開発元であると認識したら、判定部１５６は、アクセス制御情報ｄ３０をアクセス制御部１６０に出力する。また、判定部１５６は、開発元識別情報が示す開発元が事前申請された開発元であると認識された認証情報のうち、少なくとも開発元識別情報（もしくは、当該開発元識別情報が示す開発元の情報）を、識別情報記憶部１０８に記憶させる。なお、このとき判定部１５６は、認証情報に含まれる一連の情報を識別情報記憶部１０８に記憶させてもよい。
【０１７８】
なお、開発元識別情報が示す開発元が事前申請された開発元であると認識できなかった場合には、判定部１５６は、ユーザ端末２０からのアクセスを拒否してもよい。この場合には、ユーザ端末２０側は、判定部１５６からのアクセス拒否に関する通知を受けて、アプリケーションｄ１０を終了させてもよい。また、他の一例として、判定部１５６は、開発元識別情報が示す開発元が事前申請された開発元であると認識できなかった場合には、事前申請を必要としないＡＰＩのみへのアクセスを許可したアクセス制御情報をアクセス制御部１６０に出力してもよい。
【０１７９】
また、判定部１５６は、開発元識別情報が示す開発元を示す情報、例えば、開発者名ｄ２０及び識別情報ｄ２２のうち少なくともいずれかを通知制御部１５８に出力してもよい。なお、以降では、判定部１５６は、開発者名ｄ２０及び識別情報ｄ２２の双方を通知制御部１５８に出力したものとして説明する。
【０１８０】
通知制御部１５８は、開発者名ｄ２０及び識別情報ｄ２２を判定部１５６から取得する。通知制御部１５８は、取得した開発者名ｄ２０及び識別情報ｄ２２、即ち、実行されたアプリケーションｄ１０の開発元を示す情報を識別可能に通知部１０６に通知させる。
【０１８１】
（ステップＳ２１４）
また、判定部１５６は、開発元識別情報が示す開発元が事前申請された開発元であることが判別されたことを、ユーザ端末２０に通知してもよい。この通知を受けて、ユーザ端末２０は、利用に関する事前申請を行ったＡＰＩの呼び出しを行えばよい。
【０１８２】
（ステップＳ２１６、Ｓ２１８）
アクセス制御部１６０は、判定部１５６からアクセス制御情報ｄ３０を取得する。アクセス制御部１６０は、ユーザ端末２０の実行部（図示しない）によりアプリケーションｄ１０が実行されＡＰＩが呼び出された場合には（ステップＳ２１６）、アクセス制御情報ｄ３０の内容に基づき、当該ＡＰＩの実行を許可または制限する（ステップＳ２１８）。
【０１８３】
具体的な一例として、呼び出されたＡＰＩが特に利用を制限されておらず、事前申請を必要としない場合には、アクセス制御部１６０は、当該ＡＰＩの実行を許可する。ＡＰＩの実行が許可されると、情報処理装置１０の実行部（図示しない）により、当該ＡＰＩが実行される。
【０１８４】
また、呼び出されたＡＰＩの利用が制限されており、アクセス制御情報ｄ３０により当該ＡＰＩの利用が許可されている場合には、アクセス制御部１６０は、当該ＡＰＩの実行を許可する。
【０１８５】
一方で、呼び出されたＡＰＩの利用が制限されており、アクセス制御情報ｄ３０により当該ＡＰＩの利用が許可されていない場合には、アクセス制御部１６０は、当該ＡＰＩの実行を制限または禁止する。このとき、アクセス制御部１６０は、呼び出されたＡＰＩの実行が許可されていない旨を、ユーザ端末２０に通知してもよい。
【０１８６】
以上のようにして、アクセス制御部１６０は、アクセス制御情報ｄ３０に基づきＡＰＩ群５０中の各ＡＰＩの実行を制御する。
【０１８７】
＜４．コンテンツの取得＞
次に、本実施形態に係る情報処理装置１０における、コンテンツの取得に係る処理について説明する。本実施形態に係る情報処理装置１０は、アプリケーション２５からＡＰＩ群５０中の各ＡＰＩへのアクセスを受けてコンテンツを取得した場合には、当該コンテンツに対して、事前申請された開発元であると判定された開発元識別情報が示す開発元の情報を関連付ける。このような構成により、本実施形態に係る情報処理システムは、例えば、アプリケーション２５が開発元を詐称することでＡＰＩが不正に利用された場合においても、コンテンツに関連付けられた開発元の情報に基づき当該詐称を検知する仕組みを提供する。
【０１８８】
そこで、以降では、図１２を参照しながら、特に情報処理装置１０側の構成に着目して説明する。図１２は、本実施形態に係る情報処理装置１０及びユーザ端末２０におけるコンテンツの取得に係る処理に着目した機能構成の一例を示したブロック図であり、その他の構成については記載を省略している。なお、ユーザ端末２０には、開発者ｕ５０のより開発されたアプリケーションｄ１０が、「アプリケーション２５」としてインストールされているものとして説明する。
【０１８９】
図１２に示すように、情報処理装置１０の処理実行部１７０は、制御部１７２と、コンテンツ処理部１７４と、暗号化処理部１７６とを含む。
【０１９０】
アプリケーション２５に定義された各処理のうち情報処理装置１０の制御に係る処理が処理実行部２６０により実行されると、処理実行部２６０により、当該制御を行うためのＡＰＩの呼出しが、情報処理装置１０に対して行われる。処理実行部２６０からのＡＰＩの呼出しが行われると、認証処理部１５０（具体的には、アクセス制御部１６０）により、対象となるＡＰＩのアクセス制御が行われる。このとき、前述した認証処理部１５０による認証処理により、アプリケーション２５の開発元が事前に申請された開発元であると判定されている場合には、認証処理部１５０は、呼出しが行われたＡＰＩの実行を、制御部１７２に対して許可する。
【０１９１】
制御部１７２は、認証処理部１５０の許可を受けて、処理実行部２６０から呼び出されたＡＰＩをＡＰＩ群５０の中から抽出し、抽出した当該ＡＰＩを実行する。このとき、制御部１７２は、ＡＰＩの実行結果を処理実行部２６０に返却してもよい。
【０１９２】
また、制御部１７２は、処理実行部２６０から呼出しが行われたＡＰＩの実行を受けて、コンテンツ取得部１９０にコンテンツを取得させてもよい。なお、このとき実行されるＡＰＩは、コンテンツの取得を行うための機能であってもよいし、コンテンツの取得自体ではなく、コンテンツを取得するための一連の処理の中で実行される機能であってもよい。当該ＡＰＩにより実現される機能の一例として、例えば、露光条件、ホワイトバランス、または露光感度等のようなコンテンツの取得に係る設定を行うための機能や、情報処理装置１０がサポートするＡＰＩの一覧のような管理情報を通知する機能等が挙げられる。
【０１９３】
制御部１７２は、呼出しが行われたＡＰＩの実行を受けてコンテンツ取得部１９０からコンテンツを取得した場合には、当該コンテンツをコンテンツ処理部１７４に出力し、当該コンテンツに対して開発元の情報の関連付けをコンテンツ処理部１７４に指示する。この応答として、制御部１７２は、開発元（即ち、事前に申請された開発元）の情報が関連付けられたコンテンツをコンテンツ処理部１７４から取得し、当該コンテンツを処理実行部２６０に出力してもよい。
【０１９４】
コンテンツ処理部１７４は、制御部１７２からコンテンツを取得すると、識別情報記憶部１０８に記憶された開発元識別情報、即ち、事前申請された開発元であることが確認された当該開発元を示す開発元識別情報を抽出する。そして、コンテンツ処理部１７４は、抽出した開発元識別情報、または、当該開発元識別情報が示す開発元の情報を、取得したコンテンツに関連付ける。なお、開発元識別情報が示す開発元の情報とは、当該開発元が識別可能に提示された情報であり、以降では単に「開発元情報」と記載する場合がある。
【０１９５】
また、抽出された開発元識別情報、または、当該開発元識別情報が示す開発元情報と、取得されたコンテンツとが関連付けられれば、その方法は特に限定されない。具体的な一例として、コンテンツ処理部１７４は、取得したコンテンツの属性情報として、開発元情報を当該コンテンツに付帯することで、コンテンツと開発元情報とを関連付けてもよい。また、他の一例として、コンテンツ処理部１７４は、コンテンツと、当該コンテンツとは異なるファイルに記録された開発元情報とを関連付けてもよい。なお、以降では、説明をわかりやすくするために、コンテンツ処理部１７４は、取得したコンテンツに対して、抽出した開発元識別情報が示す開発元情報を関連付けるものとして説明する。
【０１９６】
また、コンテンツ処理部１７４は、取得したコンテンツに対して、暗号化処理が施された開発元の情報（以降では「暗号化情報」と呼ぶ場合がある）を関連付けてもよい。この場合には、暗号化処理部１７６が、識別情報記憶部１０８に記憶された開発元識別情報を抽出し、抽出した開発元識別情報が示す開発元情報に対して暗号化処理を施すことで暗号化情報を生成する。そして、暗号化処理部１７６は、生成した暗号化情報をコンテンツ処理部１７４に出力する。コンテンツ処理部１７４は、暗号化処理部１７６から取得した暗号化情報をコンテンツに対して関連付ければよい。なお、暗号化処理部１７６は、開発元識別情報を暗号化することで暗号化情報を生成してもよいことは言うまでもない。
【０１９７】
なお、開発元の情報を暗号化するための鍵情報は、例えば、暗号化処理部１７６が読み出し可能な場所にあらかじめ記憶させておく。また、以降では、開発元の情報を暗号化するための鍵情報を、「鍵情報ｋ３０」と呼ぶ場合がある。
【０１９８】
また、暗号化情報を処理対象とする構成（詳細は後述するが、例えば、コンテンツ管理サーバ７０）は、鍵情報ｋ３０、または、鍵情報ｋ３０に対応した復号化のための鍵情報を読み出し可能に構成されていてもよいことは言うまでもない。
【０１９９】
このように、本実施形態に係る情報処理システムでは、取得したコンテンツに対して開発元情報を関連付けることで、コンテンツに関連付けられた当該開発元情報に基づき、開発元の詐称によるＡＰＩの不正利用を検出する仕組みを提供する。なお、開発元情報と、取得されたコンテンツとを関連付ける方法の具体例と、当該開発元情報に基づきＡＰＩの不正利用を検出する仕組みの詳細とについては、実施例として別途後述する。
【０２００】
また、制御部１７２は、開発元情報が関連付けられたコンテンツを、ユーザ端末２０（例えば、処理実行部２６０）に送信してもよい。また、情報処理装置１０が、コンテンツ管理サーバ７０と通信可能に構成されている場合には、制御部１７２は、開発元情報が関連付けられたコンテンツを、当該コンテンツ管理サーバ７０に送信（転送）してもよい。また、開発元情報が関連付けられたコンテンツは、コンテンツ記憶部１１０のような、情報処理装置１０に設けられた記憶媒体に記憶されてもよい。このとき、開発元情報が関連付けられたコンテンツをコンテンツ記憶部１１０に記憶させる主体は、制御部１７２であってもよいし、コンテンツ処理部１７４であってもよい。また、上述した、開発元情報が関連付けられたコンテンツをユーザ端末２０への送信に係る処理と、当該コンテンツをコンテンツ記憶部１１０に記憶させる処理とは、いずれかのみが実行されてもよいし、双方が実行されてもよいことは言うまでもない。
【０２０１】
なお、上述した、開発元の判定結果に基づき利用が制限されたＡＰＩへのアクセス制御が有効な期間については、情報処理装置１０は、あらかじめ設定されたルールに基づき管理すればよい。例えば、情報処理装置１０は、ユーザ端末２０との間のネットワークｎ１が有効な期間（即ち、コネクションが確立されている期間）のみ利用が制限されたＡＰＩへのアクセスを有効にし、ネットワークｎ１の切断以降は無効としてもよい。なお、当該ＡＰＩへのアクセスを無効とした以降に、再度当該ＡＰＩへのアクセスを求められた場合には、情報処理装置１０は、アプリケーションの開発元の判定を再度実行すればよい。
【０２０２】
また、情報処理装置１０は、利用が制限されたＡＰＩに対してアクセスするアプリケーションごとにセッションを発行し、当該セッションが有効な期間のみ、当該ＡＰＩへのアクセスを有効とし、セッションの切断以降は無効としてもよい。このような構成により、情報処理装置１０は、複数のアプリケーションから当該ＡＰＩに対してアクセスされた場合おいても、発行したセッションに基づきアプリケーションごとにアクセス制御を行うことが可能となる。
【０２０３】
なお、情報処理装置１０は、ＡＰＩへのアクセスを無効とした場合には、識別情報記憶部１０８に記憶された開発元識別情報を、例えば削除することで無効化してもよい。
【０２０４】
以上、図１２を参照しながら、本実施形態に係る情報処理装置１０における、コンテンツの取得に係る処理について説明した。次いで、以降では、本実施形態に係る情報処理装置１０の実施例として、開発元識別情報が示す開発元の情報と、取得されたコンテンツとを関連付ける方法の具体例と、当該開発元の情報に基づきＡＰＩの不正利用を検出する仕組みの詳細とについて説明する。
【０２０５】
＜５．実施例＞
［５．１．実施例１：コンテンツの属性情報として開発元情報を記録する例１］
まず、実施例１として、コンテンツに対し、属性情報として開発元情報及び暗号化情報を付帯した場合における、開発元の詐称に伴うＡＰＩの不正利用を検出する仕組みの一例について説明する。
【０２０６】
まず、図１３を参照する。図１３は、本実施形態に係る情報処理装置１０が生成するコンテンツｄ７０のデータの一例を示した図であり、当該コンテンツに対して属性情報を関連付けるためのヘッダのデータ構造の一例を示している。
【０２０７】
図１３に示すように、コンテンツｄ７０のヘッダには、ＩＦＤ（Image  File  Directory）と呼ばれる、各属性情報をタグ付けして記録するための領域が定義されている。例えば、「０ｔｈＩＦＤ」は、あらかじめ決められた種別の情報を記録するための領域である。０ｔｈＩＦＤには、例えば、コンテンツｄ７０の取得に使用されたソフトウェアの情報を記録するための「Software」タグが定義されている。変形例１に係る情報処理装置１０は、例えば、「Software」タグに開発元情報を記録する。
【０２０８】
また、コンテンツｄ７０のヘッダには、「ＥｘｉｆＩＦＤ」と呼ばれるＩＦＤが規定されている場合がある。「ＥｘｉｆＩＦＤ」は、ＥＸＩＦ（Exchangeable  image  file  format）と呼ばれるフォーマットに基づき規定されたＩＦＤであり、当該ＩＦＤ中には、「Makernote」と呼ばれるＩＦＤが規定されている。「MakerNote」は、コンテンツの取得元である情報処理装置１０のメーカーが、関連付けるタグを自由に定義できるＩＦＤの一例である。変形例１に係る情報処理装置１０は、例えば、「MakerNote」に「Encrypted  data」として示された暗号化情報を記録するＩＦＤを定義し、当該ＩＦＤの「Remote  application  developer  name」タグに、暗号化情報を記録する。
【０２０９】
このように、変形例１に係る情報処理装置１０（具体的には、コンテンツ処理部１７４）は、例えば、このSoftwareタグに開発元情報を記録し、Remote  application  developer  nameに暗号化情報を記録することで、コンテンツｄ７０に対して開発元情報を関連付ける。
【０２１０】
なお、０ｔｈＩＦＤに記録された情報は、例えば、ＯＳ（Operating  System）の機能により、コンテンツｄ７０に関する情報（プロパティ）として参照することが可能である。例えば、図１４は、コンテンツに関する情報の表示画面ｖ３０の一例であり、Ｗｉｎｄｏｗｓ（登録商標）の機能により、コンテンツのプロパティを表示した場合の表示例を示している。図１４に示すように、表示画面ｖ３０には、０ｔｈＩＦＤのSoftwareタグに記録された開発元情報が、プログラム名ｖ３２として表示されている。これにより、例えば、ユーザ端末２０のユーザｕ２０は、コンテンツｄ７０の取得に利用したアプリケーションの開発元を確認することが可能である。
【０２１１】
一方で、０ｔｈＩＦＤに記録された情報は、例えば、アプリケーションの処理により改変することが可能である。そのため、例えば、ユーザ端末２０で実行されたアプリケーションが、開発元を詐称することで不正にＡＰＩを利用してコンテンツを取得した場合に、当該コンテンツのSoftwareタグに記録された開発元情報を改変することで、不正利用を隠蔽する場合が考えられる。
【０２１２】
ここで、図１５を参照する。図１５は、実施例１に係る情報処理システムの概要について説明するための図であり、Softwareタグに記録された開発元情報が改変される場合の一例について示している。なお、図１５に示す例は、情報処理装置１０が、画像データをコンテンツｄ７０として取得する、所謂デジタルカメラとして構成された場合を示している。
【０２１３】
例えば、ユーザ端末２０において、ＡＰＩの利用が許可されていない開発元「ＹＹＹＹＹ」のアプリケーションが、ＡＰＩの利用が許可された開発元「ＸＸＸＸＸ」に詐称することで、情報処理装置１０にコンテンツｄ７０を取得させたとする。この場合には、情報処理装置１０からユーザ端末２０に送信されたコンテンツｄ７０には、画像ｄ７２と、開発元が「ＸＸＸＸＸ」であることを示す開発元情報ｄ７４と、開発元情報ｄ７４を暗号化した暗号化情報ｄ７６とが含まれている。
【０２１４】
この情報処理装置１０から送信されたコンテンツｄ７０に対して、開発元「ＹＹＹＹＹ」のアプリケーションが、開発元「ＸＸＸＸＸ」を示す開発元情報ｄ７４を、開発元「ＹＹＹＹＹ」を示す開発元情報ｄ７４ａに改変したとする。この場合には、例えば、図１４に示す画面ｖ３０のプログラム名ｖ３２には、開発元「ＹＹＹＹＹ」の開発元情報が表示されることになる。そのため、ユーザ端末２０のユーザｕ２０は、当該アプリケーションがＡＰＩを不正に利用するアプリケーションであると気付かずに使用し続けてしまう可能性がある。
【０２１５】
そこで、変形例１に係る情報処理システムでは、例えば、当該コンテンツがコンテンツ管理サーバ７０にアップロード（即ち、送信または転送）された場合に、ＡＰＩが不正に利用されていることを、当該コンテンツ管理サーバ７０で検出する。以下に、図１６〜図１８を参照しながら、コンテンツ管理サーバ７０の動作について説明する。
【０２１６】
まず、図１６を参照する。図１６は、ユーザ端末２０からコンテンツ管理サーバ７０に、ネットワークｎ１を介してコンテンツがアップロードされる場合に着目した場合における、概略的なシステム構成を示している。具体的には、図１６に示す例では、開発元「ＸＸＸＸＸ」を示す開発元情報ｄ７４が、開発元「ＹＹＹＹＹ」を示す開発元情報ｄ７４ａに詐称されたコンテンツｄ７０ａがコンテンツ管理サーバ７０にアップロードされた場合を示している。なお、コンテンツ管理サーバ７０の各構成のうち、ユーザ端末２０からコンテンツｄ７０を取得する構成が「コンテンツ取得部」の一例に相当する。
【０２１７】
変形例１に係るコンテンツ管理サーバ７０は、ユーザ端末２０から取得したコンテンツｄ７０に付帯された開発元情報ｄ７４と暗号化情報ｄ７６とを比較し、開発元情報ｄ７４が改変されているか否かを判定する。なお、コンテンツ管理サーバ７０の各構成のうち、コンテンツｄ７０に付帯された開発元情報ｄ７４と暗号化情報ｄ７６とを比較することで、開発元情報ｄ７４が改変されているか否かを判定する構成が「判定部」の一例に相当する。
【０２１８】
具体的には、コンテンツ管理サーバ７０に、暗号化情報ｄ７６を復号するための鍵情報、即ち、暗号化情報ｄ７６の生成に用いられた鍵情報ｋ３０に対応した復号化のための鍵情報をあらかじめ記憶させておく。そして、コンテンツ管理サーバ７０は、当該復号化のための鍵情報に基づき暗号化情報ｄ７６を復号し、復号された開発元情報を、コンテンツｄ７０に付帯された開発元情報ｄ７４と比較する。このとき、コンテンツｄ７０に付帯された開発元情報ｄ７４が改変されている場合（即ち、改変された開発元情報ｄ７４ａが付帯されている場合）には、比較結果が不一致となる。
【０２１９】
また、他の一例として、コンテンツ管理サーバ７０に、暗号化情報ｄ７６の生成に用いられた鍵情報ｋ３０をあらかじめ記憶させておいてもよい。この場合には、コンテンツ管理サーバ７０は、コンテンツｄ７０に付帯された開発元情報ｄ７４を鍵情報ｋ３０に基づき暗号化し、暗号化された開発元情報ｄ７４を、暗号化情報ｄ７６と比較すればよい。このとき、コンテンツｄ７０に付帯された開発元情報ｄ７４が改変されている場合には、比較結果が不一致となる。
【０２２０】
以上のようにして、コンテンツ管理サーバ７０は、コンテンツｄ７０に付帯された開発元情報ｄ７４と暗号化情報ｄ７６との比較結果に基づき、開発元情報ｄ７４の改変、ひいては、開発元の詐称によるＡＰＩの不正利用を検出することが可能となる。
【０２２１】
また、開発元の詐称によるＡＰＩの不正利用を検出した場合には、コンテンツ管理サーバ７０は、当該コンテンツｄ７０の取得に用いられたアプリケーションが不正なアプリケーションである旨を、ユーザ端末２０を介してユーザｕ２０に通知してもよい。
【０２２２】
例えば、図１７に示す例では、ユーザ端末２０は、コンテンツｄ７０ａのアップロードに対する応答として通知された内容を、メッセージｖ４０としてユーザｕ２０に提示している。これにより、ユーザｕ２０は、コンテンツ管理サーバ７０にアップロードしたコンテンツｄ７０ａの取得に使用したアプリケーションが、不正なアプリケーションであることを認識することが可能となる。
【０２２３】
また、他の一例として、コンテンツ管理サーバ７０は、開発元の詐称によるＡＰＩの不正利用を検出した場合に、改変された開発元情報ｄ７４ａに示された開発元を記録及び管理してもよい。
【０２２４】
例えば、図１８に示す例では、コンテンツ管理サーバ７０は、改変された開発元情報ｄ７４ａに示された開発元「ＹＹＹＹＹ」を、ブラックリストｄ８０に記録することで管理している。このような構成により、例えば、コンテンツ管理サーバ７０の管理者（もしくは、カメラメーカーの関係者）は、ブラックリストｄ８０を参照することで、開発元情報ｄ７４を詐称した開発者、即ち、開発元の詐称によりＡＰＩを不正利用した開発元を特定することが可能となる。
【０２２５】
また、他の一例として、コンテンツ管理サーバ７０は、ユーザｕ２０が、コンテンツ管理サーバ７０にアクセスすることで、コンテンツ管理サーバ７０に記憶されたコンテンツｄ７０を参照した場合に、暗号化情報ｄ７６中に示された開発元情報を提示してもよい。
【０２２６】
例えば、図１９は、ユーザｕ２０が、ユーザ端末２０上でブラウザを起動し、当該ブラウザを介して、コンテンツ管理サーバ７０に記憶されたコンテンツｄ７０ａを参照した場合の例を示している。図１９に示す例では、コンテンツ管理サーバ７０は、コンテンツｄ７０ａ中の暗号化情報ｄ７６を復号し、復号された開発元情報を、当該コンテンツｄ７０ａ中の画像ｄ７２と共にユーザ端末２０に通知している。参照符号ｖ４２は、コンテンツ管理サーバ７０からユーザ端末２０に通知された開発元情報、即ち、暗号化情報ｄ７６から復号された開発元情報を示している。
【０２２７】
ここで、暗号化情報ｄ７６中に示された開発元情報は、暗号化の際に使用された鍵情報ｋ３０、及び、当該鍵情報ｋ３０に対応した復号化のための鍵情報を有する構成でなければ改変することが困難である。即ち、コンテンツｄ７０に付帯された開発元情報ｄ７４が改変された場合においても、コンテンツ管理サーバ７０により、暗号化情報ｄ７６中に示された開発元情報として、改変前の開発元情報ｄ７４が提示されることとなる。
【０２２８】
そのため、開発元情報ｄ７４が改変されている場合には、ユーザｕ２０は、ユーザ端末２０に記憶されたコンテンツｄ７０の開発元情報ｄ７４ａと、コンテンツ管理サーバ７０により提示される開発元情報とが異なることを認識することが可能となる。即ち、ユーザｕ２０は、コンテンツ管理サーバ７０により提示される開発元情報に基づき、コンテンツ管理サーバ７０にアップロードしたコンテンツｄ７０ａの取得に使用したアプリケーションが、不正なアプリケーションであることを認識することが可能となる。
【０２２９】
次に、図２０を参照しながら、変形例１に係る情報処理システムの一連の動作の流れについて説明する。図２０は、実施例１に係る情報処理システムの一連の動作の一例を示したシーケンス図である。なお、図２０に示す例では、ユーザ端末２０にインストールされたアプリケーションｄ１０が実行されることで、情報処理装置１０内のＡＰＩが利用され、当該情報処理装置１０により画像データがコンテンツとして取得される場合を示している。
【０２３０】
（ステップＳ３０２、Ｓ３０４）
ユーザ端末２０においてアプリケーションｄ１０が実行されると、まず、情報処理装置１０において、開発元の認証に係る処理が実行される。即ち、情報処理装置１０により、当該アプリケーションｄ１０の開発元が、事前申請された開発元か否かが判定され、判定結果に基づき当該情報処理装置１０内のＡＰＩへのアクセスが制御される。また、このとき、情報処理装置１０は、事前申請された開発元であると判定された開発元の開発元識別情報を記憶する。なお、開発元の認証に係る処理については、図１１に基づき前述した内容と同様のため、詳細な説明は省略する。
【０２３１】
（ステップＳ３０６）
開発元の認証に係る処理が完了し利用が制限されたＡＰＩへのアクセスが許可されると、ユーザ端末２０は、許可されたＡＰＩにアクセスすることで、情報処理装置１０の動作を制御する。ここでは、ユーザ端末２０は、利用が制限されたＡＰＩにアクセスすることで情報処理装置１０に対して画像の撮影を指示したものとして説明する。
【０２３２】
（ステップＳ３０８）
アプリケーションｄ１０の実行に基づき、ユーザ端末２０から画像の撮影に係る指示を受けると、情報処理装置１０は、画像ｄ７２を撮像し、撮像された画像ｄ７２に基づき画像データ（即ち、コンテンツ）ｄ７０を生成する。
【０２３３】
また、情報処理装置１０は、開発元の認証時に記憶した開発元識別情報が示す開発元情報ｄ７４を暗号化することで暗号化情報ｄ７６を生成する。そして、情報処理装置１０は、開発元情報ｄ７４と暗号化情報ｄ７６とを、属性情報として画像データｄ７０に付帯する。
【０２３４】
（ステップＳ３１０）
情報処理装置１０は、開発元情報ｄ７４と暗号化情報ｄ７６とが付帯された画像データｄ７０を、ユーザ端末２０に出力する。
【０２３５】
（ステップＳ３９９）
ここで、アプリケーションｄ１０が、開発元を詐称して情報処理装置１０のＡＰＩにアクセスしたものとし、当該アプリケーションｄ１０の処理により、画像データｄ７０中の開発元情報ｄ７４が、開発元情報ｄ７４ａに改変されたものとする。なお、開発元情報ｄ７４が開発元情報ｄ７４ａに改変された画像データｄ７０を、以降では、「画像データｄ７０ａ」と記載する場合がある。
【０２３６】
（ステップＳ３１２）
ユーザ端末２０は、アプリケーションｄ１０の実行に基づき、情報処理装置１０から取得した画像データｄ７０をコンテンツ管理サーバ７０にアップロードする。ここでは、アプリケーションｄ１０により、画像データｄ７０中の開発元情報ｄ７４が開発元情報ｄ７４ａに改変された画像データｄ７０ａが、コンテンツ管理サーバ７０にアップロードされたものとして説明する。
【０２３７】
（ステップＳ３１４）
コンテンツ管理サーバ７０は、ユーザ端末２０から画像データｄ７０ａを取得すると、あらかじめ記憶された鍵情報を基に、画像データｄ７０ａに付帯された開発元情報ｄ７４ａと、暗号化情報ｄ７６とを比較する。このとき、暗号化情報ｄ７６は改変前の開発元情報ｄ７４に基づき生成されているため、改変後の開発元情報ｄ７４ａとの比較結果は不一致となり、コンテンツ管理サーバ７０は、当該比較結果に基づき、開発元の詐称によるＡＰＩの不正利用を検出する。
【０２３８】
（ステップＳ３１６）
開発元の詐称によるＡＰＩの不正利用を検出した場合には、コンテンツ管理サーバ７０は、当該コンテンツｄ７０の取得に用いられたアプリケーションが不正なアプリケーションである旨を、ユーザ端末２０を介してユーザｕ２０に通知する。これにより、ユーザｕ２０は、コンテンツ管理サーバ７０にアップロードしたコンテンツｄ７０ａの取得に使用したアプリケーションが、不正なアプリケーションであることを認識することが可能となる。
【０２３９】
また、コンテンツ管理サーバ７０は、開発元の詐称によるＡＰＩの不正利用を検出した場合に、改変された開発元情報ｄ７４ａに示された開発元を、ブラックリストｄ８０に記録することで管理してもよい。このような構成により、例えば、コンテンツ管理サーバ７０の管理者（もしくは、カメラメーカーの関係者）は、ブラックリストｄ８０を参照することで、開発元情報ｄ７４を詐称した開発者、即ち、開発元の詐称によりＡＰＩを不正利用した開発元を特定することが可能となる。
【０２４０】
以上説明したように、変形例１に係る情報処理システムでは、情報処理装置１０は、取得したコンテンツに対して、事前申請された開発元であると判定された開発元の開発元情報と、当該開発元情報を暗号化した暗号化情報とを属性情報として付帯する。このとき、暗号化情報中に示された開発元情報は、暗号化の際に使用された鍵情報、及び、当該鍵情報に対応した復号化のための鍵情報を有する構成でなければ改変することが困難である。そのため、変形例１に係る情報処理システムに依れば、コンテンツに付帯された開発元情報が改変された場合においても、暗号化情報との比較に基づき、当該開発元情報の改変、ひいては、開発元の詐称によるＡＰＩの不正利用を検出することが可能となる。
【０２４１】
なお、上記に示す例では、コンテンツ管理サーバ７０が開発元の詐称によるＡＰＩの不正利用を検出する例について説明したが、当該検出に係る処理の主体は、必ずしもコンテンツ管理サーバ７０には限定されない。なお、コンテンツ管理サーバ７０以外の構成により、開発元の詐称によるＡＰＩの不正利用を検出する場合には、当該構成に、暗号化情報を処理するための鍵情報（即ち、鍵情報ｋ３０、もしくは、当該鍵情報ｋ３０に対応した復号化のための鍵情報）を記憶させておく必要があることは言うまでもない。
【０２４２】
［５．２．実施例２：コンテンツの属性情報として開発元情報を記録する例２］
次に、実施例２に係る情報処理システムについて説明する。前述した実施例１では、コンテンツに対して、開発元情報及び暗号化情報を属性情報として付帯することで、開発元の詐称に伴うＡＰＩの不正利用を検出する仕組みの一例について説明した。実施例２では、コンテンツに対して、開発元情報のみを属性情報として付帯した場合（即ち、暗号化情報を付帯しない場合）において、開発元の詐称に伴うＡＰＩの不正利用を検出する仕組みの一例について説明する。以下に、図２１を参照しながら、実施例２に係る情報処理システムの概要について説明する。
【０２４３】
図２１は、ユーザ端末２０におけるアプリケーションの実行に基づき情報処理装置１０で取得されたコンテンツｄ７０が、ユーザ端末２０と、当該ユーザ端末２０とは異なる端末６０とのそれぞれからコンテンツ管理サーバ７０にアップロードされる例を示している。なお、端末６０は、ＰＣ（Personal  Computer）等のような、ユーザ端末２０とは異なる端末を示している。
【０２４４】
端末６０は、例えば、情報処理装置１０で可搬媒体に記録されたコンテンツｄ７０を、当該可搬媒体から読み出すことで取得し、取得したコンテンツｄ７０をコンテンツ管理サーバ７０にネットワークｎ０を介してアップロードする。また、情報処理装置１０がネットワークｎ０にアクセス可能な場合には、当該情報処理装置１０自身が、コンテンツ管理サーバ７０へのコンテンツｄ７０のアップロードを行ってもよい。
【０２４５】
コンテンツ管理サーバ７０は、例えば、端末６０からコンテンツｄ７０を取得すると、当該コンテンツｄ７０に含まれる画像ｄ７２と、同じ画像を含むコンテンツを既に取得している否かを確認する。
【０２４６】
ここで、ユーザ端末２０において、アプリケーションにより、コンテンツｄ７０における開発元情報ｄ７４が開発元情報ｄ７４ａに改変され、改変後のコンテンツｄ７０ａが、ユーザ端末２０からコンテンツ管理サーバ７０にアップロードされているものとする。この場合には、コンテンツ管理サーバ７０は、コンテンツｄ７０ａを抽出し、抽出したコンテンツｄ７０ａと、端末６０から取得したコンテンツｄ７０との間で、属性情報として付帯された開発元情報を比較する。
【０２４７】
このとき、図２１の例のように、ユーザ端末２０において、アプリケーションにより開発元情報ｄ７４が開発元情報ｄ７４ａに改変されている場合には、コンテンツ管理サーバ７０による開発元情報の比較において、比較結果が不一致となる。
【０２４８】
即ち、開発元情報の比較結果が不一致となった場合には、少なくとも比較対象であるコンテンツｄ７０及びｄ７０ａのうちのいずれかにおいて、開発元情報ｄ７４が改変されていることとなる。そのため、開発元情報の比較結果が不一致となった場合には、コンテンツ管理サーバ７０は、画像ｄ７２の取得時に、開発元の詐称によるＡＰＩの不正利用が行われた可能性があると認識することが可能となる。
【０２４９】
なお、開発元情報の比較結果が不一致となった場合には、コンテンツ管理サーバ７０は、比較対象であるコンテンツｄ７０及びｄ７０ａの送信元（即ち、端末６０及びユーザ端末２０）のいずれかもしくは双方に、不正なアプリケーションによりコンテンツが取得された可能性がある旨を通知してもよい。
【０２５０】
以上説明したように、変形例２に係る情報処理システムでは、コンテンツ管理サーバ７０は、既に取得しているコンテンツと同じ画像ｄ７２を含むコンテンツｄ７０を取得した場合には、当該コンテンツ間で開発元情報の比較を行う。このとき、開発元情報の比較結果が不一致となった場合には、比較対象となるコンテンツのうち少なくともいずれかの開発元情報が改変されていることとなる。そのため、変形例２に係る情報処理システムに依れば、同じ画像を含む異なるコンテンツ間で開発元情報を比較することで、当該開発元情報の改変、ひいては、開発元の詐称によるＡＰＩの不正利用を検出することが可能となる。
【０２５１】
なお、上記に示す例では、コンテンツｄ７０が、画像ｄ７２を含む画像データの場合を例に説明したが、画像ｄ７２のようにコンテンツの実データが比較可能なものであれば、コンテンツｄ７０の種別は、上記に示すような画像データには限定されない。例えば、コンテンツｄ７０は、音声情報を含む実データとして含む音声データであってもよい。
【０２５２】
［５．３．実施例３：プレビュー画像上へ開発元情報を重畳させる例］
次に、実施例３として、画像データの取得に際し、プレビュー画像をコンテンツとして取得し、当該プレビュー画像上に開発元情報を重畳表示させることで、開発元の詐称に伴うＡＰＩの不正利用を検出する仕組みの一例について説明する。例えば、図２２は、実施例３に係る情報処理システムの概要について説明するための図である。なお、本説明において、「プレビュー画像」とは、例えば、リアルタイムに更新されるライブビュー画像のように、ユーザからの撮像指示に基づき撮像される画像データとは別に取得または生成される画像を示している。
【０２５３】
図２２に示すように、実施例３に係る情報処理システムでは、情報処理装置１０は、画像ｄ７２の撮像に際し、ユーザ端末２０からプレビュー画像の表示に係る指示を受けると、生成したプレビュー画像ｄ７８に対して開発元情報を重畳させる。これにより、ユーザｕ２０は、情報処理装置１０においてＡＰＩの利用に際し判定が行われた開発元の情報を、ユーザ端末２０の表示部２０６に表示されたプレビュー画像ｖ４４を介して確認することが可能となる。
【０２５４】
なお、情報処理装置１０は、プレビュー画像ｄ７８に対して開発元情報を重畳する位置や時間をランダムに変更してもよい。
【０２５５】
次に、図２３を参照しながら、実施例３に係る情報処理システムの一連の動作の流れについて説明する。図２３は、実施例３に係る情報処理システムの一連の動作の一例を示したシーケンス図である。なお、図２３に示す例では、ユーザ端末２０にインストールされたアプリケーションｄ１０が実行されることで、情報処理装置１０内のＡＰＩが利用され、当該情報処理装置１０によりプレビュー画像がコンテンツとして取得される場合を示している。
【０２５６】
（ステップＳ４０２、Ｓ４０４）
ユーザ端末２０においてアプリケーションｄ１０が実行されると、まず、情報処理装置１０において、開発元の認証に係る処理が実行される。即ち、情報処理装置１０により、当該アプリケーションｄ１０の開発元が、事前申請された開発元か否かが判定され、判定結果に基づき当該情報処理装置１０内のＡＰＩへのアクセスが制御される。また、このとき、情報処理装置１０は、事前申請された開発元であると判定された開発元の開発元識別情報を記憶する。なお、開発元の認証に係る処理については、図１１に基づき前述した内容と同様のため、詳細な説明は省略する。
【０２５７】
（ステップＳ４０６）
開発元の認証に係る処理が完了し利用が制限されたＡＰＩへのアクセスが許可されると、ユーザ端末２０は、許可されたＡＰＩにアクセスすることで、情報処理装置１０の動作を制御する。ここでは、ユーザ端末２０は、利用が制限されたＡＰＩにアクセスすることで情報処理装置１０に対してプレビュー画像の提示を指示したものとして説明する。
【０２５８】
（ステップＳ４０８）
アプリケーションｄ１０の実行に基づき、ユーザ端末２０からプレビュー画像の提示に係る指示を受けると、情報処理装置１０は、プレビュー画像ｄ７８を撮像する。なお、このとき、情報処理装置１０は、画像ｄ７２を撮像し、撮像された画像ｄ７２に基づきプレビュー画像ｄ７８を生成してもよい。
【０２５９】
（ステップＳ４１０）
次いで、情報処理装置１０は、開発元の認証時に記憶した開発元識別情報を抽出し、抽出した開発元識別情報が示す開発元情報を、生成したプレビュー画像ｄ７８に重畳させる。
【０２６０】
（ステップＳ４１２）
そして、情報処理装置１０は、開発元情報が重畳されたプレビュー画像ｄ７８をユーザ端末２０に出力する。なお、このとき、情報処理装置１０は、プレビュー画像ｄ７８に対して開発元情報を重畳する位置や時間をランダムに変更してもよい。
【０２６１】
（ステップＳ４１４）
ユーザ端末２０は、プレビュー画像の提示に係る指示に対する応答として、情報処理装置１０からプレビュー画像ｄ７８を取得し、取得したプレビュー画像ｄ７８を表示部２０６（例えば、ディスプレイ）に表示させる。これにより、ユーザｕ２０は、情報処理装置１０においてＡＰＩの利用に際し判定が行われた開発元（即ち、事前に申請された開発元）の情報を、ユーザ端末２０に表示されたプレビュー画像ｖ４４を介して確認することが可能となる。
【０２６２】
以上説明したように、実施例３に係る情報処理システムでは、情報処理装置１０は、生成したプレビュー画像に対して開発元情報を重畳させる。これにより、ユーザｕ２０は、情報処理装置１０においてＡＰＩの利用に際し判定が行われた開発元の情報を、ユーザ端末２０の表示部２０６に表示されたプレビュー画像を介して確認することが可能となる。
【０２６３】
ここで、ユーザ端末２０にインストールされたアプリケーションが、開発元を詐称することで不正にＡＰＩを利用していた場合には、ユーザｕ２０は、当該アプリケーションのダウンロード時に示される開発元と異なる開発元の情報を確認することとなる。即ち、実施例３に係る情報処理システムでは、このような仕組みを利用して、開発元の詐称によりＡＰＩが不正利用されていたとしても、アプリケーションを利用するユーザに開発元が詐称されていることを気付かせることが可能となる。
【０２６４】
なお、実施例３に係る情報処理システムでは、前述したように情報処理装置１０側で、プレビュー画像に対して開発元情報を重畳させる。このような構成により、実施例３に係る情報処理システムでは、アプリケーション側でプレビュー画像に重畳された開発元情報を改変するためには、例えば、プレビュー画像に対して画像処理を施す必要があるため、当該開発元情報の改変が困難である。
【０２６５】
また、情報処理装置１０側において、プレビュー画像に対して開発元情報を重畳する位置や時間が変更された場合には、アプリケーション側では、開発元情報が重畳された位置や時間を特定することが実質的に困難である。そのため、実施例３に係る情報処理システムにおいては、アプリケーション側でプレビュー画像に重畳された開発元情報を改変することは極めて困難である。以上説明したような仕組みを利用して、実施例３に係る情報処理システムは、開発元の詐称に伴うＡＰＩの不正利用を検出、ひいては、抑止することが可能となる。
【０２６６】
［５．４．実施例４：実画像上へ開発元情報を重畳する例］
次に、実施例４に係る情報処理システムについて説明する。実施例３に係る情報処理システムでは、プレビュー画像をコンテンツとして取得し、当該プレビュー画像上に開発元情報を重畳表示させていた。実施例４に係る情報処理システムでは、撮像される画像（即ち、実画像）をコンテンツとして、当該実画像に開発元情報を重畳表示させることで、開発元の詐称に伴うＡＰＩの不正利用を検出する仕組みの一例について説明する。例えば、図２４は、実施例４に係る情報処理システムの概要について説明するための図である。
【０２６７】
図２４に示すように、実施例４に係る情報処理システムでは、情報処理装置１０は、ユーザ端末２０から画像ｄ７２の撮像に係る指示を受けると、撮像した画像ｄ７２（即ち、実画像）に対して開発元情報を重畳させる。そして、情報処理装置１０は、開発元情報が重畳された画像ｄ７２（以降では、「画像ｄ７２ｂ」と記載する場合がある）をユーザ端末２０に出力する。このような構成により、ユーザｕ２０は、取得した画像ｄ７２ｂを参照することで、情報処理装置１０においてＡＰＩの利用に際し判定が行われた開発元の情報を、例えば、ユーザ端末２０の表示部２０６に表示された画像ｖ４６を介して確認することが可能となる。
【０２６８】
なお、情報処理装置１０は、開発元情報が重畳された画像ｄ７２ｂを、コンテンツ記憶部１１０（例えば、可搬媒体等）に記憶してもよい。
【０２６９】
また、画像ｄ７２は、静止画に限らず動画であってもよい。画像ｄ７２を動画として取得する場合には、情報処理装置１０は、例えば、当該動画を構成するフレームのうち、一部のフレーム（例えば、最後のフレーム）に開発元情報を重畳させてもよい。
【０２７０】
次に、図２５を参照しながら、実施例４に係る情報処理システムの一連の動作の流れについて説明する。図２５は、実施例４に係る情報処理システムの一連の動作の一例を示したシーケンス図である。なお、図２５に示す例では、ユーザ端末２０にインストールされたアプリケーションｄ１０が実行されることで、情報処理装置１０内のＡＰＩが利用され、当該情報処理装置１０により画像（実画像）がコンテンツとして取得される場合を示している。
【０２７１】
（ステップＳ５０２、Ｓ５０４）
ユーザ端末２０においてアプリケーションｄ１０が実行されると、まず、情報処理装置１０において、開発元の認証に係る処理が実行される。なお、当該開発元の認証に係る動作は、前述した実施例３（図２３参照）と同様ため、詳細な説明は省略する。
【０２７２】
（ステップＳ５０６）
開発元の認証に係る処理が完了し利用が制限されたＡＰＩへのアクセスが許可されると、ユーザ端末２０は、許可されたＡＰＩにアクセスすることで、情報処理装置１０の動作を制御する。ここでは、ユーザ端末２０は、利用が制限されたＡＰＩにアクセスすることで情報処理装置１０に対して画像の撮影を指示したものとして説明する。
【０２７３】
（ステップＳ４０８）
アプリケーションｄ１０の実行に基づき、ユーザ端末２０から画像の撮影に係る指示を受けると、情報処理装置１０は、画像ｄ７２を撮像する。
【０２７４】
（ステップＳ４１０）
次いで、情報処理装置１０は、開発元の認証時に記憶した開発元識別情報を抽出し、抽出した開発元識別情報が示す開発元情報を、撮像した画像ｄ７２に重畳させる。
【０２７５】
（ステップＳ４１２）
そして、情報処理装置１０は、開発元情報が重畳された画像ｄ７２ｂをユーザ端末２０に出力する。なお、このとき、情報処理装置１０は、画像ｄ７２ｂをコンテンツ記憶部１１０（例えば、可搬媒体等）に記憶してもよい。
【０２７６】
このような構成により、ユーザｕ２０は、取得した画像ｄ７２ｂを参照することで、情報処理装置１０においてＡＰＩの利用に際し判定が行われた開発元の情報を、例えば、ユーザ端末２０の表示部２０６に表示された画像ｖ４６を介して確認することが可能となる。
【０２７７】
以上説明したように、実施例４に係る情報処理システムでは、情報処理装置１０は、撮像した画像に対して開発元情報を重畳させる。これにより、ユーザｕ２０は、情報処理装置１０においてＡＰＩの利用に際し判定が行われた開発元の情報を、例えば、ユーザ端末２０の表示部２０６に表示された画像を介して確認することが可能となる。
【０２７８】
ここで、ユーザ端末２０にインストールされたアプリケーションが、開発元を詐称することで不正にＡＰＩを利用していた場合には、ユーザｕ２０は、当該アプリケーションのダウンロード時に示される開発元と異なる開発元の情報を確認することとなる。即ち、実施例４に係る情報処理システムでは、このような仕組みを利用して、開発元の詐称によりＡＰＩが不正利用されていたとしても、アプリケーションを利用するユーザに開発元が詐称されていることを気付かせることが可能となる。
【０２７９】
なお、実施例４に係る情報処理システムでは、前述したように情報処理装置１０側で、画像に対して開発元情報を重畳させる。このような構成により、実施例４に係る情報処理システでは、実施例３の場合と同様に、アプリケーション側で画像に重畳された開発元情報を改変するためには、例えば、画像に対して画像処理を施す必要があるため、当該開発元情報の改変が困難である。以上説明したような仕組みを利用して、実施例４に係る情報処理システムは、開発元の詐称に伴うＡＰＩの不正利用を検出、ひいては、抑止することが可能となる。
【０２８０】
［５．５．実施例５：履歴情報として開発元情報を記録する例］
次に、実施例５として、取得されたコンテンツに対して、当該コンテンツの取得や、情報処理装置１０とユーザ端末２０との間の接続に関する履歴情報を関連付けることで、開発元の詐称に伴うＡＰＩの不正利用を検出する仕組みの一例について説明する。例えば、図２６は、実施例５に係る情報処理システムの概要について説明するための図である。なお、図２６に示す例は、画像ｄ７２をコンテンツとして取得する場合について示している。
【０２８１】
図２６に示すように、実施例５に係る情報処理システムでは、情報処理装置１０は、ユーザ端末２０にインストールされたアプリケーションの指示に基づく画像ｄ７２の撮像に際し、各処理の履歴情報を、例えば、管理データｄ９０に記録する。このとき、情報処理装置１０は、管理データｄ９０に記録する履歴情報に対し、事前申請された開発元であることが確認された開発元情報を埋め込む。また、情報処理装置１０は、画像ｄ７２の取得に関する履歴情報に対し、当該画像ｄ７２を示す情報（例えば、識別情報）をあわせて埋め込んでもよい。
【０２８２】
このような構成により、例えば、参照符号ｖ４８で示すように、情報処理装置１０で撮像された画像ｄ７２をユーザ端末２０に送信し、当該ユーザ端末２０の表示部２０６に表示させた場合においても、管理データｄ９０自体は情報処理装置１０側で管理される。そのため、例えば、ユーザ端末２０側のアプリケーションにより、画像ｄ７２に関連付けられた開発元情報が改変されたとしても、管理データｄ９０を参照することで、ＡＰＩのアクセスに利用された開発元（即ち、事前申請された開発元）を確認することが可能となる。
【０２８３】
次に、図２７を参照しながら、実施例５に係る情報処理システムの一連の動作の流れについて説明する。図２７は、実施例５に係る情報処理システムの一連の動作の一例を示したシーケンス図である。なお、図２７に示す例では、ユーザ端末２０にインストールされたアプリケーションｄ１０が実行されることで、情報処理装置１０内のＡＰＩが利用され、当該情報処理装置１０により画像データがコンテンツとして取得される場合を示している。
【０２８４】
（ステップＳ６０２、Ｓ６０４）
ユーザ端末２０においてアプリケーションｄ１０が実行されると、まず、情報処理装置１０において、開発元の認証に係る処理が実行される。なお、当該開発元の認証に係る動作は、前述した実施例３（図２３参照）と同様ため、詳細な説明は省略する。
【０２８５】
（ステップＳ６０６）
開発元の認証に係る処理が完了すると、情報処理装置１０は、当該処理に関する履歴情報を生成し、当該履歴情報に、事前申請された開発元であることが確認された開発元情報を埋め込む。そして、情報処理装置１０は、開発元情報が埋め込まれた履歴情報を、管理データｄ９０に記録する。
【０２８６】
（ステップＳ６０８）
開発元の認証に係る処理が完了し利用が制限されたＡＰＩへのアクセスが許可されると、ユーザ端末２０は、許可されたＡＰＩにアクセスすることで、情報処理装置１０の動作を制御する。ここでは、ユーザ端末２０は、利用が制限されたＡＰＩにアクセスすることで情報処理装置１０に対して画像の撮影を指示したものとして説明する。
【０２８７】
（ステップＳ６１０）
アプリケーションｄ１０の実行に基づき、ユーザ端末２０から画像の撮影に係る指示を受けると、情報処理装置１０は、画像ｄ７２を撮像する。
【０２８８】
（ステップＳ６１２）
画像ｄ７２の撮像が完了すると、情報処理装置１０は、当該画像ｄ７２の撮像に関する履歴情報を生成し、当該履歴情報に、画像ｄ７２を示す情報と、事前申請された開発元であることが確認された開発元情報とを埋め込む。そして、情報処理装置１０は、開発元情報が埋め込まれた履歴情報を、管理データｄ９０に記録する。
【０２８９】
以上のようにして、撮像された画像ｄ７２と、管理データｄ９０に記録された履歴情報とが関連付けられる。
【０２９０】
なお、管理データｄ９０は、情報処理装置１０側で管理されるコンテンツとは異なるデータであり、かつ、当該コンテンツに関する情報が記録されるデータであれば、履歴情報を管理するためのデータには限定されない。
【０２９１】
以上説明したように、実施例５に係る情報処理システムでは、情報処理装置１０は、コンテンツの取得に係る処理の実行に際し、当該処理の履歴情報に事前申請された開発元であることが確認された開発元情報を埋め込み、管理データｄ９０に記録する。
【０２９２】
このような構成により、例えば、ユーザ端末２０側で、コンテンツに関連付けられた開発元情報が改変されたとしても、情報処理装置１０側に管理された管理データｄ９０を参照することで、ＡＰＩのアクセスに利用された開発元（即ち、事前申請された開発元）を確認することが可能となる。
【０２９３】
［５．６．実施例６：履歴情報として記録された開発元情報の表示例］
次に、情報処理装置１０に記録されたコンテンツをＰＣのような端末６０で参照する際に、実施例５で示した管理データｄ９０に記録された開発元情報をあわせて提示することで、開発元の詐称に伴うＡＰＩの不正利用を検出する仕組みの一例について説明する。例えば、図２８は、実施例５に係る情報処理システムの概要について説明するための図である。なお、図２８に示す例は、画像ｄ７２をコンテンツとして取得する場合について示している。
【０２９４】
図２８に示す例では、情報処理装置１０で取得された画像ｄ７２を端末６０に転送する際に、管理データｄ９０をあわせて転送する。なお、情報処理装置１０から端末６０への画像ｄ７２及び管理データｄ９０の転送は、例えば、ネットワークを介した通信により実現されてもよいし、可搬媒体を介したデータの移動により実現されてもよい。
【０２９５】
端末６０は、画像ｄ７２及び管理データｄ９０を取得すると、管理データｄ９０から画像ｄ７２の取得に関する履歴情報を特定し、特定した履歴情報に埋め込まれた開発元情報を抽出する。そして、端末６０は、参照符号ｖ８０で示すように、取得した画像ｄ７２に対して、履歴情報から抽出された開発元情報を関連付けて提示する。
【０２９６】
次に、図２９を参照しながら、実施例６に係る情報処理システムの一連の動作の流れについて説明する。図２９は、実施例６に係る情報処理システムの一連の動作の一例を示したシーケンス図である。なお、図２９に示す例では、ユーザ端末２０にインストールされたアプリケーションｄ１０が実行されることで、情報処理装置１０内のＡＰＩが利用されて当該情報処理装置１０により取得された画像を、端末６０側で表示させる場合について示している。
【０２９７】
（ステップＳ７０２、Ｓ７０４）
端末６０から、履歴情報が記録された管理データｄ９０の送信が要求されると（ステップＳ７０２）、情報処理装置１０は、当該要求に基づき管理データｄ９０を端末６０に送信する（ステップＳ７０４）。
【０２９８】
（ステップＳ７０６、Ｓ７０８）
次いで、端末６０から、情報処理装置１０に記録された画像ｄ７２の送信が要求されると（ステップＳ７０６）、情報処理装置１０は、当該要求に基づき画像ｄ７２を端末６０に送信する（ステップＳ７０８）。
【０２９９】
（ステップＳ７１０）
端末６０は、画像ｄ７２及び管理データｄ９０を取得すると、管理データｄ９０から画像ｄ７２の取得に関する履歴情報を特定し、特定した履歴情報に埋め込まれた開発元情報を抽出する。そして、端末６０は、取得した画像ｄ７２に対して、履歴情報から抽出された開発元情報を関連付けて提示する。
【０３００】
なお、上記に示した一連の動作は、例えば、端末６０にインストールされたアプリケーション（例えば、情報処理装置１０のメーカーが提供するアプリケーション）により実現さ得る。
【０３０１】
以上、説明したように、実施例６に係る画像処理システムでは、情報処理装置１０で取得された画像ｄ７２を端末６０に転送する際に、当該画像ｄ７２の取得に係る履歴情報が記録された管理データｄ９０をあわせて転送する。そして、端末６０は、取得した画像ｄ７２と、管理データｄ９０に履歴情報として記録された開発元情報とを関連付けて提示する。
【０３０２】
このとき、提示される開発元情報は、情報処理装置１０側で管理された管理データｄ９０中に記録された情報であるため、ユーザ端末２０で動作するアプリケーションによる改変は困難である。即ち、実施例６に係る画像処理システムに依れば、ユーザｕ２０は、画像ｄ７２の取得に際し、ＡＰＩのアクセスに利用された開発元の情報（即ち、事前申請された開発元の情報）を確認することが可能となり、ひいては、開発元の詐称によるＡＰＩの不正利用を検出することが可能となる。
【０３０３】
［５．７．実施例７：複数のアプリケーションを動作させる場合の例］
次に、実施例７として、ユーザ端末２０側で動作する複数のアプリケーションのそれぞれから、情報処理装置１０内のＡＰＩに対してアクセスされる場合における動作の一例について、図３０を参照しながら説明する。図３０は、実施例７に係る情報処理システムの一連の動作の一例を示したシーケンス図であり、複数のアプリケーションそれぞれについて、情報処理装置１０とユーザ端末２０との間で暗号化通信を行う場合の一例について示している。
【０３０４】
なお、本説明では、図３０に示すように、管理ソフト（例えば、ＯＳ）がユーザ端末２０と情報処理装置１０との間のコネクション（接続）を確立し、当該コネクションを介してアプリケーションａ１及びａ２が、情報処理装置１０内のＡＰＩにアクセスするものとして説明する。
【０３０５】
（ステップＳ８０２）
ユーザ端末２０と情報処理装置１０との間で情報の送受信を行うために、まず、ユーザ端末２０と情報処理装置１０との間のコネクション（即ち、通信経路）が確立される。この場合には、例えば、ユーザ端末２０の管理ソフトから情報処理装置１０に対して接続要求が送信され、当該接続要求に基づき、ユーザ端末２０と情報処理装置１０との間でコネクションが確立される。なお、ユーザ端末２０と情報処理装置１０との間で確立されるコネクションの一例として、Ｗｉ−Ｆｉのような装置間の直接通信における無線通信の経路が挙げられる。
【０３０６】
（ステップＳ８１１）
次に、アプリケーションａ１が、情報処理装置１０内のＡＰＩにアクセスする場合の動作について説明する。まず、アプリケーションａ１は、情報処理装置１０に対して暗号化された通信経路の確立を要求する。アプリケーションａ１からの要求を受けて、情報処理装置１０は、当該アプリケーションａ１との間で暗号化された通信経路を確立する。なお、通信経路を暗号化するための技術として、例えば、ＳＳＬ（Secure  Sockets  Layer）やＴＬＳ（Transport  Layer  Security）が挙げられる。
【０３０７】
（ステップＳ８１３）
暗号化された通信経路を確立すると、情報処理装置１０は、確立された通信経路を介してアプリケーションａ１にセッションキーｋ３１を発行する。以降、アプリケーションａ１は、情報処理装置１０との間の通信経路が確立されている間は、情報処理装置１０から発行されたセッションキーｋ３１に基づき、当該情報処理装置１０との間で情報の送受信を行う。
【０３０８】
（ステップＳ８１５）
例えば、アプリケーションａ１は、開発元の認証に係る処理を実行する場合に、情報処理装置１０に対し、認証情報とあわせてセッションキーｋ３１を、暗号化された通信経路を介して送信する。
【０３０９】
情報処理装置１０は、アプリケーションａ１から送信されたセッションキーｋ３１に基づき、あわせて送信される情報や指示が当該アプリケーションａ１から送信されたものであると認識する。
【０３１０】
（ステップＳ８１７）
また、情報処理装置１０は、アプリケーションａ１から送信された認証情報に基づき開発元の認証に係る処理を実行し、認証情報として送付された開発元識別情報をセッションキーｋ３１に関連付けて管理してもよい。
【０３１１】
このような構成により、情報処理装置１０は、アプリケーションａ１からのＡＰＩにアクセスされた場合に、あわせて送信されるセッションキーｋ３１に基づき、同様のセッションキーｋ３１が関連付けられた開発元識別情報に対応したアクセス制御を行うことが可能となる。
【０３１２】
なお、情報処理装置１０は、セッションキーｋ３１が有効な限り、同セッションキーｋ３１が関連付けられた開発元識別情報に対応したアクセス制御を継続する。
【０３１３】
（ステップＳ８１９）
なお、アプリケーションａ１から通信の終了が指示されると、情報処理装置１０は、当該アプリケーションａ１との間の通信経路（即ち、暗号化された通信経路）を切断する。このとき、情報処理装置１０は、セッションキーｋ３１を無効化（破棄）してもよい。また、情報処理装置１０は、セッションキーｋ３１を無効化した場合には、当該セッションキーｋ３１と関連付けて管理している開発元識別情報をあわせて無効化（破棄）してもよい。
【０３１４】
（ステップＳ８２１）
また、アプリケーションａ２が、情報処理装置１０内のＡＰＩにアクセスする場合についても、アプリケーションａ１の場合と同様である。即ち、情報処理装置１０は、アプリケーションａ２からの要求を受けて、当該アプリケーションａ２との間で暗号化された通信経路を確立する。
【０３１５】
（ステップＳ８２３）
また、暗号化された通信経路を確立すると、情報処理装置１０は、確立された通信経路を介してアプリケーションａ２にセッションキーを発行する。なお、このとき情報処理装置１０は、アプリケーションａ２に対して、アプリケーションａ１とは異なるセッションキーｋ３２を発行する。以降、アプリケーションａ２は、情報処理装置１０との間の通信経路が確立されている間は、情報処理装置１０から発行されたセッションキーｋ３２に基づき、当該情報処理装置１０との間で情報の送受信を行う。
【０３１６】
（ステップＳ８２９）
そして、アプリケーションａ２から通信の終了が指示されると、情報処理装置１０は、当該アプリケーションａ２との間の通信経路（即ち、暗号化された通信経路）を切断する。このとき、情報処理装置１０は、アプリケーションａ１の場合と同様に、セッションキーｋ３２と、当該セッションキーｋ３２に関連付けて管理している開発元識別情報とを無効化（破棄）してもよい。
【０３１７】
（ステップＳ８０４）
また、ユーザ端末２０の管理ソフトからコネクションの切断に係る指示を受けると、情報処理装置１０は、ユーザ端末２０と情報処理装置１０との間で確立されたコネクションを切断する。
【０３１８】
以上説明したように、変形例７に係る情報処理システムでは、情報処理装置１０は、異なる複数のアプリケーションａ１及びａ２それぞれに対して、異なるセッションキーを発行する。そして、情報処理装置１０は、各アプリケーションから情報及び指示とあわせて送信されるセッションキーに基づき、情報及び指示の送信元であるアプリケーションを識別し、当該アプリケーションに対応したアクセス制御を行う。
【０３１９】
なお、各アプリケーションに対応するセッションキーは、暗号化された通信経路を介して、情報処理装置１０から各アプリケーションに発行されるため、他のアプリケーションが当該セッションキーを認識することは困難である。また、情報処理装置１０は、アプリケーションからセッションキーが送信されなかった場合や、当該アプリケーションに対して発行したセッションキーとは異なるセッションキーが送信された場合には、当該アプリケーションからの指示を拒否することも可能である。
【０３２０】
このような構成により、変形例７に係る情報処理システムでは、例えば、ユーザ端末２０において、開発元を詐称してＡＰＩを不正に利用するアプリケーションから、正常なアプリケーションの処理を保護することが可能となる。
【０３２１】
＜６．ハードウェア構成＞
以上、本開示の実施形態を説明した。上述した情報処理装置１０による情報処理は、以下に説明するような情報処理装置１０のハードウェアとの協働により実現される。
【０３２２】
図３１は、情報処理装置１０のハードウェア構成の一例を示した説明図である。図３１に示したように、情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３と、入力装置９０８と、出力装置９１０と、ストレージ装置９１１と、ドライブ９１２と、通信装置９１３と、撮像装置９１４とを備える。
【０３２３】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置１０内の動作全般を制御する。ＣＰＵ９０１は、例えば、各種演算処理を実行するための回路により構成することが可能である。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。このＣＰＵ９０１は、各種プログラムに従って様々な機能を実現することが可能である。例えば、上述した情報処理装置１０における処理部１３０、即ち、認証処理部１５０及び処理実行部１７０の各処理は、ＣＰＵ９０１により実現され得る。
【０３２４】
ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはＣＰＵバスなどから構成されるホストバスにより相互に接続されている。
【０３２５】
入力装置９０８は、ボタンやスイッチなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。情報処理装置１０のユーザは、該入力装置９０８を操作することにより、情報処理装置１０に対して処理動作を指示したりすることができる。
【０３２６】
出力装置９１０は、例えば、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置およびランプなどの表示装置を含む。さらに、出力装置９１０は、スピーカおよびヘッドホンなどの音声出力装置を含む。例えば、表示装置は、撮像された画像や生成された画像などを表示する。一方、音声出力装置は、音声データ等を音声に変換して出力する。なお、上述した情報処理装置１０における通知部１０６は、出力装置９１０により実現され得る。
【０３２７】
ストレージ装置９１１は、本実施形態にかかる情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１１は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置９１１は、ＣＰＵ９０１が実行するプログラムや各種データを格納する。
【０３２８】
ドライブ９１２は、記憶媒体用リーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ９１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、ＲＡＭ９０３に出力する。また、ドライブ９１２は、リムーバブル記憶媒体に情報を書き込むこともできる。
【０３２９】
なお、上述した情報処理装置１０における鍵情報記憶部１０４、識別情報記憶部１０８、及びコンテンツ記憶部１１０は、ＲＡＭ９０３、ストレージ装置９１１、またはドライブ９１２に装着されたリムーバブル記憶媒体により実現され得る。
【０３３０】
通信装置９１３は、例えば、ネットワークＮに接続するための通信デバイス等で構成された通信インタフェースである。特に、本開示の実施形態に係る通信装置９１３は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）対応通信装置を含む。なお、通信装置９１５は、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）対応通信装置や、有線による通信を行うワイヤー通信装置を含んでもよい。なお、上述した情報処理装置１０における通信部１０２は、通信装置９１３により実現され得る。
【０３３１】
撮像装置９１４は、ＣＰＵ９０１の制御に従い、レンズを介して静止画像又は動画像を撮影する機能を有する。撮像装置９１４は、撮像した画像をストレージ装置９１１やドライブ９１２に装着されたリムーバブル記憶媒体に記憶させてもよい。なお、上述した情報処理装置１０におけるコンテンツ取得部１９０は、例えば、撮像装置９１４により実現され得る。
【０３３２】
ＣＰＵ９０１、ＲＯＭ９０２、及びＲＡＭ９０３は、バス９０４を介して相互に接続されている。また、入力装置９０８、出力装置９１０、ストレージ装置９１１、ドライブ９１２、通信装置９１３、及び撮像装置９１４は、インタフェース９０７を介してバス９０６に接続されており、当該バス９０６とバス９０４とはブリッジ９０５を介して接続される。これにより、ＣＰＵ９０１、ＲＯＭ９０２、ＲＡＭ９０３、入力装置９０８、出力装置９１０、ストレージ装置９１１、ドライブ９１２、通信装置９１３、及び撮像装置９１４は、相互に接続される。
【０３３３】
なお、ネットワークＮは、ネットワークＮに接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワークＮは、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを含んでもよい。また、ネットワークＮは、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの専用回線網を含んでもよい。
【０３３４】
また、図３１に示すハードウェア構成はあくまで一例であり、上述した本開示の実施形態に係る情報処理装置１０の動作を実現できれば図３１に示したハードウェア構成には限定されない。
【０３３５】
また、コンピュータに内蔵されるＣＰＵ、ＲＯＭ及びＲＡＭなどのハードウェアを、上記した情報処理装置が有する構成と同等の機能を発揮させるためのプログラムも作成可能である。また、当該プログラムを記録した、コンピュータに読み取り可能な記憶媒体も提供され得る。
【０３３６】
＜７．まとめ＞
以上のように、本実施形態に係る情報処理システムに依れば、情報処理装置１０は、アプリケーションｄ１０に関連付けられた開発元識別情報をユーザ端末２０から取得し、取得した開発元識別情報が示す開発元が、事前申請された開発元か否かに応じてＡＰＩの実行を制御する。このような構成により、情報処理装置１０は、開発者に応じてＡＰＩの利用を制限することが可能となる。
【０３３７】
また、本実施形態に係る情報処理装置システムに依れば、情報処理装置１０は、取得されたコンテンツに対して、事前申請された開発元であることが判別された開発元情報を関連付ける。このような構成により、本実施形態に係る情報処理装置システムは、コンテンツに関連付けられた開発元情報に基づき、開発元の詐称によるＡＰＩの不正利用を検出する仕組みを提供し、ひいては、当該不正利用を抑止することが可能となる。
【０３３８】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０３３９】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０３４０】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報を、当該ユーザ端末から取得する取得部と、
前記開発元識別情報に基づいて、前記アプリケーションプログラムの開発元の認証処理を行う認証処理部と、
前記認証処理の後に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御する制御部と、
前記機能の実行を受けてコンテンツを取得し、取得した前記コンテンツに、前記認証処理が行われた前記開発元の情報を関連付けるコンテンツ処理部と、
を備える、情報処理装置。
（２）
前記コンテンツ処理部は、前記認証処理が行われた開発元の情報を、取得した前記コンテンツに付帯することにより、当該コンテンツと当該開発元の情報とを関連付ける、前記（１）に記載の情報処理装置。
（３）
前記コンテンツ処理部は、前記認証処理が行われた開発元の情報が暗号化された暗号化情報を、取得した前記コンテンツに付帯することにより、当該コンテンツと当該開発元の情報とを関連付ける、前記（２）に記載の情報処理装置。
（４）
前記コンテンツに関連付けられた暗号化情報は、当該コンテンツに付帯された開発元の情報が改変されているか否かを判定するための情報である、前記（３）に記載の情報処理装置。
（５）
前記開発元の情報が付帯された前記コンテンツは、前記ユーザ端末に送信される、前記（２）に記載の情報処理装置。
（６）
前記コンテンツは、画像データであり、
前記コンテンツ処理部は、前記画像データに基づき表示される画像上に、前記認証処理が行われた開発元の情報を重畳させることで、当該画像データに当該開発元の情報を関連付ける、前記（１）〜（５）のいずれか一項に記載の情報処理装置。
（７）
前記画像データに基づき表示される画像は、当該画像データに含まれる画像の実データである、前記（６）に記載の情報処理装置。
（８）
前記画像データに基づき表示される画像は、当該画像データに含まれる画像の実データに基づくプレビュー画像である、前記（６）に記載の情報処理装置。
（９）
前記コンテンツ処理部は、前記コンテンツに関連付けられた管理データに、前記認証処理が行われた開発元の情報を記録することで、当該コンテンツと当該開発元の情報とを関連付ける、前記（１）〜（８）のいずれか一項に記載の情報処理装置。
（１０）
前記コンテンツに関連付けられた管理データは、当該コンテンツの取得に係る履歴を管理するためのデータである、前記（９）に記載の情報処理装置。
（１１）
前記認証処理部は、前記開発元識別情報に基づいて、前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する、前記（１）〜（１０）のいずれか一項に記載の情報処理装置。
（１２）
前記制御部は、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元である場合に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御する、前記（１１）に記載の情報処理装置。
（１３）
前記認証処理が行われた開発元の情報の示す前記アプリケーションプログラムの開発元を識別可能に通知するための通知制御部を備える、前記（１）〜（１２）のいずれか一項に記載の情報処理装置。
（１４）
音声情報を出力するための音声出力部を備え、
前記通知制御部は、前記認証処理が行われた開発元の情報を、音声情報として前記音声出力部から出力させる、前記（１３）に記載の情報処理装置。
（１５）
表示部を備え、
前記通知制御部は、前記認証処理が行われた開発元の情報を前記表示部に表示させる、前記（１３）に記載の情報処理装置。
（１６）
ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報を、当該ユーザ端末から取得することと、
プロセッサが、前記開発元識別情報に基づいて、前記アプリケーションプログラムの開発元の認証処理を行うことと、
前記認証処理の後に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御することと、
前記機能の実行を受けてコンテンツを取得し、取得した前記コンテンツに、前記認証処理が行われた前記開発元の情報を関連付けることと、
を含む、情報処理方法。
（１７）
コンピュータに、
ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報を、当該ユーザ端末から取得することと、
前記開発元識別情報に基づいて、前記アプリケーションプログラムの開発元の認証処理を行うことと、
前記認証処理の後に、前記ユーザ端末からの指示に基づき、自身が有する機能の実行を制御することと、
前記機能の実行を受けてコンテンツを取得し、取得した前記コンテンツに、前記認証処理が行われた前記開発元の情報を関連付けることと、
を実行させるプログラム。
（１８）
ユーザ端末が有するアプリケーションプログラムであって、情報処理装置により取得されるコンテンツの取得に係るアプリケーションプログラムに関連付けられた開発元の情報と、前記情報処理装置により認証された開発元に対応した前記開発元の情報が暗号化された暗号化情報とが関連付けられた前記コンテンツを、取得するコンテンツ取得部と、
前記アプリケーションプログラムに関連付けられた開発元の情報と、前記暗号化情報が示す開発元の情報とを比較し、当該コンテンツに関連付けられた開発元の情報が改変されているか否かを判定する判定部と、
を備えるサーバ。
（１９）
前記判定の結果を前記情報処理装置に通知する通知部を備える、前記（１８）に記載のサーバ。
【符号の説明】
【０３４１】
１０  情報処理装置
１５  判定部
２０  ユーザ端末
２５  アプリケーション
３０  管理サーバ
７０  コンテンツ管理サーバ
８０  開発者端末
８０  端末
９０  アプリケーション提供サーバ
１０２  通信部
１０４  鍵情報記憶部
１０６  通知部
１０８  識別情報記憶部
１１０  コンテンツ記憶部
１３０  処理部
１５０  認証処理部
１５２  乱数生成部
１５４  認証情報取得部
１５６  判定部
１５８  通知制御部
１６０  アクセス制御部
１７０  処理実行部
１７２  制御部
１７４  コンテンツ処理部
１７６  暗号化処理部
１９０  コンテンツ取得部
２０２  通信部
２０４  コンテンツ記憶部
２０６  表示部
２５０  認証処理部
２５２  通信処理部
２５４  符号化処理部
２５６  アクセス制御情報記憶部
２５８  符号化情報記憶部
２６０  処理実行部
３０２  開発者情報取得部
３０４  識別情報生成部
３０６  開発者情報記憶部
３０８  符号化情報生成部
３１０  鍵情報記憶部
【図１】
0006471698.tif 000002
【図２】
0006471698.tif 000003
【図３】
0006471698.tif 000004
【図４】
0006471698.tif 000005
【図５】
0006471698.tif 000006
【図６】
0006471698.tif 000007
【図７】
0006471698.tif 000008
【図８】
0006471698.tif 000009
【図９】
0006471698.tif 000010
【図１０】
0006471698.tif 000011
【図１１】
0006471698.tif 000012
【図１２】
0006471698.tif 000013
【図１３】
0006471698.tif 000014
【図１４】
0006471698.tif 000015
【図１５】
0006471698.tif 000016
【図１６】
0006471698.tif 000017
【図１７】
0006471698.tif 000018
【図１８】
0006471698.tif 000019
【図１９】
0006471698.tif 000020
【図２０】
0006471698.tif 000021
【図２１】
0006471698.tif 000022
【図２２】
0006471698.tif 000023
【図２３】
0006471698.tif 000024
【図２４】
0006471698.tif 000025
【図２５】
0006471698.tif 000026
【図２６】
0006471698.tif 000027
【図２７】
0006471698.tif 000028
【図２８】
0006471698.tif 000029
【図２９】
0006471698.tif 000030
【図３０】
0006471698.tif 000031
【図３１】
0006471698.tif 000032