(57)【要約】【課題】互いに連係して動作する複数のアプリケーションに対して直接、その正当性の検証に必要な手続きを行わなくとも、各アプリケーションの正当性を検証する。【解決手段】情報処理装置は、第２アプリ１５２の中間証明書１５２１を用いて、第１アプリ１５１のリーフ証明書１５１１の正当性を検証し、リーフ証明書１５１１を用いて、連係動作の動作設定に関わる設定ファイル１５１２に付加されたＴＣ署名１５１２ａの正当性を検証する。次に、情報処理装置は、設定ファイル１５１２のパッケージ名を用いて、第１アプリ１５１及び第２アプリ１５２のパッケージ名の正当性を検証する。次に、情報処理装置は、設定ファイル１５１２のＣＰ証明書のハッシュ値を用いて、第１アプリ１５１のＣＰ証明書１５１３の正当性を検証し、ＣＰ証明書１５１３を用いてＣＰ署名１５１４の正当性を検証する。情報処理装置は、すべてが正当であれば上記連係動作を許可する。【選択図】図１２
2014039193.tif 000002
【特許請求の範囲】
【請求項１】
第１アプリケーション提供者の電子署名が付加された第１アプリケーションと、第２アプリケーション提供者により提供された第２アプリケーションとを記憶する記憶部と、
互いに連係して動作する前記第１及び第２のアプリケーションを示すアプリケーション識別子と、前記電子署名の正当性を検証するための検証データとを含む設定ファイルを取得する取得部と、
前記取得部が取得した設定ファイルの検証データを用いて、前記電子署名の正当性を検証する検証部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記電子署名が正当かどうかに基づき、前記取得した設定ファイルのアプリケーション識別子が示す前記第１及び第２アプリケーションの連係動作を許可する許可部
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、
前記第２アプリケーション提供者に対し発行された第１電子証明書を、前記第１アプリケーションに対応付けて記憶し、
前記取得部は、
前記第１電子証明書を用いて正当性を検証可能である前記第２アプリケーション提供者の電子署名が付加された前記設定ファイルを取得し、
前記検証部は、
前記第１電子証明書を用いて前記設定ファイルに付加された電子署名の正当性を検証する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記記憶部は、
証明書チェーンにおいて前記第１電子証明書よりも上位に関連付けられた第２電子証明書を、前記第２アプリケーションに対応付けて記憶し、
前記検証部は、
前記第２電子証明書を用いて前記第１電子証明書の正当性を検証する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記設定ファイルを記憶する管理装置と通信する通信部を備え、
前記取得部は、
前記通信部の通信により、前記管理装置から前記第１アプリケーションの設定ファイルを取得する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項６】
前記アプリケーション記憶部は、
前記第１アプリケーション提供者に対し発行され、前記第１アプリケーションに付加された電子署名の正当性を検証可能な第３電子証明書を記憶し、
前記検証部は、
前記検証データとして前記第３電子証明書のハッシュ値を用いて、前記第１アプリケーションに対応付けられた前記第３電子証明書の正当性を検証し、且つ、当該第３電子証明書を用いて、前記第１アプリケーションに付加された電子署名の正当性を検証する
ことを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記設定ファイルは、
互いに連係して動作する前記第１及び第２のアプリケーションの複数の組み合わせに対応して、前記アプリケーション識別子と前記検証データとを含む
ことを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
第１アプリケーション提供者により提供された第１アプリケーションと、第２アプリケーション提供者により提供され、当該第１アプリケーションと連係して動作する第２アプリケーションとを示すアプリケーション識別子、及び、前記第１アプリケーション提供者に対し発行された電子証明書又は前記電子証明書のハッシュ値を含む設定ファイルを生成する生成部と、
前記生成部により生成された設定ファイルに、前記第２アプリケーション提供者の電子署名を付加する署名部と、
前記署名部により電子署名が付加された前記設定ファイルを、当該設定ファイルと対応付けて前記第１アプリケーションを配信する配信装置に宛てて送信する送信部と
を備えることを特徴とする管理装置。
【請求項９】
第１アプリケーション提供者の電子署名が付加された第１アプリケーションと、第２アプリケーション提供者により提供された第２アプリケーションとを記憶する情報処理装置の情報処理方法であって、
互いに連係して動作する前記第１及び第２のアプリケーションを示すアプリケーション識別子と、前記電子署名の正当性を検証するための検証データとを含む設定ファイルを取得する取得ステップと、
前記取得ステップで取得した設定ファイルの検証データを用いて、前記電子署名の正当性を検証する検証ステップと
を有する情報処理方法。
【請求項１０】
第１アプリケーション提供者の電子署名が付加された第１アプリケーションと、第２アプリケーション提供者により提供された第２アプリケーションとを記憶する情報処理装置のコンピュータに、
互いに連係して動作する前記第１及び第２のアプリケーションを示すアプリケーション識別子と、前記電子署名の正当性を検証するための検証データとを含む設定ファイルを取得する取得ステップと、
前記取得ステップで取得した設定ファイルの検証データを用いて、前記電子署名の正当性を検証する検証ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの正当性を電子署名を用いて検証する技術に関する。
【背景技術】
【０００２】
電子ファイルに付加された電子署名を用いて、この電子ファイルに内包されるデータの正当性を検証する技術が、例えば特許文献１，２に開示されている。
特許文献１は、メディアファイルとメタデータとを含むファイルの全体を暗号化せずに、メタデータの変更又は改ざんを検知する仕組みを開示している。特許文献１に記載の発明では、コンテンツサーバで生成されたハッシュ値とデジタル署名とがメタデータに含まれていて、ファイルを受信したクライアントは、ハッシュ値及びデジタル署名を用いてメタデータの正当性を確認する。特許文献２は、デジタル媒体ファイルに含まれている記録済みのデータ、メタデータ及びデジタル署名に基づいて、記録済みのデータとメタデータとのハッシュを算出し、ハッシュ結果と復号化したデジタル署名とを比較することにより、デジタル媒体ファイルを認証することを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００８−５３９５２５号公報
【特許文献２】特開２００３−２３４７３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、情報処理装置では、複数のアプリケーションソフトウェア（以下、「アプリケーション」と省略する。）を互いに連係して動作させることにより、付加的な機能を提供することがある。例えば、情報処理装置が、電子メールの作成などを行うためのメールアプリと、カメラで撮影し写真画像を得るためのカメラアプリとを連係動作させた場合に、電子メールの作成中にカメラアプリを動作させて、そのときの撮影により得られた写真画像を電子メールに添付することが可能となる。
【０００５】
この種のアプリケーションの連係動作を、前述のメールアプリの提供者のような特定のアプリケーション提供者の意図するとおりに、不正なくユーザ端末に実現させるためには、各アプリケーションの正当性（例えば、改ざんの有無やアプリケーション提供者の成りすましの有無）を先に検証することが効果的である。しかしながら、特定のアプリケーション提供者が、これらのアプリケーションのすべてに対して電子署名を行ったり、この電子署名が正当なものであるかを検証するために必要な電子証明書などのデータを提供したりする手続きを行う仕組みでは、既に流通したアプリケーションへの対処が難しい。また、この仕組みでは、アプリケーションが新たに開発されたり、アプリケーションがアップデートされたりするたびに、前述の手続きが必要となる。
そこで、本発明の目的は、互いに連係して動作する複数のアプリケーションに対して直接、その正当性の検証に必要な手続きを行わなくとも、各アプリケーションの正当性を検証するための仕組みを提供することである。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明の情報処理装置は、第１アプリケーション提供者の電子署名が付加された第１アプリケーションと、第２アプリケーション提供者により提供された第２アプリケーションとを記憶する記憶部と、互いに連係して動作する前記第１及び第２のアプリケーションを示すアプリケーション識別子と、前記電子署名の正当性を検証するための検証データとを含む設定ファイルを取得する取得部と、前記取得部が取得した設定ファイルの検証データを用いて、前記電子署名の正当性を検証する検証部とを備えることを特徴とする。
【０００７】
本発明の情報処理装置において、前記第１アプリケーション提供者の電子署名が正当かどうかに基づき、前記取得した設定ファイルのアプリケーション識別子が示す前記第１及び第２アプリケーションの連係動作を許可する許可部を備えるようにしてもよい。
【０００８】
本発明の情報処理装置において、前記記憶部は、前記第２アプリケーション提供者に対し発行された第１電子証明書を、前記第１アプリケーションに対応付けて記憶し、前記取得部は、前記第１電子証明書を用いて正当性を検証可能である前記第２アプリケーション提供者の電子署名が付加された前記設定ファイルを取得し、前記検証部は、前記第１電子証明書を用いて前記設定ファイルに付加された電子署名の正当性を検証するようにしてもよい。
【０００９】
本発明の情報処理装置において前記記憶部は、証明書チェーンにおいて前記第１電子証明書よりも上位に関連付けられた第２電子証明書を、前記第２アプリケーションに対応付けて記憶し、前記検証部は、前記第２電子証明書を用いて前記第１電子証明書の正当性を検証するようにしてもよい。
【００１０】
本発明の情報処理装置において、前記設定ファイルを記憶する管理装置と通信する通信部を備え、前記取得部は、前記通信部の通信により、前記管理装置から前記第１アプリケーションの設定ファイルを取得するようにしてもよい。
【００１１】
本発明の情報処理装置において、前記アプリケーション記憶部は、前記第１アプリケーション提供者に対し発行され、前記第１アプリケーションに付加された電子署名の正当性を検証可能な第３電子証明書を記憶し、前記検証部は、前記検証データとして前記第３電子証明書のハッシュ値を用いて、前記第１アプリケーションに対応付けられた前記第３電子証明書の正当性を検証し、且つ、当該第３電子証明書を用いて、前記第１アプリケーションに付加された電子署名の正当性を検証するようにしてもよい。
【００１２】
本発明の情報処理装置において、前記設定ファイルは、互いに連係して動作する前記第１及び第２のアプリケーションの複数の組み合わせに対応して、前記アプリケーション識別子と前記検証データとを含むようにしてもよい。
【００１３】
本発明の情報処理方法は、第１アプリケーション提供者の電子署名が付加された第１アプリケーションと、第２アプリケーション提供者により提供された第２アプリケーションとを記憶する情報処理装置の情報処理方法であって、互いに連係して動作する前記第１及び第２のアプリケーションを示すアプリケーション識別子と、前記電子署名の正当性を検証するための検証データとを含む設定ファイルを取得する取得ステップと、前記取得ステップで取得した設定ファイルの検証データを用いて、前記電子署名の正当性を検証する検証ステップとを有する。
【００１４】
本発明のプログラムは、第１アプリケーション提供者の電子署名が付加された第１アプリケーションと、第２アプリケーション提供者により提供された第２アプリケーションとを記憶する情報処理装置のコンピュータに、互いに連係して動作する前記第１及び第２のアプリケーションを示すアプリケーション識別子と、前記電子署名の正当性を検証するための検証データとを含む設定ファイルを取得する取得ステップと、前記取得ステップで取得した設定ファイルの検証データを用いて、前記電子署名の正当性を検証する検証ステップとを実行させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、互いに連係して動作する複数のアプリケーションに対して直接、その正当性の検証に必要な手続きを行わなくとも、各アプリケーションの正当性を検証することができる。
【図面の簡単な説明】
【００１６】
【図１】アプリケーション管理システムの全体構成を示す図。
【図２】端末装置のハードウェア構成を示すブロック図。
【図３】第１アプリ及び第２アプリの構成の説明図（第１実施形態）。
【図４】ＣＰサーバのハードウェア構成を示すブロック図。
【図５】管理サーバのハードウェア構成を示すブロック図。
【図６】アプリケーションの連係動作の具体例を説明する図。
【図７】端末装置の制御部の機能構成を示す機能ブロック図（第１実施形態）。
【図８】管理サーバの制御部の機能構成を示す機能ブロック図（第１実施形態）。
【図９】設定ファイル生成処理の流れを示すシーケンス図（第１実施形態）。
【図１０】設定ファイル及び第１アプリの構成の説明図（第１実施形態）。
【図１１】アプリ検証処理の流れを示すフローチャート（第１実施形態）。
【図１２】アプリ検証処理の内容の説明図（第１実施形態）。
【図１３】第１アプリ及び第２アプリの構成の説明図（第２実施形態）。
【図１４】端末装置の制御部の機能構成を示す機能ブロック図（第２実施形態）。
【図１５】設定ファイル生成処理の流れを示すシーケンス図（第２実施形態）。
【図１６】アプリ検証処理の流れを示すフローチャート（第２実施形態）。
【図１７】アプリ検証処理の内容の説明図（第２実施形態）。
【図１８】アプリ検証処理の内容の説明図（変形例１）。
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ本発明の実施形態を説明する。
［第１実施形態］
まず、本発明の第１実施形態を説明する。
図１は、アプリケーション管理システム１の全体構成を示す図である。
図１に示すように、アプリケーション管理システム１は、情報処理装置１０と、ＣＰ（Contents Provider）サーバ２０と、管理サーバ３０とを備える。情報処理装置１０、ＣＰサーバ２０及び管理サーバ３０は、それぞれネットワークＮＷに接続している。ネットワークＮＷは、ここでは移動体通信網、ゲートウェイ及びインターネットを含む通信ネットワークである。
【００１８】
情報処理装置１０は、ユーザに操作されるユーザ端末であり、ここではスマートフォンである。情報処理装置１０は、これ以外にも、タブレット型コンピュータ、ノートパソコン、ＰＤＡ（Personal Digital Assistant）などの、アプリケーションソフトウェアを動作させる情報処理装置であってもよい。ＣＰサーバ２０は、コンテンツプロバイダ（第１アプリケーション提供者）よって提供されるアプリケーションを蓄積し、蓄積したアプリケーションを情報処理装置１０などに配信する配信装置である。管理サーバ３０は、情報処理装置１０に音声通信やデータ通信などの各種通信サービスを提供する通信事業者によって管理される管理装置である。この通信事業者は、例えば、情報処理装置１０が動作させるアプリケーションの提供者（第２アプリケーション提供者）でもある。
なお、図１には、情報処理装置１０を１台だけ図示しているが、実際にはそれぞれ複数存在する。また、アプリケーション管理システム１において、ＣＰサーバ２０や管理サーバ３０が１台ではなく、２台以上存在していてもよい。
次に、情報処理装置１０、ＣＰサーバ２０及び管理サーバ３０の構成を説明する。
【００１９】
図２は、情報処理装置１０のハードウェア構成を示すブロック図である。図２に示すように、情報処理装置１０は、制御部１１と、操作部１２と、通信部１３と、表示部１４と、記憶部１５とを備える。
制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ(Read Only Memory)、及びＲＡＭ（Random Access Memory）を有するマイクロコンピュータを備える。ＣＰＵは、ＲＯＭや記憶部１５に記憶されたプログラムをＲＡＭに読み出して実行することにより、情報処理装置１０の各部を制御する。操作部１２は、表示部１４の表示面に重ねて設けられたタッチスクリーンや物理キーを有し、ユーザによって操作される操作装置である。通信部１３は、無線通信回路やアンテナを有し、ネットワークＮＷに接続して通信するためのインタフェースである。表示部１４は、例えば液晶ディスプレイを有し、画像を表示する表示面に各種画面を表示する。
【００２０】
記憶部１５は、例えばＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）やフラッシュメモリなどの記憶装置を有し、制御部１１により実行される各種プログラムや、第１アプリ１５１及び第２アプリ１５２などのアプリケーションを記憶している。第１アプリ１５１は、情報処理装置１０がＣＰサーバ２０からダウンロードしてインストールしたアプリケーション（第１アプリケーション）である。第２アプリ１５２は、通信事業者に提供されたアプリケーション（第２アプリケーション）であり、例えば、情報処理装置１０にプリインストールされたアプリケーションや、所定のアプリケーション提供サーバからダウンロードされたアプリケーションである。
【００２１】
図３は、第１アプリ１５１及び第２アプリ１５２の構成の説明図である。
図３（ａ）に示すように、第１アプリ１５１は、リーフ証明書１５１１と、設定ファイル１５１２と、ＣＰ証明書１５１３とが対応付けられたアプリケーションであり、更に、ＣＰ署名１５１４が付加されている。
リーフ証明書１５１１は、通信事業者に対して発行された電子証明書（第１電子証明書）であり、例えば中間認証局によって認証されている。リーフ証明書１５１１は、ここでは公開鍵暗号方式に従う電子証明書（つまり公開鍵証明書）である。リーフ証明書１５１１は、管理サーバ３０に割り当てられた秘密鍵の対となる公開鍵などを含む。この秘密鍵は、例えば、所定の認証局などのセキュアな環境で保持されている。
【００２２】
設定ファイル１５１２は、複数のアプリケーションを互いに連係して動作させる場合の、情報処理装置１０の動作設定に用いられるデータファイルである。具体的に、設定ファイル１５１２は、互いに連係して動作する第１アプリ１５１及び第２アプリ１５２のパッケージ名と、ＣＰ証明書１５１３のハッシュ値とを含む。パッケージ名は、アプリケーション毎に割り当てられたアプリケーション識別子であり、図３（ａ）でいえば、「Ａｐｓ１＿ｐａｃｋａｇｅ」及び「Ａｐｓ２＿ｐａｃｋａｇｅ」である。ＣＰ証明書１５１３のハッシュ値は、ＣＰ証明書１５１３を用いて所定のアルゴリズムに従って生成されるハッシュ値で、ＣＰ証明書１５１３の正当性を検証するための検証データである。また、設定ファイル１５１２は、通信事業者に認証されたことを示す電子署名として、ＴＣ署名１５１２ａが付加されている。ここにおいて、「ＴＣ」は、「Telecommunications Carrier」（通信事業者）の略を意味する。
【００２３】
ＣＰ証明書１５１３は、コンテンツプロバイダに対して発行された電子証明書である（第３電子証明書）。ＣＰ証明書１５１３は、中間認証局などの第三者機関で発行されたものであってもよいし、コンテンツプロバイダによって発行されたものであってもよい。ＣＰ証明書１５１３は、ここでは公開鍵証明書であり、ＣＰサーバ２０が保持する秘密鍵の対となる公開鍵などを含む。
ＣＰ署名１５１４は、第１アプリ１５１がコンテンツプロバイダに認証されたことを示す電子署名である。
また、第１アプリ１５１のパッケージ名を「Ａｐｓ１＿ｐａｃｋａｇｅ」と表す。
【００２４】
図３（ｂ）に示すように、第２アプリ１５２は、中間証明書１５２１が対応付けられたアプリケーションである。中間証明書１５２１は、通信事業者に対して発行された電子証明書であり、中間認証局よりも上位であるルート認証局によって認証されている。すなわち、中間証明書１５２１は、証明書チェーンにおいてリーフ証明書１５１１よりも上位に関連付けられ、リーフ証明書１５１１を認証する電子証明書（第２電子証明書）である。
また、第２アプリ１５２のパッケージ名を「Ａｐｓ２＿ｐａｃｋａｇｅ」と表す。
【００２５】
図４は、ＣＰサーバ２０のハードウェア構成を示すブロック図である。図４に示すように、ＣＰサーバ２０は、制御部２１と、通信部２２と、記憶部２３とを備える。
制御部２１は、ＣＰＵ、ＲＯＭ及びＲＡＭを有するマイクロコンピュータを備える。ＣＰＵは、ＲＯＭや記憶部２３に記憶されたプログラムをＲＡＭに読み出して実行することにより、ＣＰサーバ２０の各部を制御する。通信部２２は、モデムなどを有し、ネットワークＮＷに接続して通信するためのインタフェースである。記憶部２３は、例えばハードディスク装置などを有する記憶装置であり、制御部２１により実行される各種プログラムを記憶する。記憶部２３は、これ以外にも、情報処理装置１０などに配信するアプリケーション（例えば、第１アプリ１５１）や、このアプリケーションに対応する設定ファイル（例えば、設定ファイル１５１２）、ＣＰ証明書１５１３などを記憶する。
【００２６】
図５は、管理サーバ３０のハードウェア構成を示すブロック図である。図５に示すように、管理サーバ３０は、制御部３１と、通信部３２と、記憶部３３とを備える。
制御部３１は、ＣＰＵ、ＲＯＭ及びＲＡＭを有するマイクロコンピュータを備える。ＣＰＵは、ＲＯＭや記憶部３３に記憶されたプログラムをＲＡＭに読み出して実行することにより、管理サーバ３０の各部を制御する。通信部３２は、モデムなどを有し、ネットワークＮＷに接続して通信するためのインタフェースである。記憶部３３は、例えばハードディスク装置などを有する記憶装置であり、制御部３１により実行される各種プログラムやリーフ証明書１５１１を記憶する。
なお、図５には、記憶部３３のところに「設定ファイル」という文字列を破線で表した矩形内に図示しているが、これは後述する第２実施形態において記憶部３３に記憶されることを意味するもので、この第１実施形態には関係ないものとする。
【００２７】
ところで、情報処理装置１０では、第１アプリ１５１と第２アプリ１５２とを互いに連係して動作させて、単独動作時にはない付加的な機能を提供することができる。アプリケーションの連係動作とは、アプリケーションが単独で動作して提供される機能とは異なる機能を提供するために、複数のアプリケーションがつながりをもって動作することをいう。アプリケーションの連係動作は、例えば、一のアプリケーションが、他のアプリケーションにはたらきかけて動作させる（例えば、起動させる）ことにより実現される。
ここでアプリケーションの連係動作の具体例を説明する。
【００２８】
図６は、アプリケーションの連係動作の具体例を説明する図である。
図６（ａ）に示すように、第２アプリ１５２は、ここでは、電子メールの作成や送受信などの機能を提供するメールアプリである。第１アプリ１５１は、ここでは、第２アプリ１５２を用いて送受信された電子メールを加工して表示するための表示アプリである。このような第１アプリ１５１及び第２アプリ１５２を連係動作させた場合、情報処理装置１０は、まず、ユーザに指定された送受信相手（ここでは、Ａさんとする。）とやり取りした電子メールの提供を第２アプリ１５２に対して要求するよう、第１アプリ１５１を動作させる。情報処理装置１０は、次に、第１アプリ１５１からの要求に応じて、指定された送受信相手とやり取りした電子メールを提供（返却）するよう、第２アプリ１５２を動作させる。このような第１アプリ１５１及び第２アプリ１５２の連係動作に応じて、情報処理装置１０はメール表示画面を表示部１４に表示させる。
【００２９】
図６（ｂ）は、上記連係動作により表示されるメール表示画面を示す図である。図６（ｂ）に示すように、このメール表示画面においては、第２アプリ１５２の機能を用いてやり取りされた電子メールが、第１アプリ１５１の機能を用いて、いわゆるチャット形式で表示される。このメール表示画面を見たユーザは、電子メールの送受信相手別に、電子メールのやりとりを時系列順に把握することができる。
図６（ｃ）は、第１アプリ１５１がアップデートされた場合のメール表示画面を示す図である。図６（ｂ）に示すように、このメール表示画面においては、電子メールのやりとりの時系列順がチャット形式で表示されているが、「いつ」や「１８時」といった強調すべき文字部分が自動判別されて、強調表示されている。
【００３０】
このように、第２アプリ１５２が同一であっても、第１アプリ１５１のバージョン（つまり、アップデートの前後）が異なる場合には、連係動作により提供される機能も異なる。ただし、アプリケーションのバージョンが変化しても、アップデートの前後でアプリケーションのパッケージ名は同一であるものとする。よって、図６（ｂ）に示すメール画面を表示するための第１アプリ１５１のパッケージ名、及び、図６（ｃ）に示すメール画面を表示するための第１アプリ１５１のパッケージ名はいずれも、「Ａｐｓ１＿ｐａｃｋａｇｅ」で表される。
なお、連係動作は、例えば、複数のアプリケーションが同時に動作したり、共通のパラメータを用いて動作したりして実現されるものであってもよく、アプリケーションが単独で動作したときとは別の機能が提供される動作であればよい。よって、アプリケーション同士の動作上のつながり方は様々考えられる。
次に、情報処理装置１０の機能構成を説明する。
【００３１】
図７は、情報処理装置１０の制御部１１の機能構成を示す機能ブロック図である。図７に示すように、情報処理装置１０の制御部１１は、取得部１１１と、検証部１１２と、許可部１１３と、アプリケーション動作部１１４とに相当する機能を実現する。
取得部１１１は、通信事業者によって第１アプリ１５１に対応して生成された設定ファイル１５１２を取得する。ここにおいて、取得部１１１は、記憶部１５に記憶され、第１アプリ１５１に対応付けられた設定ファイル１５１２を取得する。
【００３２】
検証部１１２は、取得部１１１が取得した設定ファイル１５１２に含まれるＣＰ証明書１５１３のハッシュ値を用いて、第１アプリ１５１に対応付けられたＣＰ証明書１５１３の正当性を検証し、このＣＰ証明書１５１３を用いて第１アプリ１５１に付加されたＣＰ署名１５１４の正当性を検証する。これ以外にも、検証部１１２は、例えば、第２アプリ１５２に対応付けられた中間証明書１５２１を用いてリーフ証明書１５１１の正当性を検証したり、このリーフ証明書１５１１を用いて設定ファイル１５１２のＴＣ署名１５１２ａの正当性を検証したりする（つまり、署名者の本人確認を行う）。また、検証部１１２は、ＴＣ署名１５１２ａを用いて、設定ファイル１５１２が正当であることを確認する。検証部１１２は、設定ファイル１５１２の内容が改竄されていない（つまり、非改ざん性を確認した）ことをもって、設定ファイル１５１２が正当であると確認する。
【００３３】
許可部１１３は、検証部１１２による検証結果においてＣＰ署名１５１４が正当かどうかに基づき、連係動作の実現の可否に関する動作設定を行う。ここにおいて、許可部１１３は、検証部１１２によりＣＰ署名１５１４が正当であるという検証結果が得られた場合には、取得した設定ファイル１５１２に含まれるパッケージ名が示す第１アプリ１５１及び第２アプリ１５２の連係動作を許可する。一方で、許可部１１３は、検証部１１２によりＣＰ署名１５１４が正当であるという検証結果が得られなかった場合には、この連係動作を許可しない。
【００３４】
アプリケーション動作部１１４は、記憶部１５に記憶されたアプリケーションを読み出して動作させる。アプリケーション動作部１１４は、例えば、許可部１１３により許可された連係動作を実現させるように、第１アプリ１５１及び第２アプリ１５２を動作させる。
次に、管理サーバ３０の機能構成を説明する。
【００３５】
図８は、管理サーバ３０の制御部３１の機能構成を示す機能ブロック図である。図８に示すように、管理サーバ３０の制御部３１は、生成部３１１と、署名部３１２と、送信制御部３１３とに相当する機能を実現する。ここでは、第１アプリ１５１に対応する設定ファイル１５１２の生成に関わる機能構成を説明する。
生成部３１１は、コンテンツプロバイダにより提供される第１アプリ１５１と、通信事業者に提供され、このアプリケーションと連係して動作する第２アプリ１５２とを示すパッケージ名と、コンテンツプロバイダに対し発行されたＣＰ証明書１５１３のハッシュ値とを含む設定ファイル１５１２を生成する。
【００３６】
署名部３１２は、生成部３１１により生成された設定ファイル１５１２にＴＣ署名１５１２ａを付加する。署名部３１２は、リーフ証明書１５１１を用いて正当性を検証可能な電子署名を、ＴＣ署名１５１２ａとして付加する。
送信制御部３１３は、署名部３１２によりＴＣ署名１５１２ａが付加された設定ファイル１５１２を、通信部３２によりＣＰサーバ２０に宛てて送信する。ＣＰサーバ２０は、管理サーバ３０から取得した設定ファイル１５１２を、第１アプリ１５１と対応付けて配信する。送信制御部３１３及び通信部３２の協働により、本発明の送信部が実現される。
次に、アプリケーション管理システム１の動作を説明する。
【００３７】
アプリケーション管理システム１の特徴的な動作は、（Ｉ）設定ファイル生成処理と、（II）アプリ検証処理とに大別される。設定ファイル生成処理は、第１アプリ１５１を提供するのに先立って行われ、第１アプリ１５１に対応する設定ファイル１５１２を生成する処理である。アプリーション認証処理は、ＣＰサーバ２０が第１アプリ１５１を提供した後、連係動作する複数のアプリケーションの正当性を検証する処理である。
【００３８】
（Ｉ）設定ファイル生成処理
図９は、設定ファイル生成処理の流れを示すシーケンス図である。図１０は、設定ファイル１５１２及び第１アプリ１５１の構成の説明図である。
ＣＰサーバ２０は、例えば、新たに作成したアプリケーションを提供しようとする場合に、そのアプリケーションを用いて実現する連係動作があるときには、管理サーバ３０に対して必要な手続きを行う。以下、第１アプリ１５１について第２アプリ１５２との連係動作を実現するための手続きを説明する。
【００３９】
ＣＰサーバ２０は、コンテンツプロバイダにより、連係動作させる第１アプリ１５１及び第２アプリ１５２がそれぞれ指定されると、管理サーバ３０にアクセスする。まず、ＣＰサーバ２０は、第１アプリ１５１のパッケージ名である「Ａｐｓ＿ｐａｃｋａｇｅ１」と、第１アプリ１５１と連係して動作させる第２アプリ１５２のパッケージ名である「Ａｐｓ＿ｐａｃｋａｇｅ２」と、ＣＰ証明書１５１３のハッシュ値とを、管理サーバ３０に宛てて送信する（ステップＳＡ１）。
ＣＰ証明書１５１３のハッシュ値は、周知のアルゴリズムに従って生成されたものでもよい。ＣＰサーバ２０は、例えば、ＭＤ５（Message Digest Algorithm 5）と呼ばれるハッシュ関数を用いて、ＣＰ証明書１５１３のハッシュ値を算出する。
【００４０】
管理サーバ３０は、ステップＳＡ１の処理で送信されたパッケージ名と、ＣＰ証明書１５１３のハッシュ値とを受信すると、受信したパッケージ名とＣＰ証明書１５１３のハッシュ値とを含む設定ファイル１５１２を生成する（ステップＳＡ２）。
次に、管理サーバ３０は、ステップＳＡ２の処理で生成した設定ファイル１５１２に、リーフ証明書１５１１を用いて正当性を検証可能なＴＣ署名１５１２ａを付加する（ステップＳＡ３）。管理サーバ３０は、自サーバに割り当てられた秘密鍵を用いてＴＣ署名１５１２ａを生成すればよく、ＴＣ署名１５１２ａの具体的な生成方法については特に問わない。ステップＳＡ３の処理により、図１０（ａ）に示す構成の設定ファイル１５１２が生成される。設定ファイル１５１２は、ＴＣ署名１５１２ａの付加によって通信事業者に認証されたことになる。
管理サーバ３０は、ステップＳＡ３の処理で署名済みの設定ファイル１５１２と、記憶部３３に記憶されたリーフ証明書１５１１とを、ＣＰサーバ２０に宛てて送信する（ステップＳＡ４）。
【００４１】
ＣＰサーバ２０は、ステップＳＡ４の処理で送信されたリーフ証明書１５１１と設定ファイル１５１２とを受信してこれらを取得すると、図１０（ｂ）に示すように、取得したリーフ証明書１５１１と設定ファイル１５１２とを第１アプリ１５１に対応付けて、記憶部１５に記憶させる（ステップＳＡ５）。
次に、ＣＰサーバ２０は、第１アプリ１５１にＣＰ証明書１５１３を対応付けるとともに、ＣＰ証明書１５１３を用いて正当性を検証可能なＣＰ署名１５１４を第１アプリ１５１に付加する（ステップＳＡ６）。ＣＰサーバ２０は、自サーバに割り当てられた秘密鍵を用いてＣＰ署名１５１４を生成すればよく、ＣＰ署名１５１４の具体的な生成方法については特に問わない。ステップＳＡ６の処理により、図１０（ｃ）（図３（ａ）と同じ）に示す第１アプリ１５１が生成される。
以上が、設定ファイル生成処理の説明である。ＣＰサーバ２０は、以上の設定ファイル生成処理後に、第１アプリ１５１と、この第１アプリ１５１に対応するリーフ証明書１５１１、設定ファイル１５１２及びＣＰ証明書１５１３とを対応付けて、情報処理装置１０に配信する。情報処理装置１０は、これらのデータ（図３（ａ）に示す第１アプリ１５１に相当。）を取得し（つまり、ダウンロードし）、記憶部１５に記憶させる。
次に、アプリ検証処理について説明する。
【００４２】
（II）アプリ検証処理
図１１は、アプリ検証処理の流れを示すフローチャートである。図１２は、アプリ検証処理の内容の説明図である。
情報処理装置１０は、まず、連係動作する第１アプリ１５１と第２アプリ１５２とを記憶部１５から読み出して、これらを取得する（ステップＳＢ１）。次に、情報処理装置１０は、第２アプリ１５２に対応付けられた中間証明書１５２１を用いて、第１アプリ１５１に対応付けられたリーフ証明書１５１１の正当性を検証する（ステップＳＢ２）。ステップＳＢ２の検証処理は、図１２の丸数字「１」の検証に対応している。
中間証明書１５２１を用いてリーフ証明書１５１１の正当性を検証する処理は、周知の方法で行われてよい。情報処理装置１０は、例えば、所定の認証局サーバにアクセスしてＣＲＬ（Certificate Revocation List）と呼ばれる失効した証明書リストを参照し、リーフ証明書１５１１及び中間証明書１５２１がともに有効期限内と判断するか否かを判断する。そして、情報処理装置１０は、リーフ証明書１５１１に改ざんや成りすましなどがないことを確認すれば、リーフ証明書１５１１が正当であると判定する。一方で、情報処理装置１０は、リーフ証明書１５１１又は中間証明書１５２１が有効期限外であったり、改ざんや成りすましなどを確認したりした場合は、リーフ証明書１５１１は正当なものでないと判定する。
【００４３】
次に、情報処理装置１０は、ステップＳＢ２の検証結果に基づき、設定ファイル１５１２に対応付けられたリーフ証明書１５１１が正当であるか否かを判定する（ステップＳＢ３）。ここで、情報処理装置１０は、リーフ証明書１５１１が正当であると判定すると（ステップＳＢ３；ＹＥＳ）、ステップＳＢ４の処理に進む。
次に、情報処理装置１０は、正当であると判定したリーフ証明書１５１１を用いて、設定ファイル１５１２に付加されたＴＣ署名１５１２ａの正当性を検証する（ステップＳＢ４）。ステップＳＢ４の検証処理は、図１２の丸数字「２」の検証に対応している。ここにおいて、情報処理装置１０は、第１アプリ１５１に対応付けられたリーフ証明書１５１１から公開鍵を抽出し、この公開鍵を用いてＴＣ署名１５１２ａの正当性を検証する。「（Ｉ）設定ファイル生成処理」の項で説明したように、ステップＳＡ３の処理において、リーフ証明書１５１１を用いて正当性が検証可能なように、設定ファイル１５１２には上記公開鍵と対になる秘密鍵を用いてＴＣ署名１５１２ａが付加されている。情報処理装置１０は、このリーフ証明書１５１１に含まれる公開鍵を用いた検証により、ＴＣ署名１５１２ａが正当であると判定するはずである。
なお、公開鍵暗号方式としては、ＲＳＡ（Rivest Shamir Adleman）やＤＳＡ（Digital Signature Standard）などが挙げられる。
【００４４】
次に、情報処理装置１０は、ステップＳＢ４の検証結果に基づき、設定ファイル１５１２に付加されたＴＣ署名１５１２ａが正当であるか否かを判定する（ステップＳＢ５）。ここで、情報処理装置１０は、ＴＣ署名１５１２ａが正当であると判定すると（ステップＳＢ５；ＹＥＳ）、ステップＳＢ６の処理に進む。
次に、情報処理装置１０は、ＴＣ署名１５１２ａが正当と判定した設定ファイル１５１２に含まれる第１アプリ１５１及び第２アプリ１５２のパッケージ名を用いて、ステップＳＢ１の処理で取得した第１アプリ１５１及び第２アプリ１５２の正当性を検証する（ステップＳＢ６）。ステップＳＢ６の検証処理は、図１２の丸数字「３」の検証に対応している。ここで、アプリケーションの改ざんや成りすましがなければ、設定ファイル１５１２のパッケージ名と、第１アプリ１５１及び第２アプリ１５２のパッケージ名とは、それぞれ一致するはずである。
【００４５】
次に、情報処理装置１０は、ステップＳＢ６の検証結果に基づき、第１アプリ１５１及び第２アプリ１５２のパッケージ名が正当であるか否かを判定する（ステップＳＢ７）。ここで、情報処理装置１０は、第１アプリ１５１及び第２アプリ１５２のパッケージ名が正当であると判定すると（ステップＳＢ７；ＹＥＳ）、ステップＳＢ８の処理に進む。
次に、情報処理装置１０は、設定ファイル１５１２に含まれるＣＰ証明書１５１３のハッシュ値を用いて、第１アプリ１５１に対応付けられたＣＰ証明書１５１３の正当性を検証する（ステップＳＢ８）。ステップＳＢ８の検証処理は、図１２の丸数字「４」の検証に対応している。ここで、アプリケーションの改ざんや成りすましがなければ、第１アプリ１５１に付加されたＣＰ証明書１５１３から算出したハッシュ値と、設定ファイル１５１２に含まれるハッシュ値とは一致するはずである。そこで情報処理装置１０は、ＣＰサーバ２０がステップＳＡ１の処理で用いたハッシュ値の算出方法（ここではＭＤ５）に従い、ＣＰ証明書１５１３を用いてハッシュ値を算出して、設定ファイル１５１２のハッシュ値と比較すればよい。
【００４６】
次に、情報処理装置１０は、ステップＳＢ８の検証結果に基づき、第１アプリ１５１に含まれるＣＰ証明書１５１３が正当であるか否かを判定する（ステップＳＢ９）。ここで、情報処理装置１０は、第１アプリ１５１に対応付けられたＣＰ証明書１５１３が正当であると判定すると（ステップＳＢ９；ＹＥＳ）、ステップＳＢ１０の処理に進む。
次に、情報処理装置１０は、正当であると判定したＣＰ証明書１５１３を用いて、第１アプリ１５１に付加されたＣＰ署名１５１４の正当性を検証する（ステップＳＢ１０）。ステップＳＢ１０の検証処理は、図１２の丸数字「５」の検証に対応している。ステップＳＡ６の処理では、前述したように、ＣＰ証明書１５１３の公開鍵と対となる秘密鍵を用いてＣＰ署名１５１４が付加されている。よって、第１アプリ１５１に対応付けられたＣＰ証明書１５１３の改ざんや成りすましなどがなければ、情報処理装置１０は、この公開鍵を用いた検証によりＣＰ署名１５１４が正当であると判定するはずである。
【００４７】
次に、情報処理装置１０は、ステップＳＢ１０の検証結果に基づき、第１アプリ１５１に付加されたＣＰ署名１５１４が正当か否かを判定する（ステップＳＢ１１）。ここで、情報処理装置１０は、第１アプリ１５１に付加されたＣＰ署名１５１４が正当であると判定すると（ステップＳＢ１１；ＹＥＳ）、第１アプリ１５１及び第２アプリ１５２の連係動作を許可する（ステップＳＢ１２）。このようにして、情報処理装置１０は、複数の検証を行って、そのすべてについて正当であると判定したことを条件として、第１アプリ１５１及び第２アプリ１５２の連係動作を許可するよう動作設定を行う。
【００４８】
一方で、情報処理装置１０は、ステップＳＢ３，ＳＢ５，ＳＢ７，ＳＢ９又はＳＢ１１の処理のいずれかで「ＮＯ」と判定した場合、つまり、いずれか１つの検証でも正当でないと判定した場合には、第１アプリ１５１及び第２アプリ１５２の連係動作を許可しないよう動作設定を行う。これにより、何らかの方法でアプリケーションの不正利用が行われようとしても、通信事業者の意図しない連係動作が情報処理装置１０で実現されることを防ぐことができる。
【００４９】
以上説明した第１実施形態のアプリケーション管理システム１によれば、複数のアプリケーションの連係動作を許可する場合において、すべてのアプリケーションに対して通信事業者が電子署名を付加する必要がないし、電子証明書のデータの送信などの手続きを行わなくてよい。また、ＣＰサーバ２０は、或るアプリケーションについて設定ファイル１５１２を得た後は、このアプリケーションをアップデートした後も、パッケージ名が変わらない限り、この設定ファイル１５１２を繰り返し使用することができる。
【００５０】
また、ＣＰサーバ２０は、アプリケーションと独立して設定ファイル１５１２を取得することができる。よって、既に流通したアプリケーションに対応した設定ファイル１５１２が事後的に生成された場合であっても、ＣＰサーバ２０は、リーフ証明書１５１１及び設定ファイル１５１２を情報処理装置１０に提供すれば、情報処理装置１０において前述のアプリ検証処理を実行することが可能となる。
また、情報処理装置１０は、連係動作に関する動作設定を、設定ファイル１５１２に従って行う。これにより、例えば、連係動作するアプリケーションの組み合わせが変化したような場合であっても、ＣＰサーバ２０がアプリケーションを更新することなく、設定ファイル１５１２の更新によって対処することができる。
【００５１】
［第２実施形態］
次に、本発明の第２実施形態を説明する。
上述した第１実施形態では、情報処理装置１０は、中間証明書１５２１及びリーフ証明書１５１１を用いて、設定ファイル１５１２の正当性を検証していたが、設定ファイル１５１２が正当なものであると検証するための手法はこれに限らない。この第２実施形態では、中間証明書１５２１及びリーフ証明書１５１１を用いるのではなく、管理サーバ３０が設定ファイル１５１２を管理することによって、これが通信事業者に認証されたものとみなすようにする。この場合、管理サーバ３０は、設定ファイル１５１２などの情報について、その改ざんが行われたり、漏洩したりしないように、情報セキュリティを厳重に管理できる構成であることが望ましい。
この実施形態のアプリケーション管理システム１のハードウェア構成は、上述した第１実施形態と同じであるから、ここではその説明を省略する。以下の説明において、第１実施形態と同じハードウェア構成、機能構成及び処理ステップについては同一の符号を付して表し、その説明については適宜省略する。
まず、本実施形態の第１アプリ１５１及び第２アプリ１５２の構成を説明する。
【００５２】
図１３は、情報処理装置１０が記憶する第１アプリ１５１及び第２アプリ１５２の構成の説明図である。
図１３に示すように、第１アプリ１５１は、上述した第１実施形態と同様に、ＣＰ証明書１５１３が対応付けられたアプリケーションである一方、リーフ証明書１５１１及び設定ファイル１５１２が対応付けられていないものとする。また、第２アプリ１５２は、リーフ証明書１５１１の正当性を検証するための中間証明書１５２１が対応付けられていなくてよい。
【００５３】
図１４は、情報処理装置１０の制御部１１の機能構成を示す機能ブロック図である。図１４に示すように、情報処理装置１０の制御部１１は、取得部１１１と、検証部１１２と、許可部１１３と、アプリケーション動作部１１４とに相当する機能を実現する。
取得部１１１は、通信部１３の通信により管理サーバ３０から設定ファイル１５１２を取得する。取得部１１１は、例えば、第１アプリ１５１及び第２アプリ１５２を連係動作させるよう、操作部１２の操作によりユーザに指示されたことを契機に、対応する設定ファイル１５１２を通信部１３により取得する。
検証部１１２は、取得部１１１が通信部１３により取得した設定ファイル１５１２と、記憶部１５から取得した第１アプリ１５１及び第２アプリ１５２とに基づいて、第１アプリ１５１に付加されたＣＰ署名１５１４の正当性を検証する。検証部１１２は、ＴＣ署名１５１２ａの正当性の検証までは行わず、これ以降の検証については、上述した第１実施形態と同じ方法で行う。
許可部１１３及びアプリケーション動作部１１４は、上述した第１実施形態と同じ機能を実現するので、ここではその説明を省略する。
次に、アプリケーション管理システム１の動作を説明する。アプリケーション管理システム１の特徴的な動作は、この実施形態でも、（Ｉ）設定ファイル生成処理と、（II）アプリ検証処理とに大別される。
【００５４】
（Ｉ）設定ファイル生成処理
図１５は、設定ファイル生成処理の流れを示すシーケンス図である。
まず、ＣＰサーバ２０は、新たに提供しようとする第１アプリ１５１のパッケージ名である「Ａｐｓ＿ｐａｃｋａｇｅ１」と、第１アプリ１５１と連係動作する第２アプリ１５２のパッケージ名である「Ａｐｓ＿ｐａｃｋａｇｅ２」と、ＣＰ証明書１５１３のハッシュ値とを、管理サーバ３０に宛てて送信する（ステップＳＡ１）。次に、管理サーバ３０は、ステップＳＡ１の処理で送信された第１アプリ１５１及び第２アプリ１５２のパッケージ名と、ＣＰ証明書１５１３のハッシュ値とを含む設定ファイル１５１２を生成する（ステップＳＡ２）。このステップＳＡ１，ＳＡ２の処理は、上述した第１実施形態と同じ方法で行われればよい。
【００５５】
次に、管理サーバ３０は、ステップＳＡ２の処理で生成した設定ファイル１５１２を、記憶部３３に記憶させる（ステップＳＡ７）。ここにおいて、管理サーバ３０は、例えば、連係動作する複数のアプリケーションのパッケージ名の組み合わせに対応付けて、設定ファイル１５１２を記憶させる（図５の記憶部３３の設定ファイル１５１２の記述に対応する。）。
【００５６】
次に、管理サーバ３０は、設定ファイル１５１２の生成が完了したことを示す完了通知を、ＣＰサーバ２０に宛てて送信する（ステップＳＡ８）。完了通知を受信したＣＰサーバ２０は、第１アプリ１５１にＣＰ証明書１５１３を対応付けるとともに、第１アプリ１５１にＣＰ署名１５１４を付加して記憶部１５に記憶させる（ステップＳＡ６）。ステップＳＡ６の処理により、図１３（ａ）に示す構成の第１アプリ１５１が生成されることとなる。このステップＳＡ６の処理は、上述した第１実施形態と同じ方法で行われればよい。
以上が、設定ファイル生成処理の説明である。ＣＰサーバ２０は、以上の設定ファイル生成処理後に、第１アプリ１５１とＣＰ証明書１５１３とを対応付けて、情報処理装置１０に配信する。情報処理装置１０は、ＣＰ証明書１５１３が対応付けられた第１アプリ１５１を取得し（つまり、ダウンロードし）、記憶部１５に記憶させる。
次に、アプリ検証処理について説明する。
【００５７】
（II）アプリ検証処理
図１６は、アプリ検証処理の流れを示すフローチャートである。図１７は、アプリ検証処理の内容の説明図である。
情報処理装置１０は、まず、第１アプリ１５１と第２アプリ１５２とを記憶部１５から読み出して、これらを取得する（ステップＳＢ１）。
次に、情報処理装置１０は、ステップＳＢ１の処理で取得した第１アプリ１５１と第２アプリ１５２とに対応する設定ファイル１５１２を、管理サーバ３０との通信により取得する（ステップＳＢ１３）。ここでは、情報処理装置１０は、ステップＳＢ１の処理で取得した第１アプリ１５１及び第２アプリ１５２に対応する設定ファイル１５１２の送信を、例えばパッケージ名を指定して管理サーバ３０に要求する。管理サーバ３０は、このパッケージ名に対応して記憶部３３に記憶した設定ファイル１５１２を読み出して、これを情報処理装置１０に宛てて送信する。
【００５８】
次に、情報処理装置１０は、ステップＳＢ１３の処理で取得した設定ファイル１５１２に含まれる第１アプリ１５１及び第２アプリ１５２のパッケージ名を用いて、ステップＳＢ１の処理で取得した第１アプリ１５１及び第２アプリ１５２の正当性を検証する（ステップＳＢ６）（図１７の丸数字「１」を参照）。
次に、情報処理装置１０は、ステップＳＢ６の検証結果に基づき、第１アプリ１５１及び第２アプリ１５２のパッケージ名が正当であると判定すると（ステップＳＢ７；ＹＥＳ）、設定ファイル１５１２に含まれるＣＰ証明書１５１３のハッシュ値を用いて、ＣＰ証明書１５１３の正当性を検証する（ステップＳＢ８）（図１７の丸数字「２」を参照）。
【００５９】
次に、情報処理装置１０は、ステップＳＢ８の検証結果に基づき、第１アプリ１５１に付加されたＣＰ証明書１５１３が正当であると判定すると（ステップＳＢ９；ＹＥＳ）、ＣＰ証明書１５１３を用いて、ＣＰ署名１５１４の正当性を検証する（ステップＳＢ１０）（図１７の丸数字「３」を参照）。
【００６０】
次に、情報処理装置１０は、ステップＳＢ１０の検証結果に基づき、第１アプリ１５１に付加されたＣＰ署名１５１４が正当であると判定すると（ステップＳＢ１１；ＹＥＳ）、第１アプリ１５１及び第２アプリ１５２の連係動作を許可する（ステップＳＢ１２）。
一方で、情報処理装置１０は、ステップＳＢ３，ＳＢ５，ＳＢ７，ＳＢ９又はＳＢ１１のいずれかで「ＮＯ」と判定した場合、つまり、いずれか１つの検証でも正当でないと判定した場合は、第１アプリ１５１及び第２アプリ１５２の連係動作を許可しない。
【００６１】
以上説明した第２実施形態のアプリケーション管理システム１によれば、上述した第１実施形態で説明した効果を奏するほか、ＣＰサーバ２０が設定ファイルに署名したり、情報処理装置１０が設定ファイルの正当性を検証したりするステップＳＢ２，ＳＢ４の処理を、省略することができる。このような理由により、この実施形態のアプリケーション管理システム１によれば、アプリケーションの正当性を検証するために必要な処理の量を更に減らすことができる。
【００６２】
［変形例］
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
（変形例１）
上述した各実施形態において、管理サーバ３０は、設定ファイル１５１２にＣＰ証明書１５１３のハッシュ値を検証データとして含めていたが、ＣＰ証明書１５１３を検証データとして設定ファイル１５１２に含めてもよい。
この変形例において、ＣＰサーバ２０は、ステップＳＡ１の処理で、ＣＰ証明書１５１３のハッシュ値を送信する代わりに、ＣＰ証明書１５１３を送信する。そして、管理サーバ３０は、上述した第１実施形態においてＣＰ証明書１５１３のハッシュ値を用いて行っていた処理を、ＣＰ証明書１５１３に代えて行えばよい。
なお、ＣＰサーバ２０は、ステップＳＡ６の処理において、ＣＰ証明書１５１３を第１アプリ１５１に対応付けなくてよい。
【００６３】
図１８は、第１実施形態の構成において、検証データをＣＰ証明書１５１３とした場合の、アプリ検証処理の内容の説明図である。
図１８に示すように、情報処理装置１０は、設定ファイル１５１２に含まれるＣＰ証明書１５１３を用いて、上述した第１実施形態と同じ方法で、ＣＰ署名１５１４の正当性を検証する（図１８の丸数字「４」を参照）。図１８の丸数字「１」から「３」の検証は上述した第１実施形態と同じでよいから、ここではその説明を省略する。
なお、説明及び図示は省略するが、上述した第２実施形態のアプリケーション管理システム１において、管理サーバ３０がＣＰ証明書１５１３を検証データとして、設定ファイル１５１２に含めてもよい。
このように、上述した各実施形態の設定ファイル１５１２は、少なくとも通信事業者（第２アプリケーション提供者）により提供されたものであればよい。ただし、設定ファイル１５１２の正当性が通信事業者側で確認済みであるなど、アプリケーション管理システム１において、設定ファイル１５１２が特に信頼できる情報で構成されていることが望ましい。
【００６４】
（変形例２）
上述した第１実施形態のアプリケーション管理システム１において、中間証明書１５２１を用いてリーフ証明書１５１１の正当性を検証していたが、リーフ証明書１５１１が正当なものであるものと予め見なせる状況下であれば、この検証を省略してもよい。
また、上述した第２実施形態のアプリケーション管理システム１において、管理サーバ３０が、リーフ証明書１５１１で正当性を検証可能なＴＣ署名１５１２ａを設定ファイル１５１２に付加して、リーフ証明書１５１１及び設定ファイル１５１２をＣＰサーバ２０に提供してもよい。この場合、情報処理装置１０は、上述した第１実施形態のステップＳＢ４の処理と同じ方法で、ＴＣ署名１５１２ａの正当性を検証すればよい。
【００６５】
（変形例３）
上述した各実施形態において、管理サーバ３０は、連係動作する複数のアプリケーションの１つの組み合わせに対応して、パッケージ名とＣＰ証明書１５１３のハッシュ値とを含む設定ファイル１５１２を生成していた。これに代えて、管理サーバ３０は、連係動作する複数のアプリケーションの複数の組み合わせに対応して、パッケージ名とＣＰ証明書１５１３のハッシュ値とを含む設定ファイルを生成してもよい。管理サーバ３０は、例えば、ＣＰサーバ２０毎に設定ファイルを１つだけ生成してもよいし、アプリケーションのジャンルなどに基づいて特定のグループ単位でアプリケーションを分類し、このグループ毎に１つずつ設定ファイルを生成してもよい。
この変形例のアプリケーション管理システム１によれば、設定ファイル生成処理の実行回数を減らすことができる。
【００６６】
（変形例４）
本発明のアプリケーションの提供者は、通信事業者やコンテンツプロバイダに限らず、例えば個人であってもよい。本発明においてアプリケーション提供者の属性は特に問わない。
上述した各実施形態のアプリケーション管理システム１において、アプリ検証処理における検証順は、ＣＰ署名１５１４の正当性の確認に差し支えがない範囲で変更されてもよい。
また、本発明において、連係動作が可能なアプリケーションの種類や、連係動作により提供される機能はどのようなものでもよいし、３つ以上のアプリケーションを連係動作させてもよい。３つ以上のアプリケーションが連係動作する場合には、それら全てに対応するパッケージ名が設定ファイル１５１２に含まれることとなる。
また、本発明において、アプリケーション識別子はパッケージ名などと呼ばれる情報に限らず、アプリケーションの識別機能を持つ識別子であればよい。
また、本発明において、電子証明書の正当性の検証方法や電子署名の正当性の検証方法は、上述した実施形態の手法に限らず、周知の他の手法が使用されてもよい。例えば、上述した実施形態において、秘密鍵及び公開鍵を用いていた構成を、公開鍵を用いた構成に置き換えることも考えられる。また、本発明において、電子署名の生成方法や暗号化のアルゴリズムについても特に問わない。
【００６７】
（変形例５）
上述した各実施形態において、情報処理装置１０の制御部１１や管理サーバ３０の制御部３１が実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の協働によって実現されうる。
また、本発明の情報処理装置及び管理装置は、コンピュータや制御部１１が実行するプログラムや情報処理方法、コンピュータや制御部３１が実行するプログラムや管理方法として把握することも可能である。
【符号の説明】
【００６８】
１…アプリケーション管理システム、１０…情報処理装置、１１…制御部、１１１…取得部、１１２…検証部、１１３…許可部、１１４…アプリケーション動作部、１２…操作部、１３…通信部、１４…表示部、１５…記憶部、１５１…第１アプリ、１５１１…リーフ証明書、１５１２…設定ファイル、１５１２ａ…ＴＣ署名、１５１３…ＣＰ証明書、１５１４…ＣＰ署名、１５２…第２アプリ、１５２１…中間証明書、２０…ＣＰサーバ、２１…制御部、２２…通信部、２３…記憶部、３０…管理サーバ、３１…制御部、３１１…生成部、３１２…署名部、３１３…送信制御部、３２…通信部、３３…記憶部
【図１】
2014039193.tif 000003
【図２】
2014039193.tif 000004
【図３】
2014039193.tif 000005
【図４】
2014039193.tif 000006
【図５】
2014039193.tif 000007
【図６】
2014039193.tif 000008
【図７】
2014039193.tif 000009
【図８】
2014039193.tif 000010
【図９】
2014039193.tif 000011
【図１０】
2014039193.tif 000012
【図１１】
2014039193.tif 000013
【図１２】
2014039193.tif 000014
【図１３】
2014039193.tif 000015
【図１４】
2014039193.tif 000016
【図１５】
2014039193.tif 000017
【図１６】
2014039193.tif 000018
【図１７】
2014039193.tif 000019
【図１８】
2014039193.tif 000020